home *** CD-ROM | disk | FTP | other *** search
Wrap
/* $VER: JpegToolGUI.rexx 1.4 (23.08.99) Nils Görs */ /* Informationen über das Ausgabefenster */ LeftBorder = 10 /*Abstand linker Rand */ TopBorder = 300 /*Abstand vom oberen Rand*/ OutPutWidth = 640 /*Breite des Fensters */ OutPutHeight = 150 /*Höhe des Fensters */ StandardPath = "ram:" PrefsFile = "Sys:Prefs/Presets/jpegtool.prefs" OPTIONS RESULTS PARSE ARG PubScreen IF PubScreen == "?" THEN DO OPTIONS PROMPT "PUBSCREEN/K: " PARSE PULL PubScreen END CALL _InitAll /* ** Beschreibung der Applikation */ appname = 'JpegToolGUI' applongname = 'JpegTool - ©99 by Nils Görs' appinfo = 'graphical user interface for JpegTool' appversion = '1.4' apprelease = '3' appdate = '23.08.99' Holder = Prefs.3 IF Prefs.3 = 4 THEN Holder = Prefs.3 * 2 IF Prefs.3 = 3 THEN Holder = Prefs.3 + 1 _maintags: windowtags = WindowID(1), PubScreenName(PubScreen), WindowBackfillFB, WindowTitle(appname appversion), QuickHelpOn(HelpBool), BeginMenu('Project'), MenuItemC('H_QuickHelp',100), MenuItem('?_About',101) ItemBarlabel, MenuItem('S_Save',103) ItemBarlabel, MenuItem('Q_Quit',102), BeginMenu('Edit'), MenuItem('D_Reset to Defaults',201), MenuItem('L_Last Saved',202), 'HorizGroupA Space VertGroupA Space', 'LineArray', 'BeginLine', Text3('_From: ') 'TRAT_ID 1', StringGadget('',1) 'TRAT_Value 255', QuickHelp("specifies the images to convert"), GetFileButton(2), QuickHelp("select a file."), GetDrawerButton(21), QuickHelp("select a directory (including subdirs!) to convert."||NL||"To convert a directory you don't need to give a"||NL||"pattern anymore. A new directory in the destination"||NL||"drawer _won't_ be created!"), 'EndLine', 'SpaceS', 'BeginLine', Text3('_To: ') 'TRAT_ID 3', StringGadget('',3) 'TRAT_Value 255', QuickHelp("specifies the destination file"), GetFileButton(4), GetEntryButton(41), QuickHelp('List of all supported variables/placeholders.'), 'EndLine', 'SpaceS', 'BeginLine', Text3('_Destdatatype: ') 'TRAT_ID 5', StringGadget('',5) 'TRAT_Value 255', QuickHelp("Tells the program to create a datatypes object"NL"from a jpeg stream. To create an ilbm picture specify"NL"picture.datatype. This option requires picture datatype v43"NL"and datatypes.library v45! And, of course, the specified"NL"subclass of picturedt must be v43 compatible and provide an encoder."), GetEntryButton(6), 'EndLine', 'Space', 'BeginLine', Text3("_Quality") 'TRAT_ID 7', SliderGadget(1,100,Prefs.1,7), QuickHelp("quality of the jpeg stream to create."), 'Space', Text3(Prefs.1'%') 'TRAT_MinWidth 4 TRAT_ID 77', 'EndLine', 'SpaceS', 'BeginLine', Text3("_Smoothing") 'TRAT_ID 8', SliderGadget(0,100,Prefs.2,8), QuickHelp("smoothing factor of the jpeg stream to create (0 = no smoothing)"), 'Space', Text3(Prefs.2'%') 'TRAT_MinWidth 3 TRAT_ID 88', 'EndLine', 'SpaceS', 'BeginLine', Text3("Scalede_nom") 'TRAT_ID 9', SliderGadget(1,4,Prefs.3,9), QuickHelp("scaling denominator when decompressing a jpeg image."NL"Denominators supported are 1 (default), 2, 4 and 8."NL"Eg. if you want to have an image that is halve of"NL"the size of the original one specify 2."), 'Space', Text3('1:'Holder) 'TRAT_MinWidth 3 TRAT_ID 99', 'EndLine', 'SpaceS', 'BeginLine', Text3("Scalenum") 'TRAT_ID 13', SliderGadget(1,1,1,13), QuickHelp("scaling numerator when decompressing a jpeg image."NL"The jpeg code only supports a value of 1 (default) currently."), 'Space', Text3('1'), 'EndLine', 'Space', 'EndArray', , NamedFrameBox('Options'), 'LineArray', 'BeginLine', 'SpaceB', Text3("D_ctmethod: ") 'TRAT_ID 14', CycleGadget(DCTMETHOD,Prefs.4-1,14), QuickHelp("allows to specify the dct method used for de-/encoding."NL"ISLOW: integer, slow, more accurate (default)."NL"IFAST: integer, fast, less accurate."NL"FLOAT: float, fast on fast machines, most accurate."), 'SpaceB', Text3("_Blocksmoothing: ") 'TRAT_ID 10', CheckBox(10) 'TRAT_Value' Prefs.5, QuickHelp("do block smoothing when decompressing."), 'SpaceB', Text3("_Progressive: ") 'TRAT_ID 11', CheckBox(11) 'TRAT_Value' Prefs.6, QuickHelp("create progressive jpeg."), 'SpaceB', Text3("Flip_X: ") 'TRAT_ID 18', CheckBox(18) 'TRAT_Value' Prefs.10, QuickHelp("mirror horizontally"), 'SpaceB', Text3("NoLayout: ") 'TRAT_ID 20', CheckBox(20) 'TRAT_Value' Prefs.12, QuickHelp("don't layout datatype image"), 'SpaceB', 'EndLine', 'Space', 'BeginLine', 'SpaceB', Text3("Qui_et: ") 'TRAT_ID 12', CheckBox(12) 'TRAT_Value' Prefs.9, QuickHelp("suppresses any message except error messages."), 'SpaceB', Text3("_Grayscale: ") 'TRAT_ID 15', CheckBox(15) 'TRAT_Value' Prefs.7, QuickHelp("create grayscale image."), 'SpaceB', Text3("F_orce: ") 'TRAT_ID 17', CheckBox(17) 'TRAT_Value' Prefs.8, QuickHelp("overwrite existing file(s)."), 'SpaceB', Text3("Flip_Y: ") 'TRAT_ID 19', CheckBox(19) 'TRAT_Value' Prefs.11, QuickHelp("mirror vertically"), 'SpaceB', Text3("ILBM: ") 'TRAT_ID 22', CheckBox(22) 'TRAT_Value' Prefs.13, QuickHelp("create ilbm picture"), 'SpaceB', 'EndLine', 'Space', 'EndArray', 'Space', Button("Con_vert",16), 'Space EndGroup Space EndGroup EndProject' /* ** Unterbrechungssignale */ SIGNAL ON break_c SIGNAL ON failure SIGNAL ON halt SIGNAL ON ioerr SIGNAL ON syntax app = TR_CREATEAPP('TRCA_Name' '"'appname'"', 'TRCA_LongName' '"'applongname'"', 'TRCA_Info' '"'appinfo'"', 'TRCA_Version' '"'appversion'"', 'TRCA_Release' '"'apprelease'"', 'TRCA_Date' '"'appdate'"', 'TAG_END') IF app ~= '00000000'x THEN DO window = TR_OPENPROJECT(app,windowtags) WindowProject=C2D(window) /* zum Locken des Fensters bei About */ IF window ~= '00000000'x THEN DO nummer = 0 DO WHILE nummer = 0 CALL TR_WAIT(app,'') DO WHILE TR_HANDLEMSG(app,'event') /****************** *** CLOSEGADGET *** *******************/ IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN nummer = -1 IF event.trm_class = 'TRMS_ACTION' THEN DO SELECT WHEN event.trm_id = 16 THEN CALL _Convert WHEN event.trm_id = 21 THEN DO IF _DirRequest(InDir "Select source path") = 1 THEN DO CALL TR_SETATTRIBUTE(window,1,'TROB_String',Dirname.1) END END WHEN event.trm_id = 2 THEN DO infile = TR_GETATTRIBUTE(window,1,'TROB_String') IF infile = " " THEN infile = "INFILE" IF _FileRequest(infile "Select source file") = 1 THEN DO Infile = filename.1 CALL TR_SETATTRIBUTE(window,1,'TROB_String',Infile) END END WHEN event.trm_id = 4 THEN DO outfile = TR_GETATTRIBUTE(window,3,'TROB_String') IF outfile = " " THEN outfile = "OUTFILE" IF _FileRequest(outfile "Select destination file") = 1 THEN DO Outfile = filename.1 CALL TR_SETATTRIBUTE(window,3,'TROB_String',Outfile) END END WHEN event.trm_id = 41 THEN CALL _FileTypes WHEN event.trm_id = 6 THEN DO NewDatatype = selectdatatypes() IF newdatatype ~= 0 THEN DO laenge=LENGTH(newDatatype) NewDataType=LEFT(NewDataType,Laenge-9) CALL TR_SETATTRIBUTE(window,5,'TROB_String',NewDataType) END END WHEN event.trm_id = 101 THEN CALL _About WHEN event.trm_id = 102 THEN DO Quit=TR_EasyRequest(app,"Really Quit?",, "Yes|No","TREZ_Title Quit TREZ_LockProject" WindowProject) IF Quit == 1 THEN nummer=1 END WHEN event.trm_id = 103 THEN CALL _SavePrefs WHEN event.trm_id = 201 THEN CALL _Reset2Defaults WHEN event.trm_id = 202 THEN CALL _LastSaved OTHERWISE NOP END END IF event.trm_class = 'TRMS_NEWVALUE' THEN DO SELECT WHEN event.trm_id = 7 THEN CALL TR_SETATTRIBUTE(window,77,'TRAT_Text',event.trm_data||"%") WHEN event.trm_id = 8 THEN CALL TR_SETATTRIBUTE(window,88,'TRAT_Text',event.trm_data||"%") WHEN event.trm_id = 9 THEN DO IF event.trm_data = 4 THEN event.trm_data = event.trm_data * 2 IF event.trm_data = 3 THEN event.trm_data = event.trm_data + 1 CALL TR_SETATTRIBUTE(window,99,'TRAT_Text',"1:"||event.trm_data) END WHEN event.trm_id = 100 THEN DO HelpBool = TR_GETATTRIBUTE(window,100,'TRAT_VALUE') CALL TR_SETATTRIBUTE(window,0,'TRWI_QuickHelp',HelpBool) END OTHERWISE NOP END END /* ENDE */ END END CALL TR_CLOSEPROJECT(window) END CALL TR_DELETEAPP(app) END EXIT(0) _DirRequest: PARSE ARG DirPath Title IF Dirpath = "" | Dirpath == "INDIR" | Dirpath = "OUTDIR" THEN Dirpath = standardpath bool = ASL_RequestFile(window,DirName,, "ASLFR_PubScreenName" PubScreen, "ASLFR_InitialDrawer" DirPath, "ASLFR_TitleText" '"'||Title||'"', "ASLFR_DrawersOnly" TRUE) Args = "ALL" RETURN(bool) _FileRequest: PARSE ARG CommandPath title IF commandpath == "INFILE" | commandpath == "OUTFILE" | commandpath = "" THEN commandpath = standardpath CommandPath = RXTR_PATHPART(CommandPath) IF CommandPath = "" THEN commandpath = standardpath bool = ASL_RequestFile(window,filename,, "ASLFR_PubScreenName" PubScreen, "ASLFR_InitialPattern" PatternList, "ASLFR_DoPatterns" 1, "ASLFR_InitialDrawer" CommandPath, "ASLFR_TitleText" '"'||Title||'"') RETURN(bool) _Convert: InFile = TR_GETATTRIBUTE(window,1,'TROB_String') OutFile = TR_GETATTRIBUTE(window,3,'TROB_String') IF OutFile = "" | InFile = "" THEN RETURN DestDataType = TR_GETATTRIBUTE(window,5,'TROB_String') IF DestDataType ~= "" THEN Args = "DTN="||Destdatatype CALL _GetValues IF Prefs.1 ~= 75 THEN Args = Args "Q="||Prefs.1 /* Quality */ IF Prefs.2 ~= 0 THEN Args = Args "S="||Prefs.2 /* Smoothing */ IF Prefs.3 ~= 1 THEN DO IF Prefs.3 = 4 THEN Prefs.3 = Prefs.3 * 2 IF Prefs.3 = 3 THEN Prefs.3 = Prefs.3 + 1 Args = Args "SD="||Prefs.3 /* Scale */ END IF Prefs.4 ~= 1 THEN DO wert = Prefs.4 Args = Args "DCT="||DCTMETHOD.wert /* Methode */ END IF Prefs.5 = 1 THEN Args = Args "BS" /* Block */ IF Prefs.6 = 1 THEN Args = Args "P" /* Progressive */ IF Prefs.7 = 1 THEN Args = Args "GS" /* GrayScale */ IF Prefs.8 = 1 THEN Args = Args "FORCE" /* Force */ IF Prefs.9 = 1 THEN Args = Args "QUIET" /* Quiet */ IF Prefs.10 = 1 THEN Args = Args "FX" /* FLIPX */ IF Prefs.11 = 1 THEN Args = Args "FY" /* FLIPY */ IF Prefs.12 = 1 THEN Args = Args "NL" /* NOLAYOUT */ IF Prefs.13 = 1 THEN Args = Args "ILBM" /* ILBM */ CALL TR_LOCKPROJECT(window) IF Quiet = 1 THEN ADDRESS COMMAND "jpegtool FROM="||InFile "TO="||OutFile Args ELSE ADDRESS COMMAND "jpegtool FROM="||InFile "TO="||OutFile Args '<>CON:'LeftBorder'/'TopBorder'/'OutPutWidth'/'OutPutHeight'/converting.../SCREEN' PubScreen'/AUTO/CLOSE' CALL TR_UNLOCKPROJECT(window) Args = "" RETURN /* *** Einstellungen speichern. */ _SavePrefs: CALL TR_LOCKPROJECT(window) CALL _GetValues IF RXTR_WRITEFILE(Prefsfile,Prefs) = 0 THEN DO say "Save error!" CALL TR_UNLOCKPROJECT(window) RETURN END CALL RXTR_READFILE(PrefsFile,Prefs) Prefs2.0 = Prefs.0 DO i = 1 to Prefs2.0 Prefs2.i = Prefs.i END CALL TR_UNLOCKPROJECT(window) RETURN _Reset2Defaults: CALL TR_LOCKPROJECT(window) CALL _DefaultSettings CALL _SetValues CALL TR_UNLOCKPROJECT(window) RETURN _LastSaved: CALL TR_LOCKPROJECT(window) DO i = 1 to Prefs2.0 Prefs.i = Prefs2.i END CALL _SetValues CALL TR_UNLOCKPROJECT(window) RETURN _DefaultSettings: Prefs.0 = 13 Prefs.1 = 75 /* Quality */ Prefs.2 = 0 /* Smoothing */ Prefs.3 = 1 /* Scale */ Prefs.4 = 1 /* Methode */ Prefs.5 = 0 /* Block */ Prefs.6 = 0 /* Progressive */ Prefs.7 = 0 /* GrayScale */ Prefs.8 = 0 /* Force */ Prefs.9 = 0 /* Quiet */ Prefs.10 = 0 /* FlipX */ Prefs.11 = 0 /* FlipY */ Prefs.12 = 0 /* NoLayout */ Prefs.13 = 0 /* ILBM */ RETURN _GetValues: Prefs.0 = 13 Prefs.1 = TR_GETATTRIBUTE(window,7,'TRAT_Value') /* Quality */ Prefs.2 = TR_GETATTRIBUTE(window,8,'TRAT_Value') /* Smoothing */ Prefs.3 = TR_GETATTRIBUTE(window,9,'TRAT_Value') /* Scale */ Prefs.4 = TR_GETATTRIBUTE(window,14,'TRAT_Value')+1 /* Methode */ Prefs.5 = TR_GETATTRIBUTE(window,10,'TRAT_Value') /* Block */ Prefs.6 = TR_GETATTRIBUTE(window,11,'TRAT_Value') /* Progressive */ Prefs.7 = TR_GETATTRIBUTE(window,15,'TRAT_Value') /* GrayScale */ Prefs.8 = TR_GETATTRIBUTE(window,17,'TRAT_Value') /* Force */ Prefs.9 = TR_GETATTRIBUTE(window,12,'TRAT_Value') /* Quiet */ Prefs.10 = TR_GETATTRIBUTE(window,18,'TRAT_Value') /* FlipX */ Prefs.11 = TR_GETATTRIBUTE(window,19,'TRAT_Value') /* FlipY */ Prefs.12 = TR_GETATTRIBUTE(window,20,'TRAT_Value') /* NoLayout */ Prefs.13 = TR_GETATTRIBUTE(window,22,'TRAT_Value') /* ILBM */ RETURN _SetValues: CALL TR_SETATTRIBUTE(window,7,'TRAT_Value',Prefs.1) /* Quality */ CALL TR_SETATTRIBUTE(window,77,'TRAT_Text',Prefs.1"%") CALL TR_SETATTRIBUTE(window,8,'TRAT_Value',Prefs.2) /* Quality */ CALL TR_SETATTRIBUTE(window,88,'TRAT_Text',Prefs.2"%") CALL TR_SETATTRIBUTE(window,9,'TRAT_Value',Prefs.3) /* Scale */ CALL TR_SETATTRIBUTE(window,99,'TRAT_Text',"1:"Prefs.3) CALL TR_SETATTRIBUTE(window,14,'TRAT_Value',Prefs.4-1) /* Methode */ CALL TR_SETATTRIBUTE(window,10,'TRAT_Value',Prefs.5) /* Block */ CALL TR_SETATTRIBUTE(window,11,'TRAT_Value',Prefs.6) /* Progressive */ CALL TR_SETATTRIBUTE(window,15,'TRAT_Value',Prefs.7) /* GrayScale */ CALL TR_SETATTRIBUTE(window,17,'TRAT_Value',Prefs.8) /* Force */ CALL TR_SETATTRIBUTE(window,12,'TRAT_Value',Prefs.9) /* Quiet */ CALL TR_SETATTRIBUTE(window,18,'TRAT_Value',Prefs.10) /* FlipX */ CALL TR_SETATTRIBUTE(window,19,'TRAT_Value',Prefs.11) /* FlipY */ CALL TR_SETATTRIBUTE(window,20,'TRAT_Value',Prefs.12) /* NoLayout */ CALL TR_SETATTRIBUTE(window,22,'TRAT_Value',Prefs.13) /* ILBM */ RETURN /* ** Select datatypes */ selectdatatypes: datatypeswindowtags = , WindowID(2), WindowPosition('TRWP_MOUSEPOINTER'), WindowTitle('Select datatypes'), WindowFlags('TRWF_NOESCCLOSE'), PubScreenName(pubscreen), 'VertGroupA', 'Space', 'HorizGroupA', 'Space', ListSS('datatypes',201,0,0), 'Space', 'EndGroup', 'Space', 'HorizSeparator', 'Space', 'HorizGroupA', 'Space', ButtonR('_USE',298), ButtonE('_CANCEL',299), 'Space', 'EndGroup', 'Space', 'EndGroup EndProject' datatypeswindow = TR_OPENPROJECT(app,datatypeswindowtags) IF datatypeswindow ~= '00000000'x THEN DO CALL TR_LOCKPROJECT(window) quitdatatypeswindow = FALSE DO WHILE ~quitdatatypeswindow CALL TR_WAIT(app,'') DO WHILE TR_HANDLEMSG(app,'event') IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN DO quitdatatypeswindow = TRUE selecteddatatypes = FALSE END IF event.trm_class = 'TRMS_ACTION' THEN DO IF event.trm_id = 298 THEN DO selecteddatatypes = datatypes.number quitdatatypeswindow = TRUE END IF event.trm_id = 299 THEN DO quitdatatypeswindow = TRUE selecteddatatypes = FALSE END END IF event.trm_class = 'TRMS_NEWVALUE' & event.trm_id = 201 THEN DO number = event.trm_data+1 IF BITAND(D2X(event.trm_qualifier),'0200'x) = '0200'x THEN DO selecteddatatypes = datatypes.number quitdatatypeswindow = TRUE END END END END CALL TR_CLOSEPROJECT(datatypeswindow) CALL TR_UNLOCKPROJECT(window) END RETURN(selecteddatatypes) _InitAll: Args = "" NL = '0a'x TRUE = 1 FALSE = 0 HelpBool = 0 DCTMETHOD.0 = 3 DCTMETHOD.1 = "ISLOW" DCTMETHOD.2 = "IFAST" DCTMETHOD.3 = "FLOAT" PatternList = "#?(.jpg|.iff|.gif|.png)" /* für Filerequester */ FileTypes.0 = 7 FileTypes.1 = "%n (sourcename eg: %20n)" FileTypes.2 = "%nu (value of internal counter)" FileTypes.3 = "%w (width of the image.)" FileTypes.4 = "%h (height ...)" FileTypes.5 = "%d (depth ...)" FileTypes.6 = "%sz (shortcut for %wx%hx%d)" FileTypes.7 = "%s (suffix without '.')" /* ** Open libs */ IF ~SHOW('LIBRARIES','tritonrexx.library') THEN IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN quit('Cannot open tritonrexx.library!',10) IF ~SHOW(LIBRARIES,'rexxtricks.library') THEN IF ~ADDLIB('rexxtricks.library',9,-30,38) THEN quit('Cannot open rexxtricks.library!',10) IF ~SHOW('LIBRARIES','rexxsupport.library') THEN IF ~ADDLIB('rexxsupport.library',9,-30,0) THEN quit('Cannot open rexxsupport.library!',10) /* ** Set current dir */ PARSE SOURCE . . . script . progdir = PATHPART(script) booll = LENGTH(progdir) booli= LASTPOS(":",progdir) boolh= LASTPOS("/",progdir) IF booli <= booll THEN progdir2=progdir||"/" IF boolh == 0 THEN progdir2=progdir||"/" CALL PRAGMA('D',progdir) /* Gibt es einen Parameter für den Bildschirm. Wenn nicht, dann wird der Screen auf dem defaultPubScreen geöffnet. */ IF PubScreen == "" THEN PubScreen = RXTR_GETDEFAULTPUBSCREEN() CALL RXTR_PUBSCREENTOFRONT(PubScreen) bool = RXTR_GETDIR("sys:classes/DataTypes","#?.datatype",datatypes,'FILES','NAME') IF bool = 0 THEN datatypes.0 = 0 ELSE CALL RXTR_QSORT(datatypes,,"NOCASE",,) IF EXISTS(PrefsFile) THEN DO CALL RXTR_READFILE(PrefsFile,Prefs) Prefs2.0 = Prefs.0 DO i = 1 to Prefs2.0 Prefs2.i = Prefs.i END END ELSE CALL _DefaultSettings RETURN /* *** Fenster für die Dateivariable. */ _FileTypes: ende2 = 0 FileTypesTags = WindowID(3), WindowPosition('TRWP_MOUSEPOINTER'), WindowBackfillFB, WindowTitle('variables & placeholders'), WindowFlags('TRWF_NOCLOSEGADGET|TRWF_NOESCCLOSE'), QuickHelpOn(HelpBool), PubScreenName(Pubscreen), 'VertGroupA', 'Space', 'HorizGroupA', 'Space', ListSel('FileTypes',301,0), 'Space', 'EndGroup', 'Space', 'HorizSeparator', 'Space', 'HorizGroupA', 'Space', ButtonRE("Cancel",302), 'Space', 'EndGroup Space EndGroup EndGroup EndProject' FileTypesProject = TR_OPENPROJECT(app,FileTypestags) IF FileTypesProject ~= '00000000'x THEN DO CALL TR_LOCKPROJECT(window) DO WHILE ende2 ~= 1 DO WHILE TR_HANDLEMSG(app,'event3') IF event3.trm_class = 'TRMS_ACTION' THEN ende2 = 1 /* Cancel Gadget */ IF event3.trm_class = 'TRMS_NEWVALUE' THEN DO DirCheck = TR_GETATTRIBUTE(FileTypesProject,301,'TRAT_Value')+1 wert = TR_GETATTRIBUTE(FileTypesProject,301,'TRAT_Value')+1 IF wert <8 THEN lformattemplate=WORD(FileTypes.wert,1) ELSE lformattemplate = FileTypes.wert oldTemplate=TR_GETATTRIBUTE(window,3,'TROB_STRING') lformattemplate = WORD(lformattemplate,1) lformattemplate = oldtemplate||lformattemplate CALL TR_SETATTRIBUTE(window,3,'TROB_STRING',lformattemplate) ende2 = 1 END END END END CALL TR_UNLOCKPROJECT(window) CALL TR_CLOSEPROJECT(FileTypesProject) RETURN /******************************************************************************* ** Info über das Programm anzeigen *******************************************************************************/ _About: CALL TR_AUTOREQUEST(app,window,PubScreenName(PubScreen), BeginRequester('About','TRWP_CENTERDISPLAY'), 'VertGroupA', 'Space', CenteredText3(appname appversion '('||appdate||') (C) 1999 by Nils Görs <N.Goers@Art-Line.de>'), 'SpaceS', CenteredText(appinfo), 'Space', 'HorizSeparator', 'SpaceS', CenteredText3("This application uses:"), 'Space', CenteredText("'JpegTool' (C) by Stephan Rupprecht <stephan.rupprecht@gmx.de>"), 'SpaceS', 'HorizSeparator', 'Space', CenteredText3('This program is using the 'Triton GUI creation system''), 'SpaceS', CenteredText("'Triton' is (C) by Stefan Zeiger <s.zeiger@laren.rhein-main.de>"), 'Space', 'HorizSeparator', 'Space', CenteredText3("This program also use 'tritonrexx.library'"), 'SpaceS', 'HorizGroupSC', 'Space', TextN("'tritonrexx.library' is (C) by Jürgen Kohrmeyer <j_kohrmeyer@wilam.north.de>") 'TRAT_Flags TRTX_NOUNDERSCORE', 'Space', 'EndGroup', 'Space', 'EndGroup', 'BeginRequesterGads', CenteredButtonRE("Thanks",10000), 'EndRequester') RETURN /******************************************************************************* ** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird *******************************************************************************/ break_c: failure: halt: ioerr: syntax: SAY '+++ Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc) SAY SOURCELINE(sigl) IF app ~= '00000000'x THEN CALL TR_DELETEAPP(app) EXIT(10) /*EOS*/