AGB  ·  Datenschutz  ·  Impressum  







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

Problemm mit Speichern in Datei.

Ein Thema von ferby · begonnen am 6. Sep 2004 · letzter Beitrag vom 6. Sep 2004
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Problemm mit Speichern in Datei.

  Alt 6. Sep 2004, 18:30
Hallo,

Ich habe in einer Datei folgendes stehen: 3,11,743,21,323.......
Jetzt will ich das die 2 und 3 zahl also die zahl 11 geändert wird, und zwar von einer anderen zweistelligen zahl z.B: 34. Also soll nur die Zahl 11 in der Datei zur zahl 34 werden und sonst soll sich nichts ändern.


Dazu habe ich folgendes geschrieben:

(im edit1 steht die neue zahl)

Delphi-Quellcode:
  assignfile(leveldatei, 'level.dat');
  rewrite(leveldatei);
  seek(leveldatei,2);
  write(leveldatei, edit1.text);
  closefile(leveldatei);

Leider funktioniert das nicht. Und selbst wenn es funktionieren würde dann würde ja 3,341,743,21,323....... in der Datei stehen oder?
Könnt ihr mir ein wenig weiterhelfen?


Ferby
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Problemm mit Speichern in Datei.

  Alt 6. Sep 2004, 18:53
du kannst wohl nur zeilenweise schreiben mit write *nicht 100%ig weis*
aber du könntest Tfilestream nehmen und an die position seeken und dort dann via strlcpy oder copy oder move befehle der winapi diese stellen "überschreiben"
aber wenn die zeichen länger sind die du einfügen willst müsstest du warscheinlich erstmal die datei größer machen, alles ab der position um x bytes verschieben und dann deinen neuen text in die lücke schreiben

oder du machst es noch einfacher *ohne gewär*
lies eine zeile
(und eventuell alles danach ?! )
dann ersetze die zeichen (ansireplacestr)
und schreib die zeile wieder rein (warscheinlich geht nur "zeilenweise dazwischen rein schreiben" und deshalb müsstest du dann den rest auch nochmal mit schreiben der datei)
also erst alles ab der zu ersetzenden zeile einlesen
dann ersetzen
dann das file kürzen ab der zeile (winAPI-> setfilelength oderso)
und dann wieder alles dran anfügen

so spart man sich von oben bis ersetz zeile die ausleserei und schreiberei

oder noch einfacher *g*

alles einlesen in ne stringliste
dann ersetzen
dann wieder alles speichern (datei leeren/löschen davor)
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Problemm mit Speichern in Datei.

  Alt 6. Sep 2004, 18:54
Also dein Code sollte funktionieren, da ja auf diese Weise nur Bytes überschrieben werden, also es wird nicht's verschoben, oder so.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:39 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