home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / Chip_1998-03_cd.bin / tema / MINICAD / MC7DEMO / MINICAD.1 / MAKEDWKS.MPC < prev    next >
Text File  |  1997-04-30  |  2KB  |  65 lines

  1. PROCEDURE ListAll;
  2. LABEL 1,2;
  3. CONST
  4. kRec = 'Instruments';
  5. WSName = 'Edit this!';
  6. VAR
  7. myS,recordName,fieldName,DBRef,str2:STRING;
  8. layerHandle,handleToRecord,objectHandle:HANDLE;
  9. recHan,FEOHandle,hanTokRec,WSHandle:HANDLE;
  10. myRows,myR:REAL;
  11. yes:BOOLEAN;
  12. i,j,k,n,myCols,currentRow,numRows:INTEGER;
  13.  
  14. PROCEDURE putInRow(FEOHandle:HANDLE);
  15. VAR
  16. c:INTEGER;
  17. BEGIN
  18.     LoadCell(currentRow,1,EVALSTR(FEOHandle,N));
  19.     FOR c := 1 to myCols DO BEGIN
  20.         dbRef:=CONCAT('''',kRec,'''.''',GetFldName(hanTokRec,c),'''');
  21.         LoadCell(currentRow,c+1,EVALSTR(FEOHandle,dbRef));
  22.     END;
  23.     MESSAGE('Row ',currentRow,' of ',numRows,' completed╔');
  24.     currentRow:=currentRow+1;
  25. END;{of putInRow}
  26.  
  27. BEGIN
  28.     PushAttrs;
  29.     currentRow:= 2;
  30.     WSHandle:= GETOBJECT(WSName);
  31.     IF WSHANDLE<>NIL THEN BEGIN
  32.         str2:=CONCAT('Yes to overwrite the worksheet, ',WSName,'.No to cancel.');
  33.         yes:= YNDIALOG(str2);
  34.         IF yes THEN BEGIN
  35.             DelObject(WSHandle);
  36.             DSelectAll;
  37.             DeleteObjs;
  38.         END
  39.         ELSE GOTO 2;
  40.     END;
  41.     myRows:= Count((R IN [kRec]));
  42.     i := NumRecords(NIL);
  43.     IF (i>0) THEN BEGIN
  44.         FOR j := 1 to i DO BEGIN
  45.             recHan := GetRecord(NIL,j);
  46.             recordName:= GetName(recHan);
  47.             IF recordName = kRec THEN BEGIN
  48.                 myCols:= NUMFIELDS(recHan);
  49.                 hanTokRec:= recHan;
  50.             END;
  51.         END; {of FOR j := 1 to i}
  52.     END; {of IF (i>0) Statement}
  53.     NameObject(WSName);
  54.     SprdSheet(0,0,myRows+1,myCols+1);
  55.     numRows:=myRows+1;
  56.     TextFace([Bold]);
  57.     LoadCell(1,1,'Name');
  58.     FOR i := 1 to myCols DO LoadCell(1,i+1,GetFldName(hanTokRec,i));
  59.     TextFace([]);
  60.     ForEachObject(putInRow,(R IN [kRec]));
  61.     2:PopAttrs;
  62. CLRMESSAGE;
  63. END; {of MAIN}
  64. RUN(ListAll);
  65.