tcse3.pp 591 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. { %OPT=-O2}
  2. function forms(s: string; len: word): string;
  3. begin
  4. str(len,forms);
  5. forms := s + ', ' + forms;
  6. end;
  7. procedure wrt2(s: string);
  8. begin
  9. if s <> 'e 123, 4' then
  10. begin
  11. writeln('bug!');
  12. halt(1);
  13. end;
  14. end;
  15. type
  16. pstring = ^string;
  17. ta = array[0..254] of pstring;
  18. tb = array[0..254] of byte;
  19. procedure t(var sel: ta; var selhigh: tb);
  20. var
  21. ml, i: byte;
  22. begin
  23. i := 5;
  24. ml := 8;
  25. new(sel[i]);
  26. sel[i]^ := 'testje 123';
  27. selhigh[i] := 5;
  28. wrt2(forms(copy(sel[i]^,selhigh[i]+1,255),ml-selhigh[i]+1));
  29. end;
  30. var
  31. a: ta;
  32. b: tb;
  33. begin
  34. t(a,b);
  35. end.