terug.gif
#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]);
}
terug.gif