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

  1. PROCEDURE AssignHanging;
  2. {
  3. ⌐1997, Diehl Graphsoft, Inc.
  4. Developed by Frank Brault
  5. Last modified: 01/17/97
  6. }
  7. CONST
  8.     kRec ='Instruments';
  9.     kFldName = 'Position';
  10.     kClassName = 'Hanging Position';
  11. VAR
  12. han1,han2 : HANDLE;
  13. str1,errStr : STRING;
  14.  
  15.  
  16. PROCEDURE doGetName(han1 : HANDLE);
  17. BEGIN
  18.     str1 := GetName(han1);
  19. END;
  20.  
  21. BEGIN
  22.     PUSHATTRS;
  23.     MESSAGE('Processing request╔');
  24.     IF (Count((C=kClassName) & (SEL=TRUE)) = 1) THEN
  25.     BEGIN
  26.         ForEachObject(doGetName,((C=kClassName) & (SEL=TRUE)));
  27.         SETCURSOR(WATCHC);
  28.         DSelectObj(NOT(R IN [kRec]));
  29.         han2 := FSActLayer;
  30.         IF han2 <> NIL THEN
  31.         BEGIN
  32.             WHILE han2 <> NIL DO
  33.             BEGIN
  34.                 SetRField(han2,kRec, kFldName, str1);
  35.                 han2 := NextSObj(han2);
  36.             END;
  37.         END
  38.         ELSE
  39.         BEGIN
  40.             ErrStr := CONCAT('This command needs at least one selected object with an ',kRec,' record attached.');
  41.             AlrtDialog(ErrStr);
  42.         END;
  43.     END
  44.     ELSE
  45.     BEGIN
  46.         ErrStr := CONCAT('This command needs a single selected named object in the ',kClassName,' class.');
  47.         AlrtDialog(ErrStr);
  48.     END;
  49.     CLRMESSAGE;
  50.     POPATTRS;
  51. END;
  52. RUN(AssignHanging);
  53.