Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Neue hinzugefügte Zeile in Textdatei jeweils neu nummerieren (https://www.delphipraxis.net/26357-neue-hinzugefuegte-zeile-textdatei-jeweils-neu-nummerieren.html)

Sunny123 22. Jul 2004 14:37


Neue hinzugefügte Zeile in Textdatei jeweils neu nummerieren
 
Hi!
Also i hab ein ganz simples Problem, an dem ich mich zur Zeit aber ungeheuerlich festbeiße und zu dem ich auch nix richtiges finden kann.
Ich habe eine Textdatei, in der ich neue Zeilen anfügen kann. Ich möchte die Zeilen nummerieren. Jede neu angefügte Zeile soll nun automatisch auch die neue nächsthöhere Nummer bekommen. Eigentlich müsste ich den ja nur in die letzte Zeile hüpfen lassen, die Nummer suchen lassen und zu er eins dazu addieren, nur weiß i net wie. :( Könnt ihr mir da helfen?

Gruß, Sunny

_Sebastian_ 22. Jul 2004 22:20

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Du könntest einfach nach dem öffnen der Datei von anfang an bis zur letzten Zeile durchzählen.

irgendwie so..
Delphi-Quellcode:
reset(f);
while not eof(f) do
 begin
  readLn(f,s);
  inc(count);
 end;

Sunny123 23. Jul 2004 08:03

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Mmh, erstmal danke für deine Hilfe! :) Die Idee is gut, aber "count" klappt irgendwie net...

Sharky 23. Jul 2004 08:22

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Hai Sunny123,

wie groß ist denn diese Textdatei und wie ist die Zeilennummer vom eigentlichen Text getrennt?
z.B.:
1-Hallo welt
2-blubb
oder
1 Hallo Welt
2 blubb

Du könntest z.B. dei Datei in eine StringList laden. Dann jede Zeile durchgehen, den Teil mit der Zeilennummer entfernfen und die neue Zeilennummer dann davor schreiben. Zum Schluß einfach wieder speichern.

Sunny123 23. Jul 2004 08:33

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Hallo sharky!

Also ich wollte es mit

1|hallo welt
2|blubb
3|schon wieder blubb
usw. machen

zur Not könnte man beispielsweise auch nur die eigentliche Zeilennummer anzeigen lassen, also die, die sowieso schon vorgegeben ist. Wäre fast sogar noch besser. Und bei jedem neuen Eintrag würde die Nummer dann wieder am Zeilenanfang stehen.

Sharky 23. Jul 2004 09:06

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Hai Sunny123,

habe mal schnell etwas gebastet:
Delphi-Quellcode:
procedure NeueZeilennummern (fname : String);
var
  myStringList : TStringList;
  delimiter : Char;
  line : String;
  delpos : Integer;
  ndx     : Integer;
begin
  delimiter := '|'; // Trennzeichen (darf nicht in den Textzeilen vorkommen!
  myStringList := TStringList.Create;
  try
    myStringList.LoadFromFile(fname); // Datei laden
    for ndx := 0 to myStringList.Count -1 do
    begin
      line := myStringList.Strings[ndx];
      delpos := Pos(delimiter,line); // Position des Trennzeichens
      Delete (line,1,delpos); // Alles bis einschliesslich Trennzeichen löschen
      myStringList.Strings[ndx] := IntToStr (ndx) + delimiter + line; // Neue Zeilennummer
    end;
    myStringList.SaveToFile(fname); // Datei speichern.
  finally
    FreeAndNil (myStringList);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (OpenDialog1.Execute) then
  begin
    NeueZeilennummern (OpenDialog1.FileName);
  end;
end;
Eventeull hilft Dir das ja.

Sunny123 23. Jul 2004 10:03

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
DANKESCHÖN!!! :-D

Hab trotzdem noch ein frägchen:
der zeigt mir aber in der ersten Zeile nen Fehler an: Bezeichner erwartet aber String gefunden ?! :gruebel:

Sharky 23. Jul 2004 10:11

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Zitat:

Zitat von Sunny123
...der zeigt mir aber in der ersten Zeile nen Fehler an: Bezeichner erwartet aber String gefunden ?! :gruebel:

Wer ist den "der"? Dein Compiler? :stupid:
Ich denke mal das ich beim Copy & Paste von der Webseite einige nicht sichtbaren sonderzeichen eingeschlichen haben könnten?
Löche mal alle Blanks am anfang jeder Zeile und füge sie dann neu ein.

fkerber 23. Jul 2004 10:12

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Hi!

Bei mir kommt da kein Fehler.
Wo genau kommt er denn bei dir?

Ciao fkerber

Sunny123 23. Jul 2004 10:29

Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
 
Zitat:

Wer ist den "der"? Dein Compiler? :stupid:
--> richtig :-D
ich musses ja sowieso abschreiben, is auf nem anderen rechner *grr*. auf dem hier gehts net. *nochmalgrr*
wie schon gesagt ist genau in der ersten zeile, ich glaub er mag das String nich :? .
am besten ich tipp noch einmal alles ab...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz