tstring1.pp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. program tstring1;
  2. {$ifdef cpujvm}
  3. uses
  4. jdk15;
  5. {$macro on}
  6. {$define write:=JLSystem.fout.print}
  7. {$define writeln:=JLSystem.fout.println}
  8. {$endif}
  9. function TestOK:boolean;
  10. Const
  11. TestStr: string[22]='HELLO, THIS IS A TEST ';
  12. var
  13. I : INTEGER;
  14. U : STRING[1];
  15. Q : STRING[100];
  16. S : STRING[55];
  17. T : STRING[60];
  18. V : STRING;
  19. begin
  20. TestOk:=false;
  21. T:='THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 1234567890';
  22. Insert (T, T, 1);
  23. Delete (T, 55, 54);
  24. S:=Copy (T, -5, 2); {'TH'}
  25. U:=Copy (T, 7, 4); {'I'}
  26. S:=S + U; {'THI'}
  27. Q:=Copy (T, 32, 70); {'THE LAZY DOG 1234567890'}
  28. Delete (Q, 2, 1); {'TE LAZY DOG 1234567890'}
  29. Delete (Q, 100, 2); {'TE LAZY DOG 1234567890'}
  30. Delete (Q, 3, -4); {'TE LAZY DOG 1234567890'}
  31. Delete (Q, 3, 10); {'TE1234567890'}
  32. { writeln('TE1234567890 - ',Q);}
  33. I:=Pos ('S', T); {25}
  34. Insert(Copy(T,I,200),Q,3);{'TES OVER THE LAZY DOG 12345678901234567890'}
  35. Delete (Q, 4, 6); {'TESTHE LAZY DOG 12345678901234567890}
  36. S:=S + T [25]; {'THIS'}
  37. S:=S + Copy (S, 3, -5) + Copy (S, 3, 2); {'THISIS'}
  38. V:=T; {'THE QUICK BROWN FOX JUMPS OVER THE LAZY ..'}
  39. Delete (V, 1, 36); {'AZY DOG 1234567890'}
  40. if (Copy (V, -7, -1)='') and (Pos ('DOG', V)=5) then {TRUE}
  41. Insert (V, S, 200); {'THISISAZY DOG 1234567890'}
  42. U:=Copy (T, 44, 40); {' '}
  43. Insert (U, S, 5); {'THIS ISAZY DOG 1234567890'}
  44. I:=Pos ('ZY', S); {9}
  45. Delete (S, I, -5); {'THIS ISAZY DOG 1234567890'}
  46. Insert (Copy(S,5,1),S,8); {'THIS IS AZY DOG 1234567890'}
  47. Delete (S, 10, 16); {'THIS IS A0'}
  48. if S [Length (S)]='0' then {TRUE}
  49. S:=S + Q; {'THIS IS A0TESTHE LAZY DOG 123456789012345...'}
  50. V:=Copy (S, Length (S) - 19, 10); {'1234567890'}
  51. if V=Copy (S, Length (S) - 9, 10) then {TRUE}
  52. Delete (S, 15, 3 * Length (V)+2); {'THIS IS A0TEST'}
  53. Insert ('', S, 0); {'THIS IS A0TEST'}
  54. Insert(Copy(S,5,1),S,11); {'THIS IS A0 TEST'}
  55. Insert ('HELLO', S, -4); {'HELLOTHIS IS A0 TEST'}
  56. Insert (',', S, 6); {'HELLO,THIS IS A0 TEST'}
  57. Delete (S, Pos ('TEST', S) - 2, 1); {'HELLO,THIS IS A TEST'}
  58. Delete (Q, 1, 32767); {''}
  59. Q:=Q + ' '; {' '}
  60. Insert (Q, S, 7); {'HELLO, THIS IS A TEST'}
  61. Insert (Q, S, 255); {'HELLO, THIS IS A TEST '}
  62. if (S=TestStr) and (Q=' ') and (V='1234567890') and
  63. (T='THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 1234567890') then
  64. TestOK:=true;
  65. end;
  66. begin
  67. if TestOK then
  68. WriteLn('Test OK')
  69. else
  70. begin
  71. WriteLn('Test Failure!');
  72. halt(1);
  73. end;
  74. end.