12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- program tover1;
- const
- RESULT_PCHAR = 'pchar parameter call';
- RESULT_ANSI = 'ansistring parameter call';
- RESULT_SHORT = 'shortstring parameter call';
- RESULT_WIDE = 'widestring parameter call';
- { This tests method overloads, to verify
- if they conform to correct type conversion
- }
- function test_string(s: shortstring): shortstring;
- Begin
- test_string := RESULT_SHORT;
- end;
- {$ifndef ver1_0}
- function test_string(s: widestring): shortstring;
- Begin
- test_string := RESULT_WIDE;
- end;
- {$endif}
- function test_string(s: ansistring): shortstring;
- Begin
- test_string := RESULT_ANSI;
- end;
- function test_string(p:pchar): shortstring;
- begin
- test_string := RESULT_PCHAR;
- end;
- procedure fail;
- begin
- writeln('Failure!');
- Halt(1);
- end;
- var
- short_string : shortstring;
- ansi_string : ansistring;
- {$ifndef ver1_0}
- wide_string : widestring;
- {$endif}
- p_string : pchar;
- s: shortstring;
- Begin
- p_string:=nil;
- ansi_string:='';
- short_string:='';
- {$ifndef ver1_0}
- wide_string:='';
- {$endif}
- Write('Test of overloaded call to string routines...');
- { test parameter call }
- s:=test_string(short_string);
- if s <> RESULT_SHORT then
- fail;
- s:=test_string(ansi_string);
- if s <> RESULT_ANSI then
- fail;
- {$ifndef ver1_0}
- s:=test_string(wide_string);
- if s <> RESULT_WIDE then
- fail;
- {$endif}
- s:=test_string(p_string);
- if s <> RESULT_PCHAR then
- fail;
- WriteLn('Success!');
- end.
|