1 unit gpcstrings; 2 {$x+} 3 4 interface 5 Strlennull6function Strlen(p:pchar):longint; Stricompnull7function Stricomp(a,b:pchar):longint; 8 procedure Strpcopy(Dest: PChar; Source: String); Strpasnull9function Strpas(Str: PChar):string; strscannull10function strscan(p:pchar;c:char):pchar; strrscannull11function strrscan(p:pchar;c:char):pchar; 12 procedure strcopy(p:pchar;pp:pchar); 13 procedure strcat(p:pchar;pp:pchar); 14 15 implementation 16 procedure strcopy(p:pchar;pp:pchar); 17 begin 18 writeln('Strcopy Not supported'); halt; 19 end; 20 procedure strcat(p:pchar;pp:pchar); 21 begin 22 writeln('Strcat Not supported'); halt; 23 end; 24 strrscannull25function strrscan(p:pchar;c:char):pchar; 26 begin 27 writeln('Strrscan Not supported'); halt; 28 end; 29 strscannull30function strscan(p:pchar;c:char):pchar; 31 begin 32 writeln('Strscan Not supported'); halt; 33 end; 34 StrPasnull35function StrPas(Str: PChar):string; 36 var 37 x:word; 38 s:string; 39 begin 40 if str=nil then begin strpas:=''; exit; end; 41 x:=0; 42 s:=''; 43 while str[x]<>#0 do begin 44 s:=s+str[x]; inc(x); 45 end; 46 strpas:=s; 47 end; 48 49 procedure StrPCopy(Dest: PChar; Source: String); 50 var 51 i:word; 52 begin 53 for i:=1 to length(source) do dest[i-1]:=source[i]; 54 dest[length(source)]:=#0; 55 end; 56 Stricompnull57function Stricomp(a,b:pchar):longint; 58 begin 59 writeln('Stricomp Not supported'); halt; 60 stricomp:=0; 61 end; 62 Strlennull63function Strlen(p:pchar):longint; 64 var 65 x:longint; 66 begin 67 x:=0; 68 while p[x]<>#0 do inc(x); 69 strlen:=x; 70 end; 71 72 end. 73