-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathD3ERR.PAS
356 lines (349 loc) · 13.5 KB
/
D3ERR.PAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
{ @author: Sylvain Maltais (support@gladir.com)
@created: 2023
@website(https://www.gladir.com/dbase-tools)
@abstract(Target: Free Pascal, Turbo Pascal 7)
}
Program D3ERR;
Const
ErrorMsgList:Array[1..150]of String[50]=(
{1}'File does not exist.',
{2}'Unassigned file no.',
{3}'File is already open.',
{4}'End of file encountered.',
{5}'Record is out of range',
{6}'Too many files are open.',
{7}'File already exists.',
{8}'Unbalanced parenthesis.',
{9}'Data type mismatch.',
{10}'Syntax error.',
{11}'Invalid function argument.',
{12}'Variable not found.',
{13}'ALIAS not found.',
{14}'No find.',
{15}'Not a dBASE database.',
{16}'Unrecognized command verb.',
{17}'Cannot select requested database.',
{18}'Line exceeds maximum of 254 characters.',
{19}'Index file does not match database.',
{20}'Record is not in index',
{21}'Out of memory variable memory',
{22}'Out of memory variable slots',
{23}'Index is too big (100 char maximum)',
{24}'ALIAS name already in use.',
{25}'Record is not inserted',
{26}'Database Is not Indexed.',
{27}'Not a numeric expression.',
{28}'Too many indices.',
{29}'File is not accessible.',
{30}'Position is off the screen.',
{31}'Invalid function name.',
{32}'Unknown Error',
{33}'Structure invalid.',
{34}'Operation with Memo field invalid',
{35}'Unterminated string.',
{36}'Unrecognized phrase/keyword in command.',
{37}'Not a Logical expression.',
{38}'Beginning of file encountered.',
{39}'Numeric overflow (data was lost)',
{40}'Unknown Error',
{41}'.DBT file cannot be opened.',
{42}'CONTINUE without LOCATE.',
{43}'Insufficient memory.',
{44}'Cyclic relation.',
{45}'Not a character expression.',
{46}'Illegal value.',
{47}'No fields to process.',
{48}'Field not found',
{49}'File has been deleted.',
{50}'Report file invalid.',
{51}'End of file or error on keyboard input',
{52}'No database is In USE.',
{53}'There are no files of the type requested in this drive or catalog.',
{54}'Label file invalid.',
{55}'Memory Variable file is invalid.',
{56}'Disk full when writing file: filename',
{57}'Execution error on CHR() Out of range.',
{58}'Execution error on LOG() Zero or negative.',
{59}'Execution error on SPACE() Too large.',
{60}'Execution error on SPACE() Negative.',
{61}'Execution error on SQRT() Negative.',
{62}'Execution error on SUBSTR() Start point out of range.',
{63}'Execution error on STR() Out of range.',
{64}'Internal error: Unknown command code',
{65}'Internal error: CMD SET',
{66}'Internal error: EVAL work area overflow',
{67}'Internal error: Illegal opcode',
{68}'Internal error: **WARNING** Data will probably be lost Confirm Y/N?',
{69}'Unknown Error',
{70}'Unknown Error',
{71}'Unknown Error',
{72}'Database in Use:could not be opened.',
{73}'Expected ON or OFF',
{74}'^---Truncates',
{75}'Out of range',
{76}'Execution error on concatenated string too large.',
{77}'Execution error on + Concatenated string too large.',
{78}'Execution error on -ve base, fractional exponent.',
{79}'Execution error on STORE String too Large.',
{80}'Invalid date (press SPACE)',
{81}'Not Found',
{82}'Is not a dBASE command.',
{83}'Unlink of old name incomplete',
{84}'Unknown Error',
{85}'^---Keyword not found',
{86}'Unknown Error',
{87}'Execution error on NDX(): Invalid index number.',
{88}'Execution error on REPLICATE(): String too large.',
{89}'Cannot erase a file which is open.',
{90}'Operation with Logical field invalid',
{91}'File was not LOADed.',
{92}'Unable to load COMMAND.COM.',
{93}'No PARAMETER statement found.',
{94}'Wrong number of parameters.',
{95}'Valid only in programs.',
{96}'Mismatched DO WHILE and ENDDO.',
{97}'Bad read or illegal printer file',
{98}'Not a RunTime file',
{99}'Invalid DOS SET option.',
{100}'Lock failed, but not because of previous lock.',
{101}'Not suspended.',
{102}'Execution error on STUFF() String too large.',
{103}'DOS nested too deep',
{104}'Unknown function key.',
{105}'Table is full',
{106}'Invalid index number.',
{107}'Invalid operator.',
{108}'File is in use by another.',
{109}'Record is in use by another.',
{110}'Exclusive open of file is required',
{111}'Cannot write to read-only file.',
{112}'Index expression is too big (220 char maximum).',
{113}'Index Interrupted. Index will be deleted if not completed.',
{114}'Index damaged. REINDEX should be done before using data.',
{115}'Invalid DIF File Header.',
{116}'Invalid DIF vector DBF field mismatch.',
{117}'Invalid DIF Type Indicator',
{118}'Invalid DIF Character.',
{119}'Invalid SYLK File Header.',
{120}'Invalid SYLK File Dimension Bounds',
{121}'Invalid SYLK File Format.',
{122}'Data Catalog has not been established',
{123}'Invalid printer port.',
{124}'Invalid printer redirection.',
{125}'Printer not ready. Retry? (Y/N)',
{126}'Printer is either not connected or turned off.',
{127}'Not a valid VIEW file.',
{128}'Unable to SKIP',
{129}'Unable to LOCK',
{130}'Record is not locked.',
{131}'Database is encrypted.',
{132}'Unauthorized login',
{133}'Unauthorized access level',
{134}'Not a valid QUERY file.',
{135}'Unsupported path given.',
{136}'Maximum record length exceeded.',
{137}'Unknown error',
{138}'No fields were found to copy.',
{139}'Cannot JOIN a file with itself.',
{140}'Not a valid PFS file.',
{141}'Fields list too complicated.',
{142}'Relation record is in use by others.',
{143}'Query not valid for this environment.',
{144}'Unauthorized duplicate.',
{145}'Error in configuration value.',
{146}'Maximum path length exceeded.',
{147}'Cannot append in column order.',
{148}'Network server busy.',
{149}'Master catalog is empty.',
{150}'HELP text not Found.'
);
ErrorDescList:Array[1..150]of String[80]=(
{1}'Le fichier n''existe pas.',
{2}'Num‚ro de fichier non attribu‚',
{3}'Le fichier est d‚j… ouvert.',
{4}'Fin de fichier rencontr‚e.',
{5}'L''enregistrement est en dehors de l''intervalle',
{6}'Trop de fichiers sont ouverts.',
{7}'Le fichier existe d‚j….',
{8}'ParenthŠse d‚s‚quilibr‚e.',
{9}'Incompatibilit‚ de type de donn‚es.',
{10}'Erreur de syntaxe.',
{11}'ParamŠtre de fonction non valide.',
{12}'Variable introuvable.',
{13}'ALIAS introuvable.',
{14}'Aucun r‚sultat.',
{15}'Pas une base de donn‚es dBASE.',
{16}'Verbe de commande non reconnu.',
{17}'Impossible de s‚lectionner la base de donn‚es demand‚e.',
{18}'La ligne d‚passe le maximum de 254 caractŠres.',
{19}'Le fichier d''index ne correspond pas … la base de donn‚es.',
{20}'L''enregistrement n''est pas dans l''index',
{21}'M‚moire variable insuffisante',
{22}'Emplacements de variable de m‚moire insuffisants',
{23}'L''index est trop grand (100 caractŠres maximum)',
{24}'Nom ALIAS d‚j… utilis‚.',
{25}'L''enregistrement n''est pas ins‚r‚',
{26}'La base de donn‚es n''est pas index‚e.',
{27}'Ce n''est pas une expression num‚rique.',
{28}'Trop d''indices.',
{29}'Le fichier n''est pas accessible.',
{30}'La position est en dehors de l''‚cran.',
{31}'Nom de fonction invalide.',
{32}'Erreur inconnue',
{33}'Structure invalide.',
{34}'Op‚ration avec champ M‚mo invalide',
{35}'ChaŒne non termin‚e.',
{36}'Phrase/mot clef non reconnu dans la commande.',
{37}'Ce n''est pas une expression logique.',
{38}'D‚but de fichier rencontr‚.',
{39}'D‚bordement num‚rique (donn‚es perdues)',
{40}'Erreur inconnue',
{41}'Le fichier .DBT ne peut pas ˆtre ouvert.',
{42}'CONTINUE sans LOCATE.',
{43}'M‚moire insuffisante.',
{44}'Relation cyclique.',
{45}'Ce n''est pas une expression de caractŠre.',
{46}'Valeur ill‚gale.',
{47}'Aucun champ … traiter.',
{48}'Champ introuvable',
{49}'Le fichier a ‚t‚ supprim‚.',
{50}'Fichier de rapport invalide.',
{51}'Fin de fichier ou erreur lors de la saisie au clavier',
{52}'Aucune base de donn‚es n''est en cours d''utilisation.',
{53}'Il n''y a pas de fichiers du type demand‚ dans cet unit‚ ou ce catalogue.',
{54}'Fichier d''‚tiquettes invalide.',
{55}'Le fichier de variables de m‚moire n''est pas valide.',
{56}'Disque plein lors de l''‚criture du fichier sp‚cifi‚',
{57}'Erreur d''ex‚cution sur CHR() en dehors de l''intervalle.',
{58}'Erreur d''ex‚cution sur LOG() avec z‚ro ou n‚gatif.',
{59}'Erreur d''ex‚cution sur SPACE() est trop grand.',
{60}'Erreur d''ex‚cution sur SPACE() est n‚gatif.',
{61}'Erreur d''ex‚cution sur SQRT() est n‚gatif.',
{62}'Erreur d''ex‚cution sur SUBSTR() avec un point de d‚part en dehors des limites.',
{63}'Erreur d''ex‚cution sur STR() en dehors de l''intervalle.',
{64}'Erreur interne : code de commande inconnu',
{65}'Erreur interne : CMD SET',
{66}'Erreur interne : d‚bordement de la zone de travail EVAL',
{67}'Erreur interne : code d''op‚ration ill‚gal',
{68}'Erreur interne : **ATTENTION** Les donn‚es seront probablement perdues. Confirmer oui ou non.',
{69}'Erreur inconnue',
{70}'Erreur inconnue',
{71}'Erreur inconnue',
{72}'Base de donn‚es en cours d''utilisation : impossible d''ouvrir.',
{73}'Attendu ON ou OFF',
{74}'Tronque',
{75}'Hors de port‚e',
{76}'Erreur d''ex‚cution sur la chaŒne de caractŠres concat‚n‚e trop grande.',
{77}'Erreur d''ex‚cution sur ®+¯ avec une chaŒne de caractŠres concat‚n‚e trop grande.',
{78}'Erreur d''ex‚cution sur base -ve, exposant fractionnaire.',
{79}'Erreur d''ex‚cution sur un STORE de chaŒne de caractŠres trop grande.',
{80}'Date invalide (appuyez sur la Barre d''espacement)',
{81}'Pas trouv‚',
{82}'Ce n''est pas une commande dBASE.',
{83}'Dissociation de l''ancien nom incomplŠte',
{84}'Erreur inconnue',
{85}'Mot clef introuvable',
{86}'Erreur inconnue',
{87}'Erreur d''ex‚cution sur NDX() : Num‚ro d''index invalide.',
{88}'Erreur d''ex‚cution sur REPLICATE() : chaŒne de caractŠres trop grande.',
{89}'Impossible d''effacer un fichier ouvert.',
{90}'Op‚ration avec champ logique invalide',
{91}'Le fichier n''a pas ‚t‚ charg‚.',
{92}'Impossible de charger COMMAND.COM.',
{93}'Aucune instruction PARAMETER trouv‚e.',
{94}'Mauvais nombre de paramŠtres.',
{95}'Valable uniquement dans les programmes.',
{96}'DO WHILE et ENDDO incompatibles.',
{97}'Mauvaise lecture ou fichier d''imprimante ill‚gal',
{98}'Pas un fichier RunTime',
{99}'Option DOS SET invalide.',
{100}'Le verrouillage a ‚chou‚, mais pas … cause du verrouillage pr‚c‚dent.',
{101}'Non suspendu.',
{102}'Erreur d''ex‚cution sur STUFF() d''une chaŒne de caractŠres trop grande.',
{103}'DOS imbriqu‚ trop profond‚ment',
{104}'Touche de fonction inconnue.',
{105}'Le tableau est plein',
{106}'Num‚ro d''index invalide.',
{107}'Op‚rateur invalide.',
{108}'Le fichier est utilis‚ par un autre.',
{109}'L''enregistrement est utilis‚ par un autre.',
{110}'L''ouverture exclusive du fichier est requise',
{111}'Impossible d''‚crire dans un fichier en lecture seulement.',
{112}'L''expression d''index est trop grande (220 caractŠres maximum).',
{113}'Index interrompu. L''index sera supprim‚ s''il n''est pas compl‚t‚.',
{114}'Index abŒm‚. REINDEX doit ˆtre fait avant d''utiliser les donn‚es.',
{115}'Entˆte de fichier DIF non valide.',
{116}'Non-concordance du champ DBF du vecteur DIF non valide.',
{117}'Indicateur de type DIF invalide.',
{118}'CaractŠre DIF non valide.',
{119}'Entˆte de fichier SYLK non valide.',
{120}'Limites de dimension de fichier SYLK non valides',
{121}'Format de fichier SYLK non valide.',
{122}'Le catalogue de donn‚es n''a pas ‚t‚ ‚tabli',
{123}'Port d''imprimante invalide.',
{124}'Redirection d''imprimante invalide.',
{125}'L''imprimante n''est pas prˆte. Recommencez? (O/N)',
{126}'L''imprimante n''est pas connect‚e ou est ‚teinte.',
{127}'Ce n''est pas un fichier VIEW valide.',
{128}'Impossible … SKIP',
{129}'Impossible … LOCK',
{130}'L''enregistrement n''est pas verrouill‚.',
{131}'La base de donn‚es est crypt‚e.',
{132}'Connexion non autoris‚e',
{133}'Niveau d''accŠs non autoris‚',
{134}'Fichier QUERY non valide.',
{135}'Chemin d''accŠs non pris en charge indiqu‚.',
{136}'Longueur d''enregistrement maximale d‚pass‚e.',
{137}'Erreur inconnue',
{138}'Aucun champ … copier n''a ‚t‚ trouv‚.',
{139}'Impossible d''appliquer un JOIN d''un fichier avec lui-mˆme.',
{140}'Fichier PFS non valide.',
{141}'Liste des champs trop compliqu‚e.',
{142}'L''enregistrement de la relation est utilis‚ par d''autres.',
{143}'Requˆte non valide pour cet environnement.',
{144}'Duplicata non autoris‚.',
{145}'Erreur dans la valeur de configuration.',
{146}'Longueur maximale du chemin d‚pass‚e.',
{147}'Impossible d''ajouter dans l''ordre des colonnes.',
{148}'Serveur r‚seau occup‚.',
{149}'Le catalogue principal est vide.',
{150}'Texte d''aide introuvable.'
);
Var
P:Byte;
Err,W:Word;
CurrParam:String;
BEGIN
P:=0;
Repeat
Inc(P);
CurrParam:=ParamStr(P);
If Length(CurrParam)=0Then Break;
If CurrParam='/?'Then Begin
WriteLn('D3ERR Cette commande permet d''afficher un code d''erreur DBase III.');
WriteLn;
WriteLn('Syntaxe:');
WriteLn;
WriteLn('D3ERR [/?] nombre [...]');
WriteLn;
WriteLn(' /? Ce parametre permet d''afficher l''aide sur cette commande');
WriteLn(' nombre Ce parametre permet d''indiquer le num‚ro de l''erreur');
Exit;
End
Else
Begin
Val(CurrParam,W,Err);
If Err=0Then Begin
If Not(W in [1..150])Then Begin
WriteLn('Le nombre ',W,' est en dehors de l''intervalle');
End
Else
Begin
WriteLn(W,' - ',ErrorMsgList[W]);
WriteLn(' ',ErrorDescList[W]);
End;
End;
End;
If P>255Then Break;
Until CurrParam='';
END.