AGB  ·  Datenschutz  ·  Impressum  







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

Spaltenweise auf TStringList zugreifen

Ein Thema von aaaaaaaaaa_10 · begonnen am 27. Jul 2009 · letzter Beitrag vom 30. Jul 2009
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#41

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 10:41
Dachte ich auch,aber dadurch dass das ja ein TimerEvent ist, wird das doch immer aktualisiert bevor ich das prüfen kann,oder?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#42

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 10:54
Hallo,

du sollst es ja auch im TimeEvent prüfen.
Gleich als 1. Code.
Hat sich nix geändert Exit


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#43

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 11:07
Zitat:
du sollst es ja auch im TimeEvent prüfen.
Gleich als 1. Code.
Aber da weiß ich ja die Zeilenanzahl noch nicht, weil die ja erst im Laufe des Codes aus

 Sek.LoadFromFile(DreiSek); verwendbar gemacht wird. Blick net durch.
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#44

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 12:06
Weiß niemand Rat?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#45

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 12:43
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#46

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 13:05
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;
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#47

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 13:46
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:
var Zeilenanzahl, linenum : integer;
begin
   try
      Sek.LoadFromFile(DreiSek);
      if Zeilenanzahl = Sek.Count - 1 then
        Exit;

      Zeilenanzahl := Sek.Count - 1;
              .......
   finally ...
   end;
end;
// EDIT:
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)...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#48

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 13:59
Mit :
Delphi-Quellcode:
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;
gibt es eine Zuzgriffsverletzung.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#49

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 14:12
Dann musst du schauen wo.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#50

Re: Spaltenweise auf TStringList zugreifen

  Alt 29. Jul 2009, 14:16
Wie finde ich denn die Adresse, die in der Zugriffsverletzung geg ist?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 8   « Erste     345 67     Letzte »    


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 07:44 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