home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / apps / spread / opusprg / opussrc / s.pas < prev    next >
Pascal/Delphi Source File  |  1988-04-01  |  2KB  |  72 lines

  1.  
  2.  
  3.  
  4. {$P-}
  5. {$M+}
  6. {$E+}
  7.  
  8.  
  9. PROGRAM Mock;
  10.  
  11.    TYPE STR255   = STRING[255];
  12.         C_STRING = PACKED ARRAY [ 1..81 ] OF CHAR;
  13.         C_STR255 = PACKED ARRAY [ 1..256 ] OF CHAR;
  14.  
  15. (*****************************************************************************
  16.  *                                                                           *
  17.  *                          { STRING FUNCTIONS }                             *
  18.  *                                                                           *
  19.  *****************************************************************************)
  20.  
  21.    PROCEDURE LeftStr ( source : STR255; n : INTEGER; VAR dest : STR255 );
  22.       BEGIN
  23.           IF n < 0 THEN n := 1;
  24.           IF n > LENGTH(source) THEN n := LENGTH(source);
  25.           dest := COPY ( source,1,n )
  26.       END;
  27.  
  28.    PROCEDURE RightStr ( source : STR255; n : INTEGER; VAR dest : STR255 );
  29.       BEGIN
  30.           IF n < 0 THEN n := 1;
  31.           IF n > LENGTH(source) THEN n := LENGTH(source);
  32.           dest := COPY ( source,LENGTH(source)-n+1,n )
  33.       END;
  34.  
  35.    PROCEDURE MidStr ( source : STR255; start,n : INTEGER; VAR dest : STR255 );
  36.       BEGIN
  37.           IF start+n-1 > LENGTH(source) THEN dest := ''
  38.           ELSE dest := COPY ( source,start,n );
  39.       END;
  40.  
  41.    PROCEDURE StringStr ( replicant : STR255; n : INTEGER; VAR dest : STR255 );
  42.       BEGIN
  43.           IF n < 0 THEN n := 0;
  44.           IF n > 255 THEN n := 255;
  45.           dest := '';
  46.           WHILE LENGTH ( dest ) < n DO
  47.               dest := CONCAT ( dest,replicant );
  48.       END;
  49.  
  50. PROCEDURE Pascal_To_C ( p_s : STR255; VAR c_s : C_STRING );
  51.    VAR i   : INTEGER;
  52.    BEGIN
  53.        FOR i := 1 TO LENGTH ( p_s ) DO
  54.            c_s[i] := p_s[i];
  55.        c_s[LENGTH(p_s)+1] := CHR(0);
  56.    END;
  57.  
  58. PROCEDURE C_To_Pascal ( c_s : C_STRING; VAR p_s : STRING );
  59.    VAR i   : INTEGER;
  60.    BEGIN
  61.        p_s := '';
  62.        i := 1;
  63.        WHILE c_s[i] <> CHR(0) DO BEGIN
  64.            p_s := CONCAT ( p_s,c_s[i] );
  65.            i := i+1;
  66.        END;
  67.    END;
  68.  
  69.  
  70. BEGIN
  71. END.
  72.