Programmeren in REXX/RexxUtil: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
GuyDC (overleg | bijdragen)
Toevoegen van Directory functie
GuyDC (overleg | bijdragen)
Reeks verbeteringen en aanpassing aan conventies.
Regel 20:
call MathLoadFuncs
<br>{{Bericht
|bericht=Het is eigenlijk niet nodig dit in elkeelk programma te doen,. hetHet is voldoende om deze functiepakketten eenmalig te registreren tijdens het opstarten van het systeem. Maak daarom een ''start.rex'' programma met bovenstaande statements en plaats het programma in de startup-folder van windows.
|type=info}}
 
Regel 36:
Geeft voor het station de driveletter, de vrije ruimte, de totale ruimte en het label. Bijvoorbeeld:
say SysDriveInfo("C:") &#171;C: 91855196160 157283799040 SYSTEM&#187;
Pas op, het zijn decimale getallen. Om digitale gigabytes, dusof eigenlijkgibibytes te bekomen moeten we delen door 1024**2 om [[w:Gigabyte|digitale gigabytes, of gibibytes]] te bekomen. Windows zal daarom bij de taartverdeling voor dit station 87,6GB vrije ruimte tonen.
==SysDriveMap - lijst van de stationsletters==
'''SysDriveMap'''([station | "<u>C:</u>"][,optie | "<u>USED</u>"])
Geeft een lijst van de gekende stationsletters op het systeem, te beginnen bij ''station'' (of C: als geen station is opgegeven). Men kan de lijst beperken door een optie op te geven. Deze kan zijn:
*USED - standaardwaarde. Geeft de stationsletters die toegankelijk zijn, zowel locale als remote;
*FREE - geeft enkel de vrije stations;
*LOCAL - geeft enkel de locale stations;
Regel 54:
say SysFileSystemType('C:') /* Geeft misschien "NTFS" */
==RxWinExec - programma uitvoeren (alleen Windows)==
'''RxWinExec'''(commando[,schermtonenschermvorm | "<u>Normal</u>"])
Deze functie voert het opgegeven Windows commando uit. Het ''commando'' bevat alles wat men anders op de opdrachtprompt zou invoeren, dus parameters incluis.
 
Als geen expliciet pad is meegegeven in de naam van het commando, dan zoekt REXX achtereenvolgens:
#in de map van waaruit OORexx is opgeroepen;
#de huidige map (current directory);
#in de map van waaruit OORexx is opgeroepen;
#de Windows systeemmap;
#de Windows map;
#de mappen die in de systeemvariabele "Path" zijn opgegeven.
 
De optie ''schermtonenschermvorm'' bepaalt hoe het venster van de toepassing er moet uitzien. Dit kan volgende waarde aannemen:
*'''ShowNormal''': toont een normaal opdrachtvenster;
*'''ShowNoActivate''': toont een opdrachtvenster, doch behoudt het huidig als actief;
Regel 73:
*'''Minimize''': minimaliseert het venster en activeert het hogerliggend venster.
 
Het resultaat van deze functie is het Process ID (PID) van de toepassing die gestart is. Indien het starten niet is gelukt krijgen we één van volgende returncodes:cijfers als resultaat
*'''2''', het bestand was niet gevonden;
*'''3''', het opgegeven pad bestaat niet;
*'''11''', het EXE bestand is ongeldig;
*'''-53''', het netwerk-pad is ongeldig.
We hebben hier dus een andere manier om een host-commando uit te voeren. DezeIndien manierwe hebbenzijn weopgeroepen zelfsdoor nodigeen indienprogrammapakket, onzedan hostkunnen nietwe Windowsvia zelfdeze is,methode maartoch nog rechtstreeks een toepassingWindows diecommando onderlaten Windowsuitvoeren draait,zonder wantvia zohet kunnenoproepend weprogramma rechtstreekste met Windowsmoeten pratenrondgaan.
==SysIni - Windows INI bestanden benaderen==
'''SysIni'''([inifile | "<u>WIN.INI</u>"],applicatie,sleutel,waarde,stem)
Deze functie laat een beperkte toegang toe tot INI bestanden, of het Windows register. Variabelen worden verzameld onder hun ''applicatie''-naam en geassocieerde ''sleutels''. Het kan gebruikt worden om gegevens uit te wisselen tussen toepassingen die niet gelijktijdig actief zijn. Wees bijzonder voorzichtig bij het veranderen van bestaande sleutels. Het Windows register kan niet met deze functie worden benaderd. OORexx biedt echter wel methoden om dat te doen, maar daar gaan we pas in het hoofdstuk [[Programmeren in REXX/Een_beetje_OORexx|Een beetje OORexx]] een klein voorbeeld van geven.
 
We kunnen de functie gebruiken om een waarde op te vragen, om er een te zetten of er een te elimineren. Het antwoord van de functie is de opgevraagde waarde, of "" indien het zetten of uitvagen van de waarde is gelukt.
Regel 93:
#'''SysIni([inifile],applicatie,"ALL:","stem")''' om alle sleutels van een applicatie op te vragen. Het resultaat gaat naar de opgegeven stem;
#'''SysIni([inifile],"ALL:","stem")''' om de namen van alle applicaties op te vragen. Het resultaat gaat naar de stem.
Voorbeeld:
call SysIni ,"fonts","ALL:","f"
do i=0 to f.0 ; say f.i ; end
geeft mogelijks:
Arial (TrueType)
Arial Italic (TrueType)
Arial Bold (TrueType)
Arial Bold Italic (TrueType)
Courier New (TrueType)
Courier New Italic (TrueType)
...etc...
zijnde, de geïnstalleerde systeemfonts.
==SysShutdownSystem - het Windows systeem stoppen==
'''SysShutdownSystem([computer][,bericht][,wachttijd][,appsluiten | <u>0</u>][,herstart | <u>0</u>])
Dank zij deze functie kan het Windows systeem worden gestopt. De parameters zijn:
*Computer = de naam van het systeem op afstand. Zonder computernaam wordt het lokaal systeem gestopt;
*Bericht = een bericht naar de gebruiker;
*Wachttijd = de tijd dat het bericht blijft staan;
*Appsluiten = toonals op "1" gezet, toont het niet het bericht "Save unsaved data&nbsp;?"
*Herstart = het systeem wordt herstart als hier 1 wordt opgegeven.
==SysSleep - het programma pauzeren==
Regel 138 ⟶ 125:
* we een eventuele foutcode terugkrijgen en kunnen testen;
* Windows foutberichten niet op het scherm verschijnen, we kunnen er dus zelf één produceren dat duidelijker of vriendelijker kan zijn voor de gebruiker.
WeDe tonenverschillen demaken verschillenwe duidelijk bij de eerstvolgendebespreking van de eerste functie '''SysFileDelete''' hieronder.
 
Maar eerst dit nog: vermits dit functies zijn en geen host-commando's, zal de variabele '''rc''' niet gezet worden. Toch spreekt men vaak over returncode voor deze functies, maar die met dan in de variabele '''result''' gezocht worden. Of, we kunnen het ook als volgt oplossen:
rc = Sysfunctie(parameters)
if rc<>0 then .....
 
==SysFileDelete - een bestand uitvagen==
'''SysFileDelete'''(bestandsnaam)
We mogen geen "wildcards" gebruiken, dus geen *.jpg bijvoorbeeld.
 
We kunnen o.a. volgende returncodescodes in ''result'' krijgen:
*'''0''' Alles OK, bestand is verwijderd;
*'''2''' Bestand is niet gevonden;
Regel 150 ⟶ 142:
*'''26''' Niet een DOS disk;
*'''32''' Sharing violation, bestand op andere computer mag alleen gelezen worden;
*'''36''' Sharing buffer overloop;
 
Laten we het gebruik van deze functie nu eens vergelijken met het rechtstreeks oproepen van het "ERASE" command van Windows:
/* Verschil tussen SysFileErase en ERASE commando */
'ERASE D:\BestandBestaatNiet'
say 'RC='rc
say SysFileDelete('D:\BestandBestaatNiet')
'ERASE D:\DitBestaatWel'
say 'RC='rc
say SysFileDelete('D:\DitBestaatOok')
 
We krijgen het volgende op het scherm:
Kan D:\BestandBestaatNiet niet vinden
RC=0
2 wordt niet herkend als een interne of externe opdracht, programma of batchbestand.
2
RC=0
0 wordt niet herkend als een interne of externe opdracht, programma of batchbestand.
0
De eerste zin is het antwoord op het eerste 'ERASE' commando. ZelfsHier kunnen we nog met dat bericht leven. Maar voor een nietsvermoedende gebruiker is zo'n bericht midden in de uitvoering van een programma niet duidelijk en ook niet leuk om zien. Erger nog, zelfs al mislukte dit commando omdat het bestand er niet is, toch geeft Windows een returncode 0 terug. WeOns wetenprogramma duskan échthet helemaalfoutbericht niet hoeintercepteren en heeft er dus het juistraden zitnaar of de operatie lukte of niet.
 
Bij de daaropvolgende 'SysFileDelete' functie krijgen we enkel een foutcoderare gelijkboodschap. aanWat 2betekent diedat nu&nbsp; nietszeggendWel, opdit hetis schermeen verschijnt,typische maarbeginnersfout. datREXX weinterpreteert normaaldit instatement, onsdus programmavoert gaande opvangenfunctie omuit. erDeze geeft een gepasteresultaat reactiegelijk opaan 2. En dat is geen gekend REXX bevel, interne of externe functie, programma teof voorzienhost-commando.
 
De tweede 'ERASE' geeft ons helemaal nietsgeen tekst te zien (alles verliep OK, maar we zien dat niet). Windows geeften ook hier eenis returncode 0, en we weten dus weer niets meer. De daaropvolgende 'SysFileDelete' geeft ook eende returncode =0, maar daarvan weten we tenminste dat het betekent dat alles naar wens verliep.
 
De daaropvolgende 'SysFileDelete' heeft hetzelfde probleem als de eerste. We moeten dit dus anders schrijven:
/* Verschil tussen SysFileErase en ERASE commando */
'ERASE D:\BestandBestaatNiet'
say 'RC 1 ='rc
call SysFileDelete 'D:\BestandBestaatNiet'
say 'RC 2 ='result
'ERASE D:\DitBestaatWel'
say 'RC 3 ='rc
say 'RC 4 ='SysFileDelete('D:\DitBestaatOok')
We krijgen we:
Kan D:\BestandBestaatNiet niet vinden
RC 1 =0
RC 2 =2
RC 3 =0
RC 4 =0
En we zien dat de SysFileDelete functie ons wel degelijk meer informatie geeft over het wel of niet lukken van de operatie. Het afschrikkend foutbericht krijgen we ook niet, maar ons programma kan aan de hand van de returncode de gebruiker op een vriendelijke manier inlichten.
 
We herhalen ook nogmaals de uiterst belangrijke regel die we in [[Programmeren in REXX/SysteemCmds#Van levensbelang]] hebben aangehaald&nbsp;! '''Codeer alles wat niet variabel is als constante, dus tussen aanhalingstekens.'''
==SysFileCopy - een bestand kopiëren==
'''SysFileCopy'''(bronbestand,doelpad)
Regel 177 ⟶ 188:
Bijvoorbeeld:
call SysFileCopy "c:\temp\myfile.txt","d:\myfolder"
Noteer dat een bestaand bestand wordt overschreven.
==SysFileMove - een bestand verplaatsen==
'''SysFileMove'''(bronbestand,doelpad)
Zelfde opmerkingen als voor '''SysFileCopy'''. Nu wordt het bestand van de oorspronkelijke plaats weggenomen nadat het kopiëren naar de nieuwe plaats is gelukt.
Als het bestand in het doelpad al bestaat, dan krijgen we een resultaat 183.
==SysIsFile - bestaat een bestand&nbsp;?==
'''SysIsFile'''(bestandsnaam)
Regel 192 ⟶ 205:
==SysFileTree - bestanden zoeken==
Veruit de meest gebruikte functie om met bestanden te werken. Het is equivalent aan het DIR commando, maar we krijgen het resultaat rechtstreeks terug in een REXX stem&nbsp;!
'''SysFileTree'''(zoekterm,stem.[,opties | "<u>B</u>"][,tattribuut | "<u>*****</u>"][,nattribuut | "<u>*****</u>"])
De ''zoekterm'' is zoals we met het DIR commando gebruiken, bijvoorbeeld "D:\Fotos\*.jpg". De lijst van de gevonden bestanden wordt in de opgegeven ''stem.'' geplaatst, waarbij de dimensie van de stem, dus het aantal gevonden bestanden, in element 0 wordt gezet.
 
Een combinatie van één of meer van volgende opties kan worden meegegeven:
*'''F''' enkel voor bestanden zoeken ('''F'''iles) zoeken;
*'''D''' enkel naar (sub)mappen zoeken ('''D'''irectories) zoeken;
*'''B''' zowel bestanden als mappen zoeken ('''B'''oth). Dit is de standaard.
*'''S''' zoek recursief, naardus ook in '''S'''ubmappen;
*'''T''' geef ookgeeft '''T'''ijd en datum van de bestanden in de vorm JJ/MM/DD/UU/MM i.p.v. normaal iets als &#171;13/11/05 2:12p&#187;;
*'''L''' geeft de tijd en datum in '''L'''ang formaat: JJJJ-MM-DD UU:MM:SS. (Nuttig omvoor teeen triërensort) ;
*'''O''' geeft enkel de naam van het bestand. Zonder deze optie worden standaard de datum, tijd, grootte, attributen en naam van de bestanden teruggegeven.
 
Voorbeeld:
call SysFileTree "D:\CMD\E*.rex","bestand.","STF"
do i=1 to bestand.0
say bestand.i
end
geeft mogelijks:
09/10/29/17/19 899 A---- D:\CMD\Ebcdic2Ascii.rex
11/02/10/15/08 9057 A---- D:\CMD\ExifTagRoutine.rex
07/10/24/13/44 4008 A---- D:\CMD\ExtractJPG.rex
98/08/10/06/24 2259 A---- D:\CMD\rexxtools\EXEDEMO.REX
Als we de grootte en de attributen van de bestanden niet moeten kennen dan zijn we dus wel beter met de '''L''' optie, want in ons voorbeeld zitten we met een mogelijks jaar-2000 probleempje.
 
En ook hier weer de opmerking dat de naam van de stem waar het resultaat moet inkomen als constante moet worden geschreven. Doen we dat niet dan riskeren we problemen als iemand '''bestand.="Hello"''' gaat schrijven...
 
'''Tattribuut''' bepaalt aan welke attributen het bestand moet voldoen.
Het masker is standaard "*****", waarmee alle bestanden worden teruggegeven. Elke positie in het masker kan echter vervangen worden door een '''+''' of '''-''' om aan te duiden dat het bestand het desbetreffend attribuut verplicht wel of niet moet hebben. De volgorde van de attributen zijn '''''ADHRS''''', namelijk '''A'''rchive, '''D'''irectory, '''H'''idden, '''R'''ead-only en '''S'''ystem.
Dus, "*-+**" zou alle verborgen bestanden zoeken zondermaar degeen mappen (directories).
 
'''Nattribuut''' bepaalt de nieuwe attributen die aan de bestanden moeten worden toegekend. Men kan dus met deze functie attributen van bestanden veranderen. De volgorde van de attributen is weer '''''ADHRS'''' en als er een '''+''' gezet wordt dan wordt het attribuut aangezet. Met een '''-''' wordt het afgezet en met een '''*''' verandert niets aanblijft het desbetreffendattribuut attribuutonveranderd. Dus, een ''nattribuutNattribuut'' gelijk aan "-**+*" zal het archiveer'''A'''rchive attribuut afzetten en de read'''R'''ead-only aanzetten voor alle bestanden die aan de zoekopdracht voldoen. MenEen kanmap maken van een bestand, opja dezedat manierlukt geennatuurlijk map makenniet. De nieuwe attributen wordenzijn onmiddellijk in het resultaatantwoord van de functie teruggegevente zien.
 
Voorbeeld:
call SysFileTree "D:\Fotos\IMG_3*.jpg","bestand.","FOLFO",,"+----"
do i=1 to bestand.0
say bestand.i
end
geeft misschien iets in de aard van:
D:\Fotos\IMG_3223.jpg
D:\Fotos\IMG_3224.jpg
Met de optie ''L'' erbij zouden we krijgen:
2009-12-13 15:07:24 7547847 A---- D:\Fotos\IMG_3223.jpg
2009-12-13 15:10:12 6845771 A---- D:\Fotos\IMG_3224.jpg
==SysGetFileDateTime - datum en tijd van bestand opvragen==
'''SysGetFileDateTime'''(bestandsnaam[,type | "<u>A</u>"])
Met deze functie kunnen - indien het bestandssysteem het toelaat - de verschillende tijden van een bestand (of map) opvragen. Het bestand moet toegankelijk zijn en mag niet in gebruik zijn.
 
Regel 229 ⟶ 253:
*'''A'''ccess - de laatste maal dat het bestand benaderd werd;
*'''W'''rite - de laatste maal dat er naar het bestand is geschreven.
Vergelijk dit met bijvoorbeeld "SysFileTree" waar we enkel de creatiedatum'''A'''ccess tijd terugkrijgen.
==SysSetFileDateTime - een nieuwe datum en/of tijd aan een bestand toekennen==
'''SysSetFileDateTime'''(bestandsnaam[,nieuwe_datum][,nieuwe_tijd])
Regel 263 ⟶ 287:
13 DEVICE=C:\DOS\SETVER.EXE
==SysSearchPath - zoeken naar een bestand in een pad==
'''SysSearchPath'''(pad,bestandsnaam[,optie | "<u>C</u>"])
Deze functie gaat na of het ''bestand'' in het opgegeven ''pad'' aanwezig is. Indien wel, dan wordt de volledige naam van het eerste bestand dat voldoet teruggegeven, en wordt er niet meer verder gezocht. Indien geen bestand is gevonden, dan krijgen we een nullstring terug. Het ''pad'' verwijst hier naar een "omgevingsvariabele" die een lijst van mappen bevat. De typische omgevingsvariabelen hiervoor zijn "PATH" en "DPATH".
 
De ''optie'' geeft aan waar het zoeken moet beginnen:
*'''C''' beginnen van in de huidige map ('''C'''urrent directory) en vervolgens het opgegeven pad. Dit is standaard.
*'''N''' niet in de huidige map beginnen.
Bijvoorbeeld:
Regel 308 ⟶ 332:
=Werken met stems=
==SysStemCopy - een (deel van een) stem kopiëren==
'''SysStemCopy'''(bronstemstem,doelstem[,vanbstart | <u>1</u>][,totdstart | <u>1</u>][,aantal][,<u>I</u> of| O])
Deze functie kopieert elementen van één stem, de ''bronstem'', naar een andere, de ''doelstem''. Het kopiëren begint bij het eerste element, of bij het element met index ''van'' in de bronstem. De elementen gaan naar het eerste element van de doelstem, of het element met index ''tot''. Een ''aantal'' elementen kan opgegeven worden, anders wordt alles tot het einde van de bronstem gekopieerd.
 
Het kopiëren begint bij element ''bstart'' van de bronstem. Dit eerste element gaat naar element met index ''dstart'' van de doelstem. Een ''aantal'' elementen kan opgegeven worden, anders wordt alles tot het einde van de bronstem gekopieerd.
Een laatste parameter kan bepalen dat de elementen van de bronstem moeten worden tussengevoegd ('''I'''nserted), ofwel dat de elementen in de doelstem moeten worden vervangen ('''O'''verlay). Tussenvoegen is de standaardoptie.
 
Een laatste parameter kanbepaalt bepalen datof de elementen van de bronstem als nieuwe elementen moeten worden tussengevoegd ('''I'''nserted)ngevoegd, ofweldan datwel of de elementen invan de doelstem moeten worden vervangen ('''O'''verlay). Tussenvoegen is de standaardoptieverschreven.
Deze functie kan enkel werken met stems waarvan het element nul het aantal bevat, en alle elementen zonder onderbreking opvolgen.
 
Deze functie kan enkel werken met stems waarvan hetde staart een continue getallenreeks is en waarvan element nul het aantal bevat,. enDit is een conventie alledie elementenwe zonderal onderbrekinglang opvolgenkennen.
Een returncode -1 betekent dat er problemen zijn opgetreden.
 
Een returncoderesultaat -1 betekent dat er problemen zijn opgetreden.
 
Voorbeeld:
Regel 321 ⟶ 347:
Call SysStemCopy "bron.","doel."
Call SysStemCopy "bron.","doel.",1,4,2,"I"
EerstIn het eerste geval wordt de doel-stem gelijkgemaakt aan de bron-stem.
 
BijIn dehet tweede operatiegeval voegen we de twee eerste twee elementen van de bron-stem tussen na het vierde element van dehet doel-stem,. In dit concrete voorbeeld is dat dus aan het eindeinde van de doel-stem in dit geval. Als we nu de elementen van de doel-stemdoelstem lijsten, dan bekomen we:
Dit
is
Regel 329 ⟶ 356:
is
==SysStemDelete - elementen uit een stem nemen==
'''SysStemDelete'''(stem,start[,aantal | <u>1</u>])
Deze functie elimineert één element, of een ''aantal'' elementen van de ''stem'' vanaf dat met index ''start''.
 
Ook deze bewerking kan alleen op stems met numerieke indexen worden uitgevoerd. Na het elimineren van de elementen wordt de stem gecompacteerd, t.t.z. de indexen worden terug opeenvolgend gemaakt.
Regel 337 ⟶ 364:
Deze functie voegt een nieuw element met ''index'' toe aan de ''stem'' en geeft het een ''waarde''. De volgende elementen worden opgeschoven, dus hun indexnummers worden met één verhoogd.
==SysStemSort - een stem sorteren==
'''SysStemSort'''(stem[,volgorde"D" | "<u>A</u>"][,hoofdlettergevoeligheid"C" | "<u>I</u>"][,start | <u>1</u>][,einde | <u>stem.0*</u>][,beginkolom | <u>1</u>][,eindkolom | <u>*</u>])
De elementen van de stem (met numerieke indexen) worden geordend. Dit kan in oplopende of aflopende volgorde gebeuren ('''A'''scending) of aflopende ('''D'''escending) volgorde gebeuren. "A" is de standaardkeuze.
 
Bij hetHet sorteren kan wel of niet hoofdlettergevoelig zijn ('''C'''ase sensitive) of niet (case '''iI'''nsensitive) hoofdlettergevoelig zijn.
Het sorteren begint bij het element met index ''start'' en eindigt bij het element met index ''einde''. DeHet kolommensorteren diegebeurt worden gesorteerd gaan vanaftussen de ''beginkolom'', toten de ''eindkolom''. Als(of devolledige laatste vier parameters niet zijn opgegeven krijgen ze de standaardwaarde 1 voor ''start'', stem.0 voor ''einde'', 1 voor ''beginkolom'' en de laatste kolom van een element voor ''eindkolom''breedte).
<!--------------------------------------------------------------------------------------------->
=Andere nuttige functies=
==RxMessageBox - Een bericht in een kadertje==
'''RxMessageBox'''(text[,titel][,knoppen | "<u>OK</u>"][,icoontje])
Met deze functie kunnen we op een eenvoudige wijze een popup-schermpje maken waarin we een bericht kunnen tonen. Dit is vooral nuttig indien ons programma niet vanuit de opdrachtprompt is opgeroepen, maar door een link in het startmenu of een icoon op de desktop. Een '''say''' werkt dan niet omdat er geen scherm is waar het te tonen.
 
Regel 351 ⟶ 378:
De mogelijke knoppen zijn:
*'''NONE''' (geen knop voorzien):
*'''OK''' - een knop met de tekst "OK" voorzien. Dit is de standaard;
*'''OKCANCEL''' - twee knoppen, een met "OK" en een met "CANCEL";
*'''RETRYCANCEL''' - de knoppen "RETRY" en "CANCEL";
Regel 357 ⟶ 384:
*'''YESNO''' - de knoppen "YES" en "NO";
*'''YESNOCANCEL''' - drie knoppen, "YES", "NO" en "CANCEL";
Een tekst op de knoppen kan niet vertaald worden. MaarOORexx er zijn andere mogelijkheden indien OORexxbiedt wordtdie gebruikt.mogelijkheid Wewel, zullenwe zebespreken bestuderendat in het hoofdstuk [[Programmeren in REXX/OORexx|Een beetje OORexx]].
 
De mogelijke icoontjes zijn:
Regel 370 ⟶ 397:
*'''ERROR''' - een foutteken.
 
De gebruiker krijgt de mogelijkheid te kiezen tussen verschillende toetsen (naargelang de opgegeven parameters)knoppen. Het gebruik van een bepaalde toets genereert een overeenkomstigeovereenkomstig returncoderesultaat:
*'''1''' OK knop;
*'''2''' CANCEL knop (of Esc-toets);
Regel 377 ⟶ 404:
*'''5''' IGNORE knop;
*'''6''' YES knop;
*'''7''' NO knop;
Voorbeeld:
if RxMessageBox("Gaan we verder&nbsp;?","Vraagje","OKCANCEL","QUESTION")<>1 then exit
 
==SysDumpVariables - programmavariabelen lijsten==
'''SysDumpVariables'''([doel])
Regel 385 ⟶ 415:
Handig om te debuggen natuurlijk.
 
Hiermee beëindigen we hetde hoofdstukbeschrijving datvan de functies vanuit het RexxUtil pakket beschrijft. Er zijn minstens nog eens zoveel functies in dit pakket. We raden aan van er de documentatie eens op na te slaan om tede weten welkeandere functies erte nogleren bestaankennen. Deze opmerking geldt evenzeernatuurlijk ook voor functiepakketten die bij andere implementaties van REXX zijn meegeleverd.
{{75%}}
{{sub}}
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.