LordoftheBord
Mitglied
Hallo
Folgendes Problem: Ich möchte 2 Arrays, der eine vom Typ Integer der andere von Typ String, in eine Datei speichern. Hab mal folgendes versucht, was aber nicht klappt. Es wird zwar eine Datei erstellt, jedoch bekomme ich beim öffnen die Fehlermeldung: "Fehler 100: Lesefehler von Diskette/Platte.
Abspeichern:
Laden
Ich weis es es nicht das kleinste Programm, doch würde ich mich sehr darüber freuen, wenn sich jemand die Mühe macht und den Fehler sucht. Ich weis nimmer weiter.
mfg
Luziflash
<asphyxia> Bitte code-Tags benutzen, damit der Code lesbarer wird.
</asphyxia>
Folgendes Problem: Ich möchte 2 Arrays, der eine vom Typ Integer der andere von Typ String, in eine Datei speichern. Hab mal folgendes versucht, was aber nicht klappt. Es wird zwar eine Datei erstellt, jedoch bekomme ich beim öffnen die Fehlermeldung: "Fehler 100: Lesefehler von Diskette/Platte.
Abspeichern:
Code:
program sortieren;
uses crt;
var
i, j, x, eingabe, ersetzen: integer;
ersetzen2: string;
name: array[1..3] of string;
punkte: array[1..3] of integer;
speicher: file of integer;
speicher2: file of string;
begin
clrscr;
for i:=1 to 3 do
begin
clrscr;
writeln('Bitte geben Sie ihren Namen ein');
readln(name[i]);
for j:=1 to 5 do
begin
randomize;
x:=random (5)+1;
writeln('erraten Sie die Zahl');
readln(eingabe);
if eingabe=x then
begin
punkte[i]:=punkte[i]+1;
writeln('richtig');
end
else
writeln('falsch');
end;
readln;
end;
for i:=1 to 3 do
begin
for j:=i+1 to 3 do
begin
if punkte[i] < punkte[j] then
begin
ersetzen:=punkte[j];
ersetzen2:=name[j];
punkte[j]:=punkte[i];
name[j]:=name[i];
punkte[i]:=ersetzen;
name[i]:=ersetzen2;
end;
end;
end;
for i:=1 to 3 do
writeln(name[i], ' = ' ,punkte[i]);
assign(speicher, 'a:\datei2.exe');
assign(speicher2, 'a:\datei2.exe');
rewrite(speicher);
rewrite(speicher2);
for i:=1 to 3 do
begin
write(speicher,punkte[i]);
write(speicher2,name[i]);
end;
close(speicher);
readln;
end.
Laden
Code:
program la;
uses crt;
var
speicher: file of integer;
speicher2: file of string;
punkte: array [1..3] of integer;
name: array [1..3] of string;
i: integer;
begin
clrscr;
assign(speicher, 'a:\datei2.exe');
assign(speicher2, 'a:\datei2.exe');
reset(speicher);
reset(speicher2);
repeat
for i:=1 to 3 do
begin
read(speicher,punkte[i]);
read(speicher2,name[i]);
write(name[i], ' = ' ,punkte[i]);
end;
until eof(speicher);
close(speicher);
readln;
end.
mfg
Luziflash
<asphyxia> Bitte code-Tags benutzen, damit der Code lesbarer wird.
