![]() |
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 |
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; |
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...
|
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. |
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. |
Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
Hai Sunny123,
habe mal schnell etwas gebastet:
Delphi-Quellcode:
Eventeull hilft Dir das ja.
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; |
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: |
Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
Zitat:
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. |
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 |
Re: Neue hinzugefügte Zeile in Textdatei jeweils neu nummeri
Zitat:
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. |
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