#include <dos.h> #include <dir.h> #include <stdio.h> #include <string.h> #include <conio.h> #include <sys\stat.h> #include <fcntl.h> #include <io.h> typedef struct { unsigned char error; char szError[65]; } Error; Error error[] = { {1,"Font of Pattern file niet gevonden" }, {2,"Te veel GOSUB's" }, {6,"Checksum onjuist" }, {7,"Verkeerd tekstformaat opgegeven" }, {18,"Te veel DO statements" }, {22,"Geen DATA meer" }, {29,"Onbekende of ontbrekende functie" }, {30,"Array te lang in DIM statement" }, {31,"RETURN zonder GOSUB" }, {38,"Stack fout in PROC of FUNCTION" }, {39,"Poging tot gebruik van variabele" }, {44,"Onbekende OSBYTE aanroep" }, {47,"Disk is vol" }, {48,"Onbekend *-commando" }, {49,"Bestand niet gevonden" }, {50,"Pad niet gevonden" }, {51,"Geen vrije handle meer" }, {52,"Toegang tot bestand geweigerd" }, {53,"Onbekende handle gebruikt" }, {59,"Toegangscode ongeldig" }, {62,"Onbekende drive" }, {63,"Actuele directory mag niet verwijderd worden" }, {65,"Geen bestand(en) meer" }, {69,"Niet toegestaan FDIM statement" }, {76,"Assembler label fout" }, {91,"Hexadecimaal getal verwacht" }, {94,"Onbekend statement" }, {95,"Floating point gegeven niet correct" }, {109,"Getal te groot" }, {111,"Ontbrekende variabele in FOR statement of teveel FOR statements" }, {118,"Onjuiste naam" }, {120,"'(' verwacht" }, {123,"Niet toegestaan floating point argument" }, {127,"Regelnummer niet gevonden" }, {128,"Argument SIN, COS of TAN te groot" }, {129,"Deling door 0, ontbrekende CEND of beschermde RAM" }, {132,"WEND zonder WHILE" }, {134,"Array index buiten bereik" }, {135,"Syntax niet correct" }, {137,"Fout in parameterlijst" }, {138,"Variabele verwacht" }, {149,"Floating point array index buiten bereik" }, {152,"GOSUB zonder RETURN of FOR zonder NEXT" }, {156,"Illegale adressering in assembler" }, {157,"Label niet gevonden" }, {159,"Niet afgesloten """ }, {163,"Niet toegestane of teveel namen" }, {165,"Laden van file onderbroken" }, {166,"Ontbrekend PEND of FEND statement" }, {169,"Floating point resultaat te groot" }, {174,"Belangrijk gegeven ontbreekt" }, {191,"LOG of macht van 0 of negatief getal" }, {198,"UNTIL zonder DO" }, {200,"Foutieve string" }, {208,"Assembler mnemonic niet herkend" }, {210,"Ontbrekend CEND statement" }, {216,"Niet toegestaan DIM statement" }, {221,"Disk is beschermd tegen schrijven" }, {230,"NEXT zonder FOR" }, {237,"Niet mogelijk CONT statement" }, {238,"Argument voor EXP te groot" }, {242,"Te veel WHILE statements" }, {248,"Onvoldoende geheugen" }, {249,"Ontbrekende WEND of ELSE" }, {253,"Van deze fout kan ik geen chocolade maken!" }, {254,"Statement alleen in direct mode toegestaan" } }; unsigned char tab[256]; void initerror(void); void Process(char); void PrintError(int); void initerror() { int i, j; j=0; for (i=0; i<255; i++) { if (error[j].error == i) { tab[i]=j++; } else { tab[i]=253; } } } void PrintError(int waarde) { int i; for (i=0; i<strlen(error[tab[waarde]].szError); i++) Process(error[tab[waarde]].szError[i]); }