Autor Beitrag
delphist
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

WIN XP, 98, 95; SUSE LINUX 8.1, 6.1, 6.0

BeitragVerfasst: Mi 01.01.03 13:31 
***********Frage steht im titel******
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 01.01.03 13:55 
also delphist: lade die textdatei in ein Memofeld per
ausblenden Quelltext
1:
memo1.lines.loadfromfile('deine datei');					

zählen kannst du dann die zeilen mit
ausblenden Quelltext
1:
memo1.lines.count					

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.01.03 14:12 
Woher weißt du, daß er ein Memo benutzt. Davon steht nirgendwo was geschrieben. Im grunde genommen war er zu faul überhaupt irgendwelche Infos anzugeben.

Deine Antwort war also vertane mühe. Es ist möglich, aber unwahscheinlich, daß du die richtige Antwort auf die Frage gegeben hast. Es kommt 100% eine Nachfolgefrage.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 01.01.03 14:14 
ich hab jetzt nur mal die lösung gegeben die ich genommen hätte

_________________
In the beginning was the word.
And the word was content-type: text/plain.
delphist Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

WIN XP, 98, 95; SUSE LINUX 8.1, 6.1, 6.0

BeitragVerfasst: Mi 01.01.03 14:23 
Ist es notwendig es vorher in ein Memo Feld zu lkaden???
Kann ich nicht direkt die Zeilen Zählen?
MfG delphist
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 01.01.03 14:25 
es gibt bestimmt eine andere methode aber das mit dem memo ist die erste die mir jetzt spontan eingefallen ist und auch die einfachste

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.01.03 14:57 
@delphist

Es ist das was ich meine. Deine Frage ist so ultrakurz, daß man keine richtige Antwort geben kann. Du investierst keine Zeit und Mühe in deine Frage, möchtest aber als Ergebnis etwas was funktioniert. Du investierst nur 10 Sekunden in die Frage, willst aber, daß einer Minuten in die Antwort investiert.

Nein, du mußt nicht Memo haben um die Anzal der Zeichen zu zählen. Allerdings solltest du bei der Frage schon angeben wie dein Code bis jetzt aussieht und wie du das gerne gelöst haben möchtest. Du solltest also soviel in die Frage investieren, daß man sich nicht veräppelt vorkommt wenn man eine richtige Antwort gibt.

Es gibt viele Möglichkeiten die Zeilen zu zählen. Die Memomethode ist die einfachste. Allerdings war die Antwort in den Wind geschossen. Du hast keine richtige Frage gestellt, deshalb hast du eine Antwort bekommen mit der du wenig anfangen kannst.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);
var
  c: Integer;
begin
  with TStringList.Create do try
    c := 0;
    LoadFromFile('c:\autoexec.bat');
    c := Count;
  finally Free end;
  ShowMessage('Anzahl Zeilen: ' + IntToStr( c ));
end;
Bayo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: Fr 03.01.03 15:32 
Wenn du kein Memo und keine Listbox verwenden möchtest um die Zeile zu zählen, was ich nicht machen würde, gibt es zwei verschiedene Varianten:

1. Wenn die Datei pro Zeile eine bestimmte Anzahl Zeichen hast, wie es häufig bei Inputfiles von Banken u.s.w. der fall ist, kannst du aus der Dateigrösse in Bytes berechnen, wieviele Zeile die Datei hat. Es gibt hier zu beachten, dass ein Zeilenumbruch in Windows aus zwei Zeichen besteht!

2. Du hast keine Ahnung, aus wievielen Zeichen deine Textdatei besteht. Dann wirst du nicht darum rum kommen die Gesamt datei zu durchlaufen und zu zählen. Auch hier gibt es wieder mehrere Möglichkeiten, wie man das machen könnte, folgend eine von ihnen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
function LineCount(fileName: TFileName): Integer;
ver
  iFile: TextFile;
begin
  Result := -1;
  AssignFile(iFile, fileName);
  {$I-}
    Reset(iFile);
  {$I+}
  if not (IOResult = 0) then Exit;
  while not Eof(iFile) do begin
    Inc(Result);
  end;
  Inc(Result);
  CloseFile(iFile);
end;


Grüsse Dominic