AGB  ·  Datenschutz  ·  Impressum  







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

Erkennen von Lines

Ein Thema von homerunjack · begonnen am 2. Sep 2005 · letzter Beitrag vom 3. Sep 2005
 
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#22

Re: Erkennen von Lines

  Alt 3. Sep 2005, 12:26
Setz dich am besten mal mit Delphi-Referenz durchsuchenTFileStream auseinander.
Hmm oder ich schick dir mal ne Klasse die ich mir abgeleitet hab und direkt typisiert u.a. auch Strings schreiben und lesen kann.
Dann müsstest du ihm beim Laden nur noch folgenden Code (untested) schreiben:

Delphi-Quellcode:
type TEintrag = record
       Name: string;
       Preis: integer;
     end;
var Eintraege = array of TEintrag;

procedure Load(FileName: TFilename);
var i: Integer;
    Count: cardinal;
    F: TAdvFileStream; // Das ist meine Klasse...such ich dir noch raus und schick dir das
begin
  F := TAdvFileStream.Create(Filename, fmOpenRead);
  try
    Count := F.ReadCardinal; // Auslesen wieviele drin sind
   
    SetLength(Eintraege, Count); // Länge des Arrays setzen
    for i := 0 to (Count - 1) do
      with Eintraege[i] do begin // Und dann alle nacheinander auslesen
        Name := ReadStr;
        Preis := ReadInt;
      end;
  finally
    F.Free;
  end;
end;

// Beim Speichern alles einfach in der gleichen Reihenfolge wieder reinschreiben;
procedure Speichern(Filename: TFilename);
var i: integer;
    F: TAdvFileStream;
begin
  F := TAdvFileStream.Create(Filename, fmCreate);
  try
    F.WriteCardinal(length(Eintraege)); // Hier auch: erst abspeichern wie viele Einträge jetzt kommen
    
    for i := 0 to length(Eintraege) - 1 do
      with Eintraege[i] do begin // Dann nacheinander alle reinschreiben
        F.WriteStr(Name);
        F.WriteInt(Preis);
      end;
  finally
    F.Free;
  end;
end;
Nur mal so als grobe Übersicht.

@all:
Ich weiß, dass ihr mich jetzt gleich zerreißen werdet, weil's kein OOP ist und noch dazu globale Variablen verwendet. Ist aber ja auch nur ein Beispiel.

PS: Benutz doch bitte in Zukunft für Quellcode die Delphi-Tags! Das kann ja kein Mensch lesen so.

//edit
So hier auch die Unit
Angehängte Dateien
Dateityp: pas advancedstreams_307.pas (15,2 KB, 2x aufgerufen)
Christian
  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 13:38 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