Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure StrPlace(s: string; var str: string; position: Integer);
- var
- d, i, p, c, l, z: Integer;
- begin
- z := Length(s);
- if (z > 0) then
- begin
- l := Length(str);
- if ((l > 0) and not (position > l)) then
- begin
- p := position;
- case (p > 0) of
- True:
- begin
- case ((p + z) > l) of
- True: c := ((l - p) + 1);
- False: c := z;
- end;
- for i := 1 to c do
- str[((i + p) - 1)] := s[i];
- end;
- False:
- begin
- d := (1 - p);
- if (d < z) then
- begin
- c := (z - d);
- p := (p + d);
- if ((p + c) > l) then
- c := ((l - p) + 1);
- for i := 1 to c do
- str[((p + i) - 1)] := s[(i + d)];
- end;
- end;
- end;
- end;
- end;
- end;
- var
- str: string;
- const
- TEXT1 = 'Testi';
- TEXT2 = 'ng!';
- begin
- str := TEXT1;
- StrPlace(TEXT2, str, 6);
- WriteLn(str);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement