Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateien (https://www.delphipraxis.net/135358-dateien.html)

Johannes013 9. Jun 2009 17:46

Re: Dateien
 
ok. ich glaube ich stelle mich blöd.

andere Frage. wie kann ich in einer Stringlist oder Datei den Cursor an eine bestimmte Stelle setzen oder so eine Art Delete machen?


:?: :wall:

Satty67 9. Jun 2009 17:48

Re: Dateien
 
Zu Deiner ersten Frage:

Vielleicht liest Du nochmal ganz in Ruhe die 3-4 Posts durch. Dort ist alles detailliert beschrieben incl. Code-Beispiel. Deine Frage wurde also schon mehrmals genauesten beantwortet! ;)

Zur zweiten Frage (eigentlich nur eine Frage pro Thread):

Ganze Zeile löschen oder nur einzelne Zeichen einer Zeile?

Johannes013 9. Jun 2009 17:54

Re: Dateien
 
Naja eigentlich beides.

Evntuell zeichen und 'ne ganze Zeile.

Namenloser 9. Jun 2009 17:57

Re: Dateien
 
Zitat:

wie kann ich in einer Stringlist oder Datei den Cursor an eine bestimmte Stelle setzen oder so eine Art Delete machen?
Die Arbeitsweise einer Stringlist ist eine andere als die der Datei-Funktionen. So etwas wie einen "Cursor" hat die Stringlist gar nicht. Du kannst nur mit den Stringfunktionen Copy, Delete, Insert usw. so etwas simulieren.

Satty67 9. Jun 2009 18:05

Re: Dateien
 
Wen es immer eine Textdatei ist, dann verwende immer die TStringList und verzichte ganz auf direkten Dateizugriff via AssignFile, Append, Writeln etc.

***

TStringList bringt fast alles mit, was Du brauchst

Delphi-Quellcode:
var
  List : TStringList;
  aString : String;
begin
  List := TStringList.Create;
 
  if FileExists('Testdatei.txt') then
    List.LoadFromFile('Testdatei.txt');

  List.Append('Das ist eine angehängte Textzeile.');
  List.Append('Das ist auch eine angehängte Textzeile.');
  List.Append('Das ist wieder eine angehängte Textzeile.');

  ShowMessage(Format('Liste hat %d Zeilen.',[List.Count]));

  List.Delete(2); // Löscht Zeile 3! Index beginnt bei 0

  ShowMessage(Format('Liste hat %d Zeilen.',[List.Count]));

  aString := List[0];  // Erste Zeile merken
  Delete(aString, 3,2); // Dort an 3. Position 2 Zeichen löschen
  List[0] := aString;  // Zeile wieder in Liste

  List.SaveToFile('Testdatei.txt');
  List.Free;
end;
Sooo.. sollte sogar so funktionieren... also Code in einen Button kopieren und experimentieren.

Johannes013 9. Jun 2009 18:46

Re: Dateien
 
Danke. Jetzt hab' ich's raus.

Löscht er vor der 3. Stelle oder nach der 3. Stelle 2 Zeichen?


Jojo


:glaskugel:

Satty67 9. Jun 2009 18:53

Re: Dateien
 
Von der 3. Stelle an, also das 3 Zeichen ist das erste gelöschte. Denke mit "er" war Delete(aString, 3,2) gemeint.

Dann gleich nicht noch ein Tipp, Cursor auf das Wort und F1. Anders ausgedrückt, solche banalen Fragen sind dann sehr gut in der Delphi Hilfe beschrieben, meisten besser als wir hier mit ein paar Worten können (wollen). ;)

Johannes013 9. Jun 2009 18:58

Re: Dateien
 
danke. ich mag dieses Forum. :-D



Johannes013 :dancer2:


PS: ich habe viele Fragen. Kannst ja ab und zu ma schauen. Du hast's toll erklärt. :thumb: :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.
Seite 2 von 2     12   

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