Autor: Kub@z | 27.7.2004 |
function Copy(S: String; Index: Integer; Count: Integer): String;
procedure Delete(var S: String; Index: Integer; Count:Integer);
procedure Insert(Source: String; var S: String; Index: Integer);
function Pos(Substr: String; S: String): Byte;
function Length(S: String): Integer;
begin
writeln(copy(‘Ahoj lidi’,3,5)); (* vypíše „oj li” *)
end.
var txt: string;
begin
txt := ‘Ahoj lidi’;
delete(txt,3,5);
writeln(txt); (* vypíše „Ahdi“ *)
end.
var txt: string;
begin
txt := ‘Ahoj lidi’;
insert(‘vsichni ’,txt,6);
writeln(txt); (* vypíše „Ahoj vsichni lidi“ *)
end.
begin
writeln(pos(‘Petr’,‘On se jmenuje Petr Novak’));
(* „Petr“ začíná na 15 znaku *)
end.
ahoj lidi
petr
dalsi text
a ještě jeden
var txt: string;
begin
txt := 'ahoj lidi:petr:dalsi text:a jeste jeden';
while true do begin (* cyklus se pořád opakuje *)
if pos(':',txt) > 0 then begin (* když nejsme u poslední položky *)
writeln(copy(txt,1,pos(':',txt)-1));
(* vypíšeme text od pozice 1 do dvojtečky *)
delete(txt,1, pos(':',txt)); (* položku textu smažeme *)
end
else begin (* za poslední položkou už není dvojtečka *)
writeln(txt); (* v „txt“ už zbyl pouze poslední text *)
break; (* cyklus se přeruší *)
end;
end;
end.
var txt: string;
i,z: integer;
begin
txt := 'ahoj lidi:petr:dalsi text:a jeste jeden';
z := 1;
for i := 1 to length(txt) do begin (* projdeme text až do konce *)
if txt[i] = ‘:’ then begin (* když narazíme na dvojtečku *)
writeln(copy(txt,z,i-z)); (* vypíšeme text *)
z := i + 1;
end;
if i = length(txt) then writeln(copy(txt,z,i-z+1));
(* když jsme na konci textu *)
end;
end.