home *** CD-ROM | disk | FTP | other *** search
Wrap
PROGRAM ListSVOs; { ======================================================================== } { = Programmname : ListSVOs V7.1 PCQ = } { = = } { ======================================================================== } { = Autor/Copyright : (c) 1993-94 by Andreas R. Kleinert. = } { = All rights reserved. = } { = PCQ-Konvertierung (c) 1994 by Andreas Neumann = } { ======================================================================== } { = Funktion : Show available svobjects of superview.library. = } { = = } { ======================================================================== } { = Letztes Update : 15.7.1994 = } { = = } { = Letztes PCQ-Update : 24.11.1994 = } { ======================================================================== } { = Bemerkungen : "superview.library" V3+ needed. = } { = = } { ======================================================================== } { = Compiler : SAS/C V6.51 / PCQ 1.2d = } { = (smakefile) = } { ======================================================================== } {$I "include:sv/superview/superviewbase.i" } {$I "include:sv/svobjects/svobjectbase.i" } {$I "include:sv/superview/WurzelSuperView.i" } {$I "include:utils/stringlib.i" } {$I "include:utils/parameters.i" } CONST { Help- and Info- Texts } 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"; entry2_text : String = "\nAndreas R. Kleinert, Grube Hohe Grethe 23, D-57074 Siegen, Germany."; entry3_text : String = "\nAndreas Neumann, c/o Schnitzler, Espenhausen 3, 35091 Cölbe, Germany."; entry4_text : String = "\nLists up available svobjects of superview.library\n"; entry5_text : String = "USAGE : \c30;33;40m\"ListSVOs\"\c30;31;40m\n"; ver_text : String = "\0$VER: ListSVOs V7.1 PCQ (24.11.94)"; { *************************************************** } { * * } { * Error-Messages for Leave() and KF_Message() * } { * * } { *************************************************** } svlib_text : String = "You need superview.library V3+ !"; string_text : String = "Can't allocate string !"; VAR obj_list : ^List; sv_node : NodePtr; svo_node : SVO_ObjectNodePtr; i : INTEGER; argc : String; FUNCTION ByteToUByte (bi : BYTE) : SHORT; VAR btu : SHORT; BEGIN btu:=bi; IF btu>127 THEN btu:=btu-256; ByteToUByte:=btu; END; BEGIN obj_list:=NIL; svo_node:=NIL; argc:=AllocString (255); IF argc=NIL THEN Writeln (string_text) ELSE BEGIN GetParam(1,argc); IF StriCmp (argc,"-?")=0 THEN WRITELN (entry1_text,entry2_text,entry3_text,entry4_text,entry5_text) ELSE BEGIN IF StrLen (argc)=0 THEN BEGIN SuperViewBase:=Address(OpenLibrary("superview.library", 3)); IF SuperViewBase=NIL THEN WRITELN (svlib_text) ELSE BEGIN WRITE("\nList of available svobjects :"); obj_list:=Adr(SuperViewBase^.svb_SVObjectList); sv_node:=obj_list^.lh_Head; svo_node:=Address(sv_node); WHILE (svo_node<>NIL) AND (sv_node^.ln_Pred<>obj_list^.lh_TailPred) DO BEGIN { for(svo_node=(APTR) obj_list->lh_Head;(svo_node)&&(svo_node!=(APTR) &(obj_list->lh_Tail));) } WRITE ("\n\n"); WRITE ("\nSVObject : \"", svo_node^.svo_FileName,"\""); WRITE ("\nsvo-Type : ", svo_node^.svo_ObjectType); WRITE ("\nPriority : ", ByteToUByte(sv_node^.ln_Pri)); WRITE ("\nTypeID : \"", svo_node^.svo_TypeID,"\""); WRITE ("\nTypeCode : ", svo_node^.svo_TypeCode); FOR i:=1 TO svo_node^.svo_SubTypeNum DO BEGIN WRITE ("\n\n",i:2,".SubType :"); WRITE ("\n SubTypeID : \"", svo_node^.svo_SubTypeID[i],"\""); WRITE ("\n SubTypeCode : ", svo_node^.svo_SubTypeCode[i]); END; IF (svo_node^.svo_Version > 1) THEN BEGIN WRITE ("\n\nFlags :"); IF (svo_node^.svo_Flags AND SVO_FLAG_READS_TO_BUFFER)>0 THEN WRITE (" file->buffer"); IF (svo_node^.svo_Flags AND SVO_FLAG_READS_TO_SCREEN)>0 THEN WRITE (" file->screen"); IF (svo_node^.svo_Flags AND SVO_FLAG_WRITES_FROM_BUFFER)>0 THEN WRITE (" buffer->file"); IF (svo_node^.svo_Flags AND SVO_FLAG_WRITES_FROM_SCREEN)>0 THEN WRITE (" screen->file"); IF (svo_node^.svo_Flags AND SVO_FLAG_SUPPORTS_SVDRIVER)>0 THEN WRITE (" svdriver?"); IF (svo_node^.svo_Flags AND SVO_FLAG_NEEDS_SVDRIVER)>0 THEN WRITE (" svdriver!"); END ELSE WRITE ("\n\nNo flag field found (Version 1 SVObject)"); sv_node:=sv_node^.ln_Succ; svo_node:=Address(sv_node); END; WRITE ("\n\nNo more svobjects available.\n\n"); CloseLibrary (Address(SuperViewBase)); END; END; END; FreeString(argc); END; END.