AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

I/O-Fehler-998

Ein Thema von Nicodius · begonnen am 16. Mär 2007 · letzter Beitrag vom 18. Mär 2007
Antwort Antwort
Seite 2 von 3     12 3   
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#11

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 17:35
ja gerne vielen dank


das ist nur ein tesprojekt wo ein record gefüllt wird mit über 11000 daten und die solln dann gespeichert werden(das record ist orginal aus dem programm übernommen dass ich für die firma entwickeln muss)


ich hoffe du kansnt das comüilieren weils mit delphi 3 gecoded is


nochmals danke für deine zeit

lg nico


edit ah zu schnell weitergegeklickt - marubu danke für den tipp ich gehs noch mal durch sry
Angehängte Dateien
Dateityp: rar records_2_105.rar (5,8 KB, 3x aufgerufen)
Nico Müller
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#12

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 17:46
unabhängig vom vorig gesagten : marabu wie soll ich denn numread(name hin oder her) initialisieren? woher nehm ich den count?

lg nico
Nico Müller
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 18:30
Hast du denn gar nicht mal in die Hilfe geschaut? Der dritte Parameter von BlockWrite() gibt an, wieviele "Blöcke" geschrieben werden sollen. Im vierten Parameter wird die effektiv geschriebene Zahl zurück gemeldet, so dass du durch Vergleich feststellen kannst, ob alles nach deinen Wünschen verlaufen ist. Bei dir sollte der dritte Parameter wohl einfach 1 sein, oder?

BTW - Eine Block-Struktur (TAlles) mit etwa 94 KByte - etwas besseres ist deinem Chef nicht eingefallen? Die Struktur der Daten lässt sich gewiss intelligenter auf das Dateisystem abbilden als durch einen einzelnen Record.

Nachdenkliche Grüße
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#14

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 18:50
das mit dem vergleich hab ich schon verstanden danke - das mit der eins hab ich schon probiert leider nur mit dem erfolg dass jetzt der fehler
so lautet
Delphi-Quellcode:
---------------------------
Project1
---------------------------
I/O-Fehler 1784.
---------------------------
OK
---------------------------




wenn du vorschläge zum speichern hast - es geht ihm darum die datei so klein wie möglich zu halten(es geht heir um ca 12000 gepspeicherte zahlen und texte

lg nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#15

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 20:47
BlockRead ehthält ja in der Demo die größe der Daten, welche vorher gelesen und demnach geschrieben werden sollen.

dui mußt da angeben wieviel geschieben werden soll, also =SizeOf(TAlles) ?

hier mal ein paar mögliche Codes:
Delphi-Quellcode:
var
  FaDatei: file of TAlles;
  Buf: TAlles;

if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Rewrite(FaDatei);   { Ausgabedatei öffnen }
  BlockWrite(FaDatei, Buf, SizeOf(Buf));
  CloseFile(FaDatei);
end;

if OpenDialog1.Execute then { Dialog zum Öffnen anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Reset(FaDatei);   { Eingabedatei öffnen }
  BlockRead(FaDatei, Buf, SizeOf(Buf));
  CloseFile(FaDatei);
end;
Delphi-Quellcode:
var
  FaDatei: file of TAlles;
  Buf: Array of TAlles;

if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Rewrite(FaDatei);   { Ausgabedatei öffnen }
  for i := 0 to High(Buf) do
    Write(FaDatei, Buf[i]);
  CloseFile(FaDatei);
end;

if OpenDialog1.Execute then { Dialog zum Öffnen anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Reset(FaDatei);   { Eingabedatei öffnen }
  Buf := nil;
  while not Eof(FaDatei) do
  begin
    SetLength(Buf, Length(Buf) + 1);
    Read(FaDatei, Buf[High(Buf]]);
  end;
  CloseFile(FaDatei);
end;
Delphi-Quellcode:
var
  FaDatei: file of TAlles;
  Buf: TAlles;

if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Rewrite(FaDatei);   { Ausgabedatei öffnen }
  Write(FaDatei, Buf);
  CloseFile(FaDatei);
end;

if OpenDialog1.Execute then { Dialog zum Öffnen anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Reset(FaDatei);   { Eingabedatei öffnen }
  Read(FaDatei, Buf);
  CloseFile(FaDatei);
end;
Delphi-Quellcode:
var
  FaDatei: file of TAlles;
  Buf: Array of TAlles;

if SaveDialog1.Execute then { Dialog zum Speichern anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Rewrite(FaDatei);   { Ausgabedatei öffnen }
  for i := 0 to High(Buf) do
    Write(FaDatei, Buf[i]);
  CloseFile(FaDatei);
end;

if OpenDialog1.Execute then { Dialog zum Öffnen anzeigen }
begin
  AssignFile(FaDatei, SaveDialog1.FileName);
  Reset(FaDatei);   { Eingabedatei öffnen }
  Buf := nil;
  while not Eof(FaDatei) do
  begin
    SetLength(Buf, Length(Buf) + 1);
    Read(FaDatei, Buf[High(Buf]]);
  end;
  CloseFile(FaDatei);
end;
Aber es wäre schon praktisch zu wissen welche Daten du genau gespeichert/gelesen haben möchtst.
Falls es nur TAlles ist, dann wären die Funktionen ohne Schleife für dich verwendbar.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#16

Re: I/O-Fehler-998

  Alt 16. Mär 2007, 21:25
hier mal so alle Möglichkeiten für dich

aber am Besten du führst das Programm nicht im Debugger aus ... wenn du nicht grade die Exceptionen dort abgeschaltet hast.
Angehängte Dateien
Dateityp: zip records_2_196.zip (155,0 KB, 4x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#17

Re: I/O-Fehler-998

  Alt 17. Mär 2007, 02:03
wow vielen herzlichen dank du weißt gar nicht wie erleichter ich jetzt bin
ich geh die codes jetzt mal durch am späteren tag werd ich mich wieder melden
nochmals - dankeschön
gute nacht

nico
Nico Müller
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#18

Re: I/O-Fehler-998

  Alt 17. Mär 2007, 02:05
hab jetzt einfach mal dein programm ausgeführt

datei hat 0 byet und im memo wird

Zitat:
TAlles= 95960 bytes
Write11: Error, E/A-Fehler 1784
Write12: Error, E/A-Fehler 1784
Write13: Error, E/A-Fehler 1784
Write14: Error, E/A-Fehler 1784
Write15: Error, E/A-Fehler 1784
Write16: Error, E/A-Fehler 1784
Write17: OK
Write21: Error, E/A-Fehler 103
Write22: Error, E/A-Fehler 103
Write23: Error, E/A-Fehler 103
Write24: Error, E/A-Fehler 103
Write25: Error, E/A-Fehler 103
Write26: Error, E/A-Fehler 103
Write27: Error, Dateizugriff verweigert
Write31: Error, E/A-Fehler 103
Write32: Error, E/A-Fehler 103
Write33: Error, E/A-Fehler 103
Write34: Error, E/A-Fehler 103
Write35: Error, E/A-Fehler 103
Write36: Error, E/A-Fehler 103
Write37: Error, Dateizugriff verweigert
ausgegeben

aber ich geh mal den code durch

lg nico


edit juhu mit dem 2ten code funktioneirt auf jeden fall das speichern

ich bin so glücklich vielen dank himitsu!
gute nacht

nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#19

Re: I/O-Fehler-998

  Alt 17. Mär 2007, 02:34
drum sagte ich ja ... nicht unbedingt im Debugger testen ... vorallem wenn der alle Exceptionen anzeigt

Tipp: nimm dir speziell den Code vor wo OK steht


Und jupp, da die Datei ja jedesmal neu erstellt und der letzte Aufruf fehlerhaft war, also nichts schieb, kann die Datei nur leer sein.



Aber genau dieses eher "unvorhersehbare" Verhalten der Delphifunktionen veranlaßt mich direkt auf die WinAPI auszuweichen.

Vorallem da man da meist selbst bei einem Fehler nicht mit 'ner Exception erschlagen wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#20

Re: I/O-Fehler-998

  Alt 17. Mär 2007, 09:29
ja nächstes problem is ja dass er will das die programme auf jedem rechner laufen

aber zumindest dieses darf ich auf windows hinschneiden ;D

nochmals danke - ich meld mich wenn mir noch irgendeine frage dazu einfällt

mfg
nico
Nico Müller
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz