123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- {$ifndef macos}{$APPTYPE CONSOLE}{$endif}
- {$ifdef fpc}{$mode delphi}{$endif}
- procedure wideansi;
- var
- S: AnsiString = 'abcd';
- pc: PChar = 'abcd';
- ca: array [0..4] of Char = ('a', 'b', 'c', 'd', #0);
- W: WideString = 'abcd';
- pw: PWideChar = 'abcd';
- wa: array [0..4] of WideChar = ('a', 'b', 'c', 'd', #0);
- begin
- {$IFDEF FPC}
- ca := S;
- ca := W;
- ca := pc;
- wa := pw;
- wa := S;
- wa := W;
- {$ENDIF}
- W := S;
- W := pc;
- W := ca;
- W := pw;
- W := wa;
- S := W;
- S := pc;
- S := ca;
- S := pw;
- S := wa;
- if S = pc then WriteLn('(2.1) strings are equal');
- if S = ca then WriteLn('(2.2) strings are equal');
- WriteLn;
- if W = pw then WriteLn('(3.1) wide pass');
- if W = wa then WriteLn('(3.2) wide pass');
- WriteLn;
- if S = W then WriteLn('(4.1) wide vs ansi');
- if pc = W then WriteLn('(4.2) wide vs ansi');
- if ca = W then WriteLn('(4.3) wide vs ansi');
- if pw = S then WriteLn('(4.4) wide vs ansi');
- if wa = S then WriteLn('(4.5) wide vs ansi');
- WriteLn;
- end;
- procedure wideshort;
- var
- S: ShortString = 'abcd';
- pc: PChar = 'abcd';
- ca: array [0..4] of Char = ('a', 'b', 'c', 'd', #0);
- W: WideString = 'abcd';
- pw: PWideChar = 'abcd';
- wa: array [0..4] of WideChar = ('a', 'b', 'c', 'd', #0);
- begin
- {$IFDEF FPC}
- ca := S;
- ca := W;
- ca := pc;
- wa := pw;
- wa := S;
- wa := W;
- {$ENDIF}
- W := S;
- W := pc;
- W := ca;
- W := pw;
- W := wa;
- S := W;
- S := pc;
- S := ca;
- S := pw;
- S := wa;
- if S = pc then WriteLn('(2.1) strings are equal');
- if S = ca then WriteLn('(2.2) strings are equal');
- WriteLn;
- if W = pw then WriteLn('(3.1) wide pass');
- if W = wa then WriteLn('(3.2) wide pass');
- WriteLn;
- if S = W then WriteLn('(4.1) wide vs ansi');
- if pc = W then WriteLn('(4.2) wide vs ansi');
- if ca = W then WriteLn('(4.3) wide vs ansi');
- if pw = S then WriteLn('(4.4) wide vs ansi');
- if wa = S then WriteLn('(4.5) wide vs ansi');
- WriteLn;
- end;
- begin
- wideshort;
- wideansi;
- end.
|