Datei laden un Zeilen zählen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Datei laden un Zeilen zählen

Beitrag von Nugi89 »

hallo Leute,
hab ein neues Problem:
- ich lade mir mittels OpenDialog den Dateipfad in ein Editfeld, das funktioniert ja
- anschließend möchte ich nun die Zeilen zählen, was wiederum nicht funktioniert

Hier mal der Code

Code: Alles auswählen

procedure TForm1.Bt_CountClick(Sender: TObject);
var
  anzahl : integer;
  path: string;
  datei: TStringList;
begin
  datei:= StringList.Create;
  path:= Edit_Path.Text;
  datei.LoadFromFile(path)//an der Stelle steigt er aus
 
  for anzahl:=0 to datei.Count -1 do
  begin
    anzahl:= anzahl +1;
  end;
 
  Edit_Anzahl.Text:= IntToStr(anzahl);
end;


Habe schon einige adere Varianten probiert und ja.... nix klappt :(
Ich hoffe mir mag jemand helfen 8)

Danke schon mal Vorweg für die Hilfe.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Datei laden un Zeilen zählen

Beitrag von m.fuchs »

1.) Du kannst die Variable anzahl nicht in der for-Schleife verändern, sie ist ja bereits die Zählvariable.

2.) Der Code ist unnötig, datei.Count enthält doch schon die Anzahl der Zeilen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Datei laden un Zeilen zählen

Beitrag von mse »

Nugi89 hat geschrieben:hallo Leute,
hab ein neues Problem:
- ich lade mir mittels OpenDialog den Dateipfad in ein Editfeld, das funktioniert ja
- anschließend möchte ich nun die Zeilen zählen, was wiederum nicht funktioniert

Was *genau* funktioniert nicht? Bitte gib dir selber eine wenig mehr Mühe mit der Problemanalyse.

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Datei laden un Zeilen zählen

Beitrag von baumina »

Statt

Code: Alles auswählen

 
  datei:= StringList.Create;
end;


solltest du

Code: Alles auswählen

 
  datei:= TStringList.Create;
end;

schreiben.

Die Anzahl der Zeilen erhältst du durch

Code: Alles auswählen

Edit_Anzahl.Text:= IntToStr(Datei.count);
.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Datei laden un Zeilen zählen

Beitrag von theo »

Nugi89 hat geschrieben: datei:= StringList.Create;

Das kompiliert? datei:= TStringList.Create;

Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Re: Datei laden un Zeilen zählen

Beitrag von Nugi89 »

ohja sehe ich auch, hatte beim ändern aus TStringList ein StringList gemacht :oops:

Hatte da wohl doch einige Denkfehler drin -.-*

Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Re: Datei laden un Zeilen zählen

Beitrag von Nugi89 »

das eigentliche Problem welches ich jetzt noch habe ist das ich ja den Pfad brauche um auf die Datei zugreifen zu können.
Den gebe ich in ein Editfeld aber wenn ich jetzt mit einer anderen Variable mir den Inhalt des Editfeldes hole schmiert er ab.
Problem hatte ich ja oben schon einmal erklärt.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Datei laden un Zeilen zählen

Beitrag von mse »

Nugi89 hat geschrieben:aber wenn ich jetzt mit einer anderen Variable mir den Inhalt des Editfeldes hole schmiert er ab.

Was meinst du damit? Bitte gib dir mehr Mühe bei der Informationsgewinnung und der exakten Schilderung des Problems.

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Datei laden un Zeilen zählen

Beitrag von baumina »

Ersetze bitte in Zukunft Aussagen wie "funktioniert nicht", "schmiert ab", "steigt aus", "hängt sich auf", etc. durch eine genaue Fehlerbeschreibung, wie z.B. Kompiler-Fehlermeldungen, runtime-Fehlermeldung, Debuggerinformationen.
.

Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Re: Datei laden un Zeilen zählen

Beitrag von Nugi89 »

ok. Also bei

Code: Alles auswählen

datei.LoadFromFile(path)

Erscheint der Fehler:
Unable to open file "c:\User\Admin\Test\Test.txt".

Über OpenDialog lade ich mir den Pfad in ein Editfeld und die Variable "path" nimmt den Inhalt des Editfelds.
Und mit LoadFromFile(path) greife ich doch auf die Datei zu? oder nicht?

TBug
Beiträge: 177
Registriert: Mi 2. Sep 2015, 11:09
OS, Lazarus, FPC: Lazaurus 2.2.4 FPC 3.2.2
CPU-Target: Windows 32/64bit

Re: Datei laden un Zeilen zählen

Beitrag von TBug »

Nugi89 hat geschrieben:ok. Also bei

Code: Alles auswählen

datei.LoadFromFile(path)

Erscheint der Fehler:
Unable to open file "c:\User\Admin\Test\Test.txt".


Ist das die Datei, welche Du öffnen möchtest?
Ist diese Datei in diesem Verzeichnis vorhanden?
Hast Du Leserechte auf die Datei und das Verzeichnis?
Kannst Du diese Datei mit einem anderen Programm (z.B Editor) öffnen?

Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Re: Datei laden un Zeilen zählen

Beitrag von Nugi89 »

ja die Datei existiert im Verzeichnis.
Leserechte hab ich auch.
ich möchte nur die Zeilen zählen der Datei mehr nicht.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Datei laden un Zeilen zählen

Beitrag von mse »

Nugi89 hat geschrieben:ja die Datei existiert im Verzeichnis.
Leserechte hab ich auch.
ich möchte nur die Zeilen zählen der Datei mehr nicht.

TBug hat geschrieben:Kannst Du diese Datei mit einem anderen Programm (z.B Editor) öffnen?

@Nugi89: Bitte beantworte *alle* gestellten Fragen wenn du weitere Hilfe möchtest.

Nugi89
Beiträge: 68
Registriert: Do 26. Feb 2015, 13:46

Re: Datei laden un Zeilen zählen

Beitrag von Nugi89 »

Ja es ist die Datei auf die ich zugreifen möchte.
Ja die Datei ist in dem Verzeichnis vorhanden.
Ja ich habe die Leserechte.
Und ja ich kann die Datei mit einem anderen Programm öffnen.

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Datei laden un Zeilen zählen

Beitrag von baumina »

Wenn du die Datei mit einem anderen Programm geöffnet hast, kann es sein, dass dieses Programm die Datei sperrt. Stelle sicher, dass die Datei mit keinem Programm geöffnet ist, zusätzlich würde ich noch eine

Code: Alles auswählen

FileExists(Path)
Prüfung machen.
.

Antworten