AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Neue hinzugefügte Zeile in Textdatei jeweils neu nummerieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neue hinzugefügte Zeile in Textdatei jeweils neu nummerieren

Ein Thema von Sunny123 · begonnen am 22. Jul 2004 · letzter Beitrag vom 23. Jul 2004
Antwort Antwort
Seite 1 von 2  1 2      
Sunny123

Registriert seit: 20. Jul 2004
Ort: Dresden
22 Beiträge
 
#1

Neue hinzugefügte Zeile in Textdatei jeweils neu nummerieren

  Alt 22. Jul 2004, 15:37
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
  Mit Zitat antworten Zitat
_Sebastian_

Registriert seit: 22. Jul 2004
Ort: Lübeck
72 Beiträge
 
Delphi 2010 Professional
 
#2

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

  Alt 22. Jul 2004, 23:20
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;
  Mit Zitat antworten Zitat
Sunny123

Registriert seit: 20. Jul 2004
Ort: Dresden
22 Beiträge
 
#3

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

  Alt 23. Jul 2004, 09:03
Mmh, erstmal danke für deine Hilfe! Die Idee is gut, aber "count" klappt irgendwie net...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

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

  Alt 23. Jul 2004, 09:22
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Sunny123

Registriert seit: 20. Jul 2004
Ort: Dresden
22 Beiträge
 
#5

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

  Alt 23. Jul 2004, 09:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

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

  Alt 23. Jul 2004, 10:06
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Sunny123

Registriert seit: 20. Jul 2004
Ort: Dresden
22 Beiträge
 
#7

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

  Alt 23. Jul 2004, 11:03
DANKESCHÖN!!!

Hab trotzdem noch ein frägchen:
der zeigt mir aber in der ersten Zeile nen Fehler an: Bezeichner erwartet aber String gefunden ?!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

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

  Alt 23. Jul 2004, 11:11
Zitat von Sunny123:
...der zeigt mir aber in der ersten Zeile nen Fehler an: Bezeichner erwartet aber String gefunden ?!
Wer ist den "der"? Dein Compiler?
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

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

  Alt 23. Jul 2004, 11:12
Hi!

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

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Sunny123

Registriert seit: 20. Jul 2004
Ort: Dresden
22 Beiträge
 
#10

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

  Alt 23. Jul 2004, 11:29
Zitat:
Wer ist den "der"? Dein Compiler?
--> richtig
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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