4IBM ^qph -----E-COPY-----(c) 1991, 92 bei Robert Weiss Dorfstr. 5 8401 Gralfing Tel 09405-6185 EMail (Mausnetz)Robert Weiss @ R----------------4!O%`')+-1 O79;=?AC@E`GKMO/S@U`Y[]a c@e`gkmq s@u`w{  @ ` O ` @ ǀ ɠ ` @ @`!a   !Aa!!#A')+-/13A5a79=ACAIMQOUaWYaikmoq!sAwy{!A!Aa!Aa!Aa!Aaǁɡ!Oaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"')"-"/#1"#3B#5b#7#9#I$K$M%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&oq"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b...../"/B/b/////0#0C0c00 0 0 01#1C11!O%`')+-1 O79;=?AC@E`GKMO/S@U`Y[]a c@e`gkmq s@u`w{  @ ` O ` @ ǀ ɠ ` @ @`!a   !Aa!!#A')+-/13A5a79=ACAIMQOUaWYaikmoq!sAwy{!A!Aa!Aa!Aa!Aaǁɡ!Oaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"')"-"/#1"#3B#5b#7#9#I$K$M%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&oq"'sB'ub'w'y'{'}'("(B(b((((()")B)b)))))*"*B*b*****+"+B+b+++++,",B,b,ǂ,ɢ,,,-"-B-b-ׂ-٢---.".B.b...../"/B/b/////0#0C0c00 0 0 01#1C11PASKUD IH$READ_ME TXT 5DEMO_C PRG2H$LATTICE C #H$PURE PAS*H$*************************************** * ATARI ST/STE/MEGA STE/TT/FALCON * * * * - MIDI * * - MUZYCZNE * * - UZYTKI, DTP * * - GRAPHISC * * - GRY * * - DEMOSY, KODY ZRODLOWE * * i co ci na mysl przyjdzie * * prosto z Holandii * * najwiecej programow do FALCONA * * na Slasku * * * * PASKUD & TL SOFT * * Katowice sobota: Dom zwiazkow L1,L2 * * niedziela: Baildon 70,71 * * tel. (0-3)187-94-32 * *************************************** do zobaczenia przy nowym programie ! . H$.. H$ADDRESS 2H$AUF_AB 3H$DEPEND 4H$DIR 4H$HELLO <H$INPUT 5H$ MENUE 5H$ OWN_DESK 6H$ PIANO 7H$ PLOT 7H$ PROTO 8H$REZEPT =H$RSCOM 8H$SCHIEBER 9H$USERDEF :H$USLIDER ;H$EXAMPLESDOC ;n. H$.. H$ADDRESS ACS 6dY,ADDRESS AH 7d#.ADDRESS C 26&,ADDRESS DOC 8d3ADDRESS H 6d"ADDRESS PRJ 5DEMO ADB 7d/. H$.. H$AUF_AB ACS :dJ AUF_AB AH 9dBAUF_AB C <QAUF_AB DOC :dIAUF_AB H 9dHAUF_AB PRJ ̅P-. H$.. H$DEPEND ACS REZEPT AH Va;g5REZEPT C ovREZEPT H Ua;fREZEPT PRJ ݠeREZEPT RZP un. H$.. H$RSCOM ACS l-RSCOM AH l<RSCOM C }#RSCOM H lURSCOM PRJ TEST RS ]d. H$.. H$SCHIEBERC ;SCHIEBERPRJ :VSLID C fd2pSLID H dd&.SLIDER ACS ed($SLIDER AH bdQSLIDER H cd%. H$.. H$USER ACS dBUSER AH d?(USER C G4 USER DOC dFeUSER H d>USER PRJ "E. H$.. H$USLIDER ACS dL' USLIDER AH dOUSLIDER C SUSLIDER H dKUSLIDER PRJ (R. H$.. H$ACS LIB ^;+ACSPLUS LIB ^;PACS_LOADO ^;( ADDRESS PRJ h^;+AES H ^;,:AUF_AB PRJ i^;;DEPEND PRJ k^;<DESK PRJ m^;=DIGI_UHRPRJ o^;>DIR PRJ ^;?HELLO PRJ s^;@MENUE PRJ u^;APIANO PRJ w^;BRECHNER PRJ x^;CSCHIEBERPRJ z^;DUHR PRJ |^;EUSER PRJ ^;FUSLIDER PRJ ^;GVIEWKEY AM q^;H\VIEWKEY PRJ ^;N. H$.. H$ACS PAS ^;OPPACS LIB ^;ppREADME PP ^;WWRITELNPAS ^; .ACS8v9XmJ !%#X"ACS 1.0d ACS ACCESSORYO3oS8m0x11101LJ(*Al ljADDRESS010abc$^_Ctx]8V'$kAD_1DONTSW nkAD_1HOBBYre Tn TastkBAD_1IDEA@ `nSTRIjAD_2DONTS'V`jAD_2HOBBY'V`jdAD_2IDEA8'W8`j AD_BIRTHDAY}@ i AD_FIRSTere T_n Tasti AD_FIRSTNAMEe6Ani< AD_INDEX Kn Optioneh AD_LASThAD_LASTNAMENDEX:Ȕne6h^AD_NEXT Info ^ItnhAD_PHONEx}@ gAD_PLZx}@ gAD_PREVx}4 g6AD_STREETEfAD_TOWNfALERT LISTEfXA_innerframehu\zx~DfDATA LIST_@  DETAIL001012345678901234567890_j5_ 3 2  (3&#&#4  &# 9 &# 5  &#&#3 +', &#-&#.&#0'/*1)_F_FENSTER_C^_&FRAME_002J(*D^ICON LISTE^HIMAGE LISTE]MAUS LISTE]]MEN LISTE$]T]NULL_STRING`<|f|~>~<> \]H OBJEKT LISTE?\!POPUP LISTE\2\|"00REFERENZENYZ[\]^_`ab[,[v#STRING LISTE,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWTT\$TASKS01ff`ff`ff0f`ffZZ  H Q  L P   F  G         IbK\ J  S ^2T Y R _1  N[ MZO`PaWSS%TEDI LISTE&'()*+S:S&TEDINFO_001v l~gff lfg 678$$RS'TEDINFO_002P :;<R^R(TEDINFO_003^^hc=>? QR:)TEDINFO_004  @ABQQ*TEDINFO_005xCDEQQ^+TEDINFO_006UPQ, TEXT_001@@10Vorname:P`P-TEXT_002Name:PPP.TEXT_003Strae:OO/TEXT_004fOrt:OVO0TEXT_005W<x}@PLZ:NOH1TEXT_006ere Tn TastTel:H2 TEXT_007XXXXXXXXXXXXXXXXXXXXXXXGeburtstag:j3 TEXT_008ere Tn TastHobbies: V4 TEXT_009ere Tvn TastGeschenk- :5 TEXT_010ere Tn TastAbneigungen:66$$TEXT_011uT12345678901234567890123456789012345 7$$TEXT_012___________________________________J8$$TEXT_013XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<9TEXT_014nXXXXXX^DIdeen:TEXT_015ere Tn TastW1234@;TEXT_016^x}@_-____2<TEXT_017x}%ANNNN=TEXT_018"1212122|> TEXT_019$$^^h__-__-__"?TEXT_020$$^^hNNNNNNx@TEXT_021jx0703112345678^ATEXT_022x_____ / ________BTEXT_023(PNNNNNNNNNNNNNBCTEXT_024@@0123456789012345678901234567890DTEXT_025A0______________________________^ETEXT_026]`vXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@FTEXT_027 ber mich ... GTEXT_0280--------------------4~HTEXT_029  Datei ITEXT_030ere TXn Tast Speichern ^SpJTEXT_031ere Tn Tast---------------XKTEXT_032e Tn Tasten Beende ^LL TEXT_033x Position PMTEXT_034M@@1p Erster ^A:NTEXT_035|x Letzter ^EOTEXT_036 Nchster ^N0zPTEXT_037x Voriger ^VQ TEXT_038x}4 Aktion tR TEXT_039ere Tn Tast Neu N^S TEXT_040UU ndern MT TEXT_041Lx Lschen DZUTEXT_042n Tasten Kx 1234 FV TEXT_043 Adressen WTEXT_044--------------DXUSERBLK LISTEYad_deletere T@n TastZad_firstere TԔn Tastf[ad_last\ad_leaveUUUUUUUUUUUU~]ad_make_____LAD_PREV90~^ad_modifyp~>_ad_newx}4 }`ad_nextiere Tn Tast}aad_prevUCHn OKn bad_save 8% H | @&dk0 9FU; 0[-CK $ fI Px^ _=< HP_Eg !N8 z0@>@$@z @BB z @']B@  PlBx`8'AXy&-C+p4 VPqBA@ƄQBP *!u@0c%RGZ 48@L-H, )$$%Im-$ v .(P HBhÄ9I !˄|# P/A&0t@ h@n>S%9@LE бk \iMC$=DA)`} set) (&aud, width, height); abort (); } static void trans (void) /* * Transparent */ { long* b; b = &ev_object [EXAMPLE]. ob_spec. userblk-> ub_parm; *b &= 0xfffffffbL; update (); }/* Beispielapplikation fr ACS "Addressdatenbank" 27.9.91 Stefan Bachert */ #include #include #include #include #include #include static void ad_save (void); static void ad_leave (void); static void ad_next (void); static void ad_prev (void); static void ad_first (void); static void ad_last (void); static void ad_new (void); static void ad_modify (void); static void ad_delete (void); static Awindow *ad_make (void *x); static INT16 ad_service (Awindow *window, INT16 task, void *in_out); #include /* * User Struktur */ #define LENGTH (35) #define PLZ (5) #define TOWN (30) #define PHONE (13) #define BIRTHDAY (6) typedef struct { /* der Eintrag */ char firstname [LENGTH + 1]; char lastname [LENGTH + 1]; char street [LENGTH + 1]; char plz [PLZ + 1]; char town [TOWN + 1]; char phone [PHONE + 1]; char birthday [BIRTHDAY + 1]; char hobby [LENGTH + LENGTH + 1]; char idea [LENGTH + LENGTH + 1]; char dont [LENGTH + LENGTH + 1]; } RECORD; typedef struct pts { /* die Verzeigerung der Eintrge */ struct pts *next; struct pts *prev; RECORD *record; } LINK; typedef struct { /* user struktur */ INT16 n; INT16 act_index; LINK *act; /* aktueller Zeiger */ LINK *first; LINK *last; char path [80]; /* dateinamen */ } AD_DB; static char path [80]; /* letzter Pfad */ static char *fileselect (void) /* * Hole Filenamen */ { char *p; INT16 button; char file [16]; p = strrchr (path, '\\'); /* select entfernen */ *(p + 1) = '\0'; strcat (path, "*.ADB"); /* ADB suchen */ file [0] = '\0'; Aev_unhidepointer (); /* Zeiger wieder sichtbar */ if (fsel_input (path, file, &button) == 0 || button == 0 || file [0] == '\0') { return NULL; }; if (strlen (file) == 9) { /* 8 + . doch extension anhngen */ if (*(file + 8) == '.') strcat (file, "ADB"); }; if (strchr (file, '.') == NULL) { /* hnge extension an */ strcat (file, ".ADB"); }; p = strrchr (path, '\\'); /* select entfernen */ strcpy (p + 1, file); return path; } static void ad_set (Awindow *window) /* * Setze Werte */ { static RECORD proto = { "", "", "", "W", "", "0", "", "", "", ""}; AD_DB *user; RECORD *record; OBJECT *work; user = window-> user; work = window-> work; if (user-> act == NULL) { record = &proto; } else { record = user-> act-> record; }; sprintf (work [AD_INDEX]. ob_spec. tedinfo-> te_ptext, " %d ", user-> act_index); strcpy (work [AD_FIRSTNAME]. ob_spec. tedinfo-> te_ptext, record-> firstname); strcpy (work [AD_LASTNAME]. ob_spec. tedinfo-> te_ptext, record-> lastname); strcpy (work [AD_STREET]. ob_spec. tedinfo-> te_ptext, record-> street); strcpy (work [AD_PLZ]. ob_spec. tedinfo-> te_ptext, record-> plz); strcpy (work [AD_TOWN]. ob_spec. tedinfo-> te_ptext, record-> town); strcpy (work [AD_PHONE]. ob_spec. tedinfo-> te_ptext, record-> phone); strcpy (work [AD_BIRTHDAY]. ob_spec. tedinfo-> te_ptext, record-> birthday); strncpy (work [AD_1HOBBY]. ob_spec. tedinfo-> te_ptext, record-> hobby, LENGTH); strcpy (work [AD_2HOBBY]. ob_spec. tedinfo-> te_ptext, record-> hobby + LENGTH); strncpy (work [AD_1IDEA]. ob_spec. tedinfo-> te_ptext, record-> idea, LENGTH); strcpy (work [AD_2IDEA]. ob_spec. tedinfo-> te_ptext, record-> idea + LENGTH); strncpy (work [AD_1DONTS]. ob_spec. tedinfo-> te_ptext, record-> dont, LENGTH); strcpy (work [AD_2DONTS]. ob_spec. tedinfo-> te_ptext, record-> dont + LENGTH); Awi_diaend (); /* Textcursor entfernen */ (window-> obchange) (window, 0, window-> work-> ob_state); /* update */ Awi_diastart (); } static void ad_get (Awindow *window) /* * bernehme Werte */ { AD_DB *user; RECORD *record; OBJECT *work; user = window-> user; work = window-> work; record = user-> act-> record; strcpy (record-> firstname, work [AD_FIRSTNAME]. ob_spec. tedinfo-> te_ptext); strcpy (record-> lastname, work [AD_LASTNAME]. ob_spec. tedinfo-> te_ptext); strcpy (record-> street, work [AD_STREET]. ob_spec. tedinfo-> te_ptext); strcpy (record-> plz, work [AD_PLZ]. ob_spec. tedinfo-> te_ptext); strcpy (record-> town, work [AD_TOWN]. ob_spec. tedinfo-> te_ptext); strcpy (record-> phone, work [AD_PHONE]. ob_spec. tedinfo-> te_ptext); strcpy (record-> birthday, work [AD_BIRTHDAY]. ob_spec. tedinfo-> te_ptext); strcpy (record-> hobby, work [AD_1HOBBY]. ob_spec. tedinfo-> te_ptext); strcpy (record-> hobby + LENGTH, work [AD_2HOBBY]. ob_spec. tedinfo-> te_ptext); strcpy (record-> idea, work [AD_1IDEA]. ob_spec. tedinfo-> te_ptext); strcpy (record-> idea + LENGTH, work [AD_2IDEA]. ob_spec. tedinfo-> te_ptext); strcpy (record-> dont, work [AD_1DONTS]. ob_spec. tedinfo-> te_ptext); strcpy (record-> dont + LENGTH, work [AD_2DONTS]. ob_spec. tedinfo-> te_ptext); } static void ad_save (void) /* * Sichern */ { AD_DB *user; FILE *file; LINK *link; user = ev_window-> user; file = fopen (user-> path + 1, "w+"); if (file == NULL) return; link = user-> first; while (link != NULL) { if (1 != fwrite (link-> record, sizeof (RECORD), 1, file)) { break; /* fehler */ }; link = link-> next; }; fclose (file); } static void ad_next (void) /* * nchster Eintrag */ { AD_DB *user; LINK *link; user = ev_window-> user; link = user-> act; if (link == NULL) return; /* leer */ if (link-> next == NULL) return; /* letzter */ user-> act_index ++; user-> act = link-> next; ad_set (ev_window); } static void ad_prev (void) /* * voriger Eintrag */ { AD_DB *user; LINK *link; user = ev_window-> user; link = user-> act; if (link == NULL) return; /* leer */ if (link-> prev == NULL) return; /* erster */ user-> act_index --; user-> act = link-> prev; ad_set (ev_window); } static void ad_first (void) /* * erster Eintrag */ { AD_DB *user; LINK *act; user = ev_window-> user; act = user-> act; if (act == NULL) return; /* leer */ if (act-> prev == NULL) return; /* erster */ user-> act_index = 1; user-> act = user-> first; ad_set (ev_window); } static void ad_last (void) /* * letzter Eintrag */ { AD_DB *user; LINK *act; user = ev_window-> user; act = user-> act; if (act == NULL) return; /* leer */ if (act-> next == NULL) return; /* letzter */ user-> act_index = user-> n; user-> act = user-> last; ad_set (ev_window); } static void ad_new (void) /* * neuer Eintrag */ { AD_DB *user; LINK *act, *new; RECORD *record; Awindow *window; window = ev_window; user = window-> user; new = Ax_malloc (sizeof (LINK)); if (new == NULL) return; record = Ax_malloc (sizeof (RECORD)); if (record == NULL) return; act = user-> act; new-> record = record; user-> act = new; user-> act_index ++; user-> n ++; new-> prev = act; if (act == NULL) { /* erster Eintrag */ user-> first = new; user-> last = new; new-> next = NULL; } else { new-> next = act-> next; act-> next = new; if (new-> next != NULL) { new-> next-> prev = new; } else { user-> last = new; }; }; ad_get (window); sprintf (window-> work [AD_INDEX]. ob_spec. tedinfo-> te_ptext, " %d ", user-> act_index); (window-> obchange) (window, AD_INDEX, window-> work [AD_INDEX]. ob_state); } static void ad_modify (void) /* * bernehme den Wert */ { ad_get (ev_window); } static void ad_delete (void) /* * Lsche Wert */ { AD_DB *user; LINK *act, *p, *n; user = ev_window-> user; act = user-> act; if (act == NULL) return; /* keine Eintrge */ p = act-> prev; n = act-> next; if (p == NULL) { /* Erster */ user-> first = n; } else { p-> next = n; }; if (n == NULL) { /* letzter */ user-> last = p; user-> act = p; user-> act_index --; } else { user-> act = n; n-> prev = p; }; user-> n --; Ax_free (act-> record); Ax_free (act); ad_set (ev_window); } static void load (Awindow *window) /* * Lade Datei */ { AD_DB *user; FILE *file; LINK *link, *prev; RECORD *record; user = window-> user; user-> n = user-> act_index = 0; user-> act = user-> first = user-> last = NULL; file = fopen (user-> path + 1, "r"); if (file == NULL) return; prev = NULL; do { record = Ax_malloc (sizeof (RECORD)); if (record == NULL) break; link = Ax_malloc (sizeof (LINK)); if (link == NULL) break; if (1 != fread (record, sizeof (RECORD), 1, file)) { break; /* fehler */ }; user-> n ++; link-> record = record; if (prev == NULL) { /* erster */ user-> first = link; } else { prev-> next = link; }; link-> prev = prev; prev = link; } while (! feof (file)); if (user-> n == 0) return; prev-> next = NULL; user-> last = prev; user-> act_index = 1; user-> act = user-> first; fclose (file); } static Awindow *ad_make (void *not_used) /* * Erzeuge Fenster */ { Awindow *wi; AD_DB *user; char *p; p = fileselect (); /* dateinamen */ if (p == NULL) return NULL; user = Ax_malloc (sizeof (AD_DB)); /* benutzerobjekt */ if (user == NULL) return NULL; *user-> path = ' '; strcpy (user-> path + 1, p); /* kopiere Space vorne dran */ ADDRESS. info = user-> path; /* wird dann mit dupliziert */ wi = Awi_create (&ADDRESS); /* erzeuge */ if (wi == NULL) return NULL; wi-> user = user; load (wi); /* lade diese Datei */ ad_set (wi); (wi-> open) (wi); /* ffne gleich */ return wi; } static void term (Awindow *window) /* * Gebe alles wieder frei */ { AD_DB *user; LINK *link, *temp; user = window-> user; /* Db freigeben */ link = user-> first; while (link != NULL) { temp = link-> next; Ax_free (link-> record); /* eintrag */ Ax_free (link); /* Zeiger */ link = temp; }; Ax_free (window-> user); Awi_delete (window); } static void ad_leave (void) /* * Term */ { term (ev_window); } static INT16 ad_service (Awindow *window, INT16 task, void *in_out) /* * Service routine */ { switch (task) { /* welche Routine */ case AS_TERM: term (window); break; default: return FALSE; /* kein Wert */ }; return TRUE; /* wurde durchgefhrt */ } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt eine neue Datenbank */ { Awindow *window; path [0] = 'A' + Dgetdrv (); /* aktuelles Laufwerk ermitteln */ path [1] = ':'; Dgetpath (path + 2, 0); /* aktueller Pfad */ if (path [2] == 0) { path [2] = '\\'; path [3] = '\0'; }; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &ADDRESS. create); return OK; } 8p&*#<44P  p@TI B B#n&>S<F`ѴEim$X ap/h"05` *AԔWuI0yk }ԝ(9}>ԕ ӈݶ@#S0jѕ 0@>MuP4hg NM:]?`[sQVɉ9@X!%jO(5l/U ( [MQm PIfp<]0C1&_,X)Ӥ+_W@#Vٕ` E :A$K@n(H/L^+F;Mgh:[M'HPDEVX4]FOP)?(+cT DG,0 c||A S$[B@T[+C?5TN}С5ê@-N GzP ,'vN <:0$̤ 4pg$`O$"ahzl&nb:F*M-A`pA5efIKDs4^KfO{"!7P^@^E(5@B'Z 7UZ~UpN&% pNv}U%qt'php\\h Q m F2< n@E,VlWw B,aHg p4*P.${!&B Nf!­3 fR@8P;O`L`/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\AUF_AB\AUF_AB.ACS compiled at: Tue Nov 17 14:13:52 1992 */ /* ANSI-C Prototypes */ static void tasten (Awindow* wi, INT16 kstate, INT16 key); static Awindow* updown_make (void* para); static INT16 updown_service (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char TEXT_001 [] = "123"; static char TEXT_002 [] = "___"; static char TEXT_003 [] = "NNN"; static char TEXT_004 [] = " AUF & AB "; static char TEXT_005 [] = ""; static char TEXT_006 [] = "Information"; static char TEXT_007 [] = "OK"; static char TEXT_009 [] = "innerhalb ACS programmiert"; static char TEXT_010 [] = "wird."; static char TEXT_011 [] = "Die Pfeilobjekte und Tasten"; static char TEXT_012 [] = "zhlen hoch bzw. runter."; static char TEXT_013 [] = "Der Wert kann auf andere"; static char TEXT_014 [] = "Fenster gezogen werden."; static char TEXT_015 [] = "Neuer Wert:"; static char TEXT_016 [] = "ABBRUCH"; static char TEXT_017 [] = "Dies ist ein Beispiel wie"; /* TEDINFOS */ static TEDINFO TEDINFO_002 = {TEXT_001, TEXT_002, TEXT_003, 3, 6, 2, 0x1180, 0, -1, 4, 4}; static TEDINFO TEDI_001 = {TEXT_001, TEXT_005, TEXT_005, 5, 6, 2, 0x1180, 0, -1, 4, 1}; static TEDINFO TEDI_002 = {TEXT_006, TEXT_005, TEXT_005, 3, 6, 2, 0x1071, 0, -1, 12, 1}; /* OBJECT TREES */ OBJECT ABOUT_ME = { -1, 1, 6, 20, 0x0, 0x10, 0x00021100L , 0, 0, 32, 10 }; static OBJECT _01_ABOUT_ME = { 2, -1, -1, 28, 0x0, 0x0, (long) TEXT_017 , 3, 4, 26, 1 }; static OBJECT _02_ABOUT_ME = { 3, -1, -1, 28, 0x0, 0x0, (long) TEXT_009 , 3, 5, 26, 1 }; static OBJECT _03_ABOUT_ME = { 4, -1, -1, 28, 0x0, 0x0, (long) TEXT_010 , 3, 6, 26, 1 }; static OBJECT _04_ABOUT_ME = { 6, -1, -1, 26, 0x5, 0x0, (long) TEXT_007 , 13, 8, 7, 1 }; static AOBJECT _04aABOUT_ME = {NULL , NULL , 0x8000, 0x1, NULL , NULL , 0x0, 0 }; static OBJECT _06_ABOUT_ME = { 0, -1, -1, 22, 0x2060, 0x10, (long) &TEDI_002 , 2, 1, 28, 1 }; OBJECT AUF_AB = { -1, 2, 6, 20, 0x1800, 0x0, 0x00001101L , 0, 0, 16, 3 }; static AOBJECT _00aAUF_AB = {NULL , neuer_wert , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _02_AUF_AB = { 4, -1, -1, 27, 0x40, 0x20, 0x01ff1101L , 2, 1, 2, 1 }; static AOBJECT _02aAUF_AB = {hoch , NULL , 0x8000, 0x8048, NULL , NULL , 0x0, 0 }; static OBJECT _04_AUF_AB = { 6, -1, -1, 27, 0x40, 0x20, 0x02ff1101L , 12, 1, 2, 1 }; static AOBJECT _04aAUF_AB = {runter , NULL , 0x8000, 0x8050, NULL , NULL , 0x0, 0 }; static OBJECT _06_AUF_AB = { 0, -1, -1, 22, 0x2004, 0x20, (long) &TEDI_001 , 6, 1, 4, 1 }; static AOBJECT _06aAUF_AB = {frage , NULL , 0x8020, 0x0, NULL , NULL , 0x0, NUM_STRING }; OBJECT INFOBOX = { -1, 1, 6, 20, 0x0, 0x10, 0x00021100L , 0, 0, 32, 13 }; static OBJECT _01_INFOBOX = { 2, -1, -1, 26, 0x0, 0x11, (long) TEXT_006 , 2, 1, 28, 1 }; static OBJECT _02_INFOBOX = { 3, -1, -1, 28, 0x0, 0x0, (long) TEXT_011 , 3, 4, 27, 1 }; static OBJECT _03_INFOBOX = { 4, -1, -1, 28, 0x0, 0x0, (long) TEXT_012 , 3, 5, 25, 1 }; static OBJECT _04_INFOBOX = { 5, -1, -1, 28, 0x0, 0x0, (long) TEXT_013 , 3, 6, 26, 1 }; static OBJECT _05_INFOBOX = { 6, -1, -1, 28, 0x0, 0x0, (long) TEXT_014 , 3, 7, 26, 1 }; static OBJECT _06_INFOBOX = { 0, -1, -1, 26, 0x25, 0x0, (long) TEXT_007 , 13, 10, 7, 2 }; OBJECT NEU_DIA = { -1, 1, 5, 20, 0x0, 0x10, 0x00ff1100L , 0, 0, 24, 6 }; static OBJECT _01_NEU_DIA = { 2, -1, -1, 20, 0x2040, 0x0, 0x00ff1121L , 0, 0, 24, 1 }; static OBJECT _02_NEU_DIA = { 3, -1, -1, 28, 0x0, 0x0, (long) TEXT_015 , 3, 2, 11, 1 }; static OBJECT _03_NEU_DIA = { 4, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_002 , 16, 2, 3, 1 }; static OBJECT _04_NEU_DIA = { 5, -1, -1, 26, 0x7, 0x0, (long) TEXT_007 , 2, 4, 8, 1 }; static OBJECT _05_NEU_DIA = { 0, -1, -1, 26, 0x25, 0x0, (long) TEXT_016 , 14, 4, 8, 1 }; /* WINDOWS */ Awindow FENSTER = { NULL, updown_service, updown_make , Awi_open, Awi_init, &AUF_AB , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_004 , TEXT_005 , 10000, 0x13, 0, -1, NULL, NULL, tasten , Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " ACS ACCESSORY", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'tasten' Not defined yet by user */ /* 'updown_make' Not defined yet by user */ /* 'updown_service' Not defined yet by user */ %s appfrom: %s basename: %s ev_mtcount: %4ld application: %4d multitask: %4d fonts: %4d argc: %4d argv [%d]: "%s" env: "%s" fontid: %4d fheight: %4d fontsid: %4d fsheight: %4d dither: $%04x d /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\AUF_AB\AUF_AB.ACS compiled at: Tue Nov 17 14:13:50 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT ABOUT_ME; extern OBJECT AUF_AB; #define VALUE ( 6) extern OBJECT INFOBOX; extern OBJECT NEU_DIA; #define DIA_VAL ( 3) #define DIA_OK ( 4) /* WINDOWS */ extern Awindow FENSTER; extern Adescr ACSdescr; /* ANSI-C Prototypes */ ic OBJECT _11_DETAIL = { 12, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_001 , 14, 5, 35, 1 }; static OBJECT _12_DETAIL = { 13, -1, -1, 28, 0x0, 0x0, (long) TEXT_010 , 1, 6, 12, 1 }; static OBJECT _13_DETAIL = { 14, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_001 , 14, 6, 35, 1 }; static OBJECT _14_DETAIL = { 2, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_001 , 14, 7, 35, 1 }; static OBJECT _15_DETAIL = { 0, 16, 28, 24, Beispiel "AUF & UP" =================== Dieses Programmier-Beispiel zeigt wie man: - click-Routinen - drag-Routinen - Service-Routinen - Dialogen umgeht. Funktionsumfang =============== Neues Fenster - Doppelklick auf NEU-Icon Erhhen - Maus auf Pfeil hoch drcken - Cursor up Verringern - Maus auf Pfeil runter drcken - Cursor down Neuer Wert - Doppelklick auf den Wert - NEU-Icon auf Fensterziehen - Taste drcken Wert ziehen - Von einem Fenster auf ein anderes ziehen - Vom Fenster auf ein iconifiziertes Fenster Wert lschen - Den Wert auf den Papierkorb ziehen Info zeigen - Info der Menleiste About me _ Menleiste aED_STRED = {rot_180 , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _22_ED_STRED = { 15, -1, -1, 22, 0x5, 0x0, (long) &TEDI_005 , 16, 0, 4, 1 }; static AOBJECT _22aED_STRED = {rot_270 , NULL , 0x8020, 0x0, NULL .ACS8O~  ( ACS 1.0d ACS ACCESSORY_CoS8@PPABOUT_ME1 '   @ALERT LISTE`PAUF_AB001,@ +H@  -P)  *z`DATA LIST0DIA_OKDIA_VALen Kn OptionePFENSTER01oStx0/ "'.FENSTER LISTEoSf ICON LISTE IMAGE LISTx0 INFOBOXH %` !"#$ w MAUSFORM LISTEw MENU LISTEuvDPPNEU_DIA01 @!% &uNUM_STRING7q8  ufhOBJECT LISTE uPOPUP LISTEtt REFERENZ LISTE*+,-./0tLt TEDINFO LISTEst(TEDINFO_002@0ҾpspsTEDI_001` @0 `ssLTEDI_002_______hfq rpr@@TEXT LISTE !"#$%&'rrdTEXT_001  h123qrTEXT_002R*N___qnqTEXT_003R*NNNqqZ TEXT_004 AUF & AB pqTEXT_005Hp^p TEXT_006InformationppRTEXT_007 Tn Tasten OKooTEXT_009n Probe Tinnerhalb ACS programmiertoBo TEXT_010 Tn Tasten wird.eo!TEXT_011 *Die Pfeilobjekte und TasteneXe"TEXT_012XXXXXXXXXXXXXXXXXXXXXXXzhlen hoch bzw. runter.de6#TEXT_013_______________________Der Wert kann auf anderedd$TEXT_014Ҿ@ݒFenster gezogen werden.d8o% TEXT_015 R*|Neuer Wert:cd(&TEXT_016 Tn Tasten ABBRUCHcrc'TEXT_017n im Font */ Dies ist ein Beispiel wiec((USERBLK LISTEb)VALUEb*frageUUUUUUUUUbJ+hochq(n Info ^Ib,neuer_wert(@ l0a-runterz<yyal.tasten a"/updown_make. Info ^I00updown_service; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\AUF_AB.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code AUF_AB.C (AUF_AB.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END width = len; height = gl_hbox; break; case 3: /* 270 */ case 1: /* 90 */ width = gl_hbox; height = len; break; } aud. type2 = aud. type3 = NONE_PAR; aud. data2 = aud. data3 = NULL; aud. len2 = aud. len3 = 0; (data. interface-> set) (&aud, width, height); abort (); } static void trans (void) /* * Transparent */ { long* b; b = &ev_object [EXAMPLE]. ob_spec. userblk-> ub_parm; *b &= 0xfffffffbL; update (); }/* Beispielapplikation fr ACS "Auf & Ab" 27.9.91 Stefan Bachert */ #include #include #include #include #include /* nicht wirklich notwendig in diesem Beispiel */ static void tasten (Awindow *window, INT16 key, INT16 kstate); /* eigene Tastenroutine */ static Awindow *updown_make (void *not_used); /* Fenster erzeugen */ static void hoch (void); /* click-routine Zhlt hoch */ static void runter (void); /* click-routine Zhlt runter */ static void neuer_wert (void); /* drag-routine empfngt neuen Wert */ static void frage (void); /* doppelklick auf Zahl */ static INT16 updown_service (Awindow *window, INT16 task, void *in_out); #define NUM_STRING 12345 /* Typ des Objektes */ #include static void update (void) /* * Macht nderungen sichtbar */ { /* Das Objekt mit der Nummer VALUE wird neu gezeichnet da sich der 'ob_state' nicht ndert. */ (ev_window-> obchange) (ev_window, VALUE, ev_window-> work [VALUE]. ob_state); } static void hoch (void) /* * Zhlt den Wert hoch */ { char *p; INT16 wert; p = ev_object [VALUE]. ob_spec. tedinfo-> te_ptext; /* Zeiger auf den Nummernstring */ sscanf (p, "%d", &wert); /* wert in integer wandeln */ if (wert >= 999) return; /* finito */ wert ++; sprintf (p, "%d", wert); /* wieder als String */ update (); } static void runter (void) /* * Zhlt den Wert runter */ { char *p; unsigned INT16 wert; p = ev_object [VALUE]. ob_spec. tedinfo-> te_ptext; /* Zeiger auf den Nummernstring */ sscanf (p, "%d", &wert); /* wert in integer wandeln */ if (wert < 1) return; /* finito */ wert --; sprintf (p, "%d", wert); /* wieder als String */ update (); } static void neuer (Awindow *window) /* * Erfrage neuen Wert */ { OBJECT *dia; dia = Aob_create (&NEU_DIA); /* Erzeuge Dialog */ if (dia == NULL) return; strcpy (dia [DIA_VAL]. ob_spec. tedinfo-> te_ptext, /* Vorgabe eintragen */ window-> work [VALUE]. ob_spec. tedinfo-> te_ptext); if (DIA_OK == A_dialog (dia)) { /* ok gedrckt */ strcpy (window-> work [VALUE]. ob_spec. tedinfo-> te_ptext, /* Wert bernehmen */ dia [DIA_VAL]. ob_spec. tedinfo-> te_ptext); (window-> obchange) (window, VALUE, window-> work [VALUE]. ob_state); }; Aob_delete (dia); /* gebe Dialog wieder frei */ } static void frage (void) /* * Frage nach Wert */ { neuer (ev_window); } static void tasten (Awindow *window, INT16 key, INT16 kstate) /* * eigene Tastenroutine ruft einfach den Dialog auf */ { neuer (window); } static void hole_wert (Awindow *window) /* * Empfngt Wert */ { AOBJECT *aob; INT16 nr; Aselect. next = 0; /* erstes Objekt der Liste lesen */ nr = Adr_next (); /* hier macht es nur Sinn ein Objekt anzunehmen */ if (nr >= 0) { /* ein Objekt ist da (test ist berflssig) */ aob = (AOBJECT *) Aselect. window-> work + nr + 1; /* zeigt auf extented Objekt, unterstellt die Existenz ohne Test ! */ if (aob-> type == NUM_STRING) { /* es ist der richtig Typ */ if (Aselect. window == window) return; /* auf sich selbst ?? */ Adr_del (Aselect. window, nr); /* Objekt konsumiert */ strcpy (window-> work [VALUE]. ob_spec. tedinfo-> te_ptext, /* auf das eigene Objekt kopieren */ aob-> userp1); (window-> obchange) (window, VALUE, window-> work [VALUE]. ob_state); }; if (aob-> type == AT_NEW) { /* Neu darauf gezogen */ Adr_del (Aselect. window, nr); /* Objekt konsumiert */ neuer (window); }; }; } static void neuer_wert (void) /* * Empfange durch Objekt */ { hole_wert (ev_window); } static Awindow *updown_make (void *not_used) /* * Erzeuge "Auf und AB" Fenster */ { Awindow *wi; wi = Awi_create (&FENSTER); if (wi == NULL) return NULL; ((AOBJECT *) wi-> work + VALUE + 1)-> userp1 = /* userp1 des erweiterten Objektes das VALUE trgt */ wi-> work [VALUE]. ob_spec. tedinfo-> te_ptext; /* gleich dem Text */ (wi-> open) (wi); /* ffne gleich */ return wi; } void delete (Awindow *window) /* * */ { Adr_unselect (); /* die Auswahlliste lschen */ strcpy (window-> work [VALUE]. ob_spec. tedinfo-> te_ptext, "0"); (window-> obchange) (window, VALUE, window-> work [VALUE]. ob_state); } static INT16 updown_service (Awindow *window, INT16 task, void *in_out) /* * service Routine */ { switch (task) { case AS_TERM: /* Fenster freigeben */ Awi_delete (window); break; case AS_DRAGGED: /* gezogene Objekte als Ikone empfangen */ hole_wert (window); break; case AS_DELETE: /* lsche Wert */ delete (window); break; case AS_INFO: /* Info zeigen */ A_dialog (&INFOBOX); break; default: return FALSE; }; return TRUE; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &FENSTER. create); return OK; } void ACSaboutme (void) /* berschreibe Default ABOUT_ME */ { A_dialog (&ABOUT_ME); } .ACS8?JL=^5$ ()4%ACS 1.0g DEPEND (ACS) oSO38=0x11101L<0x690001L * <0x6c0001L|<60x6d0001L T<R܀Z ;0x700001L|;0x720001L#wn#v;X0x730001LT<R܀ Z ;0x740001Lyh: 0x750001L*e:z 0x780001L|:0 0xa20001LT<R܀Z 9 ALERT LIST9 A_innerframe9RA_pattern@g8r 9Adr_unselect#u#i#8DATA LIST78(DESKW_01_tx8x2'7ICON LIST˖\̢7JIMAGE LIST6j6MASTERZ3tx<:;6**-'966^MENU LISTPRGoSuMOUSEFORM LIST^q.n((Menu01SZZ   2P 0  1           3 >/ =& pq$NULL_STRING ppOBJECTTREE LISTO367pp`PATTN001*k5  ooPATTN002h8( %oBoPATTN003H` no"PATTN0040Xh T<R܀nnnPATTN005X( T<R܀  nnNPATTN007 Probe TA mm PATTN008 ^In Probe m0mz!PATTN009h:\ % lm"PATTN010 %l\l#PATTN011 %l$POPUP LISTE:\ACS\IOACS.LIBE:\k\k%ddREFERENCE LISTO3 89:;<=>?@ABjk<&SEPERATOR000 jj\'SLAVE1 N::_CtxB@A7,+' ?i(TEDINFO LISTiJi),,TEXT LISTԤ*+,-./0123hi8* TEXT_001"UUT@5UUUV? Arbeit hh+ TEXT_002UT5UUUTP 5Up (SLAVE)h8h,TEXT_0035UUUTP 5U Teile gh&- TEXT_004UUT5UUUV? (MASTER)gg. TEXT_005W4hBaustelleg"gl/ TEXT_02 Neu ^Nfg 0TEXT_03 ber mich ...fXf1TEXT_04--------------------efH2TEXT_06 Datei ee3 TEXT_07 Quit ^Qe"el4,,USERBLK LISTt !"#&de5 WINDOW LIST'cZc6W_MASTERGrow/Shrink  .    ``7hhW_SLAVE}&N_ab@r         !  "  # `V8make_desk` 9master_closed _:master_make_x;master_openh0_.<master_serviceF^=neu^>quit^P?slave_closed$^@slave_make:n(XXXXXXXX]Aslave_openxxxxxxBslave_servicexHwwwx 0L5`7Iu*2W뺮p¯:ʯ ۯ{w-^=UU K{+D@#;&k(;31;3{7;@C t>t^t~ttpNjжt+u[x{w n불kj(|Zy**:[icٻ  @Qp@  q WT#F3   G a# M0K2 i*AC a7 Eqw. 8wz >>`1m[!1|A`K~k U ` n @p@\Cc1'*ʈ1M,zEZFqA `r/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\DEPEND\DEPEND.ACS compiled at: Tue Nov 24 00:36:58 1992 */ /* STRINGS */ /* MENU TREES */ /* OBJECT TREES */ extern OBJECT W_MASTER; extern OBJECT W_SLAVE; /* WINDOWS */ extern Awindow MASTER; extern Awindow SLAVE; extern Adescr ACSdescr; /* ANSI-C Prototypes */ extern INT16 CDECL A_innerframe (PARMBLK* pb); U*UX-&RFe`2/<`(/<`/<`/<` /<`/<`/<`/<`/<`/<`/<`/<`/<`/<`/<`/<`/<`/<`~/<`t/<`j/< ``/<`V/<`L/<`B/Hy y  PNX _Nu/< `/<$`/<(`/<,`/<0`/<4`/<8`/<<`/<@`/<D`/<H`/<L`/<P`/<T`/<X`/<\`/<``|/<d`r/<h`h/<l`^/<p`T/<t`J/<x`@/<|`6/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\DEPEND\DEPEND.ACS compiled at: Tue Nov 24 00:37:00 1992 */ /* ANSI-C Prototypes */ static Awindow* make_desk (void* para); static void master_closed (Awindow* wi); static Awindow* master_make (void* para); static INT16 master_open (Awindow* wi); static INT16 master_service (Awindow* wi, INT16 task, void *in_out); static void neu (void); static void quit (void); static void slave_closed (Awindow* wi); static Awindow* slave_make (void* para); static INT16 slave_open (Awindow* wi); static INT16 slave_service (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char NULL_STRING [] = ""; static char TEXT_001 [] = " Arbeit "; static char TEXT_002 [] = " (SLAVE)"; static char TEXT_003 [] = " Teile "; static char TEXT_004 [] = " (MASTER)"; static char TEXT_005 [] = "Baustelle"; static char TEXT_02 [] = " Neu ^N"; static char TEXT_03 [] = " ber mich ..."; static char TEXT_04 [] = "--------------------"; static char TEXT_06 [] = " Datei "; static char TEXT_07 [] = " Quit ^Q"; /* AUSERBLK */ static AUSERBLK PATTN001 = {A_pattern, 0x750001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN002 = {A_pattern, 0x740001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN003 = {A_pattern, 0x690001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN004 = {A_pattern, 0x6d0001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN005 = {A_pattern, 0xa20001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN007 = {A_pattern, 0x730001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN008 = {A_pattern, 0x720001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN009 = {A_pattern, 0x780001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN010 = {A_pattern, 0x700001L , NULL, NULL, NULL, NULL}; static AUSERBLK PATTN011 = {A_pattern, 0x6c0001L , NULL, NULL, NULL, NULL}; static AUSERBLK SEPERATOR000 = {A_innerframe, 0x11101L , NULL, NULL, NULL, NULL}; /* MENU TREES */ static OBJECT Menu = { -1, 1, 5, 25, 0x0, 0x0, 0x00000000L , 0, 0, 90, 25 }; static OBJECT _01_Menu = { 5, 2, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 90, 513 }; static OBJECT _02_Menu = { 1, 3, 4, 25, 0x0, 0x0, 0x00000000L , 2, 0, 13, 769 }; static OBJECT _03_Menu = { 4, -1, -1, 32, 0x0, 0x2000, (long) NULL_STRING , 0, 0, 6, 769 }; static OBJECT _04_Menu = { 2, -1, -1, 32, 0x0, 0x0, (long) TEXT_06 , 6, 0, 7, 769 }; static OBJECT _05_Menu = { 0, 6, 15, 25, 0x0, 0x0, 0x00000000L , 0, 769, 80, 19 }; static OBJECT _06_Menu = { 15, 7, 14, 20, 0x0, 0x0, 0x00ff1100L , 2, 0, 20, 8 }; static OBJECT _07_Menu = { 8, -1, -1, 28, 0x0, 0x2000, (long) TEXT_03 , 0, 0, 20, 1 }; static OBJECT _08_Menu = { 9, -1, -1, 28, 0x0, 0x2008, (long) TEXT_04 , 0, 1, 20, 1 }; static OBJECT _09_Menu = { 10, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 2, 20, 1 }; static OBJECT _10_Menu = { 11, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 3, 20, 1 }; static OBJECT _11_Menu = { 12, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 4, 20, 1 }; static OBJECT _12_Menu = { 13, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 5, 20, 1 }; static OBJECT _13_Menu = { 14, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 6, 20, 1 }; static OBJECT _14_Menu = { 6, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 7, 20, 1 }; static OBJECT _15_Menu = { 5, 16, 20, 20, 0x0, 0x0, 0x00ff1101L , 8, 0, 11, 3 }; static OBJECT _16_Menu = { 18, -1, -1, 28, 0x0, 0x0, (long) TEXT_07 , 0, 2, 11, 1 }; static AOBJECT _16aMenu = {quit , NULL , 0x8000, 0x11, NULL , NULL , 0x0, 0 }; static OBJECT _18_Menu = { 20, -1, -1, 28, 0x0, 0x0, (long) TEXT_02 , 0, 0, 11, 1 }; static AOBJECT _18aMenu = {neu , NULL , 0x8000, 0xe, NULL , NULL , 0x0, 0 }; static OBJECT _20_Menu = { 15, -1, -1, 24, 0x20, 0x108, (long) &SEPERATOR000 , 0, 1, 11, 1 }; /* OBJECT TREES */ OBJECT W_MASTER = { -1, 2, 5, 20, 0x1800, 0x0, 0x00001100L , 0, 0, 32, 12 }; static AOBJECT _00aW_MASTER = {NULL , Adr_unselect, 0x8000, 0x0, NULL , NULL , 0x5, 0 }; static OBJECT _02_W_MASTER = { 3, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 12, 1, 9, 1 }; static OBJECT _03_W_MASTER = { 4, -1, -1, 24, 0x0, 0x0, (long) &PATTN001 , 12, 4, 9, 6 }; static OBJECT _04_W_MASTER = { 5, -1, -1, 24, 0x0, 0x0, (long) &PATTN003 , 2, 3, 8, 5 }; static OBJECT _05_W_MASTER = { 0, -1, -1, 24, 0x20, 0x0, (long) &PATTN002 , 23, 3, 7, 3 }; OBJECT W_SLAVE = { -1, 1, 10, 20, 0x0, 0x0, 0x00001100L , 0, 0, 32, 12 }; static OBJECT _01_W_SLAVE = { 2, -1, -1, 24, 0x2000, 0x0, (long) &PATTN005 , 2, 1, 4, 2 }; static OBJECT _02_W_SLAVE = { 3, -1, -1, 24, 0x2000, 0x0, (long) &PATTN004 , 8, 1, 4, 2 }; static OBJECT _03_W_SLAVE = { 4, -1, -1, 24, 0x2000, 0x0, (long) &PATTN003 , 15, 1, 4, 2 }; static OBJECT _04_W_SLAVE = { 5, -1, -1, 24, 0x2000, 0x0, (long) &PATTN007 , 20, 1, 4, 2 }; static OBJECT _05_W_SLAVE = { 6, -1, -1, 24, 0x2000, 0x0, (long) &PATTN001 , 26, 1, 4, 2 }; static OBJECT _06_W_SLAVE = { 7, -1, -1, 24, 0x2000, 0x0, (long) &PATTN008 , 2, 4, 4, 2 }; static OBJECT _07_W_SLAVE = { 8, -1, -1, 24, 0x2000, 0x0, (long) &PATTN009 , 8, 4, 4, 2 }; static OBJECT _08_W_SLAVE = { 9, -1, -1, 24, 0x2000, 0x0, (long) &PATTN010 , 15, 4, 4, 2 }; static OBJECT _09_W_SLAVE = { 10, -1, -1, 24, 0x2000, 0x0, (long) &PATTN011 , 26, 4, 4, 2 }; static OBJECT _10_W_SLAVE = { 0, -1, -1, 24, 0x2020, 0x0, (long) &PATTN002 , 20, 4, 4, 2 }; /* WINDOWS */ Awindow DESK = { NULL, Awi_service, make_desk , Awi_open, Awi_init, NULL, NULL, 0, 0, -1, 0xfff, { 0, 0, 120, 50}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, NULL_STRING , NULL_STRING , 10000, 0x1, 0, -1, NULL, &Menu , Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Awindow MASTER = { NULL, master_service, master_make , master_open , Awi_init, &W_MASTER , NULL, 0, 0, -1, 0xfef, { 0, 0, 42, 21}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_001 , TEXT_004 , 10000, 0x0, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, master_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Awindow SLAVE = { NULL, slave_service, slave_make , slave_open , Awi_init, &W_SLAVE , NULL, 0, 0, -1, 0xfed, { 3, 3, 18, 21}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_003 , TEXT_002 , 10000, 0xc, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, slave_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " DEPEND (ACS)", &DESK , NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'make_desk' Not defined yet by user */ /* 'master_closed' Not defined yet by user */ /* 'master_make' Not defined yet by user */ /* 'master_open' Not defined yet by user */ /* 'master_service' Not defined yet by user */ /* 'neu' Not defined yet by user */ /* 'quit' Not defined yet by user */ /* 'slave_closed' Not defined yet by user */ /* 'slave_make' Not defined yet by user */ /* 'slave_open' Not defined yet by user */ /* 'slave_service' Not defined yet by user */ SchneiderAnystreetn; ACS Example Program (c) 1991, 1992 Stefan Bachert ; ..\..\PRG\DEPEND.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code DEPEND.C (DEPEND.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ht = len; break; } aud. type2 = aud. type3 = NONE_PAR; aud. data2 = aud. data3 = NULL; aud. len2 = aud. len3 = 0; (data. interface-> set) (&aud, width, height); abort (); } static void trans (void) /* * Transparent */ { long* b; b = &ev_object [EXAMPLE]. ob_spec. userblk-> ub_parm; *b &= 0xfffffffbL; update (); }/* Beispielapplikation fr ACS "Abhngige Fenster" 19.2.92 Stefan Bachert */ #include #include #include static Awindow *master_make (void *not_used); static INT16 master_service (Awindow *window, INT16 task, void *in_out); static INT16 master_open (Awindow *wi); static void master_closed (Awindow *wi); static Awindow *slave_make (void *not_used); static INT16 slave_service (Awindow *window, INT16 task, void *in_out); static INT16 slave_open (Awindow *wi); static void slave_closed (Awindow *wi); #include /* SLAVE */ static INT16 slave_count = 0; static Awindow *slave = NULL; static Awindow *slave_make (void *not_used) /* * Erzeuge Teilefenster (Slave) */ { Awindow *wi; wi = Awi_create (&SLAVE); if (wi == NULL) return NULL; return wi; } static INT16 slave_open (Awindow *wi) /* * ffnet */ { if (slave_count ++ > 0) return OK; /* schon offen */ return Awi_open (wi); } static void slave_closed (Awindow *wi) /* * Schliesst Teile */ { if (-- slave_count > 0) return; /* noch offen */ wi-> state |= AWS_TERM; /* verhindert das Zeichnen des Icons */ Awi_closed (wi); wi-> state &= ~AWS_TERM; slave_count = 0; } static INT16 slave_service (Awindow *window, INT16 task, void *in_out) /* * Service Routine fr Slave */ { Awindow *root; switch (task) { /* welche Routine */ case AS_TERM: if (appexit) { Awi_delete (window); /* nur bei Systemtermination */ }; break; case AS_ACCLOSED: slave_count = 0; if (window-> icon >= 0) { /* nun doch iconifiziert */ root = Awi_root (); (root-> service) (root, AS_REMICON, &window-> icon); }; break; default: return FALSE; /* kein Wert */ }; return TRUE; /* wurde durchgefhrt */ }; /* MASTER */ static Awindow *master_make (void *not_used) /* * Erzeuge Arbeitsfenster (Master) */ { Awindow *wi; wi = Awi_create (&MASTER); if (wi == NULL) return NULL; (wi-> open) (wi); return wi; } static INT16 master_open (Awindow *wi) /* * ffne Fenster */ { if (Awi_open (wi)) return FAIL; if ((slave-> open) (slave)) { /* das nicht zu ffnen ist */ (wi-> closed) (wi); return FAIL; }; return OK; } static void master_closed (Awindow *wi) /* * Schliesse Fenster */ { Awi_closed (wi); (slave-> closed) (slave); } static INT16 master_service (Awindow *window, INT16 task, void *in_out) /* * service Routine */ { switch (task) { /* welche Routine */ case AS_TERM: Awi_delete (window); break; case AS_ICONIZED: /* schliesse Teilefenster*/ (slave-> closed) (slave); break; default: return FALSE; /* kein Wert */ }; return TRUE; /* wurde durchgefhrt */ } Awindow* make_desk (void* not_used) { return Awi_create (&DESK); } static void quit (void) { Awi_sendall (AS_TERM, NULL); /* erst freundlich anklopfen */ Aev_quit (); /* Nun haut das System krftig zu */ } static void neu (void) { MASTER. create (NULL); } INT16 ACSinit (void) /* * */ { slave = slave_make (NULL); if (slave == NULL) return FAIL; return OK; } ; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\DIR.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code DIR.C (DIR.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END prev = NULL; do { record = Ax_malloc (sizeof (RECORD)); if (record == NULL) break; link = Ax_malloc (sizeof (LINK)); if (link == NULL) break; if (1 != fread (record, sizeof (RECORD), 1, file)) { break; /* fehler */ }; user-> n ++; link-> record = record; if (prev == NULL) { /* erster */ user-> first = link; } else { prev-> next = link; }; link-> prev = prev; prev = link; } while (! feof (file)); if (user-> n ==/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\DIR\DIR.ACS compiled at: Tue Nov 17 14:13:40 1992 */ /* STRINGS */ /* ICONS */ extern ICONBLK DIRECTORY; extern ICONBLK DOTDOT; extern ICONBLK FILE; extern ICONBLK FLOPPY; extern ICONBLK WI_ICON; /* OBJECT TREES */ extern OBJECT ICONS; /* WINDOWS */ extern Awindow DIR_WI; extern Adescr ACSdescr; /* ANSI-C Prototypes */ wn_service, updown_make , Awi_open, Awi_init, &AUF_AB , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_004 , TEXT_005 , 10000, 0x13, 0, -1, NULL, NULL, tasten , Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " ACS ACCESSORY", /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\DIR\DIR.ACS compiled at: Tue Nov 17 14:13:40 1992 */ /* ANSI-C Prototypes */ static Awindow* file_make (void* para); /* STRINGS */ static char TEXT_001 [] = ""; static char TEXT_002 [] = " DIRECTORY "; static char TEXT_003 [] = "ZURCK"; static char TEXT_004 [] = "FILE SYSTEM"; /* ICONS */ static INT16 _MSK_DIRECTORY [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fc0, 0x0000, 0x1fe0, 0x0fff, 0xfff0, 0x1fff, 0xfff8, 0x3fff, 0xfffc, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x3fff, 0xfffe, 0x1fff, 0xfffe, 0x0fff, 0xfffc, 0x07ff, 0xfff8, 0x0000, 0x0000, 0x0000, 0x0000}; static INT16 _DAT_DIRECTORY [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fc0, 0x0000, 0x1560, 0x0fff, 0xfab0, 0x1000, 0x1fe8, 0x2000, 0x0004, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x2000, 0x0006, 0x1000, 0x000e, 0x0fff, 0xfffc, 0x07ff, 0xfff8, 0x0000, 0x0000, 0x0000, 0x0000}; ICONBLK DIRECTORY = { _MSK_DIRECTORY, _DAT_DIRECTORY, TEXT_001, 0x1000, 0, 0, 20, 0, 32, 32, 0, 33, 72, 8}; static INT16 _MSK_DOTDOT [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0030, 0x0000, 0x0070, 0x0000, 0x00f0, 0x0000, 0x01ff, 0xfe00, 0x03ff, 0xff80, 0x07ff, 0xffc0, 0x0fff, 0xffe0, 0x1fff, 0xffe0, 0x3fff, 0xfff0, 0x1fff, 0xfff0, 0x0fff, 0xfff0, 0x1fff, 0xfff0, 0x3fff, 0xfff0, 0x1fff, 0xfff0, 0x0fff, 0xfff0, 0x07ff, 0xfff0, 0x03ff, 0xfff0, 0x01f0, 0x01f0, 0x00f0, 0x0070, 0x0070, 0x0030, 0x0030, 0x0030, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; static INT16 _DAT_DOTDOT [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0030, 0x0000, 0x0050, 0x0000, 0x0090, 0x0000, 0x011f, 0xfe00, 0x0200, 0x0180, 0x0400, 0x0040, 0x0800, 0x0020, 0x1000, 0x0020, 0x2006, 0x6010, 0x1006, 0x6010, 0x0800, 0x0010, 0x1c00, 0x0010, 0x3e00, 0x0010, 0x1f1f, 0xfe10, 0x0f9f, 0xff90, 0x07df, 0xffd0, 0x03ff, 0xfff0, 0x01f0, 0x01f0, 0x00f0, 0x0070, 0x0070, 0x0030, 0x0030, 0x0030, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; ICONBLK DOTDOT = { _MSK_DOTDOT, _DAT_DOTDOT, TEXT_003, 0x1000, 0, 0, 20, 0, 32, 32, 0, 32, 72, 8}; static INT16 _MSK_FILE [] = { 0x0000, 0x0000, 0x0fff, 0xfe00, 0x0fff, 0xff00, 0x0fff, 0xff80, 0x0fff, 0xffc0, 0x0fff, 0xffe0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0000, 0x0000}; static INT16 _DAT_FILE [] = { 0x0000, 0x0000, 0x0fff, 0xfe00, 0x0800, 0x0300, 0x0800, 0x0280, 0x0800, 0x0240, 0x0800, 0x0220, 0x0800, 0x03f0, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x08f5, 0x0f10, 0x0885, 0x0810, 0x0885, 0x0810, 0x08e5, 0x0e10, 0x0885, 0x0810, 0x0885, 0x0810, 0x0885, 0xef10, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0800, 0x0010, 0x0fff, 0xfff0, 0x0000, 0x0000}; ICONBLK FILE = { _MSK_FILE, _DAT_FILE, TEXT_001, 0x1000, 0, 0, 20, 0, 32, 32, 1, 35, 72, 8}; static INT16 _MSK_FLOPPY [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fff, 0xfff8, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x3fff, 0xfffc, 0x1fff, 0xfffc, 0x0fff, 0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; static INT16 _DAT_FLOPPY [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1fff, 0xfff8, 0x2900, 0x008c, 0x2300, 0x00a4, 0x2900, 0x008c, 0x2300, 0x00a4, 0x2900, 0x008c, 0x2300, 0x00a4, 0x2900, 0x008c, 0x2300, 0x00a4, 0x2900, 0x008c, 0x2300, 0x00a4, 0x2900, 0x008c, 0x22ff, 0xff24, 0x2888, 0x888c, 0x2222, 0x2224, 0x2888, 0x888c, 0x223f, 0xfa24, 0x28c0, 0x048c, 0x224c, 0x0624, 0x28cc, 0x048c, 0x224c, 0x0624, 0x28cc, 0x048c, 0x3240, 0x0624, 0x3fff, 0xfffc, 0x1ad5, 0x5554, 0x0fff, 0xfff8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; ICONBLK FLOPPY = { _MSK_FLOPPY, _DAT_FLOPPY, TEXT_001, 0x1041, 13, 5, 5, 2, 32, 32, 0, 0, 40, 40}; static INT16 _MSK_WI_ICON [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xfffe}; static INT16 _DAT_WI_ICON [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x7fff, 0xfffe, 0x4000, 0x0002, 0x4000, 0x0002, 0x4000, 0x0002, 0x4070, 0x01c2, 0x41f0, 0x07c2, 0x4210, 0x0842, 0x4210, 0x0842, 0x4210, 0x0842, 0x4210, 0x0842, 0x41f0, 0x07c2, 0x4000, 0x0002, 0x47f8, 0x1fe2, 0x4000, 0x0002, 0x4000, 0x0002, 0x4000, 0x0002, 0x43f0, 0x0fc2, 0x4210, 0x0842, 0x4210, 0x0842, 0x4210, 0x0842, 0x4230, 0x08c2, 0x4250, 0x0942, 0x43f0, 0x0fc2, 0x4000, 0x0002, 0x47f8, 0x1fe2, 0x4000, 0x0002, 0x4000, 0x0002, 0x7fff, 0xfffe}; ICONBLK WI_ICON = { _MSK_WI_ICON, _DAT_WI_ICON, TEXT_004, 0x1000, 0, 0, 21, 0, 32, 30, 0, 32, 72, 8}; /* OBJECT TREES */ OBJECT ICONS = { -1, 1, 4, 20, 0x0, 0x10, 0x00021100L , 0, 0, 18, 6 }; static OBJECT _01_ICONS = { 2, -1, -1, 31, 0x0, 0x0, (long) &DOTDOT , 0, 3, 9, 3 }; static OBJECT _02_ICONS = { 3, -1, -1, 31, 0x0, 0x0, (long) &DIRECTORY , 0, 0, 9, 3 }; static OBJECT _03_ICONS = { 4, -1, -1, 31, 0x0, 0x0, (long) &FILE , 9, 0, 9, 3 }; static OBJECT _04_ICONS = { 0, -1, -1, 31, 0x20, 0x0, (long) &FLOPPY , 9, 3, 9, 3 }; /* WINDOWS */ Awindow DIR_WI = { NULL, Awi_service, file_make , Awi_open, Awi_init, NULL, NULL, 0, 0, -1, 0xfff, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_001 , 10000, 0xb, 0, -1, &WI_ICON , NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " ACS ACCESSORY", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'file_make' Not defined yet by user */ ?s!P p dJC@@pp000l""FILE018A  " #H@ B""FLOPPY6MM>LLLHF"A  ((???????????????????????)#)#)#)#)#)"$("""$("?$("L$("L$(2@$?UTICON LIST(r ICONS01&      IMAGE LIST MENU LISTJ MOUSEFORM LIST> OBJECTTREE LIST POPUP LISTTREFERENCE LIST TEDINFO LISTTEXT LISTTTEXT_001 n H@ TEXT_002p`PB2" DIRECTORY TEXT_003 TEXT_003@@ZURCK> TEXT_0048FILE SYSTEMUSERBLK LISTWINDOW LIST_C:WI_ICON%"  H@@@@pABBBBBBBBA@G@@@CBBBBBBB0BP BC@G@@file_makecccn/* Beispielapplikation fr ACS "Directory" 28.9.91 Stefan Bachert */ #include #include #include #include #include static Awindow *file_make (void *not_used); static void new_drive (void); static void new_dir (void); static void ret_dir (void); static void make_work (Awindow *window); #include #define WIDTH (80) #define HEIGHT (48) typedef struct { unsigned long drives; char act_drive; char path [128]; } USER; static OBJECT back = {-1, -1, -1, G_BOX, NONE, AOS_FIXED, 0x00001101L, 0, 0, 100, 100}; static AOBJECT back0 = { NULL, NULL, AEO, 0, NULL, NULL, 0, 0}; static OBJECT drv = {-1, -1, -1, G_ICON, EXIT | SELECTABLE, NORMAL, (long) &FLOPPY, 0, 0, WIDTH >> 1, HEIGHT}; static AOBJECT drv0 = {new_drive, NULL, AEO, 0, NULL, NULL, 0, 0}; static OBJECT ret = {-1, -1, -1, G_ICON, EXIT | SELECTABLE, NORMAL, (long) &DOTDOT, 0, 0, WIDTH, HEIGHT}; static AOBJECT ret0 = {ret_dir, NULL, AEO, 0, NULL, NULL, 0, 0}; static OBJECT dirs = {-1, -1, -1, G_ICON, EXIT | SELECTABLE, NORMAL, (long) &DIRECTORY, 0, 0, WIDTH, HEIGHT}; static AOBJECT dirs0 = {new_dir, NULL, AEO, 0, NULL, NULL, 0, 0}; static OBJECT files = {-1, -1, -1, G_ICON, NONE, NORMAL, (long) &FILE, 0, 0, WIDTH, HEIGHT}; static AOBJECT files0= { NULL, NULL, AEO, 0, NULL, NULL, 0, 0}; static void new_drive (void) /* * Dir */ { Awindow *window; USER *user; window = ev_window; user = window-> user; user-> act_drive = (char) ev_object [ev_obnr]. ob_spec. iconblk-> ib_char - 'A'; Dsetdrv (user-> act_drive); Dsetpath ("\\"); make_work (window); (window-> sized) (window, &window-> wi_act); } static void new_dir (void) /* * Dir */ { Awindow *window; USER *user; window = ev_window; user = window-> user; Dsetdrv (user-> act_drive); Dsetpath (user-> path); Dsetpath (window-> work [ev_obnr]. ob_spec. iconblk-> ib_ptext); make_work (window); (window-> sized) (window, &window-> wi_act); } static void ret_dir (void) /* * Dir */ { Awindow *window; USER *user; window = ev_window; user = window-> user; Dsetdrv (user-> act_drive); Dsetpath (user-> path); Dsetpath (".."); make_work (window); (window-> sized) (window, &window-> wi_act); } static void make_work (Awindow *window) /* * Baue das innere Workobjekt zusammen */ { USER *user; DTA dta, *olddta; OBJECT *work; ICONBLK *iconblk; char path [128]; INT16 i, n; long drives; char drive; INT16 state; INT16 first; user = window-> user; olddta = Fgetdta (); Fsetdta (&dta); /* auf eigene Dta operieren ! wegen ACCESSORYS ! */ first = TRUE; redo: strcpy (path, "A:"); *path += user-> act_drive; Dgetpath (user-> path, 0); strcpy (path + 2, user-> path); Ast_delete (window-> info); window-> info = Ast_create (path); strcat (path, "\\*.*"); n = 0; state = Fsfirst (path, FA_SUBDIR | FA_READONLY | FA_SYSTEM | FA_HIDDEN | FA_SYSTEM | FA_ARCHIVE); while (state >= 0) { /* was gefunden */ n ++; state = Fsnext (); }; if (state == -33 && first) { /* bei diskette mit anderen Pfad probieren */ Dsetpath ("\\"); first = FALSE; goto redo; }; if (window-> wi_id > 0) wind_set (window-> wi_id, WF_INFO, window-> info); work = Ax_malloc (((n + 17) << 1) * sizeof (AOBJECT)); /* Grsse des Objectes */ if (work == NULL) return; /* Fehler */ if (window-> work != NULL) Aob_delete (window-> work); window-> work = work; memcpy (work, &back, sizeof (OBJECT) << 1); /* Hintergrund */ work-> ob_head = 2; work += 2; i = 4; /* Drives aufbauen */ drive = 'A'; drives = user-> drives; n = 0; while (drives) { if (drives & 1) { memcpy (work, &drv, sizeof (OBJECT) << 1); iconblk = Aic_create (drv. ob_spec. iconblk); (char) iconblk-> ib_char = drive; work-> ob_spec. iconblk = iconblk; work-> ob_next = i; i += 2; work += 2; n ++; }; drives >>= 1; drive ++; }; if (n & 1) { /* ungerade, letzter doppelt so gross */ (work - 2)-> ob_width <<= 1; }; /* Dirs */ state = Fsfirst (path, FA_SUBDIR); /* nur dirs */ dirs. ob_spec. iconblk-> ib_ptext = dta. d_fname; /*wird dann bei create erzeugt */ while (state >= 0) { /* was gefunden */ if (strcmp (dta. d_fname, ".") != 0 && dta. d_attrib & FA_SUBDIR) { if (strcmp (dta. d_fname, "..") == 0) { memcpy (work, &ret, sizeof (OBJECT) << 1); /* return Wert */ } else { memcpy (work, &dirs, sizeof (OBJECT) << 1); /* normales Dir */ }; work-> ob_spec. iconblk = Aic_create (work-> ob_spec. iconblk); work-> ob_next = i; i += 2; work += 2; }; state = Fsnext (); }; /* Files */ state = Fsfirst (path, 0x27); /* keine dirs */ files. ob_spec. iconblk-> ib_ptext = dta. d_fname; /*wird dann bei create erzeugt */ while (state >= 0) { /* was gefunden */ memcpy (work, &files, sizeof (OBJECT) << 1); work-> ob_spec. iconblk = Aic_create (files. ob_spec. iconblk); work-> ob_next = i; i += 2; work += 2; state = Fsnext (); }; /* Aufrumen */ (work - 2)-> ob_next = 0; (work - 1)-> ob_flags |= LASTOB; window-> work-> ob_tail = i - 4; Fsetdta (olddta); } static Awindow *file_make (void *not_used) /* * Erzeuge Directory Fenster */ { Awindow *wi; USER *user; wi = Awi_create (&DIR_WI); if (wi == NULL) return NULL; user = Ax_malloc (sizeof (USER)); if (user == NULL) return NULL; wi-> user = user; user-> act_drive = Dgetdrv (); /* welche drive gibt es */ user-> drives = Dsetdrv (user-> act_drive); /* welches ist das aktuelle */ user-> path [0] = '\0'; make_work (wi); /* erzeuge das Work object */ (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &DIR_WI. create); window = &DIR_WI; (window-> create) (NULL); /* ein Fenster gleich erzeugen */ return OK; } /* Beispielapplikation fr ACS "Input" 2.9.92 Stefan Bachert */ #include #include #include #include static Awindow *inp_make (void *not_used); static INT16 inp_service (Awindow *window, INT16 task, void *in_out); #include static Awindow *inp_make (void *not_used) /* * Input Fenster */ { Awindow *wi; wi = Awi_create (&INPUT); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } static INT16 inp_service (Awindow *window, INT16 task, void *in_out) /* * service Routine */ { char *p; INT16 obnr; switch (task) { case AS_TERM: /* Fenster freigeben */ Awi_delete (window); break; case AS_FOCUSCHG: /* Vor Focus change */ obnr = window-> ob_edit; /* da war Focus zuvor */ if (obnr >= 0) { p = window-> work [obnr]. ob_spec. tedinfo-> te_ptext; if (*p) { /* Was da -> uppercase */ strupr (p); (window-> obchange) (window, obnr, -1); /* Auffrischen */ } else { /* Leer gelassen -> Focus wieder rein setzen */ *((INT16 *) in_out) = obnr; } }; break; default: return FALSE; }; return TRUE; } INT16 ACSinit0 (void) { strcpy (basename, " Inputle"); return OK; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &INPUT. create); window = &INPUT; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\INPUT\INPUT.ACS compiled at: Mon Nov 30 18:39:54 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT DIALOG; #define INP_LINE1 ( 1) #define INP_LINE2 ( 2) /* WINDOWS */ extern Awindow INPUT; extern Adescr ACSdescr; /* ANSI-C Prototypes */ D2ʖ(B,!VJ!THɲCҧ9;Q+߶ඩ;jF0)"iͻ{'g ڷI~$_P;^9.ACS8  ACS 1.0d INPUT WORLDYoSoS8ALERT LISTE6DATA LIST.DIALOG001O   FENSTER LISTE_CdICON LISTEIMAGE LIST:INPUT_001b S_Ctx cc'INP_LINE1UU INP_LINE22H ЀЁ82Dg2\ MAUSFORM LISTE MENU LISTE OBJECT LISTECr POPUP LISTE^ REFERENZ LISTETEDINFO LISTELTEDI_001*(TEDI_0028"ji:*:i|bRpTEXT LISTE`TEXT_001,+2.:____TEXT_002  Eingabeprfung TEXT_003 d0HTEXT_005"yR yN JJxXXXXTTEXT_006`|Gg 0*: jhabcdDTEXT_007@>?WIG j<(1.:____fUSERBLK LISTEinp_make3,3T3|33inp_service   !  "  # `V8make_desk` 9master_closed _:master_make_x/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\INPUT\INPUT.ACS compiled at: Mon Nov 30 18:39:54 1992 */ /* ANSI-C Prototypes */ static Awindow* inp_make (void* para); static INT16 inp_service (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char TEXT_001 [] = "2.:____"; static char TEXT_002 [] = " Eingabeprfung "; static char TEXT_003 [] = ""; static char TEXT_005 [] = "XXXX"; static char TEXT_006 [] = "abcd"; static char TEXT_007 [] = "1.:____"; /* TEDINFOS */ static TEDINFO TEDI_001 = {TEXT_006, TEXT_001, TEXT_005, 3, 6, 2, 0x1180, 0, -1, 5, 8}; static TEDINFO TEDI_002 = {TEXT_006, TEXT_007, TEXT_005, 3, 6, 2, 0x1180, 0, -1, 5, 8}; /* OBJECT TREES */ OBJECT DIALOG = { -1, 1, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 18, 5 }; static OBJECT _01_DIALOG = { 2, -1, -1, 30, 0x8, 0x0, (long) &TEDI_002 , 4, 1, 9, 1 }; static OBJECT _02_DIALOG = { 0, -1, -1, 30, 0x28, 0x0, (long) &TEDI_001 , 4, 3, 9, 1 }; /* WINDOWS */ Awindow INPUT = { NULL, inp_service , inp_make , Awi_open, Awi_init, &DIALOG , NULL, 0, 0, -1, 0xb, { 0, 0, 99, 99}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_003 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " INPUT ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'inp_make' Not defined yet by user */ /* 'inp_service' Not defined yet by user */ `0003'f,Pf,3,0f,,P'f0003`@?  A 0HA   @     @L @L @L  ; ACS Example Program (c) 1992 Stefan Bachert ; ..\..\PRG\INPUT.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code INPUT.C (INPUT.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END e_make' Not defined yet by user */ /* 'slave_open' Not defined yet by user */ /* 'slave_service' Not defined yet by user */ SchneiderAnystreetn; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\MENUE.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code MENUE.C (MENUE.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE ENDry PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ht = len; break; } aud. type2 = aud. type3 = NONE_PAR; aud. data2 = aud. data3 = NULL; aud. len2 = aud. len3 = 0; (data. interface-> set) (&aud, width, height); abort (); } static void trans (void) /* * Transparent */ { long* b; b = &ev_object [EXAMPLE]. ob_spec. userblk-> ub_parm; *b &= 0xfffffffbL; update (); }/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.BSP\DEMO_C.PRG\MENUE\MENUE.ACS compiled at: Fri Dec 04 13:31:32 1992 */ /* ANSI-C Prototypes */ static Awindow* menu_make (void* para); static INT16 menu_service (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char NULL_STRING [] = ""; static char TEXT_001 [] = "OBJ 1"; static char TEXT_002 [] = "OBJ 2"; static char TEXT_003 [] = "OBJ 3"; static char TEXT_004 [] = "OBJ 4"; static char TEXT_005 [] = " ber mich ..."; static char TEXT_006 [] = "--------------------"; static char TEXT_007 [] = " Count "; static char TEXT_008 [] = " 0 Selected"; static char TEXT_009 [] = " 1 Selected"; static char TEXT_010 [] = " >0 Selected"; static char TEXT_011 [] = " Complex "; static char TEXT_012 [] = " Obj 1 in List"; static char TEXT_013 [] = " Obj 2 in List"; static char TEXT_014 [] = " Obj 2 & 3 in List"; static char TEXT_015 [] = " Obj 4 not in List"; static char TEXT_016 [] = " Obj 3 ^ 4 in List"; static char TEXT_017 [] = " SELECTION "; /* MENU TREES */ OBJECT _MENU = { -1, 1, 6, 25, 0x0, 0x0, 0x00000000L , 0, 0, 90, 25 }; static OBJECT _01__MENU = { 6, 2, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 90, 513 }; static OBJECT _02__MENU = { 1, 3, 5, 25, 0x0, 0x0, 0x00000000L , 2, 0, 22, 769 }; static OBJECT _03__MENU = { 4, -1, -1, 32, 0x0, 0x2000, (long) NULL_STRING , 0, 0, 6, 769 }; static OBJECT _04__MENU = { 5, -1, -1, 32, 0x0, 0x0, (long) TEXT_007 , 6, 0, 7, 769 }; static OBJECT _05__MENU = { 2, -1, -1, 32, 0x0, 0x0, (long) TEXT_011 , 13, 0, 9, 769 }; static OBJECT _06__MENU = { 0, 7, 20, 25, 0x0, 0x0, 0x00000000L , 0, 769, 80, 19 }; static OBJECT _07__MENU = { 16, 8, 15, 20, 0x0, 0x0, 0x00ff1100L , 2, 0, 20, 8 }; static OBJECT _08__MENU = { 9, -1, -1, 28, 0x0, 0x2000, (long) TEXT_005 , 0, 0, 20, 1 }; static OBJECT _09__MENU = { 10, -1, -1, 28, 0x0, 0x2008, (long) TEXT_006 , 0, 1, 20, 1 }; static OBJECT _10__MENU = { 11, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 2, 20, 1 }; static OBJECT _11__MENU = { 12, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 3, 20, 1 }; static OBJECT _12__MENU = { 13, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 4, 20, 1 }; static OBJECT _13__MENU = { 14, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 5, 20, 1 }; static OBJECT _14__MENU = { 15, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 6, 20, 1 }; static OBJECT _15__MENU = { 7, -1, -1, 28, 0x0, 0x2000, (long) NULL_STRING , 0, 7, 20, 1 }; static OBJECT _16__MENU = { 20, 17, 19, 20, 0x0, 0x0, 0x00ff1101L , 8, 0, 14, 3 }; static OBJECT _17__MENU = { 18, -1, -1, 28, 0x0, 0x0, (long) TEXT_008 , 0, 0, 14, 1 }; static OBJECT _18__MENU = { 19, -1, -1, 28, 0x0, 0x8, (long) TEXT_009 , 0, 1, 14, 1 }; static OBJECT _19__MENU = { 16, -1, -1, 28, 0x0, 0x8, (long) TEXT_010 , 0, 2, 14, 1 }; static OBJECT _20__MENU = { 6, 21, 25, 20, 0x0, 0x0, 0x00ff1101L , 15, 0, 21, 5 }; static OBJECT _21__MENU = { 22, -1, -1, 28, 0x0, 0x8, (long) TEXT_012 , 0, 0, 21, 1 }; static OBJECT _22__MENU = { 23, -1, -1, 28, 0x0, 0x8, (long) TEXT_013 , 0, 1, 21, 1 }; static OBJECT _23__MENU = { 24, -1, -1, 28, 0x0, 0x8, (long) TEXT_014 , 0, 2, 21, 1 }; static OBJECT _24__MENU = { 25, -1, -1, 28, 0x0, 0x0, (long) TEXT_015 , 0, 3, 21, 1 }; static OBJECT _25__MENU = { 20, -1, -1, 28, 0x20, 0x8, (long) TEXT_016 , 0, 4, 21, 1 }; /* OBJECT TREES */ OBJECT DRAGS = { -1, 1, 7, 20, 0x0, 0x0, 0x00ff1100L , 0, 0, 22, 9 }; static OBJECT _01_DRAGS = { 3, -1, -1, 26, 0x2000, 0x0, (long) TEXT_001 , 2, 1, 7, 3 }; static AOBJECT _01aDRAGS = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_1 }; static OBJECT _03_DRAGS = { 5, -1, -1, 26, 0x2000, 0x0, (long) TEXT_002 , 13, 1, 7, 3 }; static AOBJECT _03aDRAGS = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_2 }; static OBJECT _05_DRAGS = { 7, -1, -1, 26, 0x2000, 0x0, (long) TEXT_003 , 2, 5, 7, 3 }; static AOBJECT _05aDRAGS = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, menu_make , Awi_open, Awi_init, &DRAGS , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_017 , NULL_STRING , 10000, 0x3, 0, -1, NULL, &_MENU , Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0xa, " ACS ACCESSORY", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'menu_make' Not defined yet by user */ /* 'menu_service' Not defined yet by user */ /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.BSP\DEMO_C.PRG\MENUE\MENUE.ACS compiled at: Fri Dec 04 13:31:32 1992 */ /* STRINGS */ /* MENU TREES */ extern OBJECT _MENU; #define SEL_0 ( 17) #define SEL_1 ( 18) #define SEL_ANY ( 19) #define OBJ1 ( 21) #define OBJ2 ( 22) #define OBJ23 ( 23) #define OBJnot4 ( 24) #define OBJxor34 ( 25) /* OBJECT TREES */ extern OBJECT DRAGS; /* WINDOWS */ extern Awindow DEMO; extern Adescr ACSdescr; /* ANSI-C Prototypes */ /* Beispielapplikation fr ACS "Menu" 3.9.91 (c) Stefan Bachert */ #include #include #include /* nicht wirklich notwendig in diesem Beispiel */ static Awindow *menu_make (void *not_used); static INT16 menu_service (Awindow *window, INT16 task, void *in_out); #define OBJ_1 (1) #define OBJ_2 (2) #define OBJ_3 (3) #define OBJ_4 (4) #include static void set_menu (Awindow *window) /* * Setze Meneintrge je nach selektiertem Objekt */ { AOBJECT *aob; OBJECT *menu; INT16 nr; INT16 count; INT16 o1, o2, o3, o4; count = o1 = o2 = o3 = o4 = 0; Aselect. next = 0; while ((nr = Adr_next ()) >= 0) { /* ermittele Zustand */ count ++; aob = (AOBJECT *) window-> work + nr + 1; switch (aob-> type) { case OBJ_1: o1 = 1; break; case OBJ_2: o2 = 1; break; case OBJ_3: o3 = 1; break; case OBJ_4: o4 = 1; break; default: break; }; }; menu = window-> menu; if (count == 0) menu [SEL_0]. ob_state &= ~DISABLED; else menu [SEL_0]. ob_state |= DISABLED; if (count == 1) menu [SEL_1]. ob_state &= ~DISABLED; else menu [SEL_1]. ob_state |= DISABLED; if (count > 0) menu [SEL_ANY]. ob_state &= ~DISABLED; else menu [SEL_ANY]. ob_state |= DISABLED; if (o1) menu [OBJ1]. ob_state &= ~DISABLED; else menu [OBJ1]. ob_state |= DISABLED; if (o2) menu [OBJ2]. ob_state &= ~DISABLED; else menu [OBJ2]. ob_state |= DISABLED; if (o2 && o3) menu [OBJ23]. ob_state &= ~DISABLED; else menu [OBJ23]. ob_state |= DISABLED; if (! o4) menu [OBJnot4]. ob_state &= ~DISABLED; else menu [OBJnot4]. ob_state |= DISABLED; if (o3 ^ o4) menu [OBJxor34]. ob_state &= ~DISABLED; else menu [OBJxor34]. ob_state |= DISABLED; } static INT16 menu_service (Awindow *window, INT16 task, void *in_out) /* * service Routine */ { switch (task) { case AS_TERM: /* fenster freigeben */ Awi_delete (window); break; case AS_SELECTDEL: case AS_SELECTADD: set_menu (window); break; case AS_DELETE: Adr_unselect (); break; default: return FALSE; }; return TRUE; } static Awindow *menu_make (void *not_used) /* * Erzeuge Hello World Fenster */ { Awindow *wi; wi = Awi_create (&DEMO); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &DEMO. create); return OK; } =u T'Ϟ| Ty T7= T<| T7 Tij>h 0 HA i$ i< @ii<iliT  .ACS8;z -ACS 1.0d ACS ACCESSORYoS_CH:ALERT LISTEDATA LISTZDEMOW_001b\nOUTLIN_Ctx0/ ", '.DRAGS_001_C       PFENSTER LISTE_CICON LISTEIMAGE LIST(MAUSFORM LISTE MENU LISTEoS.~ NULL_STRING nUSERP24 OBJ1h80  OBJ2, h OBJ23`8JOBJECT LISTEO3OBJ_1߶OBJ_2sten Kn OptionevOBJ_3h80 @0h,OBJ_4e Tn Tasten OBJnot4`<0$`ZؘOBJxor34|p`aJNPOPUP LISTEߖREFERENZ LISTE/0׺SEL_0e Tn Tasten pSEL_1h80 &SEL_ANYX]TEDINFO LISTEB֌HHTEXT LISTE  !"#$%&'()*+,߀TEXT_001OBJ 1ծTEXT_002@hOBJ 2dTEXT_003Dh80 OBJ 3TEXT_004~*:|<~5U=OBJ 4p TEXT_005h80  ber mich ...hԲ!TEXT_006 h--------------------X"TEXT_007 ^Ion Probe  Count Ӯ# TEXT_008h80  0 SelectedNӘ$ TEXT_009 6  1 Selected8%TEXT_010_______________________ >0 SelectedҒ& TEXT_011VP Complex 0z'TEXT_012] Obj 1 in List6(TEXT_0130n Info  Obj 2 in List)TEXT_014__n Info  Obj 2 & 3 in List j*TEXT_015nfo ^I n Pr Obj 4 not in List+TEXT_016be Tn Tast Obj 3 ^ 4 in List\, TEXT_017U< SELECTION r-USERBLK LISTE._MENU01_______________________ZZ  " & P    !         #$% ' ( )*+/menu_make<>耀80menu_service@8T _21_DETAIL = { 22, -1, -1, 28, 0x0, 0x0, (long) TEXT_003 , 2, 3, 7, 1 }; static OBJECT _22_DETAIL = { 23, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_001 , 14, 3, 35, 1 }; static OBJECT _23_DETAIL = { 24, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 2, 4, 4, 1 }; static OBJECT _24_DETAIL = { 25, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_002 , 7, 4,/* Beispielapplikation fr ACS "Hello World" mit eigenem Desktop 4.9.92 Stefan Bachert */ #include #include "desk.h" static Awindow *hello_make (void *not_used); static Awindow *desk_make (void *not_used); static INT16 desk_service (Awindow *window, INT16 task, void *in_out); static void new_window (void); static void any_where (void); #include "desk.ah" static void any_where (void) /* * frage */ { Ame_popup (ev_window, &ASK, -1, -1); } static void quit (void) { ACSblk-> ACSclose (); } static void about (void) { ACSblk-> ACSaboutme (); } static void new_window (void) /* * Weiteres Fenster */ { HELLO. create (NULL); } static Awindow *desk_make (void *not_used) /* * Erzeuge Desktop */ { Awindow *wi; wi = Awi_create (&MY_DESK); if (wi == NULL) return NULL; if (wi-> work == NULL) return wi; if (application && ! multitask) { wi-> work-> ob_x = desk. x; wi-> work-> ob_y = desk. y; wi-> work-> ob_width = desk. w; wi-> work-> ob_height = desk. h; } else { wi-> work-> ob_x = 0; wi-> work-> ob_y = 0; wi-> work-> ob_width = desk. w / 2; wi-> work-> ob_height = desk. h / 2; }; return wi; } static Awindow *hello_make (void *not_used) /* * Erzeuge Hello World Fenster */ { Awindow *wi; wi = Awi_create (&HELLO); if (wi == NULL) return NULL; if ((wi-> open) (wi)) { /* ffne gleich, auch als accessory */ Awi_delete (wi); return NULL; }; return wi; } static void term (Awindow *window) /* * Terminiert dieses Window */ { if (application) { Awi_delete (window); } else { Awi_closed (window); }; } static INT16 desk_service (Awindow *window, INT16 task, void *in_out) /* * */ { switch (task) { case AS_TERM: term (window); break; default: return FALSE; }; return TRUE; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = &HELLO; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } ICONS01&      IMAGE LIST MENU LISTJ MOUSEFORM LIST> OBJECTTREE LIST POPUP LISTTREFERENCE LIST TEDINFO LISTTEXT LIST/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.BSP\DEMO_C.PRG\OWN_DESK.\DESK.ACS compiled at: Wed Dec 09 20:50:12 1992 */ /* STRINGS */ /* MENU TREES */ extern OBJECT DESK_MENU; /* POPUP TREES */ extern OBJECT ASK; /* OBJECT TREES */ extern OBJECT DESK_INNER; extern OBJECT WORLD; /* WINDOWS */ extern Awindow HELLO; extern Awindow MY_DESK; extern Adescr ACSdescr; /* ANSI-C Prototypes */ /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.BSP\DEMO_C.PRG\OWN_DESK.\DESK.ACS compiled at: Wed Dec 09 20:50:12 1992 */ /* ANSI-C Prototypes */ static void about (void); static Awindow* desk_make (void* para); static INT16 desk_service (Awindow* wi, INT16 task, void *in_out); static Awindow* hello_make (void* para); static void quit (void); /* STRINGS */ static char TEXT_001 [] = "WORLD"; static char TEXT_002 [] = " HELLO WORLD "; static char TEXT_003 [] = ""; static char TEXT_004 [] = " HELLO WORLD's DESKTOP "; static char TEXT_005 [] = "HELLO"; static char TEXT_007 [] = " ber mich ..."; static char TEXT_008 [] = "--------------------"; static char TEXT_009 [] = " Quit ^Q"; static char TEXT_010 [] = " Datei "; static char TEXT_011 [] = " Neu ^N"; static char TEXT_012 [] = "--------"; static char TEXT_013 [] = "-----------"; static char TEXT_014 [] = " Neu"; static char TEXT_015 [] = " Quit"; static char TEXT_017 [] = " Info"; /* TEDINFOS */ static TEDINFO TEDI_001 = {TEXT_005, TEXT_003, TEXT_003, 3, 6, 2, 0x1101, 0, 1, 6, 1}; /* MENU TREES */ OBJECT DESK_MENU = { -1, 1, 5, 25, 0x0, 0x0, 0x00000000L , 0, 0, 90, 25 }; static OBJECT _01_DESK_MENU = { 5, 2, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 90, 513 }; static OBJECT _02_DESK_MENU = { 1, 3, 4, 25, 0x0, 0x0, 0x00000000L , 2, 0, 13, 769 }; static OBJECT _03_DESK_MENU = { 4, -1, -1, 32, 0x0, 0x2000, (long) TEXT_003 , 0, 0, 6, 769 }; static OBJECT _04_DESK_MENU = { 2, -1, -1, 32, 0x0, 0x0, (long) TEXT_010 , 6, 0, 7, 769 }; static OBJECT _05_DESK_MENU = { 0, 6, 15, 25, 0x0, 0x0, 0x00000000L , 0, 769, 80, 19 }; static OBJECT _06_DESK_MENU = { 15, 7, 14, 20, 0x0, 0x0, 0x00ff1100L , 2, 0, 20, 8 }; static OBJECT _07_DESK_MENU = { 8, -1, -1, 28, 0x0, 0x2000, (long) TEXT_007 , 0, 0, 20, 1 }; static OBJECT _08_DESK_MENU = { 9, -1, -1, 28, 0x0, 0x2008, (long) TEXT_008 , 0, 1, 20, 1 }; static OBJECT _09_DESK_MENU = { 10, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 2, 20, 1 }; static OBJECT _10_DESK_MENU = { 11, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 3, 20, 1 }; static OBJECT _11_DESK_MENU = { 12, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 4, 20, 1 }; static OBJECT _12_DESK_MENU = { 13, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 5, 20, 1 }; static OBJECT _13_DESK_MENU = { 14, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 6, 20, 1 }; static OBJECT _14_DESK_MENU = { 6, -1, -1, 28, 0x0, 0x2000, (long) TEXT_003 , 0, 7, 20, 1 }; static OBJECT _15_DESK_MENU = { 5, 16, 20, 20, 0x0, 0x0, 0x00ff1101L , 8, 0, 11, 3 }; static OBJECT _16_DESK_MENU = { 18, -1, -1, 28, 0x0, 0x0, (long) TEXT_011 , 0, 0, 11, 1 }; static AOBJECT _16aDESK_MENU = {new_window , NULL , 0x8000, 0xe, NULL , NULL , 0x0, 0 }; static OBJECT _18_DESK_MENU = { 20, -1, -1, 28, 0x0, 0x0, (long) TEXT_009 , 0, 2, 11, 1 }; static AOBJECT _18aDESK_MENU = {quit , NULL , 0x8000, 0x11, NULL , NULL , 0x0, 0 }; static OBJECT _20_DESK_MENU = { 15, -1, -1, 28, 0x20, 0x8, (long) TEXT_013 , 0, 1, 11, 1 }; /* POPUP TREES */ OBJECT ASK = { -1, 1, 6, 20, 0x0, 0x20, 0x00ff1100L , 0, 0, 8, 4 }; static OBJECT _01_ASK = { 3, -1, -1, 28, 0x0, 0x0, (long) TEXT_015 , 0, 3, 8, 1 }; static AOBJECT _01aASK = {quit , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _03_ASK = { 4, -1, -1, 28, 0x0, 0x8, (long) TEXT_012 , 0, 2, 8, 1 }; static OBJECT _04_ASK = { 6, -1, -1, 28, 0x0, 0x0, (long) TEXT_014 , 0, 1, 8, 1 }; static AOBJECT _04aASK = {new_window , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _06_ASK = { 0, -1, -1, 28, 0x0, 0x0, (long) TEXT_017 , 0, 0, 8, 1 }; static AOBJECT _06aASK = {about , NULL , 0x8020, 0x0, NULL , NULL , 0x0, 0 }; /* OBJECT TREES */ OBJECT DESK_INNER = { -1, 2, 2, 20, 0x40, 0x0, 0x00001111L , 0, 0, 43, 16 }; static AOBJECT _00aDESK_INNER = {any_where , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _02_DESK_INNER = { 0, -1, -1, 22, 0x5, 0x30, (long) &TEDI_001 , 9, 9, 9, 3 }; static AOBJECT _02aDESK_INNER = {new_window , NULL , 0x8020, 0x0, NULL , NULL , 0x0, 0 }; OBJECT WORLD = { -1, 1, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 16, 5 }; static OBJECT _01_WORLD = { 2, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 5, 1, 6, 1 }; static OBJECT _02_WORLD = { 0, -1, -1, 28, 0x20, 0x0, (long) TEXT_001 , 5, 3, 5, 1 }; /* WINDOWS */ Awindow HELLO = { NULL, Awi_service, hello_make , Awi_open, Awi_init, &WORLD , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_003 , 10000, 0x4, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Awindow MY_DESK = { NULL, desk_service, desk_make , Awi_open, Awi_init, &DESK_INNER , NULL, 0, 0, -1, 0xfef, { 0, 0, 99, 99}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_004 , TEXT_003 , 10000, 0x4, 0, -1, NULL, &DESK_MENU , Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " HELLO WORLD", &MY_DESK , NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'about' Not defined yet by user */ /* 'desk_make' Not defined yet by user */ /* 'desk_service' Not defined yet by user */ /* 'hello_make' Not defined yet by user */ /* 'quit' Not defined yet by user */ Holzgerlingen, 20.12.91 Der Wunsch einen eigenen Desktop zu installieren, wurde mehrfach geuert. Der Verzicht auf den generischen Desktop bedeutet ein Verlust an Funktionalitt, sofern diese nicht doch wieder selbst programmiert wird. Die Demo zeigt wie ein einfacher Desktop installiert wird. Beachten Sie, da Fenster nicht ikonifiziert werden knnen, da die entsprechende Funktion nicht implementiert wurde. Daher tragen alle Fenster das Flag 'AW_STAY'. Stefan BachertWx £~ށFBAIB ; LINE-A library ; THIS IS THE END prev = NULL; do { record = Ax_malloc (sizeof (RECORD)); if (record == NULL) break; link = Ax_malloc (sizeof (LINK)); if (link == NULL) break; if (1 != fread (record, sizeof (RECORD), 1, file)) { break; /* fehler */ }; user-> n ++; link-> record = record; if (prev == NULL) { /* erster */ user-> first = link; } else { prev-> next = link; }; link-> prev = prev; prev = link; } while (! feof (file)); if (user-> n ==; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\MY_DESK.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code DESK.C (DESK.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ect. next = 0; while ((nr = Adr_next ()) >= 0) { /* ermittele Zustand */ count ++; aob = (AOBJECT *) window-> work + nr + 1; switch (aob-> type) { case OBJ_1: o1 = 1; break; case OBJ_2: o2 = 1; break; case OBJ_3: o3 = 1; break; case OBJ_4: o4 = 1; break; default: break; }; }; menu = window-> menu; if (count == 0) menu.ACS8čB  " ACS 1.0d HELLO WORLDY _CoS8ALERT LISTEb4ASKP0013X _C  *)!$DATA LISTVppDESK_INNER@+%0 )((DESK_MENUoSZZ   P               ) * FENSTER LISTEoS HELLO_001b SoStx(# "'XICON LISTE IMAGE LIST MAUSFORM LISTEn MENU LISTE_C MY_DESK3tx'&cc'4~ OBJECT LISTE#(POPUP LISTE?#pDREFERENZ LISTE$%&'()*dTEDINFO LISTETEDI_001_______________________h<<TEXT LISTE !TEXT_001hEWORLDfTEXT_002ϸϨtτ HELLO WORLD \TEXT_003UUT5UUUV? TEXT_004 HELLO WORLD's DESKTOP PTEXT_005UUSHELLO8TEXT_007UU_UUUU ber mich ...TEXT_008=UUUUU0uUUU--------------------(r TEXT_009hdZ % Quit ^QTEXT_010 ^In Probe  Datei p TEXT_011 ^In Probe  Neu ^N^ TEXT_012 Tn Optione-------- TEXT_013_______________________-----------^TEXT_014UUUUꪪ NeuN TEXT_0150at| % Quit!TEXT_017@@0 Info`"USERBLK LISTET#WORLD_001f$about%any_where5u &desk_make R z'desk_serviceigCnvT >(hello_make?Uffg)new_window Tn Optione*quit' ( )*+/menu_make<>耀80menu_service@8T _21_DETAIL = { 22, -1, -1, 28, 0x0, 0x0, (long) TEXT_003 , 2, 3, 7, 1 }; static OBJECT _22_DETAIL = { 23, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_001 , 14, 3, 35, 1 }; static OBJECT _23_DETAIL = { 24, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 2, 4, 4, 1 }; static OBJECT _24_DETAIL = { 25, -1, -1, 29, 0x8, 0x0, (long) &TEDINFO_002 , 7, 4,.ACS8N/M .?ACS 1.0d PIANOWORLDY_CoS8L(void *) 1046502L\Lx(void *) 1108731LVdL.(void *) 1174659LMausindex: K(void *) 440000L| %K(void *) 466164L$ PKP(void *) 493883LXXXXXXXXXXXXXXXK(void *) 523251L * ԌJ(void *) 554365L␀ Jr (void *) 587330LAͪJ( (void *) 622254L I (void *) 659255Ln OptioneI (void *) 698456LT_ŎABBRIJ (void *) 739989L P PI(void *) 783991Ln 0XH(void *) 830609L  Hl(void *) 880000LĈƾƲƦH"(void *) 932328Ln Probe G(void *) 987767L \WALERT LISTEGWDATA LISTG8GFENSTER LISTEoSFICON LISTEFIMAGE LISTiiX  KEYS_001@A00A*0(CS0)B0 ,A,DxA%Db A,$D. A+Dy A- Dc A$Dv A'Dn A*DmA+ D,A-(D-A*D<,0A!Da0 A&DdA Df 0 A"Dh A#DjA!Dk0&A&DhMAUSFORM LISTEhzMENU LISTEh$hnOBJECT LISTEgDgPIANO_001b SO3txA@ M01'fPOPUP LISTEfLf\\REFERENZ LISTE @ABCDef 88TEDINFO LISTE !"#$%&'()*+,-eTe TEDI_002:11qde0!TEDI_003911qdxd"TEDI_004 h<11qd dT#TEDI_0050 2 @=11qcc$TEDI_007  711pc.cx%TEDI_008 811pbc &TEDI_009  >11qbRb'TEDI_010;11pab.(TEDI_014`P |411ava)TEDI_015@(0H 311aaR*TEDI_016>n/11p``+TEDI_017@ P@0211p`,`v,TEDI_018 511p_`-TEDI_019>X611p_,_v.@@TEXT LISTE/0123456789:;<=>^_"/TEXT_001nABBRUCHA^~^0TEXT_002UUUUUUUUUUUUUUUU Piano ^*^t1TEXT_003@p]^ 2TEXT_004 ^In Probe H]~]3TEXT_005nPLAY]&]p4TEXT_006UUUUUUUjSTART\]5TEXT_007 Probe TnC\~\6TEXT_008D\*\t7TEXT_009 L \ < E[\ 8TEXT_010 ^I:n Probe F[[9TEXT_011A#[*[t:TEXT_013D#Z[ ;TEXT_014 ^In Probe GZZ<TEXT_015 jhmF#Z*Zt=TEXT_016@0@ $G#YZ>TEXT_018 hmC#Y?USERBLK LISTEY@@piano_makeXApiano_serviceUUUUUUUUUUXBplay nXbCstartt*/ADtonProbe Tn Optione; ACS Example Program (c) 1992 Stefan Bachert ; ..\..\PRG\PIANO.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code PIANO.C (PIANO.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END END ht = len; break; } aud. type2 = aud. type3 = NONE_PAR; aud. data2 = aud. data3 = NULL; aud. len2 = aud. len3 = 0; (data. interface-> set) (&aud, width, height); abort (); } static void trans (void) /* * Transparent */ { long* b; b = &ev_object [EXAMPLE]. ob_spec. userblk-> ub_parm; *b &= 0xfffffffbL; update (); }/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\PIANO\PIANO.ACS compiled at: Tue Nov 17 14:13:28 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT KEYS; /* WINDOWS */ extern Awindow PIANO; extern Adescr ACSdescr; /* ANSI-C Prototypes */ $y+guQQrZ2owYjy ɄˆI)oFp3iJ\P,5ܸ6Йcq7Cy4e6es5UDѡB]DwvsxFgpBW|1Adqm_05_DRAGS = { 7, -1, -1, 26, 0x2000, 0x0, (long) TEXT_003 , 2, 5, 7, 3 }; static AOBJECT _05aDRAGS = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, m/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\PIANO\PIANO.ACS compiled at: Tue Nov 17 14:13:30 1992 */ /* ANSI-C Prototypes */ static Awindow* piano_make (void* para); static INT16 piano_service (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char TEXT_001 [] = "A"; static char TEXT_002 [] = " Piano "; static char TEXT_003 [] = ""; static char TEXT_004 [] = "H"; static char TEXT_005 [] = "PLAY"; static char TEXT_006 [] = "START"; static char TEXT_007 [] = "C"; static char TEXT_008 [] = "D"; static char TEXT_009 [] = "E"; static char TEXT_010 [] = "F"; static char TEXT_011 [] = "A#"; static char TEXT_013 [] = "D#"; static char TEXT_014 [] = "G"; static char TEXT_015 [] = "F#"; static char TEXT_016 [] = "G#"; static char TEXT_018 [] = "C#"; /* TEDINFOS */ static TEDINFO TEDI_002 = {TEXT_013, TEXT_003, TEXT_003, 3, 6, 2, 0x71, 0, 1, 3, 1}; static TEDINFO TEDI_003 = {TEXT_011, TEXT_003, TEXT_003, 3, 6, 2, 0x71, 0, 1, 3, 1}; static TEDINFO TEDI_004 = {TEXT_015, TEXT_003, TEXT_003, 3, 6, 2, 0x71, 0, 1, 3, 1}; static TEDINFO TEDI_005 = {TEXT_016, TEXT_003, TEXT_003, 3, 6, 2, 0x71, 0, 1, 3, 1}; static TEDINFO TEDI_007 = {TEXT_009, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_008 = {TEXT_010, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_009 = {TEXT_018, TEXT_003, TEXT_003, 3, 6, 2, 0x71, 0, 1, 3, 1}; static TEDINFO TEDI_010 = {TEXT_014, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_014 = {TEXT_006, TEXT_003, TEXT_003, 3, 6, 2, 0x1180, 0, 1, 6, 1}; static TEDINFO TEDI_015 = {TEXT_005, TEXT_003, TEXT_003, 3, 6, 2, 0x1180, 0, 1, 5, 1}; static TEDINFO TEDI_016 = {TEXT_001, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_017 = {TEXT_004, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_018 = {TEXT_007, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; static TEDINFO TEDI_019 = {TEXT_008, TEXT_003, TEXT_003, 3, 6, 2, 0x1170, 0, 1, 2, 1}; /* OBJECT TREES */ OBJECT KEYS = { -1, 1, 29, 20, 0x40, 0x1, 0x00001141L , 0, 0, 48, 16 }; static OBJECT _01_KEYS = { 6, 2, 4, 20, 0x0, 0x30, 0x00011141L , 3, 1, 42, 3 }; static OBJECT _02_KEYS = { 4, -1, -1, 22, 0x5, 0x30, (long) &TEDI_014 , 4, 2048, 8, 2 }; static AOBJECT _02aKEYS = {start , NULL , 0x8000, 0x8053, NULL , NULL , 0x0, 0 }; static OBJECT _04_KEYS = { 1, -1, -1, 22, 0x5, 0x30, (long) &TEDI_015 , 30, 2048, 8, 2 }; static AOBJECT _04aKEYS = {play , NULL , 0x8000, 0x801c, NULL , NULL , 0x0, 0 }; static OBJECT _06_KEYS = { 29, 7, 27, 20, 0x0, 0x30, 0x00011101L , 2, 10, 44, 5 }; static OBJECT _07_KEYS = { 9, -1, -1, 22, 0x41, 0x0, (long) &TEDI_018 , 8, 0, 4, 5 }; static AOBJECT _07aKEYS = {ton , NULL , 0x8000, 0x78, (void *) 523251L, NULL , 0x0, 0 }; static OBJECT _09_KEYS = { 11, -1, -1, 22, 0x41, 0x0, (long) &TEDI_008 , 20, 0, 4, 5 }; static AOBJECT _09aKEYS = {ton , NULL , 0x8000, 0x62, (void *) 698456L, NULL , 0x0, 0 }; static OBJECT _11_KEYS = { 13, -1, -1, 22, 0x41, 0x0, (long) &TEDI_018 , 36, 0, 4, 5 }; static AOBJECT _11aKEYS = {ton , NULL , 0x8000, 0x2e, (void *) 1046502L, NULL , 0x0, 0 }; static OBJECT _13_KEYS = { 15, -1, -1, 22, 0x41, 0x0, (long) &TEDI_017 , 4, 0, 4, 5 }; static AOBJECT _13aKEYS = {ton , NULL , 0x8000, 0x79, (void *) 493883L, NULL , 0x0, 0 }; static OBJECT _15_KEYS = { 17, -1, -1, 22, 0x41, 0x0, (long) &TEDI_019 , 12, 0, 4, 5 }; static AOBJECT _15aKEYS = {ton , NULL , 0x8000, 0x63, (void *) 587330L, NULL , 0x0, 0 }; static OBJECT _17_KEYS = { 19, -1, -1, 22, 0x41, 0x0, (long) &TEDI_007 , 16, 0, 4, 5 }; static AOBJECT _17aKEYS = {ton , NULL , 0x8000, 0x76, (void *) 659255L, NULL , 0x0, 0 }; static OBJECT _19_KEYS = { 21, -1, -1, 22, 0x41, 0x0, (long) &TEDI_010 , 24, 0, 4, 5 }; static AOBJECT _19aKEYS = {ton , NULL , 0x8000, 0x6e, (void *) 783991L, NULL , 0x0, 0 }; static OBJECT _21_KEYS = { 23, -1, -1, 22, 0x41, 0x0, (long) &TEDI_016 , 28, 0, 4, 5 }; static AOBJECT _21aKEYS = {ton , NULL , 0x8000, 0x6d, (void *) 880000L, NULL , 0x0, 0 }; static OBJECT _23_KEYS = { 25, -1, -1, 22, 0x41, 0x0, (long) &TEDI_017 , 32, 0, 4, 5 }; static AOBJECT _23aKEYS = {ton , NULL , 0x8000, 0x2c, (void *) 987767L, NULL , 0x0, 0 }; static OBJECT _25_KEYS = { 27, -1, -1, 22, 0x41, 0x0, (long) &TEDI_019 , 40, 0, 4, 5 }; static AOBJECT _25aKEYS = {ton , NULL , 0x8000, 0x2d, (void *) 1174659L, NULL , 0x0, 0 }; static OBJECT _27_KEYS = { 6, -1, -1, 22, 0x41, 0x0, (long) &TEDI_016 , 0, 0, 4, 5 }; static AOBJECT _27aKEYS = {ton , NULL , 0x8000, 0x3c, (void *) 440000L, NULL , 0x0, 0 }; static OBJECT _29_KEYS = { 0, 30, 45, 25, 0x0, 0x0, 0x00001100L , 2, 6, 44, 5 }; static OBJECT _30_KEYS = { 33, 31, 31, 20, 0x0, 0x30, 0x00ff1101L , 2, 0, 4, 5 }; static OBJECT _31_KEYS = { 30, -1, -1, 22, 0x41, 0x0, (long) &TEDI_003 , 0, 0, 4, 5 }; static AOBJECT _31aKEYS = {ton , NULL , 0x8000, 0x61, (void *) 466164L, NULL , 0x0, 0 }; static OBJECT _33_KEYS = { 38, 34, 36, 20, 0x0, 0x30, 0x00ff1101L , 10, 0, 8, 5 }; static OBJECT _34_KEYS = { 36, -1, -1, 22, 0x41, 0x0, (long) &TEDI_009 , 0, 0, 4, 5 }; static AOBJECT _34aKEYS = {ton , NULL , 0x8000, 0x64, (void *) 554365L, NULL , 0x0, 0 }; static OBJECT _36_KEYS = { 33, -1, -1, 22, 0x41, 0x0, (long) &TEDI_002 , 4, 0, 4, 5 }; static AOBJECT _36aKEYS = {ton , NULL , 0x8000, 0x66, (void *) 622254L, NULL , 0x0, 0 }; static OBJECT _38_KEYS = { 45, 39, 43, 20, 0x0, 0x30, 0x00ff1101L , 22, 0, 12, 5 }; static OBJECT _39_KEYS = { 41, -1, -1, 22, 0x41, 0x0, (long) &TEDI_004 , 0, 0, 4, 5 }; static AOBJECT _39aKEYS = {ton , NULL , 0x8000, 0x68, (void *) 739989L, NULL , 0x0, 0 }; static OBJECT _41_KEYS = { 43, -1, -1, 22, 0x41, 0x0, (long) &TEDI_005 , 4, 0, 4, 5 }; static AOBJECT _41aKEYS = {ton , NULL , 0x8000, 0x6a, (void *) 830609L, NULL , 0x0, 0 }; static OBJECT _43_KEYS = { 38, -1, -1, 22, 0x41, 0x0, (long) &TEDI_003 , 8, 0, 4, 5 }; static AOBJECT _43aKEYS = {ton , NULL , 0x8000, 0x6b, (void *) 932328L, NULL , 0x0, 0 }; static OBJECT _45_KEYS = { 29, 46, 46, 20, 0x0, 0x30, 0x00ff1101L , 38, 0, 4, 5 }; static OBJECT _46_KEYS = { 45, -1, -1, 22, 0x41, 0x0, (long) &TEDI_009 , 0, 0, 4, 5 }; static AOBJECT _46aKEYS = {ton , NULL , 0x8020, 0x94, (void *) 1108731L, NULL , 0x0, 0 }; /* WINDOWS */ Awindow PIANO = { NULL, piano_service, piano_make , Awi_open, Awi_init, &KEYS , NULL, 0, 0, -1, 0xb, { 0, 0, 77, 21}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_003 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " PIANO", &DESKTOP, &PIANO , { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'piano_make' Not defined yet by user */ /* 'piano_service' Not defined yet by user */ nr + 1; switch (aob-> type) { case OBJ_1: o1 = 1; break; case OBJ_2: o2 = 1; break; case OBJ_3: o3 = 1; break; case OBJ_4: o4 = 1; break; default: break; }; }; menu = window-> menu; if (count == 0) menu/* Beispielapplikation fr ACS "Piano" 14.1.92 Stefan Bachert */ #include #include #include #include /* Prototypen anlegen */ static void ton (void); static void start (void); static void play (void); static Awindow *piano_make (void *not_used); static INT16 piano_service (Awindow *window, INT16 task, void *in_out); #include #define MAXSOUND 200 typedef struct { INT16 key; long time; } single; typedef struct { INT16 next; single field [MAXSOUND]; } tape; /* Soundgenerator ansteuern */ static char sound [] = { 0x00, 0x10, /* Generator A Frequenz einstellen */ 0x01, 0x10, 0x07, 0xf8, /* Rauschen ausschalten */ 0x0b, 0x00, /* Tonlnge Hllkurve */ 0x0c, 0x30, 0x08, 0x17, /* Lautstrke */ 0x0d, 0x00, /* Hllkurve abklingend */ 0xff, 0x00 /* stop */ }; static long timer_200Hz (void) { return *((long *) 0x4BA); /* holt 200Hz Timer */ } static void ton (void) /* * lt ton der Frequenz (userp1) / 1000 ertnen * */ { AOBJECT *aob; INT16 next; long val, timer; tape *user; aob = (AOBJECT *) ev_object + ev_obnr + 1; val = 125000000L / (long) aob-> userp1; /* berechne Teilerwert */ sound [1] = (char) val; /* unteres Byte */ sound [3] = (char) (val >> 8) & 0x0f; /* oberes (Halb) Byte */ timer = Supexec (timer_200Hz); /* merke Zeitpunkt */ Dosound (sound); evnt_timer (80, 0); /* x Milli Sec warten (visuelle Rckmeldung) */ /* aufzeichnen */ user = ev_window-> user; next = user-> next ++; if (next >= MAXSOUND) return; /* tape voll */ user-> field [next]. key = ev_obnr; user-> field [next]. time= timer; } static void start (void) /* * Beginnt am Anfang mit dem Aufzeichnen, Lschen ! */ { tape *user; user = ev_window-> user; user-> next = 0; } static void play (void) /* * Spielt Band ab */ { Awindow *window; OBJECT *work; AOBJECT *aob; tape *user; long st_time, nxt_time, val; INT16 act, key; INT16 t, button; window = ev_window; work = ev_object; user = window-> user; st_time = Supexec (timer_200Hz) - user-> field-> time; /* erste Zeit berspringen */ for (act = 0; act < user-> next; act ++) { nxt_time = st_time + user-> field [act]. time; while (Supexec (timer_200Hz) < nxt_time) { graf_mkstate (&t, &t, &button, &t); /* abbruch Maustaste */ if (button != 0) break; }; /* warte */ key = user-> field [act]. key; aob = (AOBJECT *) work + key + 1; val = 125000000L / (long) aob-> userp1; /* berechne Teilerwert */ sound [1] = (char) val ; /* unteres Byte */ sound [3] = (char) (val >> 8) & 0x0f; /* oberes (Halb) Byte */ (window-> obchange) (window, key, work [key]. ob_state | SELECTED); Dosound (sound); evnt_timer (80, 0); /* x Milli Sec warten (visuelle Rckmeldung) */ (window-> obchange) (window, key, work [key]. ob_state & ~SELECTED); graf_mkstate (&t, &t, &button, &t); /* abbruch Maustaste*/ if (button != 0) break; }; } static Awindow *piano_make (void *not_used) /* * Erzeuge Piano Fenster */ { Awindow *wi; tape *user; wi = Awi_create (&PIANO); if (wi == NULL) return NULL; user = wi-> user = Ax_malloc (sizeof (tape)); /* Datenstruktur anlegen */ if (user == NULL) return NULL; /* Fehler passiert */ user-> next = 0; /* Initialisieren */ if (application) { (wi-> open) (wi); /* ffne gleich */ }; return wi; } static INT16 piano_service (Awindow *window, INT16 task, void *in_out) { switch (task) { case AS_TERM: /* Fenster freigeben */ Ax_free (window-> user); /* Struktur freigeben */ Awi_delete (window); break; default: return FALSE; }; return TRUE; } static char oldconterm; /* fr ursprnglichen Wert */ static long off_click (void) { oldconterm = *((char *) 0x484); *((char *) 0x484) &= ~3; /* kein click und keine Tastenwiederholung */ return 0L; } static long old_click (void) { *((char *) 0x484) = oldconterm; return 0L; } void ACSterm (void) { Supexec (old_click); /* alter Zustand */ } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; Supexec (off_click); /* click ausschalten */ if (application) { window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &PIANO. create); window = &PIANO; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ }; return OK; } f$about%any_where5u &desk_make R z'desk_serviceigCnvT/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\PLOT\PLOT.ACS compiled at: Wed Dec 02 21:29:06 1992 */ /* STRINGS */ /* OBJECT TREES */ /* WINDOWS */ extern Adescr ACSdescr; /* ANSI-C Prototypes */ extern INT16 CDECL A_3Dbutton (PARMBLK* pb); extern INT16 Auo_string (OBJECT* entry, INT16 task, void* in_out); P 3<6< $'r0/.Vl3d"aͨA:5$ L)f6 & Hd(/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\PLOT\PLOT.ACS compiled at: Wed Dec 02 21:29:08 1992 */ /* ANSI-C Prototypes */ static void area (void); static void circle (void); static void clear (void); static INT16 plot_init (Awindow* wi); static Awindow* plot_make (void* para); static void text (void); /* STRINGS */ static char TEXT_01 [] = ""; static char TEXT_02 [] = "Ausgaben"; static char TEXT_03 [] = " CONTROL "; static char TEXT_04 [] = "Texte"; static char TEXT_05 [] = "Ellipsen"; static char TEXT_06 [] = "Lschen"; static char TEXT_08 [] = "Flchen"; /* TEDINFOS */ static TEDINFO TEDINFO_01 = {TEXT_02, TEXT_01, TEXT_01, 3, 6, 2, 0x1071, 0, 0, 9, 1}; /* AUSERBLK */ static AUSERBLK A_3DBUTTON01 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_04 , NULL, NULL}; static AUSERBLK A_3DBUTTON02 = {A_3Dbutton, 0x29010178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON03 = {A_3Dbutton, 0x20219178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON04 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_08 , NULL, NULL}; static AUSERBLK A_3DBUTTON05 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_05 , NULL, NULL}; static AUSERBLK A_3DBUTTON06 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_06 , NULL, NULL}; /* OBJECT TREES */ static OBJECT CONTDIA = { -1, 1, 9, 24, 0x0, 0x10, (long) &A_3DBUTTON02 , 0, 0, 26, 9 }; static OBJECT _01_CONTDIA = { 3, 2, 2, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 2, 1, 22, 1 }; static OBJECT _02_CONTDIA = { 1, -1, -1, 22, 0x0, 0x0, (long) &TEDINFO_01 , 0, 0, 22, 1 }; static OBJECT _03_CONTDIA = { 5, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON04 , 2, 3, 10, 2 }; static AOBJECT _03aCONTDIA = {area , NULL , 0x8000, 0x8821, NULL , NULL , 0x0, 0 }; static OBJECT _05_CONTDIA = { 7, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON05 , 14, 3, 10, 2 }; static AOBJECT _05aCONTDIA = {circle , NULL , 0x8000, 0x8812, NULL , NULL , 0x0, 0 }; static OBJECT _07_CONTDIA = { 9, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON01 , 2, 6, 10, 2 }; static AOBJECT _07aCONTDIA = {text , NULL , 0x8000, 0x8814, NULL , NULL , 0x0, 0 }; static OBJECT _09_CONTDIA = { 0, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON06 , 14, 6, 10, 2 }; static AOBJECT _09aCONTDIA = {clear , NULL , 0x8020, 0x8826, NULL , NULL , 0x0, 0 }; /* WINDOWS */ Awindow CONTROL = { NULL, Awi_service, plot_make , Awi_open, plot_init , &CONTDIA , NULL, 0, 0, -1, 0xfef, { 0, 0, 120, 50}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_03 , TEXT_01 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x33, " ACS Plot-Test", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; BA@G@@@CBBBBBBB0BP BC@G@@file_makecccn.ACS]ԎǦ"!ACS 2.03 ACS Plot-Test 3O3H\0x20219178L0x29010178L0x29110178L~ALERT LIST^A_3DBUTTON01  ŪA_3DBUTTON02  @ŊA_3DBUTTON03   A_3DBUTTON04  lĶ A_3DBUTTON05  L A_3DBUTTON06  ø A_3Dbuttonn Auo_stringd CONTDIAoS  #!  $ (  %&CONTROL1O#tx'& x2':DATA LISTICON LISTIMAGE LIST\MENU LISTMOUSEFORM LISTOBJECTTREE LISTO3 rPOPUP LIST>,,REFERENCE LIST #$%&'(TEDINFO LIST0zTEDINFO_01q  TEXT LIST nTEXT_01\ TEXT_02Ausgaben TEXT_03 CONTROL ^TEXT_04TexteL TEXT_05EllipsenTEXT_06LschenN TEXT_08Flchen.!USERBLK LIST "WINDOW LISTCD#area$circle%clearf&plot_init'plot_make(text/* Beispielapplikation fr ACS "Plot" 2.12.92 Stefan Bachert */ #include #include #include #include "plot.h" #include "plot.ah" static Awindow* plotter; static INT16 count = 0; static void clear (void) { if (plotter != NULL) { w_clr (plotter); w_update (plotter); } } static void area (void) { INT16 handle; INT16 pxy [4]; if (plotter != NULL) { count = 50; /* Eine Weile Ruhe */ (plotter-> service) (plotter, AS_PLOTHANDLE, &handle); pxy [0] = pxy [2] = (63 & rand ()) << 2; pxy [1] = pxy [3] = (63 & rand ()) << 2; pxy [2] += ((15 & rand ()) << 2) + 15; pxy [3] += ((15 & rand ()) << 2) + 15; vswr_mode (handle, MD_REPLACE); vsf_color (handle, (rand () % (ncolors - 1)) + 1); vsf_interior (handle, FIS_PATTERN); vsf_style (handle, (15 & rand ()) + 1); vsf_perimeter (handle, TRUE); w_bar (plotter, pxy); w_update (plotter); } } static void text (void) { INT16 handle; char name [32]; INT16 fontid, i; INT16 point, temp; INT16 x, y; if (plotter != NULL) { count = 50; /* Eine Weile Ruhe */ (plotter-> service) (plotter, AS_PLOTHANDLE, &handle); i = (rand () % ACSblk-> fonts) + 1; fontid = vqt_name (handle, i, name); vst_font (handle, fontid); point = vst_point (handle, 99, &temp, &temp, &temp, &temp); if (point > 99 || point < 1) return; point = vst_point (handle, point >> 1, &temp, &temp, &temp, &temp); x = (63 & rand ()) << 2; y = (63 & rand ()) << 2; vswr_mode (handle, MD_REPLACE); vst_color (handle, (rand () % (ncolors - 1)) + 1); vst_effects (handle, 0); vst_rotation (handle, 0); vst_alignment (handle, 0, 5, &temp, &temp); w_gtext (plotter, x, y, "Textprobe"); w_update (plotter); } } static void circle (void) { INT16 handle; INT16 x, y, xrad, yrad; if (plotter != NULL) { count = 50; /* Eine Weile Ruhe */ (plotter-> service) (plotter, AS_PLOTHANDLE, &handle); x = (63 & rand ()) << 2; y = (63 & rand ()) << 2; xrad = ((15 & rand ()) << 1) + 7; yrad = ((15 & rand ()) << 1) + 7; vswr_mode (handle, MD_REPLACE); vsf_color (handle, (rand () % (ncolors - 1)) + 1); vsf_interior (handle, FIS_PATTERN); vsf_style (handle, (15 & rand ()) + 1); vsf_perimeter (handle, TRUE); w_ellipse (plotter, x, y, xrad, yrad); w_update (plotter); } } static INT16 plot_init (Awindow* wi) { static INT16 update = 0; INT16 handle; INT16 x, y; wi-> state |= AWS_LATEUPDATE; if (plotter == NULL) return OK; count --; if (count > 0) return OK; count = 0; (plotter-> service) (plotter, AS_PLOTHANDLE, &handle); x = (63 & rand ()) << 2; y = (63 & rand ()) << 2; vswr_mode (handle, MD_REPLACE); vsf_color (handle, BLACK); vsf_interior (handle, FIS_HOLLOW); vsf_perimeter (handle, TRUE); w_circle (plotter, x, y, 5); update --; if (update <= 0) { update = 5; /* Jeden 5. Hauptschleifendurchlauf updaten */ w_update (plotter); } return OK; } static Awindow *plot_make (void *not_used) /* * Erzeuge Steuerfenster */ { Awindow *wi; wi = Awi_create (&CONTROL); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { plotter = PLOTTER. create (NULL); /* Plotter erzeugen */ CONTROL. create (NULL); /* sofort ein Fenster erzeugen */ if (plotter != NULL) { (plotter-> open) (plotter); } return OK; } ; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\PLOT.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code PLOT.C (PLOT.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACSPlus Library ;PCBGILIB.LIB ; BGI library PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END LL) break; link = Ax_malloc (sizeof (LINK)); if (link == NULL) break; if (1 != fread (record, sizeof (RECORD), 1, file)) { break; /* fehler */ }; user-> n ++; link-> record = record; if (prev == NULL) { /* erster */ user-> first = link; } else { prev-> next = link; }; link-> prev = prev; prev = link; } while (! feof (file)); if (user-> n ==/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\PROTO\PROTO.ACS compiled at: Sat Nov 28 12:24:46 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT CONTDIA; /* WINDOWS */ extern Awindow CONTROL; extern Adescr ACSdescr; /* ANSI-C Prototypes */ extern INT16 CDECL A_3Dbutton (PARMBLK* pb); extern INT16 Auo_string (OBJECT* entry, INT16 task, void* in_out); U/* L 4s@Iæ ;i); /* ffne gleich, auch als accessory */ return wi; } static INT16 inp_service (Awindow *window, INT16 task, void *in_out) /* * service Routine */ { char *p; INT16 obnr; switch (task) { case AS_TERM: /* Fenster freigeben */ Awi_delete (window); break; case AS_FOCUSCHG: /* Vor Focus change */ obnr = window-> ob_edit; /* da war Focus zuvor */ if (obnr >= 0) { p = window-> work [obnr]. ob_spec. tedinfo-> te_ptext; .ACS8mxk"ACS 1.0d; PROTOCOL DEMO O3O38k0x20219178Lk80x29010178Lj0x29110178LjALERT LISTEj:jA_3DBUTTON01  ijA_3DBUTTON02  ifiA_3DBUTTON03  hiFA_3DBUTTON05  hh A_3DBUTTON06  h(hr A_3DBUTTON07  !g A_3Dbuttong Auo_stringef CONTDIA01C   ' % &  #&de$CONTROL01b Sotx$ "'dDATA LISTdFENSTER LISTEO3ICON LISTE~IMAGE LIST4MAUSFORM LISTEMENU LISTEOBJECT LISTE/S JPOPUP LISTE((REFERENZ LISTE #$%&'zTEDINFO LISTE VTEDINFO_01q TEXT LISTE !JTEXT_003UUT5UUUV?8 TEXT_01 CONTROL  TEXT_02Ausgaben8TEXT_03Quadrat*TEXT_05Sinus TEXT_06Lschen.x!TEXT_07Zeit"USERBLK LISTE z#clear0$proto_make%quadrat&sinus'zeitu[x{w n불kj(|Zy**:[icٻ  @Qp@  q WT#F3   G a# M0K2 i*AC a7 Eqw. 8wz >>`1m[!1|A`K~k U ` n @p@\Cc1'*ʈ1M,zEZFqA `r/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\PROTO\PROTO.ACS compiled at: Sat Nov 28 12:24:48 1992 */ /* ANSI-C Prototypes */ static void clear (void); static Awindow* proto_make (void* para); static void quadrat (void); static void sinus (void); static void zeit (void); /* STRINGS */ static char TEXT_003 [] = ""; static char TEXT_01 [] = " CONTROL "; static char TEXT_02 [] = "Ausgaben"; static char TEXT_03 [] = "Quadrat"; static char TEXT_05 [] = "Sinus"; static char TEXT_06 [] = "Lschen"; static char TEXT_07 [] = "Zeit"; /* TEDINFOS */ static TEDINFO TEDINFO_01 = {TEXT_02, TEXT_003, TEXT_003, 3, 6, 2, 0x1071, 0, 0, 9, 1}; /* AUSERBLK */ static AUSERBLK A_3DBUTTON01 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_03 , NULL, NULL}; static AUSERBLK A_3DBUTTON02 = {A_3Dbutton, 0x29010178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON03 = {A_3Dbutton, 0x20219178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON05 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_05 , NULL, NULL}; static AUSERBLK A_3DBUTTON06 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_06 , NULL, NULL}; static AUSERBLK A_3DBUTTON07 = {A_3Dbutton, 0x29110178L , Auo_string , TEXT_07 , NULL, NULL}; /* OBJECT TREES */ OBJECT CONTDIA = { -1, 1, 9, 24, 0x0, 0x10, (long) &A_3DBUTTON02 , 0, 0, 26, 9 }; static OBJECT _01_CONTDIA = { 3, 2, 2, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 2, 1, 22, 1 }; static OBJECT _02_CONTDIA = { 1, -1, -1, 22, 0x0, 0x0, (long) &TEDINFO_01 , 0, 0, 22, 1 }; static OBJECT _03_CONTDIA = { 5, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON07 , 2, 3, 10, 2 }; static AOBJECT _03aCONTDIA = {zeit , NULL , 0x8000, 0x8815, NULL , NULL , 0x0, 0 }; static OBJECT _05_CONTDIA = { 7, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON01 , 14, 3, 10, 2 }; static AOBJECT _05aCONTDIA = {quadrat , NULL , 0x8000, 0x8810, NULL , NULL , 0x0, 0 }; static OBJECT _07_CONTDIA = { 9, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON05 , 2, 6, 10, 2 }; static AOBJECT _07aCONTDIA = {sinus , NULL , 0x8000, 0x881f, NULL , NULL , 0x0, 0 }; static OBJECT _09_CONTDIA = { 0, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON06 , 14, 6, 10, 2 }; static AOBJECT _09aCONTDIA = {clear , NULL , 0x8020, 0x8826, NULL , NULL , 0x0, 0 }; /* WINDOWS */ Awindow CONTROL = { NULL, Awi_service, proto_make , Awi_open, Awi_init, &CONTDIA , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_01 , TEXT_003 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x3b, " PROTOCOL DEMO ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'clear' Not defined yet by user */ /* 'proto_make' Not defined yet by user */ /* 'quadrat' Not defined yet by user */ /* 'sinus' Not defined yet by user */ /* 'zeit' Not defined yet by user */ /* Beispielapplikation fr ACS "Protocol" 27.11.92 Stefan Bachert */ #include #include #include #include #include #include "proto.h" #include "proto.ah" static Awindow* protocol; static void clear (void) { if (protocol != NULL) { (protocol-> service) (protocol, AS_DELETE, NULL); } } static long timer_200Hz (void) { return *((long *) 0x4BA); /* holt 200Hz Timer */ } static void zeit (void) /* * Dieser Teil ist ein recht interessantes Testprogramm geworden * Hier werden Unterschiede verschiedener Betriebsysteme deutlich * MultiGEM, MultiTOS, MAG!X, NVDI, WINX * Da das getopptes Fenster am Anfang langsamer ist, liegt * am Slider Update, der fast die Hlfte der Zeit nimmt (ca 17ms) * Warum allerdings eine gedrckte linke Maustaste auch Zeit * kostet ist mir absolut schleierhaft (ca 18 ms) * */ { long timer, t_next, first; INT16 i, count; if (protocol != NULL) { count = 100; first = timer = Supexec (timer_200Hz); /* merke Zeitpunkt */ for (i = 1; i <= count; i ++) { t_next = Supexec (timer_200Hz); /* merke Zeitpunkt */ wprintf (protocol, "\nZeit %3d: %4ld ms", i, (t_next - timer) * 5); timer = t_next; } timer = Supexec (timer_200Hz); /* merke Zeitpunkt */ wprintf (protocol, "\nAverage %ld ms", ((timer - first) * 5) / count); } } static void quadrat (void) { INT16 i; if (protocol != NULL) { for (i = 1; i <= 20; i ++) wprintf (protocol, "\nDas Quadrat von %d ist %d", i, i*i); } } static void sinus (void) { INT16 i; if (protocol != NULL) { for (i = 0; i <= 90; i ++) wprintf (protocol, "\nDer Sinus von %d Grad ist %f", i, sin (i * M_PI/180.0)); } } static Awindow *proto_make (void *not_used) /* * Erzeuge Steuerfenster */ { Awindow *wi; wi = Awi_create (&CONTROL); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { #ifdef _PARAS_ PROTOCOLDATA proto; proto. fontid = 273; /* Monaco */ proto. height = 13; /* doppelt hoch */ proto. col = 20; proto. row = 20; proto. tabsize = 4; proto. wrap = 200; proto. x = 40; proto. y = 40; protocol = PROTOCOL. create (&proto); /* Protocol erzeugen */ #else protocol = PROTOCOL. create (NULL); /* Protocol erzeugen */ #endif CONTROL. create (NULL); /* sofort ein Fenster erzeugen */ if (protocol != NULL) { (protocol-> open) (protocol); } return OK; } plotter, AS_PLOTHANDLE, &handle); x = (63 & rand ()) << 2; y = (63 & rand ()) << 2; vswr_mode (handle, MD_REPLACE); vsf_color (handle, BLACK); vsf_interior (handle, FIS_HOLLOW); vsf_perimeter (handle, TRUE); w_circle (plotter, x, y, 5); update --; if (update <= 0) { update = 5; /* Jeden 5. Hauptschleife; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\PROTO.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code PROTOTST.C (PROTO.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACSPlus Library ;PCBGILIB.LIB ; BGI library PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, m/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.BSP\DEMO_C.PRG\RSCOM\RSCOM.ACS compiled at: Fri Dec 04 13:38:26 1992 */ /* STRINGS */ /* MENU TREES */ extern OBJECT _MENU; /* OBJECT TREES */ extern OBJECT EDITWI; #define LABEL_1 ( 3) #define LABEL_2 ( 4) #define COMMAND_1 ( 7) #define COMMAND_2 ( 8) #define KEYCODE ( 9) extern OBJECT PANEL; #define KNOPF_01 ( 1) #define KNOPF_02 ( 5) #define KNOPF_03 ( 9) #define KNOPF_04 ( 13) #define KNOPF_05 ( 17) #define KNOPF_06 ( 21) #define KNOPF_07 ( 25) #define KNOPF_08 ( 29) #define KNOPF_09 ( 33) #define KNOPF_10 ( 37) #define KNOPF_11 ( 41) #define KNOPF_12 ( 45) #define KNOPF_13 ( 49) #define KNOPF_14 ( 53) #define KNOPF_15 ( 57) #define KNOPF_16 ( 61) /* WINDOWS */ extern Awindow CONTROL; extern Awindow EDIT; extern Adescr ACSdescr; /* ANSI-C Prototypes */ ) (window, obnr, -1); /* Auffrischen */ } else { /* Leer gelassen -> Focus wieder rein setzen */ *((INT16 *) in_out) = obnr; } }; break; default: return FALSE; }; return TRUE; } INT16 ACSinit0 (void) { strcpy (basename, " Inputle"); return OK; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &INPUT. create); window = &INPUT; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.BSP\DEMO_C.PRG\RSCOM\RSCOM.ACS compiled at: Fri Dec 04 13:38:28 1992 */ /* ANSI-C Prototypes */ static INT16 CDECL A_3Dbutton (PARMBLK* pb); static INT16 Auo_string (OBJECT* entry, INT16 task, void* in_out); static Awindow* make_control (void* para); static Awindow* make_edit (void* para); static INT16 service_edit (Awindow* wi, INT16 task, void *in_out); /* STRINGS */ static char TEXT_001 [] = " ber mich ..."; static char TEXT_002 [] = ""; static char TEXT_003 [] = "123456789012"; static char TEXT_004 [] = "--------------------"; static char TEXT_005 [] = " Sichern ^S"; static char TEXT_006 [] = " Datei"; static char TEXT_007 [] = " Laden ^L"; static char TEXT_008 [] = " LABEL "; static char TEXT_010 [] = "____________"; static char TEXT_011 [] = " KOMMANDO "; static char TEXT_012 [] = "xxxxxxxxxxxx"; static char TEXT_013 [] = "1234567890123456789012345678"; static char TEXT_014 [] = "____________________________"; static char TEXT_015 [] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"; static char TEXT_016 [] = " STEUERN "; static char TEXT_017 [] = " EDIT 00 "; static char TEXT_018 [] = "Abbruch"; static char TEXT_019 [] = "OK"; static char TEXT_020 [] = "A"; static char TEXT_021 [] = "TASTE: _"; static char TEXT_022 [] = "X"; /* TEDINFOS */ static TEDINFO TEDI_001 = {TEXT_003, TEXT_002, TEXT_002, 5, 6, 2, 0x1180, 0, 0, 13, 1}; static TEDINFO TEDI_002 = {TEXT_008, TEXT_002, TEXT_002, 5, 6, 2, 0x1180, 0, -1, 8, 1}; static TEDINFO TEDI_003 = {TEXT_011, TEXT_002, TEXT_002, 5, 6, 2, 0x1180, 0, -1, 11, 1}; static TEDINFO TEDI_004 = {TEXT_003, TEXT_010, TEXT_012, 3, 6, 2, 0x1180, 0, -1, 13, 13}; static TEDINFO TEDI_005 = {TEXT_013, TEXT_014, TEXT_015, 3, 6, 2, 0x1180, 0, -1, 29, 29}; static TEDINFO TEDI_006 = {TEXT_020, TEXT_021, TEXT_022, 3, 6, 2, 0x1180, 0, 0, 2, 9}; /* AUSERBLK */ static AUSERBLK A_3DBUTTON02 = {A_3Dbutton, 0x9d30078L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON03 = {A_3Dbutton, 0x89030001L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON05 = {A_3Dbutton, 0x89030078L , Auo_string , NULL, NULL, NULL}; static AUSERBLK FRAME001 = {A_innerframe, 0x11101L , NULL, NULL, NULL, NULL}; /* MENU TREES */ OBJECT _MENU = { -1, 1, 5, 25, 0x0, 0x0, 0x00000000L , 0, 0, 90, 25 }; static OBJECT _01__MENU = { 5, 2, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 90, 513 }; static OBJECT _02__MENU = { 1, 3, 4, 25, 0x0, 0x0, 0x00000000L , 2, 0, 13, 769 }; static OBJECT _03__MENU = { 4, -1, -1, 32, 0x0, 0x2000, (long) TEXT_002 , 0, 0, 6, 769 }; static OBJECT _04__MENU = { 2, -1, -1, 32, 0x0, 0x0, (long) TEXT_006 , 6, 0, 7, 769 }; static OBJECT _05__MENU = { 0, 6, 15, 25, 0x0, 0x0, 0x00000000L , 0, 769, 80, 19 }; static OBJECT _06__MENU = { 15, 7, 14, 20, 0x0, 0x0, 0x00ff1100L , 2, 0, 20, 8 }; static OBJECT _07__MENU = { 8, -1, -1, 28, 0x0, 0x2000, (long) TEXT_001 , 0, 0, 20, 1 }; static OBJECT _08__MENU = { 9, -1, -1, 28, 0x0, 0x2008, (long) TEXT_004 , 0, 1, 20, 1 }; static OBJECT _09__MENU = { 10, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 2, 20, 1 }; static OBJECT _10__MENU = { 11, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 3, 20, 1 }; static OBJECT _11__MENU = { 12, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 4, 20, 1 }; static OBJECT _12__MENU = { 13, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 5, 20, 1 }; static OBJECT _13__MENU = { 14, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 6, 20, 1 }; static OBJECT _14__MENU = { 6, -1, -1, 28, 0x0, 0x2000, (long) TEXT_002 , 0, 7, 20, 1 }; static OBJECT _15__MENU = { 5, 16, 20, 20, 0x0, 0x0, 0x00ff1101L , 8, 0, 17, 3 }; static OBJECT _16__MENU = { 18, -1, -1, 28, 0x0, 0x0, (long) TEXT_007 , 0, 0, 17, 1 }; static AOBJECT _16a_MENU = {laden , NULL , 0x8000, 0xc, NULL , NULL , 0x0, 0 }; static OBJECT _18__MENU = { 20, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 0, 2, 17, 1 }; static AOBJECT _18a_MENU = {sichern , NULL , 0x8000, 0x13, NULL , NULL , 0x0, 0 }; static OBJECT _20__MENU = { 15, -1, -1, 24, 0x20, 0x108, (long) &FRAME001 , 0, 1, 17, 1 }; /* OBJECT TREES */ OBJECT EDITWI = { -1, 1, 10, 20, 0x0, 0x0, 0x00001100L , 0, 0, 48, 8 }; static OBJECT _01_EDITWI = { 5, 2, 4, 24, 0x0, 0x0, (long) &FRAME001 , 1, 1, 14, 4 }; static OBJECT _02_EDITWI = { 3, -1, -1, 21, 0x0, 0x0, (long) &TEDI_002 , 0, 0, 14, 1 }; static OBJECT _03_EDITWI = { 4, -1, -1, 29, 0x8, 0x0, (long) &TEDI_004 , 1, 1, 12, 1 }; static OBJECT _04_EDITWI = { 1, -1, -1, 29, 0x8, 0x0, (long) &TEDI_004 , 1, 2, 12, 1 }; static OBJECT _05_EDITWI = { 9, 6, 8, 24, 0x0, 0x0, (long) &FRAME001 , 17, 1, 30, 4 }; static OBJECT _06_EDITWI = { 7, -1, -1, 21, 0x0, 0x0, (long) &TEDI_003 , 0, 0, 30, 1 }; static OBJECT _07_EDITWI = { 8, -1, -1, 29, 0x8, 0x0, (long) &TEDI_005 , 1, 1, 28, 1 }; static OBJECT _08_EDITWI = { 5, -1, -1, 29, 0x8, 0x0, (long) &TEDI_005 , 1, 2, 28, 1 }; static OBJECT _09_EDITWI = { 10, -1, -1, 30, 0x8, 0x10, (long) &TEDI_006 , 3, 6, 9, 1 }; static OBJECT _10_EDITWI = { 0, 11, 13, 25, 0x0, 0x0, 0x00001101L , 19, 6, 24, 1 }; static OBJECT _11_EDITWI = { 13, -1, -1, 26, 0x4005, 0x0, (long) TEXT_018 , 16, 0, 8, 1 }; static AOBJECT _11aEDITWI = {edit_cancel , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _13_EDITWI = { 10, -1, -1, 26, 0x4007, 0x0, (long) TEXT_019 , 0, 0, 8, 1 }; static AOBJECT _13aEDITWI = {edit_ok , NULL , 0x8020, 0x0, NULL , NULL , 0x0, 0 }; OBJECT PANEL = { -1, 1, 61, 24, 0x0, 0x0, (long) &A_3DBUTTON02 , 0, 0, 50, 17 }; static OBJECT _01_PANEL = { 5, 3, 4, 24, 0x5, 0x10, (long) &A_3DBUTTON05 , 2, 1, 10, 3 }; static AOBJECT _01aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _03_PANEL = { 4, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _04_PANEL = { 1, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _05_PANEL = { 9, 7, 8, 24, 0x5, 0x10, (long) &A_3DBUTTON05 , 14, 1, 10, 3 }; static AOBJECT _05aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _07_PANEL = { 8, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _08_PANEL = { 5, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _09_PANEL = { 13, 11, 12, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 26, 1, 10, 3 }; static AOBJECT _09aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _11_PANEL = { 12, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _12_PANEL = { 9, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _13_PANEL = { 17, 15, 16, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 1, 10, 3 }; static AOBJECT _13aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _15_PANEL = { 16, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _16_PANEL = { 13, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _17_PANEL = { 21, 19, 20, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 2, 5, 10, 3 }; static AOBJECT _17aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _19_PANEL = { 20, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _20_PANEL = { 17, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _21_PANEL = { 25, 23, 24, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 14, 5, 10, 3 }; static AOBJECT _21aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _23_PANEL = { 24, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _24_PANEL = { 21, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _25_PANEL = { 29, 27, 28, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 26, 5, 10, 3 }; static AOBJECT _25aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _27_PANEL = { 28, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _28_PANEL = { 25, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _29_PANEL = { 33, 31, 32, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 5, 10, 3 }; static AOBJECT _29aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _31_PANEL = { 32, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _32_PANEL = { 29, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _33_PANEL = { 37, 35, 36, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 2, 9, 10, 3 }; static AOBJECT _33aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _35_PANEL = { 36, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _36_PANEL = { 33, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _37_PANEL = { 41, 39, 40, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 14, 9, 10, 3 }; static AOBJECT _37aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _39_PANEL = { 40, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _40_PANEL = { 37, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _41_PANEL = { 45, 43, 44, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 26, 9, 10, 3 }; static AOBJECT _41aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _43_PANEL = { 44, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _44_PANEL = { 41, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _45_PANEL = { 49, 47, 48, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 9, 10, 3 }; static AOBJECT _45aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _47_PANEL = { 48, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _48_PANEL = { 45, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _49_PANEL = { 53, 51, 52, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 2, 13, 10, 3 }; static AOBJECT _49aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _51_PANEL = { 52, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _52_PANEL = { 49, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _53_PANEL = { 57, 55, 56, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 14, 13, 10, 3 }; static AOBJECT _53aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _55_PANEL = { 56, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _56_PANEL = { 53, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _57_PANEL = { 61, 59, 60, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 26, 13, 10, 3 }; static AOBJECT _57aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _59_PANEL = { 60, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _60_PANEL = { 57, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _61_PANEL = { 0, 63, 64, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 13, 10, 3 }; static AOBJECT _61aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _63_PANEL = { 64, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _64_PANEL = { 61, -1, -1, 22, 0x20, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; /* WINDOWS */ Awindow CONTROL = { NULL, Awi_service, make_control, Awi_open, Awi_init, &PANEL , NULL, 0, 0, -1, 0xb, { 0, 0, 99, 99}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_016 , TEXT_002 , 10000, 0x7, 0, -1, NULL, &_MENU , Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Awindow EDIT = { NULL, service_edit, make_edit , Awi_open, Awi_init, &EDITWI , NULL, 0, 0, -1, 0x9, { 0, 0, 99, 99}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_017 , TEXT_002 , 10000, 0x0, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x13, " RS232 Commander", &DESKTOP, &CONTROL , { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'A_3Dbutton' Not defined yet by user */ /* 'Auo_string' Not defined yet by user */ /* 'make_control' Not defined yet by user */ /* 'make_edit' Not defined yet by user */ /* 'service_edit' Not defined yet by user */  TEXT_06Lschen.x!TEXT_07Zeit"USERBLK LISTE z#clear0$proto_make%quadrat&sinus'zeitu[x{w n불kj(|Zy**:[icٻ  @Qp@  q WT#F3   G a# M0K2 i*AC a7 Eqw. 8wz >>`1m[!1|A`K~k U ` n @p@\Cc1'*ʈ1M,zEZFqA `r; ACS Example Program (c) 1992 Stefan Bachert ; ..\..\PRG\RSCOM.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code RSCOM.C (RSCOM.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END hHALLOHallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo\r\ntTOLLSUPERtoll SUPER toll SUPER tollSUPER toll SUPER toll\r\nlLINEFEED\nfFORMFEED\014  /* OBJECT TREES */ OBJECT CONTDIA = { -1, 1, 9, 24, 0x0, 0x10, (long) &A_3DBUTTON02 , 0, 0, 26, 9 }; static OBJECT _01_CONTDIA = { 3, 2, 2, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 2, 1, 22, 1 }; static OBJECT _02_CONTDIA = { 1, -1, -1, 22, 0x0, 0x0, (long) &TEDINFO_01 , 0, 0, 22, 1 }; static OBJECT _03_CONTDIA = { 5, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON07 , 2, 3, 10, 2 }; static AOBJECT _03aCONTDIA = {zeit , NULL , 0x8000, 0x8815, NULL , NULL , 0x0, 0 }; static OBJECT _05_CONTDIA = { 7, -1, -1, 24, 0x5, 0x10, /* Beispielapplikation fr ACS "RS232 Commander" 12.7.92 Stefan Bachert Dies ist ein einfaches Beispiel wie die RS-232-Schnittstelle zum Steuern verwendet werden kann. Jeder Knopf kann mit zwei 12 Zeichen beschriftet werden. Alternativ zur Mausbedienung kann ein (ASCII-) Zeichen frei definiert werden. Nach Bettigen des Knopf wird eine bis zu 56 Zeichen lange Nachricht versandt. Die Schreibweise \Octal ist zulssig Ein Doppelklick auf den Knopf gestattet die Werte zu modifizieren Die Definition der Knpfe lt sich speichern und wieder laden Das Programm lt sich durch Umbenennen in .ACC auch als Accessory starten. Bezugsquelle fr ACS: MAXON-Computer GmbH Schwalbacherstr. 52 6236 ESCHBORN Preis: DM 198,- Voraussetzung: Turbo C 2.0, Pure C oder Lattice C */ #include #include #include #include #include #define NBUTTONS (16) #define LABELSIZE (12) #define TASKSIZE (28) #define EXT "RS" #define DEV (0) /* 1 = RS 232, 0 = Centronics (Test) */ static void laden (void); static void sichern (void); static void edit_ok (void); static void edit_cancel (void); static void sende (void); static Awindow *make_control (void *not_used); static Awindow *make_edit (void *not_used); static INT16 service_edit (Awindow *wi, INT16 task, void *in_out); #include typedef struct { INT16 index; Awindow *wi; INT16 key; char label1 [LABELSIZE]; char label2 [LABELSIZE]; char task1 [TASKSIZE]; char task2 [TASKSIZE]; } entry; static entry field [NBUTTONS] = { {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9},{10},{11}, {12},{13},{14},{15} }; static INT16 table [16] = { KNOPF_01, KNOPF_02, KNOPF_03, KNOPF_04, KNOPF_05, KNOPF_06, KNOPF_07, KNOPF_08, KNOPF_09, KNOPF_10, KNOPF_11, KNOPF_12, KNOPF_13, KNOPF_14, KNOPF_15, KNOPF_16 }; static Awindow *contrl; static char path [80]; /* letzter Pfad */ static void closewi (void) /* * Alle Fenster schliessen */ { Awindow *wi; INT16 index; for (index = 0; index < NBUTTONS; index ++) { wi = field [index]. wi; if (wi != NULL) (wi-> service) (wi, AS_TERM, NULL); }; } static void label_update (void) /* * Labels eintragen */ { OBJECT *work; AOBJECT *aob; INT16 index, obnr; work = contrl-> work; for (index = 0; index < NBUTTONS; index ++) { obnr = table [index]; aob = (AOBJECT *) work + obnr + 1; aob-> key = field [index]. key; obnr = work [obnr]. ob_head; strncpy (work [obnr]. ob_spec. tedinfo-> te_ptext, field [index]. label1, LABELSIZE); obnr = work [obnr]. ob_next; strncpy (work [obnr]. ob_spec. tedinfo-> te_ptext, field [index]. label2, LABELSIZE); }; } static void term_edit (Awindow *wi) /* * */ { INT16 index; index = (INT16) wi-> user; field [index]. wi = NULL; Awi_delete (wi); } static void edit_ok (void) /* * bernehme */ { OBJECT *work; entry *ent; INT16 index; work = ev_object; index = (INT16) ev_window-> user; ent = field + index; strncpy (ent-> label1,work [LABEL_1]. ob_spec. tedinfo-> te_ptext, LABELSIZE); strncpy (ent-> label2,work [LABEL_2]. ob_spec. tedinfo-> te_ptext, LABELSIZE); strncpy (ent-> task1, work [COMMAND_1]. ob_spec. tedinfo-> te_ptext, TASKSIZE); strncpy (ent-> task2, work [COMMAND_2]. ob_spec. tedinfo-> te_ptext, TASKSIZE); ent-> key = 255 & *work [KEYCODE]. ob_spec. tedinfo-> te_ptext; label_update (); Awi_obredraw (contrl, table [index]); term_edit (ev_window); } static void edit_cancel (void) /* * Abbruch */ { term_edit (ev_window); } static INT16 service_edit (Awindow *window, INT16 task, void *in_out) /* * Service routine */ { switch (task) { /* welche Routine */ case AS_TERM: term_edit (window); break; default: return FALSE; /* kein Wert */ }; return TRUE; /* wurde durchgefhrt */ } static Awindow *make_edit (void *eintrag) /* * Erzeuge Editfenster */ { Awindow *wi; entry *ent; OBJECT *work; INT16 index; char *p; index = (INT16) eintrag; ent = field + index; wi = ent-> wi; if (wi != NULL) { Awi_show (wi); } else { p = EDIT. name + 6; /* Nummer in den Titel */ if (index <= 9) { *p ++ = '0'; } else { *p ++ = '1'; }; *p = '0' + (index % 10); wi = Awi_create (&EDIT); if (wi == NULL) return NULL; wi-> user = (void *) index; ent-> wi = wi; /* merke Editor zu diesem Eintrag */ work = wi-> work; strncpy (work [LABEL_1]. ob_spec. tedinfo-> te_ptext, ent-> label1, LABELSIZE); strncpy (work [LABEL_2]. ob_spec. tedinfo-> te_ptext, ent-> label2, LABELSIZE); strncpy (work [COMMAND_1]. ob_spec. tedinfo-> te_ptext, ent-> task1, TASKSIZE); strncpy (work [COMMAND_2]. ob_spec. tedinfo-> te_ptext, ent-> task2, TASKSIZE); *(work [KEYCODE]. ob_spec. tedinfo-> te_ptext) = (char) ent-> key; (wi-> open) (wi); } return wi; } static char *fileselect (void) /* * Hole Filenamen */ { char *p; char file [16]; INT16 button; p = strrchr (path, '\\'); /* select entfernen */ *(p + 1) = '\0'; strcat (path, "*." EXT); /* Extension suchen */ file [0] = '\0'; Aev_unhidepointer (); /* Zeiger wieder sichtbar */ if (fsel_input (path, file, &button) == 0 || button == 0 || file [0] == '\0') { return NULL; }; if (strlen (file) == 9) { /* 8 + . doch extension anhngen */ if (*(file + 8) == '.') strcat (file, EXT); }; if (strchr (file, '.') == NULL) { /* hnge extension an */ strcat (file, "." EXT); }; p = strrchr (path, '\\'); /* select entfernen */ strcpy (p + 1, file); return path; } static void laden (void) /* * */ { char *name; INT16 handle; long ret; name = fileselect (); if (name == NULL) return; closewi (); handle = (INT16) Fopen (name, 0); if (handle < 0) { form_error (- handle - 31); return; }; ret = Fread (handle, sizeof (field), &field); if (sizeof (field) != ret) { form_error (((INT16) - ret) - 31); } label_update (); Awi_obredraw (contrl, 0); Fclose (handle); } static void sichern (void) /* * */ { char *name; INT16 handle; long ret; name = fileselect (); if (name == NULL) return; closewi (); handle = (INT16) Fcreate (name, 0); if (handle < 0) { form_error (- handle - 31); return; }; ret = Fwrite (handle, sizeof (field), &field); if (sizeof (field) != ret) { form_error (((INT16) - ret) - 31); } Fclose (handle); } static void ausgabe (char *text) /* * Gibt den Text an das Device, erkennt \Octal Schreibweise */ { char c, code; while (*text) { /* alle Zeichen ausgeben */ c = *text ++; if (c == '\\') { /* Besondere Zeichen */ c = *text ++; switch (c) { case 'n': Bconout (DEV, '\n'); break; case 'r': Bconout (DEV, '\r'); break; case 't': Bconout (DEV, '\t'); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': code = c - '0'; while (*text >= '0' && *text <= '9') { code = (code << 3) + (*text ++) - '0'; }; Bconout (DEV, code); break; default: Bconout (DEV, c); break; }; } else { /* normales Zeichen */ Bconout (DEV, c); }; }; } static void sende (void) /* * Senden oder Edit (Dklick) */ { INT16 eintrag; switch (ev_obnr) { case KNOPF_01: eintrag = 0; break; case KNOPF_02: eintrag = 1; break; case KNOPF_03: eintrag = 2; break; case KNOPF_04: eintrag = 3; break; case KNOPF_05: eintrag = 4; break; case KNOPF_06: eintrag = 5; break; case KNOPF_07: eintrag = 6; break; case KNOPF_08: eintrag = 7; break; case KNOPF_09: eintrag = 8; break; case KNOPF_10: eintrag = 9; break; case KNOPF_11: eintrag = 10; break; case KNOPF_12: eintrag = 11; break; case KNOPF_13: eintrag = 12; break; case KNOPF_14: eintrag = 13; break; case KNOPF_15: eintrag = 14; break; case KNOPF_16: eintrag = 15; break; default: return; /* sollte nicht passieren */ }; if (ev_object [ev_obnr]. ob_state & AOS_DCLICK) { /* edit */ make_edit ((void *) eintrag); } else { /* senden */ ausgabe (field [eintrag]. task1); ausgabe (field [eintrag]. task2); } } static Awindow *make_control (void *not_used) /* * Erzeuge Kontroll Fenster */ { Awindow *wi; wi = Awi_create (&CONTROL); if (wi == NULL) return NULL; contrl = wi; label_update (); if (application) (wi-> open) (wi); return wi; } INT16 ACSinit (void) /* * Erzeuge sofort Control */ { path [0] = 'A' + Dgetdrv (); /* aktuelles Laufwerk ermitteln */ path [1] = ':'; Dgetpath (path + 2, 0); /* aktueller Pfad */ if (path [2] == 0) { path [2] = '\\'; path [3] = '\0'; }; if (application) (CONTROL. create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } if.ACS8L*(,.5K-)ACS 1.0i RS232 CommanderO3_C8~0x11101Lj40x89030001L0x89030078L0x9d30078LVALERT LIST6A_3DBUTTON02  A_3DBUTTON03  bA_3DBUTTON05   A_3Dbutton A_innerframe: Auo_string COMMAND_1XXXXX v 4______ COMMAND_2Ȁ CONTROL67890123456789012345678_CtxQ+ ccD7'M|DATA LISTEDIT00167890123456789012345678_CtxTR ccE7'rEDITWI1n123456789012C 00&2 '2  1 3 3 4   @FN @GORFRAME001m0p ICON LISTtIMAGE LIST*KEYCODE8z7ORO>l>KNOPF_01Einzeln n AuswaKNOPF_02 LKNOPF_03Ȁ X*KNOPF_04X*KNOPF_05X* nKNOPF_06*?&$KNOPF_07?hKNOPF_08AhKNOPF_090123456789012345678901FKNOPF_10XXXXXXXXXXXXXXXXXXXXXXX KNOPF_11!KNOPF_12h"KNOPF_13#KNOPF_14$KNOPF_15%KNOPF_16@&LABEL_1 Einzelnn Auswa'LABEL_2 Einzelnn AuswaV(MENU LISTO3M )MOUSEFORM LIST*OBJECTTREE LISTO3+h"+ PANEL01z.2 S// S//   S // & S / / S/ / S// S//& S// S// S// " ! S!//!%#$& S$/"/"(&' S'/%/#+)* S*/(/$.,- S-/+/%/0& S0/./,POPUP LISTJÔ-<<REFERENCE LIST NOPQRSTUH.TEDINFO LIST/01234¶./TEDI_001 Sn Flags 877 l 0TEDI_002 Sn Reset=77H1TEDI_003?77 2TEDI_004 Resetn 8>@ l3TEDI_005* u"ABC@4TEDI_006hȀ HIJ 5TTTEXT LIST6789:;<=>?@ABCDEFGHIJP*6TEXT_001UTUꬪ ber mich ...7TEXT_002`'B 8 TEXT_003 Einzelnn123456789012T9TEXT_004ꬪUTU--------------------::TEXT_005 Pn Refs  Sichern ^SV;TEXT_006iPh DateiB<TEXT_0074 4 Laden ^L2=TEXT_008Einzeln n Auswa LABEL > TEXT_010 Ph____________*t? TEXT_011Einzelnn Auswa KOMMANDO @ TEXT_012 EinzelnnxxxxxxxxxxxxZATEXT_013 12345678901234567890123456784BTEXT_014V"* fL____________________________zCTEXT_015@0 ]XXXXXXXXXXXXXXXXXXXXXXXXXXXXhD TEXT_01645678901234567890123456 STEUERN  E TEXT_017l EDIT 00 hFTEXT_018Einzelnn AuswaAbbruch\GTEXT_019 {2 OKHTEXT_020 EinzelnnAbI TEXT_021n Probe TTASTE: _XJTEXT_022 Flags FnXKUSERBLK LISTLWINDOW LIST_CR M((_MENU01$z ꬪ "" #U_CZZ  7 ;P 6  9  7  7  7  7 7 7<P :UNedit_cancel static void sicherOedit_ok; st; /* * */ tPladenn Einzeln n*Qmake_control(AnMIRmake_edit T | SsendePhȀ LTservice_editUsichern Probe Tbn/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\SCHIEBER.\SLIDER.ACS compiled at: Tue Nov 17 14:20:16 1992 */ /* ANSI-C Prototypes */ static Awindow* slid_make (void* para); /* STRINGS */ static char TEXT_001 [] = "1234"; static char TEXT_002 [] = " SLIDER "; static char TEXT_003 [] = ""; static char TEXT_004 [] = "123.567.901.345.789.123.567."; /* OBJECT TREES */ OBJECT PAL_HOR_SLIDER = { -1, 1, 67, 20, 0x0, 0x10, 0x00021100L , 0, 0, 32, 15 }; static OBJECT _01_PAL_HOR_SLIDER = { 2, -1, -1, 28, 0x0, 0x0, (long) TEXT_004 , 2, 1, 28, 1 }; static OBJECT _02_PAL_HOR_SLIDER = { 15, 4, 13, 25, 0x0, 0x820, 0x00011111L , 2, 3, 8, 1 }; static AOBJECT _02aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _04_PAL_HOR_SLIDER = { 6, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _04aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _06_PAL_HOR_SLIDER = { 13, 7, 11, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 4, 1 }; static OBJECT _07_PAL_HOR_SLIDER = { 9, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 1, 1 }; static AOBJECT _07aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _09_PAL_HOR_SLIDER = { 11, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 1, 0, 1, 1 }; static AOBJECT _09aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _11_PAL_HOR_SLIDER = { 6, -1, -1, 25, 0x40, 0x0, 0x00001111L , 2, 0, 2, 1 }; static AOBJECT _11aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _13_PAL_HOR_SLIDER = { 2, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 6, 0, 2, 1 }; static AOBJECT _13aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _15_PAL_HOR_SLIDER = { 28, 17, 26, 25, 0x0, 0x820, 0x00011111L , 2, 5, 12, 1 }; static AOBJECT _15aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _17_PAL_HOR_SLIDER = { 19, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _17aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _19_PAL_HOR_SLIDER = { 26, 20, 24, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 8, 1 }; static OBJECT _20_PAL_HOR_SLIDER = { 22, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _20aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _22_PAL_HOR_SLIDER = { 24, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 2, 0, 2, 1 }; static AOBJECT _22aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _24_PAL_HOR_SLIDER = { 19, -1, -1, 25, 0x40, 0x0, 0x00001111L , 4, 0, 4, 1 }; static AOBJECT _24aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _26_PAL_HOR_SLIDER = { 15, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 10, 0, 2, 1 }; static AOBJECT _26aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _28_PAL_HOR_SLIDER = { 41, 30, 39, 25, 0x0, 0x820, 0x00011111L , 2, 7, 16, 1 }; static AOBJECT _28aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _30_PAL_HOR_SLIDER = { 32, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _30aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _32_PAL_HOR_SLIDER = { 39, 33, 37, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 12, 1 }; static OBJECT _33_PAL_HOR_SLIDER = { 35, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 3, 1 }; static AOBJECT _33aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _35_PAL_HOR_SLIDER = { 37, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 3, 0, 3, 1 }; static AOBJECT _35aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _37_PAL_HOR_SLIDER = { 32, -1, -1, 25, 0x40, 0x0, 0x00001111L , 6, 0, 6, 1 }; static AOBJECT _37aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _39_PAL_HOR_SLIDER = { 28, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 14, 0, 2, 1 }; static AOBJECT _39aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _41_PAL_HOR_SLIDER = { 54, 43, 52, 25, 0x0, 0x820, 0x00011111L , 2, 9, 20, 1 }; static AOBJECT _41aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _43_PAL_HOR_SLIDER = { 45, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _43aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _45_PAL_HOR_SLIDER = { 52, 46, 50, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 16, 1 }; static OBJECT _46_PAL_HOR_SLIDER = { 48, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 4, 1 }; static AOBJECT _46aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _48_PAL_HOR_SLIDER = { 50, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 4, 0, 4, 1 }; static AOBJECT _48aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _50_PAL_HOR_SLIDER = { 45, -1, -1, 25, 0x40, 0x0, 0x00001111L , 8, 0, 8, 1 }; static AOBJECT _50aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _52_PAL_HOR_SLIDER = { 41, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 18, 0, 2, 1 }; static AOBJECT _52aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _54_PAL_HOR_SLIDER = { 67, 56, 65, 25, 0x0, 0x820, 0x00011111L , 2, 11, 24, 1 }; static AOBJECT _54aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _56_PAL_HOR_SLIDER = { 58, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _56aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _58_PAL_HOR_SLIDER = { 65, 59, 63, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 20, 1 }; static OBJECT _59_PAL_HOR_SLIDER = { 61, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 4, 1 }; static AOBJECT _59aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _61_PAL_HOR_SLIDER = { 63, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 4, 0, 4, 1 }; static AOBJECT _61aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _63_PAL_HOR_SLIDER = { 58, -1, -1, 25, 0x40, 0x0, 0x00001111L , 8, 0, 12, 1 }; static AOBJECT _63aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _65_PAL_HOR_SLIDER = { 54, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 22, 0, 2, 1 }; static AOBJECT _65aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _67_PAL_HOR_SLIDER = { 0, 69, 78, 25, 0x0, 0x820, 0x00011111L , 2, 13, 28, 1 }; static AOBJECT _67aPAL_HOR_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _69_PAL_HOR_SLIDER = { 71, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _69aPAL_HOR_SLIDER = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _71_PAL_HOR_SLIDER = { 78, 72, 76, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 24, 1 }; static OBJECT _72_PAL_HOR_SLIDER = { 74, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 4, 1 }; static AOBJECT _72aPAL_HOR_SLIDER = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _74_PAL_HOR_SLIDER = { 76, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 4, 0, 4, 1 }; static AOBJECT _74aPAL_HOR_SLIDER = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _76_PAL_HOR_SLIDER = { 71, -1, -1, 25, 0x40, 0x0, 0x00001111L , 8, 0, 16, 1 }; static AOBJECT _76aPAL_HOR_SLIDER = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _78_PAL_HOR_SLIDER = { 67, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 26, 0, 2, 1 }; static AOBJECT _78aPAL_HOR_SLIDER = {hsl_right , NULL , 0x8020, 0x0, NULL , NULL , 0x0, 0 }; OBJECT PAL_VER_SLIDER = { -1, 1, 53, 20, 0x0, 0x10, 0x00021100L , 0, 0, 22, 16 }; static OBJECT _01_PAL_VER_SLIDER = { 14, 3, 12, 25, 0x0, 0x820, 0x00011111L , 2, 1, 2, 6 }; static AOBJECT _01aPAL_VER_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _03_PAL_VER_SLIDER = { 5, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _03aPAL_VER_SLIDER = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _05_PAL_VER_SLIDER = { 12, 6, 10, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 4 }; static OBJECT _06_PAL_VER_SLIDER = { 8, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _06aPAL_VER_SLIDER = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _08_PAL_VER_SLIDER = { 10, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _08aPAL_VER_SLIDER = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _10_PAL_VER_SLIDER = { 5, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 2 }; static AOBJECT _10aPAL_VER_SLIDER = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _12_PAL_VER_SLIDER = { 1, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 5, 2, 1 }; static AOBJECT _12aPAL_VER_SLIDER = {vsl_down , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _14_PAL_VER_SLIDER = { 27, 16, 25, 25, 0x0, 0x820, 0x00011111L , 6, 1, 2, 8 }; static AOBJECT _14aPAL_VER_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _16_PAL_VER_SLIDER = { 18, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _16aPAL_VER_SLIDER = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _18_PAL_VER_SLIDER = { 25, 19, 23, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 6 }; static OBJECT _19_PAL_VER_SLIDER = { 21, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _19aPAL_VER_SLIDER = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _21_PAL_VER_SLIDER = { 23, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _21aPAL_VER_SLIDER = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _23_PAL_VER_SLIDER = { 18, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 4 }; static AOBJECT _23aPAL_VER_SLIDER = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _25_PAL_VER_SLIDER = { 14, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 7, 2, 1 }; static AOBJECT _25aPAL_VER_SLIDER = {vsl_down , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _27_PAL_VER_SLIDER = { 40, 29, 38, 25, 0x0, 0x820, 0x00011111L , 10, 1, 2, 10 }; static AOBJECT _27aPAL_VER_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _29_PAL_VER_SLIDER = { 31, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _29aPAL_VER_SLIDER = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _31_PAL_VER_SLIDER = { 38, 32, 36, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 8 }; static OBJECT _32_PAL_VER_SLIDER = { 34, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _32aPAL_VER_SLIDER = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _34_PAL_VER_SLIDER = { 36, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _34aPAL_VER_SLIDER = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _36_PAL_VER_SLIDER = { 31, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 6 }; static AOBJECT _36aPAL_VER_SLIDER = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _38_PAL_VER_SLIDER = { 27, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 9, 2, 1 }; static AOBJECT _38aPAL_VER_SLIDER = {vsl_down , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _40_PAL_VER_SLIDER = { 53, 42, 51, 25, 0x0, 0x820, 0x00011111L , 14, 1, 2, 12 }; static AOBJECT _40aPAL_VER_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _42_PAL_VER_SLIDER = { 44, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _42aPAL_VER_SLIDER = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _44_PAL_VER_SLIDER = { 51, 45, 49, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 10 }; static OBJECT _45_PAL_VER_SLIDER = { 47, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _45aPAL_VER_SLIDER = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _47_PAL_VER_SLIDER = { 49, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _47aPAL_VER_SLIDER = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _49_PAL_VER_SLIDER = { 44, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 8 }; static AOBJECT _49aPAL_VER_SLIDER = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _51_PAL_VER_SLIDER = { 40, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 11, 2, 1 }; static AOBJECT _51aPAL_VER_SLIDER = {vsl_down , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _53_PAL_VER_SLIDER = { 0, 55, 64, 25, 0x0, 0x820, 0x00011111L , 18, 1, 2, 14 }; static AOBJECT _53aPAL_VER_SLIDER = {NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _55_PAL_VER_SLIDER = { 57, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _55aPAL_VER_SLIDER = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _57_PAL_VER_SLIDER = { 64, 58, 62, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 12 }; static OBJECT _58_PAL_VER_SLIDER = { 60, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _58aPAL_VER_SLIDER = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _60_PAL_VER_SLIDER = { 62, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _60aPAL_VER_SLIDER = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _62_PAL_VER_SLIDER = { 57, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 10 }; static AOBJECT _62aPAL_VER_SLIDER = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _64_PAL_VER_SLIDER = { 53, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 13, 2, 1 }; static AOBJECT _64aPAL_VER_SLIDER = {vsl_down , NULL , 0x8020, 0x0, NULL , NULL , 0x0, 0 }; OBJECT SLIDER_TEST = { -1, 1, 28, 20, 0x0, 0x0, 0x00ff1100L , 0, 0, 26, 13 }; static OBJECT _01_SLIDER_TEST = { 14, 3, 12, 25, 0x0, 0x820, 0x00011111L , 2, 2, 2, 10 }; static AOBJECT _01aSLIDER_TEST = {show_ver , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_VSL }; static OBJECT _03_SLIDER_TEST = { 5, -1, -1, 27, 0x40, 0x0, 0x01ff1101L , 0, 0, 2, 1 }; static AOBJECT _03aSLIDER_TEST = {vsl_up , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _05_SLIDER_TEST = { 12, 6, 10, 20, 0x0, 0x0, 0x00ff1111L , 0, 1, 2, 8 }; static OBJECT _06_SLIDER_TEST = { 8, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 2, 1 }; static AOBJECT _06aSLIDER_TEST = {vsl_upage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _08_SLIDER_TEST = { 10, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 0, 1, 2, 1 }; static AOBJECT _08aSLIDER_TEST = {vsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _10_SLIDER_TEST = { 5, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 2, 2, 6 }; static AOBJECT _10aSLIDER_TEST = {vsl_dpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _12_SLIDER_TEST = { 1, -1, -1, 27, 0x40, 0x0, 0x02ff1101L , 0, 9, 2, 1 }; static AOBJECT _12aSLIDER_TEST = {vsl_down , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _14_SLIDER_TEST = { 27, 16, 25, 25, 0x0, 0x820, 0x00011111L , 4, 1, 20, 1 }; static AOBJECT _14aSLIDER_TEST = {show_hor , NULL , 0x8000, 0x0, NULL , NULL , 0x0, AT_HSL }; static OBJECT _16_SLIDER_TEST = { 18, -1, -1, 27, 0x40, 0x0, 0x04ff1101L , 0, 0, 2, 1 }; static AOBJECT _16aSLIDER_TEST = {hsl_left , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _18_SLIDER_TEST = { 25, 19, 23, 20, 0x0, 0x0, 0x00ff1111L , 2, 0, 16, 1 }; static OBJECT _19_SLIDER_TEST = { 21, -1, -1, 25, 0x40, 0x0, 0x00001111L , 0, 0, 4, 1 }; static AOBJECT _19aSLIDER_TEST = {hsl_lpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _21_SLIDER_TEST = { 23, -1, -1, 20, 0x40, 0x0, 0x00ff1101L , 4, 0, 4, 1 }; static AOBJECT _21aSLIDER_TEST = {hsl_bar , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _23_SLIDER_TEST = { 18, -1, -1, 25, 0x40, 0x0, 0x00001111L , 8, 0, 8, 1 }; static AOBJECT _23aSLIDER_TEST = {hsl_rpage , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _25_SLIDER_TEST = { 14, -1, -1, 27, 0x40, 0x0, 0x03ff1101L , 18, 0, 2, 1 }; static AOBJECT _25aSLIDER_TEST = {hsl_right , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _27_SLIDER_TEST = { 28, -1, -1, 26, 0x0, 0x20, (long) TEXT_001 , 11, 3, 6, 1 }; static OBJECT _28_SLIDER_TEST = { 0, -1, -1, 26, 0x20, 0x20, (long) TEXT_001 , 5, 6, 6, 1 }; /* WINDOWS */ Awindow SCHIEBER = { NULL, Awi_service, slid_make , Awi_open, Awi_init, &SLIDER_TEST , NULL, 0, 0, -1, 0xfef, { 0, 0, 34, 16}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_003 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " ACS ACCESSORY ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'slid_make' Not defined yet by user */ o1]aQG'tp4F h`b { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'piano_make' Not defined yet by user */ /* 'piano_service' Not defined yet by user */ nr + 1; switch (aob-> type) { case OBJ_1: o1 = 1; break; case OBJ_2: o2 = 1; break; case OBJ_3: o3 = 1; break; case OBJ_4: o4 = 1; break; default: break; }; }; menu = window-> menu; if (count == 0) menu/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\SCHIEBER.\SLIDER.ACS compiled at: Tue Nov 17 14:20:16 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT PAL_HOR_SLIDER; #define HORSLIDER_001 ( 2) #define HORSLIDER_002 ( 15) #define HORSLIDER_003 ( 28) #define HORSLIDER_005 ( 41) #define HORSLIDER_006 ( 54) #define HORSLIDER_007 ( 67) extern OBJECT PAL_VER_SLIDER; #define VERSLIDER_001 ( 1) #define VERSLIDER_002 ( 14) #define VERSLIDER_003 ( 27) #define VERSLIDER_004 ( 40) #define VERSLIDER_005 ( 53) extern OBJECT SLIDER_TEST; #define VER_SLIDER ( 1) #define HOR_SLIDER ( 14) #define HOR_VALUE ( 27) #define VER_VALUE ( 28) /* WINDOWS */ extern Awindow SCHIEBER; extern Adescr ACSdescr; /* ANSI-C Prototypes */ /* SLIDER HANDLER */ /* extented object of (h/v)slider -------------------------- click call user on any change drag not used type AT_HSL/AT_VSL userp1 points to hsl_data struct userp2 not_used */ #define AT_HSL (1000) #define AT_VSL (1001) typedef struct { /* slider data */ INT16 full; /* full size */ INT16 size; /* visible size */ INT16 pos; /* actual position */ INT16 step; /* step size for arrows */ } SL_DATA; extern INT16 hsl_set (Awindow *window, INT16 obnr); /* Call to show new value */ /* OK if update FAIL if value didnot change */ extern void hsl_left (void); extern void hsl_right (void); extern void hsl_lpage (void); extern void hsl_rpage (void); extern void hsl_bar (void); extern INT16 vsl_set (Awindow *window, INT16 obnr); /* Call to show new value */ /* OK if update FAIL if value didnot change */ extern void vsl_up (void); extern void vsl_down (void); extern void vsl_upage (void); extern void vsl_dpage (void); extern void vsl_bar (void);  /* OBJECT TREES */ OBJECT CONTDIA = { -1, 1, 9, 24, 0x0, 0x10, (long) &A_3DBUTTON02 , 0, 0, 26, 9 }; static OBJECT _01_CONTDIA = { 3, 2, 2, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 2, 1, 22, 1 }; static OBJECT _02_CONTDIA = { 1, -1, -1, 22, 0x0, 0x0, (long) &TEDINFO_01 , 0, 0, 22, 1 }; static OBJECT _03_CONTDIA = { 5, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON07 , 2, 3, 10, 2 }; static AOBJECT _03aCONTDIA = {zeit , NULL , 0x8000, 0x8815, NULL , NULL , 0x0, 0 }; static OBJECT _05_CONTDIA = { 7, -1, -1, 24, 0x5, 0x10, .ACS8!\jACS 1.0d ACS ACCESSORY O3O38 ALERT LISTEAT_HSL@AT_VSL  E@A:DATA LIST6FENSTER LISTEO3HORSLIDER_001f|~8<<<<HORSLIDER_002 B<XHORSLIDER_003 B< HORSLIDER_005 B< HORSLIDER_0068$ z HORSLIDER_0078 l0 HOR_SLIDER8$  HOR_VALUE8$ ICON LISTERIMAGE LISTMAUSFORM LISTEMENU LISTE` OBJECT LISTEn PAL_HOR_SLIDER%   @(@)@'@+@*    @(  @)@' @+ @ * @( @)@'@+@*   @(@)@'@+@* %$   @($!#"@)#@' @ +@* &+  '@(+(*)@)*@''@+%@*$GPAL_VER_SLIDER  @2@3@/@1@0!   @2  @3 @/ @1@0"   @2@3@/@1@ 0#  @2 @3@/@1@ 0$# @2# " !@3"@/@ 1@ 0POPUP LISTEL<<REFERENZ LISTE'()*+,-./0123lSCHIEBERgl_Ctx."'CSLIDER_TEST %  -@2@3@/@1@ 0   , @(  @) @' @+@*   & TEDINFO LISTEtTEXT LISTEfTEXT_001矀12342r TEXT_002 SLIDER 22hTEXT_00311TEXT_004h8$ 123.567.901.345.789.123.567.1dUSERBLK LISTE1 VERSLIDER_0018$ 0!VERSLIDER_0022x0"VERSLIDER_003%X`0<#VERSLIDER_004%¾`/$VERSLIDER_005%2`/%VER_SLIDER4R&VER_VALUE %ߘ`4'hsl_barh80 3(hsl_left$d  3t)hsl_lpage80 3**hsl_right80 2+hsl_rpage80 C~,show_hor hC4-show_verB.slid_makeUUUUUUUUUUUUUUUUUUUUUUB/vsl_barh8$ BV0vsl_downefn FARB 1vsl_dpage8$ A2vsl_uph8$ 3vsl_upage@ 0`ol, "\nZeit %3d: %4ld ms", i, (t_next - timer) * 5); timer = t_next; } timer = Supexec (timer_200Hz); /* merke Zeitpunkt */ wprintf (protocol, "\nAverage %ld ms", ((timer - first) * 5) / count); } } static void quadrat (void) { INT16 i; if (protocol != NULL) { for (i = 1; i <= 20; i ++) wprintf (protocol, "\nDas Quadrat von %d ist %d", i, i*i); } } static void sinus (void) { INT16 i; if (protocol != NULL) { for (i = 0; i <= 90; i ++) wprintf (protocol, "\nDer Sinus von %d Grad ist %f", i, sin (i * M_PI/180.0)); } } static Awindow *proto_make (void *not_used) /* * Erzeuge Steuerfenster */ { Awindow *wi; wi = Awi_create (&CONTROL); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich, a/* (c) Stefan Bachert 1991 "Slider handler" 3.9.91 Horizontal Slider xxxxxxxxxxxxxxxx TOP xxxxxxxxxxxxxx xxxx xxLxx xBARx xxxxRxxx */ #include #include #define MIN_SIZE (8) /* horizontal */ INT16 hsl_set (Awindow *window, INT16 top) /* * Set values and update if necessary */ { OBJECT *work; AOBJECT *aob; INT16 area, lpage, rpage, bar; INT16 lval, bval, rval; long awidth; SL_DATA *hsl; work = window-> work; aob = (AOBJECT *) work + top + 1; hsl = aob-> userp1; area = work [work [top]. ob_head]. ob_next; rpage= work [area]. ob_tail; lpage= work [area]. ob_head; bar = work [lpage]. ob_next; awidth = work [area]. ob_width; lval = (INT16) ((awidth * hsl-> pos) / hsl-> full); bval = (INT16) ((awidth * hsl-> size) / hsl-> full); if (bval < 8) bval = 8; /* minimal */ rval = (INT16) (awidth - lval - bval); if (rval < 0) {lval += rval; rval = 0; }; if (lval == work [lpage]. ob_width && bval == work [bar]. ob_width && rval == work [rpage]. ob_width) return FAIL; /* no changes */ work [lpage]. ob_width = work [bar]. ob_x = lval; work [bar]. ob_width = bval; work [rpage]. ob_x = lval + bval; work [rpage]. ob_width = rval; (window-> obchange) (window, area, work [area]. ob_state); return OK; } static void hsl_update (SL_DATA *hsl, INT16 top) /* * Updating horizontal slider */ { AOBJECT *aob; INT16 max; max = hsl-> full - hsl-> size; if (hsl-> pos > max) hsl-> pos = max; if (hsl-> pos < 0) hsl-> pos = 0; if (hsl_set (ev_window, top)) return; aob = (AOBJECT *) ev_object + top + 1; ev_obnr = top; /* behave like a object */ (aob-> click) (); } void hsl_left (void) /* * left arrow */ { INT16 top; AOBJECT *aob; SL_DATA *hsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; hsl = aob-> userp1; hsl-> pos -= hsl-> step; hsl_update (hsl, top); } void hsl_right (void) /* * right arrow */ { INT16 top; AOBJECT *aob; SL_DATA *hsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; hsl = aob-> userp1; hsl-> pos += hsl-> step; hsl_update (hsl, top); } void hsl_lpage (void) /* * left page */ { INT16 top; AOBJECT *aob; SL_DATA *hsl; top = Aob_up (ev_object, ev_obnr); /* grandparent is top item */ top = Aob_up (ev_object, top); aob = (AOBJECT *) ev_object + top + 1; hsl = aob-> userp1; hsl-> pos -= hsl-> size; hsl_update (hsl, top); } void hsl_rpage (void) /* * right page */ { INT16 top; AOBJECT *aob; SL_DATA *hsl; top = Aob_up (ev_object, ev_obnr); /* grandparent is top item */ top = Aob_up (ev_object, top); aob = (AOBJECT *) ev_object + top + 1; hsl = aob-> userp1; hsl-> pos += hsl-> size; hsl_update (hsl, top); } void hsl_bar (void) /* * Move slider */ { INT16 top, area; INT16 temp, wid; long val; AOBJECT *aob; SL_DATA *hsl; INT16 x, y; OBJECT *work; Awindow *window; window = ev_window; wind_get (0, WF_TOP, &wid, &temp, &temp, &temp); if (wid != window-> wi_id) return; work = ev_object; area = Aob_up (work, ev_obnr); /* grandparent is top item */ top = Aob_up (work, area); aob = (AOBJECT *) work + top + 1; hsl = aob-> userp1; x = work-> ob_x; y = work-> ob_y; /* object is relative to this point */ work-> ob_x += window-> wi_work. x; work-> ob_y += window-> wi_work. y; val = graf_slidebox (work, area, ev_obnr, 0); work-> ob_x = x; work-> ob_y = y; hsl-> pos = (INT16) ((val * hsl-> full) / 1000); hsl_update (hsl, top); } /* vertical */ INT16 vsl_set (Awindow *window, INT16 top) /* * Set values and update if necessary */ { OBJECT *work; AOBJECT *aob; INT16 area, upage, dpage, bar; INT16 uval, bval, dval; long aheight; SL_DATA *vsl; work = window-> work; aob = (AOBJECT *) work + top + 1; vsl = aob-> userp1; area = work [work [top]. ob_head]. ob_next; dpage= work [area]. ob_tail; upage= work [area]. ob_head; bar = work [upage]. ob_next; aheight = work [area]. ob_height; uval = (INT16) ((aheight * vsl-> pos) / vsl-> full); bval = (INT16) ((aheight * vsl-> size) / vsl-> full); if (bval < MIN_SIZE) bval = MIN_SIZE; /* minimal */ dval = (INT16) (aheight - uval - bval); if (dval < 0) {uval += dval; dval = 0; }; if (uval == work [upage]. ob_height && bval == work [bar]. ob_height && dval == work [dpage]. ob_height) return FAIL; /* no changes */ work [upage]. ob_height= work [bar]. ob_y = uval; work [bar]. ob_height= bval; work [dpage]. ob_y = uval + bval; work [dpage]. ob_height = dval; (window-> obchange) (window, area, work [area]. ob_state); return OK; } void vsl_update (SL_DATA *vsl, INT16 top) /* * Updating horizontal slider */ { AOBJECT *aob; INT16 max; max = vsl-> full - vsl-> size; if (vsl-> pos > max) vsl-> pos = max; if (vsl-> pos < 0) vsl-> pos = 0; if (vsl_set (ev_window, top)) return; aob = (AOBJECT *) ev_object + top + 1; ev_obnr = top; /* behave like a object */ (aob-> click) (); } void vsl_up (void) /* * up arrow */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos -= vsl-> step; vsl_update (vsl, top); } void vsl_down (void) /* * down arrow */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos += vsl-> step; vsl_update (vsl, top); } void vsl_upage (void) /* * up page */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* grandparent is top item */ top = Aob_up (ev_object, top); aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos -= vsl-> size; vsl_update (vsl, top); } void vsl_dpage (void) /* * down page */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* grandparent is top item */ top = Aob_up (ev_object, top); aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos += vsl-> size; vsl_update (vsl, top); } void vsl_bar (void) /* * Move slider */ { INT16 top, area; long val; INT16 temp, wid; AOBJECT *aob; SL_DATA *vsl; INT16 x, y; OBJECT *work; Awindow *window; window = ev_window; wind_get (0, WF_TOP, &wid, &temp, &temp, &temp); if (wid != window-> wi_id) return; work = ev_object; area = Aob_up (work, ev_obnr); /* grandparent is top item */ top = Aob_up (work, area); aob = (AOBJECT *) work + top + 1; vsl = aob-> userp1; x = work-> ob_x; y = work-> ob_y; /* object is relative to this point */ work-> ob_x += window-> wi_work. x; work-> ob_y += window-> wi_work. y; val = graf_slidebox (work, area, ev_obnr, 1); work-> ob_x = x; work-> ob_y = y; vsl-> pos = (INT16) ((val * vsl-> full) / 1000); vsl_update (vsl, top); } ; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\SCHIEBER.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code SLID.C (SLID.H) ; Sliderhandler SCHIEBER.C (SLIDER.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ; LINE-A library ; THIS IS THE END NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, m/* Beispielapplikation fr ACS "Schieber" 27.9.91 Stefan Bachert */ #include #include #include #include #include #include static void show_ver (void); static void show_hor (void); static Awindow *slid_make (void *not_used); # include static void show_ver (void) /* * Zeige Wert des Sliders an */ { AOBJECT *aob; SL_DATA *vsl; aob = (AOBJECT *) ev_object + ev_obnr + 1; vsl = aob-> userp1; sprintf (ev_object [VER_VALUE]. ob_spec. free_string, "%d", vsl-> pos); (ev_window-> obchange) (ev_window, VER_VALUE, ev_window-> work [VER_VALUE]. ob_state); } static void show_hor (void) /* * Zeige Wert des Sliders an */ { AOBJECT *aob; SL_DATA *hsl; aob = (AOBJECT *) ev_object + ev_obnr + 1; hsl = aob-> userp1; sprintf (ev_object [HOR_VALUE]. ob_spec. free_string, "%d", hsl-> pos); (ev_window-> obchange) (ev_window, HOR_VALUE, ev_window-> work [HOR_VALUE]. ob_state); } static Awindow *slid_make (void *not_used) /* * Erzeuge Schieber Fenster */ { Awindow *wi; AOBJECT *aob; SL_DATA *hsl, *vsl; static SL_DATA slider_proto = { 200, 30, 30, 10}; wi = Awi_create (&SCHIEBER); if (wi == NULL) return NULL; hsl = Ax_malloc (sizeof (SL_DATA)); /* fetch data struct */ vsl = Ax_malloc (sizeof (SL_DATA)); /* fetch data struct */ if (hsl == NULL || vsl == NULL) return NULL; memcpy (hsl, &slider_proto, sizeof (SL_DATA)); memcpy (vsl, &slider_proto, sizeof (SL_DATA)); aob = (AOBJECT *) wi-> work + HOR_SLIDER + 1; aob-> userp1 = hsl; hsl_set (wi, HOR_SLIDER); /* initialisiere */ aob = (AOBJECT *) wi-> work + VER_SLIDER + 1; aob-> userp1 = vsl; vsl_set (wi, VER_SLIDER); /* initialisiere */ (wi-> open) (wi); /* ffne gleich */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &SCHIEBER. create); return OK; } /* * Erzeuge Hello World Fenster */ { Awindow *wi; wi = Awi_create (&DEMO); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &DEMO. create); return OK; } =u T'Ϟ| Ty T7= T<| T7 Tij>h 0 HA i$ i< @ii<iliT  /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\USERDEF\USER.ACS compiled at: Tue Nov 17 14:20:10 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT INNER; #define USEROBJ ( 1) /* WINDOWS */ extern Awindow WINDOW; extern Adescr ACSdescr; /* ANSI-C Prototypes */ /WNbؠہ\%աԀoGGoHu Yp8^}qf]r}A\A ZF!U%OBwF wB (long) &A_3DBUTTON03 , 26, 13, 10, 3 }; static AOBJECT _57aPANEL = {sende , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _59_PANEL = { 60, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _60_PANEL = { 57, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _61_PANEL = { 0, 63, 64, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 13, 10, 3 }; static AOBJECT _61aPANEL /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\USERDEF\USER.ACS compiled at: Tue Nov 17 14:20:12 1992 */ /* ANSI-C Prototypes */ static Awindow* make_el (void* para); static void my_fulled (Awindow* wi); static void my_sized (Awindow* wi, Axywh* area); /* STRINGS */ static char TEXT_001 [] = " ELLIPSE "; static char TEXT_002 [] = ""; /* AUSERBLK */ static AUSERBLK USER_002 = {user_obj, 0x0L , NULL, NULL, NULL, NULL}; /* OBJECT TREES */ OBJECT INNER = { -1, 1, 1, 20, 0x0, 0x0, 0x00001100L , 0, 0, 32, 12 }; static OBJECT _01_INNER = { 0, -1, -1, 24, 0x60, 0x0, (long) &USER_002 , 0, 0, 32, 12 }; /* WINDOWS */ Awindow WINDOW = { NULL, Awi_service, make_el , Awi_open, Awi_init, &INNER , NULL, 0, 0, -1, 0x2f, { 0, 0, 80, 80}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xffff, TEXT_001 , TEXT_002 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, my_fulled , Awi_arrowed, Awi_hslid, Awi_vslid, my_sized , Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x13, " ACS ACCESSORY ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'make_el' Not defined yet by user */ /* 'my_fulled' Not defined yet by user */ /* 'my_sized' Not defined yet by user */ .ACS8<+     ACS 1.0e ACS ACCESSORY O3c8+0x0LUU+bALERT LIST+DATA LIST*ICON LIST*IMAGE LIST)ppINNER01s4* @ )xMENU LIST).MOUSEFORM LIST( OBJECTTREE LIST_C( POPUP LIST_C(P REFERENCE LIST( TEDINFO LIST' TEXT LIST'`' TEXT_001 ELLIPSE ' 'VTEXT_002&'USERBLK LIST&lUSEROBJdC&&LUSER_002%"%lWINDOW1Stx/PP'$%WINDOW LIST_C$make_elYL<J$8my_fulledct wd { /* Windowobj#my_sized { /* Rectangle */ user_obj = { 9, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON01 , 2, 6, 10, 2 }; static AOBJECT _07aCONTDIA = {text , NULL , 0x8000, 0x8814, NULL , NULL , 0x0, 0 }; static OBJECT _09_CONTDIA = { 0, -1, -1, 24, 0x5, 0x10, (long) &A_3DBUTTON06 , 14, 6, 10, 2 }; static AOBJECT _09aCONTDIA = {clear , NULL , 0x8020, 0x8826, NULL , NULL , 0x0, 0 }; /* WINDOWS */ Awindow CONTROL = { NULL, Awi_service, plot_make , Awi_open, plot_init , &CONTDIA , NULL, 0, 0, -1, 0xfef, { 0, 0, 120, 50}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_03 , TEXT_01 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topp; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\USER.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code USER.C (USER.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END TEDI_008 811pbc &TEDI_009  >11qbRb'TEDI_010;11pab.(TEDI_014`P |411avDieses Beispiel zeigt zwei Dinge: - Wie USER-Objekte einsetzbar sind. Sie bieten sich an wenn das Fensterinnere dynamisch ist, z.B. Zeichenprogramme - Hier sind keine Scrollbalken im Einsatz. Das innere Objekt wird durch die Grsse des Fenster bestimmt. Diese Betriebsart erlaubt daher nur Objekte bis zur Bildschirmgrsse zu bearbeiten ! p d&P16a֔,7tԙSfugX uoJa&WpbhՐ%SZtCNWh:ĔrOT 8>*7_Af`€bfABv|AeA+("nl/* Beispielapplikation fr ACS "Userdef" 2.1.92 Stefan Bachert */ #include #include #include static INT16 CDECL user_obj (PARMBLK *pb); static void my_sized (Awindow *window, Axywh *xywh); static void my_fulled (Awindow *window); static Awindow *make_el (void *not_used); #include static INT16 CDECL user_obj (PARMBLK *pb) /* * Zeichnet eine Ellipse */ { INT16 x, y, xrad, yrad; INT16 pxy [4]; pxy [2] = pb-> pb_wc; pxy [3] = pb-> pb_hc; if (pxy [2] || pxy [3]) { /* klippe */ pxy [0] = pb-> pb_xc; pxy [1] = pb-> pb_yc; pxy [2] += pxy [0] - 1; pxy [3] += pxy [1] - 1; vs_clip (vdi_handle, TRUE, pxy); }; xrad = (pb-> pb_w >> 1) - 2; /* Abstand zu Rand */ yrad = (pb-> pb_h >> 1) - 2; x = pb-> pb_x + (pb-> pb_w >> 1); y = pb-> pb_y + (pb-> pb_h >> 1); vswr_mode (vdi_handle, MD_REPLACE); vsf_interior (vdi_handle, FIS_PATTERN); vsf_style (vdi_handle, 19); vsf_perimeter (vdi_handle, TRUE); vsf_color (vdi_handle, BLACK); v_ellipse (vdi_handle, x, y, xrad, yrad); vs_clip (vdi_handle, FALSE, pxy); /* klippen ausschalten */ return (pb-> pb_currstate); } static void my_sized (Awindow *window, Axywh *xywh) /* * Fenster inneres verndern */ { OBJECT *work; work = window-> work; work [0]. ob_width = work [USEROBJ]. ob_width = xywh-> w - window-> wi_act. w + window-> wi_work. w; /* ^^^^^^^^^^ Fenster attribute ^^^^^^^^^ abziehen (sizer, titlebar) */ work [0]. ob_height = work [USEROBJ]. ob_height = xywh-> h - window-> wi_act. h + window-> wi_work. h; window-> state |= AWS_FORCEREDRAW; /* immer neu zeichnen */ Awi_sized (window, xywh); } static void my_fulled (Awindow *window) /* * Fenster inneres verndern */ { OBJECT *work; work = window-> work; if (window-> state & AWS_FULL) { /* ist schon voll */ work [0]. ob_width = work [USEROBJ]. ob_width = window-> wi_normal. w - window-> wi_act. w + window-> wi_work. w;; work [0]. ob_height = work [USEROBJ]. ob_height = window-> wi_normal. h - window-> wi_act. h + window-> wi_work. h; } else { work [0]. ob_width = work [USEROBJ]. ob_width = desk. w - 30; work [0]. ob_height = work [USEROBJ]. ob_height = desk. h - 40; }; window-> state |= AWS_FORCEREDRAW; /* immer neu zeichnen */ Awi_fulled (window); } static Awindow *make_el (void *not_used) /* * Erzeuge Fenster */ { Awindow *wi; wi = Awi_create (&WINDOW); if (wi == NULL) return NULL; (wi-> open) (wi); return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &WINDOW. create); window = &WINDOW; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\USLIDER\USLIDER.ACS compiled at: Tue Nov 17 14:20:06 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT INNER; #define IMAGE ( 1) /* WINDOWS */ extern Awindow USLIDER; extern Adescr ACSdescr; /* ANSI-C Prototypes */ p1)@Lh&BŒASF1r"N  b7* SA ]ذEtp9'CTRD "FƖ⢫PcUET open) (protocol); } return OK; } plotter, AS_PLOTHANDLE, &handle); x = (63 & rand ()) << 2; y = (63 & rand ()) << 2; vswr_mode (handle, MD_REPLACE); vsf_color (handle, BLACK); vsf_interior (handle, FIS_HOLLOW); vsf_perimeter (handle, TRUE); w_circle (plotter, x, y, 5); update --; if (update <= 0) { update = 5; /* Jeden 5. Hauptschleife; ACS Example Program (c) 1991, 1992 Stefan Bachert ; ..\..\PRG\USLIDER.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code USLIDER.C (USLIDER.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ; ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END == work [dpage]. ob_height) return FAIL; /* no changes */ work [upage]. ob_height= work [bar]. ob_y = uval; work [bar]. ob_height= bval; work [dpage]. ob_y = uval + bval; work [dpage]. ob_height = dval; (window-> obchange) (window, area, work [area]. ob_state); return OK; } void vsl_update (SL_DATA *vsl, INT16/* Beispielapplikation fr ACS "User Slider" 14.4.92 Stefan Bachert */ #include #include #include static Awindow *uslider_make (void *not_used); static void uslider_arrow (Awindow *window, INT16 which); static void uslider_vslid (Awindow *window, INT16 pos); static void uslider_hslid (Awindow *window, INT16 pos); static INT16 CDECL cimage (PARMBLK *pb); #include static INT16 CDECL cimage (PARMBLK *pb) /* * */ { INT16 pxy [8]; Awindow *wi; Axywh *user; pxy [2] = pb-> pb_wc; pxy [3] = pb-> pb_hc; if (pxy [2] || pxy [3]) { /* klippe */ pxy [0] = pb-> pb_xc; pxy [1] = pb-> pb_yc; pxy [2] += pxy [0] - 1; pxy [3] += pxy [1] - 1; vs_clip (vdi_handle, TRUE, pxy); }; wi = (Awindow *) pb-> pb_parm; user = wi-> user; pxy [0] = user-> x; pxy [1] = user-> y; pxy [2] = user-> x + pb-> pb_w - 1; pxy [3] = user-> y + pb-> pb_h - 1; pxy [4] = pb-> pb_x; pxy [5] = pb-> pb_y; pxy [6] = pb-> pb_x + pb-> pb_w - 1; pxy [7] = pb-> pb_y + pb-> pb_h - 1; vro_cpyfm (vdi_handle, S_ONLY, pxy, &screenMFDB, &screenMFDB); vs_clip (vdi_handle, FALSE, pxy); return pb-> pb_currstate; } static void cleanup (Awindow *wi) { Axywh *user; INT16 d, wid; OBJECT *im; im = wi-> work + IMAGE; user = wi-> user; wid = wi-> wi_id; if (wid < 0) return; if (user-> x < 0) user-> x = 0; if (user-> y < 0) user-> y = 0; d = user-> x + im-> ob_width - user-> w; if (d > 0) user-> x -= d; d = user-> y + im-> ob_height - user-> h; if (d > 0) user-> y -= d; wi-> wi_slider. x = (INT16) ((user-> x * 1000L) / (user-> w - im-> ob_width)); wind_set (wid, WF_HSLIDE, wi-> wi_slider. x, 0, 0, 0); wi-> wi_slider. y = (INT16) ((user-> y * 1000L) / (user-> h - im-> ob_height)); wind_set (wid, WF_VSLIDE, wi-> wi_slider. y, 0, 0, 0); (wi-> obchange) (wi, IMAGE, im-> ob_state); } static void uslider_arrow (Awindow *wi, INT16 which) /* * */ { Axywh *user; OBJECT *im; im = wi-> work + IMAGE; user = wi-> user; switch (which) { case WA_UPLINE: /* Zeile hoch */ user-> y --; break; case WA_DNLINE: /* Zeile runter */ user-> y ++; break; case WA_UPPAGE: /* Seitenweise */ user-> y -= im-> ob_height; break; case WA_DNPAGE: user-> y += im-> ob_height; break; case WA_LFPAGE: user-> x -= im-> ob_width; break; case WA_RTPAGE: user-> x += im-> ob_width; break; case WA_LFLINE: user-> x --; break; case WA_RTLINE: user-> x ++; break; }; cleanup (wi); } static void uslider_vslid (Awindow *wi, INT16 pos) /* * */ { Axywh *user; user = wi-> user; user-> y = (INT16) (((long) pos * user-> h) / 1000L); cleanup (wi); } static void uslider_hslid (Awindow *wi, INT16 pos) /* * */ { Axywh *user; user = wi-> user; user-> x = (INT16) (((long) pos * user-> w) / 1000L); cleanup (wi); } static Awindow *uslider_make (void *not_used) /* * Erzeuge Fenster */ { Awindow *wi; OBJECT *im; Axywh *user; wi = Awi_create (&USLIDER); if (wi == NULL) return NULL; wi-> user = user = Ax_malloc (sizeof (Axywh)); if (user == NULL) return NULL; wi-> kind |= AW_UHSLIDER | AW_UVSLIDER; /* spezial Flags setzen */ im = wi-> work + IMAGE; im-> ob_spec. userblk-> ub_parm = (long) wi; user-> x = user-> y = 0; user-> w = desk. x + desk. w; user-> h = desk. y + desk. h; wi-> wi_slider. x = /* start werte */ wi-> wi_slider. y = 0; wi-> wi_slider. w = (INT16) ((im-> ob_width * 1000L) / user-> w); wi-> wi_slider. h = (INT16) ((im-> ob_height * 1000L) / user-> h); (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &USLIDER. create); window = &USLIDER; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } 6yIgA,%nZaO;h$m͝?b6fv;1lm¬)abΞ%yC`2j=v0cNL.^|ċ5XdU&P!(YZ $eBPri҂G HQrA*qLw ]by(C @-@w#A=8CCRf$h,bf$@4ڸ)G $kHZ*0DI$}ǕsrÝSg}9+H9 B 0#GEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ; LINE-A library ; THIS IS THE END NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, m.ACS8H2&G     ACS 1.0d HELLO WORLDYO3O38?JALERT LISTEF?DATA LISTFnFFENSTER LISTEO3EEHELLO_001b S_Ctx "'EDICON LISTEDIMAGE LISTDMAUSFORM LISTEDfMENU LISTEDDZ OBJECT LISTE_CC POPUP LISTECpC REFERENZ LISTEC& TEDINFO LISTEBC TEXT LISTEBlBTEXT_001hEWORLDB BVTEXT_002 "UUT@5UUUV? HELLO WORLD ABTEXT_003UUT5UUUV?A`ATEXT_005UUSHELLOAUSERBLK LISTE@bWORLD_001oShello_make?Uffg* root ; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\HELLO.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code HELLO.C (HELLO.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END , NULL , 0x0, 0 }; static OBJECT _59_PANEL = { 60, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2048, 8, 1 }; static OBJECT _60_PANEL = { 57, -1, -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _61_PANEL = { 0, 63, 64, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 13, 10, 3 }; static AOBJECT _61aPANEL /* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.DOC\HELLO\HELLO.ACS compiled at: Tue Nov 17 14:17:30 1992 */ /* ANSI-C Prototypes */ static Awindow* hello_make (void* para); /* STRINGS */ static char TEXT_001 [] = "WORLD"; static char TEXT_002 [] = " HELLO WORLD "; static char TEXT_003 [] = ""; static char TEXT_005 [] = "HELLO"; /* OBJECT TREES */ OBJECT WORLD = { -1, 1, 2, 20, 0x0, 0x0, 0x00001100L , 0, 0, 16, 5 }; static OBJECT _01_WORLD = { 2, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 5, 1, 6, 1 }; static OBJECT _02_WORLD = { 0, -1, -1, 28, 0x20, 0x0, (long) TEXT_001 , 5, 3, 5, 1 }; /* WINDOWS */ Awindow HELLO = { NULL, Awi_service, hello_make , Awi_open, Awi_init, &WORLD , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_002 , TEXT_003 , 10000, 0x3, 0, -1, NULL, NULL, Awi_keys, Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x1b, " HELLO WORLD", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; /* ANSI-C Routines */ /* 'hello_make' Not defined yet by user */ er */ /* 'my_fulled' Not defined yet by user */ /* 'my/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.DOC\HELLO\HELLO.ACS compiled at: Tue Nov 17 14:17:30 1992 */ /* STRINGS */ /* OBJECT TREES */ extern OBJECT WORLD; /* WINDOWS */ extern Awindow HELLO; extern Adescr ACSdescr; /* ANSI-C Prototypes */ ra); static void uslider_vslid (Awindow* wi, INT16 pos); /* STRINGS */ static char TEXT_001 [] = " USER SLIDER "; static char TEXT_002 [] = ""; /* AUSERBLK */ static AUSERBLK USER_002 = {cimage, 0x0L , NULL, NULL, NULL, NULL}; /* OBJECT TREES */ OBJECT INNER = { -1, 1, 1, 20, 0x0, 0x0, 0x00001171L , 0, 0, 18, 7 }; static OBJECT _01_INNER = { 0, -1, -1, 24, 0x20, 0x0, (long) &USER_002 , 2, 1, 14, 5 }; /* WINDOWS */ Awindow USLIDER = { NULL, Awi_service, uslider_make, Awi_open, Awi_init, &INNER , NU/* Beispielapplikation fr ACS "Hello World" 27.9.91 Stefan Bachert */ #include #include #include static Awindow *hello_make (void *not_used); #include static Awindow *hello_make (void *not_used) /* * Erzeuge Hello World Fenster */ { Awindow *wi; wi = Awi_create (&HELLO); if (wi == NULL) return NULL; (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &HELLO. create); window = &HELLO; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } [area]. ob_state); return OK; } void vsl_update (SL_DATA *vsl, INT16; ACS Example Program (c) 1991 Stefan Bachert ; ..\..\PRG\HELLO1.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code HELLO1.C ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACS Plus Library ;PCBGILIB.LIB ; BGI library ;PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END THE END NULL , NULL , 0x8000, 0x0, NULL , NULL , 0x0, OBJ_3 }; static OBJECT _07_DRAGS = { 0, -1, -1, 26, 0x2000, 0x0, (long) TEXT_004 , 13, 5, 7, 3 }; static AOBJECT _07aDRAGS = {NULL , NULL , 0x8020, 0x0, NULL , NULL , 0x0, OBJ_4 }; /* WINDOWS */ Awindow DEMO = { NULL, menu_service, m.ACS;|*   ACS 2.0 ACS ACCESSORY _C_CHtALERT LISTDATA LISTICON LIST*IMAGE LISTltMENU LISTMOUSEFORM LISTFOBJECTTREE LIST>ZPOPUP LISTX REFERENCE LIST TEDINFO LIST, TEXT LISTZ USERBLK LISTF WINDOW LIST/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.BSP\DEMO_C.PRG\HELLO\HELLO1.ACS compiled at: Sun Jan 10 11:54:24 1993 */ extern Adescr ACSdescr; D 7&iH@(L.$A6dS'n剝+#I. $ ʆo^&TWw/nn5s5D^) o1U p`HQ!5OL`Ł"A)֧@_GWA&Uh/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.BSP\DEMO_C.PRG\HELLO\HELLO1.ACS compiled at: Sun Jan 10 11:54:24 1993 */ Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x13, " ACS ACCESSORY ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; , -1, 22, 0x0, 0x0, (long) &TEDI_001 , 1, 2049, 8, 1 }; static OBJECT _61_PANEL = { 0, 63, 64, 24, 0x5, 0x10, (long) &A_3DBUTTON03 , 38, 13, 10, 3 }; static AOBJECT _61aPANEL /* * Minimales Hello World * Stefan Bachert 1993 * Handgestoppt in 3 Minuten geschrieben * * 3 Aktionen * HELLO1.ACS erstellen (nur ffnen und speichern) * HELLO1.PRJ erstellen (Defaultprojekt modifizieren) * HELLO1.C erstellen (diesen Text) */ #include #include #include #include INT16 ACSinit (void) { Awindow* proto; proto = PROTOCOL. create (NULL); if (proto != NULL) { proto-> open (proto); wputs ("Hello World", proto); } return OK; } 0x0, 0x00001100L , 0, 0, 16, 5 }; static OBJECT _01_WORLD = { 2, -1, -1, 28, 0x0, 0x0, (long) TEXT_005 , 5, 1, 6, 1 }; static OBJECT _02_WORLD = { 0, -1, -1, 28, 0x20, 0x0, (long) TEXT_001 , 5, 3, 5, 1 }; /* WINDOWS */ Awindow HELLO = { NULL, Awi_service, hello_make , Awi_open, Awi_init, &WORLD , NULL, 0, 0, -1, 0xb, { 0, 0, 34, 14}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1,; ACS Example Program (c) 1991, 1992 Stefan Bachert ; ..\..\PRG\REZEPT.PRG ; name of executable program = ; list of modules follows... PCSTART.O ; startup code REZEPT.C (REZEPT.H) ; depends also upon surface definition ACS.LIB ; ACS Library ACSPLUS.LIB ; ACSPlus Library ;PCBGILIB.LIB ; BGI library PCFLTLIB.LIB ; floating point library PCSTDLIB.LIB ; standard library ;PCEXTLIB.LIB ; extended library PCTOSLIB.LIB ; TOS library PCGEMLIB.LIB ; AES and VDI library PCLNALIB.LIB ; LINE-A library ; THIS IS THE END ; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &HELLO. create); window = &HELLO; (window-> create) (NULL); /* sofort ein Fenster erzeugen */ return OK; } [area]. ob_state); return OK; } void vsl_update (SL_DATA *vsl, INT16/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents is based on file: E:\ACS.BSP\DEMO_C.PRG\REZEPT\REZEPT.ACS compiled at: Wed Jan 27 12:10:42 1993 */ /* ALERTBOXES */ /* STRINGS */ /* ICONS */ /* OBJECT TREES */ /* WINDOWS */ extern Adescr ACSdescr; /* ANSI-C Prototypes */ extern INT16 CDECL A_3Dbutton (PARMBLK* pb); extern INT16 CDECL A_editor (PARMBLK* pb); extern INT16 CDECL A_ftext (PARMBLK* pb); extern INT16 CDECL A_picture (PARMBLK* pb); extern INT16 CDECL A_slider (PARMBLK* pb); extern INT16 Auo_editor (OBJECT* entry, INT16 task, void* in_out); extern INT16 Auo_ftext (OBJECT* entry, INT16 task, void* in_out); extern INT16 Auo_picture (OBJECT* entry, INT16 task, void* in_out); extern INT16 Auo_slider (OBJECT* entry, INT16 task, void* in_out); extern INT16 Auo_string (OBJECT* entry, INT16 task, void* in_out); MOUSEFORM LIST( OBJECT/* This file was created with ACS 2.0 (c) Stefan Bachert 1991, 1992 The contents are based on file: E:\ACS.BSP\DEMO_C.PRG\REZEPT\REZEPT.ACS compiled at: Wed Jan 27 12:10:44 1993 */ /* ANSI-C Prototypes */ static void Aus_slider (void); static void cancel (void); static void cled (void); static void ok (void); static void rezept_key (Awindow* wi, INT16 kstate, INT16 key); static Awindow* rezept_make (void* para); static INT16 rezept_service (Awindow* wi, INT16 task, void *in_out); /* ALERT BOXES */ static char ERR_CREATE [] = "[3][|Konnte die Datei |nicht erzeugen!][ OK ]"; /* STRINGS */ static char TEXT_01 [] = " Zubereitung "; static char TEXT_018 [] = "ERZEUGE"; static char TEXT_019 [] = "MLLEIMER"; static char TEXT_02 [] = "Abbruch"; static char TEXT_04 [] = ""; static char TEXT_05 [] = " Zutaten "; static char TEXT_06 [] = " REZEPT "; static char TEXT_07 [] = "OK"; static char title [] = "REZEPT LADEN"; /* DATAS */ static INT16 DATAS_01 [] = { 0x0013, 0x82b2, 0x005f, 0x0062, 0x0006, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0xc0e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0018, 0x0000, 0x0e00, 0xf000, 0x0000, 0x0002, 0x0010, 0x0000, 0x07c3, 0xe000, 0x0000, 0x0003, 0x0030, 0x0000, 0x0366, 0xc000, 0x0000, 0x0001, 0xc0e0, 0x0007, 0xe1ac, 0x8000, 0x0000, 0x0000, 0x7f80, 0x001e, 0x3898, 0x8000, 0x0000, 0x0000, 0x0000, 0x0003, 0x8e99, 0xfe00, 0x0000, 0x0000, 0x0000, 0x0000, 0xc391, 0x03e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x6190, 0x0038, 0x0000, 0x0000, 0x0000, 0x0000, 0x3080, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, 0xfc00, 0x1ffe, 0x0000, 0x0000, 0x0000, 0x0003, 0x8200, 0xf002, 0x0000, 0x0000, 0x0000, 0x000e, 0x0000, 0x3c00, 0x0000, 0x0000, 0x0000, 0x0018, 0x0000, 0x0700, 0x0000, 0x0000, 0x0000, 0x003f, 0xf800, 0x0180, 0x0000, 0x0000, 0x0000, 0x0020, 0x0f03, 0x00c0, 0x0000, 0x0000, 0x0000, 0x000f, 0x3801, 0xc060, 0x0000, 0x0000, 0x000f, 0xc03e, 0x6041, 0x7020, 0x0000, 0x0000, 0x001e, 0x786c, 0xc1e0, 0x9c30, 0x0000, 0x0000, 0x0003, 0x8ec9, 0x87b0, 0xc710, 0x0000, 0x0000, 0x0000, 0xc39f, 0xfc98, 0x41d8, 0x0000, 0x0000, 0x0000, 0x6110, 0x0f9c, 0x4078, 0x0000, 0x0000, 0x0003, 0xf020, 0x0196, 0x6018, 0x0000, 0x0000, 0x001e, 0x0000, 0x3fd3, 0x2008, 0x0000, 0x0000, 0x0070, 0x0001, 0xe091, 0x2000, 0x0000, 0x0000, 0x00c0, 0x780f, 0x0091, 0xa000, 0x0000, 0x0000, 0x0187, 0xc001, 0xc090, 0xa000, 0x0000, 0x0000, 0x03ff, 0x0000, 0x6090, 0xe000, 0x0000, 0x0000, 0x0382, 0x0040, 0x3090, 0x6000, 0x0000, 0x0000, 0x0606, 0x18cf, 0x9890, 0x6000, 0x0000, 0x0000, 0x040c, 0x31c8, 0xe890, 0x2000, 0x0000, 0x0000, 0x0008, 0xe34c, 0x3c90, 0x2000, 0x0000, 0x0000, 0x0019, 0xa25c, 0x1d90, 0x0000, 0x0000, 0x0000, 0x0013, 0x2656, 0x0d30, 0x0000, 0x0000, 0x0000, 0x0016, 0x2452, 0x0120, 0x0000, 0x0000, 0x0000, 0x0014, 0x3453, 0x0120, 0x0000, 0x0000, 0x0000, 0x001c, 0x1479, 0x0120, 0x0000, 0x0000, 0x0000, 0x0018, 0x1869, 0x0120, 0x0000, 0x0000, 0x0000, 0x0010, 0x1849, 0x8320, 0x0000, 0x0000, 0x0000, 0x0000, 0x100c, 0x8260, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x8240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x8240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0xc640, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x44c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4c80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4980, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x4900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x5900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x5300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x5200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x7200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x6600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x6408, 0x0400, 0x0000, 0x0000, 0x0208, 0x0202, 0x641c, 0x0e10, 0x0000, 0x0002, 0x071c, 0x0782, 0x2476, 0x3b78, 0x0000, 0x0007, 0x0df6, 0x1ce7, 0x27c3, 0xe1ce, 0x0000, 0x000d, 0xf803, 0xf03d, 0x2c00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x2800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0301, 0x2800, 0x0000, 0x0000, 0x000f, 0xffe0, 0x1cff, 0x2fcf, 0x03fe, 0x0000, 0x0000, 0x001f, 0xe001, 0x2830, 0xfc00, 0x0000, 0x0000, 0x0000, 0x0011, 0x6a00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0011, 0x8200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; /* AUSERBLK */ static AUSERBLK A_3DBUTTON01 = {A_3Dbutton, 0x29010178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON02 = {A_3Dbutton, 0x29110278L , Auo_string , TEXT_02 , NULL, NULL}; static AUSERBLK A_3DBUTTON03 = {A_3Dbutton, 0x20219178L , Auo_string , NULL, NULL, NULL}; static AUSERBLK A_3DBUTTON04 = {A_3Dbutton, 0x29110278L , Auo_string , TEXT_07 , NULL, NULL}; static AUSERBLK A_EDITOR01 = {A_editor, 0x0L , Auo_editor , NULL, NULL, NULL}; static AUSERBLK A_FTEXT01 = {A_ftext, 0x1111891aL , Auo_ftext , TEXT_05 , NULL, NULL}; static AUSERBLK A_FTEXT04 = {A_ftext, 0x1110891aL , Auo_ftext , TEXT_01 , NULL, NULL}; static AUSERBLK A_PICTURE01 = {A_picture, 0x2 , Auo_picture , DATAS_01 , NULL, NULL}; static AUSERBLK A_SLIDER01 = {A_slider, 0x0L , Auo_slider , NULL, NULL, NULL}; static AUSERBLK A_SLIDER02 = {A_slider, 0x1L , Auo_slider , NULL, NULL, NULL}; /* ICONS */ static INT16 _MSK_NEW_IC [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ff, 0x0000, 0xffff, 0x00ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff00, 0xffff, 0x0000, 0xff00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; static INT16 _DAT_NEW_IC [] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00ff, 0x0000, 0xffff, 0x00ff, 0xff01, 0xffff, 0x0001, 0xff00, 0x0211, 0x8000, 0x0001, 0x8005, 0x4631, 0x8000, 0x0631, 0x8a4f, 0xe631, 0x800f, 0xe631, 0x98cc, 0x0631, 0x98cc, 0x0631, 0x98cc, 0x0631, 0x9ccf, 0x0631, 0x9ccf, 0x0631, 0x9acc, 0x0631, 0x9acc, 0x07f1, 0x99cc, 0x03e1, 0x99cf, 0xe001, 0x98cf, 0xe551, 0x98c0, 0x0001, 0x98ca, 0xa001, 0x8000, 0x0001, 0x9480, 0x00ff, 0x8000, 0xffff, 0x80ff, 0xff00, 0xffff, 0x0000, 0xff00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; static ICONBLK NEW_IC = { _MSK_NEW_IC, _DAT_NEW_IC, TEXT_018, 0x1000, 8, 13, 20, 0, 32, 32, 0, 32, 72, 8}; static INT16 _MSK_TRASH_IC [] = { 0x0000, 0x0000, 0x0007, 0xf000, 0x00ff, 0xff80, 0x01ff, 0xffc0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x07ff, 0xfff0, 0x07ff, 0xfff0, 0x07ff, 0xfff0, 0x07ff, 0xfff0, 0x07ff, 0xfff0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x03ff, 0xffe0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x01ff, 0xffc0, 0x00ff, 0xff80, 0x003f, 0xfe00, 0x0000, 0x0000, 0x0000, 0x0000}; static INT16 _DAT_TRASH_IC [] = { 0x0000, 0x0000, 0x0007, 0xf000, 0x00fe, 0xbf80, 0x01c6, 0xb1c0, 0x0200, 0x0020, 0x03c0, 0x01e0, 0x037f, 0xff60, 0x0100, 0x0040, 0x0144, 0x2240, 0x0144, 0x2240, 0x0244, 0x2220, 0x0244, 0x2220, 0x0244, 0x2220, 0x0284, 0x8920, 0x0484, 0xd910, 0x0484, 0x7110, 0x0484, 0x2110, 0x0484, 0x2110, 0x0484, 0x2110, 0x0284, 0x2120, 0x0244, 0x2220, 0x0244, 0x2220, 0x0244, 0x2220, 0x0144, 0x2240, 0x0144, 0x2240, 0x0144, 0x2240, 0x0164, 0x2640, 0x0186, 0x60c0, 0x00e0, 0x0380, 0x003f, 0xfe00, 0x0000, 0x0000, 0x0000, 0x0000}; static ICONBLK TRASH_IC = { _MSK_TRASH_IC, _DAT_TRASH_IC, TEXT_019, 0x1000, 8, 13, 21, 0, 32, 32, 0, 32, 72, 8}; /* OBJECT TREES */ static OBJECT MYDESK = { -1, -1, -1, 24, 0x20, 0x0, (long) &A_PICTURE01 , 0, 0, 23, 7 }; #define ZUTATEN ( 4) #define ZUTATENV ( 6) #define ZUTATENH ( 8) #define ZUBEREIT ( 11) #define ZUBEREITV ( 13) #define ZUBEREITH ( 15) static OBJECT REZEPTDIA = { -1, 1, 19, 24, 0x0, 0x10, (long) &A_3DBUTTON01 , 0, 0, 58, 18 }; static OBJECT _01_REZEPTDIA = { 2, -1, -1, 24, 0x0, 0x0, (long) &A_FTEXT01 , 2, 0, 22, 2 }; static OBJECT _02_REZEPTDIA = { 3, -1, -1, 24, 0x0, 0x0, (long) &A_FTEXT04 , 26, 0, 30, 2 }; static OBJECT _03_REZEPTDIA = { 10, 4, 8, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 2, 3, 22, 10 }; static OBJECT _04_REZEPTDIA = { 6, -1, -1, 24, 0x40, 0x0, (long) &A_EDITOR01 , 0, 0, 20, 9 }; static AOBJECT _04aREZEPTDIA = {cled , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _06_REZEPTDIA = { 8, -1, -1, 24, 0x40, 0x0, (long) &A_SLIDER02 , 20, 0, 2, 9 }; static AOBJECT _06aREZEPTDIA = {Aus_slider , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _08_REZEPTDIA = { 3, -1, -1, 24, 0x40, 0x0, (long) &A_SLIDER01 , 0, 9, 20, 1 }; static AOBJECT _08aREZEPTDIA = {Aus_slider , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _10_REZEPTDIA = { 17, 11, 15, 24, 0x0, 0x10, (long) &A_3DBUTTON03 , 26, 3, 30, 10 }; static OBJECT _11_REZEPTDIA = { 13, -1, -1, 24, 0x40, 0x0, (long) &A_EDITOR01 , 0, 0, 28, 9 }; static AOBJECT _11aREZEPTDIA = {cled , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _13_REZEPTDIA = { 15, -1, -1, 24, 0x40, 0x0, (long) &A_SLIDER02 , 28, 0, 2, 9 }; static AOBJECT _13aREZEPTDIA = {Aus_slider , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _15_REZEPTDIA = { 10, -1, -1, 24, 0x40, 0x0, (long) &A_SLIDER01 , 0, 9, 28, 1 }; static AOBJECT _15aREZEPTDIA = {Aus_slider , NULL , 0x8000, 0x0, NULL , NULL , 0x0, 0 }; static OBJECT _17_REZEPTDIA = { 19, -1, -1, 24, 0x4007, 0x10, (long) &A_3DBUTTON04 , 15, 15, 9, 2 }; static AOBJECT _17aREZEPTDIA = {ok , NULL , 0x8000, 0x8818, NULL , NULL , 0x0, 0 }; static OBJECT _19_REZEPTDIA = { 0, -1, -1, 24, 0x4005, 0x10, (long) &A_3DBUTTON02 , 32, 15, 9, 2 }; static AOBJECT _19aREZEPTDIA = {cancel , NULL , 0x8020, 0x881e, NULL , NULL , 0x0, 0 }; /* WINDOWS */ Awindow REZEPT = { NULL, rezept_service, rezept_make , Awi_open, Awi_init, &REZEPTDIA , NULL, 0, 0, -1, 0xfef, { 0, 0, 120, 50}, {0, 0, 0, 0}, {0, 0, 0, 0}, {-1, -1, -1, -1}, 0, 0, 0xf0f0, TEXT_06 , TEXT_04 , 10000, 0x3, 0, -1, NULL, NULL, rezept_key , Awi_obchange, Awi_redraw, Awi_topped, Awi_closed, Awi_fulled, Awi_arrowed, Awi_hslid, Awi_vslid, Awi_sized, Awi_moved}; Adescr ACSdescr = { "ACS 2.0", 200, -4, -4, 0x3b, " REZEPTE ", &DESKTOP, NULL, { { 0, NULL}, { 2, NULL}, { 3, NULL}, { 4, NULL}, { 1, NULL}, { 5, NULL}, { 6, NULL}, { 7, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL}, { 0, NULL} } }; 200g geniales ACS 200g treues Pure C 100g eigene Fantasie 50g C-Kenntnisse Zunchst die eigene Fantasie bis zum berschumen kochen lassen. Dann vom Herd nehmen Mit dem genialen ACS die Oberflche definieren. In kleinen Portionen etwas treues Pure C zusetzen. In kleinen Dosierungen sind Erfolgserlebnisse hufiger zu erwarten. Bei erhhtem Frust etwas eigene Fantasie und C-Kenntnisse zusetzen. Genuvoll dem eigenen Baby beim Werden zusehen. Anschliessend dem Baby das sichere Laufen beibringen. Stolz der Welt das gelungene Kind prsentieren. Der Autor wrde sich auch freuen. /* Beispielapplikation fr ACS "Rezepte" 7.12.92 Stefan Bachert */ #include #include #include #include #include "rezept.h" #include "rezept.ah" typedef struct { OBJECT* edit; char file [128]; } REDATA; static INT16 frame = 3; static INT16 block = 2; static void term (Awindow* wi) { Ax_free (wi-> user); Awi_delete (wi); } static void ok (void) { REDATA* data; long handle; OBJECT* zutat, *zubereit; Awindow* wi; long lines; static char crlf []= "\r\n"; static char nul [] = ""; EDITGETS gets; wi = ev_window; data = wi-> user; handle = Fcreate (data-> file, 0); if (handle < 0) { form_alert (1, ERR_CREATE); return; } zutat = wi-> work + ZUTATEN; Auo_editor (zutat, AUO_EDUNSELECT, NULL); Auo_editor (zutat, AUO_EDGETROWS, &lines); gets. row = 0; while (gets. row < lines) { if (gets. row > 0) { Fwrite ((INT16) handle, 2, crlf); } Auo_editor (zutat, AUO_EDGETROW, &gets); if (gets. size > 0) { Fwrite ((INT16) handle, gets. size, gets. text); } gets. row ++; } Fwrite ((INT16) handle, 1, nul); zubereit = wi-> work + ZUBEREIT; Auo_editor (zubereit, AUO_EDUNSELECT, NULL); Auo_editor (zubereit, AUO_EDGETROWS, &lines); gets. row = 0; while (gets. row < lines) { if (gets. row > 0) { Fwrite ((INT16) handle, 2, crlf); } Auo_editor (zubereit, AUO_EDGETROW, &gets); if (gets. size > 0) { Fwrite ((INT16) handle, gets. size, gets. text); } gets. row ++; } Fclose ((INT16) handle); term (wi); } static void cancel (void) { term (ev_window); } static void cled (void) { OBJECT* act, *old; REDATA* data; data = ev_window-> user; old = data-> edit; act = ev_object + ev_obnr; if (old != act) { Auo_editor (old, AUO_EDCURHIDE, NULL); Auo_editor (old, AUO_EDUNSELECT, NULL); Auo_editor (old, AUO_EDCURSOR, &frame); Auo_editor (old, AUO_EDCURSHOW, NULL); Auo_editor (act, AUO_EDCURHIDE, NULL); Auo_editor (act, AUO_EDCURSOR, &block); Auo_editor (act, AUO_EDCURSHOW, NULL); data-> edit = act; } else { Aus_editor (); } } static void load (char* file, OBJECT* zutat, OBJECT* zubereit) { long size; long handle; long col = 0; char* buffer, *ende, *end1, *start; char* p; handle = Fopen (file, FO_READ); if (handle < 0) return; size = Fseek (0, (INT16) handle, 2); Fseek (0, (INT16) handle, 0); buffer = Ax_malloc (size + 2); if (buffer == NULL) { Fclose ((INT16) handle); return; } if (size != Fread ((INT16) handle, size, buffer)) { Ax_ifree (buffer); Fclose ((INT16) handle); return; } buffer [size] = '\0'; buffer [size + 1] = '\0'; Fclose ((INT16) handle); start = buffer; ende = buffer + size; end1 = strchr (buffer, '\0'); while (buffer < end1 && buffer [0] != '\0') { p = strchr (buffer, '\r'); if (p != NULL) { *p = '\0'; Auo_editor (zutat, AUO_EDAPPLINE, buffer); if (p [1] == '\n') { buffer = p + 2; } else { buffer = p + 1; } Auo_editor (zutat, AUO_EDNEWLINE, NULL); } else { Auo_editor (zutat, AUO_EDAPPLINE, buffer); break; } } Auo_editor (zutat, AUO_BEGIN, NULL); Auo_editor (zutat, AUO_EDCURPOS, &col); Auo_editor (zutat, AUO_EDVIEW, NULL); Auo_editor (zutat, AUO_EDSLIDERS, NULL); buffer = end1 + 1; while (buffer < ende && buffer [0] != '\0') { p = strchr (buffer, '\r'); if (p != NULL) { *p = '\0'; Auo_editor (zubereit, AUO_EDAPPLINE, buffer); if (p [1] == '\n') { buffer = p + 2; } else { buffer = p + 1; } Auo_editor (zubereit, AUO_EDNEWLINE, NULL); } else { Auo_editor (zubereit, AUO_EDAPPLINE, buffer); break; } } Auo_editor (zubereit, AUO_BEGIN, NULL); Auo_editor (zubereit, AUO_EDCURPOS, &col); Auo_editor (zubereit, AUO_EDVIEW, NULL); Auo_editor (zubereit, AUO_EDSLIDERS, NULL); Ax_ifree (start); } static INT16 rezept_service (Awindow* wi, INT16 task, void* in_out) { switch (task) { case AS_TERM: term (wi); break; default: return FALSE; } return TRUE; } static void rezept_key (Awindow* wi, INT16 kstate, INT16 key) { REDATA* data; data = wi-> user; Auok_editor (data-> edit, kstate, key); } static char path [128]; static Awindow *rezept_make (void *not_used) { Awindow *wi; OBJECT* entry; REDATA* data; Awiob wiob; char* file; static long wrap = 2000L; /* Mu klein genug sein wegen AUO_EDNEWLINE */ file = A_fileselect (title, path, "RZP"); if (file == NULL) return NULL; data = Ax_malloc (sizeof (REDATA)); REZEPT. name = file; wi = Awi_create (&REZEPT); if (wi == NULL) return NULL; wi-> user = data; strcpy (data-> file, file); wiob. window = wi; data-> edit = entry = wi-> work + ZUTATEN; wiob. entry = entry; wiob. obnr = ZUTATEN; Auo_editor (entry, AUO_SELF, &wiob); /* WICHTIG */ Auo_editor (entry, AUO_EDCHARSELECT, NULL); Auo_editor (entry, AUO_EDCURSOR, &block); Auo_editor (entry, AUO_EDCURON, NULL); Auo_editor (entry, AUO_EDCURSHOW, NULL); Auo_editor (entry, AUO_EDWRAP, &wrap); wiob. entry = wi-> work + ZUTATENH; wiob. obnr = ZUTATENH; Auo_editor (entry, AUO_EDHORSLIDER, &wiob); wiob. entry = wi-> work + ZUTATENV; wiob. obnr = ZUTATENV; Auo_editor (entry, AUO_EDVERSLIDER, &wiob); entry = wi-> work + ZUBEREIT; wiob. entry = entry; wiob. obnr = ZUBEREIT; Auo_editor (entry, AUO_SELF, &wiob); /* WICHTIG */ Auo_editor (entry, AUO_EDCHARSELECT, NULL); Auo_editor (entry, AUO_EDCURSOR, &frame); Auo_editor (entry, AUO_EDCURON, NULL); Auo_editor (entry, AUO_EDCURSHOW, NULL); Auo_editor (entry, AUO_EDWRAP, &wrap); wiob. entry = wi-> work + ZUBEREITH; wiob. obnr = ZUBEREITH; Auo_editor (entry, AUO_EDHORSLIDER, &wiob); wiob. entry = wi-> work + ZUBEREITV; wiob. obnr = ZUBEREITV; Auo_editor (entry, AUO_EDVERSLIDER, &wiob); load (file, wi-> work + ZUTATEN, wi-> work + ZUBEREIT); (wi-> open) (wi); /* ffne gleich, auch als accessory */ return wi; } INT16 ACSinit0 (void) /* * Konfiguriere generische Desktop */ { /* DESKTOP. menu = &MYMENU; /* andere Menleiste */ DESKTOP. service (NULL, AS_BACKOBJECT, &MYDESK); /* anderer Desktophintergrund */ DESKTOP. service (NULL, AS_ICONNEW, &NEW_IC); /* andere Ikons */ DESKTOP. service (NULL, AS_ICONTRASH, &TRASH_IC); /* DESKTOP. service (NULL, AS_ICONWINDOW, &WINDOW_IC); */ return OK; } INT16 ACSinit (void) /* * Doppelklick auf NEU erzeugt ein neues Fenster */ { Awindow *window; window = Awi_root (); /* root window */ if (window == NULL) return FAIL; /* lege NEU Icon an */ (window-> service) (window, AS_NEWCALL, &REZEPT. create); return OK; } <| T7 Tij>h 0 HA i$ i< @ii<iliT  .ACSmWxkV9($) -"#.8*%ACS 2.0; REZEPTE SSORY oC4O3Hk 0x0Lj0x1110891aL0x1111891aL0x1Ll0x2"0x20219178L0x29010178L0x29110278L ALERT LISToS!b A_3DBUTTON01 A_3DBUTTON022 A_3DBUTTON03X A_3DBUTTON046A_3Dbutton&pA_EDITOR01A_FTEXT014RA_FTEXT04/2A_PICTURE01 A_SLIDER01@A_SLIDER02A_editorA_ftextbA_pictureA_sliderAuo_editorAuo_ftext:Auo_pictureAuo_sliderAuo_string\Aus_sliderH DATA LIST <B DATAS_01_b00fᬀ8Ña80 <? 8`>`Ap xl0ɇßAa@x `? p x`@0`Ϙ` 1 L< \&V 0$R 4S y i I  `@@@DDDLIIIYSRRrfdd$v;x ' =,((/(0j!..ERR_CREATEoS[3][|Konnte die Datei |nicht erzeugen!][ OK ]b"ICON LISTO3'7#IMAGE LIST$MENU LIST%MOUSEFORM LISTD&88MYDESK01'""NEW_ICC8"0  HF11O11111111Qʠ,v(OBJECTTREE LIST?3&,)POPUP LIST(r*hdREFERENCE LIST@ABCDEH+REZEPT01#txED,x253'C,REZEPTDIA?z  :  =@ A?@ >@     : @ A< @ ;@  @  B@  @d-TEDINFO LIST.$TEXT LISTO3/0123456F/TEXT_01 Zubereitung 4~0TEXT_018ERZEUGE~"1 TEXT_019MLLEIMER&ʜ2TEXT_02Abbruch3TEXT_04v4 TEXT_05 Zutaten nb5 TEXT_06 REZEPT Ӹ6TEXT_07OK j7""TRASH_ICoS8"1  H?Ʊ `@D"@D"@D" D" D"  q!!!! D" D" D" D"@D"@D"@d&@`?Ȟ80(USERBLK LIST HȒ9WINDOW LISTO3+:ZUBEREITǴ;ZUBEREITHj<ZUBEREITV =ZUTATEN>ZUTATENHƌ?ZUTATENVB@cancelAcledŮBokdCrezept_key Drezept_makeErezept_serviceĺF title7_CREZEPT LADENHELLO ACS dHELLO PRJ ݅|HELLO AH dHELLO H dqHELLO C LHELLO1 PRJ -^*xHELLO1 ACS ^*HELLO1 H ^*HELLO1 AH ^*3HELLO1 C 0`*Aufgrund der Flle der Beispielapplikation sollen hier die besonderen programmtechnische Aspekte der verschiedenen Beispiele kurz erlutert werden. ADDRESS: Komplette Applikation Vorgeben und Lesen von Eingabefeldern Menleiste AUF_AB: Tastenkodes Aufruf von Dialogen Ziehoperationen Auffrischen von Anzeigen Serviceroutine DEPEND: Abhngiges Fenster, wie z.B. die Teilebox im Editor Ohne Desktop, nur Menueleiste DIR: Dynamisches Erzeugen von Objektbumen Ziehoperationen HELLO: Zeigt das Minimalgerst INPUT: Prfung von Eingabefeldern Serviceroutine MENUE: Kontextsensitive Aktivieren und Deaktivieren von Meneintrgen OWN_DESK: Eigener Desktop aufbauen Popups benutzen PIANO: Klickoperationen Parametrisieren durch Userzeiger PROTO: Nutzen des Protocolfensters PLOT: Nutzen des Plotterfensters RSCOM: Klickroutinen vernetzte Fenster (Subeditoren) SCHIEBER: Intelligente Objekte zusammenbauen USERDEF: Benutzerdefiniertes Objekt einbinden Inneres Objekt pat sich an uere Gre an USLIDER: Benutzerdefinierte Fensterslider top + 1; ev_obnr = top; /* behave like a object */ (aob-> click) (); } void vsl_up (void) /* * up arrow */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos -= vsl-> step; vsl_update (vsl, top); } void vsl_down (void) /* * down arrow */ { INT16 top; AOBJECT *aob; SL_DATA *vsl; top = Aob_up (ev_object, ev_obnr); /* parent is top item */ aob = (AOBJECT *) ev_object + top + 1; vsl = aob-> userp1; vsl-> pos += vsl-> step; vsl_update (vsl, top); } void vsl_upage (void) /* * up page */ { INT16 top; AOBJECT *aob; SEVH $*oJg< yJh6fJh8g/9pI?NA\O`N/9pI?NA\ON#L$NuNVH 4*n yJh6f Jh8fNp/// r?rK?NAO&@A -HJj"yJi6f Ji8fNp` n  ACS4g&/ pI?NA\O yJh6f Jh8fNp`\ + ЫЫ// BgrJ?NAO yJh6f Jh8fN n-h!y!| nNpL,N^NuBN:$ _ACSblk:f_accgemdosx4_oldgemdos*Ha_Awi_wid_Awi_root_Awi_list_Awi_sendall _Awi_down_Awi_up_Awi_show_Awi_init_Awi_create _Awi_open$_Awi_closed(_Awi_delete,_Awi_topped0_Awi_fulled4_Awi_sized8_Awi_moved<_Awi_diaend@_Awi_diastartD_Awi_keysH_Awi_obviewL_Awi_serviceP_Awi_scrollT_Awi_obchangeX_Awi_obredraw\_Awi_redraw`_Awi_arrowedd_Awi_hslidh_Awi_vslidl_Aev_quitt_Aev_messx_Aev_unhidepointer|_Amo_new_Amo_busy_Amo_unbusy_Amo_hide_Amo_show_Aob_create_Aob_delete_Aob_fix_Aob_offset_Aob_save_Aob_restore_Aob_watch_Aob_findflag_Aob_up_Ame_namefix_Ame_popup_Abp_create_Abp_deleteā_Abp_startȁ_Abp_end́_Adr_boxЁ_Adr_dragԁ_Adr_next؁_Adr_add܁_Adr_del_Adr_unselect_Ast_create_Ast_delete_Aic_create_Aic_delete_Aim_create_Aim_delete_Aus_create_Aus_delete_Ate_create_Ate_delete _Ax_malloc_Ax_free_Ax_ifree_A_nokey _Aob_alias$_A_dialog(_alert_str,_intersect0_A_checkbox4_A_radiobutton8_A_innerframe<_A_pattern@_A_arrowsD_Adr_startH_A_selectL_Ash_progP_A_fileselectT_A_ftextX_A_3Dbutton`_A_cycled_A_pictureh_Auo_ftextl_Auo_stringp_Auo_cyclet_Aus_cyclex_Auo_picture|/ 09RyJ@gp`"y i<3  i<0) h n0( 3 i<0( @2) @3 0) i i/JGk Gmp` HA .Nu 9NuNVpN^NuNVH?4*n&n NN~ Gld HA HC$I$R Hp"-Jg.<* 30<pN30<tN n1| RG` yJh fBgBN\Op?Br??NO #, y0( 340( S@36?(?( p??r??Hy NO y0(?2( ?4( ?6(?????x?NONNBy0<Np$N/./ / BgpK?NAO*pN y030<Np?Br??NO -y nJh ffJgp?/(r??NO p? n/(^N\O y0(?2( ?4( ?6(?????x?NO~ Gl( HA-PJg"n i / NXORG` L,N^NuH*op?????-"NO . Gmp`JGjx<909R@@3HA&PJygB g>+Uf6/ aXO kBp?/ NO p?????-"NO .`yfJGk Gn `Hyp?N\OpL(NuH~098yoBy8JGgp`"RG098HRy8A*P g L NuH>/*o<9JFk( HA&P g k/ ?/ NO SF`L(NuH>9JGkd HA*P gL-WgDW0- J@k*W m/ NXO-Wg mC$/ / NPO`WNSG`L NuNVH>909R@@3HA*PJyg6 g2A///Hnp ?BgNO0- ng / a XO`yfL N^NuNVH>909S@@3HA*PJyg6 g2A///Hnp ?BgNO0- ng / a XO`yfL N^Nu/ *o0- J@o mn/ NXO` m / NXO*_NuNVHHxNXO*@0< n"MQJg0/-NXO+@Jf/ NXOp`/-NXOJ^gH/-^NXO+@^Jf/-NXO/ NXOp`b/-^NXO/-^NXOJZg- ;| -WgN;| y h@fNJGf*p????r??NO BgBN\O` -VfFJg>0-XJ@k"y iEX/ pg?/ NO `"y i/ pd?/ NO JGo"y i<(g0-XJ@k:Jg2? y/(HnNO y0(4n0(6n`p=@=@p0=@=@?-*?-(?-&?-$?.?.?.?.NO30<pN30<tNJGk HAp L$N^NuH$*oV y h@f yBhF~d0- J@k SGJ@o mr/ NXO`JGn/ a"XO0-XJ@k$Jg"y iEX/ pe?/ NO /-^NXO/-NXO/-ZNXO/-JNXO/-NNXOfp#N~09@n\"HA"H$QfB"Hr @f&09SyJ@o09HAJg/ NXO`RG`L$NuH*o >- JGo Np????r ??NO L NuNVH34*n-mG$A,-H-WgN062(7A0(7@2(7A0-D"n4)@f 4-F6)BgW3mD3mF`H01k1k1k-Ug2 y6 y7h  y7h  y7h`><mH0-H@, F@ nhh F@hhAC/ /E/ / $n?*?*p???-"?NO0k y2(4( ABo6-m^Jg n0(HrN n20k0+k y2( 4(ABo7A n0(;@D0(;@FJhfJhgWp1@1@mW-Ug/ aXO/ a(XO?+?+?+?p??- NO -WgP"y i<(g>=|0=@Bn=m =S=k=k=kHnp??NPON-WgW mjC$/ / NPONL,N^NuNVH*n&n 0- J@oWA$01k1k1kHJmgW-Ug/ aXO/ aXO n?(?(?(?p??- NO -WgT"y i<(gB=|0=@Bn=m n=P=h=h=hHnp??NPON-WgW mjC$/ / NPONL(N^NuH*o &o0- J@oFW;S$;k&;k(;k*/ a,XO?-*?-(?-&?-$p??- NO L(NuNVH?4*n=m -m&m^0<mH2-HA$FB nhh$FBhhBn=@=A g0+HrN23=A>-$<-&:-(=m* n0(nHnHnHnHn??(r???-"?NO nm0.*0.nm0." yh m2( *=@hm0(2(En"*2(@n"09n49y E&Bm&.49y A&Bm&,49Gn$.49Fn$,4(h hSBHHHBo.0( hhnH@o,HnHnHnHn?????-"p?NO0.n2.n4.6.B8.ޖDSCDB@=Cnn$ g>4+H rN 0." yh7A0.2.$@SB7B2.;A42.;A62.;A82.;A:2. n4(An&DC=B2(ClDB1B2.4(AD&DC=B8(ClDB1B2.@4.@A$C&E(/J0E*/ //4/ /??.??.?-"BgNO-"g-Ufp=@2.JAo( n4(H "<N2.HN=@2-<@g&;@<2.JAot????v??NO 0.H"<N n2(HN=@2-@@g&;@@2.JAot????v??NO -"g-Ufp=@2.JAo( n4(H "<N2.HN=@2->@g&;@>2.JAot????v ??NO 0.H"<N n2(HN=@2-B@g&;@B2.JAot????v??NO L,N^NuNVH'*n0-(yn092<m"=@JAg y0(n0<mHn=n&m>+p=@JGo HrN<3=F HrN:3=EJGo HrN3 f HrN2.43AHno&0+Gg An 2.Enr=@=A HrN2.sl HrN=s HrN7 HrN70.2.@l=@F=@ HrN>3`(0.n7n0-*R@rm"=@JAg y2(n-#g y0(n0< m"g y0(nJ^g m^0(HrN m^0(n0<mH2.@nn2.7AWL(N^NuNVH*n>. U@f / aXO`p`pL N^Nu/lb  n~j, $ ~j^XtX )j\JD2,"z nfV"^N,tV0pjT>&_ACSblk%^F0:2F B ~ r f (D_Ax_release_Aev_unhidepointer_Awi_diaend 6 "__AESintin|lN:*@_AESifvX> D4_menu_bar x *j_wind_setDx   j T : j~_objc_drawā_form_dial _Aev_messl _wind_create<_ERR_WINDOWށ_form_alert _wind_getL_Ax_malloc*_Aob_create tN_Ax_free`_Aob_fixr_Aob_delete6*_Ame_namefix _Aic_createҁ_Ast_create*_ERR_WISLOT_Aob_offset _graf_growbox Z_wind_open v_Aob_findflag _Awi_diastart __CXM33~V@&Z >&vt  _Adr_unselect P_graf_shrinkboxb_Aic_deleteB_Ast_deleteZN_Aev_quitr_wind_calc6_appl_write~d__CXD33jJ  NVH?*n0-HrN U-h "n&i-H g`JmfJmg.0-=@0-=@0-mS@=@0-mS@=@`4 y0(=@2( =A4( 6(BSC=C4( h SB=B0- 2.@l=@0- 2.@l=@0- mS@H2.@o=@0- mS@H2.@o=@0.nn 0.nop`Hnp? y?(NPO:+8+-gp=@=@ S@=@ S@=@<- 0- m@l>- 0- m@lJ=G=F ES@=@ DS@=@ yj// Hnp?"y?)NOE`D`p=@=@2-$EHo&SC=CB2- A=B`SA=A4- =Bn=B2-$DHo S@=@B0- @=B`SA=A0- =@0.n=@ yj// Hnp?"y?)NOHnBg y?(NPOpmL(N^NuH*o -g/-NXO`<&m g( kfSn$/+NXOp'@B` /-NXOp+@L(NuNVH*n&m ?+?+NXO-@fp` n0(HЀ2(HN*>+  y2(A,JFkB7A A H"/HN o&/./ y?(NO 7G `@?+?+NXO-@f/.NXOp`4p@f n1@ C&// "y?)NO p=@=@=@=@ n0(S@=@=@0(S@=@=@Hy/./Hnp?"y?)NO` n1@ A H"/HN o"n"Q`Sd H"N n P D@H"/HNr o`Sd/./. y?(NO /.NXO+n-f 'np'@pL(N^NuNVH4*n>. &n-m S@g"S@gW@gS@gW@g@gr`Hx NXO-@f6` n!@p"n"-h Jg(f "nJf/anXOR@f6`R!i`/.aXO n!K`v n/(NXO/.aXO`Z-K n-h n"n !i1i`4 n-h n-PJg$n"jfp??(/ NPO`p`pL,N^Nu2__CXM33tzH_ACSblk FVjT r_vs_clip*_vro_cpyfmt_Abp_delete_Abp_create"_vr_trnfm_vrt_cpyfmP_Ax_mallocR_Ax_ifreeGNVH4*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0-2-Af0-HrN U-h "n-i0- "SA=A0- "SA=A0- m=@0- m=@p?"y?)-HNXOBg y?(NXOp? y?(NXO n( g."y0)@R@nRnRnSnBg?)NXO`p?"y?)NXOHn y?(N\O0- yh@2- @.p??(NXOBg y?(NXOA/Hn//"y?)?)NOp? y?(NXOA//p?Bg"y?)NOBg y?(NXO n( f&"y0)@S@n0.S@=@p??)NXOHn y?(N\Op? y?(NXOp? y?(NXOp? y?(NXOp?? y?(N\O0- m y2(AUAAA,Hz6???(NO - gN0- =@0- 2-@RA=A=A0- mR@=@=@=m Hnp? y?(NPO nJgp?"y?)NXO0-H y*UElz n PJfS"nؑ Hd4 Q$H&JSB0- R@/?? y?(NO ` 0- R@/?? y?(NO HnBg y?(NPOpmL,N^Nu|]NVH*n&n /NXO-K~p n?HzN\OJfRRG` R@H/NXO-@JGo H// /.NO nB0p* L(N^Nu/ *oJg r]f RMr|fr|fRM`RM` *_NuH*o /-aXO&@Jf&mp[f / aXO&@`+K/ / aPOL(Nu/ *op*A+H/ aXOBm *_NuNVH*n&n UJfS,-m~p[ ng0 H///NO J@f nJ0`gp|0`f6`$RGp|?/.N\O-@f6`R`L(N^NuH*o&o>RGAN+H SGJ@o / aXO`L(NuNVH!4*n>. &n-m n-h S@g.<.: HrN M S@0 R@1@1|1|1| !| p1@1@1GRS=@=@-H"n QJgdJnf\0=@HrN MRS$n"R-Hp[f01@1@1| pR=@`p1@1@1|p=@"Rf1| `Bh $n"R!I R$p @-ITI S@=@-I"n QJgFp|g@r]frC=Af, n `$0.J@o"n Q"nSn-I nR`p n"n QJgRJng/.?/./ ?/ / alOp n1@2.$ y6( n1B"y1i1@1G0Rn` n0 y0( n1@1nL,N^NuNVH*n&n >.HnHn/ alO  y2(AS@H,JFj|VF0.HrN2.HЁ/NXO-@glBn2.HpN n"H-I-M/ ?HnHn?Hn/aVO n0  0.S@HrN n .L(N^NuNVH*n&n >.<.:.?/./ aO -@g\??// NO (JDk, HrN n p TH// -HNPO-@`p-@/.NXO .`pL(N^NuNVH4 y*h\0(`HnHn?/ =@NO0.HrN&M-k :+"y iX0(4n0.E.0)@,@"n i-H y0(b"FmGl /.a|XO`X hX0+$yj@2(6@n?.?.? n/(/(/*XaO-@g n!@//ajPO y-hX-K=n"n iHnp ?/ NO "n iBp?/ NO L,N^Nu_ACSblk$ Z * >  rRp@  r\* hN_vs_cliprX__CXM33  * |_vswr_mode|_vsf_interiord_vsf_color_vsf_perimeterfN_v_barz|_vst_font_vst_rotation_vst_height܁_vst_color_vst_alignment_vst_effects*_vsl_color_vsl_width_vsl_type_vsl_endsԁ_v_gtext_v_pline\_Ax_ifreeJ_strchrf_Ax_malloc p_strncpy_strncmp_Ast_create_Ax_free __CXM22 _Ame_popup _strstr _objc_offset NVH?4*n0-HrN U&h "k $IJfS 2- mSAHHHHJmf.Jmf( y=h0( =@=h 0( h=@` 0-=@4-=B6-=C8-=D0.S@n0.$SBn4.Ao=A2.@l pm`Hnp? y?(NPO=m ,-p? y?(NXO H@H? y?(NXOBg y?(NXO r?? y?(=@NXO rF=@f y2(=AHnHnA//?."y?)NO H@Hr? y?(NXOHnA/Hn//"y?)NO0.nn0- 2-=@=A.g 0.2-@oRnRnUnTnTn0.nn"t‚.=@ J@gS@g. &n-m @,m @l@0;N8Z<H H@B@"< n¨!@`<H rF n"(A!@`<H rH@B@"< n¨!@`<H r? n"(A!@`b n (@?@@!@`L n (@?@!@`6 n?`( n (@?@!@`/ ?/ NO `pL(N^NujZ(__CXM33_ACSblkN"|X<(b_vs_clipX_vswr_mode_vst_font2_vst_rotationF_vst_effectsf_vst_height_vst_colorȁ_vqt_fontinfo_vst_alignment,_strchr_strncpy`_v_justified_v_gtext"_Auo_string@NVH*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0- =@2- =AmS@=@mSA=A-m0-2-A.JGfBp? y?(NXO0.H@@J@g@@g<`rp? y?(NXO0.H@@? y?(NXO`p? y?(NXO0.H@@? y?(NXO`Fp? y?(NXO0.H@@HAp?/"y?)NPO0.? y?(NXO0.H@V@? y?(NXOHn y?(N\Of- glp? y?(NXOp? y?(NXOp? y?(NXOBg y?(NXOHn y?(N\OHnBg y?(NPOpmL N^NuNVH*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO-m0-mfp? y?(NXO0-@,0-@. y0(@(0(@*0- =@=@0- =@=@Bn0.H@g=|0.H@ @d@0;N*8NXbln0.n`^0.nn`P0.nn`B0.n2-SA@n`,nn`"nn`nn`n0-En0.H@pH @d@0;N$BVl|n0-S@nn`0-S@2.An0-S@An`n0-S@nnn`Z0-S@2.Ann`Dn0-En`40-Dn0-En`0-Dnn`0-DnnJngp? y?(NXO`p? y?(NXO0.H@@? y?(NXO0.H@"A0A@@?? y?(N\O0.? y?(NXOHnp? y?(NPOHnBg y?(NPOpmL N^NuNVH*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0-2-A.JGfp? y?(NXO`p? y?(NXO-f - gp? y?(NXOp? y?(NXOp?? y?(N\Op? y?(NXO0- =@=@=@0- =@=@=@0- mS@=@=@0- mS@=@=@Hnp? y?(NPOHnBg y?(NPOpmL N^Nu|_ACSblk'dLjD*nB" F$v^H4ZB"hN_vs_clip nN4rX_vswr_modet.ā_vsf_interior(d,_vsf_styleL_vsf_udpat_vsf_color>_vsf_perimeterR؁_v_barh_vsl_width,_vsl_typeL_vsl_endsx_vsl_color_v_plineVPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD33333333333333333333333333333333 @` <840,($  +/ *opJ@g@agtS@gpS@glS@ghS@gdS@g`S@g\S@gXS@gTS@gPS@gLS@gHS@gDS@g@S@g.<. *n :.gp=|Jfp///r?NNO&@ S#Jg @ y0AA` p@@.raentzbh @`^ Bn@@raerzb  @`:rAerZb=|r A`rcr d=|r`.r@.p.?/ N\Or.?/ -@N\O-@Jg Jg nc-@Jg^ nJgTB(Bg y?(NXOHn/ y?(NO 0.n nyr=@JgX/ ?? y?(NO ?. y?(NXOHn/ y?(NO 0.n=@`?."y?)NXOp=@ nrnfSn nHy?? y?(NO Bg y?(NXO nJ(gX nC/ ?? y?(NO `2Bg y?(NXOJg/ ?? y?(NO L,N^NuNVH4*n>. &n-m S@m @ l@0;Nl~N nJ g/( NXO n!@ J fHzNXO n!@ `-K n"n!Q0)H!@` n/( NXO`l n/( NXO/ NXO n!@ fHHzXNXO n!@ `2 n-hJg""n if$n *r??/ NPO`p`pL,N^NuNVH?*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0-HrN UC-H-I( f)g=i `Bn&h -k Jg nJfS =@`p=@J@oZ y<(YFp@l,2(H*YE@l*2- $TB=B2-&FC8- D=CE=BF=C`J<-YFp@l,:-YE@l*0-E@2- @=A0-F@4- @=BE=AF=Bp? y?(NXOp? y?(NXOp? y?(NXOp?? y?(N\O0-2-AHgf0.J@op? y?(NXOBg y?(NXOp? y?(NXOA//p?Bg"y?)NO y?(?(NXOHnA///"y?)?)NO0. y.0- mG2-nA4- A?./.??a0O p? y?(NXOBg y?(NXOp? y?(NXOp? y?(NXOHn y?(N\O-gZ0.S@=@=@=@0.S@=@=@=@0.R@=@=@0.R@=@=@Hnp? y?(NPO- gp? y?(NXOTnTnUnUnHnp? y?(NPO0.=@=n=@Hnp? y?(NPO0.n=@g"A=ARA=A` @=@=@0.n=@g"A=ARA=A` @=@=@Hnp? y?(NPOHnBg y?(NPOpmL(N^NuNVH7*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0-HrN UC-H-I( f)g=i `Bn-h n-h Jg nJfS =@`p=@2-4-BHJ@o 0- yh@2- @,JBfp??(NXO y?(?(NXOBg y?(NXOA////"y?)?)NOp? y?(NXOA//p?Bg"y?)NO0- m2. yA?./.??azO y0(2(H=@@4- B.=A`0-2->- <- =@=Ap@fnf- g-gG`G`-gG`Gr=A=A=|r =A4- =B$TB=Bpm S@=@ @ =@# yjHy/HyHnp?"y?)NO# yjHy/HyHnp?"y?)NO`0."YAA*rAl*4.&YCCHܶAl=A@@BBJng - fp? y?(NXOBg y?(NXOp? y?(NXOp? y?(NXO?.??? y?(NO -gp? y?(NXOp? y?(NXOp? y?(NXOp?? y?(N\O R@2.RA4<?Bg???? y?(NO- gfp? y?(NXOp? y?(NXOBg y?(NXO W@2.WA???? y?(NO HnBg y?(NPOpmL(N^NuNVH7*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO y0("A4- A=B0("A6- A=CmhSB=BmhSC=C-m0-2-A.JGfp??(NXO0.HfBg y?(NXO`^p? y?(NXO0.H_@fp? y?(NXO` 0.H? y?(NXO0.? y?(NXOBg y?(NXO0.H@W@f8RnRnSnSnHn y?(N\OSnSnRnRn`Hn y?(N\Op? y?(NXOp? y?(NXO0.HH? y?(NXOp?? y?(N\O0.H@rAgU@g0.H@W@f0.H@W@fBg y?(NXO`"0.HH? y?(NXO0.=@=@=@0.=@=@=@0.=@=@0.=@=@Hnp? y?(NPO0.HH? y?(NXO0.H@rAgW@fZ0.S@=@=@=@0.S@=@=@=@0.R@=@=@0.R@=@=@Hnp? y?(NPO0.H@W@fZ0.R@=@=@=@0.R@=@=@=@0.S@=@=@0.S@=@=@Hnp? y?(NPO0-HrN U&h -k HJg"nJfS, JFoC-I( f)g:) `zp? y?(NXOBg y?(NXOBg y?(NXO0.H? y?(NXOA//p?Bg"y?)NO.gT y?(?(NXOHnHnA//"y?)?)NO y0(n@=@`@ y?(?(NXOBnA/Hn//"y?)?)NOHn/. y?(NO 0.ؐnR@=@0.H@S@m @l@0;N *Pt0-n@2- @0- n=A`0- mn yh2- n=@`0- yh2- mhn=@`r0-n@2- @0- m yhn=A`F0- mn yh2- mhn=@`0- yh2- n=@?/.?.?.aO f - g0.H@S@gS@gS@f"TnTnUnUn`RnRnSnSnp? y?(NXOp? y?(NXOp? y?(NXOBg y?(NXOHn y?(N\OHnBg y?(NPOpmL(N^NuNVH?*nJmfJmgH0-=@0-=@0-mS@=@0-mS@=@Hnp? y?(NPO`HnBg y?(NPO0-HrN UC-H-I( f)g=i `Bn&h -k Jg nJfS =@`p=@ --@"HAHt‚=AtBovn2.IAAHo n( gRn2.QAf"2.I_Af y hlr`r y=h4.6- (B=D6- (B=D6- mBSC=C6- mBSC=C4-6-C=A=Cffp??(NXOJngppn@,zn`0.H,0.*JFfBg y?(NXO`Hp@fp? y?(NXO`*p? y?(NXO? y?(NXO? y?(NXOBg y?(NXOHn y?(N\O0.J@o0.HHJng(J@f0<n@=@J@f.g /.aXOJngp? y?(NXO`p? y?(NXO.g@ y?(?(NXOHnHnA//"y?)?)NO`> y?(?(NXOHnHnA//"y?)?)NOA//p?Bg"y?)NOBg y?(NXOBg y?(NXO0.H? y?(NXOHn/. y?(NO 0.Ԑn=@0-n@2- @ .H@H@=AJ@gS@g `=n`$0.nR@=@`0.nn@R@=@?./.?.?.aO 0.HH2.IAHHJngJngAg>.JGjDGp? y?(NXOp? y?(NXOp?? y?(N\O- gJngV.g 0.r Ag.g.JGjDG- gJngV.g 0.r Ag.g  ` @ $  :  ^ @ (`@J. rZD. ^B*lT_vst_effectsLv_vqt_extent_v_gtexth4^_Ast_createV@΁_Ast_delete6$_vs_clip nT@ J__CXM33~b $_vsl_type dV"LX H8_vsl_widthn ^N_vsl_color@ z6p  td_vsl_ends* |_vswr_mode z4 j_vst_rotation ʁ_vst_color _vst_alignment0 _vst_fontr2P _vst_heightXv <_vsf_interior .D,nV _vsf_perimeter X _vsf_color Dl ҁ_v_bar ~B_v_pline0&R^ 2J__RAD_FS __RAD_TS __RAD_FU __RAD_TU _vrt_cpyfm j ._v_ellipse& &_v_ellarc _vsf_styleX_vsl_udsty N @###NuH 09RyJ@f>p?NNTO#a y33 333LNuH>/8(~pf@2nf^VNF> _linea0_ACSblkP__CXM33_Ax_malloc_Ax_ifree_Amo_hide _vs_clipZā_Amo_showb"Jgp?Bg/9afPONuNV/ A///Hnp ?BgNO0.J@o.?NTO*@ g0-J@o-Wfp?Bg/ a PO*_N^NuNVH*n>. <.p@f-Wg:Wp# m0-HHp@f-Wf0(=@1@?./HnNO n1n0.J@k2.JAknm8l nm:mJGgHn/ aNPON0.HrN n p &P0-J@j KJfS";ASBW# n:(0(2-4h2-6hA?/??./.=@NOp@f n1E1nL(N^NuNVH'*n>. <.-mJgp@f HrN n<0 =m4=m6=m8=m::- JEk^G4 HrN n=p 0(2(4h4+hB4<?=@=AN\OHnHnHnHnp ??NO0.J@oHnHnNPOJng0."kHlnn0.J@ohnf$??.?.?.r??/.NO`> HrN n1 p???.?.?.?.r??/NOHnHnHnHnp ??NO`2B0<?N\O m1n m1n HrN n1 L(N^NuNVH*n>. -Wg? y/(\HnNO `$?/-HnNO 0-4n0-6n mjHn/ NPOL N^NuNVH'*n&n >- JGk-Wg G$W-mJg n0(2(C44h4)hB4<?=@=A-IN\OHnHnHnHnp ??NO0.J@oD/ HnNPOJng 0." nhHl-m^Jg n2(HpN n:0 HrNr npfV HrN n1H<( HrN"H/@pN n20HpN n"/1?.?.?.?.p??(/NO0.nn0.J@o"??.?.?.r?Bg/.NOHnHnHnHnp ??NO`B0<?N\O m1n m1nL(N^NuNVH7*n>. 0- J@oD0<mH2-HA&m$FBkk$FBkk=@D@=ADA4-8k6-:k=@=A=B=C  @dh@0;N::=|`F0-@H/@ <"/NT@=@`"0-BH/@ <"/NT@=@<.:+=k  @d@0;N"8J`pJng40-:k`0.ng0-:k`jJng 0.k`X0.ng0.k`BJEg0-8k`2ng0-8k` JEg0.k`ng0.k0+J@or7A0.2+@l7@0+J@or7A0.2+@l7@0+D@2.DAAD@7@0+D@2.DAAD@7@SFf/ NXO<.?.?/ aPOA/Hn//NO.fng / NXOL(N^NuH*o>/0- J@o^ m<( H2(m8HN"<N2<mHA(Dg& m1D m:(/ NXO??/ aJPOL NuH*o>/0- J@o\ m:( H2(m:HN"<N2-HAA(Dg& m1D m<(/ NXO??/ aPOL NuNVH'4*n&n 0- J@o~-m0<mHD@@k0-H@D@@k n<(:(0-82-:HH0J@jh~0+J@jh~0+$no;@8~0+$Ao;@:~0k2-8AHoh~0+k2-:AHoh~JGg"-m^Jg n0(HrN n=p`p=@0.2-6@4-:@A$C&E(/J(E*/ //,/ /??-8??-4?-"BgNO n0(D@2<mHAD@1@0(D@2-HAAD@1@/ NXO n0(Ff0(Ef0-8nf 0-:ngFW?-*?-(?-&?-$p??- NO N-Wg mjC$/ / NPOL,N^NuNVH*o&o p?r?/ NPO.0<@??/ NPO,JFj0<@?r?/ NPO,JFo^GgZJGk HrN HrN ?/ a\O mf Hr/HN?3 ?/ oNPOp`pL(N^NuNVH*n>. <.&m g:-( r f8 @J@g.p?r?/ NPO=@m?/ / NO `g @rAf/ / aPOJ@fJEjzHnHn???/ NOJ@g HrN3 g 0."En<0.HrN3 g$Jngz @K4g@g&`Jp?Bg/ a:POBmp??/ a(PO`p?Bg/ aPO;|p??/ aPO`p??/ aPOp??/ aPO`p?Bg/ aPO0.DgJDk mHnp?/ NO ;n;|p??/ aPO`X0.J@kPHrNrs p?? y?(?( ?( ?(Bg?./ NO?./ / NO L(N^NuNVH/$*n>. <.0- Hm m h* h(-Uf0-8@lD@@o0-:@lD@@n mjC4/ / NPO`HnHnHnHnp ??.NOJngJngHnHnHnHnp ??.NOJnfJng mjC4/ / NPO`R yPH/HnNPOA4/HnNPOJng"Jng0.=@=@2.=A=A$nSB=B=B nS@=@=@JEg*onn2.RA=A=E`nn"DA=AJDg*onn2.RA=A=D`nn D@=@0.nnl0.nnbHnBg y?(NPOB0<?N\O y"HjEj/ / Hnp??(NOB0<?N\O mjHn/ NPOL$N^Nu_wind_getj8_Awi_widL_Aob_offset_Aev_mess ^:__CXM33   t 8tbR8  JH_objc_edit_graf_mousej0_intersectP>_objc_draw _objc_change*J_ACSblk80 ҁ__CXD33 D_Awi_cleanup  jB_graf_mkstatej_wind_calc ́_wind_set T_Aob_findflag _Aob_execute< _form_keybd ܁_vs_clip _vro_cpyfmX]NVH~&npހp kg/NXO*@ fp`  n"M`SdBn&M-K+f+ f0+rAm A lA2;Nh,|/+ aPXO'@ -@`v/+ aXO'@ "@ i-@-@"gHnp?/ NO pnf>p`T/+ aXO'@ -@`&/+ a:XO'@ -@`/+ aXO'@ -@Jfp`p kg L(N^NuNVH*n g-M n(f( f0(rAm A lA2;N~`(~P~PpP n/( aXO`V n&h "k gBp?/NO / aXO`. n/( aFXO` n/( aXO` n/( avXOp nhrӮJ@g2/ NXOL(N^NuNV/ Hx"NXO*@ fp`(p! n"MQ n/(anXO+@fp` *_N^Nu/ *o g/-aXO/ NXO*_NuNV/ HxNXO*@ fp`p n"MQ *_N^Nu/ *o/ NXO*_NuNV/ HxNXO*@ fp`Tp n"MQ n/aXO* n/(aXO+@ n/(aXO+@Jg JgJfp` *_N^Nu/ *o g&/-aXO/-aXO/aXO/ NXO*_NuNV/ HxNXO*@ fp`p n"MQ *_N^Nu/ *o/ NXO*_NuNVH nJg8JfS .R/NXO*@ fp`  n"M`Sd `A L N^Nu/ *oAg / NXO*_NuNVH*n- f -fBg/ N\O0-@g^Q@f-m n0(h.0(h,Go.0-Gl;G0(h.0(h ,Go.0-Gl.;G`(&m 0+@.0-Gl;G0+2-@l;@p mgNL(N^NuNVH/*n&n >. HrN Kx-H0(@m @ l@0;N,,\>,, n ( H@Hr(DD`"n i 8(DD`x n( gx0<@hgrx`n n-h A"n"QfR n ("HAHt‚(rAoDH@H*JEo0<@ nhJ@gREp nh[@fREE`xJDjx n( gp@l(0<@hgp@l(p=@( gJDo @=@` D@@=@2(D:2(D;A"A4(A@;B4(A@;B, HrN>3p@g: HrNsf HrN23U HrN23m`L(N^NuNVH1*n0J@jmp:2-JAj mp;@0-2$@ yh .JGom0-2-$@ yh h.JGompU=@2-=A2mA=A4-6-BSC=C@RA?-?NXO&@ f `lp=@=@0.n=@0-S@=@B0<?N\O yj/ /Hnp?"y?)NOB0<?N\O L(N^NuNVH8*n&n f60+?2+?4+?6?????x?NON`pS=@2+=A2kA=A4+6+BSC=Ct=B=B@=A0+S@=@Hn? y?(NPOB0<?N\O yj// Hnp?"y?)NOB0<?N\O/ NXOL(N^NuH*o>/ .JGk HrN Kph-HJ@g( f"mfph ??/ NPO n-H"n) fX(gP$P gJ y!MX y!K\ y1G`) g "n QN`N"n QNNf(p nhg( g"mfph ??/ NPOL,N^NuNVH y*hX&h\>(` HrN KC ) "H?@ p-IN3 V@??// / a,O y!MX y!K\ y1G`L(N^NuNVH*n&n >.0.HrN K-H( f( fJGg ` ( gA///Hnp ?BgNO0- nfj-Wg 0-ngXN mHnp?/ NO 0.;@;|?-/ Hna6O Hn/ NPOp?Bg/ NPO n(gRJGg"( gN?./ / anO `.( g?./ N\O`?./ N\O`pD nhg?./ / a"O ` n( g( f?./ an\O* HrN<3Fgb HrN3 g< HrN3 g( mf Hr/HNrs ??/ oNPO HrN<3` mfp"ni ??./ NPO`( n( g mf"n0) @??./ NPOL(N^NuNVH/4*n>. &m mf Hr/H Nrs ??/ o(NPO=|HnHn?/ NO HrN=s HrN=sp y1@d y1@b30<N y"HbEdA///// / p??B?????r?? y?(d?(b????t?NO<(30<Nf y0(bm4,0(dm6*??HnNPOJ@g:JnfBp mf"H=@p/H Nrs ??/ o(NPO`JngBn mf Hr/H Nrs ??/ o(NPO`0.L,N^NuNVH130<NA//////p?r ?B???????????t??v"?NO<.30<NgLN^NuNVH*n>. <.=Gg @@=@x-gf-f^:- JEgVg "AfF @n@f8 S@`H "f* Fg$ Fg F g F g FSg Fr g S@`- gp` RD`~L N^NuH*o>// HrN<5JFjp` HrN25Gf `.`L NuD._Ax_mallocN"_Ax_freeP4_rsrc_obfix__CXM33X@& 0  R  N_A_3Dbutton_ACSblkd, $   F < 2    xX_Abp_createȁ_graf_mouse : <_vro_cpyfm (*_form_dial_Aev_mess_vs_clip_Abp_delete D_Amo_busy b_Amo_unbusy p_wind_get _Awi_diaend ʁ_Awi_obview _Awi_objc_edit _Adr_unselect :_Adr_del b_Adr_add t_objc_offset ց__AESintinZ@_AESifd&_evnt_multi~_within09RyJ@f ByarNuSyfad yJh6g HyaXONu/ *o029@f m"yg$3#Jyf/-?N\O*_NuByJyga`"y i/-?N\O*_NuSyfJyf/9?9N\ONu09RyJ@fB0<?N\ONuSyf$B0<?N\O/9?9N\ONuH*o>9By:+y"y i/ *o 23#3Jyf J@g"y i/-?N\OL NuzVPldZL6tn8r_ACSblk*_graf_mouse\H. _NVxH!4pN y0lp`R3CE/ / G/ / NO y1@ y1@CE G /KG/ // / / p?BgNO y1h yHn/HyNO y1n y1nHnp? y?(NPO0. y1@rAf1|` U@f1|rHn y?(N\O y1n y1n y1n y1nJyW@ y1@6"hTItQVA y1A8Jh6gCE/ / NPOJ@fp`p y("HB) y"HEf yp/?/N\O*@ g yCfB y"HEf yp\?/N\O*@ f6 y(r:fC Ef yB(`"C Ef`RM y "MfB yp.?/N\O*@ gB` h_wind_get_v_opnvwk_vq_extnd_vqt_attributes__XMODET_shel_read_strrchr(_menu_register_graf_mkstate΁__AESintin`(_ERR_ACC_alert_str_shel_writeP_vst_load_fonts_ACSinit0_INmouse_INwindow_Amo_busy<_Awi_rootB_ACSinitR_Amo_unbusyZ_TRwindow_TRmouse_vst_unload_fonts_v_clsvwk_evnt_multifNVH4*n&n >. HrN K-H( f@( f8C-I)g( Q g"$y%MX y!K\ y1G` QNL,N^NuH*o>/0-HrN25HpN<50-HrN:5Fg" HrN<5 HrN:5` L NuNVH*n&n >.<. m^f@?/ HnNO HrNJFg ` mjHn/ NPOL(N^NuNVH'*n&n >.?/ a\Or??/ / =@ajO HnHnHnHnNO0. @@=@zBn0.HrN=s0.HrN=s?./ HnNO 0.J@j2.HpN2.sp=@2.JAj4.H rN2.sp=@0.2.@ yhh Ho4.H rN2.֓sn0.2.@ yh hHo4.H rN2.֓snHnNXO?.?.?.?.r??./ -@NO30<NA////HnHnp??B?????r???.?.??.??t?NO<3=@0<N?.?.p??./ NO ,nf|EgB0<?N\OJngJ HrN HrNrs p???.?.?.?.Bg?/ NOJFkx HrN3 fd?/ HnNO HrNrs p???.?.?.?.Bg?/ NO HrN =|`BnB0<?N\O*JFj?.?.p??+/ NO ,JFkHnHnHnHnNO0. @@=@ܾFg HrN23p fnHn/.NPO0.HrN70.HrN7Bg?/ / aO .?/ aD\Or??/ / =@aO `ZGg.gHn/.NPO0.HrN70.HrN7NJFo<0+"Fg22+Fg*HrNsgN?/ / a,O NBg?/ / aO L(N^NuNVH'*n>. HnHnHnHnNO0. @@=@zp"H=@pN<5JFkFg& HrN5 f HrN<5`ּGgP HrN"H/@pN25$/u( HrN"H/@pN25$/u(?/ HnNO 0.J@j"HpN2.up=@2.JAj$H rN2.up=@0.2.@ yhh Ho$H rN2.ԓun0.2.@ yh hHo$H rN2.ԓunHnNXO&@?.?.?.?.p??/ NO30<NA////HnHnp??B?????r???.?.??.??t?NO<3=@0<N?.?.p??/ NO ,Eg Jngj HrN B0<?N\O HrNru p???.?.?.?.Bg?/ NOB0<?N\OJFkFg HrN5 f?/ HnNO B0<?N\O HrNru p???.?.?.?.Bg?/ NOB0<?N\O HrN p=@`p=@*Jng HrN25p f HrN25A H=ArN25Hm0.ڐn?.?r??/ NO @f0.HrN 0.HrN;0.HrNBu?./ a\O2.H=@pN 0.J@k@g?/ N\OGfJFjv HrN=u0.J@kL?/ N\O?.?.r??/ =@NO =@mnf0.HrN=u`0.J@o0.J@j.g=FHn/ NPO0.L(N^NuNVH*n&n HnNXO/ NXO0.J@j<0.J@j4A//HnHnNO y0(@n0(@n7n7nBg/ ah\O.NJGoN?/ / aRO NJGf~HnNXO L(N^NuH>/. <.&m^ gt=k=k0+m8m0-8=@=k??HnNPOJ@g<0+HrN83??p??/ NO *Do?/ / aO L(N^NuNVH*n>. <.&m^ fp`>??/ NPO*JEjp`$0+HrN83 HrN=s0+HrN=s=E0.?/ =@N\O=@lp`0.kf0.2.@g62.HpN230.H=ArN=s0.Dfp`zNJm f2Bg?./ NPO?/ / a.O p??./ NPO`4p??./ / aO ?/ / aO Bg?./ / aO NpL(N^NuH*o<- HrN y;  HrN<5 HrN>5 HrN u JfS (JDgRD y HrNu HrNu HrNu:- HrN:5 HrN>5Gg2 HrN:5 HrNu HrNu`L Nu__CXM33C |l\D 4  ~ H &  d nPp\B|Lb$_ACSblk J fl2~BdZP_Aob_offset_graf_mkstate \_Aob_save_objc_drawځ__AESintin,D@_AESif:R_evnt_multi 8_objc_find Pj_graf_mouse V l_objc_change D<ځ_Aob_restore l_Aev_release _Amo_busy ȁ_Amo_unbusy"  ܁_Aob_up P f_Act_save *_Aob_fix 4_Act_restore Ɓ_Awi_root _menu_tnormal &_within |_Aob_key T/ *o g4 yJh6fJh8g / NXO`N/ NXON*_NuH./ yJh6fJh8g/NXO*@`N/NXO*@N fHyp?N\Op` L NuH*o gN y m*Hxa|XO&@ f / a,XO`$&B# y (R!L(Nu/ y (SJo (/0aXO` yB*P g/aXO#`*_NuD,_ACSblkL _free2 _accgemdosl*_oldgemdos~:_malloct`_ERR_MEMORY_form_alert#6NVN^Nu\*..NVH>. <. n0@lp`,0(@lp` 0h@mp`0(h@mp`pLN^NuNV/ K nJg p%fps(fT` n-H`BHx/. / NO /./ NPOHnp?N\O*_N^NuNVH>. <. y*h\?/ HnNO p@g HrN25 Ff$?.?.?.?.p??/ NO`(p???.?.?.?.r??/ NOL N^NuNV/ *n ?-?-?-?p?Bg y/(\NO*_N^NuNVH74*n&n y!M\0J@np?Bg/ NPO=@`=@r60.J@n=AzJEgJng*0.2@g 6r=Ap?Hn??/ NO y"HbEd/J(EfHnHn/ Hn//8/ p??B??????????r??t?v?NO<,gr|?. y?(f/ NPO=@m"=@Hnp??./ NO *`0 y(gg 0.@rAf/ /(XNPOJ@fHnHn?.0??/ NO*0HrN5 g02.@o=@0.J@g@K4g @g\`p?HnBg?/ NO0HrN u -P nPBp?HnBg?/ NO n`Lp?HnBg?/ NOp?HnBg?/ NO`p?Hn?.?/ NOg y?(d?(bp?Bg/ NO =@R@fp=@rnf*`>- "y i<(gp??p?NM\O`f @??Bg/ NO J@fJp?? y?(?( ?( ?(r??/ NO`Hnp??./ NO *JEgJng02.@gp?HnBg?/ NO`pnf0.HrN `0.HrN 0.L,N^Nu/ *o y*X y+h\ y;h` y;hb y;hd y;hfA/NXO;@*_Nu/ *o y!UX y!m\ y1m` y1m b y1m d y1mfA/?-N\O*_NuNVH#*nNHna$XO/ NXO"y iX&hj-hf<(VC4pAQ"y iXp1@61@4"y iX2)i 1A8"y iX2) i1A:"y iXC!Ij"y iXC!If"y iXW=@"y i<(gHnHnHnHn/ NO`JA//HnHnNOpnpn0-"A4.A=B0-"A4.A=B0-P@=@0-P@=@30<N yPH/HnaPO0.X@;@0.X@;@HnNXO y?(?( ?( ?(r?Bg/ -@NO~Hn/ aPO. HrN5f HrN MC-I)g Q g HrN5 f y!M\ y1G` yBhh"n QN HrN5 gR HrN5 g> HrNru p?? y?(?( ?( ?(Bg?/ NO yJhhg HrN Hn/.NPOJGf- fX HrN5gDHnHn y?(?( ?( ?(?-?-?-?-NOYnYn` yBhh30<N"y iX!Kj"y iX!nf"y iX1FV"y iXC4pAQHnaXO L(N^NuNVH#4*n&n NHnNXO,p\?/ N\O-@JgJfDp?NATO@A|:ABg/pG?NAPOHz/ NPOp\?/ N\O-@ @RHCf/./.NPOB."y i0@g @ g@fHnHn/ NO .`/ HnHn/ NO.JGgJng.gp:+fA"HJfSȲ f.r.f/./NPOp.?HnN\OJf HzHnNPO/.HnNPOp\?/ N\O @C-@Af-K`p-@Hn?N\ON .L,N^NuNVH *n n 02@l:0(2-@l;@0-2@4hBo@:0-2-@4(hBo@;BL N^NuNVH*n0m n 2hAm .0-m2(hAm ,0Pn0:0-hn0(;@ U;@"m;A0-J@oJAn p;@;@L N^NuNV/ *n n 0:0(:0hS@:0(hS@:*_N^NuNV/ *n n 0:2;A0UR@;@0mR@;@*_N^Nu_strncat_strcat 0 ^ 0_form_alert_ACSblk+ j | n R F<2l~hT,vj^RHH$_Aob_offset__CXM33 r^"*x$_objc_draw._objc_changeX_Aob_findflagʁ_objc_edith_evnt_multiz_Aob_key_form_button_Aob_chdef_form_keybd_objc_find_graf_watchboxx_Amo_restart _Amo_return j_Aev_unhidepointer _Aob_fix$_form_center_graf_mkstate __AESintin ^\@_AESif hf_Aob_save_Aob_restore_graf_dragbox <_strrchr > > _fsel_input _fsel_exinput _strchr _Aev_mess r"y iNNu NV/ *nA CpQpyg^|$0"AAAv0"AAv0"AAvpUvB.HnHyNPO3*_N^NuN yJh6fJh~gN`Bp?N\ONuHyNXONuNupNuNV/>. y1G y!n  y!nNJ@fNNp`Np.N^Nu/ # yCf y!|2 y1|6p y1@8 y1@:!|< y1@~!| y1|D y!|T y1@ y!@ y!@C y!IE y!JE y!JE y!J y!I y!IC y!I1| 9$_NuNV/>.a/./. ?aO .N^NuB.H8* tfTNJ_ERR_MESS_alert_str_Aev_unhidepointer_Aev_quitƁ_Awi_sendallԁ_A_dialog_initialize _eventhandler*_terminate:0_ACSdescr__AESglobalOK (C) 1991, 1992, 1993ACS pro 2.00Stefan BachertAutorq ))x ! !x????80 3gggg30 80????80 0 ````0 0 800???? 0'''' 0n0???? 0     00!!7 Hl7d @ @?xxp㇇ 8p<`ßp0 Ϗ<"A  Z 7 (  @>r  ACS 2.00 (c) 1991, 1992, 1993 Stefan Bachert0123456789ABCDEFt\D,TPL~FB>_A_3DbuttonrZ_Auo_stringzb/Jyg ByNNup y1@:3Nu/ *o gNaBp?N\O*_NuNVH"y i/.NXO n0rAmNrAnH?(NTO*@ g-Wf p nPfN n=h=h =h =hN&@ n0@ gn@ gS@gS@gS@gS@gS@gS@gS@gS@gS@gVS@gS@gJS@gDS@g>_@g S@g@ g` n?(?(NXO` mjHn/ NPO` mn/ NXO`-Ug mr/ NXO` mBp?/ NO ` mv/ NXO` mz"n?)/ N\O` m~"n?)/ N\O` m"n?)/ N\O`r mHn/ NPO`b mHn/ NPO`R mBp?/ NO `>a y1|~`, g(/ NXO`/ aXO`"y i/.NXONL(N^NuNVH>.Jyf "y i<(g3NN&@A///Hnp ?BgNO?.NTO*@ f0+ J@j k / NXO`Jyf Gfp yhff 3`Jyf g? y?(f/ NPOJ@g"y i<(g: g??)f/ NPOJ@g gR? y?(f/ NPOJ@f8`p g??)f/ NPOJ@gX g? y?(f/ NPOJ@g: g? y?(f/ NPOJ@gBy mb?"y?)f/ NPOL(N^NuNVH>.<. a y?(d?(bNXO*?NTO*@ gN y0(d"m6Hl. h<(g(JEg"? y?(b/ NPO`A4"y?)d?)b/NPOJ@g y0(bm4&mH" g?.?Bg/ NO =@mr=@=A=A0.J@k(HrN2< Isf?./ N\O=@`0.J@k=@0.HrN K-Hp@l0< Ihf"y?)d?)bNXO` 0< ]hS@fp=@`x(gT( g*p yhfg=|`R?(d?(bNXO`p yhfg p=@=@`$N`( g?./ N\OJ@grA\@??./ / NO Jngn=|SnBgp ?NXOA/Hn//NO0.@f0.J@nJngJng0.J@n y?(d?(bNXOL(N^NuNVHA///Hnp ?BgNO?.NTO*@ gA4"y?)d?)b/NPOJ@g&m g y0(bm4,0(dm6*x??Bg/ NO .JGkD R@HrN3g HrN KCxiJDn?/ N\O.`"y i< Hr/HN oC8/ NXO mBp?/ NO `4a_graf_mkstate T_Amo_new_Amo_pointȁ_evnt_multi T__AESintin 4@_AESif >_Ax_release ā_Awi_lateupdate ʁ_Ax_mterm _Amo_busy NVH>.<. :. yh oxg$ yg<0.<. :. yho| @g$ yg<0.<. :. yh oxg$ yUUg<0.<. :. yho| @g$ yUUg<0.<. p? y?(NXOp? y?(NXOp?? y?(N\Op? y?(NXO y0(=@0( =@0(h S@=@0( hS@=@Hnp??(NPOB0<?N\Oz3 y0(FEo El HA"Hpif@ H"H0G"H"H2)G$H"H4)G&H"H&i (H"H8)F=@ H"H0)F=C&H&h =@HHHH y6( Cl(UD=DClUC=C???a\O?.?.?.ap\O?.?.?.a^\O?.?.?.aL\O?.?.?.a\O?.?.?.a\O?.?.?.a\O?.?.?.a\O` H"H0G"H"H"i$H"H4)F&H&h=@HHH y6( ClUC=C?.??a\O?.?.?.az\O?.?.?.a\O?.?.?.a\ORE`B0<?N\OHnBg y?(NPOByLN^Nu yBhHNu y0(H"hFmp`RhHHЀ y hT0NuNVH*n>. y h@ga y!M@ HrN m"H) fv"y0)DiFof"mf Hr/IN mph ??/ oNPO y0(FRhFHЀ y hT0=G mHnp?/ NO L N^NuNVH3*n>. y h@f y<(F&hTJFo0Gf mf Hr/HN mph ??/ o NPO y0(F"F4(H&AoShH yShF HA-HSFo@ n01h1h1h1h1h 1h 1hp6TK`=G mHnp?/ NO `SFTK`(L(N^NuNVH y*h@0(FJ@op~ yhFlF HRGЀ y hT< mf Hr/H N mph ??/ oNPO` yBhF mBp?/ NO L N^NuNVH*n>. <.:.&n HrN m h2(@SA=@HHkmkn h2(@SA=@HSmnknh( f`( fX(g ?/ a\O`D0(Ho8/ ?.?.?./ a@O0.HrN m=P0.GfL(N^NuNVH>.<. ??NXO*?NTO*@ gp yhffa@"y i. <.:. HrN&M0+@lp`0+2+@Amp`0+@lp`0+2+@Amp`+ gp`t+ gp`h0+HmZ k( k=|=@?.??./ aJO =@m=@0.HrN=u0.Gf0.J@j L(N^NuNVH?4>.<. y0(FJ@od&h@p=@=@2(=A2( 4(ASB=B2( =A2( h SA=Ap=@=@=@=@=@=@=@=@ kHnp?/ NO a>p"HHA$H…HB=G=F y6(f(D-@=A=B=CJDgpn0.@"Hҁ46 h<=BH=@ r/H$N o$C8/ NXO=|0.G2.F??=@=AaXO:.=nHnHnHnHnNO0."A=@JAgrn0.@"HҁH0.vg406"y i<=@Hr/H$N o$C8/ NXO0."An2.$Bn4.6.Bl=B4.6.Bo=B4.6.Bl=B4.6.Bo=B4.&nHÇHCn0.$nH…HBn.gnf 0.ܰng?.?.aXO?.?.NXO?NTO&@ gJg0.k42.k6??Bg/+aPO =@0.J@k^f2.̲@gPHrN k"H-I)f2)g) gp=@`?./N\O=@`p=@0.2.β@f ngJ@k:HrN n h-H(f$n"jfph ??./ NPOp=@2.JAkHpN k-H(g( gp=@`R(fJ=n=| kHnp ?/ NO pnf kfp"ni ??./ NPO`p=@-K=n.f"y it\PF<Vl L j ,   r V nH6XX8&pZ,_vsl_udstyN* fB_v_plinez6_objc_offsetځ__CXM33Ll \ H 6XdF2_vswr_mode_vsl_width_vsl_ends_vsl_type0_vs_clipv_graf_mouse_wind_find6 _Awi_wid@ _Amo_new~ ΁__AESintin < @_AESif F _graf_rubberbox _intersect `_graf_mkstate_Aob_upЁ_Act_savel_Amo_busy_Amo_unbusyȁ_Act_restoreҁ_Aev_release8= y (( hl0(A`,H @fA<  @## #/|l yN y  yN#NuH"y y Jyg?/Hy@N y LNsHy/<!NMP#Nu/9/<!NMPNuztnf^XJD__pbaseP loadmod.c_oldgemdos_accgemdos_ACSblk_Ash_module_Ax_mterm_Auo_picture_Aus_cycle_Auo_cycle_Auo_string_Auo_ftext_A_picture_A_cycle_A_3Dbutton_A_ftext_A_fileselect_Ash_prog_A_select_Adr_start_A_arrows_A_pattern_A_innerframe_A_radiobutton_A_checkbox_intersect_alert_str_A_dialog_Aob_alias_A_nokey_Ax_ifree_Ax_free_Ax_malloc_Ate_delete_Ate_create_Aus_delete_Aus_create_Aim_delete_Aim_create_Aic_delete_Aic_create_Ast_delete_Ast_create_Adr_unselect_Adr_del_Adr_add_Adr_next_Adr_drag_Adr_box_Abp_end_Abp_start_Abp_delete_Abp_create_Ame_popup_Ame_namefix_Aob_up_Aob_findflag_Aob_watch_Aob_restore_Aob_save_Aob_offset_Aob_fix_Aob_delete_Aob_create_Amo_show_Amo_hide_Amo_unbusy_Amo_busy_Amo_new_Aev_unhidepointer_Aev_mess_Aev_quit_Awi_vslid_Awi_hslid_Awi_arrowed_Awi_redraw_Awi_obredraw_Awi_obchange_Awi_scroll_Awi_service_Awi_obview_Awi_keys_Awi_diastart_Awi_diaend_Awi_moved_Awi_sized_Awi_fulled_Awi_topped_Awi_delete_Awi_closed_Awi_open_Awi_create_Awi_init_Awi_show_Awi_up_Awi_down_Awi_sendall_Awi_list_Awi_root_Awi_widwindow.c__CXD33_appl_write_wind_calc_graf_shrinkbox__CXM33_wind_open_graf_growbox_ERR_WISLOT_wind_get_form_alert_ERR_WINDOW_wind_create_form_dial_objc_draw_wind_set_menu_bar@_AESif__AESintin_Ax_release_Awi_cleanup_Awi_lateupdate_Awi_invalid_TRwindow_INwindowuopictur.c_vrt_cpyfm_vr_trnfm_vro_cpyfm_vs_clipuocycle.c_objc_offset_strstr__CXM22_strncmp_strncpy_strchr_v_pline_v_gtext_vsl_ends_vsl_type_vsl_width_vsl_color_vst_effects_vst_alignment_vst_color_vst_height_vst_rotation_vst_font_v_bar_vsf_perimeter_vsf_color_vsf_interior_vswr_mode_Ame_strpopupuoftext.c_v_justified_vqt_fontinfouserobj2.c_vsf_udpat_vsf_styleuserobj.c_vsl_udsty_v_ellarc_v_ellipse__RAD_TU__RAD_FU__RAD_TS__RAD_FS_vqt_extentbackplan.c_linea0_INbackplanwobject.c_form_keybd_Aob_execute_graf_mkstate_objc_change_graf_mouse_objc_edit_Aob_chdef_Awi_objc_editobject.c_within_evnt_multi_rsrc_obfix_Aob_key_Aev_release_Aob_select_Aob_wobkeymouse.c_Amo_return_Amo_restart_Amo_point_TRmouse_INmouseinitterm.c_v_clsvwk_vst_unload_fonts_ACSinit_ACSinit0_vst_load_fonts_shel_write_ERR_ACC_menu_register_strrchr_shel_read__XMODE_vqt_attributes_vq_extnd_v_opnvwk_graf_handle_terminate_initializemenu.c_menu_tnormal_Act_restore_Act_save_objc_find_Ame_key_Ame_drop_Ame_rootmemory.c_ERR_MEMORY_malloc_freeutil.c_fsel_exinput_fsel_input_graf_dragbox_form_center_graf_watchbox_form_button_strcat_strncat_array2xywh_xywh2array_fitinmain.c__AESglobal_ACSdescr_eventhandler_ERR_MESS_main_get_acsblk_acs_callevent.c_evnt_timer_Adr_find_wind_finddrag.c_graf_rubberbox_yline2_xline2_yline_xlineD:\ACS.LC\LIB\ACCGEMDSTEXT__pbaseV !)X5a]?LWbny #-8AKT_kw (4@KX`ny "-:FTbn{#-:DNW&`ht `KKT (!n4  #xA-@:DNQ^hr  AT}4(!? y G@KTA #0?JVdnu!L  DWb0?J#Vd!nl@ nu!P+!}&/8AnuJd0?V J#!T ^bx V!:AT!a (4xi u";"`t4`! N bL @ {  "-0:$FT|']{(4!KTX,` Nn # 4-  / RyL 2Z<w_jkBJ;,i! COd6\Bgpy-3_g^Dhp    '! 4x ? K/  RD ` mXy w!K0  2 @  4aT  !(KTBA# 56!  y CO w  `!  " +  7 n  C  # ` m@b8 J9h Q ] 4 g ?#-  u P F b&8/LA/! ;$5A(\ #n X  /  DN-Q! g|  ?e ` mX N  !    z $  D   E =  : ">     .V@~"\PmNVeH *n&m-S0-=@=mJ@fJng@2-=A4-=BSAA=@SB0.B=@ n0HHnHx/NO ` n0HHnHx/NO n-hJgrp=@=@0-"SA=A0-"SA=A0- =@0- =@0- mS@=@0- mS@=@0H lj//.HnHx/NO n0HHnB/N0-L(N^NuNVeH*n&UJg /+NXOB0+V@@7@0+V@@7@0+H2+H//NPO'@f@0+@7@0+@7@0+V@@7@0+V@@7@ k o k n-m n1k1k/ aL(N^NuNVeH4*n&MHx NXO-@fp`lHlNXO-@fp`X n"l00<@1@1@B g"n3S$3k&1k1k"n i$h %I"/ a .L,N^NueH*o &U g/+N.NXO/ NXOL(NuNVeH*n>.&n-U U@g@ gR@!g"S@g&S@g,`R lJh:ffH/ a~XO`> n6`6 n&`, n1S1k/ aXO`/ a>.aXO`p`pL(N^Nue/ *o mfHxB/ NO *_NuNVeH*n&U kp=@=@=@=@0+S@=@=@0+S@=@=@0H//HnB/-HNL(N^NuNVeH*n&U kp=@=@=@=@0+S@=@=@0+S@=@=@0H//HnHx /-HNL(N^NuNVeH*n>.<.:.8.&U k=G=F=E=D/-HN0HHnHx/NNL(N^NuNVeH*n>.&n-U"n i/-HN n0H"H.//NNL(N^NuNVeH*n>.&n-U"n i/-HN n0H"H.//NNL(N^NuNVeH#*n>.<.&n-U"n i/-HN n0H"H$H.///NNL(N^NuNVeH*n>.&n-U"n i/-HN n0H"H.//NNL(N^NuNVeH7*n>.<.:.&U k/-HN0H"H$H&H.///NNL(N^NuNVeH*n&n -U"n i/-HN n0H./NNL(N^NuNVeH*n&n -U"n i/-HN n0H./NNL(N^NuNVeH?*n>.<.:.8.&U k/-HN0H"H$H&H/C0&H/C46.H.//4//4///NNL(N^NuNVeH?*n>.<.:.8.&U k/-HN0H"H$H&H/C0&H/C46.H.//4//4///NNL(N^NuNVeH7*n>.<.:.&U k/-HN0H"H$H&H.///NNL(N^NuNVeH?*n>.<.:.8.&U k/-HN0H"H$H&H/C0&H.//0///NNL(N^NuNVeH?*n>.<.:.8.&U k/-HN0H"H$H&H/C0&H/C46.H/C86."H.//8//8//8///NNL(N^NuNVeH?*n>.<.:.8.&U k/-HN0H"H$H&H/C0&H/C46.H/C86."H.//8//8//8///NNL(N^NuNVeH*n&n -U"n i/-HN n0H./NNL(N^NuNVeH*n&n -U"n i/-HN n0H./NNL(N^NuNVeH?*n>.<.&n:.8.-U"n i/-HN n0H"H$H&H/C0&H/C46."H.//4//4/ ///NNL(N^NueA Nu &__base z . \l"0z$jl8__CXOVF  ~ 2 `p&4~(np< _vs_clip"l_ACSblk >_vro_cpyfmX _Abp_deleteT_Abp_create_Ax_malloc_Awi_create*_Ax_free_Awi_deleteă_Abp_start T  :NXN_v_pline_Abp_end h  JZxh_v_pmarkerd_v_gtextă_v_fillarea_v_contourfillt_vr_recfl_v_bar _v_arc_v_pieslice_v_circleV_v_ellipse_v_ellarc F_v_ellpie ̃_v_rbox _v_rfbox d_v_justified  Quality DraftPLOTTER?  @@ @G: U` jP0 `P`00`U`j 5@?4 0 H`,cc'H<8_Awi_open_Awi_init_Awi_keysP_Awi_obchangeT_Awi_redrawX_Awi_topped\_Awi_closed`_Awi_fulledd_Awi_arrowedh_Awi_hslidl_Awi_vslidp_Awi_sizedt_Awi_movedx NVeH8*nG$A,-H-Wg&67h7h7h// aPOW`*01k1k1k lPH// aPOW0- H2H4+H6+H8+H////Hx/NNL(N^NuNVeH*n>. m"H0&I-k CH-i z-I  @d@0;NJj,"n iBHx /.NO |`"n iBHx /.NO |`"n iBHx /.NO z|`"n iBHx /.NO z|`j"n iBHx / NO z|`N"n iBHx / NO z|`2"n iBHx / NO |`"n iBHx / NO |JFg< SEJ@f"n iBHx/.NO z"n iBHxi/.NO `6 SEJ@f"n iBHx/ NO z"n iBHxi/ NO A/Hn//NO0.fbp@g6JFg"n iBHx/.NO `"n iBHx/.NO L(N^NuNVeH*n m0&H-k "n iHnHxj/ NO "n iBHx/ NO "n iBHxi/ NL(N^NuNVeH 4*nA4)HrHl^NXO&@ fp`p`kT-k g-M`A"l0)0"l1i-H n7h $7h&"l0)H2H//N l0(H n2(HHnHnC/ / //NO 0. n"n3@2.3A$l0*$HԂ0* H=@2)@o3@$l0*2*H=A0)Ao3A/Hx/ N nTH.Hx/.N n0( H-@HnHx/.N nPH.Hx/.N-K n-HBnHnHx /NO4BHx/.N k0-H=|HnHx/.N kH-H=|HnHx/.NO$BHx/.N L,N^Nue/ *o/ NXO*_NueH*o>/&o U@g@ g"Y@gJ@g>`N lJh:ffD/ aXO`/&o.&n<. M"HJfS* -K "H=@-HEo=E`^ =n nSH=@=@-H no:0.J@o2 nHH/HlNPOJg 0.=@`SnSnS`0.J@oH//. n/NO "n Q0.B n@XSF-HJFnVL(N^Nu__baseH__CXOVFL_strncat2_strchr΃_strncpy -.,;:()[|]{}NVeH l*h\NJl g\>, mHlHl$/NO 0,@g:G-k "n iHlHx-/ N"l iX"hfHxHx/NOL(N^NuNVeH4*n&n >,-Mp fVHnHl(/ N l0(H2,H./N l0(H2.HA./Hl///NO$Bl ` "n iHlHl,/NO 9| 0,@gB n-h $n"jHlHx-/-HN"l iX"hfHxHx/NOL,N^NuNVпeH4*n>. mHlHl0/NO : l9h G-k $n"jHlHx,/ -HN"n iHlHx-/ NOA BHx/-HNO zp @lN HЀ n<0"JFo8 H/Hl4HnNHnHx/.NOBHx/.NO RE`Hl8Hx/.NHnHx/.N .S-@-@p-@-@HnHx/.N9| L,N^NuNVeH*n&n -M n-h, l-hX~ll^ : l"KfFJff@ H// ad"n ifHxHx/ NO"n i"n BHx/ N`RG`L(N^NuNVeH*n>. l0(Hr:N/NXO)@gh&@p(9@ l0(@nP0(H"H/ //N7@ l2(HH./N l0(HA.///Hx/NO$, Fnp@mJGfR l0(HA//HnHxO/N l0(HA./HnHxi/NO$0.2.Afp@oBHx/ NO / Hx/ NO :<=| 0.J@kP l0(H"HSA//////NO,Ff0.HЀBs"`0.HЀ7"*Sn`Rl:RD`L(N^NuNVοeH*n&n >.9U9SHlNXO-@fp`/.N n H./-HaPOJf/.Np`"n i0,H/Hl>/NO BHx/.NO :,SEJEo :2, lp gSE` H//.a H-@-@p-@-@HnHx/.NHnHx/.N l-hX n-H=| HnHx /N n-H=|HnHx/.NAj-H-nHnHx/.NOD n -H=| HnHx /-HN nP-H=|HnHx/.NA-H-nHnHx/.N.NO$rAf0,f l2(9A6:|`|/.N.N L(N^Nu| ^(0$ tXB$  X>,$__baseZz__CXOVF^~ _ACSblk, nRd_Aus_editor_sscanf6_vst_fontЃ_vst_point_Auo_editordF$|lzjR@_sprintf0__CXM22z_Ax_malloc_vqt_name_vqt_widthH(_Aob_create$_Aob_fix:_Aob_deleteb_A_dialogԃ_Ax_ifreeFONT (ID)OKPIXELAbbruchPOINTSFontauswahlThe quick brown fox jumps over the lazy dog123___NNN #q [_c !x)x)x !x)x /0 0<, @,h &  <  @@l <&@l @&   & @$ @T  %d%d%d%d%3dPIXEL%3d$X@hP8 `0plh_A_3DbuttonT<$ _Auo_string\D,_A_editorl_Auo_editort_A_ftext_Auo_ftext_A_slider_Auo_slider_Aus_slidert_Aus_editor NVeH*n-mZJg-U nJ( g C -I`(C,Hx\/ -INPO-@gR` n-H n"nfJfgN nB(CHx/./ N n.N.N n!@N&@ kCX.Hxm/ NL(N^NuNVe/ *nBBHx/ NO BHx/ NHnHx/ NOBHx/ NO BHx/ NO BHx/ N*nN^NueH*o >/JGg ` L NueH*o &UBHx/-NAC,./HlNHl/ aOL(NuNVeH*n&U+fBHnHx/-NO Jng(AC,/ /HlNHl/ a0OL(N^NueH*o>/. m"H0&I-k CH-i z-I  @d@0;NJj,"n iBHx /.NO |`"n iBHx /.NO |`"n iBHx /.NO z|`"n iBHx /.NO z|`j"n iBHx / NO z|`N"n iBHx / NO z|`2"n iBHx / NO |`"n iBHx / NO |JFg< SEJ@f"n iBHx/.NO z"n iBHxi/.NO `6 SEJ@f"n iBHx/ NO z"n iBHxi/ NO A/Hn//NO0.fbp@g6JFg"n iBHx/.NO `"n iBHx/.NO L(N^NuNVeH*n m0&H-k "n iHnHxj/ NO "n iBHx/ NO "n iBHxi/ NL(N^NuNVڿeH14-|;-|HxNXO&@ fp`f0<A"KQA)HHlrNXO*@ fp`80-"HA///Hnr/////HxNO(0-$P@@2.ܐA;@$*Jlf6BgHlFp=?NAPO.Jo" HlHx?r??NAO ?r>?NAXOp`mT m0,-HJ@g l2( An 4,6(Co* l2( $BB n1A"l0)"AA1@` n1@1l-M-HBnHnHx /NHnHx/.N7l7l7l AC fA .Hx/.NA.Hx/.NA.Hx/.NO0BHx/.N m0-H=|HnHx/.N mH-H=|HnHx/.NHnHx/.NO0BHx/.NO BHx/.NO BHx/.NHlHx/.NOBHx/.NO Rl/ a.a8 L,N^NuNVeH!4*n-Vf&U+gL lJh:gA/HlNPOS@f./ afXO`$A/HlyNPOS@gU@g`/ a@XOV-SJg"n i/ Hx/ NO / N.NXOSlfL m9h m9hp?HlRp?NAXOL,N^NueH*o &o/-JN.NXO+@JfHl^NXO+@J0- J@oHr///-JHx/NOL(NuNVeH*n&n BHx/ NO BHx/ NO BHx/ NHnHx/ NO-KB .lXHnHx/ NO .Jo//./.NO .Ѯ .S".g n  -HR` nBL(N^NueH*o&o KJfS. o,0< KCQHx Hl/-a dO  `  KC`Sd/Hl/-a :O L(NuNVeH4*n>.&n-U U@gN@ g@gS@gRS@gnS@gS@gS@gS@gpS@g|S@gVW@gS@gS@g`/ aXO`~ g nB( C Hx/ / NO ` nB( / aZXO`H n `>&`6/ /-aPO`&/ Hx/-NO `/ / aPO`/-aXO`/ apXO` nHx / /NO nB((fC/ / a PO` nHx / /NO nB((gC/ / aPO`p nHx/ /NO nB(+`N f& n"HE/ Hl/ NO -@f`$ K-H/./ a PO`HlrNXO`p`pL,N^NuNVeH*n&n 0-"HA///Hnr/////HxNO(0P@@2.A6/ / NL(N^NuNVeH04*n&n -m-m^0-"H2+H4+H n"HE/ / HnHn//v///HxNO(0P@@2.A6Jg n0(20"niBHx/.NO BHx/.N./ NL, N^NuNVeH*n mH&H-k "n iHnHxj/ NO "n iBHx/ NO "n iBHxi/ NL(N^Nue/ "l iX*hHxB/ N l.XaO *_Nue/ "l iX*hHxB/ N l.XaO *_Nue/ "l iX*hHxB/ N l.XaO *_NuNVԿeH*n&m-U n -HJg,"n)gBHx/ NO `BHx/ NO n(gBHx/ NO `BHx/ NO n(gBHx/ NO `BHx/ NO BHx/ NHnHx/ N.Hx/ NHnHx/ NO, .Jk&".䲀f* .谮f .찮f .f nh` BHx/ NO BHx/ NO BHx/ NL(N^NuNVeH4 l*hX&UHlJNXO-@g"@ iE /H o Pf npkH//aRPO npkH//a8PO npkH//a.NPOr AfNA $n"j$Qfpk n(g(g(g/ aXO/.NXOL,N^Nue l/(XaXONuNVԿeH l*hX&m-UHnHx/ NO .Jj2BHx/ NO BHx/ NO BHx/ NO `T-@HnHx/ NO ~) .Jo4o. n //./N n  B0.aO L(N^NuNVeH l&hX*SACB/ /NO J@f9m9m kBHx/-HNO BHx/.NA.Hx/.NA.Hx/.NOBHx/.NO BHx/.NO BHx/.NO WA$// NPOL(N^NuNVeHHlNXO*@ g"l iX&hHnHx/ N m.Hl`/N.NOQ@ft mHnHld/NO BHx/ NO BHx/ NHnHx/ NOBHx/ NO BHx/ NO BHx/ NO / NXOL(N^NuNVȿeHHlNXO*@ g"l iX&hHnHx/ NO .Jj"HnHx/ NHnHx/ NO`@.,. R-@p-@*n$-EHnHx/ NO .TѮR` m/.Hlh/N m.Hll/N.N.NOL(N^NuNVпeH*n&n ..JoB3x Ѐ/NXO-@g-@| K"@"-H-IJo8p nаfp`p fBR"n"S-H-I`RSJn`HnHx/ NHnHx/ N .-@-@ .-@-@-FHnHx/ NO$BHx/ N.NL(N^NueH#$*o./BHx/ NO HlHx ?r??NAO ,Jo/Hl/ aO ` ?r>?NAXOL$NuNVeH!4*n&n -U-mBg/ p=?NAPO. mBHx/-HNO BHx/.NO Jo //.a6POBHx/.NO BHx/.N.a n,"Kf.a.aPL,N^NuNVeH l*hX&U+g"A/HlyNPOS@gU@g0`/ aXOAC/ Hl/NO -@g// aL(N^NuNVeH!4*n&n Bg/ p=?NAPO.Jk mBHx/-HNO BHx/.NHnHx/.NHnHx/.N./.aO(BHx/.NO BHx/.NHnHx/.NHnHx/.NHnHx/.NO0BHx/.N.a8L,N^NuNVeH l*hX&UAC/ Hl/NO -@g// aL(N^Nue/ "l iX*hHxB/ N l.XaO *_Nue l/(Xa"XONuNVeH8*n&m-U n6-HJg n(gBHx/ NO `BHx/ NO n(gBHx/ NO `BHx/ NO n(gBHx/ NO `BHx/ NO BHx/ NHnHx/ NO/.Hx/ NHnHx/ NO .Jk,".ಀf2".$.䴁f&$.&.趂f&.(.츃f nh`-@-n-n-np-@ n`-HA-HHnHx/ NHnHx/ NHnHx/ NO$BHx/ NO pACQ n(fBHx/ NO BHx/ NO .JkHnHx/ NO BHx/ N.aL(N^NuNVeH4 l*hX&UHlNXO-@g""@ iE6/H o Pf"n iE`/H o Pf np kH//aPO np@kH//arPO npkH//aXPO npkH//a>.NPOr AfnA6$n"j$QfA`$n"j$Qfpk n(g(g(g(g/ aXO/.NXOL,N^Nue l/(XaXONuNV̿eH/4*n.. GxHnHx/ NO .Jo ,-n`HnHx/ NO S|-F .̰nHnHx/ NO .̰f .-@` .T-@Є m@ Hl/?r@?NAO *g HlEHxN >r>?NAO p`Gxخ .Jo//./ NO A&H .̰g KUHCpfR`:Jo8 Hl/?r@?NAO *gHlEHxN >r>?NAO p` ?r>?NAXOpL,N^NuNVveH#4*n&n KC|fHx.Hn|NPO-@fHltHn|NPO` Az"@fHn|/ BgpV?NAO .Bg/ p// a POJ@g/ pA?NA\O/ Hn|BgpV?NAO `$JGf Hn|pA?NA\O`/ Hn|BgpV?NAO L,N^NuNVeH*n&U-SJg"n i/ Hx/ NO S@g^A,-HJf/ ap`J mBHx/-HNO BHx/.NO BHx/.N./.a.aL(N^Nue l/(XaLXONuNVeH4*n&mHnHx/ NO ~ .JkFHlHxNPOU@f2BHx/ NO BHx/ NO BHx/ NO `~-U n,Cf n"HE/ Hl/ NO -@g,// aPOJGf n,"nf/ av.aXOL,N^Nue l/(XaXONue/ "l iX*hHxaB/ N l.XaO *_NuNVeH4HlNXO-@g l-hX n-h&P @*h "mE / Hx/-HNHnHx/.NOJng nC+` n+CHnHx/.N"n i0.H.Hl/N"n iCHx / /N.NO rAf"n iHnHl/NA$n"jHx //N mHl Hx/.NO$7l 9nAC fBHx/.NHl Hx/.NHnHx/.NO$ n(+gBHx/.NO `BHx/.NO BHx/.NO BHx/.NO /.NXOL,N^NuNV̿eHHlRNXO*@ g m0,H/Hl/N.NO Q@fz mHnHl/NO 0.o\9@"l iX&hHnHx/ NO .Jk,-nBHx/ NO `|HnHx/ NO SBHx/ NO -FHnHx/ NO ..0.@of. n-Hp@l>.`"S nHH/HlNPOJfSG` )@)@ H)@)@HlHx/ NO RRopBHx/ NO BHx/ NO BHx/ NO BHx/ NO BHx/ N l.Xa@O / NXOL(N^NuNVeA)H <NJ@gHlHnNPO`AC""2"l iXHn/(aBN^NuNVeA)H <NJ@gHlHnNPO`AC""2Hn l/(XafN^NuNV޿eH l&h@NN.JGk  kC-Ip if H// NPO l*hX mBHx/-HNO BHx/.NHnHx/.NHnHx/.N n. / aHnHx/.NHnHx/.NHnHx/.NOLBHx/.NO BHx/.NO BHx/.NO L(N^NueAr NuG&r%&%$$$$ $$###2#""""@"*""""!! V >vfvf\Rr z (  2 2("lXP^\@ __base4&j%L$$" 4P68,FfB2 j  ~ PR@"n.xL__CXOVF4&n%P$$" 8T:<0JjF 6 n   TVD&r2|P _strrchrZJ_strncat _Ast_delete h_Ast_create ~ n_Awi_root_Auo_editor&Z&H&6&$&&%%%%$x$h$X$H$8$####l#L""""z"\"L"<!!P &  n\,8( ttdTD26z* >,2 r(  " *~lZH@0 _sprintf#! _Auok_editor &V_ACSblk#%%X%8$$|#6! \"Dd*ṽ_wind_set  _Aev_mess_graf_mkstate_Ax_mallocT΃_Awi_create_wind_calc <2_alert_str`_Ax_free_Awi_delete_strncpy"!Z \ <_A_fileselect \ ƒ_A_dialog#!4 _Awi_moved X_Awi_sizedT _Aob_create"!jVv_Aob_delete$"4_A_fontsel_sscanf#"!̃_Ax_ifree _form_alert~_strcat%$n_strchr#__AESaddrin%$@_AESif%$_Adr_start%`_Adr_next%d_Adr_del%x[2][| Selektion ist aktiv! | Nur Selektion| speichern?][JA| NEIN ][3][| Fehler beim | Schreiben| aufgetreten][ OK ][2][ Der Text | '%s'| wurde modifiziert. | Text sichern ?][JA|Nein|Abbruch][2][ Der Text | '%s'| wurde modifiziert. | Text sichern ?][JA| Nein ]-------------------- DateiFinde TextOK123456 Suchen RCKWRTSAbbruch______NNNNNNWORT Extras1234567890123456789012345678901234567890________________________________________Finde ZeileXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXABC = abc12__Zeilen:NNzweidimensionaleindimensionalInformationBytes: Ersetzen... ^R1234567Ersetze TextDURCHALLESCURSORSELEKTIONENTAB ffnen... ^O Hinzufgen... Sichern als... V Sichern S Zeile aussch. ^Y Finden... ^F Information... ^IEDITOR Rckgngig UNDO Kopieren ^C Einfgen ^V Zum Klemmbrett Vom Klemmbrett ber mich...Dies ist der vorbereitete Editor, der im ACS 2.00 Entwicklerpaket mitgeliefert wird.Zeile: Selektion TAB Nchster ^GUmbruch Nchster ^T Gehe zu... ^L Ausschneiden ^X1234567890 Fonts... F__________PPPPPPPPPPEXTOptionenBalken|Strich|Block|Rahmen Beenden Q1234____NNNNText umbrechen Optionen.. T Umbrechen.. W Bearbeiten (  q   q 4  q @\g X  `  q y     v  q   q6X_s)))!1x)x3)xP)xFfs%|u$uuϞ}y=| 0 HZZ)   !   = k! BP   v                 "  2 /@ 3#1 % a&(-*.,A./1T$"e$B4@68:;=GJ? @3` CH#E"G HBK~ !A   @4  A,  , ( @( (L( , D  @ @ A   @0 @@ A  @4   l @l@ A" "  @rP    h      @t @ @  A2 2 . @.  .L(mL(   ,  \D&@ @ A   @  @@   cc  ' ` ,h:, d  COHNENAME.TXTDatei ffnenDatei hinzufgenDatei sichern %s (EDITOR) * %s (EDITOR) =+-*/()!&|[]{}<>,.;:$%?`'^#~@\" TXTH@( %F EDITOR.CFGEDITOR.CFG%ld%ld%ld%ld .$$$.$$$%2d%2d%d%d\SCRAP.TXTSCRAP.TXT\SCRAP.TXTSCRAP.TXT zvZR"z2 Z * R b:"N.nV>&~N6v^F.nV>&~N6^.n&N6vFn& ~ N   v F . V &  ~ 6   h d `hP8 plhTPL840tplXTP<84 _A_3Dbutton_Auo_string dL4_A_checkbox\D,_A_cyclet_Auo_cycle|_A_ftext_Auo_ftext_A_radiobutton_A_innerframeԁ_Aus_cycleZ_Awi_open~_Awi_init_Awi_obchange؁_Awi_redraw܁_Awi_topped_Awi_closed_A_editor_Auo_editor_A_wislider_Auo_wislider_Aus_editor3NVeH>.<. n0@lp`@0(@lp`40H2(HЁ"Hmp`0(H2(HЁ"Hmp`pLN^Nue/ HlHlHlaNO *@ g/ NXOJ@gHlHxNPO*_NuNVeHA///HnHx BN0.H.N*@NOgZ gV-Ug-#f f&M`g:N`-Uf"l i`HlNXO`L(N^NuNVeH?4*n0,rPAlX0,r0AlN l:( 8(Jh6g Jh8fp`p,JFg2 h/JGk6  m&Hk  k  H// NPOL(NuNVeH4*n>.JGk  mC-i $n&jZ#K-H-I g p!"K$h Q0<k n1@ `*p!"l^$h Q"n i $n!jJ nBh n(f"h " H// NL,N^Nue/ l*hX Uphg1@/ a XO0- J@k B/ NPO*_NueHK`"l i<>(gggggg/ NXOr AfV~-g-g-g-g-g-g"l i<1GL NuNVeH#4BgHlp=?NAPO,Jo0 HlHx?r??NAO ?r>?NAXO"l i<1l&l&A f,0+r4303(>3 7 Aj' HlNXO*@ fp`2Hx NXO*fp` p A"UQ/ aXOJ@gp` L,N^NuNVҿeH'"l iX-Hֱ@f6-h0)F=@HЀЀ/NXO*@ g0.HЀ&M=|P=|0z lBhHN.JGk* HЀ"t n; HЀ"7RE` l0(LH n2(H n2(4HrPN l0(PHЁX2(NH n4(H’ n4(6H’=@ r0N l0(RHЁzBhH=@N.JGk, HЀ25n HЀ43n=||=A=B0."t n0!f@=p0.=p0.H2.H//HnaO J@g<.`Tn`JFo"n QBh r n=p $1( =p $1(  i H// NPO r n h  n1 1 H//.NPORE`/ N lBhJL(N^Nue/ "l iX"P*Q M gBNXO*_Nue/ N*@ f N*@ g0- J@n-Uf/ NXO*_NuNVeH4*n>.JGk  m&HAk?k  -HJg&p!"h$k Q"n i0<h 3@ `&p!"l^$k Q k $n"j !iJBj "n i (Ug mf H2+ H/// NL,N^NueH4*o>/  m"HG"S g$l%MX l!m\ l1G` SNL,Nue l/(XaXONuNVeH*n l0(Fn !MXaF`l l&h@g kBHx / N`P lBhHN.JGk>  mC-Ipif H// N n&h k .NPOJ@gL(N^NueH l0(` l h\K&m / NXOL(NuNVeH!*n&n -mJg n>(2JGo0(r11G tpf p1@41@2` 1p2 Bp  C3|A>"Ad#H#K #kZ7GX H// -IaBPO`7|XL(N^NuNVeH#*n&n <JFk m  H// -HNPO n>( r n40Fg >0` r$ n1( Jpf1G0(2J@j 1@41@2$1(` $1(1F2 UBh6L(N^NuNVeH4*n l@f n 0Y@gU@g`Bp l1@H n 1@N.JGk  mGpkf n 1@` n 0"mG"k $i-IC/ Hx/.NO `T l-h@ n 0Y@gU@g<`"n i$n TJ/ Hx / NO `"n i$n TJ/ Hx/ NO L,N^NuNVeH4*n>.&n U@g_@gLS@gS@gY@g@UgS@gS@gS@gS@gS@g$S@gLS@gPS@gTS@g`/ / aPO`-K n9hC E$ n9h9h`)KZ`)KV`)K^`/ aXO`x/ / aPO`l/ / aTPO``0H// aPO`P0H// abPO`@0H// aPO`0 S// a2PO`"/ aXO`/ aXO`/ a\XO`p`pL,N^NuNVeH*n&n -U n K f m"H ` m"H mf"m0) H/Hx/ NL(N^NuNVeH?*n-m&U:+ 8+pkf HSrPNX n1@p HUrPNX n1@ HSr0N n1@1@r~|=hJng>0."t&PX n1"01RGEf~RF0.=p` n=h20.rAo$r$PX n10.$&01(RGEf~RF=p`pkf HSrPNX n1@1@p HSr0N n1@r HUr0N n1@~|=hJng>0."t&PX n1"01RFDf|RG0.=p` n=h20.rAo:r$PX n10.$&01(RFDf|RG=p`L(N^NuNVeH!4*n lJh6gJh:g-mJg&p nhf&h "k gBHx/NO /.NB.N.NXOp?Hlp?NAXO`/ NXOL,N^Nue/ l*hX Uphg1@/ aXO0- J@k B/ NPO*_NueA Nu,~ nF>>vzNH~__base"H, f * t $ Z  |VXp__CXOVF"L0 j . x ( ^ Z\t _A_fileselect_Ash_module_form_alert_wind_get؃_Awi_wid_Awi_root_Awi_down_ACSblk'>  B 6 | b X P Z 2nbf$_Awi_closedr_Adr_next0 _Adr_del <*_A_dialogRz_Ast_create__CXD33 V__CXM22l_Ax_malloc^r__CXM33_Awi_obredrawd ă_Awi_createJ_Ax_free _Awi_list 0 &_Awi_show V L_Awi_delete"([2][ | Soll das ACCESSORY | >>%s << | gestartet werden?][JA| NEIN ][3][ | Kein Speicher| mehr vorhanden! ][ OK ][2][ Unbekannte GEM-Nachricht | erhalten.| ID = '%s'| Weiterhin berichten?][JA| NEIN ][1][| Modul konnte| nicht geladen | werden][ OK ][3][ Keine freie GEM-Fenster-ID | mehr vorhanden!| Abhilfe: ein offenes| GEM-Fenster schlieen.][ OK ][3][ Kein freier ACS-Fenster-| Einschub mehr vorhanden! | Abhilfe: ein ACS-Fenster| lschen][ OK ]PAPIERKORBOK-------------------- Aktionen ffnen ^O Schlieen ^UPulldown Mens Lschen ^D Beenden ^Q Fenster Nchstes ^W Optionen aus Liste ^LDas Ziehen des Neu-Symboles auf ein anderes Objekt erzeugt ein neues Objekt. Ein Doppelklick darauf erzeugt ein weiteres Fenster der Applikation.NEUInformationGenerischer DESKTOP des ACS 2.00 von Stefan BachertVerhaltenObjekte werden durch Ziehen auf den Papierkorb gelschtVerstecke ZeigerGrows/ShrinksFehler akustischZentriere DialogSmart RedrawAbbruch Info... ^I Vertikal ^T Modul laden.. ^M Horizontal ^Z ber mich... Verhalten... ^BModul nachladenq Yq ))x!)x)!x !)x#c%`pppppp1p1p1p1p1p1p1p1p1p1ppppppppB 0 Hc@DDDDDDDDDDDDDDDL T   H?UU" W*EU'U>JWU'w''}*UPUT'@'w'UAVwU_gVWUA?  0 HZZ#    P  i $P   9           r2* *A$"!Z"*t  %,'&)~**,N$n A   @r  A : " @r   A   @r   A    @  jR   @ @  ' V fxb1VH(1ZH(  fH(AMDESKTOP.CFGDESKTOP.CFG&":H @ P^F^ZV&t\D,<$dLtD,l< | 4  t D  l $ n j fv^zvr_A_3Dbuttonb:" _Auo_string rZB*_A_checkboxjR_A_ftext_Auo_ftext_A_innerframej*_Awi_up _Awi_openԁ_Awi_init؁_Awi_keys*_Awi_obchange._Awi_redraw2_Awi_topped6_Awi_fulled>_Awi_arrowedB_Awi_hslidF_Awi_vslidJ_Awi_sizedN_Awi_movedR! NVeH*n&n A// / ///p/HxB/////////////Hx!NO\fBSL(N^NueH.,Z*l^ SJg MXM/NXO`/,^NXO)H^)HZL NuNVпeH*n&m -kHnHx/ nNO .Jjp`az .ܐ.R /NXO-@fp`)GZ)n^ r n`Sd,.Լnj-FHnHx/ nNO .Jo2R/NXO n g. <.Bn=|=F=GHxdHxHnNLN^NuNVпeH#*n|~B&m -kBHx/ nNO Jng0.Hrgrgr+gtSgHWgUgWgWgrfjBHx/ nNO BHx/ nNO `pBHx/ nNO 0.@gBHx / nNO `>BHx / nNO `(BHx/ nNO 0.@gBHx / nNO `BHx / nNO `BHx/ nNO 0.@gHnHx/ nNO `HnHx/ nNO JgSHnHx/ nNO `vHnHx/ nNO .JoXBHx / nNHnHx/ nNHnHx/ nNO$`"BHx/ nNHnHx/ nNO0.@gHnHx/ nNO `HnHx/ nNO ."lRHnHx/ nNO `HnHx/ nNHnHx/ nNO .RlpBHx / nNHnHx/ nNO`JBHx/ nNO 0.@g6BHx/ nNHnHx/ nNHnHx/ nNO$`BHx/ nNHnHx/ nNO`HnHx/ nNO .Jk.)@B)nF)nJ)nNHlBHx/ nNO `HnHx/ nNHnHx/ nNHnHx/ nNO$ ."l.".)AJ)AB)@FR)@NHlBHx/ nNO `HnHx/ nNO ."Rl)@BR)@J)nFBNHlBHx/ nNO `HnHx/ nNO .Jk.)@B)nF)nJ)nNHlBHx/ nNO `HnHx/ nNHnHx/ nNO .Jo0".)AJ)AB"S)AF)@NHlBHx/ nNO `$ .JoBHx / nNHnHx/ nN ."S)AB)@J)nFBNHlBHx/ nNO$`HnHx/ nNO .Jk.)@*)n.)n2)n6Hl*Hx/ nNO `HnHx/ nNHnHx/ nN .)@2)@* .)@6)@.Hl*Hx/ nNO$`00.HrFJgWgrg"UgSg&`0/ aXO`/ aXO`/ aXO`/ a2XO`0."At Bg("At BlJFf2.HH//aJPO`HnHx/ nNO l&"P0. .Jk,)@)n)n)nHlHx/ nNO `LHnHx/ nNHnHx/ nN .)@)@ .)@)@HlHx/ nNO$| SGJ@gHnHnaBPO`Bn`HnHx/ nNO .JjBHx/ nNO BHx/ nNO BHx/ nNL(N^NuM J F @ : 4 f b ^ V R    r n j b ^    |xrnj 40*"xtzv__baseRj__CXOVFVn _evnt_multiR_Ax_ifree_Ax_mallocR`_strncpyx_Ast_create _appl_tplaya  V>& NVeH*n>.<. Fm<< Hr A`SdAB0`&MA-H f `LJgB SFJ@g:p f& ."AHHA*A"SAA @-H` n-H`A L(N^NueH*o>//H2.HЁ2.HN0.Hn=@0.SnJ@g n -H`Rn n-H` nB l0(H"H$HHl///NO0."nlN n"HҀ=A0.@n4 l0(HHn/NPO`=n l0(HHn/NPOp nhg(f"n)f"nJipf .")0$g $)8&f)gf(2.H$)@2)H N"HҀ=A=A` 2.=A=A n (8f&0.H"(D0(HN"HҀSA=A=A0.2.An( l0(HCjEj/ / HnHx /NO0.=@=@`pipf)g0.H")@0)HN"HҀ=A=A0.H n"(D0(HN"HҀSA=A=A0.ްAn( l0(HCjEj/ / HnHx /NO0.=@=@`R0.=@=@"l0)HEjAj// HnHx /NO`=n l0(HHn/NPO nhPRS`& n(g ("( Ҁ$(0&lmJnf (ffx(fn n h,0.H"n")@H///-Hal2.H=@H./ n/a l2(HHx/=@N l0(HHx/NO$0.n n2(4- HԀ=B (02(6- Hր=ChSB=BhSC=C0(S@g S@g(S@g<`z0.S@=@ l0(HHn/NPO`x l0(HHn/NPO`` l0(HHx/N l0(HB/N l0(HHn/NO` 0.R@=@ l0(HHn/NPO l0(HHnB/NO pmL,N^NuNVeH?*n.-0 - "-Ҁ*S"-(o*$R+Blp+@ -( HJnJoNJoro($- &⃞`ro - "⁞` - "S -( *Ro.Jj~+G,-@ -"-$Ԁ*$- o*om&&R*o,Jj|g +FL N^NueH3*o./ - o."-l$-&䃗lO `JGfJFg H"H/// aO pm+mL+mPL(NuNV¿eH?4*n>.<.JGfJFgD-mT n0( Hm,(Wg"lPIpEQp=@=@`THHnHnHnHnHx /NO0.g0.g0.HHnHnHnHnHx /NO:-\  mX&H HHnHn// NO0. nh4=@0."h6=A=mJ=mHHnHn=AN lPH.HnNO p=@JFo:-g2"-f4-6.H҃6.H8.Hք=AHl=B2.fH2.fB2.־Al:$HDHl."H4.H҂4.H²l"HD4.H²lJFg"JGg"n if HHx// NO `0.=@=@2.=A=A4.&BSC=C=C0.$@SB=B=BJGg8o0.G=@ G=@R@=@=G`G=C0.G=@ D@=@JFgDo. F=@ 2.A&@=C A=@RC=CF=A`F=BF=A D@=@ l0(HHnB/NO 0+2+ n4(4k4(6kBHx=@=ANPO0.2.An( l0(HCjEj/ / HnHx/NO H2.H4.H6.H8.H////B// NOBHxNPO7n7nL,N^NueH*o./ -mbЭ lZ:-,-f;|+Gf  m,&mT g kf0-\HHx// NO  m,+Ff;EL(NuNVeH#*n>.&mT0-\" mXHHnHn//-HNO0.2+4@0-$BBA"HH/@ "/NЭ,JGjSJj| - o, L(N^NuNVeH*n>.&mT0-\" mXHHnHn//-HNO0.2+6@A H2-HNЭ,JGjSJj| -(o, L(N^NuNVeH*n0.H// aZPO.  m,"H&I+f -0"-H(g// aPO n// aPO+G0 mr g-SJfC-I/./-vNPO -mЭ m// a.aHx/ a*(OA/HnHn/NO0.f$L(N^NuNVeH*n0.H// a`PO.  m,&H+gZ// a&PO mr g Hl/-vNPOA/HnHn/NO0.g"0.H// aPOg0.H// afL(N^NuNVeH*n.. ,.:. --@Э SH"-(o-ABn-G ."n m,-H J@g S@g:S@gh` n(gz ."mhnb=|`T n(fH ."m6n0=|`" ."mn=| nR`JJngX&mT g*=m;| kf0-\HHx// NO ;n-n ."n m,R`L(N^NuNVeH?*n>.<.JFWDHH"A=@JAg.0.H// a.PO"-0$-8&ց⃰o-A`6-B`0H//-8/-0/ a(0.H./ aO+@8+@0-@z0.H// aPO(gLm -8l"R4.H//// aO`N".l"H//// aO`0 .S2.H///-0/ a H.//./ azO .+@0+D8` -0o"S4.H//// aHO`R".o"H//// a*O`4 .R2.H//-8// a .S"H./// aO+D0+n8 -mЭ m// a.aHx/ a&O mr g Hl/-vNPO*A/HnHn/NO0.fzL N^NueH*o >/ H// a,PO+@8+@0"H m,(WDHHH/B// aOL NueH./,/*/(/ op`lp`op` lp`pLNuNVпeH7*n>.0.H// a2.H./ -@a". m,&P2-H-@H.// a4OH"A-@JAgV"-0ҭ8$-4ԭB/./-0/ a< .+@0+n@".+A8+nDHx/// aO .+@0 .+@4+n@ .+@8".+A<+nD`0/-4/-0/./.aOJ@o6 .+@8+nDB//-0/ aO . m,`/-4/-0/./.a^OJ@o\ -0+@8"-@+AD$.+B0".+A@Hഀf&-Do$ m,Hx/.// a O`D+B8`>B/-8/-0/ a .+@0+n@".+A8+nDHx/// aO .+@0+n4+n@+n8+n<+nD"-mҭ l"-$.&mҭo&// ab./ a,.aHx/ a O,.*.HnHnHnHnNO0.fpL(N^NuNVeH7*n>. @g^0.H// a@PO"-@$-D&ց⃰o-A`-B0.H// aPO"-0$-8&ց⃰o-A`-B`B/-8/-0/ a0.H./ ah+@8+@0-@ m,&P0.H./ a2-H-@H.// aH2-H-@H.// aPH+@D+@@Hx/-8/-0/ -@-@aO8z,0.H// a2.H./ -@a4". m,&P2-H-@H.// aӊH2-H-@H.// aOHH".fgmDl+@@Hx/-8/-0/ a|O` -D".貀l*+@@".+AD@m`Hx/-8/-0/ aDO`H@mHx/-8/-0/ a&O .+@@ .+@D@mHx/-8/-0/ aO .+@@ .+@D`"-@m"o+@DHx/-8/-0/ aO`j .谁o"+AD+n@Hx/-8/-0/ aO`@ -DmHx/-8/-0/ atO+n@+nDHx/-8/-0/ aRO+n@+nD ."ov"-8lRB/// a O`H .찁lHx/.// aO`* .SB//-0/ aHx/././ aO .+@0 .+@8`v"-0oSB/// aO`L .찁oHx//./ aO`. .RB/-8// ar .SHx//./ a\O .+@0+n8"-mҭ l"-$.&mҭm&// a./ a.a@Hx/ aLO,.*.HnHnHnHnNO0.f -0 m,&P0-H"-@H/// afH+@4 -8 m,&P0-H"-DH.// a -0"f""-4f"-8$+f $-< gB/-8// aO +@0"++A4 -0 m,0-HH///a˶H+@@ ++@8"+ +A< -8 m,0-HH.//a˂OH+@DHx/-8/-0/ aROL(NuNVοeH'4*n&n Jg-WDHH=@-WDHH,=@f"pam pzn `pAm pZn KJfS*-0-m4-H-gJk  m,-H0(J@o".JkS-A` H-@ n P-H .Jk ngfJng/.// NO Jg/././ NO JfpJnfBJg< n(HH/HlNPOJgH n .0HH/HlNPOJg( -@-@ .-@Ю-@Hn/ a`8SS`.&n-m n-h S@gS@gS@gdS@gS@gS@gW@gS@gS@gS@gS@gS@gS@gU@g&@gS@g HS@g\S@gS@g S@gS@g*S@g S@gzS@gS@gS@gS@gS@gS@gS@gS@g@S@gS@g S@gVS@gS@gS@gS@gS@gS@gS@gS@gS@g$S@g.S@g:S@gS@gZS@gDS@g.S@gS@gS@gXS@g6S@gS@gS@g S@gS@gS@gS@gS@gS@gS@gS@gNS@gXS@g6S@gS@gS@f n1S` n/(4/(0/aLO `/ /.aPO` n` n(g6`BS`z/ /.aPO`j n`\ n`N n`@ n`2 n`$ n`p nhpf6`BS`/ aXO n;hJ;hH` n/(/(aμPO"n#H#H`/.aFXO`/ /.aPO` n6`0 n1@"(0 n h,H"n")4H///a2H n!@@ (8 n h,"n0)H")-G-FR  m,=|-H0.J@oƾ(op?p?p?NM\O` n0(J@o"P&I HH// N.HH./ -@NO -@f(Jf |RP` ." nܒ,RRn`vJg n"Hc nܐ,RSn`T  nܐ,RRn`@|RP`4-G-FHn/ a4L,N^NuNVֿeH'4*n.. ,..H@)g@g&@g@ g`|[`|(`|{`|<-G R-@  m,=|-H0.J@oJjSQ n<(HJjp?p?p?NM\O` n0(J@o P"H&ISB HH//-HN.HH./.-@NO -@ge8Jg n"HeSQ n<(H`R"$"n֔,Rn`>Jg n"Hdc n֐,Sn`  n֐,Rn`SQ n<(H`-G-FHn/ aL,N^NuNVڿeH'4*n>.<.:. H// aXPO-@ m,&H @g@ .-@r-A$-(g$R-B-A`-@0+H-@Hn/ a`0-S H// aZPO-@0+J@o$0-H".H///.aO H-@`p?p?p?NM\O`0+H".䲀mp?p?p?NM\O` n .0H@A(g$SAg>AgUAg4AgUAg*AgUAg `<.HH//././ aO`Z.HH//././ aO`<.HH/HlNPOJf/././ aO `p?p?p?NM\OL,N^NuNVeH  l0(` l h\*h &m -H0+p @d@0;Nx ":`L l0(dH// aPO` l0(dH// aPO` l0(dH2(fHHx/// aڸO` l0(dH// aPO`lBHx/.aO +f'k08'k4<'k@D n( g( l0(bH2(dH4(fH//// a$O`& l0(bH2(dH4(fH//// aO +0"+8f "+4.-mbJgr n&h -(R-@"- l-A"kHnHxd/N kC .Hxe/.N kC.Hx/.NOJGg kBHx/.NO -m^Jg^ n&h "kE / Hxd/N kC.Hx/.N kC.Hxe/.NOJGg kBHx/.NO L,N^NuNVeH*n&M kHn Hx/-Ha&O BHx/.aA L(N^NuNVeH*n&M kHn Hx/-HaO BHx/.aA L(N^NuNVeH*n&n -MHx /.NHx /.-@NO-@JfJf /./ a`jJg nc. nB/./ a. n .aˬPO nRH-H`$ nB/./ aPO. n C-Ip@f^L(N^NuNVeH*n&n -k / / aPOR@fp`0"n iBHx/ N.a O "n iBHx/ Np L(N^NuNVeH*n&n-m / /. HlN..HlaO"n iBHx/ N L(N^NuNVeH*nG/ /. / a. L(N^NuMMKHCCH@Z>`>X>N9898 7763t&@"! OBO6VnD:.__base9OpONMMMFL>K|K2IGFED<988z544b3F2211<0+'&&z$Z""H!N 2>$,j \  T__CXOVF9OtONMMMJLBKK6IGJED@988~544f3J2211@0+'"&&~$^""L!R 6B(0n `  X _ACSblk,KKJJ&IIIIjIRII@@@d0V j F 4 pXr0DxfL$_vs_clip _vsf_interior B̃_vswr_model_vst_rotation_vst_fontK@v _vst_heightL@@H_vst_colorb_vst_effectst_vst_alignment_vsf_color__CXD332Z2>! _v_gtext`_vr_recfl z  __CXM3322ln._vro_cpyfmPP_vsf_perimeter 0_v_bar V_Ax_ifree@111t|RL L B_Ax_malloc KKF0F ~& _strncpyD_strcat14_Ast_createރ_wind_get_objc_offset! l_intersectbR_graf_mouse_objc_draw_graf_mkstate0 +&^""(_strncmp76_strncmpi76_strchr NNHED9<98776_strrchrFFx_vsprintfO:7 =+-*/()!&|[]{}<>,.;:$%?`'^#~@\"e/ *opm*_NuNVeH7*n>.&n-m n-h S@gS@gW@gS@gW@gS@gS@gS@gS@g&S@g.S@g2U@g@SgS@gS@gS@gU@gS@gS@g`"n i g/)/)NPO`HxNXO-@gpA"nQ n!n `6`/.NXO`-K n"n!Q`< n *Jo H"N"<N n!@`jB`b n (Jjr!A ("$H&(o!B-h n0( =@"n)g"n *Jo )"<N"N,`| n0(>Fg*1F>0.J@oH"Ht////Hx /NO n ("<N n"N, n0(BFg1FB0.J@ozH"Ht////Hx/NO`X"n )"<N n"N, n0(@Fg*1F@0.J@oH"Ht////Hx/NO n *Jo ("<N"N,`| n0( l>(0-H2(H2- HҀ*0- =@=@0-S@2.@=AJnf n('gJng0- =@=@G=@`0- =@=@G=@ l0(HHx/N l0(HHn/N l0(HHx/NO nJf"l0)HHx/NPO`"l0)HB/NPOJng4 l0(H2(H4.HԁR"HHlJ///NO`& l0(H"H4.HHlL///NOJnf n('gJng0- mS@=@=@G=@`0- mS@=@=@G=@ l0(HHx/N l0(HHn/N l0(HHx/NO n (Шf"l0)HHx/NPO`"l0)HB/NPOJng4 l0(H2(H4.HԁR"HHlN///NO`& l0(H"H4.HHlP///NO l0(HHx/N l0(HHx/N l0(HHx/NO nJh(gJnf ('gJng0- G=@=@2((=@A=@`0- G=@=@"h(=A=@0(.nJng"l0)HHn/NPO`JngN0.2.$@n0.Al=A"l0)HHnHx/N l0(HHn/NO`J0.2.$@n<0.Al=A"l0)HHnHx/N l0(HHn/NO nJh,g Jnf ('gJng$0- mGS@=@=@2(,=@ԐA=@`"0- mGS@=@=@"h,=A=@0(0nJng"l0)HHn/NPO`JngL0.2.԰An0.@l=A"l0)HHnHx/N l0(HHn/NO`H0.2.԰An<0.@l=A"l0)HHnHx/N l0(HHn/NOJng,0- G n2((A=@=@0(*"SA4.A=B`&0- G nh(=@=@0(*S@2.@=A"l0)HB/N l0(HHn/NO nJ(g"l0)HHx/N l0(HB/NO Jngh n"HJfS l0(H" N n2(*HA, l0(H2.H$H҂$HS n////NO`| n"HJfS l0(H" N2-HA, l0(H2.H$H҂ n4(*H l6(HÔ6.Hւ n////NOJng+ g0- "RA=A0- "RA=A0- m=@=@0- m=@=@ l0(HHx/N l0(HHx/N l0(Hr.//N l0(HHx/N l0(HHx/N l0(HHnHx/NO4 l0(HHnB/NO pmL(N^NuNVeH'*n&m -k +g l:(0("Hҁ0-H.,`, l0( n*"l0)"H0-H., H n"(N n"N n1@*ElGE,SF 1@*"H (N n"$ЂN n1@("h*@1A,m (Шfh(Bh,1mF1mH'L(N^NuNVeH#4*n>.&n-m n-h S@gS@gS@gS@gS@gS@gW@gS@gtS@g~S@gS@gS@gS@gU@gD@SgS@gS@g$S@gS@g S@gU@g`HxJNXO-@gpIA"nQ n!n `6`/.NXO` nHx / /NO "n0i B1`x n&H`j-K n"n!Q.&m -k +g l8(0("Hҁ0-H,`* l0( n("l0)"H0-H, H n"(N n"N*Dl D@JGj~Fo. H n"N"HЁ"HNL(N^NuNVҿeH7 l0(` l h\"l-iX-H=i`HnHx /-HaO n*h &m +'g/aXO l0(`HHnHn//(\NO-VDHH*JEg, l=h hX0(62.A."l0)d"G=A`. l0(@ hX2(44.B. l2(b&G=C=@=|0.m2.$A=BJBj& n( g=|p=@`,=| `" k(=@J@j =| ` 4+*&B=CJCjk*ACJEg l=hd` l=hb0.GH//.aPO-@Ұg8HnHx/.aO BHxi/.aO BHx/.aO <.HnHnHnHnNOJEg=n0.Ff 0.f0.fh`0.k,=@J@j=| ` n( g =|Bn`=| -k0.HB//.aO .ҰgBHxi/.aO BHx/.aO Jng"HnHnHnHnNO0.fL(N^Nu@ PR**LD__base(^0 __CXOVF,b4 _ACSblkF J@4 ^ B .  dD(~ZHv<bJxd> zfp^: ƃ_vs_clip p^ڃ_vst_font_vst_color_vst_rotation_vst_alignment6_vst_heightZ_vsf_interiorVl_vsf_perimeter_vsf_color_vswr_modetv_v_bar jLr_vst_effects_v_gtext \44 _vsf_style__CXM224̃_vsl_color _vsl_ends _vsl_width *_vsl_type >_v_pline V__CXM33 4 __CXD33 D _Ax_malloc B_Ax_free x_strncpy _sprintfH_objc_offset_graf_mkstate3*%ld vplotter.c_v_justified_v_rfbox_v_rbox_v_ellpie_v_ellarc_v_ellipse_v_circle_v_pieslice_v_arc_v_bar_vr_recfl_v_contourfill_v_fillarea_v_gtext_v_pmarker_Abp_end_v_pline_Abp_start_Awi_delete_Ax_free_Awi_create_Ax_malloc_Abp_create_Abp_delete_vro_cpyfm_ACSblk_vs_clip__CXOVF__base_get_plotter_w_justified_w_rfbox_w_rbox_w_ellpie_w_ellarc_w_ellipse_w_circle_w_pieslice_w_arc_w_bar_wr_recfl_w_contourfill_w_fillarea_w_gtext_w_pmarker_w_pline_w_draw_w_inv_w_clr_w_update__MERGED_Awi_moved_Awi_sized_Awi_vslid_Awi_hslid_Awi_arrowed_Awi_fulled_Awi_closed_Awi_topped_Awi_redraw_Awi_obchange_Awi_keys_Awi_init_Awi_open_PLOTTER_DRAFT_ON_DRAFT_OFFproto.c_uvprintf_uputs_wind_calc_A_dialog_Auo_editor_vst_height_vst_font_graf_mkstate_Aev_mess_wind_set_get_protocol_wprintf_wvprintf_wputs_Auo_wislider_A_wislider_A_editor_Auo_ftext_A_ftext_Auo_string_A_3Dbutton_PROTOCOLgoodies.c_strncpy_strchr_strncat_write_multiline_read_multilinefontsel.c_Ax_ifree_Aob_delete_Aob_fix_Aob_create_vqt_width_vqt_name__CXM22_sprintf_vst_point_sscanf_Aus_editor_A_fontsel_Aus_slider_Auo_slider_A_slidereditwi.c_Adr_del_Adr_next_Adr_start@_AESif__AESaddrin_strcat_form_alert_A_fileselect_alert_str_Auok_editor_Awi_root_Ast_create_Ast_delete_strrchr_get_editor_Aed_fromclip_Aed_toclip_Aed_wrap_Aed_option_Aed_undo_Aed_saveas_Aed_save_Aed_replacenext_Aed_replace_Aed_quit_Aed_paste_Aed_merge_Aed_open_Aed_info_Aed_gotoline_Aed_font_Aed_findsel_Aed_findnext_Aed_find_Aed_cutline_Aed_cut_Aed_copy_Aus_cycle_A_innerframe_A_radiobutton_Auo_cycle_A_cycle_A_checkbox_EDITORdesktop.c_Awi_show_Awi_list_Awi_obredraw__CXM33__CXD33_Awi_down_Awi_wid_wind_get_Ash_module_get_desktop_Awd_ver_Awd_open_Awd_list_Awd_behaviour_Awd_hor_Awd_info_Awd_delete_Awd_quit_Awd_close_Awd_module_Awi_up_DESKTOP___MENU___WINDOW_IC___TRASH_IC___NEW_IC__TITLE_MODULE_ERR_WISLOT_ERR_WINDOW_ERR_MODULE_ERR_MESS_ERR_MEMORY_ERR_ACCeditkey.c_appl_tplay_evnt_multi_Apaste_text_Apaste_rowseditor.c_vsprintf_strncmpi_strncmp_objc_draw_graf_mouse_intersect_objc_offset_vsf_perimeter_vsf_color_vst_alignment_vst_effects_vst_color_vst_rotation_vswr_mode_vsf_interior_uprintf_edit_free_edit_appline_edit_inverswislider.cslider.c_vsl_type_vsl_width_vsl_ends_vsl_color_vsf_style  (2<GQ]dku!)1 > tK (T \ Vfpf{ *tdj   +6CO[gs    $!)/=FP)WeqO[gs{^ (O!)B  *5?GP[c!)p d{{q  &[o   $G'3!)=&hI$W$c"m y  J2@`~(5>xdWeqO[gsHSa{p{r"3?N!)  ~ r '6?IU_jn(  +6C[gsvS{ ~  fas S !/  !)&^3Z@3L$H3R\ ep|dk!) OjONdH9 1 16 qN7 ,IV$!)We 7J G ? I T ^? id!){" include25100322D:\ACS.LC\LIB\ACS_LOADTEXTACS4/ y /P _Nu/<`/<`/<`/< `/<`/<`/<`/<`/< `/<$`/<(`/<,`/<0`/<4`|/<8`r/<<`h/<@`^/<D`T/<H`J/<L`@/<P`6/<T`,/<X`"/<\`/<``/<d`/<h`/<l`/<p`/<t`/<x`/<|`/<`/<`/<`/<`/<`/<`/<`/<`x/<`n/<`d/<`Z/<`P/<`F/<`/<|`4_ACSinit_Awi_wid,_Awi_root4_Awi_list<_Awi_sendallD_Awi_downL_Awi_upT_Awi_show\_Awi_initd_Awi_createl_Awi_opent_Awi_closed|_Awi_delete_Awi_topped_Awi_fulled_Awi_sized_Awi_moved_Awi_diaend_Awi_diastart_Awi_keys_Awi_obview_Awi_service_Awi_scroll_Awi_obchange_Awi_obredraw_Awi_redraw_Awi_arrowed _Awi_hslid_Awi_vslid _Axxxxxxx*_Aev_quit4_Aev_mess>_Aev_unhidepointerH_Amo_newR_Amo_busy\_Amo_unbusyf_Amo_hidep_Amo_showz_Aob_create_Aob_delete_Aob_fix_Aob_offset_Aob_save_Aob_restore_Aob_watch_Aob_findflag_Aob_up_Ame_namefix_Ame_popup_Abp_create_Abp_delete_Abp_start_Abp_end_Adr_box_Adr_drag$_Adr_next._Adr_add8_Adr_delB_Adr_unselectL_Ast_createV_Ast_delete`_Aic_createj_Aic_deletet_Aim_create~_Aim_delete_Aus_create_Aus_delete_Ate_create_Ate_delete_Ax_malloc_Ax_free_Ax_ifree_ACSmoduleterm_A_nokey_Aob_alias_A_dialog _alert_str_intersect_A_checkbox(_A_radiobutton2_A_innerframe<_A_patternF_A_arrowsP_Adr_startZ_A_selectd_Ash_progn_A_fileselectx_A_ftext_A_xxxxx2_A_3Dbutton_A_cycle_A_picture_Auo_ftext_Auo_string_Auo_cycle_Aus_cycle_Auo_picture_ACSblkerrnoADDRESS.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O ADDRESS.C (ADDRESS.H,ADDRESS.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB CH$MEMWATCH CH$VIEWKEY DH$KEYS DH$DITHER EH$ EXAMPLESDOC pxVIEWVARS FH$/* * aes.h - AES interface header file * * Started 16/9/89 Alex G. Kiernan * * Copyright (c) 1989 HiSoft */ #ifndef _AES_H #define _AES_H short __regargs _AESif(unsigned short); extern void *_AESpb[6]; extern short _AEScontrol[5]; extern short _AESglobal[15]; extern short _AESintin[16]; extern short _AESintout[7]; extern void *_AESaddrin[3]; extern void *_AESaddrout[1]; /* Application library definitions */ typedef struct { long ap_event; long ap_value; } EVNTREC; short appl_init(void); #define appl_init() _AESif(0) short appl_read(short,short,void *); short appl_write(short,short,void *); short appl_find(const char *); #define appl_find(a) (_AESaddrin[0]=(void *)(a),_AESif(12)) short appl_tplay(EVNTREC *,short,short); short appl_trecord(EVNTREC *,short); short appl_exit(void); #define appl_exit() _AESif(36) /* Event library definitions */ #define MU_KEYBD 0x0001 #define MU_BUTTON 0x0002 #define MU_M1 0x0004 #define MU_M2 0x0008 #define MU_MESAG 0x0010 #define MU_TIMER 0x0020 #define K_RSHIFT 0x0001 #define K_LSHIFT 0x0002 #define K_CTRL 0x0004 #define K_ALT 0x0008 #define MN_SELECTED 10 #define WM_REDRAW 20 #define WM_TOPPED 21 #define WM_CLOSED 22 #define WM_FULLED 23 #define WM_ARROWED 24 #define WM_HSLID 25 #define WM_VSLID 26 #define WM_SIZED 27 #define WM_MOVED 28 #define WM_NEWTOP 29 #define AC_OPEN 40 #define AC_CLOSE 41 #define CT_UPDATE 50 #define CT_MOVE 51 #define CT_NEWTOP 52 #define CT_KEY 53 #define WA_UPPAGE 0 #define WA_DNPAGE 1 #define WA_UPLINE 2 #define WA_DNLINE 3 #define WA_LFPAGE 4 #define WA_RTPAGE 5 #define WA_LFLINE 6 #define WA_RTLINE 7 typedef struct moblk { short m_out; short m_x; short m_y; short m_w; short m_h; } MOBLK; short evnt_keybd(void); #define evnt_keybd() _AESif(40) short evnt_button(short,short,short,short *,short *,short *,short *); short evnt_mouse(short,short,short,short,short,short *,short *,short *,short *); short evnt_mesag(short *); #define evnt_mesag(a) (_AESaddrin[0]=(a),_AESif(52)) short evnt_timer(short,short); short evnt_multi(short,short,short,short,short,short,short,short,short,short,short,short,short,short,short *,short,short,short *,short *,short *,short *,short *,short *); short evnt_dclick(short,short); /* Object library definitions */ #define ROOT 0 #define NIL -1 #define MAX_DEPTH 8 /* max depth of search or draw */ #define IP_HOLLOW 0 /* inside patterns */ #define IP_1PATT 1 #define IP_2PATT 2 #define IP_3PATT 3 #define IP_4PATT 4 #define IP_5PATT 5 #define IP_6PATT 6 #define IP_SOLID 7 #define IBM 3 /* font types */ #define SMALL 5 #define G_BOX 20 /* Graphic types of obs */ #define G_TEXT 21 #define G_BOXTEXT 22 #define G_IMAGE 23 #define G_PROGDEF 24 #define G_USERDEF G_PROGDEF #define G_IBOX 25 #define G_BUTTON 26 #define G_BOXCHAR 27 #define G_STRING 28 #define G_FTEXT 29 #define G_FBOXTEXT 30 #define G_ICON 31 #define G_TITLE 32 #define NONE 0x0000 /* Object flags */ #define SELECTABLE 0x0001 #define DEFAULT 0x0002 #define EXIT 0x0004 #define EDITABLE 0x0008 #define RBUTTON 0x0010 #define LASTOB 0x0020 #define TOUCHEXIT 0x0040 #define HIDETREE 0x0080 #define INDIRECT 0x0100 #define NORMAL 0x0000 /* Object states */ #define SELECTED 0x0001 #define CROSSED 0x0002 #define CHECKED 0x0004 #define DISABLED 0x0008 #define OUTLINED 0x0010 #define SHADOWED 0x0020 #define SPECIAL 0x0040 /* user defined object state */ #define WHITE 0 /* Object colors */ #define BLACK 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define CYAN 5 #define YELLOW 6 #define MAGENTA 7 #define LWHITE 8 #define LBLACK 9 #define LRED 10 #define LGREEN 11 #define LBLUE 12 #define LCYAN 13 #define LYELLOW 14 #define LMAGENTA 15 #define TE_LEFT 0 /* editable text justification */ #define TE_RIGHT 1 #define TE_CNTR 2 typedef struct { char *te_ptext; char *te_ptmplt; char *te_pvalid; short te_font; short te_junk1; short te_just; short te_color; short te_junk2; short te_thickness; short te_txtlen; short te_tmplen; } TEDINFO; typedef struct { short *ib_pmask; short *ib_pdata; char *ib_ptext; short ib_char; short ib_xchar; short ib_ychar; short ib_xicon; short ib_yicon; short ib_wicon; short ib_hicon; short ib_xtext; short ib_ytext; short ib_wtext; short ib_htext; } ICONBLK; typedef struct { short *bi_pdata; short bi_wb; short bi_hl; short bi_x; short bi_y; short bi_color; } BITBLK; struct __object; typedef struct { struct __object *pb_tree; short pb_obj; short pb_prevstate; short pb_currstate; short pb_x; short pb_y; short pb_w; short pb_h; short pb_xc; short pb_yc; short pb_wc; short pb_hc; long pb_parm; } PARMBLK; /* Lattice 3 flavour */ typedef struct { short (*__stdargs ub_code)(PARMBLK *); long ub_parm; } USERBLK; /* Rest of the world flavour */ typedef struct { short (*__stdargs ab_code)(PARMBLK *); long ab_parm; } APPLBLK; typedef union obspecp { long index; char *free_string; TEDINFO *tedinfo; ICONBLK *iconblk; BITBLK *bitblk; USERBLK *userblk; union obspecp *indirect; } OBSPEC; typedef struct __object { short ob_next; /* -> object's next sibling */ short ob_head; /* -> head of object's children */ short ob_tail; /* -> tail of object's children */ unsigned short ob_type; /* object type: BOX, CHAR,... */ unsigned short ob_flags; /* object flags */ unsigned short ob_state; /* state: SELECTED, OPEN, ... */ OBSPEC ob_spec; /* what ever */ short ob_x; /* upper left corner of object */ short ob_y; /* upper left corner of object */ short ob_width; /* object width */ short ob_height; /* object height */ } OBJECT; typedef struct grect { short g_x; short g_y; short g_w; short g_h; } GRECT; short objc_add(OBJECT *,short,short); short objc_delete(OBJECT *,short); short objc_draw(OBJECT *,short,short,short,short,short,short); short objc_find(OBJECT *,short,short,short,short); short objc_offset(OBJECT *,short,short *,short *); short objc_order(OBJECT *,short,short); short objc_edit(OBJECT *,short,short,short *,short); short objc_change(OBJECT *,short,short,short,short,short,short,short,short); /* HiSoft extras */ short objc_xywh(OBJECT *,short,GRECT *); void objc_walk(OBJECT *,short,short,short,short (*)(OBJECT *,short)); /* Menu library definitions */ short menu_bar(OBJECT *, short); short menu_icheck(OBJECT *,short,short); short menu_ienable(OBJECT *,short,short); short menu_tnormal(OBJECT *,short,short); short menu_text(OBJECT *,short,const char *); short menu_register(short,const char *); /* Form library definitions */ #define ED_START 0 /* editable text field definitions */ #define EDSTART ED_START #define ED_INIT 1 #define EDINIT ED_INIT #define ED_CHAR 2 #define EDCHAR ED_CHAR #define ED_END 3 #define EDEND ED_END #define FMD_START 0 #define FMD_GROW 1 #define FMD_SHRINK 2 #define FMD_FINISH 3 short form_do(OBJECT *,short); short form_dial(short,short,short,short,short,short,short,short,short); short form_alert(short,const char *); short form_error(short); #define form_error(a) (_AESintin[0]=a,_AESif(172)) short form_center(OBJECT *,short *,short *,short *,short *); short form_keybd(OBJECT *,short,short,short,short *,short *); short form_button(OBJECT *,short,short,short *); /* Graphics library definitions */ #define ARROW 0 #define TEXT_CRSR 1 #define HOURGLASS 2 #define BUSYBEE HOURGLASS #define BUSY_BEE HOURGLASS #define POINT_HAND 3 #define FLAT_HAND 4 #define THIN_CROSS 5 #define THICK_CROSS 6 #define OUTLN_CROSS 7 #define USER_DEF 255 #define M_OFF 256 #define M_ON 257 #define VERTICAL 0 #define HORIZONTAL 1 short graf_rubberbox(short,short,short,short,short *,short *); short graf_dragbox(short,short,short,short,short,short,short,short,short *,short *); short graf_movebox(short,short,short,short,short,short); short graf_growbox(short,short,short,short,short,short,short,short); short graf_shrinkbox(short,short,short,short,short,short,short,short); short graf_watchbox(OBJECT *,short,short,short); short graf_slidebox(OBJECT *,short,short,short); short graf_handle(short *,short *,short *,short *); short graf_mouse(short,void *); short graf_mkstate(short *,short *,short *,short *); /* Scrap library definitions */ short scrp_read(char *); short scrp_write(const char *); #define scrp_read(a) (_AESaddrin[0]=a,_AESif(280)) #define scrp_write(a) (_AESaddrin[0]=(void *)(a),_AESif(284)) /* File selector library definitions */ short fsel_input(char *,char *,short *); short fsel_exinput(char *,char *,short *,const char *); /* Window library definitions */ #define NAME 0x0001 #define CLOSE 0x0002 #define CLOSER CLOSE #define FULL 0x0004 #define FULLER FULL #define MOVE 0x0008 #define MOVER MOVE #define INFO 0x0010 #define SIZE 0x0020 #define SIZER SIZE #define UPARROW 0x0040 #define DNARROW 0x0080 #define VSLIDE 0x0100 #define LFARROW 0x0200 #define RTARROW 0x0400 #define HSLIDE 0x0800 #define WF_KIND 1 #define WF_NAME 2 #define WF_INFO 3 #define WF_WXYWH 4 #define WF_WORKXYWH WF_WXYWH #define WF_CXYWH 5 #define WF_CURRXYWH WF_CXYWH #define WF_PXYWH 6 #define WF_PREVXYWH WF_PXYWH #define WF_FXYWH 7 #define WF_FULLXYWH WF_FXYWH #define WF_HSLIDE 8 #define WF_VSLIDE 9 #define WF_TOP 10 #define WF_FIRSTXYWH 11 #define WF_NEXTXYWH 12 #define WF_IGNORE 13 #define WF_NEWDESK 14 #define WF_HSLSIZE 15 #define WF_HSLSIZ WF_HSLSIZE #define WF_VSLSIZE 16 #define WF_VSLSIZ WF_VSLSIZE #define WF_SCREEN 17 #define WF_COLOR 18 #define WF_DCOLOR 19 #define END_UPDATE 0 #define BEG_UPDATE 1 #define END_MCTRL 2 #define BEG_MCTRL 3 #define WC_BORDER 0 #define WC_WORK 1 #define DESK 0 #define W_BOX 0 #define W_TITLE 1 #define W_CLOSER 2 #define W_NAME 3 #define W_FULLER 4 #define W_INFO 5 #define W_DATA 6 #define W_WORK 7 #define W_SIZER 8 #define W_VBAR 9 #define W_UPARROW 10 #define W_DNARROW 11 #define W_VSLlDE 12 #define W_VELEV 13 #define W_HBAR 14 #define W_LFARROW 15 #define W_RTARROW 16 #define W_HSLIDE 17 #define W_HELEV 18 short wind_create(short,short,short,short,short); short wind_open(short,short,short,short,short); short wind_close(short); short wind_delete(short); #define wind_close(a) (_AESintin[0]=a,_AESif(368)) #define wind_delete(a) (_AESintin[0]=a,_AESif(372)) short wind_get(short,short,short *,short *,short *,short *); short wind_set(short,short,...); short wind_find(short,short); short wind_update(short); #define wind_update(a) (_AESintin[0]=a,_AESif(388)) short wind_calc(short,short,short,short,short,short,short *,short *,short *,short *); short wind_new(void); #define wind_new() _AESif(396) /* HiSoft extras */ short wind_newdesk(OBJECT *,short); short wind_info(short,const char *); short wind_title(short,const char *); short wind_redraw(short,GRECT *,short (*)(short,GRECT *)); /* Resource library definitions */ #define R_TREE 0 #define R_OBJECT 1 #define R_TEDINFO 2 #define R_ICONBLK 3 #define R_BITBLK 4 #define R_STRING 5 /* gets pointer to free strings */ #define R_IMAGEDATA 6 /* gets pointer to free images */ #define R_OBSPEC 7 #define R_TEPTEXT 8 /* sub ptrs in TEDINFO */ #define R_TEPTMPLT 9 #define R_TEPVALID 10 #define R_IBPMASK 11 /* sub ptrs in ICONBLK */ #define R_IBPDATA 12 #define R_IBPTEXT 13 #define R_BIPDATA 14 /* sub ptrs in BITBLK */ #define R_FRSTR 15 /* gets addr of ptr to free strings */ #define R_FRIMG 16 /* gets addr of ptr to free images */ typedef struct { short rsh_vrsn; /* RCS version no. */ unsigned short rsh_object; /* offset to object[] */ unsigned short rsh_tedinfo; /* offset to tedinfo[] */ unsigned short rsh_iconblk; /* offset to iconblk[] */ unsigned short rsh_bitblk; /* offset to bitblk[] */ unsigned short rsh_frstr; /* offset to free string index */ unsigned short rsh_string; /* offset to first string */ unsigned short rsh_imdata; /* offset to image data */ unsigned short rsh_frimg; /* offset to free image index */ unsigned short rsh_trindex; /* offset to object tree index */ short rsh_nobs; /* number of objects */ short rsh_ntree; /* number of trees */ short rsh_nted; /* number of tedinfos */ short rsh_nib; /* number of icon blocks */ short rsh_nbb; /* number of blt blocks */ short rsh_nstring; /* number of free strings */ short rsh_nimages; /* number of free images */ unsigned short rsh_rssize; /* total bytes in resource */ } RSHDR; short rsrc_load(const char *); short rsrc_free(void); #define rsrc_load(a) (_AESaddrin[0]=(void *)(a),_AESif(400)) #define rsrc_free() _AESif(404) short rsrc_gaddr(short,short,void *); short rsrc_saddr(short,short,void *); short rsrc_obfix(OBJECT *,short); /* Shell library definitions */ short shel_read(char *,char *); short shel_write(short,short,short,const char *,const char *); short shel_get(char *,short); short shel_put(const char *,short); short shel_find(char *); #define shel_find(a) (_AESaddrin[0]=a,_AESif(456)) short shel_envrn(char **, const char *); /* Rectangle manipulation definitions */ void rc_constrain(const GRECT *,GRECT *); void rc_copy(const GRECT *,GRECT *); short rc_equal(const GRECT *,const GRECT *); /* short __builtin_memcmp(const void *, const void *, unsigned long); */ #define rc_equal(p1,p2) (!__builtin_memcmp(p1,p2,sizeof(GRECT))) short rc_intersect(const GRECT *,GRECT *); short rc_inside(short,short,const GRECT *); void rc_union(const GRECT *,GRECT *); void rc_center(const GRECT *,GRECT *); /* Macro for Lattice 3 compatability */ #ifdef _SHORTINT #define ADDR(a) (a) #else #define ADDR(a) ((long)(a)>>16),((long)(a)) #endif /* Useful AES functions */ #ifndef min short min(short,short); short __builtin_min(short,short); #define min(a,b) __builtin_min(a,b) #endif #ifndef max short max(short,short); short __builtin_max(short,short); #define max(a,b) __builtin_max(a,b) #endif unsigned short umul_div(unsigned short,unsigned short,unsigned short); #pragma inline d0=umul_div(d0,d1,d2) {"c0c180c2";} /* macros to pass parameters */ #ifndef PTRS #define PTRS(r) (r)->g_x, (r)->g_y, (r)->g_w, (r)->g_h #endif #ifndef ELTS #define ELTS(r) (r).g_x, (r).g_y, (r).g_w, (r).g_h #endif #ifndef NULL #define NULL ((void *)0) #endif #endif AUF_AB.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O AUF_AB.C (AUF_AB.H,AUF_AB.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB DEPEND.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O DEPEND.C (DEPEND.H,DEPEND.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB _vq_extnd_v_opnvwk_graf_handle_terminate_initializemenu.c_menu_tnormal_Act_restore_Act_save_objc_find_Ame_key_Ame_drop_Ame_rootmemory.c_ERR_MEMORY_malloc_freeutil.c_fsel_exinput_fsel_input_graf_dragbox_form_center_graf_watchbox_form_button_strcat_strncat_array2xywh_xywh2array_fitinmain.c__AESglobal_ACSdescr_eventhandler_ERR_MESS_main_get_acsblk_acs_callevent.c_evnt_timer_Adr_find_wind_finddrag.c_graf_rubberbox_yline2_xline2_yline_xlineD:\ACS.LC\LIB\ACCGEMDSTEXT__pbaseV !)X5a]?LWbny #-8AKT_kw (4@KX`ny "-:FTbn{#-:DNW&`ht `KKTMY_DESK.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -q- -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O DESK.C (DESK.H,DESK.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB !){" include25100322DIGI_UHR.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O DIGI_UHR.C (DIGI_UHR.H,DIGI_UHR.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB 8`r/<<`h/<@`^/<D`T/<H`J/<L`@/<P`6/<T`,/<X`"/<\`/<``/<d`/<h`/<l`/<p`/<t`/<x`/<|`/<`/<`/<`/<`/<`/<`/<`/<`x/<`n/<`d/<`Z/<`P/<`F/<`FɇO^٫gɡG4Z5k"EPDLfr)cb PwvsQDxwaoqyއ9AECq+O\ᄎ(0!.Ota !&9nB4GDŎ8̨y14)\ 0|I2Yfxw1$`ʀdyt&ÝE}VNPҙ28m&h^N&aW4(c $i.dqvcށg_G1QG:Q  USLIDER.PRG .C [-b0 -b4 -r6 -v -w -ca -cf -ci -cs -d0 -m0 -rs -ct -q- -cg -ck -cr -fm -j*w] .S [-m0] .L [TTLOAD NODEBUG VERBOSE] = CSNBAUT.O USLIDER.C (USLIDER.H,USLIDER.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB >S! D1wEDN"P*0J_ !A@8<cCGc/(qSD> 1.9*` ~Cd $x"s0!K~ gA0r@ `@ /\` A\$ ȑ,af8`@"LlA z$*\kH qw|IL _u q< P` IYK ` Z*d @*6Ad/<|`4NVH*o>// . U@g@ g`"/ NXON`Hy\N XO`p`pL N^NuBaXOpNuNVH*n&n -n nHJgDp%f.fR`$ M/ /Hn/.N O-@g-@`HUO/ ?NPO`L(N^NuH>/*o&MRS kR L(NuNV/ *nBn-MAHn/. Hn/N nB0.*nN^NuJjDJjDaDNuaDDNuJjDaDNu/HA4fH@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁr2HCH@A&$NuH0$&HBHgHCHgCHBBBЂL Nu2H@`L0/ 2/`QQ /NuL / d2H@`!QQ /NuL/pr +g -f0m n 4ABA@`$0S@JjDA2Nu0123456789abcdefp0/` / oC2Af "XᲉfQАNup0/` / oNV"O"AA0f fQАN^Nup0/` / oNV"Or NA0Jf fQАN^NuH*o &MJgHUO?NXORK` L(Nu/>/Ag @ ` .NuNVH'*n (n&n~|zp| r=A=|A@@=A=A-H nJg<H@ gW@gQ@gU@gW@g` ~`|`z`|`|0R`p* nf"UT0=@l ~=@R`Hn/NPO n-H nr.fBRp* nf UT=PR`&Hn/NPO=@f=|` n-H nH@Lg@gY@g`|R` |R nH@-HAPg(QAg6A gjSAgb[Ag^[Ag"SAgSAgWAg|UAgFWAg`R.rf UX"P2H"`Uf UX"P02` UX"P2 .`.HS@gS@g ` UX-P` UT0H-@` UT0H-@ .Jj =|-D`Jg=|+` Jg=| /./.NPO=@JnfJf .`"0.J@jr=A0.2.@Ho6 n"HH/// NO 0.Hr0 n`Sd0.=@nS@f: n.f,Jnf$B`.HS@gS@g` UX-P`B UTp0-@`2 UTp0-@`".HS@gS@g ` UX-P` UTp0-@` UTp0-@/./.NhPO=@J.gJ@g r0 nԲg2.@nR@=@`0.J@j=||.HS@gS@g ` UX-P` UTp0-@` UTp0-@JfB././.N4PO=@.fRHnNXO`B UX-PJfAl-H nJfS =@2.JAk@o=@2.4.Alt=B`nAl @n=@Jg2Snm nHUO/ ?-HNPO`Snm@UO/ p ?NPO`SnmUO/ p ?NPO`Snm nHUO/ ?-HNPO` .`=| UT0@B.`p`JngSnJ.g.rxgrXfUn0.2.@lr=A`nA-HJgvJng UO/ ?.NPOJ.g*.rxgrXfUO/ p0?N.H.?NO Snm nHUO/ ?-HNPO`SnmUO/ p ?NPO`p .gFJngUO/ ?.NPOBnJ.g*.rxgrXfUO/ p0?N.H.?NO Snm.HUO/ ?NPO`Jng UO/ ?.NPOJ.g*.rxgrXfUO/ p0?N.H.?NO Snm nHUO/ ?-HNPO` .L8N^Nu TASTENKODE TASTENKODEOKSCAN:Zeigt den SCAN- und ACSII-Code an. Ein weiteres ACS 2.00 Modul.ASCII:---Informationq )x!)!x!$p$88$88$8$8$p$$$$$ @?Z 0H  R       ^    A j R @R :  zRtd "'f|  %3d$%02X%3d$%02X ((((( H ((((( H 00J    x<hv\@FPĒ .&00(6  pb_y + 1; if (pb-> pb_currstate & SELECTED) { /* angewhlt */ vsl_color (vdi_handle, col2); } else { vsl_color (vdi_handle, col1); }; v_pline (vdi_handle, 3, pxy2); pxy2 [0] ++; pxy2 [1] --; pxy2 [2] --; pxy2 [3] --; pxy2 [4] --; pxy2 [5] ++; v_pline (vdi_handle, 3, pxy2); vs_clip (vdi_handle, FALSE, pxy); /* klippen ausschalten */ return (pb-> pb_currstate & ~(SELECTED | OUTLINEDVIEWKEY.AM .C [-b0 -b4 -mc -r0 -r6 -v -w -cu -d0 -m0 -rs -fm -j*w] .S [-m0] = acs_load.O VIEWKEY.C (VIEWKEY.H) LCSNB.LIB OSE] = CSNBAUT.O SLID.C (SLID.H,SLID.AH) SCHIEBER.C (SLID.H,SLIDER.H,SLIDER.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB ^V"eɕwS~E B :Wlco)c0z!B"90~Dyx0K.(dt(p0 G". HL6+z  @hD# '1%D0uMc"{j0|m`' ppup k *5" h1_#sf @t w#Bd(T0[ I#`F/<` redraw } Procedure Awi_redraw (w: AwindowPtr; { redraw routine } limit: AxywhPtr); external; Procedure Awi_arrowed (w: AwindowPtr; { arrows } which: Integer); external; Procedure Awi_hslid (w: AwindowPtr; { horizontal slider } pos: Integer); external; Procedure Awi_vslid (w: AwindowPtr; { vertical slider } pos: Integer); external; { * Events } Procedure Aev_quit; external; { Next eventloop will terminate } Procedure Aev_mess; external; { Accept and handle messages eg redraw } Procedure Aev_unhidepointer; external; { unhides hidden pointer } { * Mousehandling } Procedure Amo_new (mouse: AmousePtr); external; { set new mouse } Procedure Amo_busy; external; { set busy indicator } Procedure Amo_unbusy; external; { remove busy indicator } Procedure Amo_hide; external; { hide mouse } Procedure Amo_show; external; { unhide mouse } { * Objecthandling } Function Aob_create ( { creates a copy of parent } parent: ACSTreePtr): ACSTreePtr; external; Procedure Aob_delete (ob: ACSTreePtr); external;{ frees ob generated by Aob_create } Procedure Aob_fix (ob: ACSTreePtr); external; { fixes ob } Procedure Aob_offset (redraw: AxywhPtr; { calculate redraw rectangle for ob } ob: ACSTreePtr; entry: Integer); external; Function Aob_save (rect: AxywhPtr): MFDBPtr; external; { save rectangle of desktop } Procedure Aob_restore (save: MFDBPtr; { restore desktop previously save with Aob_save } rect: AxywhPtr); external; Function Aob_watch (w: AwindowPtr; { watched ob, select if pointer upon obnr } obnr: Integer): Boolean; external; { returns TRUE if button was release upon obnr } Function Aob_findflag (ob: ACSTreePtr; { find obnr for which flagmask becomes true, obnr is start ob } obnr: Integer; flag: Integer): Integer; external; Function Aob_up (ob: ACSTreePtr; obnr: Integer): Integer; external; { find parent objectnr, returns -1 on top level } Procedure Ame_namefix (menu: ACSTreePtr); external; { fixes tree on different length of first title (name) } Function Ame_popup (w: AwindowPtr; { pop up a popup menu, x/y determs upper left edge } popup: ACSTreePtr;x: Integer; y: Integer): Integer; external; { returns selected Obnr, If a callback is defined it will be called } Function Ame_strpopup (w: AwindowPtr; { pop up a popup menu, x/y determs upper left edge } popup, chk: Pointer;x: Integer; y: Integer): Pointer; external; { * Backplane Support } Function Abp_create (w: Integer; h: Integer): MFDBPtr; external; { Create Backplane with width w and height h } Procedure Abp_delete (bp: MFDBPtr); external; { free Backplane } Procedure Abp_start (bp: MFDBPtr); external; { start writing on backplane (all vdi and aes calls) } Procedure Abp_end; external; { stop writing on backplane, resume to screen } { * Drag support functions } Procedure Adr_box (x: Integer; y: Integer); external; { start drawing a box which select intersected objects } Procedure Adr_drag (x: Integer; y: Integer); external; { drag ob list } Procedure Adr_start; external; { begin reading select with Adr_next } Function Adr_next: Integer; external; { returns next obnr from list } Procedure Adr_add (w: AwindowPtr; { add ob in Aselect list } obnr: Integer); external; Procedure Adr_del (w: AwindowPtr; { delete ob from Aselect list, did not update on screen ! } obnr: Integer); external; Procedure Adr_unselect; external; { unselect all ob in list, update screen ! } { * String support } Function Ast_create (parent: Pointer): Pointer; external; { create a copy of parent string } Procedure Ast_delete (str: Pointer); external; { release this copy } { * ICON, Image Support } Function Aic_create { create a copy of icon, but not image part ! } (icon: ICONBLKPtr):ICONBLKPtr; external; Procedure Aic_delete (icon: ICONBLKPTR); external; { release this copy } Function Aim_create { create a bitblk copy, but not image } (bitblk: BITBLKPtr): BITBLKPtr; external; Procedure Aim_delete (bitblk: BITBLKPtr); external; { release copy } { * USER defined Objects } Function Aus_create { create a copy } (user: USERBLKPtr): USERBLKPtr; external; Procedure Aus_delete (user: USERBLKPtr); external; { release this copy } { * TEDINFO Support } Function Ate_create { create a copy } (tedi: TEDINFOPtr): TEDINFOPtr; external; Procedure Ate_delete (tedi: TEDINFOPtr); external; { release this copy } { * Xtra Functions } Function Ax_malloc (size: LongInt): Pointer; external; { ACS Malloc can be overwritten if linked before library } Procedure Ax_free (memory: Pointer); external; { Mark memory as free } Procedure Ax_ifree (memory: Pointer); external; { give memory immediate free (be very carefully) } { * Dummy Routines } Procedure A_nokey (w: AwindowPtr; { Zero Routine } kstate: Integer; key: Integer); external; { * Utilities } Procedure Aob_alias; external; { Alias ob, number in userp1 } Function A_fileselect (title, path, ext: Pointer): Pointer; external; { Fileselector } Function A_dialog (dia: ACSTreePtr): Integer; external; { Draw a dialogbox near the pointer, handle draw and redraw } { returns buttonnumber } Function alert_str { display an alert box with one string parameter } (alert: Pointer; { alert must have the form [X][...%s....][Y] } para: Pointer): Integer; external; Procedure intersect (toa, froma: AxywhPtr); external; { * Predefined "Userdefined Objects" } function A_checkbox( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { checkboxes, parm simular to ob_spec for boxes ! } function A_radiobutton( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { rounded selectable elements, parm simular to ob_spec for boxes ! } function A_innerframe( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { draws a frames half a character inside ! } function A_pattern( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { draws general patterns } function A_arrows( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { draws arrows } function A_3Dbutton ( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { draws 3D Button } function A_cycle ( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; function A_picture ( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; function A_ftext ( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; function A_select( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { select in a frame instead of reverse } function Auo_string (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; function Auo_ftext (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; function Auo_picture (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; function Auo_cycle (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; Procedure Aus_cycle; external; Function Ash_prog (path, command, env: Pointer): LongInt; external; Function Ash_module (path: Pointer): Integer; external; { ACSPLUS } Function A_editor( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { checkboxes, parm simular to ob_spec for boxes ! } function A_slider( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { rounded selectable elements, parm simular to ob_spec for boxes ! } function A_wislider( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer; external; { draws a frames half a character inside ! } function Auo_editor (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; function Auo_slider (entry: ACSOBJECTPtr; task: Integer; in_out: Pointer) : Boolean; external; Procedure Aus_editor; external; Procedure Aus_slider; external; Procedure Auok_editor (entry: ACSOBJECTPtr; kstate, key: Integer); external; Procedure Awd_quit; External; Procedure Awd_open; External; Procedure Awd_close; External; Procedure Awd_delete; External; Procedure Awd_info; External; Procedure Awd_hor; External; Procedure Awd_list; External; Procedure Awd_ver; External; Procedure Awd_behaviour; External; Procedure Awd_module; External; Function get_desktop: AwindowPtr; External; Procedure wputs (text: Pointer; wi: AwindowPtr); External; Procedure wvprintf (wi: AwindowPtr; format: Pointer; arglist: Pointer); External; { Procedure wprintf (wi: AwindowPtr, format: Pointer, ... ); Variable Parameter kennt Pascal NICHT } Function get_protocol: AwindowPtr; external; Procedure Aed_wrap; External; Procedure Aed_toclip; External; Procedure Aed_fromclip; External; Procedure Aed_copy; External; Procedure Aed_cut; External; Procedure Aed_cutline; External; Procedure Aed_find; External; Procedure Aed_findnext; External; Procedure Aed_gotoline; External; Procedure Aed_info; External; Procedure Aed_open; External; Procedure Aed_merge; External; Procedure Aed_paste; External; Procedure Aed_quit; External; Procedure Aed_replace; External; Procedure Aed_replacenext; External; Procedure Aed_save; External; Procedure Aed_saveas; External; Procedure Aed_font; External; Procedure Aed_option; External; Procedure Aed_undo; External; Function get_editor: AwindowPtr; external; Procedure w_pline (wi: AwindowPtr; count: Integer; var pxy: ptsin_Array); External; Procedure w_pmarker (wi: AwindowPtr; count: Integer; var pxy: ptsin_Array); External; Procedure w_gtext (wi: AwindowPtr; x: Integer; y: Integer; strng: Pointer); External; Procedure w_fillarea (wi: AwindowPtr; count: Integer; var pxy: ptsin_Array); External; Procedure w_contourfill (wi: AwindowPtr; x: Integer; y: Integer; index: Integer); External; Procedure wr_recfl (wi: AwindowPtr; var pxy: Array_4); External; Procedure w_bar (wi: AwindowPtr; var pxy: Array_4); External; Procedure w_arc (wi: AwindowPtr; x: Integer; y: Integer; rad: Integer; begang: Integer; endang: Integer); External; Procedure w_pieslice (wi: AwindowPtr; x: Integer; y: Integer; rad: Integer; begang: Integer; endang: Integer); External; Procedure w_circle (wi: AwindowPtr; x: Integer; y: Integer; rad: Integer); External; Procedure w_ellipse (wi: AwindowPtr; x: Integer; y: Integer; xrad: Integer; yrad: Integer); External; Procedure w_ellarc (wi: AwindowPtr; x: Integer; y: Integer; xrad: Integer; yrad: Integer; begang: Integer; endang: Integer); External; Procedure w_ellpie (wi: AwindowPtr; x: Integer; y: Integer; xrad: Integer; yrad: Integer; begang: Integer; endang: Integer); External; Procedure w_rbox (wi: AwindowPtr; var pxy: Array_4); External; Procedure w_rfbox (wi: AwindowPtr; var pxy: Array_4); External; Procedure w_justified (wi: AwindowPtr; x: Integer; y: Integer; strng: Pointer; length: Integer; word_space: Integer; char_space: Integer); External; Procedure w_draw (wi: AwindowPtr; x1: Integer; y1: Integer; x2: Integer; y2: Integer); External; Procedure w_update (wi: AwindowPtr); External; Procedure w_clr (wi: AwindowPtr); External; Procedure w_inv (wi: AwindowPtr); External; Function get_plotter: AwindowPtr; external; Function A_fontsel (var fontid: Integer; var height: Integer; prop: Integer): Integer; External; Procedure read_multiline (dest: Pointer; len: Integer; from: Pointer; lines: Integer); External; Procedure write_multiline (dest: Pointer; len: Integer; from: Pointer;lines: Integer); External; Procedure start_acs (ini: Aretint; descr: AdescrPtr); implementation var ACSdescr: Adescr; Errno: Integer; _baspag: PDPtr; _app: Integer; init_call: Aretint; Function gl_apid; Begin gl_apid := ACSBlk^. gl_apid; End; Function phys_handle; Begin phys_handle := ACSBlk^. phys_handle; End; Function gl_wattr; Begin gl_wattr := ACSBlk^. gl_wattr; End; Function gl_hattr; Begin gl_hattr := ACSBlk^. gl_hattr; End; Function desk; Begin desk := @ACSBlk^. desk; End; { VDI } Function vdi_handle; Begin vdi_handle := ACSBlk^. vdi_handle; End; Function gl_wbox; Begin gl_wbox := ACSBlk^. gl_wbox; End; Function gl_hbox; Begin gl_hbox := ACSBlk^. gl_hbox; End; Function gl_wchar; Begin gl_wchar := ACSBlk^. gl_wchar; End; Function gl_hchar; Begin gl_hchar := ACSBlk^. gl_hchar; End; Function ncolors; Begin ncolors := ACSBlk^. ncolors; End; Function nplanes; Begin nplanes:= ACSBlk^. nplanes; End; { Pathes } Function appname; Begin appname := @ACSBlk^. appname; End; Function apppath; Begin apppath := @ACSBlk^. apppath; End; Function apppara; Begin apppara := @ACSBlk^. apppara; End; Function appfrom; Begin appfrom := @ACSBlk^. appfrom; End; Function basename; Begin basename := @ACSBlk^. basename; End; { others } Function ev_mtcount; Begin ev_mtcount := ACSBlk^. ev_mtcount; End; Function application; Begin application := ACSBlk^. application; End; Function multitask; Begin multitask := ACSBlk^. multitask; End; Function appexit; Begin appexit := ACSBlk^. appexit; End; Function description; Begin description := ACSBlk^. description; End; Function Aselect; Begin Aselect := @ACSBlk^. Aselect; End; Function ev_window; Begin ev_window := ACSBlk^. ev_window; End; Function ev_object; Begin ev_object := ACSBlk^. ev_object; End; Function ev_obnr; Begin ev_obnr := ACSBlk^. ev_obnr; End; Function ev_mmox; Begin ev_mmox := ACSBlk^. ev_mmox; End; Function ev_mmoy; Begin ev_mmoy := ACSBlk^. ev_mmoy; End; Function ev_mmokstate; Begin ev_mmokstate := ACSBlk^. ev_mmokstate; End; Function dia_abort; Begin dia_abort := ACSBlk^. dia_abort; End; Function screenMFDB; Begin screenMFDB := @ACSBlk^. screenMFDB; End; Procedure acs_call (argc: Integer; argv, env: Pointer); external; Function get_acsblk: AblkPtr; external; Function ACSinit: Integer; begin ACSinit := init_call; end; Procedure dummy; begin; end; {$L ppacs.lib } Procedure start_acs (ini: Aretint; descr: AdescrPtr); begin init_call := ini; ACSblk^. description := descr; if (descr^. root = NIL) then begin descr^. root := get_desktop; end; acs_call (0, NIL, NIL); end; begin ACSblk := get_acsblk; _baspag := BasePage; _app := Integer (AppFlag); end. R.H,USER.AH) ACS.LIB LCGSNB.LIB LCSNB.LIB IB KΈbv۹wI"%p(f04;vRokT|(^@>FɇO^٫gɡG4Z5k"EPDLfr)cb PwvsQDxwaoqyއ9AECq+O\ᄎ(0!.Ota !&9nB4GDŎ8̨y14)\ 0|I2Yfxw1$`ʀdyt&ÝE}VNPҙ28m&h^N&aW4(c $i.dqvcށg_G1QG:Q  N mp) x (( hl0(A`,H|fA<  @## #/| yN y yN!|NuH"y y Jxg?/Hy@N y LNsHy/<!NMP#Nu/9/<!NMPNuH0QO8:6E Rh o`GpCg Sg062< R0(N` SUUg6UU2?E?C?CAr"R0)NPOL 8NuH0QO8:6E RhodG0@|g Sg062< R0(N` SUUg6UU2Ar"R0)NPOL 8NuH0QO8:6E Rh o`GpCg SUUg06UU2?E?C?CAr"R0)NPOL 8NuH0QO8:6E RhodG0@|g SUUg06UU2Ar"R0)NPOL 8NuH6YO y"h@&iBCKE`*|l00HЀ y"hT81HW"M K0NXO y"h@0)4U2)6W0H$ԂԀ s(f23(|g s( ,P`2H ЀЁ,s 0n2I54n50nnS@54nnSB5 0n54n50nn S@5 5`H0H5520H$ԂԀs(SA4J5 24H ЀЂsSA0H5BrRC yhFmXOLlNuH(O?@?AEr R0(Nr R0(NBBBA R0(Nr R0(N R>?h 0(h S@?@2( hSA?AA"R0)rN0<NIBC9C`8|l:0H tf:/t/t8/t2/t ?A Rh l~h Rh lxh 42/ 0a420a42/0/ a4/ 2/0a42/ 0a420a4/ 20a4/2/ 0a`Z:/0Ht/t8/t Rh l~h 420a420a420a420aRC RhFm‘0<NABA"R0)NBlOLNu yBhHNuA"P0)HiFmpNu"P0)HRiHHЀ"P"iT01NuH0UO$H6G S@g N S!J@p4H"ҁ҂ jp fN"S0)DiFoBr0H$ԂԀ犂p( "jf J0N S0(FRhFHЀ S"hT3>Cp J&jNTOL NuHCp J*jN` SCTLJCn\TOL<NuH0E R&h@0(FoPBC`40HЀ R"hT81RC4H ЀЂ k20 |"kf K0N RhFmBhFp K$kNL NuH8$H6:8(IH$ԂԀ&jk0kS@lmplnhk0kS@QmXlnR2<kfHtk f@0+| g0a`.<+JFo&"L420 Ja2H ЀЁ j<0FfLxNuH8O86N:N$H gGp Shffa S h?l0lS@?@2,lSA?AC4*62*4 JB@a S h2H ЀЁ82DfJGk0`0LNuH?|?h0(h S@?@?h 2( h SA?A 2|?I ?I?I?I?I?I?I?IC$k KpNaB&0/VHH@?@ 2/THHA?A?oV:K8:T y>(fpGg|G0@?w 4/H"ҁ҂ҁ y h/2pGg|G0@2/w g(?w 4/H"ҁ҂ҁ y h?j ?j ?jN*H0| |(b4@0;NR(((((((((dr~6666(((((( ((((((((2*0*N`C K(kjN` K"knN`pkTg K"krN`p K(kN` K"kvN`0* K"kzN`z0* K"k~N`j0* K"kN`\C K(kN`PC K(kN`Dp K(kN`6a y1|~`$ g MN` Ma` J"y"iNNPOL<NuHaE R2(d0(bN6N&H g"R8)dk6JDj(r iO$H(IG S!J\K 0nr JB@N:`:BT0nBUvM `D0g2@g8BUt"NBA JNHWHo SHhfHoHhdBgBgBgBgBgBgBgBgBgBgBgBgp?"HCb4rpNO.8r@gBD2/ S0(f JNJ@k:"Mr JN6`p Shfg2/A|f"J hXNJ@fHo"M4/20 JNXO6r 0H$ԂԀr(g0Uo:0/J@g|K4g|gF`ft"NBA0 JN2H ЀЁ r /P"oBt"NBA0 JN o`4t"NBA0 JNt"NBA0 JN`t"N2/0 JNpDg S?(d4(br JB@NTO:R@fhBU WfBC`l:* p S"hO,H$I(oHNAN6 Jp\N&Hg" f8N<A|:B@ANC JNp\ JN&HCAN"L KNKB y"h0|g| g|g`Ho&"M JNXO8`/Ho*"M JNPO8JDgv0/&gngj *:fb MNr f -.f "L MNp. MN fC MN"L MNp\ JN&H"MAN,J`A0NN NO(L|Nu0Ql00(il1i0h2iAoh00(h2)iAoh1ANu0h2iAl`0i2(h4)iBl`2)i4Qo`404(io`4)1B2@1I0h1@2(oJ@n B@1@1@Nu000iS@00)iS@0Nu01Y0PR@1@2hRA1ANu/ $H g0"y2)6f4)8g JN`N JNN$_Nu// & y2(6f4(8g N$H`N N$HN fApN` J$_&NuH8$H gBG Sp n <a(H f Ja`(B& S (R S!LNu/ / E` R ( pa R (SJn RB R&P ga$`&_$_NuH8(H$I6H"ҁҀAt hf6rh f.G0+|g $gA"P#LX"P#J\"P3C` SNLNuH $H:0*H$ԂԀ42(H"ҁ҂620*H"ҁҀ82` 2H ЀЁ622H ЀЁ82Ef0L8NuH0QO&H$I68^f2AN2H ЀЁJDgj `j C K$kjNPOL NuH6O&H$I6 Ia8r"J K0aHWHo CANPOp2/@|?@MKzBo 2H ЀЁ?r?r"J M0N0j4H"ҁ҂牑rBU0-j4H"ҁ҂牑rBm>m yhh JGo2H ЀЁ爟rU>-m yh hJGo2H ЀЁ爟rm MN/H?-?-?-4r0 JN\OpNHWHoHoHo HoBgBgBgBgBgBgBgp???/.?/2??/2C842pNO.>pN?/4/ r0 JNTO<@f|Fgؑ0<N0/ g>4H"ҁ҂r p?42 |??.?.?. J0BA4NO JFkpp4H"ҁ҂r f\"J N0Np?r0H$ԂԀ犂r( ??.?.?. J0BA4NO 2H ЀЁr ?| `Bo 0<N:JFj?/4/ r0* JNTO<J@kHWHo CANPOp2/@|?@Fg`4H"ҁ҂ 2 fL"M oN2H ЀЁ55"J K0BAa60 Ja8r"J K0a`FgpGg"M oN2H ЀЁ55NJFo6jg0jg*2*H ЀЁ爼rgN0"J KaNBA0"J KaO"LlNuH>O,H:IKHWHo"L MNPOp2/@|?@?|Bo 4H"ҁ҂<6JFkn`2H ЀЁ<6Fgp4H"ҁ҂v gغFg@2H ЀЁ462H ЀЁ爕v0H$ԂԀ26(0H$ԂԀ犓v(G0"N KN0j4H"ҁ҂牑vBS0+j4H"ҁ҂牑vBk0k yhh ?@J@o4H"ҁ҂牑vS0+k yh h?@J@o4H"ҁ҂牑vk KN/H ?+?+?+4r0 NN\OEpNHWHoHoHo HTBgBgBgBgBgBgBgp??????/0"M42pNO.?@ pN?4r0 NNTO<og 2/ gh0/H$ԂԀv( 0<Np?4/H"ҁ҂06 |??*?*?* N0/BA4NO 0<NJFkFgp4H"ҁ҂v ft"N J0N0<Np?r0H$ԂԀ犂v( ??*?*?* N0BA4NO 0<N2H ЀЁv ?| `Bo ?F0/ g4H"ҁ҂ 6 fr66C>6JGkd?4C N0rNTO@fL2H ЀЁv=Bv N0a84H"ҁ҂vJ@kvEg NN@fdJFjT2H ЀЁ>6`60 NN6?4r NNTO8J@k@f2H ЀЁ>6JGjJGoJDj po g8"K o N0O$L|NuH0O&H$I?@?AAN JN0/j82/j2HoHoC"A$NPO y0(@o2(Ao5o5oB@ Ja6NJCoN0"J KaNJCfvAN0OL NuH068N$H&j^N|f y hN` 0"K JaNr0 KNL NuH0QO$H:6&j^$ gf>?k0+j8l`0*8?@?k20ANJ@g22+H ЀЁ83?4 K0rNTO:@l"K JaPOL 8NuH0YO$H6?A&j^$ g KN>J@kt4+H"ҁ҂:32H ЀЁ<30+H$ԂԀ>3(680 KN6J@k,kf`(2H ЀЁ<32H ЀЁ>3Ffp`^GfN0* f$BA K0N0"K Jar0 KN`"r0"K Ja0"K JaBA0"K JaNB@XOL NuH $H6*"y2H ЀЁ5 622H ЀЁ820H$ԂԀ r( N*JEgRE0 y:4H"ҁ҂牚rr4H ЀЂr<*0H"ҁҀ<22H ЀЁ82Dg22H ЀЁ<22H ЀЁr0H$ԂԀr(`LxNuH8OEN R0J@k 3G RHhHh"K KNPO R1@ R1@ RHhHh Hh HhrB@NO R"R3hIHT"RCANXO R1l R1l Lr"R0)N R1l R hf1|` R hf1|r L"R0)N R1l  R1l R1l R1l R1y6 R"h igp`B@ R1@8 R2(6g"HCANJ@g R(HB("RC RANp/ RAN(H gC RANB"RC RANp\ RAN(H f6"R ):fC RA N RB(`&"RC RA N`RL"L RA NBp. RAN(H g\B`X R h j0N$_NuSyf09f y09NNu09RyJ@f 0<NNuSyf0<N y09NNu?/ 69By0!y y$h j0N$_NuH>UO(Hv$Hּp JEhg N&H g"L NBW$K*J0*|f2* | f*H|| bB4; N T*xxfx j N*H%H `^ j N(H*L%M ,g C,@ JpN Wf6`8 j N*H%H `" j N*H%H ` j N*H%H f`p JEhg. KTOL|NuH<$H g&J0+|f2+ | f+H|| bnB4; N N$dBdBZB k N`@(k ,g K*@pN LN`" k N` k N` k Np KGhg\ JNL<Nu/ / &Hp"N$H g"Kp"N kN%H f` J&_$_Nu/ $H g jN JN$_Nu/ / &HpN$H f`p"K JN J&_$_NuNNu/ / &HpN$H g>"KpN SN$ kN%H kN%H g "*g$f` J&_$_Nu/ $H g$ jN jN RN JN$_Nu/ / &HpN$H f`p"K JN J&_$_NuNNuH0$Hg,N&R N&H f` "J KN K`AL NugNNu?/ $H0* |fj 0*|f JB@N0*|gLQ@g`j j 6(h0(h@l6jo5C6(h0(h @l6jo*5C`$ j 6(Kjo5C0*hl5hp JEhgb$_6NuH8&H$I6H"ҁҀAB@4(|| bB4; N &&N4&& ( rHD@`"h 0)D@`rprhgp2(|@gZp`V"h (QfF )r||o|")t|JAo 4(|@gRAth[BfRA4@0`pJ@jB@rh g|lp2(|@g|lpBAt h gJ@o2A`2DAA4(@64(@7B4BhA7B4BhA7B82H ЀЁ62|g"0H$ԂԀ犸r(f82(S82(k`LNuH4O$H0jjBP0*jjBjG0j Sh J@oj0*j Sh hJ@oj0?j2j|?A4*jSB?B2*0/WR@N*H gPBoBo 2/W?A tj?B0<N/ "SCjAr$S0*NXO0<N MOL,Nu/ / O$H&I f2?+?+?+??+?+4+2pNO N`0O*H&I?@ 6E 2H ЀЁI4<lfpl fJCgl@ `l plgvHoHo HoHor B@NO0- o fNrmVg4-Rg>N"Jp M,mN;R;|0-"KAaC MNrB@ MN0,| gDJCgrlgN0"K Ma`pl g M0N`0 MN`pDlfrlg|tl f K0N6H"ҁҀ83`>p4H"ҁ҂sgps g23 | M"mf0N2H ЀЁ83Dfrl 0 M"mfN`plgr4, A M"mf0NOL|NuH+k0"KAN7G0k2/koj8l oj:mJEgC JNN2H ЀЁ s *P4*j MN5@BjV#>+?k0*4k0*6k4C20 KN|f7G7oO L,NuH>O$H86&j$ gbRAf4H ЀЂ63 I 849j69j89j::* JEkK42H ЀЁ<3 >+>4k4-k0<NMHnHnHnHVr 0NO`"L NN0.gn0.mJ@jnn0.oTCf??.?.4r K0N\O`42H ЀЁ7 t???.?.?. K0r4NO HnHnHnHVr 0NO0.n`0<N j1G j1W2H ЀЁ7 OL|NuH0QO$H6rjVg"y"i\AN`0"jAN0*4W2*6oC J&jjNPOL NuH3(4H"ҁ҂ sf67H>+4H"ҁ҂23H ЀЁ2H$Ԃԁ7(?/?/?/4/r0+ KN\Ooo0/o??/?/4/r LB@N\OHoHoHo Ho r 0NO0/n 0<N j1D j1EO L`2 <2*@HNT@>` <2*BHNT@>?WKI 6+8+0/ |b@0;N 0@P`pJDg0*:k`nDg0*:k`^JDg0/k`NDg0/k`>JCg0*8k`.Cg0*8k`JCg0/k`Cg0/k0+oBkko7E0+oBkko7F0+D@2/DAAD@7@4+DB0/D@@DB7BSof JN?W20 JNHTHU"L LNPOpUf0/Wg JNOL8+:*8<*:2jkp2)jkpil5i8pil5i:p2ij8JAokp2)ij:JAokpJ@g(j^ g4,H"ҁ҂64`BCHj*Hj(0*:C??*82*6C?C&A$4*42*"B@NO0+D@2*H|AD@7@2+DA4*HBBDA7A JN0+Wfkf j8fj:g>jV?**?*(?*&?*$r0* NPONpjVg C$ J&jjNTOLxNuH0&H$Irp IN62<@ JN8J@j2<@ JpN8JDoRCgNJCk2H ЀЁr2H ЀЁr K0a4H ЀЂ22 K"kf0Np`B@L NuHO$H6* JCk8"ji:iG0<jTfxj8lp2*8DAAofj:l`4*:DBBoVHkHkHkHS0r NO0+gj2+gbHoHoHo Ho 0r NO0/f2/gC4 J(jjN`(I"TPI KNC4 KN0+g2+gK0;@:2+;A ;A0kS@;@ ;@2+kSA;A;AJDg(JDoUm pm 67D`mm0D@7@JEg,JEommpm7@7E`mm 0D@7@0mnP2-mnF M"T0)BAN0<N THhj"HCj Mr,T0.NXO0<N"K J(jjNO L|8Nu09RyJ@fBN#NA"P33333NuH6:x@D0 yHЀ2HNмN g0C 1C1E1DBh "y1i BA1A1A1AL8NuNNuNu/ / $HG0+faNN##!|p"| RNA0*@ "P3@"y3@"P3j"P3jpj"P3@7@rj"P3A7A K"y0)rN&_$_Nu/ / EA0"y3@"P3@"P3j"P3jG0*"P3@7@2*"P3A7Ap"| jN j!j  Kr"y0)NN&_$_NuH|lgn`|dgn4|gn|gW@gv|gt`z|ag\S@gXS@gT`h|e|b^@0;N>>>>>>>|m| b<@0;N `` `RH`HNuH>O><$H?BI0<ogNx",fHx"| |NXO)P ,g2/| @0`B<amJ<znD`/BD<am <znv`(<Am<Znxv `Jo< l x<`<@H JN&HH JN g"gd&HK ggB+BA U0(NC J,U0.N:/WTBg8 J42"U0)N2 U0(NC J,U0.N6/W`2 U0(NBC|fSC L42C"U0)NBA U0(N+g * g @N%H * fdAN%H `R K%P0(H%@`@ j N`4 j N KN%H `&j gr0* K"kfN`B@`p&_$_NuH8Gj `:*?j>* 8* ofԺ|fpjgrªgG`G`pgG`GB@?@ ?@ ?|?| ?j pD?@rj ?At D?B#Hy THhjCA*T0-rNPO#Hy THhjCAr&T0+NPO`BvEC|lv|oF|l|0@@2/AA4/g zjfr T0(NBA T0(Nr T0(Nr T0(N??42 T0(NXOpg^r T0(Nr T0(Nr T0(NBBBA T0(N?<BgpF?rC?4 T0(2NPOpjgHr T0(Nr T0(NBA T0(NpF?rC?4 T0(2NXOABA"T0)NpjO&L>O$onG:I0*f2*g867j0*jS@7@2*jSA7A K"T0)rN` KBA"T0)N T0(@j 62(Aj 7A4jSBh7B0+jS@h7@.6*4*CJCfn0(rN0/H|fBA T0(N`Br T0(N0/H|_@fr T0(N`2/I| T0(Nro T0(NBA T0(N0H@W@f,RSRkSkSk K"T0)NSSSkRkRk` K"T0)Nr T0(Nr T0(N2/p i| T0(NBBBA T0(NM&0H@S@g2IAUAg 4JBWBfv0H@W@fBA T0(N`2/p i| T0(N0=@=@ <2+=A=A=A0+=@=@2+=A=A N"T0)rN2/p i| T0(N0H@U@g 2IAWAfLpS=@=@ N<*oFj `^<* jo Th`J<* Th`"<*oFj `<* jo Th0* j Th@`<* Thj 4 o20apCf rjgz0H@S@gS@gS@g`TSTkUkUk`RSRkSkSkr T0(Nr T0(Nr T0(NBA T0(N K"T0)N KBA"T0)NpjOBL||NuH?>O$otG8I0*f2*g867j0*jS@7@2*jSA7A K"T0)rN` KBA"T0)N2*H ЀЁ R/HAt "oif0(|g8( `BD o h . g @N&`BC/j@ /@r||o|2/@IA|?A JAot ohgRo roBQAf4/BJ|_Bf T hlr`BA?A T:(4* @62* @7A4* j@SB7B2* j@SA7A0*4*@?@J@f$"/@¼f0(rN0/g ~pEG|E`>/BO||oBJGfBA T0(N`2|fr T0(N`r T0(N2 T0(N2 T0(NBA T0(N K"T0)NJCor`>+oRG`>koGRG4 W20a>/Bp o|PVl|k` zjDkzjDk`ZzjDk`8zjDkk`:k` 0*Bk0*Ck`0*Bkk`0*BkkJDgr T0(N`r T0(N2IA| T0(N4JB|B2IA|0A T0(Nro T0(N Kr"T0)N KBA"T0)NpjO L2* ?A?A?A0* jS@?@?@2* jSA?A?A A"T0)rN KBA"T0)NpjOLNuH?>O$o^2*H ЀЁ*R*m &m KN&0* jS@?@2*f,4*f& y?h&?h (?h *0( h?@,`?j&?j(?j*?j,po&o*po(o,0/,oo?o,0/,o(m@A&r"y0)N:* /j r y0(N"/ p| y0(NBA y0(N./ |?2 y0(N0/ |?@J@f y?hIHoHo"L L2/*y0-NPO"/ p| y0(NMHVHTHo$"L L*y0-NO 0oo?j ?jrGg4*ooRERoUoToTo0/nn>"/ t|?AJAgSAgSAgDSAgl`0.o`^pjnorGgUo"L Ltr*y0-N`D0*nn@o"L Ltr*y0-N`"L LtBA*y0-N0/n?|0H?@|o?| om*I>/Gl>p| KN,HKp gdn8g< gSMSD  g -gJDnJDo.  gf<`|D0H"K LNB4`pD@`<0H"K LNB4pǖG<`",JFo0H"K LNB4`pF@gF of&Bgr??/ L4"y0)2/ N\O` L42/"y0)NoJCoomA&BA"y0)NpjO.L|NuH0$H6&I j 2|,|bA2;N4Tt0H"¼t$(ļ!A`0H"¼$(ļ!A`0Hr€t$(ļ!A`~0Hr?€$(ļ!A`` (?@!@`J (?!@`4 (?!@`$ (?!@`"K0 JN`pL NuH8>O$o8GI0*f2*g867j0*jS@7@2*jSA7A K"T0)rN` KBA"T0)N0*2*@f0*H$ԂԀ R h *hrj 6tj 7B0* j7@2* j7A T0(rNBA T0(Nr T0(Npm g& T2(ARAkRSRkSk0(BAN`r T0(N K"T0)N6* ThCj r0(NBA T0(NHoHoCA,T2.0.NPOr T0(NCAtBA,T0.NBA T0(Npm f T2(ASAktk60(rN K"T0)Nr T0(Nr T0(Nr T0(NBBBA T0(N8* j Thph@@A42"T0)Np jg>6 2* jRA7A7A4* jRB7B7B7j Kr"T0)N grr T0(N8*H TUDJDjBD0H/ UN"d& U.B U4rj "T0)N W` U4rj "T0)N KBA"T0)NpjOL|NuH8$H&I PN(KBC`RLRCHAN gpCHN(HJCo 0H"KNB40$j LNug<]fRH |f |fRHNuRH`Nu/ / $H ja&Hf&j` Ka&H [g%K"K Ja&_$_Nu/ $HB%|aBj $_NuH8$H(I PN&&jBD [g$0H"K RNJ@f30g<|f8`RDp| KN&H f8`RK`LNu// $HvQ%|` Ja0SCJ@n$_&NuH8YO(I$h &j2|gn|b:A2;N.,| g|gSAgSAg`pN&H gBrB@N * g @N'H`AN'H +g%K Ka`8` jN`"L Ka` L'P'h7h`(`zBk . glrk gk r0+ W"W"ifNBk `H"L Ka`>"L Ka`4 kN LN'H fZAN'H`FB@`pXOLNu/ / &o $H2` |fRQ ]f *|gRQRJf$HpQ6` [fRSRJf&_$_NuH>QO/H$I?@,o48>2H$Ԃԁ(HpW8tW9B9|9|9| )| 9I9I9oBERR<`>2H ЀЁ*oRR V [f4;B;B;| vR`p;@;@;|BC V?j0*jS@?@2*jSA?A`( U>?h 0(h S@?@2( h SA?A0j l> 0/j l?j 6* jSCol?C6* jSCol?C0on 2/ooB@`RAr"U0)N8+:+pg~BA?A>tD?BrE?A<* `N>* `:?G?F 0DS@?@ 2ESA?A UHhj"KA(U0,rNXOD0* j@mE0* j@m`B@?@>6*DJCorD?A0@j ?@`pj?@?j 0/o?@ 6*EJCorE?A0@j ?@ `pj?@?j 0/ o?@ UHhj"KAr(U0,NXOABA"U0)NpjOLO$H&j 2+0+N(H gz0,HЀ2,HN&8+ : yhJEk47h 0H"NA&"L y0( KN7D `2+0+N,H f LNp`|fp=| A&"N y0( KNB@?@ ?@?@>rn?A ?Apn?@?@Hy/ "NAr*y0-NPO`^=| 0H"NC VN0D@H"N"/0H"N VB@"N"L N*y0-N NN%Lpf 'L'|B@OL|8NuH8YO(I$h 2|gnSAg"SAgvWAg`| gv|gP`p N&H g*%@B. "gtĪf"A )f JaR@ff8`` WR%h`R Ja%L`F jN Ja`4&L j !k1k`&j(S gr0+ L"lfN`B@`pXOLNuH8I0,RlJ@fEA"R"i<0 "R0) "i$HBgBgBBBA0*"NXO6|lJ@j^G8IpS|6H*t2g8$ g4pmTf, MNp M,mNBgBgBBBA0*"NXO6`SfJCk |n0`ApNpL|Nu/ B@CA2io BPJ@g`R@2I$qRP" g J$_NuH<8(HE6*`0H&r" g "L K*k0NSCJCjL<NuH8E6*`R0H&r" gDt kVg<kV4+ k$kV K"kNpkVgC$ K(kN`kVNSCJCjLNuH&H <N$H <"KN *g @N%H gfN *^g0 @N%H^ f jN`> j^N j^N *Zg0 @N%HZ f jN j^N JN` *Jg @N%HJ *Ng @N%HN5|V5|X5|BCGIK`t0H"3fhko7C0H'"gtjTg"J A,A,npdN0*$ U5@$2*& U5A&0*( U5@(2** U5A* J`RC|mApNL|NuH8QO$H0* j$rjVgjV"jNJ@f Ja6J@jp`G *fAN%H5C 0HA!Ir0?A?ANp y"hr0?A?A?**?*(?*&?*$?/4/2/ 0/ NO 0N0NJCk0HABPOLNuH8$HjV"y@fBiFvd` J"jrN0* k2SCJAnJCn JaG0*Xk"gCX A(A(lpeN j^N jN jZN jJN jNNfBNBCGI`00Hf$BTf0STJ@o 0H"3g JN`RCToLNu?6( JCoNBgBgBgBgr 0NPO6NuH8O$H&jI$A,pjVg>89h9h9h0+jDf 2+jFgjV7jD7jF`$01l1l1lpjTg2 y8 y9h  y9h  y9h`0*H|2*HA4FBkk0F@kkHlHl?+?+BgC"A"2*"B@4NO0l y2(h Ao8.^ g @4(H"ҁ҂20l0,l y2( hAo9h 5kD5kF0+f2+gjVBkBk jVpjTg JN JN?,?,?,?r0* NPOpjVgPr@ y"h?|?PBo?j ?T ?l?l?lA&y0rNNpjVgjVC$ J&jjNNOLNu/ / O$H0* ojVG$67i7i7i0*gjVpjTg JN JN?+?+?+?r0* NPOpjVgLr@ y"h?PBo?j ?S?k ?k ?kA&y0rNNpjVgjVC$ J&jjNNO&_$_Nu/ $H0* o@jV5Q$5i&5i(5i*N?**?*(?*&?*$r0* NPO$_NuH>O$H?j &j(j^0*H|?@2*HA>F@k4/kFAk0kBF$ g0,H"ҁҀ<4>*$8*&6*(:**Ho Ho0+F??+BgCABB2*"B@NOo l0`0/ 6o l2`2/ :K Uh l0` U0( 6 Uhl2` U2(: Uhl0(`06 Uhl2(`2:M0.o?@2nCAl4`4nC>0.nE@l2` 2.nE8Vl0`0>nl2.`28 U0(h hS@Gl> U0( hhFDl8Ho Ho???CA42*"pNOo 0/o2/oWSAWoF?Ao 4o & g0:,H(؄؅H 2/ Uh9A8/FSD9D5o45o65o 85o :0+o o?@2+D@@l7@:+o W0+2DAAl7AHj*Hj(0/F??/2/F?C&A$4/2*"B@NO0*"|gr jTfBC4/o 8+H 눐ЄD2HN&jg5C>0/oBgBgBg?r NPO2/ H 눐Ё2+HN&jBg5CB0/oBgBgBg?rNPOOL|NuH8QO$H0*(yo`09?@G0*"|g S2(o0*H|o?o(j:,BFJEo4H"ҁ҂>4804?@>`0<4H"ҁ҂tf\6toolg0D@80oWBF2H ЀЁ爼tl<42H ЀЁ99oo?C8G2H ЀЁ:4JEnzW9ovj*pj"g Shpj"g Sh0*"| g Sh *^g @4(H"ҁ҂牖p0*H|C@d`09@jVPOLNu/ $H2UAg` Jap`B@$_Nu/ / &HE g0 y2(6f4(8g RN`N RNN$&_$_NuH8(HE R0(6f 2(8fNB LpNXO(@GJk ACS3g LN R0(6f 2(8fNp`D", ҬҬҼ LB@N R0(6f 2(8fN(k'R'| NB@LNuH?>O$oJ2*H ЀЁ R/H*h (m pl&f2(lFf 0(lHg oNpl&fv`BCpfx`BDK;j;jM0-f2-g,:;jpUmpmm Mr"V0)Nr V0(Nr V0(NBA V0(NCAtBA&V0+NHWHoCA&V2+0+NPOBA V0(Nr V0(Nr V0(NG JDg0 V:(E<*hFj RF0* 7@7@rjk`( V:(<*hFj 0* 67@rjkJCf pl&gJDg0* 67@k`0* 7@7@kr V0(N K"V0)Nr V0(N ,fr V0(N`BA V0(NJDg A4"V2)ASRA0)N`A4+2"V0)NJCf pl&gJDg0* jS@67@S`0* jS@7@7@kr V0(N K"V0)Nr V0(N ,Ьfr V0(N`BA V0(NJDg A4"V2)ASRA0)N`A4+2"V0)Nr V0(Nr V0(Nr V0(N0,(gJCf rl&gzJDg>* E67G0,(k`>* E7G7G0,(kl.JCf2JDgmn6Uo:`mn(mo;G Mr"V0)N K"V0)N0,,gJCf r l&gJDg>* jESG67G0,,S`>* jESG7G7G0,,kl0JCf4JDgUm:ml;G`mm(ml;G Mr"V0)N K"V0)NJDg0* El(67@rl*k`0* El(7@7@rl*kBA V0(N K"V0)N,gr V0(NBA V0(NJDg:AN V2(HN>,*@GAtF2G"V0)N`BAN V2(HN>*@GA4,*"ViBk2G0)NJCgp oh grj 6tj 7B 6* j7C7C8* j7D7D"V0)rNr V0(NBBBA V0(Nr V0(Nr V0(N Kr"V0)N MBA"V0)NpjOL|NuH0$H j &h Cpg Q6(8*2(AA:` Q6(8*0(H@: +2HN"N7@*@o :@CSE7C* +2HN"Ё"N7@(2k*@7A,JAk +Ыf 0+,k(Bk,7jF7jHk&L 8NuH8YO.(I$h &j 2| gPn,| bA2;Np&0|fgn.|gn|gSAg`X|dgSAg`F|ggSAgSAgUAg`(pJN&H gCpJN%K `8` KN`p "LAN0+B3`I` L'P<'h@7hD`k@&$k< g"+jB&l'C Wa +4fr`BA? +ft`BB0@gk& +48fr`BA?fp`B@2Agk&0+.k(lk&0+0k,lk &0+2k*gk&0+&|gr@k&fk&r0+D J"jfN7k(.7k,0'k47k*2'C8k&`'T'l"`(`&`'T`7T`'T `'T` + ѫ`v + `j +ѫ`` +`VB`P '@`D +g>"+jB&l'C + k""kN"HAp N`"B@`pXOLNu// &E/C JNXO J$_&NuH0:"h $i Gpg"S6)8(2)AA`"S6)8(0)H@ *2HN"N@o2CAJEjBEEl: 2HN2AHЁ2HNL 8NuH>O y2(`H ЀЁ&h\/hX/K?h`C Kp a/k o (h pl&g KaKM HU"N y0(` h\NXOp o gv`BCJCg y0("hX8)6U2(dD<` y0(@"hX8)4V2(bDHoHR"M NNPOJCgg5C>JEoBgBgBg?r 0NPO"+ 눐Ё"N&jBg5CBJEoBgBgBg?r0NPO`"+ 눐Ё"N&j@g5C@JEoBgBgBg?r0NPO(Jo"+ 눐Ё"N&`BCj + ѫ`4 + `* +ѫ` +`B` '@`B@`pXOL8NuH0&H86|m6<E2Hp JNB20 K"J f$`.< f2$ H…HBBtAB`g2SCJAf JL NuHBB6(f `&  f8:HŋHEEDBm`RBRCgBn0L8Nu//BB&f`$  f68HĉHDDC`RBg8SAJDf0(&NuH?>O oh2(H ЀЁ(P,l &n grkg LN?| pkg rkgBo oh0( ?@?@0( ?@rkJotkHB2(?A?A4(?B?B2ol?o2/ol?or ohhotho2oo?ool?@0/on 2/oo oh0(`I(89o9o9oK Lr"U0)N6+>+r U0(Np@kf\r U0(NBA U0(N2+ U0(NE HRHR"J J2+,U0.NPO2 U0(NBA U0(N"J JtBA,U0.NBA U0(N/k ,+?k  k,.2/k?Ato?B2o9I 9I`0/ooj2/ fff\0/9@ 9@2/kSA9A9A(n$ /o4+|f W$P" g*BD`  f02HHAA@`RDDof:G`zJEkgJEo2HAp NM`,< f 82GHHAAD` 2SDJAf`REgomBA4/2/"U0)Nol&0o8ln`8 L"U0)Np Whg8rhf 4+|f$0+pfR0g8fF0+|g0f" +@2H2+HNo9@8` 0/9@88f\`6 kpf0+|g +@2H2+HNo9@8 +D2H2+HNoS@9@ 9@0ln UHhj"HCj Lr $U0*NXO0/9@ 9@`<0/9@8 UHhj"HCj Lr $U0*NXO`8 L"U0)N0+oPRS0/omr0<kg."+0$+ԫ lm8/ f *+ff0+|f"+0 k,.2+B P0a?@2 W P0a?@r U0(Nr U0(N0/G ohh ?@ 2+2kh ?A"4/ kSB?B$6/"kSC?C&4+SBg SBgJSBg`:po&?@"`8r U0(NBA U0(NA "U0)N`po ?@$A "U0)N LBA"U0)Np ohhO8L|Nu// (0"(Ҩ S(o"(($ R!BJjB$(&JnJo>Joxl`tl $( ₐ`tԨ "(( Rl Jjp!@&(@"(Ҩ o"( on. (R"( l&Jjvg h!C(&Nu o ( l"(䁓"(j4B`."(Ҩm" (Ѩ ( Jjpl!@NuH0$H&" g&J` [N SJf JNL NuH0&H&(RJo N$H f` J "k,`$XJPI SJfL NuH0$H(&JoN$*(ԁ$m NJ@gp` &j,zڪ(Jo "K"ANת(`ZJjV &j,Dzڪ((Jo "C KN"B@$*( j,A(N *(jB(B@L 8NuH>O&H/I& ЩS/@$R/@ Jo NJ@f/o /(o /k('@( /R/@"/ K a/H g + kaBB o*h UN?@> o2($"k, q(0a?@.` ,k,$V" fE2/0 Ja:2 J0a8/@ UN<.HІ,0H܀pІN(H g0H"JNJDg2Hp APN"UAPNCPAPN,=FBnXMRoP'o'okk'Cz'o o ('@~'@'o0/HШ'@'C0'k42+60$"k, q(aH'@@`L,`: ,k, VN  o,"g ANR@=@`BnRl oNOL|NuH>O&H$I"* a/H g + kaBB *R/@8+2*$ k, p(0a?@2*$* k, p(0a>2/@o0?W>.` *k,,U"gl N02/a62 N0a<:CHJoH2-H*Jo.pЁN(H g~0H"NNC`A0N`*;EBmRo|'Rz *'@~'@'@4"*'A'A'j 0/H'@@'o'okk`L*`: *k, UN  o* g @NR@;@`BmRn oNO L|NuH>O$H&Ij Bo jpfp0*|gBB"*8 *0N f "+ f k"Pg: J"Ka`vpf k"Pf J"Ka`X?|'S'k (*+R"+  Ja/H g( * jaBBp"+"j,ANpЄ/@rҫ҄/A JaJ@g oN`j%Sz%k~%k%k /k pf̰f2/f J N`j *j, o PN&֫. 0/HހJoVpЇN(H g&2-o +"UN o "P +AN0/o"+ "W$+A(N`%D0%C420* LaH%@@*;GBm`Vj *j, o PN.ޫJo4pЇN(H g +"UN o "P +AN`*;GBm + o ,p NN&>/Hރ Jo6pЇN(H g "NN0/o"+ "W LN`|`20* LaH%@@"+$*j,K*;GBm|`@ "*j,$ o ,p( NN. NN(H g>*;GBmRpЫm%C4 ЫS%@0%j0%j4%o%E`j~`B "*j, UNo$  o*"g ANR@;@`BmRn"/D / Ja oNjOL|NuH<$H *gN"* *za&H g:&*" *z JaJ@f 0*|gBB"*8 *0 JN *z(j,&**j`"( g @N9@`Bl9|XMPL SJf jN%K *zR%@%j8%j%j8%j<%j%j<%jz0%j~42*60*$*0 j, p(aH%@@2*>0*$*8 j, p(aH%@D jpg "*08f *4pjg2*nABjn`.JDf*JEf& *fjfjr0 K"kfN`JDfJEg 20 JNj%jL%jPL 8NuHHoHoHo Ho 0r NO:*\(jX2H ЀЁ爙KHm"M0 LNXO o0(4U2(6m>-;jJ;jHC MN"yPI MNBFJDo&pjg0*hjG2-mAl<*0/f22/f,ml&4DBml>Fml0D@mlJDgJCgr0 o"o"ifN`, o0(4l0(6l0<N0+kn& yHhj"HCj Kr$y0*NXO?-?-?-4BA0 LN\O0<N9F9GO,LhRl0g@&jT" g ?j5|0*\ K"kfrN5o*`  j,pRlXOL 8NuH<]O$H?@6GJCfx`BDpAg$"*0Ҫ8/ J0ao**0`(**8`"4"*8 *0 Ja0 Ja*%@8%@0|I0 Ja.g캀nT8l4"*8pЇ Ja`28l4" *8 Ja`4r҅ *0 Ja4"  Ja%E0%G8`T0o4r҇ *0 Ja`40o4"*0  Ja`4"*8pЅ Ja4r҅  Ja%G0%E8m *Ъ m  Ja Jap JN *rgC jv*@N,HTHo"K LNPOpWf\OL%T%k<`@ kpf* +D@%@"+@/2+F0+ Ta %H`%T0,H%@LNu/ $H jpfBB"*(pa`BB"*8 *0 Ja0*|gj0<jg Ja$_Nu/ / $H&I0*|g6"*0f$*4f *8f "*< g|BB"*8 *0 Ja%S0%k42*60*$*0 j, p(aH%@@%k8%k <2*>0*$*8 j, p(aH%@Djt"*8 *0 Ja&_$_NuH>O&H$Ig2+|ft`BB?B0+|fr`BA>JAf"<am <zn<`<Am <Zn< JN.&+0/k4MI 0+|g`  k,/H2(o$/kx؂` o8(HĘ o*P`dgfX0g"M J NJ@g "M JNJ@f40/fJg-H NN g5xH NN fSMSJj/|SJjR`/k(R`  k,/H2(o$/*P(`|gfn0g"M J NJ@g "M JNJ@fJ0/f(Jg$-H NN g.5xH NN g()C)D Ї)@ "L Ka`(RMRfBRoPrpN kO L|Nu/ $h, ((r` tjH҂PJ$SJj"$_NuH8O$H& j,8(&P:<I`SFJFo3`H LN g`REEo3PH LN gFo /C.0H/@2H/A C Ja` rpNOLxNuH>O$H(I/j "o&i 2|bA2;N"8vB>8hRX^hx\&.8BLV^|XB6*H>^h|rJT$.7T`"+4 +0 Ka`"L Ka`k`0+| fVBT`"L Ka`k`k`k`k`k`~k`t kpf8`d Ja5kJ5kH`N + kaBB`6 Ka`,"L Ka` 8`7T2+60+$+0 k, p(aH'@@2+>0+$+8 k, p(aH'@D`"L Ka`pЫ((` +0 k,20H(` +0*k,2+B0+ Ua6H(`~ Ka`t0+|g. kpf "L Ka`V(0)k4)k8)k< `<(`2"L Ka`&'Tr'lv` +rg"+0*k, kpg kpfpmg."f.C kv,krN`7|p`7|p`7|p`7|p`Bkp`7|p`/L'TT'lX7l\`z Ka`pk k``k_`Vp kgL2<kg@ Ka`p kg.2<kf"k Ka` '@4'@<2+60+$+0 k, p(aH'@@'@D`(0` JNJ@g8` Ka` +0*k, UNBBm"L +0 Ka +0 Ka` +0*k,2-o(`l(`b2 y0(N7@`7THkHkCA2+*y0-NPO`6`'T  o'| Ja`"L Ja`'T +$o'@` Ka KN`k Ka` Ka`R0`@S0` + ѫ0`0 + 0 +0jB0`z'k(0`p'T0 +0jB0 +0(oV`'T&+ l'C +j6B`.'T +jB&+( RJkl'C` Ja`pkg Ja/L l'Hb/H /|CT/I/h p *o*m"LNCpg o *o*mN`jpkg Ja/L l'H^/H /|CT/I/h p $o$j"LNCpg o $o$jNC pd o $o$jNCp o $o$jNB@ KN`p KN`B@`pOL|NuH>O&H*,H|(g|g|g| g `x]` x)`x}`x>./FR (k,~`b(o rpN`d0,oD*TH MN,HH MN$H f"g,RRG` gd, RSG`|RPLJGn/E/F C KaOL|NuH>O/H*,BH|)g|g|g| g `x[` x(`x{`x(k C K*lpdNCp K*lNCpe K*lNJCg p K$lNXOL<Nu/ YO.$hC J0<a0< JaAXO$_Nu/ YO.$hC J0<a0< JaAXO$_NuH<*I$Hp JN&Hp JN(H f" f "J Ma`@ gdB"J Ma6 MaE`B"J Ma6 E|fpL<NuH8(H$I&j aR@fp`"0< J(kN Jap J(kNp LNuH<$H(I&j K//"L MNXO6"J Map J(kN0L<Nu/ E/ aXO$_Nu/ UO&IHW/ /Ho HoBgp?BgBgBgBgBgBgBgBgBgBgBgC.BBBAp!NO.|fBSTO&_NuH0E&*&R` [N SJf RNBBL NuH8O/H h &hC0< oN ka&/R N(H g##"B@N&E`R$"J0< oN *o,pЪN( g6"j *N * TB0`AN(XLRoB@`apO LNuH8O$H j &h 9opI)y)yC0< JN k()o)o)o `.C0< JNC0< JN /)@("/)A )A"L0< JNO0LNu/ / O$H j &hC0< JN k6 JaJ@f,#### C0< JNO&_$_NuH8O$H j &h0< JNC 0< JNC0< JNapN(H grү lv`v##"B@ LN. C0< JN /o(pЯN( /"oN / TB0`AN(# BpЯ l$XLAN(pЯ #B `# # C0< JNOLNuQOBW?|?A?@rdApNPONuH8O&H?@&?A$vxB k (h K0<NE`P0/$@|Kgn |g6|gʐ|+gfS@g6` |MgW@gPW@g|g`0< KNp KN`ғ0< KNpo&g Kp N`p KN`0< KNpo&g Kp N`p KN`~0< KNpo&gC0< KN`\C0< KN /gS`ZC0< KN /o0 Kp N`0< KNC0< KNpo&fC K0<N /lRC0< KN`C 0< KNC0< KNpЯ l Kp N`>0< KNpo&g$ KpNC0< KNC0< KN`rp KN`C0< KN j~C K0<NC0< KNC0< KN /l"/%A$%@rҀ%A `C 0< KNpЯ l$%@`C0< KN k$%o%o%o `4C0< KNC0< KN /o$"/%A$tԀ%B%@ "J0< KN` /oz Kp NC0< KNpЯ$%o%oB `C0< KN k%@%o%o%o `0C0< KNC0< KN /%@%@"/%A%AC0< KN`0/$||g.n J@gW@g`4|gS@g `( Ka` Ka` Ka` Ka`0/$|| g| lJCf|2/$0/&a`lC0< KN j"P% k%@%o%o%o `0C0< KNC0< KN /%@%@"/%A%AC0< KNBC0SDJ@gC$A&a`Bo$0/$fC K0<N j K0<Np KN0< KNO(LNuPmhm4hBl 0(h@mB@NupNu/ HyCANXO$H gNJ@gApN$_NuH,YOIHWHoHoHTr B@NO0N*HNgV gRrmTgtm"f f$M`g6N`pmTf y"h<")4g M"mrN` p M$mNXOL4Nu/ / &HE R0(6g2(8g4(:f hN` KN&_$_Nu y hNNu y hXNNuH8&H"y0)Fgb$i@g(j Jp N`L yBhH`62H ЀЁ(kI lf K0N$l p J(jNN6jLNu/ / y2(`H ЀЁ h\A$h &j JpN&_$_Nu y hXNNuANNuH>&HK y0(FfA(N` y$h@gp(j JN`f yBhH`P2H ЀЁ(kI J0N0,S@g S@gS@g` (l p L,lN`a` MNN6jL|NuH$H6J@kH"ҁҀ&jI*l ,mZ)N$g"N k p"N0<n 9@ ` p""y k N k !mJBl 0+| f k "k "0 JNL|Nu/ y$hX"R ig3| JN0* k JB@N$_Nu?/ Ejjjjj y"h<6)pCgjpCgjpCgjpCgjpCgjp@Cgj JN| fXBCpjg|pjg|pjg|pjg|pjg|pjg|@ y"h<3C$_6NuH0B@AN&Jo.A"<0N0N y"h<3yE&j^fH6+H$Ԃԃ43(H"ҁ҂23H ЀЁ634H ЀЂ7' JN&H g$p N& gC8p N KaJ@g` KL NuHO y&hX@f(k6(F0HЀЀN*H g2HҁM?|P?|0BC"y3CH` 2H ЀЁ4HԂ;(=(RCN8j y2(Llk4HPHAhPXA?A 4(Nlk6H…0HBhR?B BC1CH`0HЀ25o ?A>6o |z`,2H ЀЁ>?tA0/2aJ@g:`TFp 4H"ҁ҂t gJEon SBh2H ЀЁ<4>H$Ԃԇ9(>49( kp( K0N2H ЀЁ kp99 K0NRCN8j" MN yBhJOLxNu/ y"hX Q$P gN$_Nu/ N$H f N$H g0* nrjTf JN$_NuH8$H6J@kH"ҁҀ&jIk?k k $,g "B k p"N0< lh 9@ `$p""y k N l "k #hJBl p l hTgk2+ 0 J"jfNLNuH0$H6H"ҁҀ&jG$gA"P#JX"P#j\"P3C` SNL Nu y hXNNuH<$HI T0(Fn !JXa`` T&h@gp *k KN`H TBhH`62H ЀЁ(jI lf J0N&l K"k NJ@f N6jL<Nu/ y2(`H ЀЁ h\A$h JN$_NuH8$H(I&j g6+2JCo4+H"ҁ҂77C4H"ҁ҂ sf2|7I47I2`2H ЀЁ7s22H ЀЁBssA1| !|!L !lZ9CX J0a`9|XLNuH8&H$I6JCk(k2H ЀЁt0N8,`2H ЀЁ842H ЀЁ父tf0H$ԂԀ0H"ҁҀ9(24(f9D0,2j9C49C22H ЀЁ9`2H ЀЁ929C2 SBh4LNuH<$H&I y@fh0Y@gU@g`@ yBhHBk`$2H ЀЁ(jI lf7|`ZN6j`N2H ЀЁ(jI*l `& y*h@0Y@gU@g `Cp M$mN`Cp M$mNL<NuH8&H$II2|fgn6| gnUAg_AgFSAg`ޒ|gƒ|UgxSAg~`ƒ|g|bA2;Nv8@H"J Ka` J9h)h 9h9h`|)J`t)J`l)J`d KN`Z"J Ka`P"J Ka`F0 Ka`<0 Ka`20 Ka`("R KN` Ka` Ka` Ka`B@`pLNu/ $H P f jh` jh j2(p"jf JN$_NuH0$h&P6+ 8+ kfrC0HAHX@5@ppC4J@JXB5BtD2ABI5A5ArBE<>*`@0HEHX@4H"ҁ҂50@FH5REEfBERF2H ЀЁ>2JGf>*2`@0HEHX@4H"ҁ҂50@FH5REEfBERF2H ЀЁ>2|n` kfrC0HAHX@5@5@pvD4BCJ5BrrD0@AH5@BE<>*`@0HEHX@4H"ҁ҂56CFK5RFFfBFRE2H ЀЁ>2JGf>*2`@0HEHX@4H"ҁ҂56CFK5RFFfBFRE2H ЀЁ>2|nL NuH<$H"y0)6g2):g&j$ g kf(k ,g *@ KpN KNB RN JNpAN&Jo8 y"h<3A"<0N0N` JNL<Nu/ y$hX"R ig3| Ja0* k JB@N$_NuANuHB,p"MAN kN MN'HN$H"WCXpm&jNXOL<Nu/ YO$HB0<Np JNC0< JN0< JNp JN0< JNXO$_NuJ@gh Nuh NuH8$H&Pk0< jNIHk,C LNXO"L JNLNuH8UO$H&P0<kf$hE0&j C J(kpjNp J(kNpi J(kNTOLNuH$H0*V|f&PK0<kgB y2(:gCANS@f$`CAyNS@gU@g|` JNjV(S g"J L,l0<N KN JNSm0-f< j;h;hpAN&Jo M"<0N0NL|Nu/ / $H&I jJN KN%HJ fA N%HJ0* oBgBg/*JrNPO&_$_NuH,O$H(I0<ՓN0< JN0< JNC0< JNKB`8"M0< JN -o "m LNpЗ"g  R mBOL4NuH8(H$I IN&G`( < "J KN < "K lN n "J KN "K lNLNuH<$H(I&P2|gn8|g.nUAgP| gd|gx`h|g"SAgSAg`P|β|bDA2;NN\@88| Ja`$ gB+ "LA pN`B+ Ja`&`(`"L ja`"L0< jN`"L Ja` ja` Ja`p "LANB+0<kfC Ja`p "LANB+0<kgbC Ja`Vp"LANB++`B fHkCANXO*H g"`*L"M JN`AN`B@`pL<Nu/ / YO&H(IHWHoBgBgBgCABB2+"pNOpT|o8"L KNXO(_&_NuH$hEH&j C J(kpjNp J(kNpi J(kNTOLNu/ y"hX$irB@ JN y hXa$_Nu/ y"hX$irB@ JN y hXa$_Nu/ y"hX$irB@ JN y hXa$_NuHApNU@f,0< KN0< KN0< KN`v(RC,ANHlCANXO*H g$"M KaJCf"MA,N Ja JaOL<Nu y hXaNu/ y"hX$i2O(H6HyC l PNXO2H 爐ЁЀ*y3 E&j C J,k0<,NC0<- J,kNG 0< KNBC`@0HЀ85"JDo0?CANTOC0< KN0< KNRC| mC0< KNC0< KNE pЯ%@$r%A %A"J0< KN3OL|NuH>YO$H.&H(k,"y*iXBC`J2H 爐ЁЀ"y WNJ@f$0 Jarp M"mfNpA ,lN` RCymXOL|NuH>]O(H:E R2(H 爐ЁЀN# g.&@3vKM` K2"R0)N7@ 2 R0(NHUHU"M M2</ "R0)"_NPO8|nS@mJEf>HU"M NrO/ "R0)"_NXOHU"MAri/ "R0)"_NXO0Wfx|o0< LN"K0< LN<<~ `>HUHU"M MrF/ "R0)"_NPO8Ff 2HҁBs"` 0HЀ7"<SGJGjRyG:RC Rho\OL|NuH>O/H&/I"6I o&9P"o"8AN*H g NG0 Ka ,f MNp`x?C m PNTO0< KNvl`SCJCo2H 爐ЁЀ l4,p f0 MaM0H-@,r-A -A"N0< KN"N0< KN y.X/K?| Cp KNA/H?|C0< KNE $%M"J0< KNG /K?| Cp KNAP/H?|C0< KN$%M"J0< KN MN|f 0f y8 o"0"o&2BC`v MN lN0O*L|NuH0$H6&I8B`0H"S JNXK0SDJ@nL NuHKol>`2>/<8Ip`H MN g>`SFSDSL|oJDnJGo0H"J SN SB0pǖGXKSEJEnXOL$hE0&j C J(kpjNp J(kNpi J(kNTOLNuH>O$H#AN&H f`|k`T(kM g*J`K V: V;h7m $7m&2 V0(NHoHoCA2-$V0*NPO0/9@2/9A V0( 4(BB>2,@o9@ V0(4(2ABA>0,Wo9W"M0< LNC0< LN0- H/@C L0<NC0< LNE $%LBj"Jp LN0< LN kA0%H5|"J0< LN kAH%H5|"J0< LNp LN KOL|NuNNu/ / $H&I2UAg| g$YAgF|g:`L y0(:ff@ Ja`80< jNp jN`&`AN`B@`p&_$_Nu/ / YO&H(IHWHoBgBgBgCABB2+"pNOpT|o8"L KNXO(_&_NuH$hEH&j C J(kpjNp J(kNpi J(kNTOLNu/ $I"jN$_Nu/ &H// kNXO&_Nu/ / (HE / lNXO(_$_NuANuH 4O$o$ j&P?j?j0/f2/g>?jpWopooAr0N*k g`BA?A>tj?Brj?A?j ?j 0* jS@?@ 4* jSB?B yHhj"MA0rNXOABA0N0*OL,Nu/ / $H&P +g @NBpk|7@rk|7A2+0+N'H f2pk|7@rk|7A k o| n j1k1k JN&_$_NuH8$Hp N&H gAN(H f`J y60<@7@7@B g9R$9j&7j7j l"h #L( La LLNu/ / $H&P g kN KN JN&_$_NuH8$H(I&P2|,g2n UAg| gB`R|-g"SAg$`F y0(:ff: Ja`28`.(`(7T7l Ja` JN JN`B@`pLNu/ $HrB@"jfN$_Nu/ / O$P&jB@?@ ?@?@>rj?A ?Apj?@?@/ "KABA0NXOO&_$_Nu/ / O$P&jB@?@ ?@?@>rj?A ?Apj?@?@/ "KAr 0NXOO&_$_Nu/ / QO$P&j>?A?B?o KNAr0NNPO&_$_NuH86(I$P&j KN L20NNLNuH86(I$P&j KN L20NNLNuH886(I$P&j KN L420NNLNuH86(I$P&j KN L20NNLNuH0:86$P&j KN?420NTONL 8NuH8(I$P&j KN L0NNLNuH8(I$P&j KN L0NNLNuH0:86$P&j KN?/?/?420N\ONL 8NuH0:86$P&j KN?/?/?420N\ONL 8NuH0:86$P&j KN?420NTONL 8NuH0:86$P&j KN?/?420NXONL 8NuH0:86$P&j KN?/?/?/?420NPONL 8NuH0:86$P&j KN?/?/?/?420NPONL 8NuH8(I$P&j KN L0NNLNuH8(I$P&j KN L0NNLNuH8:8(I6$P&j KN?/?/? L420N\ONL8NuANuA(p"@ "ByA1B33O"Nu/ Hz?<&NN\O$_Nu@TXJ? ?ry@ڢ!h5?ڢ!h5?ڢ!h5?@@NaN-INF+INF(C)Xmath by d'ART 9g @0<PNHz /<?f(H$o<0 Hh R$aLXNsH$o<0 HJx>f/@fh R$a|@4<j B0|LXNsHJx>fE Rgv&y(S0+2+4+` 4fP7k` X@@fp@fJ9g6/f.$B9ްgfA/HBL0<SXONsEp/R"H y f0<`,H>/NXOL|`HyHyNPOJ@k09&_Nu"_HpNLJ@fpN/ "y ),g2"@g,g(f$HgggJf`g<=f I$_Nu`O~"Ap~WF< o gJf J(fp @/ /Ho/?<?<KNAO$_ oJk0p`Z|g"|g&|g*|g.|g23 `03`&3`3`3 `3pONuH:v(Se:*g6$H&I(o(,܄ "aM J"NNJ@gj(Se `&Rcґ` NL\NuCaA.Ca09aCaAC`: |#b @@ { NuANu        .   EYs       File permission deniedFile not foundGeneral i/o errorInvalid file handleInvalid file specificationInvalid heap blockHeap overflowFile access mode errorFile already existsProgram load format errorIllegal devicePath not foundInvalid parameterFile table overflowToo many open filesDisk fullSeek errorRead only deviceDomain errorRange errorNo more matching fileCall for non implemented errno messageSfNuH<&H&$I(pe$f"IH"L KNJ@o "L KN`pЃ"NI "NK"L MNJ@o "L MN"K MNJ@o "K MN`"L KNJ@o "L KNpf"M K N`KH`c4"K MNJ@k`"L KNJ@n` "L MNę`b޹b"K MNJ@j "K MN "N*crd "J M "N&`pd ""J K N&M`L<8NuJgNNu.yHy?< NA\0<N?NNNNu/ / $HG0* |l???*?*?*2*HA/04* HC/1(C KNO K&_$_Nu/&ֹr N&NuBA NNuH0$HN&k2BAN"H&J&&&&609g 1|Jjp` L NuH8YO((o(v$H.GJgTS Wg七gB<%gRR`R WH|Ygnf|IgPn.|AgnJ@g|%g`|BgJ]@g`А|M| b@0;N|Z|b@0;NTHL:4B `rpЃdBE`zJEgF0, HA"p JN`*0, HЀA20H҃dBE`0, HЀA:0JEg0, HA"p JN`pЃdBE`zJEg0,HA"p JN`0,HЀA20H҃dBE`0,HЀA:0JEgr0,HA"p JN`VpЃdBE`zJEgB??,?,?, pl??,"K JNO `pЃdBE`zJEg?,C JNTO`pЃdBE`zJEg?,C JNTO`pЃdBE`zJEg l opl?C JNTO`pЃdBE`zJEgpl?C JNTO`hpЃdBE`zJEgTpl?C JNTO`,FHǏRG?C JNTO`npЃdBE`zJEgZ?, C JNTO`FpЃdBE`zJEg2<,l HƍHFpFHH@<JFklo|BG`pЃdBE`zJEg?, pl??,C* JN\O`pЃdBE`zJEg??,?,C JN\O`pЃdBE`zJEg?, C JNTO`xpЃdBE`zJEgd0, |l?C9 JNTO`LpЃdBE`zJEg:C= JN`.pЃdBE`zJEg%`pЃdBE`zJEg?JEfBp`0HրR`XOLNu/ O&HAN o o?|P BWBoBo?|BoAN29g" g&O&_Nu/ Hz?<&NN\O$_Nu 8NuOpP@>2I|??A4p j|?Brh?A4(J|SB?B0(r h||P?@ ANrNONuOpP@>2I|??A4p j|?Brh?A4(J|SB?B0(r h||P?@ ANONuH",H?<,NA>?<*NATH@0|A<|?=A|=A|=AH|SA=AH||P=A LDNuH $Hpj 2*`S@| JAk`R@| | lJ@jp`nt@B6mB8H؄ApHjSCt@|f|mRC2H ЀЁ4*HЂ&"鉒8*H҄&$銔0HԀ LNuH &:JjvE rBA< <b;k`|<*f<`&<0< b ACp a$Wb<gt<.f6<*f4`$<0< b ACp a$Wb4g<߲<Lf g`<hggr@dp|?@0;N`````N`N``````````````````````````NNN````````````````` [0`|A`0A2"La@`\ [2"La@`JJEj `p0?4 LaTO@`*JEj `0H?4 LaTO@` JEj `p0?4 LaTO@`JEj `p0?4 LaTO@`@HN0\OLxNup24C8jxA aA pJWF@?@gA 2SAktaSb (Q2/@4/(jt@jtBgf 0Ao@@Alx?B?D`hH0$H&IB(v`H0$H&IvJWFCJBj4Cb6xJAkCc8Cf K0a0 JN` 0 JN0 Kap0DL Nu6x0/g f@ JaP0/g@AN0/g@ Ja,0/g@A N0/g g@ Ja0OLNuH0E6`H0E4&H6g8Kg SC JpNQ J0|gNL Nu00000000 /YOMPC HzNHz2aPOJ.f2k?0Aa20JAkXO,_Nup`JgAaRG4`kI4`b,ֆSDgNRG4`b`NSGB@$2LNup`NSGp`H8vBG8gvzB$H&IINJ@kpRG4`k<0f,SDgPNRG<߰<XgI4`b0`SDg.NRGI4`b,ֆSDgNRG4`b`NSGB@$2LNuP`NSGp`H8vBE8gjB$H&IINJ@kdRE4`k<-Wg<+fNREI4`< b<ֆSDg NRE4`< b փ"փփց`NSE$JgD2B@LNup`NSEp`H<8z$H&IINJ@knREJ4k| gNSEJj$JDgJNREJ@kB| gJ4jNSE`0SDf`**o JDg NREJ@k| gJ4jNSE`SDfB2QL<8NuP`H06g(8$H&IJCjvJj NJ@kSCf` NJ@kSCfQC2L NuP`H<6g^8BE$H&I(o$Jj$NJ@j P`FNJ@k> F4Pg>SCf`**o NJ@j P`NJ@k F4PgSCfBQC2L<8NuBN`(<@Nu(VHNu(VHNuJ(g/a _(g(g/a _J@f B@Nu3 NuH8$H&I+g|2g+gC'I&'IR'I UAe"S(kt d W`2+gH@ KaLJ@f,H@ KaLJ@gkg&B JLNu3 `0(NuH8$HG+gV"S(kt `df`2+g// Ka"_ _J@f,// Ka"_ _J@gk`&B JLNu3 ``CaAp `/ / B@JgB)g@)fJ&Q(i ge"// Ia"_ _J@f&Q`B@"(_&_Nu3 p`#H#H&HJfS#K " I(Ia"LJ@f`H:$H&I(S&gfJg^+g`)ft,k x$ڹd SfRe`.&// Ka$"J@k,f4(SSfRf& L\Nu3 p`"`&x,A'J'JE8'J & KaJ@kfRf"`A`A`H:$H&I(Sx&gZJgV+gX,k$dSfRe`6+g// Ka$"J@f.// Ka$"J@kf(S,k`& L\Nu3 p`"PdB@ Nu(g*gg/a _J@f/a _J@kf"P`3 pNu/ $IaJk$B$_Nu BA`/ &Hrt0+aJk2+gГ` S"+gt SASWfSQ&_Nup`pr`H&H&8|f֓b e&`8+g+g2 KaJ@f:"40+aJk* k&'HpLNu3 `3p`w+bHRO?<NATO<AA:BgHP?<GNAPOJ@kbAJf|\a gPAJf Pa g<$H$#ACfACp/aXO%Hf# JaO$_Nup/aXONu(g4(f>"P | dNu?/a _2J@f 0Nu3 pNuC!I!IR!I `H&H(o Ia6k g La` a|Jf(H <a)Hg0@0;6 K (:gNa|g9@{00 l)H()H `da)b*a)b* / ?/?<=NAP$_JkR9@{0 laA()H)HRH)H QC# LLNup`p`p 3 g la`YOCBgg Ar`THWf0XONup`rwar+w+a+rbwbabr+b rb+ w+b wb+ a+b ab+ Ap`Ar(WVNu?/ AaAaG6<`Gp+g KaQ&_6Nu/ &H+g+g8aJ@f80+aJ@k,+g kaB@7@? Ka0&_Nu3 p` g p"<`pr`H&&H(I|f,g kaA&'H'HRH'H `8g ka$ f a$g"(H'L&'LA8'H pLNup`0123456789ABCDEFHSHR&HEAt09<HQRyg$BHR?<CNAO J@l J g Kf$_&_Nu`J@k"Pc  PNupNuH&H(k L0+"+ aJkRgF+f, L"St gSj`"HSISSk ögSjJg&"'LBLNup`p`H&H(k6+"+g0DtaJk+fZ"S"L Ip gSj`*| // " 0a"_"JkNgPAp SjH@" 0aLJk*g,`0" LaJkg&'LB@LNup`p`0<a`H06&Hp Cgp@CfFpC?/ ?<=NAPOJk&8jaTpCgF?<?p/?<BNAO Jj.`Br߲fNAXONua3p`ް|c/ ??<>NAXO$_JkpNua3pNu/ /?<ANA\OJkp$_Nua3p$_NuH/<VNA J@kp$_Nua3p$_NuHR@W@e >?NAO $_JkNua3pNuT@aJ@gX  _H&Hx&SgkJ9kvf~a<g&< g<<gP< g< e޸dRa`JgSSKpap apa`Rp ap a`bJg^`TxB9`Jx B9`f0g6f(g.f g&fgfgfggepNupNuJfpNu g<g8g4g0g,g(g$g ggggg ggf @Nu/ pg$IfR`f$_Nu"HJgJgJgJgJg JgJgJf SNu"CB@f ANu"Jg JgJgJfSHSefB ANuSeg gb pNuJfpNupNu"SefBJgSf ANu/ pg$IgfR`$_Nu g"@gfSHNuNu/ / g($Ig"f&Hggg"J K`A&_$_Nu`$ fJg` yf p#`L$Igf`#Sf yp#`$IgfB( 9# @$BNu`H0$H|g|$brtGgJ3kSJ*< ,<g<-WgS<+fg~J@f"p <0f:pgl<߸<Xf(pf"`X|f<0fgH<߸<Xfg8G3d*3db*(HDHDԄԁc`JgD ( gSJ"L xNu3" <JgR` 3!p( g"`H0$H|g|$bGrtgJ3kSJgtJ@f"p <0f:pgb<߶<Xf(pf"`N|f<0fg><߶<Xfg.G3d"3d&HCHCJCfԃԁd` & gSJ"L Nu3"p` 3!p& g"`"CB@f ANu//"4UB|"bZC"t&HCJCf&HC;0NRBH@B@H@f`$?&8BCHC06H@0HC;0&RBJf8QB" _&Nu3!`0123456789abcdefghijklmnopqrstuvwxyz "HJf" SgSI`!Sj @Nu"HJg` INuJg "HSf INu?/ $HpJWF6Ra g"Hf I$_6Nu/ EB@BA2g2g!2ep` p`Jfp$_Nu/ EBABBSe2g2 ge p` Jfp`p$_Nua/a" g p/a _Nu/ / &H" kgPR<"+eb(`fa g`$<eVd0Q/a" gnpЫd "K/a Ka _J@gH`L"/Hk?<?<JNAO Jf2'A K`$ nf te'@A!Aa K&_$_Nu`H &/?<HNA\OJf 9g @ NJ@fp @LNuH0&gPR<e a g!CC "A`rG&S f. < a gj&@Ap !|'H&#A"P` )d I"Q f`rd ` #@#C"nAL Nuk |`3 `/ oLQ d nf@aJg*`6C g,g"@ f` "/?<INA\OJj`p$_Nugp`/ &y g/ &S?<INA\O`&y g/ &S?<INA\O`&_NuH8$<CG g" c &@ f`(@ ,gb*"Ҩeg ` )H`p"@")Ө )H`>"@ gb" ҩeg`N"(ө`" "H" ҩf @"(ө" l eb&/ ?<INA\OJfQLNuP`Jg g SggSggSggSfNuSHNuSe gepNupNupNuJg/bg2 4gf!Sf`f`!Sg"gH?LxH?LxH?LxH?Lx`H?Lx8H?LxH?LxH?LxH?LxH?LxpH?LxHH?Lx H?LH?SfvLx2|HgS@!!Q|gSA!Q`2 4gfSf`f`S"gH?LxHxLxHx(LxHxPLxHxxLxHxLxHxLxHxLxHxLxHx@LxHxhLxHxLxHxLHSfxLx2|HgS@ Q|gSAQ _Nu/$gSe40HB4 gxH_>"&(*,."B$B&B(B*B,BH~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H~H`SfL||0HgS@!Q|gSAQ _Nu|A0|Nu|A0| Nu|A0|@Nu<0< SHNuJ@k|A0|NuB@NuJ@k|A0|@NuB@Nu|A0|NuJ@k|A0|NuB@Nu|A0|Nu|A0|Nu|A0|NuJ@k|A0| NuB@Nu|A0|Nu|SHNuBAA0NuBAA0Nu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::8888888888888888888866666644444444444444444444@  !"#  !"#r2#Nu 9"ЁЁЀЁЁЁЁ爐ЁЀЁЁЁR#H@|NuJ@kNuD@NuJkNuDNu oHH@ Nu? oBC$jD[JjD$HBJBf4$HBJBf"H@B@H@BAHA`>B@H@HB2@0"H@0 H@BAHA`""AH@r2B@tЀӁd҉рӁQF@JjDJCjD 6Nu$HBJBf$HBJBfNuHBЂNuHBЂNu$HBJBf($HBJBf H@B@H@NuB@H@HB0@0H@0H@Nu AH@r2B@tЀӁd҈рӁQF@Nu$HBJBf"$HBJBfB@H@NuB@H@HB0B@H@Nu A"B@H@HABAtҁрdЈӁрQNu$jD BJjD$HBJBf"$HBJBf $jDNuHBЂ$jDNuHBЂ$jDNu$jD"BJjD$HBJBf4$HBJBfH@B@H@$ jDNuB@H@HB0@0H@0H@$ jDNu AH@r2B@tЀӁd҈рӁQF@$ jDNu"@$jDJjD$HBJBf.$HBJBfB@H@$ jDNuB@H@HB0B@H@$ jDNu A"B@H@HABAtҁрdЈӁрQ$ jDNu##NA$y"yN##NM$y"yN##NN$y"yNHR?<NMTO$_NuH瀠>NMPO @$_NuHR// ?/ ??HP??<NMO$_NuHR??< NMXO$_NuHR??< NMXO$_NuHRHPBgNM\O$_NuHR??<NMXO @$_NuHR?< NMTO$_NuHR??<NMXO$_NuHR??<NMXO$_NuHR???<NM\O$_NuHR??<NMXO$_NuHR??<-NAXO$_NuHR??<+NAXO$_NuHR?<,NATO$_NuHR?<*NATO$_NuHR?<0NATO$_NuHRHP?< NA\O$_Nu?/?<1NABgNA??<LNAHR?/?<DNAPO @$_NuHR/HP??<JNAO $_NuHRHP?<INA\O$_NuHR/?<HNA\O @$_NuHR/HP?<NAO $_NuH>@NAO $_NuHRHP?<NA\O$_NuHR??/?<BNAO $_NuH>?NAO $_NuHR///???<\NAO$_NuHR?</NATO @$_NuHR???<FNA\O$_NuHR??<ENAXO$_NuHR??HP?<WNAO $_NuHR??<>NAXO$_NuHR??<NAXO$_NuHR?<NATO$_NuHR?HP?<6NAPO$_NuHR??<NAXO$_NuHR?<NATO$_NuHR??<NAXO$_NuHR?<NATO$_NuHR?<NATO$_NuHRHP?< NA\O$_NuHR??<NAXO$_NuHR?<NATO$_NuHR?< NATO$_NuHR?<NATO$_NuHR??<NAXO$_NuHR?<NATO$_NuHR?<NATO$_NuHR?<NATO$_NuHR?<NATO$_NuHRHP?<NA\O$_NuHR?/??<NAO $_NuHR/?<NA\O$_NuHR/?<NA\O$_NuHR???<NA\O$_NuHR?/??<NAO $_NuHR?< NATO$_NuHR??< NAXO$_NuHR?< NATO$_NuHR?< NATO$_NuHR?< NATO$_NuHR???<NA\O$_NuHR?<NATO$_NuHR??<NAXO$_NuHR???<NA\O$_NuHRHP??<NAPO @$_NuHR?<NATO$_NuHR?<NATO$_NuHR??<NAXO$_NuHR/?<NA\O$_NuHR/?<NA\O$_NuHR/?<NA\O$_NuHR??<NAXO$_NuHR?<NATO$_NuHR?<NATO$_NuHRHP??<NAPO$_NuHRHoHQHP??<NAO$_NuHRHP?<NA\O$_NuHR/??<NAPO$_NuHR/?< NA\O$_NuHR?<!NATO$_NuHR??<"NAXO$_NuHR?<#NATO$_NuH>%NAO $_NuHRH>&NAPO$_NuHR??>'NA\O$_NuHR/?<*NA\O$_NuHR/?<+NA\O$_NuHR??<3NAXO$_NuH >4NAO $_NuHR???<5NA\O$_NuH ?<6NA\O$_NuH>7NAO $_NuHR?<8NATO$_NuHR?<9NATO$_NuHR//HQHP??<KNAO$_NuHR?<ONATO$_NuHR?HP?<NNAPO$_NuHBg?<VNAO $_NuHR?HP?<=NAPO$_NuHRHP?<ANA\O$_NuHR?HP?<)NAO $_NuH>,NAO $_NuH?<-NAO $_NuH?<.NAO $_NuH>/NAO $_NuHR/HP??<0NAO $_NuHR??HP?<1NAO $_NuHR?HP?<2NAPO$_NuHRHPH?<NNO $_NuHR?<%NNTO$_NuHRHP?<&NN\O$_NuHR??<NNXO$_NuHR/?<NN\O$_NuHR?HQHP?<NNO $_NuHR??<!NNXO$_NuHRHP?<NN\O$_NuHR???<NN\O$_NuHR?<NNTO$_NuHR?/ // H?<NNO$_NuHR?<NNTO$_NuHR?<'NNTO$_NuHRHP?<$NN\O$_NuHR??/HP?<NNO$_NuHR?<NNTO @$_NuHR??<NNXO$_NuHR??<NNXO$_NuH瀠> NNPO$_NuH瀠> NNPO$_NuHRHP?<0NN\O$_NuHR?<NNTO @$_NuHR//HQHP?<NNO @$_NuHR???<#NN\O$_NuHR?<"NNTO @$_NuHR??<NNXO$_NuHR??<NNXO$_NuHR??<NNXO @$_NuHBWNNO $_NuH瀠>NNPO$_NuHR???<NN\O$_NuHR?<NNTO$_NuHR?<NNTO$_NuHR//HHQHP?< NNO$_NuHR//HHQHP?<NNO$_NuHR//HHQHP?<NNO$_NuHR???<)NN\O$_NuHR?/////HHQHP?< NNO$_NuHR??<WNNXO$_NuHR??<PNNXO$_NuHRHP???<TNNO $_NuHR??<VNNXO$_NuHR???<SNN\O$_NuHR??<RNNXO$_NuHR?<QNNTO$_NuHRHP???<UNNO $_NuHRHP?< NN\O$_NuHR?HP?/?<+NNO$_NuHR?HP?/?<*NNO$_NuHR???<NN\O$_NuHR??<@NNXO$_NuHR?<NNTO$_NuHR??<,NNXO$_NuHR/HQ/HP?<`NNO$_NuHR/HQ/HP?<aNNO$_NuHR/HQ/HP?<bNNO$_NuH`HP?<cNNO$_NuH`HP?<dNNO$_NuHR//HHQHP?<eNNO$_NuHR??<fNNXO$_NuHR?<gNNTO$_NuHR?<hNNTO$_NuHR?<iNNTO$_NuH?<jNNO $_NuH ?<kNNO $_NuHR?/HP?<mNNO $_NuHR?/HP?<nNNO $_NuHR??<pNNXO$_NuHR?<qNNTO$_NuHR?<rNNTO$_NuHR?<sNNTO$_NuHR?/HP?<tNNO $_NuHR??<uNNXO$_NuHR??<vNNXO$_NuHR??<wNNXO$_NuHR??<xNNXO$_NuHR?<yNNTO$_NuHR?<zNNTO$_NuHR/HQ/HP?<{NNO$_NuHR/HQ/HP?<|NNO$_NuHR?<}NNTO$_NuH?<~NNO $_NuHR??<XNNXO$_NuHR?<YNNTO$_NuHR??<ZNNXO$_NuHR?<NNTO$_NuHR?<NNTO$_NuHR???<NN\O$_NuH>NNO $_NuHR??<NNXO$_NuHR???<NN\O$_NuHR??<NNXO$_NuHR???<NN\O$_NuHR??<NNXO$_NuHR???<NN\O$_NuHR???<NN\O$_NuHR//H?<NNO $_NuHR??<NNXO$_NuHRHP?<NN\O$_NuHRHQ?HP?<lNNO $_NuH?<oNNO $_NuCHRt""2"<0<NBAD0$_NuHR"0<NB$_NuByaJyfpNuH<"<`"<`"< `H<#\"< `H<#\"<`3<#\"<`H<#\p "< `"<`HQHPH<"<a"_2"_2"o2"o2NuH<"<`"<`#\"<`HQHPC<222" "<a"_2"_2"o2"o 2NuHQC<#H 222"" """"2 "<a" "_2E"Z2"Z2"Z2"Z2"Z2$ANuHRC#HA #H HPA#\"" 0<NB _0C"#|<#|D $_Nu3<3>"<`HQH<#\"<8a"_2NuHQ#\"<6a"_2"o2"o2"o 2NuC<222""" "<3 `3<#\"<2`3<"<5`HQC<222#H"<7a"_2"o2NuHQHPC<222" "2"#\"""r$<3|`##HB4r3c a##>Nurt`Hrt3= `3rzt`C 0rt`rt3 `rt3 `rt3 `C>""r $<3| `C>""r $<3|`#4HBBBra#>Nu#4HBBBra#>NuA>00BB0BP!or $<1|`HQr}t#a"_"NuHRHQC" #H o #H AZ#HA 1| psNB _0 $_NuHRHQE5Q C" #H o #H AZ#H$d5| psNB _0 $_Nu3rt3e `A>00 r$<1|b`#2<t`r{t`rt3 `HQHPH>ri$<a"_2"_2NuC2"2<t`rt3 `#rt3f `2<t`#4HBBBr a#>Nurt3 `3rt3 `rt3 `A>00 !or $<1|`A>00 r $<1|`A>00 !or $<1|`rt3 `rt3 `H>r$<3 `rt3 `rt3 `rt3 `rt3 `rt3 `Hrt3 `A3H>rg$<`rt`ret`rt`rt3 `A>00B0BPr $<1|`##A00 $<4r a#>#NuHPA 0rt1|ca"_2Nur $<3 `r t3 `#4HB4BC3| ?`Q6r a"o2"o 2A8"o""#>Nu#4HB4BC3| ?`Q6ra"o2"o 2A8"o""#>NuC>""r $<3|`A>00BB0BP!or $<1|`HQHPHrt3Q a"_2"_2NuHrt3S `HQHPHrt3R a"_2"_2NuHrt3U `3rt3< `3rt3> `C2"2rt`C>""3A2<$<`3r t`3rxt`32<t`HQHP32<taA8"_2"_2"o2"o2Nu32<t`3r t`HQHP3rktaA8"_2"_2"o2"o2NuHQHPA>BX0r $<aA8"_2"_2"o2"o2Nu3rwt`3rt`C2"2<t`3rjt`3rt`HQHP32<taA8"_2"_2"o2"o2NuHQHPHr'ta"_2"_2NuHrt3[ `HQHP3rta"_2"_2"o2Nu3rt`HQHPH>r$<a"o 2"_28"_2:0(@hNuA>BX0r$<a0(@Nu3rt`HPrta"_20/Nu$<H>ra0(@Nu3rqt`3rt`Hrlt`3rt`Hr!t`#tA4rpa#Nu3rt`3rht`3rt`3rt`#rot%a#Nu3rt3] `Hrnt`C>""rr$<`#A A 0"o ry$<a#>NuHQHP3rta"_2"_2NuHQHPH>r$<a"o 2"_28"_2:NuHP3rta"_2NuHRpNB$_Nu#A 1A rm$<a#>NuHQHPrt3T a"_2"_2Nurt3 `HQHPrt3 a"_2"_2"o2"o2"o 2NuHQHPr|ta"_2"_28"o2:NuHRpNBT@$_NuHP2<ta"_2Nu# AZ#3rfta#& #`NuHQHPrt3 a"_2"_2NuHPHrta"_"2NuHQHPrt3 a"_2"_2Nu## HQHr$<a"_A2"o2"o2#>#& NuHQHP3ruta"_A82"_2"o2NuHQHP2<taUH"_""_"NuHQHP2<ta"_2"_2A8"o2" "o$o 24242422$ANuHP32<ta"_UH"NuC#H A #Hr&ta#`#& NuHQHP32<taA8"_2"_2"o2"o2NuHPr$ta"_2"2:NuHPr#ta"_2"28NuHP3rsta"_2Nu# r%ta#& NuABXHrt1|c`A000 rt1|c`HQ#rvta"o2"_"NuHQ#r~ta"_"NuHQ#rta"_"NuCt3Br`2RBf2<`C2tr3A`2RBf2<`C>222BQC"$<3| r`2RBfr `CH $<r`2RBfr`CH $<r`2RBf2<`C3| tr`2RBfr`#C22"2$<3|r`2RBfra#>NuCt3|r`2RBfr`HQH#>r$<a"_0(2UH`4QBNuHQH#>r$<a"_0(UH`4QBNuHP32<ta"_2(SA`4QNu#C>222r2C"$<`2RBf2<a#`Nu#Ctr`2RBf2<a#`Nu#Ctr`2RBfrta#`NuHQHP32<ta"_28fXONu"_2(UH`4QNuHP32<t3\ a"_2(0UH`4QNuC1|dtr`2RBfr`/ #### $_NuH 2<BC8E`4HԂ:Hڅ"R"i 3(XRD4BBm"R"i3@0HԂ"R"i 3("R"i 3(x`"4HԂp(o20(4HԂp(l60(TDDn8` R1D(NRDDlL8Nu/(?(H,HLE1_!_Nu/ $_Nu y1@&1A(1B*1o,1| / $_NuH>$I L|Nu y1@&1A(1B*1o,/ $_NuHLNu y"h 23A/ $_Nu/ $_Nu y1@&1A(1B*/ $_NuHYO?@>:?/NTO|o\|>BCx02AA:D0EJ@j2DA`2?JCj2DA`24Al6TESGTD?/?42/0/NXORFFnXOLNuH<:86/B4N42D0N420DN420DNLxNuH>:<8/6/DB4N42D0FN42D0FN42D0FNFg842F0DN42F0DN42F0DN42F0DNLNu y"h 23A"h2/ $_Nu/ $_Nu y"h2/ $_Nu?/ 6$H"y3@L3AN`2Nf$_6Nu y0k1@L1ANBA y"y)%@4)BBg 4)41@H`"iH@411BHDBq1BPH@LhLNuH8(y&l)H )KLNu/ $H $_Nu"y#H.3@23A4Nu y1@81A:1B<1o>1o6Nu y1@$Nu y2<BBHR0QNu y1@"NuCg""Q y1@f1AZ1Bh4)BJ|1BFg1i4P1i6d1i8b1i:`1i>\1i@^!iLT1iPX1iRRBhBBhDBhJ1oj1or!|l1|@1|@pNuOK (C) 1991, 1992, 1993ACS pro 2.00Stefan BachertAutorq ))x ! !x????80 3gggg30 80????80 0 ````0 0 80???? 0'''' 00???? 0     00!!7 Hl7d @ @?xxp㇇ 8p<`ßp0 Ϗ<A      @  ACS 2.00 (c) 1991, 1992, 1993 Stefan Bachert0123456789ABCDEF \*. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD33333333333333333333333333333333|]  3%ldd  =+-*/()!&|[]{}<>,.;:$%?`'^#~@\"a[2][ | Soll das ACCESSORY | >>%s << | gestartet werden?][JA| NEIN ][3][ | Kein Speicher| mehr vorhanden! ][ OK ][2][ Unbekannte GEM-Nachricht | erhalten.| ID = '%s'| Weiterhin berichten?][JA| NEIN ][1][| Modul konnte| nicht geladen | werden][ OK ][3][ Keine freie GEM-Fenster-ID | mehr vorhanden!| Abhilfe: ein offenes| GEM-Fenster schlieen.][ OK ][3][ Kein freier ACS-Fenster-| Einschub mehr vorhanden! | Abhilfe: ein ACS-Fenster| lschen][ OK ]PAPIERKORBOK-------------------- Aktionen ffnen ^O Schlieen ^UPulldown Mens Lschen ^D Beenden ^Q Fenster Nchstes ^W Optionen aus Liste ^LDas Ziehen des Neu-Symboles auf ein anderes Objekt erzeugt ein neues Objekt. Ein Doppelklick darauf erzeugt ein weiteres Fenster der Applikation.NEUInformationGenerischer DESKTOP des ACS 2.00 von Stefan BachertVerhaltenObjekte werden durch Ziehen auf den Papierkorb gelschtVerstecke ZeigerGrows/ShrinksFehler akustischZentriere DialogSmart RedrawAbbruch Info... ^I Vertikal ^T Modul laden.. ^M Horizontal ^Z ber mich... Verhalten... ^BModul nachladenq q ))x!)x)!x !)x`pppppp1p1p1p1p1p1p1p1p1p1pppppppp 0 Hc@DDDDDDDDDDDDDDDL    H?UU" W*EU'U>JWU'w''}*UPUT'@'w'UAVwU_gVWUA? 0 HZZ#       $P              $"!" %,')*,$ A   @  A   @   A   @   A    @     @ @  'x1H(1H(H(AMDESKTOP.CFG[2][| Selektion ist aktiv! | Nur Selektion| speichern?][JA| NEIN ][3][| Fehler beim | Schreiben| aufgetreten][ OK ][2][ Der Text | '%s'| wurde modifiziert. | Text sichern ?][JA|Nein|Abbruch][2][ Der Text | '%s'| wurde modifiziert. | Text sichern ?][JA| Nein ]-------------------- DateiFinde TextOK123456 Suchen RCKWRTSAbbruch______NNNNNNWORT Extras1234567890123456789012345678901234567890________________________________________Finde ZeileXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXABC = abc12__Zeilen:NNzweidimensionaleindimensionalInformationBytes: Ersetzen... ^R1234567Ersetze TextDURCHALLESCURSORSELEKTIONENTAB ffnen... ^O Hinzufgen... Sichern als... V Sichern S Zeile aussch. ^Y Finden... ^F Information... ^IEDITOR Rckgngig UNDO Kopieren ^C Einfgen ^V Zum Klemmbrett Vom Klemmbrett ber mich...Dies ist der vorbereitete Editor, der im ACS 2.00 Entwicklerpaket mitgeliefert wird.Zeile: Selektion TAB Nchster ^GUmbruch Nchster ^T Gehe zu... ^L Ausschneiden ^X1234567890 Fonts... F__________PPPPPPPPPPEXTOptionenBalken|Strich|Block|Rahmen Beenden Q1234____NNNNText umbrechen Optionen.. T Umbrechen.. W Bearbeiten q q q  q  q q)))!1x)x)x)x|u$uuϞ}y=| 0 HZZ)     ! BP             "  / 3#1 %a&(*,./1"B4@68:;=?@3 CH#EGHB !A   @  A,  , ( @( ((    @ @ A   @ @@ A  @   @ A" "  @          @ @ @  A2 2 . @.  .((     &@ @ A   @  @@  cc' COHNENAME.TXTDatei ffnenDatei hinzufgenDatei sichern %s (EDITOR) * %s (EDITOR) =+-*/()!&|[]{}<>,.;:$%?`'^#~@\" TXTH@(  EDITOR.CFG%ld .$$$%2d%d\SCRAP.TXTFONT (ID)OKPIXELAbbruchPOINTSFontauswahlThe quick brown fox jumps over the lazy dog123___NNN q  !x)x)x!x)x 00, @, &    @@ &@ @&   & @ @  %d%3dPIXEL -.,;:()[|]{}Auf diesem Fenster knnen Ausgaben analog printf erfolgen! Ein ACS 2.00 FeatureOKPROTOCOL PROTOCOL Informationq !)x)| 9q$9q T=u T'Ϟ| Ty T7= T<| T7 T 0 HA   @  cc'(   ( Quality DraftPLOTTER?  @@ @G: U` jP0 `P`00`U`j 5@? 0 H`,cc'SHELL Stack overflow%s %s %02d %02d:%02d:%02d %4d %02d/%02d/%02d %02d:%02d:%02d%003dPMAM%02d/%02d/%02d%4dMEZ #*2<EL UY]aeimquy}e ;Zx0NSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberTMP$.$$$f<D\>&`&>`   &  b c  `  a  c b `  d  d c b    c    a a  f     f $   Z  f   >  f $     g       S    8[  g    >     [   .  x  bgf  fn   3     ( 6 p, t 4 .   :  3( Fz    4           $   :   L >       U :   3 p < zh  9   o     <  3 Px (x   x  "   3 :  ( z T H }  {  0   3   0 .z "  $   Dt <   Vt    P     $    / L _ /     :  "     /    -  j 0 w &%  i        - (_ 2" P    4 &       4 Dt " I ( S H ,     0  ( I B  8   <     & F  8T  H   "  , R  8 j   $   1  $ 1 w  (  $  1  $ w  L~x            P 4 $ 4   <  h  6  D < , (  Ft    @ ( 2 .   6&    *$      < 0 ,   >t   2 8  ,  2  ^* $z $z  @q   " *  $   h < $     @ & x  Hz @$      w  < /  % 6  * 7 } ": 8n ( 6 &w $ w w $ w w w $     _ $ 8m W 0    $ <    6     m B   Lt 9 9 l  9   ;  : l  m  l $ m m l   m l : :  l l  l  : :  m m : :    m : : l   $  \  *B  , ^   8        B   8      "           =  =  *c p $ j .   0Q  T [       4  X   $ 2  < l $p$ @ L     *z} 8   Bt  $f  @t z@p ? Lo  3 L L $? 0 2@  ? , T    < 4  .D   $G Z    *  i   m 5  mZ $  &m 5 / $  $m 5 @ 6m <     <D(O 6& SXLL L LL(L  8  5 h . &   [   _ A A  o  8 r p q s t       B _  + u v   8  < [  r 8  B .  [    D ( ~   "m ` $ m ` m  m  m  < I  "  .  B[ [ D    *S H o v c _. S   - / X S   j [  F[ [ D <S c H _ o v" XP O K J <F H C e F G C e PS   -      " S    [J  B[ [ ^S     -  &/ /     :  D  ` V 2 6S H m o v c _ c _ ` NS  -  / [p  B[ [ P S 4    -  /6 S S c _ c _ v H m o `\ DS   6 0    R     J 0    N     2  &  *S  -  / [  B[ [ FS $    Q  -  / S  -  / [  B[ [ S l   $   [  B[ [ S S    R [ * " t [  S  c  H  m   _  o  d  v " v  v 4x  T  " ,     ["   B[ [ `S  - ,  / c H _ o v m , /     R  F S " &  [   R     "   R  *  R , ^   R  X    R   L:   (   2:6a q   N2a6 . [ l [  ,        S    S 2T  e       S ( B. B X   R  V : U } 8e3 } < XYS  p } "  Z    2 ,Q     Y %   *Q 4  W } (e   P Q ~ [,: ~.P ~ Vy W } , 2] W } , 29n        w       ~ X   P R* X  }       , m  Pp  0    o  }  @w  X ,Q4e p     X B $ J  }c 0e X $      ~ 22 p  ^ z    X  > N m   >   o. N m   :   oI (m  m * R @ "  " < "  "  z z Z4c  ^      \   Y     ] L 2 8[ c o H v _   - S / S m m     JS / S m m     S   [ / [ / J / S m     * TS      [   D  " H     \   6     @  "   2     h    H        (  X &  &  " $ * z 8  H <8 8  [  S H c _ o m v - 9  9 B9  ,r Z J  2 6 rz S - r  / r [   V     0  4 <   ,: $       w ~    .4  "  w x    4&*    D  "  w  .   w $  w  J  ` $    $ &^ <  JD         .  .  :  .   6  & . . 0   " [ (     j 2 B 0 :2  (        4 "  "     &  $$ .:   $@0$BL    2"  HH"  4  ("    w   w   0 4  J P     F$,  f  d* )  l* )    "  (   ( !@ &V * @0 H  h:$(      c $ _( "   D  L    \  B  v "$ $R @ J    N!@6!6!   .     c  _  ! !  ! !     ; 8   >t     (     (        l$      6                   #1 .   * D(  ; # j \  P  3 < *]  ,  $e        " ,   0            $*       0 "  p   Z    &  @D  <   .D    D  $ X V    ;    ;  - H n     " & ,  fD (D      Q Q 9  D   < "     F    "9     *D    4 & 8 p >         8   <  c  O  ; ;   e g  D&   *$  "   <  ! ! ! ! ! !   ! =    ! =    1  . "    2 > @     n . $     d! ! w ! ! ! ! "! "! ! ! ! ! ! !     _ _  " c " O          ! ! ! ! !  . =     x " !       j  j   ( I  6 :! ! . @  1    1    1    *! ! ! ! ! ! ! ! ! ! >! ! !  s  w  w8      ! ! ! ! !    d   ! ! ! ! ! ! ! .     !     ! ! ! ! ! !      ! ! ! 0!         P! ! &! !   ! =      ! ! ! ! w   _   j   ! ! ! !  ! ! ! ! ! !    jz  1      2! ! ! ! ! ! ! ! ! ! j! ! ! !  ! ! ! !  v    w w  w wF  u    = ! ! ! *   w   P    w $    w  O     , ! ! ! l    !  P ! ! ! w j w k  t  1  |    <! .!           w !  ! ! ! ! ! ! s         ! ! ! ! ! * (! ! ! ! ! !   y 9    w  9    w       .  ! ! ! !  ! ! ! ! ! !* L    B  &   B    c  M  ,   B  ? A A B !   ! !  ! ! (! C   ?  "@    ? @ O c M .A A ! ! $M ,@d B       !6 $! !  ! !  ! ! !  !     "   $ *  . "    2 > @ ( Z Z n   (c _ d! ! ! ! ! ! ! ! !  c  " ! !    ( I  6 :! ! . @ ;T  F   Z  N[ R  [   . R   H n D    c  .  77 H H   ^   u          .  F  r    /  .  :  g                  '  Q  |      H D [ [ r b         FK?r [ $ \ \ \ * 'J \ \ \ B\ \ \ \ H *\   K \ \ \ \ \ \ \ \ " \ <\ \ \ \ \  \ \ \ <q L  ] L L ] M ^ ^ M M M ^ ^ ^ M1 ^   @1 z' ' ' ' ' ' C$.4   '                                      E F0EEEEE4E"E FFF  N ! a ` & * O    =  P * w ( ( ) w $  w    w:*(4,,(,$H(x.(, R ( = ]bXcXl H^ b     4=  J4RX {4XXhX {XXX>` $ *`BR@6]t` BW V $WV $W6W V $WV $WW ,  "#2!0".V#F">!.>(P z @ x    $ ' ^ ' 4 '2 { {#: '0 L 2':" $z {#D "'$*  '} | B : "' ' G8l    Z#. '&fp & '  {    ` ',  ,Hl T T T.V\8+$++$@ff '` 'J '  '  '  "V bV V V V V 2V V V$+ ' ' 'L W:F,0 X'* '*H$RwF*""*14 X X X X X X X X X ~ J' '` @' '] p'*$(4)0d, L I d *  .  R' 8V Y Y ,[ \ ; J >        f   Z Z 6Z v  0(RNJt ne l m m le n o o n p q q p f 2i g^y]x| <   ?RfuGXFEDWgCBV <)5/X>CkE~kWLoB9 hYpO.xA+n  8 i&9A`+,%7:Y$7;=^0?&  6AjN}0 j  >   6- %    %*   #        (s    ~  w t 2$         {   I   T  Q M   K  S                                                 "            \e   c   d   b  6                 E <  '  )   P                _  9  3                        = 5 q I = = =  =  =\N  [  P 1 f ~ | '  =  = =  = (G    }   .            =  =0 5    "  ", 3    ! &   'I  .    =   8 = =   =  =    =      =$ =      =/ : (l   N  7   a  w  G  V [ S  B  K  @  D  H  M  _ W  c  b m  o  z  v                        =  =      -  ; =   =?  S  r e =    =U   {   g =   =o  s q M m u : = =    =  =H  U   j  n = =   =  =A  X d 4r   n =  =  =j    , =   =v Q 2  4   C   L          &        %   + =     =D       Y    O    R =      =i =      =` =     =a         h       l N $Ek   m M \  i i i i  iiiiiiiii T      J{ t         p                  p   p    p   p   P     K     O     J     !  " #  $  % &  ' ! (  )  *  +  ,  - . >/ 0 1 2 3 4 3 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q K K L M N O P K K K K K K K K K K K K K K K K K K K K K K K K K R S T U V W X Y Z [ \ ] 3 < Q : ] y 9 Y n R e c 2 ^ . I p o O @ 4 5 T D G i Z /     $          }  z w q               B 8            _    J     S j  p   "  ,   ^    ,      $                  G.Y2g c             ! " # $ % 4& ' 8( ) * + , - . / 0 1 2 3# 4 $   5 &   6 p  7 p  - 8 p  9 p   : p   ; p  < p  =   ( >   ) ?   * @   + A   , B    C  " ' D  " " E  " % F J G H G H # I |J| I J  K Lp K L - M N O  P  Q  R  S T U 2 V  W  X  Y  Z  [  \  ] ^  _  `  a  b  c  d F e . f  g F h  i  j k  l y m F n ! o  p q 1 r  s / t g u F v 3 w  x 0 y  z { 6 | 8 } 4 ~ 8   E  9    <  ;  4  8   D  9    6  8  4  8   C  :    6  8  5  8  B  >  =  ?  @  A  9   7    R Y :  - O T G 2  ^ i Z / . I    p  p                  p   J    E 4 L F              ) )  )                                U                                                                               p   p   p   p    p    p                    ,    "           J        ! " #  $  %  &  '  ( ) *  +  ,  -  .  /  0  1  2 3  4  5  6  7  8  9 l :  ; k <  =  >  ?  @  A  B C  D t E  F  G  H  I  J  K z L  M  N  O  P y Q  R  S T  U  V  W  X  Y  Z  [  \ v ]  ^ u _  `  a  b c  d s e  f | g  h  i  j k  l  m  n  o p  q  r s t  u  v  w  x  y  z  {  |  } ~                                                                                                                                     L   R Y :     T G 2 e          $   !                      *         ,                        p   p   p    p   p     !   "                                                          P         p   p    p    "                 ! "  #  $Z   R Y :   O T G 2 e       %  ! &   '   ( % ) * ' + & , -t s . / 0  1 2 3 1 2 / 4 0 H   R Y 4 6/ . 3 O T G 2 e ^ i Z / . I JH[r K  (L M N O P BQ= R* S S S S S S S) S S S S S S S( S S S S S S S S S S S S S S S S S S S S S S S S  S T U U U U UZ{~ V W X Y Z       =             _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  5 6 7 8 9 : ; < = > ? @ A B C [ \ ] ^ _ ` a b c d k l m n o p q @ 8     r s t u v w x y z { | } ~                               @ @                                                                           " "   ! " # $ % & ' ( @) @* + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                           @ @                                                                                !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0 1  2 3  4  5 6  7 8  9  :  ;  < =  >  ?  @  A B  C  D  E " F " G H  I  J  K  L M  N  O  P Q  R  S T  U  V W  X  Y Z  [  \  ]  ^ _  `  a b  c  d  e  f g  h i  j k  l  m n  o  p  q r  s  t  u v  w  x  y z  {  | }  ~                                                       "  "                   _abortRaERR_MESS ERR_MEMORYyline ERR_MODULE _DigCnvTxbiosDESKTOP _GemParBlk _ScnStrB _ScnStrC _ScnStrS _ChrCla2 _ChrCla1ERR_ACCw_rboxw_draww_invACSinitACSinit0xline _MemCluLwputsw_barw_clr _ScnIntD _MemBlkLwithin_BasPag _namMonLen _namMonFul _namMonAbr _ScnCarH _ScnCarO _ScnCarDv_bezACSdescrXbtimerv_rbox _namDayLen _namDayFul _namDayAbrwritev_eeosvq_aesw_arcv_barDMAwritev_rvonvex_timvv_eeolvex_motvvdivscanfw_updateVdiescVsyncv_arcuputs xgrf_stepcalcVDI_pbyline2DMAread vst_setsize vqt_widthvst_unload_fontsvex_curv vst_scratch xgrf_2boxwprintfvex_butv vst_rotation v_write_metaunlinkvst_skew v_savecache vst_pointv_soundvqt_namev_set_app_buffw_rfbox vqt_justified vswr_modewvprintf vrq_valuatorungetcvst_load_fontsvqt_get_tables vrq_stringxline2v_show_cv_updwkultoaw_pline vst_height vqt_extent vqt_devinfo vst_errorvst_font vqt_fontinfo vrt_cpyfmv_rvoff w_pieslicevprintf vqt_f_extent vqt_advanceTalarmtmpnam vst_effectsvqt_attributes vst_color __WINDOW_ICv_output_window vqt_cachesizeDRAFT_ON DRAFT_OFF w_pmarker vst_alignmentstrcpy xywh2arrayVDI vst_arbpt vrq_locatorv_rfboxv_opnvwkv_rmcurstrrevvsscanfvfscanf vfprintftimevsprintfTRwindowSetprtstrsetstrcat w_justified vsm_valuatorv_opnwkvsm_type vsm_stringstruprstrlwrstrchrstrstr wind_createSuper wind_update wind_open vrq_choicev_pline wind_close vsl_udstyScrdmpstrdupsetjmpstrcmp wind_find vqp_filmnamevsp_filmtoupperwind_newwind_getwind_set wind_delete v_pieslice vsl_widthvsl_typev_meta_extentsstrspnuprintfstrlen wind_calcsystemstrtolsignal vro_cpyfmstrtokSsbrk v_pmarkerv_offset text_blt vsm_locatorsetbufsscanfscanf vsm_heightuvprintfSyieldsrand v_justifiedSetexcRwabswrite_multiline set_wrt_mode v_killoutline __TRASH_IC vsm_choice set_textvqm_attributes vsm_color__NEW_IC setbufferRandomvql_attributesw_gtextvsl_ends vsl_color v_getoutline set_pattw_ellarc w_fillarea v_get_pixel setmontracks w_ellipse v_hardcopy settracksSetcolorw_ellpie v_loadcachetimezone setsndmode vsf_style terminatew_circle vsf_udpatsetmodestrnsetRsconf setinterruptstrftime v_flushcachestrcspnrenameremoveraise strerror w_contourfillrewindqsortrandread v_enter_curSysconf vsf_perimeter set_ln_masktolowersoundcmdSettimetmpfileTRmousestrtoul v_form_advSupexec v_fontinit unlocksndsprintfstrcmpi vqin_mode vsin_mode v_bez_qual vsf_interiorv_gtext set_fg_b v_bez_offv_bez_on sys_errl set_clipv_dspcurv_clsvwkv_ellarc strnicmp v_fillarea Setscreen v_ellipsev_hide_c v_bez_fillsetvbuf Setpalettev_ellpiev_ftextv_curupv_clswk v_curdown v_curhomestrncpyv_circlev_clrwk v_currightstrncat _TITLE_MODULEstrrchr v_curtext v_curleft v_curaddressstricmpstrncmpistrncmp v_bit_imagevqf_attributes vsf_color v_contourfillPwait v_exit_curstrpbrkputs scrp_writeperror v_escape2000 scrp_clearvt_axis v_cellarray scrp_readvq_extndvsc_formPtermv_clear_disp_listPkill vsc_expose _VDIParBlkPrtblkPumaskPvfork v_alpha_textPforkwr_recflvs_mute vq_curaddress vs_curaddress_RAD_TU_RAD_FUPmsgvq_mouse vt_origin_RAD_TS_RAD_FS vm_coordsprintfvr_trnfm show_mouvq_colorvs_colorPausePnicePexecputcvs_clip rsrc_freeTgettimeTsettime rsrc_loadPhysbase vt_alignment rsrc_rcfix rsrc_obfix rsrc_saddr rsrc_gaddropenvq_vgdos vm_filename put_pixel vq_chcellsPusrval vt_resolutionvq_gdos vq_cellarrayvq_tdimensions A_3Dbuttonvq_scanvr_recfl vq_tabstatus undraw_svq_key_s vm_pagesize vs_paletteTgetdateTsetdateputchar transforSversion sndstatusPrusagememcpyTickcalProtobt OutBlankMfpintmemsetMidiwsmemchrmemcmpOutZeroshel_put shel_writemain shel_envrn seed_fil shel_findshel_get shel_read shel_wdef shel_rdefPdomainldivmktimeMfreePuntaes print_stPwait3Mallocmalloc Psigsetmasklabs PsigreturnPterm0 Psigpause PsigpendingPsignallseekreallocMetainitLinea PsigactionPsetuidPgetuidltoa PsigblockPsetpgrpPgetpgrpread_multilinePgetppidKeytblPgetpid PsetlimitPtermresmon_typeKbratePrenicePsetgidPgetgid objc_order objc_drawPgetegidPgeteuid objc_find objc_change objc_offset objc_deleteobjc_add objc_edit PsemaphorememmoveOffgibitOngibitisattyIkbdws menu_attach menu_istart menu_popupmenu_unregister menu_tnormalKbshiftVDI_blk menu_text menu_settings menu_ienable menu_register menu_icheckmenu_barlongjmp oldgemdosINwindowiswordIorecMshrink isxdigit linea_init Linea_fuitoaisupperGetrez intersectgetenvgemdosgetsgpioMaddalt horizontMediachispunctMxalloclocksndgmtimeisspaceLogbaseisprintJenabintFsnextFontsfputsfgetsgetcGem_pbFlopwrFxattrGetbpbGetmpbislowerferror localtimeINmouseFdupfilenoFchown isodigitfopenFopenfitin get_pixeFcntlftellFlinkFlockFseekfseek get_plotter get_protocolFsymlinkJdisintfflushfscanffeofFforcefclosefwriteFwriteFcloseFpipefreeFloprdFchmodfreadFreadexitgetcharfputcfgetcGettime get_desktoperrnoFoutstat get_editorKbdvbaseInitmous get_acsblkFattrib initializedivexecDrvmapfprintfFputcharext_syncFlopverDcntlDlockFloprateiscntrlFinstatdaylightisgraphDfreecreatCconwsCauxisCauxosCconisCconosCconrsCprnosPLOTTER form_buttonisdigit form_errorEDITORform_do devconnectFcreate form_alert form_dialCrawio form_keybd form_centerCauxinCconinCnecinFlopfmtPROTOCOLisalnumisalphaclockDosound INbackplanclosectimeftimtotm ftimtoseccallocbiosisasciiCauxoutBconin dsptristate filled_rfilled_polygon hide_mouDopendir FmidipipeFsfirstatexitabort evnt_button evnt_multiCprnoutabs evnt_mouseDcreateAwi_upAob_up evnt_timerfsetposfgetpos evnt_mesag evnt_keybd evnt_dclickfreopenatolACSblk Dclosediratoi A_wisliderCconoutAev_unhidepointerCursconfFselect Aev_releaseGiaccessAES_pbAev_quit FreadlinkFdeleteAev_mess fsel_exinputAct_save graf_rubboxFgetdtaFsetdtagraf_rubberbox eventhandler EvntMultiDsp_SetVectors Dsp_Unlock edit_free graf_dragbox graf_growboxFgetcharbit_blt edit_appline array2xywh graf_movebox Dsp_Reserve graf_mouse Act_restore edit_invers fsel_inputDsp_RequestUniqueAbility Dsp_TriggerHCFrename graf_slidebox graf_mkstateDsp_RunSubroutineDsp_RemoveInterruptsBcostatgraf_shrinkbox Dsp_OutStream graf_mbox graf_watchbox graf_handle Adr_unselect Aus_sliderBconout_uldiv copy_rasBconstat_ldivFdatime__Font__exit_abortDsp_InqSubrAbilityBioskeys_exitDsp_LodToBinary Dsp_HStatBconmapDsp_Lock Dsp_LoadProgDsp_LoadSubroutine_aesDsp_GetProgAbilityDsp_GetWordSizeAdr_nextAESDsp_FlushSubroutines Adr_start_xcpqDsetpathDgetpath_appA_select Auo_wislider Ast_delete Dsp_ExecBoot Dsp_ExecProgA_slider Dsp_IOStream Dsp_InStream_ulmul_lmul A_pattern Dsp_BlkBytes Dsp_BlkWordsDsp_BlkUnpackedDsp_BlkHandShake Ast_create Auo_string Aus_editor Abp_start Aus_delete Amo_return Amo_restartAmo_show_xcpi_vdiacs_call Amo_unbusyAdr_find Dsp_Available_xcph Auo_slider Aus_createAdr_box Aus_cycle A_radiobuttonAmo_newAdr_del Amo_point Drewinddir_xceDsetdrv_ulmodDgetdrv_lmod _AtExitVDsp_Hf3 Auo_pictureDsp_Hf2 Dsp_DoBlockDsp_Hf1Adr_dragDsp_Hf0 clearerrDreaddirDdeleteAdr_add EgetShift EsetShiftA_nokey EsetSmear A_picture __text_b EgetPalette EsetPalette Abp_deleteAbp_end appl_exitAmo_hide appl_bvset Abp_create appl_trecord appl_write Auo_editor Auo_ftext appl_tplayAmo_busy appl_initBlitmode appl_find appl_yield appl_search appl_read Dpathconf Auo_cycle__MENU Awi_sized Awi_vslidbuffptr Auok_editor Awi_toppedAwi_wid Awi_service Awi_scroll_crystalEsetGray Aim_deleteAwi_show Awi_sendall EsetColorAwi_rootEsetBank_aesP_INFP Awi_obviewbuffoper Aim_createbsearch Awi_obredraw draw_spr_NAN Awi_redraw _fpuvect Awi_moved A_innerframe_INFM Awi_objc_edit draw_circle draw_linAwi_keysAwi_lateupdateAwi_listAwi_openAsh_prog Awi_obchange Awi_invalid _FreeAll_ScanF_PrintFAwi_init Awi_hslid _fpumode Ash_moduleAwi_down Awi_fulled alert_str_OutStr Ame_strpopup _fpuinit Awi_delete A_fontsel Awi_closedCrawcinAwd_verAme_root Awi_arrowed A_fileselect Aed_saveasAed_save Awi_cleanup Awi_create Awi_diastart Awi_diaend Ame_popup _fpuctrlAed_wrapAed_undoAed_replacenext Aed_replace Ame_namefixAme_key Aed_toclip Aed_paste _StdOutF Aed_option Aob_watch _StdPrnFAed_quitAwd_quit _OutIntDA_ftext Aed_mergeAwd_listA_editorAob_save _StkOverAed_openAwd_open Aob_wobkey_StkLim Aob_restore Awd_module Aob_select _FlshBufAwd_hor Aed_gotolineA_arrowsAme_drop_OutChr _OutCarO _OutCarH _OutCarD_xcln2_xclg2_xc2 Ate_deleteAed_infoAwd_info_xc1 Aed_fromclip _StdErrFAed_font Aed_findsel Aed_findnextAed_find_xc10Aob_key Aob_offset Ate_create Aed_cutlineAed_cut Apaste_text Apaste_rows _StdAuxFAed_copy Awd_delete Awd_closeasctime _FillBufA_dialog_UpcTabAx_mterm Awd_behaviourAob_fix A_checkbox Aic_delete_StdInF accgemdos Aob_findflag_LocTabA_cycle Aic_create _conSecDatAx_free Aob_delete Aob_execute Aob_create Aob_chdef Aob_alias _heapErr _monDaySum _monDayLen _rdSysTim__filled_polygon _RemoveTAx_ifree Ax_release _cnvDatSec Ax_malloc _InsFreB _TmpFile _FilSysV ERR_WISLOT ERR_WINDOW_XltErr_FilTab A\$ ȑ,af8`@"LlA z$*\kH qw|IL _u q< P` IYK ` Z*d @*6Ad NIL) AND (t. mode = fmOutput)) Then Begin if (t. BufPos > 0) Then BEGIN Buf := Pointer(t. BufPtr); if (t. Bufpos >= t. Bufsize) then BEGIN for i:= 0 to t. BufPos do strng [i] := Buf^[i]; p := @strng; END ELSE BEGIN t. BufPtr^[t. BufPos] := chr(0); p := t. BufPtr; END; wvprintf (wi, @form, @p); t. BufPos := 0; END; FlushFunc := 0; END ELSE FlushFunc := 1; END; Function CloseFunc (var t: TextRec): Integer; Var user: MyUserPtr; wi: AwindowPtr; db: Boolean; Begin user := @(t. userdata); wi := user^; if (wi <> NIL) Then Begin db := wi^. service (wi, AS_TERM, wi); user^ := NIL; CloseFunc := 0; End Else CloseFunc := 1; End; Function OpenFunc (var t: TextRec): Integer; Var user: MyUserPtr; wi: AwindowPtr; di: Integer; Begin OpenFunc := 0; if (t. mode = fmOutput) Then Begin user := @(t. userdata); if (user^ = NIL) Then Begin { Noch nicht offen } wi := get_protocol^. create (NIL); if (wi <> NIL) Then Begin user^ := wi; t. InOutFunc := @InOutFunc; t. FlushFunc := @FlushFunc; t. CloseFunc := @CloseFunc; di := wi^. open (wi); End Else Begin { Konnte kein Fenster erzeugen } OpenFunc := 1; END END; End Else Begin { Nur Output erlaubt } OpenFunc := 1; End; End; Procedure ACSprotocol (var f: Text); Var t: ^TextRec; user: MyUserPtr; Begin t := @f; t^. OpenFunc := @OpenFunc; t^. BufSize := 128; t^. BufPtr := @(t^. Buffer); t^. mode := fmClosed; user := @(t^. userdata); user^ := NIL; End; begin end.