AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

.txt lesen/schreiben

Ein Thema von shader · begonnen am 13. Mär 2008 · letzter Beitrag vom 13. Mär 2008
Antwort Antwort
Seite 3 von 4     123 4      
Zipp

Registriert seit: 26. Jan 2008
12 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 08:48
Delphi-Quellcode:
begin
  Datei := TStringList.Create;
  Datei.LoadFromFile(Pfad);
  for i:=0 to Neu.Count-1 do
    Datei.Add(Neu.Strings[i]);
  Datei.SaveToFile(Pfad);
end;
So müsste es eigentlich gehen. Bei Pfad musst man den kompletten Pfad angeben. Neu ist eine StringList mit den anzuhängenden Dateien. Wichtig ist, dass die Datei existiert und "Neu" mindestens eine Zeile besitzt, da es sonst zu einem Fehler kommt. Beides kann man durch if-Abfragen prüfen.
Den Code habe ich jetzt nicht ausprobiert. Kann also sein, dass da noch ein kleiner Fehler drin ist.
  Mit Zitat antworten Zitat
shader

Registriert seit: 11. Mär 2008
21 Beiträge
 
#22

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 08:52
@Zipp
DAnke für den Code, aber das Eintragen neuer Zeichen hab ich schon.
Probleme hab ich jetzt nur noch beim Löschen und Lesen.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#23

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 08:57
Zitat von shader:
Zitat:
Am Besten du öffnest mal die Hilfe und suchst nach TStringList und liest mal die
Beschreibung zu allen Methoden und Eigenschaften, dann wird es dir wahrscheinlich wie
Schuppen von den Augen fallen, wie du das realsieren kannst.
Hab ich ja gemacht, bin ja auch Fündig geworden. Nur bei Delete kommt ein Zugriffsfehler.
Genauso wie wennsch mit IndexOf arbeiten will.
Delete erwartet als Parameter eine Zahl,
diese Zahl gibt an an welcher Position etwas gelöscht werden soll.
Eine Stringliste fängt mit der Position 0 an.

Falls du in einer Schleife mehrere Einträge nacheinander löschen möchtest, musst du bedenken, dass nachfolgende Einträge ja nach vorne rutschen und so du auf nicht mehr existente Einträge zugreifen möchtest.

Die Lösung hierbei ist die Schleife von der letzten Position der List zu beginen.

Delphi-Quellcode:
for i := MeineListe.Count-1 downto 0 do
begin
  MeinListe.Delete(i);
end;

IndexOf erwartete einen String und gint dir im Rückgabeergebnis zurück, an welcher Position in der Liste dieser string gefunden wurde.
Wird der gesuchte String nicht gefunden, gibt es -1 zurück.
Levent Yildirim
  Mit Zitat antworten Zitat
shader

Registriert seit: 11. Mär 2008
21 Beiträge
 
#24

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:04
Hier ist mal mein Code für das löschen;
Delphi-Quellcode:
procedure TForm1.btn_loesClick(Sender: TObject);
begin
  datei.Delete[1];
end;
Das ist die Meldung, die ich bekomme;
Zitat:
[Fehler] Unit1.pas(61): Nicht genügend wirkliche Parameter
Und hier mal für das Lesen;
Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create;
  lbl_nachr.Caption := nachricht;
  lesen.Free;
end;
Und das ist die Fehlermeldung;
Zitat:
Listenindex überschreitet das Maximum(0)
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#25

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:07
Zitat von Tyrael Y.:
IndexOf erwartete einen String und gint dir im Rückgabeergebnis zurück, an welcher Position in der Liste dieser string gefunden wurde.
Wird der gesuchte String nicht gefunden, gibt es -1 zurück.
... und folglich erhältst du auch eine Zugriffsverletzung, wenn du das vorher nicht überprüfst und auf StringList[-1] zugreifen willst.
  Mit Zitat antworten Zitat
shader

Registriert seit: 11. Mär 2008
21 Beiträge
 
#26

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:09
versteh ich grad net!?
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#27

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:15
Naja, das kommt davon, wenn man das Ziel will, ohne den Weg zu gehen.

Soll heissen: Wie willst du auch etwas verstehen, wenn es dir scheinbar komplett an einem Grundlagenverständnis mangelt? Und nur weil ich das sage, will ich dir auch nichts böses. Sondern hol dir ein Buch oder studiere ein Tutorial was den Einstieg in Delphi von Grundauf erklärt. Wie die Syntax ist, wie man mit Klassen umgeht, Funktionen aufruft, etc. pp.

Das meinte ich auch vorn: Warum soll man jedesmal und jedesmal und jedesmal wieder von vorn den Urschleim unselbständigen Leuten erklären, die es einfacher finden, ihre Delphikenntnisse so wie du anzueignen, statt es wirklich zu STUDIEREN.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#28

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:22
Zitat von shader:
Hier ist mal mein Code für das löschen;
Delphi-Quellcode:
procedure TForm1.btn_loesClick(Sender: TObject);
begin
  datei.Delete[1];
end;
".Delete" ist eine Prozedur!

Zitat von shader:
Und hier mal für das Lesen;
Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create;
  lbl_nachr.Caption := nachricht;
  lesen.Free;
end;
In "nachricht" steht nicht der Text der StringListe!

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
shader

Registriert seit: 11. Mär 2008
21 Beiträge
 
#29

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:30
Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create;
  lbl_nachr.Caption := nachricht;
  lesen.Free;
end;
Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create;
  lbl_nachr.Caption := lesen[0];
  lesen.Free;
end;
Funktioniert aber Trotzdem nicht.


Zitat:
Löschen einer Zeile ( var SList: TStingList; // Creat und Free nicht vergessen )
SList.Delete(0); //löscht die erste Zeile
So hab ich es auf einer Seite gefunden.

Funktioniert aber trotzdem alles nicht.


@Nuklear Ping
Was bringt mir ein Tutorial, hab den Code jetzt einfach mal fast 1:1 abkopiert und trotzdem
Funktioniert es nicht. Da bringt auch ein Tut nichts.
Kann mir wenigstens einer mal die Fehler erklären.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#30

Re: .txt lesen/schreiben

  Alt 13. Mär 2008, 09:38
Guten Morgen,

Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create; //hier erstellst Du eine StringList Instance
  // es wird aber nichts in die Liste eingelesen
  lbl_nachr.Caption := lesen[0]; // hier versuchst Du aus der List zu lesen
  lesen.Free;
end;

logischer wäre es so:

Delphi-Quellcode:
procedure TForm1.btn_lesenClick(Sender: TObject);
var lesen: TStringList;
begin
  lesen := TStringList.Create;
  lesen.loadFromFile(....);
  if lesen.count > 0 then
    lbl_nachr.Caption := lesen[0];
  lesen.Free;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 15:57 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