AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LoadFromFile

Ein Thema von Schnittcher · begonnen am 11. Sep 2009 · letzter Beitrag vom 14. Sep 2009
 
nahpets
(Gast)

n/a Beiträge
 
#15

Re: LoadFromFile

  Alt 11. Sep 2009, 14:32
Hallo,

mach mal bitte folgende Änderungen in deinen Code:
Delphi-Quellcode:
{$I+} // Expcetion werfen, wenn Fehler bei Reset... auftreten.
procedure TAutoList.LoadFromFile(const FileName: string);
var
  datensatz: TFahrzeugdaten;
  MyFile: file of TFahrzeugdaten;
  Auto: IAuto;
begin
  begin
    // erstmal prüfen, ob's die Datei tatsächlich gibt, wenn nicht liegt der Hund woanders begraben.
    if not FileExists(FileName) then begin
      ShowMEssage('Uups: Die Datei ' + FileName + ' gibt es ja garnicht.');
      Exit;
    end;
    ShowMessage(FileName); // Wir wollen wissen, ob es der von uns erwartete Dateiname ist.
    AssignFile(MyFile, FileName);
    try
      try // Einen zusätzlichen Try-Except-Block, damit wir Fehler abfangen können.
        Reset(MyFile);
        // Wie groß ist die Datei?
        // Hier wird angegeben, wieviele Sätze vom Typ TFahrzeugdaten in der Datei sind.
        // Hier wird nicht angegeben, wie groß die Datei in Byte ist!!!
        ShowMessage(inttostr(FileSize(MyFile)));
        If EoF(MyFile) then begin
          ShowMessage('EoF(MyFile) ist der Meinung, dass keine Fahrzeugdaten in der Datei sind.');
          Exit;
        end;
        while not EOF(MyFile) do
        begin
          Auto := TBackupClassesFactory.Auto;
          read(MyFile, datensatz);
          Auto.SetValue(floattostr(datensatz.kw),avps);
// Auto.ps := datensatz.ps;
// Auto.KW := datensatz.kw;
// Auto.Name := datensatz.fahrzeugName;
// Auto.kmh := 0;
// Auto.mph := 0;
          add(Auto);
          Count;
        end;
      except
        // Wenn's irgendwo kracht, wollen wir wissen was passiert ist.
        on e : Exception do
        begin
          ShowMessage(e.Message);
        end;
    finally
      CloseFile(MyFile);
    end;
  end;
end;
end.
und erzähl' uns dann für jedes ShowMessage, was da ausgegeben wird und ob das, was da ausgegeben wird mit deinen Erwartungen übereinstimmt.

Wenn FileSize 0 liefert, dann liegt die Vermutung nahe, dass die Daten in der Datei nicht zum TFahrzeugdaten passen, dann prüfe bitte, ob die Typedefinition mit den Daten übereinstimmt.
  Mit Zitat antworten Zitat
 


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 05:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz