tw20962.pp 563 B

1234567891011121314151617181920212223242526272829303132
  1. { %opt=-gh }
  2. program outpar;
  3. {$ifdef FPC}{$mode objfpc}{$h+}{$endif}
  4. {$ifdef mswindows}{$apptype console}{$endif}
  5. uses
  6. {$ifdef FPC}{$ifdef linux}cthreads,cwstring,{$endif}{$endif}
  7. sysutils;
  8. {$ifndef FPC}
  9. type
  10. sizeint = integer;
  11. {$endif}
  12. type
  13. pinteger = ^integer;
  14. procedure testproc(out str);
  15. begin
  16. ansistring(str):= '';
  17. end;
  18. var
  19. str1,str2: ansistring;
  20. begin
  21. setlength(str1,5);
  22. move('abcde',str1[1],5);
  23. str2:= str1;
  24. testproc(str2);
  25. if pinteger(pchar(pointer(str1))-2*sizeof(sizeint))^ <> 1 then
  26. Halt(1);
  27. if str1<>'abcde' then
  28. Halt(2);
  29. end.