Unit Algemeen; { This software has been designed and is CopyLefted by Han de Bruijn: (===) @-O^O-@ #/_\# ### Helper routines =============== } INTERFACE function trim(regel : string) : string; function Letterlijk(nr : integer) : string; function vervang(S,deze,door : string) : string; IMPLEMENTATION function trim(regel : string) : string; { Trim leading & trailing blanks } var k,L,B,E : integer; R : string; begin L := Length(regel); B := 1; E := L; R := regel; for k := 1 to L do begin if regel[k] = ' ' then Continue; B := k; Break; end; for k := L downto 1 do begin if regel[k] = ' ' then Continue; E := k; Break; end; if (B >= 1) or (E <= L) then R := Copy(regel,B,E-B+1) else R := ''; trim := R; end; function Letterlijk(nr : integer) : string; { String representation of NR } const cijfer : string = '0123456789'; var no,t,tel,wel : integer; vgl : string; c : char; begin no := nr; tel := 0; vgl := ''; while no > 0 do begin c := cijfer[(no mod 10) + 1]; vgl := vgl + c; no := no div 10; tel := tel + 1; end; wel := tel div 2; for t := 0 to wel-1 do begin c := vgl[t+1]; vgl[t+1] := vgl[tel-t]; vgl[tel-t] := c; end; if vgl = '' then vgl := '0'; Letterlijk := vgl; end; function vervang(S,deze,door : string) : string; var i,L : integer; T : string; begin T := S; while Pos(deze,T) > 0 do begin i := Pos(deze,T); L := length(deze); Delete(T,i,L); if Length(door) > 0 then Insert(door,T,i); end; vervang := T; end; END.