home *** CD-ROM | disk | FTP | other *** search
- /*==============================================================*/
- /* rx·Run */
- /* $VER: V 02.00 (03.02.94) AUTHOR: Falk Hildner */
- /*==============================================================*/
- /* Startet AmigaBase und */
- /* - nach Eingabe eines Brechtigungscodes */
- /* · den Filerequester für das Projektverzeichnis */
- /* · ein Projekt */
- /* · ein Projekt mit ARexx-Funktion */
- /* - oder ohne Eingabe eines Brechtigungscodes */
- /* · ein Projekt */
- /* · ein Projekt mit ARexx-Funktion */
- /*--------------------------------------------------------------*/
- /* Aufruf: */
- /* ------- */
- /* RX [Pfad/]rx·Run [code [projekt [funktion [argument]]]] */
- /* */
- /* code - '0' ohne Codeabfrage */
- /* - '1' mit Codeabfrage */
- /* projekt - Projekt ohne Pfad, ausführlicher Pfad zum */
- /* Projekt oder nichts (wenn code = 1 wird */
- /* Requester aufgerufen) */
- /* funktion - aufzurufende ARexx-Funktion des Projektes */
- /* oder nichts (nicht über Requester möglich) */
- /* argument - Argument zur ARexx-Funktion oder nichts */
- /* */
- /* Ohne alle Parameter wird nur AmigaBase gestartet. */
- /* Der Requester ist auf Pattern 'ab·~(#?.BAK)' eingestellt, */
- /* d. h. alle Projekte müssen mit 'ab·' beginnen, sonst wird */
- /* nichts angezeigt. */
- /*--------------------------------------------------------------*/
- /* Rückgabe an ARexx-Funktion des Projektes */
- /* ---------------------------------------- */
- /* name - Name des Zugriffsberechtigten */
- /* sign - Signum des Zugriffsberechtigten */
- /*--------------------------------------------------------------*/
- /* ENV-Variablen: */
- /* -------------- */
- /* ENV:ABprogram ausführlicher Pfad zu AmigaBase */
- /* ENV:ABprojekt ausführlicher Pfad auf Verzeichnis mit den */
- /* AmigaBase-Projekten */
- /* ENV:ABcode ausführlicher Pfad zum Berechtigungscode-File*/
- /*==============================================================*/
-
- OPTIONS RESULTS
- PARSE ARG code projekt funktion argument
- SELECT
- WHEN INDEX(SHOW("PORTS"),"REXX_AB1") == 0 THEN
- DO
- CALL OPEN(abprogramm,"env:ABprogram",READ)
- ADDRESS COMMAND "RUN >NIL: " READLN(abprogramm)
- ADDRESS COMMAND "WaitForPort REXX_AB1"
- ADDRESS "REXX_AB1"
- END
- OTHERWISE
- DO
- ADDRESS "REXX_AB1"
- New
- END
- END
- IF ~(code == 0 | code == 1) | (code == 0 & projekt == "") THEN EXIT
- CALL ADDLIB("rexxreqtools.library", 0, -30, 0)
- IF code == 1 THEN
- DO
- in = rtgetstring( , , "Berechtigungscode eingeben ...", "Ok", , )
- IF in == "" THEN EXIT
- CALL OPEN(abcode,"env:ABcode",READ)
- CALL OPEN(test,READLN(abcode),READ)
- DO WHILE (in ~== readln(test))
- dummy = READLN(test)
- dummy = READLN(test)
- IF EOF(test) THEN EXIT
- END
- name = READLN(test)
- name = SUBWORD(name,1,3)
- IF WORDS(name) == 1 THEN name = name || " *"
- IF WORDS(name) == 2 THEN name = name || " *"
- signum = READLN(test)
- END
- CALL OPEN(abprojekt,"env:ABproject",READ)
- SELECT
- /* Abfage '... | INDEX(in,"*") > 0 ...' nur Falk !!! */
- WHEN (code == 1 & projekt == "") | INDEX(in,"*") > 0 THEN
- DO
- dateiname = RTFILEREQUEST( READLN(abprojekt), , "Starte Projekt ...", ,"rtfi_flags=freqf_selectdirs rtfi_matchpat=(ab·~(#?.BAK))", )
- IF dateiname == "" THEN
- DO
- erg = rtezrequest( "AmigaBase beenden ?","Ja|Nein",,,)
- IF erg == 1 then Quit Force
- EXIT
- END
- projekt = dateiname
- END
- WHEN INDEX(projekt,"/")=0 | INDEX(projekt,":")=0 THEN projekt = READLN(abprojekt) || projekt
- OTHERWISE NOP
- END
- Load projekt
- Project projekt
- SELECT
- WHEN code = 1 & funktion ~= "" THEN Function funktion name signum
- WHEN funktion ~= "" THEN Function funktion argument
- OTHERWISE NOP
- END
-