DEFINITION MODULE Requester; (*$ LargeVars:=FALSE *) (* Nur ab Version 36 benutzen, Abfrage bei Programmbeginn!! *) FROM SYSTEM IMPORT ADDRESS; IMPORT IntuitionD, R; CONST (* Rückgabewerte von YNCRequest: *) yes=1; no=2; cancel=0; (* * Setzt myProcess^.windowPtr auf win. * Damit landen nun ALLE Requester auf dem zugehörigen Screen * NIL bedeutet Workbench (oder Default Public Screen). * -1 bedeutet, daß alle Requester unterdrückt werden und * FALSE bzw. CANCEL zurückliefern. * Dies gilt auch für System-Requester! * Jeder, der Requster-Module schreibt, sollt esich an diese * Konventionen halten!! *) PROCEDURE SetWindow(win{R.A0}:IntuitionD.WindowPtr); (* * Stellt Window-Zustand bei Programmstart wieder her. * Ist auch CLOSE-Procedure. *) PROCEDURE RestoreWindow; (* Der Titel des Requesters ist jeweils der Arts.programName! *) (* Allgemeiner, vielseitiger Requester *) (* Result = gadgets von links=1, 2, 3 usw. ganz rechts =0 *) PROCEDURE Request( text:ARRAY OF CHAR; (* Zeilen durch "\n" getrennt *) gadgets:ARRAY OF CHAR; (* Gadgets durch "|" getrennt *) args:ADDRESS (* args für text und gadgets %d %lx %s etc *) ):INTEGER; (* Das meistgebrauchte: * Bringt YES=1 NO=2 CANCEL=0 *) PROCEDURE YNCRequest(frage:ARRAY OF CHAR (* kann mehrere Zeilen enthalten! *) ):INTEGER; (* * Zur einfachen Anzeige von Meldungen. * Bringt nur ein Gadget: OK *) PROCEDURE OKRequest(msg:ARRAY OF CHAR); (* s.o *) END Requester.