Autor Beitrag
jUli@
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 09:42 
ich habe in meinem Programm wenn ich auf liste ausgeben klicke einen
EInOutError! ... was ist das? E/A-Fehler6! ... wie kann ich das beheben?

Danke Julia
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 02.09.02 10:09 
Hi,

was heißt "auf Liste ausgeben klicke"? Ist Liste ein Button und was machst Du in der OnClick Procedure des Buttons?

Gruß
TINO
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 11:39 
Titel: liste ausgeben
ja das ist ein button. ich lege vorher über ein formular personendaten an, wechseln dann in mein listen formular . da habe ich einen button womit der meine eingegebenen Daten auslesen soll.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 02.09.02 12:56 
und dann beim lesen der Daten kommt es zu einem Fehler? Wenn ja, solltest Du mal den entsprechenden Code Abschnitt posten.
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 12:57 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TFormListe.btnShowClick(Sender: TObject);
var zeile, spalte :integer;
begin
     zeile:= 1;
     spalte := 0;
     dateiOffen := dateiOeffnen(persdat);
     while not Eof(personendatei) do begin  // <-- Fehler
                person:= datensatzLesen;
                if sgPerson.RowCount < (zeile+2)
                   then sgPerson.RowCount := sgPerson.Rowcount + 1;
                with person do
                begin
                     sgPerson.cells[spalte, zeile]:= IntToStr(persNr);
                     sgPerson.cells[spalte+1, zeile]:= vorname;
                     sgPerson.cells[spalte+2, zeile]:= name;
                     sgPerson.cells[spalte+3, zeile]:= DateToStr(gebDatum);
                end; //with
 
     inc(zeile);
     end; //while
     dateiGeschlossen := dateiSchliessen;
 
end;
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 02.09.02 14:03 
Wie öffnest Du denn die Datei?
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 14:13 
? wie wie öffne ich die? meinst du wie ich dir liste erstellè? mit nem fromCreate oder was meinst du?
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 14:18 
die PersDat wir einmal in dieser Unit daklariert : PersDat: String;
in in der Main auch ..als: Const persdat='C:Pers.Dat';
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 02.09.02 14:34 
Nein, das meine ich nicht.

Du greifst ja anscheind auf eine Datei zu, oder? Denn schließlich fragst Du ja in der While-Schleife mit EOF ab ob das Dateiende erreicht ist. Nur kann diese Funktion nicht arbeiten wenn Du zuvor die Datei eventl. nicht geöffnet hast. Die Frage ist also wo Du die Variable personendatei noch verwendest. Diese Variable brauchst Du an min. 3 zusätzlichen Stellen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
AssignFile (personendatei, 'Dateiename.txt');
Reset (personendatei);

while not Eof (personendatei) do
  begin
    {...}
  end;
  
CloseFile (personendatei);

Gruß
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 14:52 
ach so.. das steht in dateiOeffen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
function dateiOeffnen(dateiname:String):Boolean;
begin
     // try // = versuche
     Assign(Personendatei,dateiname);
     {$I-}
     Reset(Personendatei);
     {$I+}
     // except// = sonst
     if IOResult <> 0 then
     begin
          Rewrite(personendatei);
          result:=true;
     end;

end; // dateiOeffnen
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mo 02.09.02 16:19 
oder meinst du das nicht? diese function liegt aber in einer anderen unit ist das schlimm?? muss ich dann was anderes eintragen?