home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / MISC / DATAREP.ZIP / NUMPRES.INC < prev    next >
Encoding:
Text File  |  1990-02-22  |  2.0 KB  |  73 lines

  1. {Some useful procedures for initialization and to tell how many}
  2. {non-blank stimului are present in the various data files.     }
  3.  
  4. PROCEDURE Zero_vector (VAR V: VECTOR);
  5.         VAR I: INTEGER;
  6.         BEGIN
  7.         FOR I:= 1 TO Dimensionality DO V[I]:= 0;
  8.         END;
  9.  
  10. PROCEDURE Blank_string (VAR S: STRING);
  11.        VAR I: INTEGER;   
  12.        BEGIN
  13.        FOR I:= 1 TO 60 DO S [I]:= CHR (32);
  14.        END;
  15.  
  16. PROCEDURE Blank_f_set;
  17.        VAR I: INTEGER;
  18.        BEGIN
  19.        FOR I:= 1 TO Maximum_set_size DO Blank_string (F_set [I].Name);
  20.        END;
  21.  
  22. PROCEDURE Blank_g_set;
  23.        VAR I: INTEGER;
  24.        BEGIN
  25.        FOR I:= 1 TO Maximum_set_size DO Blank_string (G_set [I].Name);
  26.        END;
  27.  
  28. PROCEDURE Blank_t_set;
  29.        VAR I: INTEGER;
  30.        BEGIN
  31.        FOR I:= 1 TO Maximum_set_size DO Blank_string (T_set [I].Name);
  32.        END;
  33.  
  34. FUNCTION Number_present_in_set (Which_set: CHAR): INTEGER;
  35.  
  36.       VAR I, Number_of_bytes, Number_in_set: INTEGER;
  37.           Test_string: STRING;
  38.           Leave: BOOLEAN;
  39.       
  40.       FUNCTION All_blanks (S: String): BOOLEAN;
  41.           VAR I: INTEGER;
  42.           Found_character: BOOLEAN;
  43.           BEGIN
  44.           Found_character:= FALSE;
  45.           FOR I:= 1 TO Number_of_bytes DO 
  46.               IF S[I] <> CHR (32) THEN Found_character:= TRUE;
  47.           All_blanks:= NOT Found_character;
  48.           END;
  49.           
  50.       BEGIN
  51.       Number_of_bytes:= Dimensionality DIV 8;
  52.       I:= Maximum_set_size;
  53.       Leave:= FALSE;
  54.  
  55.       REPEAT CASE Which_set OF
  56.              'F','f': Test_string:= F_set [I].Name;
  57.              'G','g': Test_string:= G_set [I].Name;
  58.              'T','t': Test_string:= T_set [I].Name;
  59.              END;
  60.  
  61.         IF NOT All_blanks (Test_string) THEN BEGIN Leave:= TRUE; 
  62.                                              Number_in_set:= I
  63.                                              END;
  64.         I:= I - 1;
  65.  
  66.         IF I = 0 THEN BEGIN  Leave:= TRUE; Number_in_set:= 0 END;
  67.       UNTIL Leave;
  68.  
  69.       Number_present_in_set:= Number_in_set;
  70.  
  71.       END;
  72.  
  73.