{Autor: Stanislav Chromcak
Kontakt: ANCHOR@POST.CZ
WWW: http://freeweb.coco.cz/ANCHOR/pascal/
Tento soubor je soucasti projektu PASCAL V PRIKLADECH }
Function DelkaRetezce(S:String):byte;
{Funkce urci skutecnou delku retezce}
begin {DelkaRetezce}
DelkaRetezce:=Ord(S[0]);
end; {DelkaRetezce}
Function FirstNoBlank(s:String):byte;
{Funkce urci pozici prvniho nemezeroveho znaku}
var P:Byte;
begin {FirstNoBlank}
P := 1;
while (P<=length(s))and(s[P]=' ') do Inc(P);
FirstNoBlank:=P;
end; {FirstNoBlank}
Function LastNoBlank(s:String):Byte;
{Funkce urci pozici posledniho nemezeroveho znaku}
var P:Byte;
begin {LastNoBlank}
P := Length(s);
while (P>0)and(s[P]=' ') do Dec(P);
LastNoBlank:=P;
end; {LastNoBlank}
Procedure RemLead(var s:String);
{Procedura odstrani uvodni mezery}
var P:integer;
begin {RemLead}
P := FirstNoBlank(s);
s := copy(s,P,Length(s)-P+1);
end; {RemLead}
Procedure RemTrail(var s:String);
{Procedura odstrani koncove mezery}
begin {RemTrail}
s:=copy(s,1,LastNoBlank(s));
end; {RemTrail}
Function DelBlanks(s:String):string;
{Funkce odstrani okrajove mezery.}
var L:byte;
begin {DelBlanks}
L := LastNoBlank(s)-FirstNoBlank(s)+1;
if L>0 then
DelBlanks := Copy(s,FirstNoBlank(s),L)
else
DelBlanks := '';
end; {DelBlanks}
Function DelNSpaces(s:String):string;
{Funkce redukuje opakovane mezery}
var P:byte;
begin {DelNSpaces}
P:=Pos(' ',s);
while P > 0 do
begin
Delete(s,P,1);
P:=Pos(' ',s);
end;
DelNSpaces:=s;
end; {DelNSpaces}
Function RightJust(s:String; Len:byte ):string;
{Funkce zarovna text vpravo na zadanou delku radku}
begin {RightJust}
s := copy(s,Length(s)-Len+1,Len);
while Length(s)