home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gfx / superview-lib-9.12.lha / SuperView-Lib / Programmers / PCQ-Pascal / ListSVOs / ListSVOs.P < prev   
Text File  |  1994-12-28  |  6KB  |  148 lines

  1. PROGRAM ListSVOs;
  2.  
  3. {  ======================================================================== }
  4. {  = Programmname    : ListSVOs V7.1 PCQ                                  = }
  5. {  =                                                                      = }
  6. {  ======================================================================== }
  7. {  = Autor/Copyright : (c) 1993-94 by Andreas R. Kleinert.                = }
  8. {  =                   All rights reserved.                               = }
  9. {  =                   PCQ-Konvertierung (c) 1994 by Andreas Neumann      = }
  10. {  ======================================================================== }
  11. {  = Funktion        : Show available svobjects of superview.library.     = }
  12. {  =                                                                      = }
  13. {  ======================================================================== }
  14. {  = Letztes Update  : 15.7.1994                                          = }
  15. {  =                                                                      = }
  16. {  = Letztes PCQ-Update : 24.11.1994                                      = }
  17. {  ======================================================================== }
  18. {  = Bemerkungen     : "superview.library" V3+ needed.                    = }
  19. {  =                                                                      = }
  20. {  ======================================================================== }
  21. {  = Compiler        : SAS/C V6.51      /   PCQ 1.2d                      = }
  22. {  =                   (smakefile)                                        = }
  23. {  ======================================================================== }
  24.  
  25. {$I "include:sv/superview/superviewbase.i" }
  26. {$I "include:sv/svobjects/svobjectbase.i" }
  27.  
  28. {$I "include:sv/superview/WurzelSuperView.i" }
  29.  
  30. {$I "include:utils/stringlib.i" }
  31. {$I "include:utils/parameters.i" }
  32.  
  33.  
  34.  
  35. CONST
  36.    {  Help- and Info- Texts }
  37.  
  38.     entry1_text : String = "\n\c31;32;40mListSVOs V7.1 PCQ \c30;32;40m\c33;32;40m(FREEWARE)\n\c30;31;40m(c) 1993-94 by Andreas Ralph Kleinert. PCQ-Version by Andreas Neumann";
  39.     entry2_text : String = "\nAndreas R. Kleinert, Grube Hohe Grethe 23, D-57074 Siegen, Germany.";
  40.     entry3_text : String = "\nAndreas Neumann, c/o Schnitzler, Espenhausen 3, 35091 Cölbe, Germany.";
  41.     entry4_text : String = "\nLists up available svobjects of superview.library\n";
  42.     entry5_text : String = "USAGE : \c30;33;40m\"ListSVOs\"\c30;31;40m\n";
  43.  
  44.     ver_text    : String = "\0$VER: ListSVOs V7.1 PCQ (24.11.94)";
  45.  
  46.  
  47. {  *************************************************** }
  48. {  *                                                 * }
  49. {  * Error-Messages for Leave() and KF_Message()     * }
  50. {  *                                                 * }
  51. {  *************************************************** }
  52.  
  53.     svlib_text : String = "You need superview.library V3+ !";
  54.     string_text : String = "Can't allocate string !";
  55.  
  56.  
  57. VAR
  58.     obj_list    :   ^List;
  59.     sv_node     :   NodePtr;
  60.     svo_node    :   SVO_ObjectNodePtr;
  61.     i           :   INTEGER;
  62.     argc        :   String;
  63.  
  64.  
  65. FUNCTION ByteToUByte (bi : BYTE) : SHORT;
  66.  
  67. VAR btu :   SHORT;
  68.  
  69. BEGIN
  70.  btu:=bi;
  71.  IF btu>127 THEN
  72.   btu:=btu-256;
  73.  ByteToUByte:=btu;
  74. END;
  75.  
  76. BEGIN
  77.  obj_list:=NIL;
  78.  svo_node:=NIL;
  79.  argc:=AllocString (255);
  80.  IF argc=NIL THEN
  81.   Writeln (string_text)
  82.  ELSE
  83.  BEGIN
  84.   GetParam(1,argc);
  85.   IF StriCmp (argc,"-?")=0 THEN
  86.    WRITELN (entry1_text,entry2_text,entry3_text,entry4_text,entry5_text)
  87.   ELSE
  88.   BEGIN
  89.    IF StrLen (argc)=0 THEN
  90.    BEGIN
  91.     SuperViewBase:=Address(OpenLibrary("superview.library", 3));
  92.     IF SuperViewBase=NIL THEN
  93.      WRITELN (svlib_text)
  94.     ELSE
  95.     BEGIN
  96.  
  97.      WRITE("\nList of available svobjects :");
  98.  
  99.      obj_list:=Adr(SuperViewBase^.svb_SVObjectList);
  100.      sv_node:=obj_list^.lh_Head;
  101.      svo_node:=Address(sv_node);
  102.  
  103.      WHILE (svo_node<>NIL) AND (sv_node^.ln_Pred<>obj_list^.lh_TailPred) DO
  104.      BEGIN
  105.  
  106. { for(svo_node=(APTR) obj_list->lh_Head;(svo_node)&&(svo_node!=(APTR) &(obj_list->lh_Tail));) }
  107.       WRITE ("\n\n");
  108.  
  109.       WRITE ("\nSVObject : \"", svo_node^.svo_FileName,"\"");
  110.       WRITE ("\nsvo-Type : ", svo_node^.svo_ObjectType);
  111.       WRITE ("\nPriority : ", ByteToUByte(sv_node^.ln_Pri));
  112.       WRITE ("\nTypeID   : \"", svo_node^.svo_TypeID,"\"");
  113.       WRITE ("\nTypeCode : ", svo_node^.svo_TypeCode);
  114.  
  115.       FOR i:=1 TO svo_node^.svo_SubTypeNum DO
  116.       BEGIN
  117.        WRITE ("\n\n",i:2,".SubType     :");
  118.        WRITE ("\n   SubTypeID   : \"", svo_node^.svo_SubTypeID[i],"\"");
  119.        WRITE ("\n   SubTypeCode : ", svo_node^.svo_SubTypeCode[i]);
  120.       END;
  121.  
  122.       IF (svo_node^.svo_Version > 1) THEN
  123.       BEGIN
  124.        WRITE ("\n\nFlags    :");
  125.  
  126.        IF (svo_node^.svo_Flags AND SVO_FLAG_READS_TO_BUFFER)>0 THEN WRITE (" file->buffer");
  127.        IF (svo_node^.svo_Flags AND SVO_FLAG_READS_TO_SCREEN)>0 THEN WRITE (" file->screen");
  128.        IF (svo_node^.svo_Flags AND SVO_FLAG_WRITES_FROM_BUFFER)>0 THEN WRITE (" buffer->file");
  129.        IF (svo_node^.svo_Flags AND SVO_FLAG_WRITES_FROM_SCREEN)>0 THEN WRITE (" screen->file");
  130.        IF (svo_node^.svo_Flags AND SVO_FLAG_SUPPORTS_SVDRIVER)>0 THEN WRITE (" svdriver?");
  131.        IF (svo_node^.svo_Flags AND SVO_FLAG_NEEDS_SVDRIVER)>0 THEN WRITE (" svdriver!");
  132.       END
  133.       ELSE
  134.        WRITE ("\n\nNo flag field found (Version 1 SVObject)");
  135.  
  136.       sv_node:=sv_node^.ln_Succ;
  137.       svo_node:=Address(sv_node);
  138.      END;
  139.  
  140.      WRITE ("\n\nNo more svobjects available.\n\n");
  141.      CloseLibrary (Address(SuperViewBase));
  142.     END;
  143.    END;
  144.   END;
  145.   FreeString(argc);
  146.  END;
  147. END.
  148.