home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol064 / right.pas < prev    next >
Pascal/Delphi Source File  |  1984-04-29  |  850b  |  47 lines

  1. PROGRAM RIGHTX;{$P,C-,M-,F-}
  2. {$I+}
  3.  
  4. TYPE
  5. $STRING80 = STRING 80;
  6. $STRING0 = STRING 0;
  7. $STRING255 = STRING 255;
  8. BYTE = 0..255;
  9. VAR
  10. DATA:$STRING255;
  11. NUMBER:INTEGER;
  12.  
  13. function length(x:$string255):INTEGER;external;
  14. PROCEDURE setlength(var x:$string0; y : INTEGER); external;
  15.  
  16. {function to return the "y" right most characters of a string "x"..
  17. corresponds to the BASIC command RIGHT$(A$,X);..
  18. requires pascal/z external functions length and setlength..}
  19.  
  20. FUNCTION RIGHT(X:$STRING255; Y:BYTE):$STRING255;
  21.  
  22. {returns the last or right-most y characters in a string x}
  23.  
  24. LABEL 1;
  25. VAR
  26. LEN,I:INTEGER;
  27. R:$STRING255;
  28.  
  29. BEGIN
  30. SETLENGTH(R,0);
  31. LEN:=LENGTH(X);
  32.  
  33. IF (LEN = 0) OR (Y < 1) THEN GOTO 1;
  34. IF Y >= LEN THEN 
  35.     BEGIN
  36.     R:=X;
  37.     GOTO 1;
  38.     END;
  39.  
  40. FOR I:= (LEN -Y+1) TO LEN DO APPEND(R,X[I]);
  41.  
  42. 1:
  43. RIGHT:=R;
  44. END;
  45.  
  46. BEGIN
  47. END.