AGB  ·  Datenschutz  ·  Impressum  







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

Textdatei in Liste laden

Ein Thema von Schnittcher · begonnen am 9. Sep 2009 · letzter Beitrag vom 10. Sep 2009
Antwort Antwort
Seite 1 von 3  1 23      
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#1

Textdatei in Liste laden

  Alt 9. Sep 2009, 12:31
Hallo,

ich speicher meine Liste so:

Delphi-Quellcode:
procedure TForm1.cmdListSpeichernClick(Sender: TObject);
var
  i: integer;
  pAuto: IAuto;
  myfile: TextFile;
  temp, temp2, temp3: string;
begin
  try
    if AutoList = nil then
      raise
        EBerechnung.Create('Wenn es keine Liste gibt, kann man sie auch nicht speichern.');
    if SaveDialog1.Execute then
      AssignFile(myFile, SaveDialog1.FileName);
    Rewrite(myFile);
    for i := 0 to AutoList.Count - 1 do
    begin
      pAuto := AutoList.Items[i];
      temp := pAuto.ErgebnisName;
      temp2 := FloatToStr(pAuto.ErgebnisKW);
      temp3 := FloatToStr(pAuto.ErgebnisPS);
      WriteLn(myfile, 'Name: ', temp, 'KW: ', temp2, 'PS: ',
        temp3);
    end;
    CloseFile(myFile);
  except
    on E: EBerechnung do
      MessageDlg(E.Message, mtInformation, [mbOK], -1);
  end;
end;
Wie kann ich diese Liste jetzt wieder laden?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#2

Re: Textdatei laden und in Liste speichern

  Alt 9. Sep 2009, 12:33
Hier im Forum suchenRead etc...
Ansonsten könnte man auch direkt nach "Textdatei laden" googlen oder hier suchen.

MfG
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#3

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 12:34
Hallo,

vielleicht hätte ich dabei schreiben sollen, dass ich das mit dem OpenDialog machen wollte.

Und das ist eine IInterfacedList.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 12:37
Da es sich ja eh um reine Textspeicherung handelt, könnte man auch eine TStringlist verwenden. Außerdem fällt mir auf, dass da wohl noch ein begin-end fehlt.
Zitat:
Delphi-Quellcode:
if SaveDialog1.Execute then
      AssignFile(myFile, SaveDialog1.FileName);
    Rewrite(myFile);
Wenn der Dialog abgebrochen wird, dürfte das Rewrite in die Hose gehen. Desweiteren würde ich einen try-finally-Block einsetzen, in dessen finally das CloseFile steht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 12:54
Zitat von Schnittcher:
vielleicht hätte ich dabei schreiben sollen, dass ich das mit dem OpenDialog machen wollte.

Und das ist eine IInterfacedList.
Das ist im Prinzip egal.

Du hast das Speichern schon und das Laden ist praktisch genau andersrum.

Rewrite > Delphi-Referenz durchsuchenReset
WriteLn > Delphi-Referenz durchsuchenReadLn
auch kann Delphi-Referenz durchsuchenEoF helfen, wenn man die Anzahl der Einträge nicht gespeichert hat

dann den String vom ReadLn in seine Bestandteile zerlegen
eventuell noch das Objekt/Interfact in AutoList erzeugen
und dem Objekt/Interfact die Werte zuweisen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#6

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 13:06
Hallo,

kann mir denn einer sagen wie ich das mache, dass ich

WriteLn(myfile, 'Name: ', temp, 'KW: ', temp2, 'PS: ', 'Name: '
'KW: '
'PS: '

teile und die werte davon in

pAuto.ErgebnisName
pAuto.ErgebnisKW
pAuto.ErgebnisPS

eintrage?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 13:09
Mit Pos() und Copy() könntest Du die Zeile wieder zerlegen. Allerdings wäre es IMHO einfacher, typisierte Dateien statt Textdateien zu verwenden, das spart die ganze Stringfrickelei samt Konvertierung.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#8

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 13:10
Hallo,

Zitat von DeddyH:
Mit Pos() und Copy() könntest Du die Zeile wieder zerlegen. Allerdings wäre es IMHO einfacher, typisierte Dateien statt Textdateien zu verwenden, das spart die ganze Stringfrickelei samt Konvertierung.
könntest du mir das mal genauer erklären?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 13:11
Zitat von DeddyH:
Mit Pos() und Copy() könntest Du die Zeile wieder zerlegen. Allerdings wäre es IMHO einfacher, typisierte Dateien statt Textdateien zu verwenden, das spart die ganze Stringfrickelei samt Konvertierung.
.. oder eine kleine Datenbank (SqLite o.ä) nehmen

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Textdatei in Liste laden

  Alt 9. Sep 2009, 13:21
@Klaus: Das Thema Datenbank hatte ich bewusst vermieden
@Schnittcher: Was genau soll ich Dir erklären?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 06:01 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