AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zeilen einer Datei zählen

Ein Thema von Nugi89 · begonnen am 15. Sep 2015 · letzter Beitrag vom 28. Sep 2015
Antwort Antwort
Seite 1 von 3  1 23   
Nugi89

Registriert seit: 27. Jan 2015
21 Beiträge
 
#1

Zeilen einer Datei zählen

  Alt 15. Sep 2015, 13:48
Hallo habe folgendes Problem,
hab mir eine Konsolenanwendung erstellt in der ich einen Dateipfad angeben und die Zeilen der Datei zählen kann.
Das Programm zählt immer nur eine Zeile und mehr nicht.

Hier mal der Code:
Delphi-Quellcode:
uses
  SysUtils,
  Classes;

var
 path: string;
 zeilen: integer;
 datei: TStringList;
begin
 writeln('Gebens Sie den Dateipfad an oder Exit um zu beenden:');
 Readln(path);
 datei:= TStringList.Create;

 if FileExists(path) = true then
 begin
   writeln('Existiert!');
   datei.LoadFromFile(path);
   zeilen:= datei.Count;
   writeln('Die Datei hat ' + IntToStr(zeilen) + ' Zeilen!');
 end
 else
 begin
   writeln('Existiert nicht!');
 end;

 if path = 'Exitthen
 begin
   Halt;
 end;

 Readln;
end.
Zählt datei.count nicht eigentlich alle Zeilen?
Vielleich kann mir irgend wer helfen.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.110 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 13:57
Hallöle...
Zitat:
Zählt datei.count nicht eigentlich alle Zeilen?
Das kommt auf die Datei an. Wenn z.B. in ihr keine Zeilenumbrüche sind gibt es nur eine Zeile. Kannst du zwecks Analyse so eine Datei (klein) anhängen?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.641 Beiträge
 
Delphi 5 Professional
 
#3

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 13:57
Hat die Datei denn mehr als eine Zeile, die durch CRLF (#13#10) voneinander getrennt sind?

Übrigens muss man sich dafür nicht unbedingt selbst ein Programm schreiben, denn grep (gibt's auch für Windows) kann sowas indirekt:
Code:
grep -c "." pfad\zur\datei
MfG Dalai
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.593 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 14:13
Wenn Zeilenumbrücke da sind könnte es trotzdem sein das sie nicht passen.
Mit Delimiter kann man das dem StringGrid einstellen.
Danach sollte es dann eigentlich funktionieren.

Edit:
Sorry: LineBreak ist der richtige Link

Rollo
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 14:13
Alternative wäre auch der TSJMmfFileReader von Sebastian Jänicke. Ist schnell und man kann den Delimiter einstellen auch (voreingetsllt ist #$000D (#13)).
  Mit Zitat antworten Zitat
Nugi89

Registriert seit: 27. Jan 2015
21 Beiträge
 
#6

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 14:15
die Datei hat mehrere Zeilen. Hat es auch mit anderen Dateien probiert und es kommt immer wieder nur eine Zeile raus.

Und danke für den Windows-Tipp. Hab ich noch nicht gewusst.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 15:09
Woher weißt du denn, dass sie mehrere Zeilen hat?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nugi89

Registriert seit: 27. Jan 2015
21 Beiträge
 
#8

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 15:20
Ich hab sie mir zum testen erstellt. Hab mir dazu einen Text von Wikipedia kopiert mit ca 20 Zeilen.
Dann sollte das Programm doch auch 20 Zeilen zählen oder?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 15:36
Öhm. Du hast nicht zufällig den automatischen Zeilenumbruch im Texteditor aktiviert? Fließtext von Webseiten hat keine festen Zeilenumbrüche.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nugi89

Registriert seit: 27. Jan 2015
21 Beiträge
 
#10

AW: Zeilen einer Datei zählen

  Alt 15. Sep 2015, 15:45
nee glaube der Zeilenumbruch fehlt. Ich werde das mal überprüfen.
Ist den mein Quellcode soweit korrekt?

hab jetzt noch eine for-Schleife eingebaut und hab immer noch das selber Problem.

Hier nochmal mein Code:
Delphi-Quellcode:
uses
  SysUtils,
  Classes;

var
 path: string;
 zeilen, i: integer;
 datei: TStringList;
begin
 writeln('Gebens Sie den Dateipfad an oder Exit um zu beenden:');
 Readln(path);
 datei:= TStringList.Create;
 zeilen:= 0;
 
 if FileExists(path) = true then
 begin
   writeln('Existiert!');
   datei.LoadFromFile(path);
   for i:= 0 to datei.Count -1 do
   begin
     zeilen:= zeilen +1;
   end;
   writeln('Die Datei hat ' + IntToStr(zeilen) + ' Zeilen!');
 end
 else
 begin
   writeln('Existiert nicht!');
 end;

 if path = 'Exitthen
 begin
   Halt;
 end;

 Readln;
end.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf