-
Notifications
You must be signed in to change notification settings - Fork 0
/
ERROR.PAS
300 lines (296 loc) · 7.17 KB
/
ERROR.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
{ @author: Sylvain Maltais ([email protected])
@created: 2022
@website(https://www.gladir.com/os9-0)
@abstract(Target: Free Pascal, Turbo Pascal)
}
Program ERROR;
Const
ErrorMsgList:Array[1..255]of String[50]=(
{1}'Termiaison inconditionnelle',
{2}'Terminaison clavier',
{3}'Interruption par le clavier',
{4}'',
{5}'',
{6}'',
{7}'',
{8}'',
{9}'',
{10}'Symbole non reconnu',
{11}'Verbiage excessif',
{12}'Construction ill‚gale de d‚claration',
{13}'D‚bordement de I-code, besoin de plus de m‚moire.',
{14}'R‚f‚rence sur le canal ill‚gal',
{15}'Mode ill‚gal (lecture, ‚criture, mise … jour)',
{16}'Nombre ill‚gal',
{17}'Pr‚fixe ill‚gal',
{18}'Op‚rande ill‚gal',
{19}'Op‚rateur ill‚gal',
{20}'Nom de champ d''enregistrement ill‚gal',
{21}'Dimension ill‚gale',
{22}'Litt‚ral ill‚gal',
{23}'Relation ill‚gale',
{24}'Suffixe de type ill‚gal',
{25}'Trop grande dimension',
{26}'Num‚ro de ligne trop grand',
{27}'D‚claration d''instruction manquante',
{28}'Num‚ro de chemin manquant',
{29}'Virgule manquante',
{30}'Dimension manquante',
{31}'Instruction DO manquant',
{32}'M‚moire pleine, besoin de plus de m‚moire d''espace de travail',
{33}'GOTO attendu',
{34}'ParenthŠse gauche manquante',
{35}'R‚f‚rence de ligne manquante',
{36}'Op‚rande manquant',
{37}'ParenthŠse droite manquante',
{38}'Instruction THEN manquante',
{39}'TO manquante',
{40}'R‚f‚rence de variable manquante',
{41}'Pas de guillemet finale',
{42}'Trop d''indice',
{43}'Proc‚dure inconnue',
{44}'Multiple-d‚finition de proc‚dure',
{45}'Diviser par z‚ro',
{46}'Non concordance de type d''op‚rande',
{47}'D‚bordement de pile de chaŒne de caractŠres',
{48}'Routine non impl‚ment‚e',
{49}'Variable ind‚finie',
{50}'D‚bordement de valeur flottante',
{51}'Ligne avec erreur de compilateur',
{52}'Valeur hors limites de la destination',
{53}'D‚bordement de pile de sous-routine',
{54}'Sous-d‚bordement de pile de sous-routine',
{55}'Indice en dehors de l''intervalle',
{56}'Erreur de paramŠtre',
{57}'D‚bordement de pile de systŠme',
{58}'Non concordance de type d''entr‚e/sortie',
{59}'Mauvais format d''entr‚e num‚rique d''entr‚e/sortie',
{60}'Conversion d''entr‚e/sortie: nombre en dehors de l''intervalle',
{61}'Format d''entr‚e ill‚gal',
{62}'Erreur de r‚p‚tition de format d''entr‚e/sortie',
{63}'Erreur de syntaxe de format d''entr‚e/sortie',
{64}'Num‚ro de chemin ill‚gal',
{65}'Mauvais nombre d''indice',
{66}'Op‚rande de type non enregistr‚',
{67}'ParamŠtre ill‚gal',
{68}'Structure de contr“le ill‚gale',
{69}'Structure de contr“le non correspondante',
{70}'Variable FOR ill‚gal',
{71}'Type d''expression ill‚gal',
{72}'D‚claration d‚clarative ill‚gale',
{73}'D‚bordement de la taille d''un tableau.',
{74}'Num‚ro de ligne ind‚fini',
{75}'Num‚ro de ligne d‚finit de multiple fois',
{76}'Multiple d‚finition de variable',
{77}'Variable d''entr‚e ill‚gale',
{78}'Positionnement en dehors de l''intervalle',
{79}'Instruction de donn‚es manquante',
{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}'Type de fenˆtre ill‚gale',
{184}'La fenˆtre est d‚j… d‚finie',
{185}'Police de caractŠres non trouv‚e',
{186}'D‚bordement de pile',
{187}'ParamŠtre ill‚gal',
{188}'',
{189}'Coordonn‚es ill‚gales',
{190}'V‚rification d''int‚grit‚ interne',
{191}'La taille du tampon est trop petite',
{192}'Commande ill‚gale',
{193}'La table de l''‚cran ou de la fenˆtre est pleine',
{194}'Mauvais num‚ro de m‚moire tampon ou ind‚fini',
{195}'D‚finition de fenˆtre ill‚gale',
{196}'Fenˆtre non d‚finie',
{197}'',
{198}'',
{199}'',
{200}'Table de chemin pleine',
{201}'Num‚ro de chemin ill‚gal',
{202}'Table de vote d''interruption pleine',
{203}'Mode ill‚gal',
{204}'Tableau de p‚riph‚rique pleine',
{205}'Entˆte de module ill‚gal',
{206}'R‚pertoire du module plein',
{207}'M‚moire pleine',
{208}'Demande de service ill‚gale',
{209}'Module occup‚',
{210}'Erreur de limite',
{211}'Fin du fichier',
{212}'Renvoyer la m‚moire non allou‚e',
{213}'Segment non existant',
{214}'Aucune autorisation',
{215}'Mauvais nom de chemin',
{216}'Nom du chemin introuvable',
{217}'Liste de segments plein',
{218}'Le fichier existe d‚j…',
{219}'Adresse de blocs ill‚gale',
{220}'D‚crocher le t‚l‚phone - perte de donn‚es',
{221}'Module non trouv‚',
{222}'',
{223}'Tentative de suicide',
{224}'Num‚ro de processus ill‚gal',
{225}'',
{226}'Aucun enfant',
{227}'Code SWI ill‚gal',
{228}'Processus abandonn‚e',
{229}'Tableau de processus plein',
{230}'Zone de paramŠtres ill‚gale',
{231}'Module connu',
{232}'Module CRC incorrect',
{233}'Erreur de signal',
{234}'Module inexistant',
{235}'Mauvais nom',
{236}'Mauvais entˆte',
{237}'M‚moire vive systŠme pleine',
{238}'Identificateur de processus inconnu',
{239}'Aucun num‚ro de tƒche disponible',
{240}'Erreur d''unit‚',
{241}'Erreur du secteur',
{242}'Protection en ‚criture',
{243}'Erreur CRC',
{244}'Erreur de lecture',
{245}'Erreur d''‚criture',
{246}'Pas prˆt, p‚riph‚rique non prˆt',
{247}'Erreur de positionnement',
{248}'M‚dia plein',
{249}'Type de type incorrect, type de support incompatible',
{250}'P‚riph‚rique occup‚',
{251}'Changement d''identificateur de disque',
{252}'L''enregistrement est verrouill‚',
{253}'Fichier non partageable occup‚',
{254}'',
{255}''
);
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('ERROR Cette commande permet d''afficher la description de l''erreur.');
WriteLn;
WriteLn('Syntaxe:');
WriteLn;
WriteLn('ERROR [/?] nombre [...]');
WriteLn;
WriteLn(' /? Ce parametre permet d''afficher l''aide sur cette commande');
WriteLn(' nombre Ce parametre permet d''indiquer le numero de l''erreur');
Exit;
End
Else
Begin
Val(CurrParam,W,Err);
If Err=0Then Begin
If Not(W in [1..255])Then WriteLn('Le nombre ',W,' est en dehors de l''intervalle')
Else WriteLn(W,' - ',ErrorMsgList[W]);
End;
End;
If P>255Then Break;
Until CurrParam='';
END.