 
 AES
AES
 Applikationsfunktionen
Applikationsfunktionen
 Druckdialoge
Druckdialoge
Die Funktionen dieser Bibliothek stellen eine Dateiauswahl zur Verfügung, mit deren Hilfe sich Dateien laden bzw. abspeichern lassen. Für diesen Zweck sind die folgenden Routinen vorhanden:
| • fsel_boxinput | Dateinamen per File-Selektor auswählen (Boxkite) | 
| • fsel_exinput | Dateinamen per File-Selektor auswählen | 
| • fsel_input | Dateinamen per File-Selektor auswählen | 
| • x_fsel_input | Dateinamen per File-Selektor auswählen (Geneva) | 
Hinweis: Leider werden alternative Dateisysteme (Stichwort: lange Dateinamen) nicht unterstützt; ab MagiC 4 wird dies jedoch von den Funktionen der FSLX-Library übernommen.
Querverweis: Fileselektoren Style-Guidelines
| Name: | »File Selection Extended Input« - selektiert Dateinamen. | ||||||||||||||||||||
| AES-Nummer: | 91 | ||||||||||||||||||||
| Deklaration: | int16_t fsel_boxinput ( int16_t *global, int8_t *fs_einpath,
int8_t *fs_einsel, int16_t *fs_eexbutton, int8_t *elabel,
FSEL_CALLBACK callback ); | ||||||||||||||||||||
| Beschreibung: | Die Funktion stellt eine Dateiauswahlbox zur Verfügung, der
auch ein Titel-String übergeben werden kann. Es handelt sich hierbei um
eine erweiterte Version der Dateiauswahl BoxKite. Der Funktion werden folgende Parameter übergeben: 
 Hinweis: BoxKite stellt ab Version 2.00 auch die Funktionen der MagiC 4 Dateiauswahl zur Verfügung. Das Vorhandensein dieser Funktionen kann per appl_getinfo (Opcode 7) festgestellt werden. | ||||||||||||||||||||
| Ergebnis: | Der Rückgabewert der Funktion (0 = Fehler) sollte unbedingt
beachtet werden, da z.B. bei Speichermangel kein Fileselektor mehr
benutzt werden kann. | ||||||||||||||||||||
| Verfügbar: | Wenn der BoxKite ab Version 1.71 installiert ist. Dazu kann der
Cookie HBFS auf des vorhandensein geprüft werden. Allerdings ist
dieser auch schon vor der Version 1.71 vorhanden. | ||||||||||||||||||||
| Gruppe: | Dateiauswahl | ||||||||||||||||||||
| Querverweis: | Binding   XFS-Konzept in MagiC | 
| C: | /* Prototyp des Message-Handlers. */ typedef void cdecl (* FSEL_CALLBACK)(int16_t *msg); int16_t fsel_boxinput ( int16_t *global, int8_t *fs_einpath, int8_t *fs_einsel, int16_t *fs_eexbutton, int8_t *elabel, FSEL_CALLBACK callback ); | ||||||||||||||||||||||||||||||||||||
| Umsetzung: | int16_t fsel_boxinput ( int16_t *global, int8_t *fs_einpath, int8_t *fs_einsel, int16_t *fs_eexbutton, int8_t *elabel, FSEL_CALLBACK callback ) { void *aespb[6], *addrin[6], *addrout[6]; int contrl[5], intin[16], intout[7]; aespb[0] = contrl; aespb[1] = global; aespb[2] = intin; aespb[3] = intout; aespb[4] = addrin; aespb[5] = addrout; contrl[0] = 91; contrl[1] = 0; contrl[2] = 2; contrl[3] = 4; contrl[4] = 0; addr_in[0] = fs_einpath; addr_in[1] = fs_einsel; addr_in[2] = elabel; addr_in[3] = callback; _crystal((AESPB *)aespb); *fs_eexbutton = int_out[1]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||
| GEM-Arrays: | 
 | 
Achtung BoxKite benötigt Informationen aus dem 'global'-Array der Hauptapplikation. Die mitgelieferten GEM-Bindings von Entwicklungssystemen übergeben dieses normalerweise automatisch.
| Name: | »File Selection Extended Input« - selektiert Dateinamen. | ||||||||||||||||||
| AES-Nummer: | 91 | ||||||||||||||||||
| Deklaration: | int16_t fsel_exinput ( int8_t *fs_einpath, int8_t *fs_einsel,
int16_t *fs_eexbutton, int8_t *elabel ); | ||||||||||||||||||
| Beschreibung: | Die Funktion stellt eine Dateiauswahlbox zur Verfügung, der
auch ein Titel-String übergeben werden kann. 
 Der Funktion werden folgende Parameter übergeben: 
 Hinweis: Die Funktion sollte mit wind_update (BEG_MCTRL bzw. END_MCTRL) geschachtelt werden, um zu verhindern, daß Doppelklicks an darunter liegende Fenster weitergereicht werden. | ||||||||||||||||||
| Ergebnis: | Der Rückgabewert der Funktion (0 = Fehler) sollte unbedingt
beachtet werden, da z.B. bei Speichermangel kein Fileselektor mehr
benutzt werden kann. | ||||||||||||||||||
| Verfügbar: | Diese Funktion ist erst ab AES 1.4 verfügbar. This is also present in FreeGEM. To check for this feature, use appl_init and check that xbuf.arch is nonzero. | ||||||||||||||||||
| Gruppe: | Dateiauswahl | ||||||||||||||||||
| Querverweis: | Binding   fsel_input   XFS-Konzept in MagiC | 
| C: | int16_t fsel_exinput ( int8_t *fs_einpath, int8_t *fs_einsel,
int16_t *fs_eexbutton, int8_t *elabel ); | |||||||||||||||||||||||||||||||||
| Umsetzung: | int16_t fsel_exinput (int8_t *fs_einpath, int8_t *fs_einsel, int16_t *fs_eexbutton, int8_t *elabel) { addr_in[0] = fs_einpath; addr_in[1] = fs_einsel; addr_in[2] = elabel; crys_if (91); *fs_eexbutton = int_out[1]; return ( int_out[0] ); } | |||||||||||||||||||||||||||||||||
| GEM-Arrays: | 
 | 
| Name: | »File Selection Input« - selektiert Dateinamen. | ||||||||||||||||
| AES-Nummer: | 90 | ||||||||||||||||
| Deklaration: | int16_t fsel_input ( int8_t *fs_iinpath, int8_t *fs_iinsel,
int16_t *fs_iexbutton ); | ||||||||||||||||
| Beschreibung: | Die Funktion stellt eine Dateiauswahlbox zur Verfügung. Es
gilt: 
 Hinweis: Die Funktion sollte mit wind_update (BEG_MCTRL bzw. END_MCTRL) geschachtelt werden, um zu verhindern, daß Doppelklicks an darunter liegende Fenster weitergereicht werden. In AES-Versionen kleiner als 1.4 können übrigens nur maximal 100 Dateien angezeigt werden; dort wird dann mit einem 'Ping'-Geräusch gewarnt, wenn nicht alle Dateien angezeigt werden konnten. | ||||||||||||||||
| Ergebnis: | Der Rückgabewert der Funktion (0 = Fehler) sollte unbedingt
beachtet werden, da z.B. bei Speichermangel kein Fileselektor mehr
benutzt werden kann. | ||||||||||||||||
| Verfügbar: | All AES versions, not present in ViewMAX/3, and will crash
ViewMAX/2. | ||||||||||||||||
| Gruppe: | Dateiauswahl | ||||||||||||||||
| Querverweis: | Binding   fsel_exinput   XFS-Konzept in MagiC | 
| C: | int16_t fsel_input ( int8_t *fs_iinpath, int8_t *fs_iinsel,
int16_t *fs_iexbutton ); | ||||||||||||||||||||||||||||||
| Umsetzung: | int16_t fsel_input (int8_t *fs_iinpath, int8_t *fs_iinsel, int16_t *fs_iexbutton) { addr_in[0] = fs_iinpath; addr_in[1] = fs_iinsel; crys_if (90); *fs_iexbutton = int_out[1]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||
| GEM-Arrays: | 
 | 
| Name: | »Extended file selector« | ||||||||||||||||||||||
| AES-Nummer: | 28960 | ||||||||||||||||||||||
| Deklaration: | int16_t x_fsel_input( int8_t *inpath, int16_t pathlen, int8_t
*files, int16_t sels, int16_t *exbutton, int8_t *label ); | ||||||||||||||||||||||
| Beschreibung: | 
 This function is similar to fsel_exinput, but has several extensions: 
 | ||||||||||||||||||||||
| Ergebnis: | 0 = Ein Fehler ist aufgetreten. | ||||||||||||||||||||||
| Verfügbar: | Die Funktion steht nur unter Geneva zur Verfügung. | ||||||||||||||||||||||
| Gruppe: | Dateiauswahl | ||||||||||||||||||||||
| Querverweis: | Binding | 
| C: | int16_t x_fsel_input( int8_t *inpath, int16_t pathlen, int8_t
*files, int16_t sels, int16_t *exbutton, int8_t *label ); | |||||||||||||||||||||||||||||||||||||||
| Umsetzung: | int16_t x_fsel_input( int8_t *inpath, int16_t pathlen, int8_t *files, int16_t sels, int16_t *exbutton, int8_t *label ) { int_in[0] = pathlen; int_in[1] = sels; addr_in[0] = inpath; addr_in[1] = files; addr_in[2] = label; crys_if(28960); *exbutton = int_out[1]; return ( int_out[0] ); } | |||||||||||||||||||||||||||||||||||||||
| GEM-Arrays: | 
 | 
 
 AES
AES
 Applikationsfunktionen
Applikationsfunktionen
 Druckdialoge
Druckdialoge