Re: Spaltenweise auf TStringList zugreifen
Dachte ich auch,aber dadurch dass das ja ein TimerEvent ist, wird das doch immer aktualisiert bevor ich das prüfen kann,oder?
|
Re: Spaltenweise auf TStringList zugreifen
Hallo,
du sollst es ja auch im TimeEvent prüfen. Gleich als 1. Code. Hat sich nix geändert Exit Heiko |
Re: Spaltenweise auf TStringList zugreifen
Zitat:
Delphi-Quellcode:
verwendbar gemacht wird. Blick net durch.
Sek.LoadFromFile(DreiSek);
|
Re: Spaltenweise auf TStringList zugreifen
Weiß niemand Rat?
|
Re: Spaltenweise auf TStringList zugreifen
Ja, du lädst die Datei und wenn die Anzahl gleich ist, dann gehst du raus... (finally wird nach Exit übrigens auch ausgeführt)
Alternativ müsstest du die Dateigröße selbst bestimmen, dann bräuchtest du erst gar nix zu laden. |
Re: Spaltenweise auf TStringList zugreifen
So?
Delphi-Quellcode:
var Zeilenanzahl, linenum : integer;
begin try Sek.LoadFromFile(DreiSek); linenum := Sek.Count; if Zeilenanzahl = linenum then exit; Zeilenanzahl := Sek.Count-1; ....... finally ... end; end; |
Re: Spaltenweise auf TStringList zugreifen
Naja, fast...
Du weist linenum (dem neuen Wert) Sek.Count zu, der alte jedoch (Zeilenanzahl) hatte vorher den Wert Sek.Count - 1 bekommen. Fazit: Der Vergleich wird dann wahr, wenn eine Zeile in der Datei gelöscht wurde... ;-) Lösung:
Delphi-Quellcode:
// EDIT:
var Zeilenanzahl, linenum : integer;
begin try Sek.LoadFromFile(DreiSek); if Zeilenanzahl = Sek.Count - 1 then Exit; Zeilenanzahl := Sek.Count - 1; ....... finally ... end; end; Wobei ich schlicht das - 1 dort ganz weglassen würde... // EDIT2: Und Zeilenanzahl muss eben wie gesagt als Feld oder Eigenschaft des Formulars deklariert sein, nicht als lokale Variable (die bei jedem Aufruf wieder verworfen wird)... |
Re: Spaltenweise auf TStringList zugreifen
Mit :
Delphi-Quellcode:
gibt es eine Zuzgriffsverletzung.
type
TMomFiles=class(TForm) private FZeilenanzahl : integer; { Private-Deklarationen } public { Public-Deklarationen } ...... property Zeilenanzahl: Integer Read FZeilenanzahl Write FZeilenanzahl; end; ....... Sek.LoadFromFile(DreiSek); if Zeilenanzahl = Sek.Count -1 then exit; |
Re: Spaltenweise auf TStringList zugreifen
Dann musst du schauen wo.
|
Re: Spaltenweise auf TStringList zugreifen
Wie finde ich denn die Adresse, die in der Zugriffsverletzung geg ist?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 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