Funkce _StrPut slouží k rychlému uložení parametrů P1, P2 až Pn do řetězce.
Parametry mohou být typu Byte, Char, Word, Integer, LongInt, Real, Date, DateTime a String. Opakem procedury _StrPut je StrGet. Místo procedury _StrPut lze také používat funkci StrPut.
Funkce hlásí chybu v rozsahu v případě, že celkový počet vkládaných znaků překročí 255 znaků.
Typ Date zabere 6 znaků, typ DateTime zabere 12 znaků.
Neukládejte výsledek funkce do řetězce typu StringZ. Tento řetězec je ukončován binární nulou (#0) a tento znak se může ve výsledném řetězci objevit!
Při použití proměnné typu String v parametru Px, zabere ve Str tolik místa, jaká je jeho dimenze. Místa v pravo budou doplněna znakem #0:
dim S : String[20] { zabere dvacet míst }
Použijete-li řetězec vytvořený pomocí funkce, nebo řetězce v parametru sečtete, zabere takto vytvořený řetězec ve Str pouze svou délku:
_RightSP(S, 10) { zabere deset míst }
Pozor! Použijete-li místo proměnných konstanty, provede program optimalizaci podle jejich velikostí:
StrPut(Rec, 10, 90, 900) { vložení Byte(10), Byte(90) a Word(900) }
Příklad:
procedure TestStrPut dim a : String[5]; dim b : String[7]; dim c : Byte; dim d : Word; dim s : String; a := "a"; b := "bb"; c := 1; d := 5; s := _StrPut(a,b,c,d,a+b,900,5+1,"ABC"); endproc
| a | b | c | d | a+b | 900 | 6 | ABC | ||||||||||||||||
| 61 | 00 | 00 | 00 | 00 | 62 | 62 | 00 | 00 | 00 | 00 | 00 | 01 | 00 | 05 | 61 | 62 | 62 | 03 | 84 | 06 | 41 | 42 | 43 | 
Příklad:
dim Rec : String;        dim B   : Byte;
dim W   : Word;          dim R   : Real;
dim LI  : LongInt;       dim D   : Date;
dim Ch  : Char;          dim S5  : String[5];
dim S10 : String[10];
B := 10;          Ch := "L";
I := -90;         W := 7800;
LI := 800000;     R := -1345.98;
S5 := "ABCDE";    S10 := "abcdefghij";
StrPut(Rec, B, Ch, I, W, LI, R, S5, S10)
{ Stejný výsledek (ale pomaleji) získáte: }
Rec := _Chr(B) + Ch + _ChrI(I) + _ChrW(W) + _ChrLI(LI) +
       _ChrR(R) + S5 + S10;
		
Podívejte se na: Práce s řetězci