/** $VER: Version 0.1 (25 Dez. 1999), by Thorsten Willert **/ ;OPTIONS RESULTS CACHE;SIGNAL ON BREAK_C;SIGNAL ON ERROR;SIGNAL ON HALT;SIGNAL ON SYNTAX;SIGNAL ON IOERR;PARSE ARG args;CALL LIBS();Para.appname='GH_Browser';Para.appinfo='Browser for the GuruHistory, form MCP';Para.appversion='0.1';Para.apprelease='1';Para.appdate='25. Dez. 1999';Para.applongname=Para.appname Para.appversion||', © 1999 by Thorsten Willert';CALL INIT();DO WHILE(ende ~=TRUE);CALL TR_WAIT(app,'');DO WHILE TR_HANDLEMSG(app,'event');SELECT;WHEN event.trm_class='TRMS_ACTION' THEN;DO;SELECT;WHEN event.trm_id=1 THEN CALL REQ(ProgrammInfoText);WHEN event.trm_id=5 THEN ende=TRUE;OTHERWISE NOP;END;END;WHEN event.trm_class='TRMS_NEWVALUE' THEN;DO;SELECT;WHEN event.trm_id=99 THEN CALL Browse();OTHERWISE NOP;END;END;WHEN event.trm_class='TRMS_CLOSEWINDOW' THEN ende=TRUE;OTHERWISE NOP;END;END;END;CALL Ende();EXIT 20;Browse:;DROP dataout.;GuruNr=TR_GetAttribute(mainwin,99,'TRAT_VALUE');From=GuruNr*6;CALL StemCopy('data.* dataout.* FromPos' From 'ToPos 0 Tot 6');CALL ViewRefresh();RETURN;ViewRefresh:;dataout.0=6;DO i=1 TO 6;IF INDEX(dataout.i,'----------') ~==0 THEN dataout.i='';ELSE out.i= dataout.i;END;CALL TR_SetAttribute(mainwin,100,TROB_ListView,dataout);RETURN;ReadHistory:;PARSE ARG File;dataout.0=1;dataout.1=Info.1;CALL TR_SetAttribute(mainwin,100,TROB_ListView,dataout);dataout.='';IF EXISTS(File) THEN;DO;IF StemRead(File,'data.*') THEN RETURN 1;END;RETURN 0;INIT:;PARSE SOURCE . . . FullName .;NULL='00000000'X;StatusText='';app=NULL;mainwin=NULL;data.='';dataout.0=0;dataout.='';datalist.='';datalist.0=0;DataS=1;CALL Sprache();CALL MakeInfo();CALL ToolTypes();app=TR_CREATEAPP('TRCA_Name "'Para.appname'" TRCA_LongName "'Para.applongname'" TRCA_Info "'Para.appinfo'" TRCA_Version "'Para.appversion'" TRCA_Release "'Para.apprelease'" TRCA_Date "'Para.appdate'" TAG_END');CALL MainWin();IF ReadHistory(GH_File)==0 THEN;DO;CALL REQ(GH_File': GuruHistory not found!');CALL Ende();END;ELSE;DO;DataNr= data.0/6;DO i=1 TO DataNr;datalist.i='Guru' i;END;datalist.0= DataNr;CALL TR_SetAttribute(mainwin,99,TROB_ListView,datalist);CALL StemCopy('data.* dataout.* FromPos 0 ToPos 0 Tot 6');CALL ViewRefresh();END;RETURN;Sprache:;IF EXISTS('ENV:language')==1 THEN;DO;CALL OPEN(locale,'ENV:language');Sprache=UPPER(READLN(locale));CALL CLOSE(locale);IF Sprache='DEUTSCH' THEN;DO;Menu.1.0='Programm';Menu.1.1='Über ...';Menu.1.2='Beenden';Info.1='Lese GuruHistory ...';cycle.0=3;cycle.1='Guru';cycle.2='Fehler';cycle.3='Programm';Para.appinfo='Browser für die GuruHistory, von MCP';END;ELSE;DO;Menu.1.0='Program';Menu.1.1='About ...';Menu.1.2='Quit';Info.1='Reading GuruHistory ...';cycle.0=3;cycle.1='Guru';cycle.2='Error';cycle.3='Program';END;RETURN;ToolTypes:;CALL GetDiskObj(FullName,'icon.');IF icon.count ~==0 THEN;DO;IF StemSearch('GURUHISTORY=#?','icon. out.') THEN;DO;Pfad=STRIP(REPLACE(out.0,'GURUHISTORY=',''));IF EXISTS(Pfad) THEN GH_File=Pfad;ELSE GH_File='S:GuruHistory';DROP Pfad;END;END;RETURN;MakeInfo:;ProgrammInfoText=Para.applongname||'0A'X||Para.appinfo||'0A'X||'Version:' Para.appversion '('||Para.appdate||')';RETURN;Ende:;IF mainwin ~=NULL THEN;DO;CALL TR_CLOSEPROJECT(mainwin);END;IF app ~=NULL THEN CALL TR_DELETEAPP(app);EXIT;LIBS:;ErrLib='';IF ~SHOW('L','rexxMOOS.library')&~ADDLIB('rexxMOOS.library',100,-30,0) THEN;ErrLib='Script requires rexxMOOS.library!';IF ~SHOW('L','tritonrexx.library')&~ADDLIB('tritonrexx.library',10,-30,0) THEN;ErrLib=ErrLib||'0A'X||'Script requires tritonrexx.library!';IF ErrLib ~='' THEN;DO;CALL OPEN(Ausgabe,'CON:20/20/300/100/MakeSuffix/WAIT');CALL WRITELN(Ausgabe,ErrLib);CALL WRITELN(Ausgabe,'Press CTRL-\ to close!');EXIT 10;END;RETURN;MainWin:;mainwintags=WindowID(1) WindowTitle(Para.appname ' ') ScreenTitle(Para.applongname) WindowFlags(TRWF_ZIPTOCURRENTPOS) BeginMenu(Menu.1.0) MenuItem(Menu.1.1,1) ItemBarlabel MenuItem(Menu.1.2,5) 'VertGroupA Space HorizGroupAC Space' FWListSS(datalist,99,0,0) 'Space' FWListRO(dataout,100,0) 'TRAT_MinWidth 40 TRAT_MinHeight 7 Space EndGroup Space EndGroup Space EndProject';mainwin=TR_OPENPROJECT(app,mainwintags);IF mainwin ~=NULL THEN ende=0;ELSE ende=1;RETURN;REQ:PROCEDURE;PARSE ARG txt,gads,title;args='';IF gads~=='' THEN args=args 'GADS' gads;IF title~=='' THEN args=args 'TITLE' title;RETURN RqtEasyReq(txt,args);REPLACE:PROCEDURE;PARSE ARG src,old,new;str='';DO WHILE ''~=src;loc=POS(old,src);PARSE VAR src sub (old) src;str=str||sub;IF loc~=0 THEN str=str||new;END;RETURN str;BREAK_C:;CALL RqtEasyReq('User Break!');CALL Ende();EXIT 10;HALT:;CALL RqtEasyReq('Execution stopped!');CALL Ende();EXIT 10;ERROR:;SYNTAX:;IOERR:;CALL RqtEasyReq('ERROR:' ERRORTEXT(RC) 'in line:' SIGL);CALL Ende();EXIT 20