Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Feenfleisch
Anmeldungsdatum: 11.08.2005 Beiträge: 15
|
Verfasst am: 11.08.2005, 23:05 Titel: problem mit dem schreiben und lesen bei einer datei |
|
|
hallo,
ich habe ein paar kleine problem:
(1) ich müßte den inhalt einer ganz normalen textdatei in eine variable einlesen
(2) wenn ich das ganze kram in ascii umgewandelt habe (das ist erledigt) wieder in die datei schreiben und dabei das alte überschreiben.
mein problem hierbei ist, dass mit schreiben habe ich hinbekommen, nur wenn ich den text aus ascii zurückumwandeln komme ich nie auf den ursprungtext zurück. es scheint mir auch das mehr zeichen dazu gekommen sind, obwohl ich eigentlich zeichen für zeichen umgewandelt und in einen string wieder zusammengefügt habe. zudem wenn ich ich den text direkt im programm in einem string variable packe klappt es prima. irgendwo mit der datei scheint es sehr zu harken
vielleicht hat jemand eine idee. vielen dank im voraus und ich hoffe ich habe euch nicht all zu sehr verwirrt
erich |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 11.08.2005, 23:12 Titel: |
|
|
Hallo.
Code: | 'Lesen einer Datei
INPUT "Dateiname: ", d$
OPEN d$ FOR BINARY ACCESS READ AS #1
Inhalt$ = SPACE$(LOF(1))
Get #1,,Inhalt$
CLOSE #1
NeuerInhalt$ = MeineFunctionZumErsetzen(Inhalt$)
Kill d$
OPEN d$ FOR BINARY ACCESS WRITE AS #1
PUT #1,,NeuerInhalt$
CLOSE #1
PRINT "Die alte Datei wurde durch die neue Fassung ersetzt. :)"
SLEEP |
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Feenfleisch
Anmeldungsdatum: 11.08.2005 Beiträge: 15
|
Verfasst am: 11.08.2005, 23:18 Titel: |
|
|
vielen vielen dank |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 12.08.2005, 16:58 Titel: |
|
|
Nur noch ne kleine Frage zu den Zeilen:
Code: | Inhalt$ = SPACE$(LOF(1))
Get #1,,Inhalt$ |
Hier wird die gesamte Datei auf einmal eingelesen. Strings können in FB bis zu 2GB lang sein. Gibt es bei GET evtl irgendwelche einschränkungen, abgesehen von dieser 2GB-Grenze der 32bit-Prozessoren?
Danke!
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 12.08.2005, 17:26 Titel: |
|
|
Ist das bei 400MHz und einer 8 Jahre bzw. einer 2 Jahre alten Festplatte zu empfehlen?
Und wieso ausgerechnet 1.95GB?
Der Integerbereich geht doch bis 2 ^ 31 - 1, und das sollte genau 1 Byte weniger sein als 2GB...oder?
Schön, dich in der Mailing-List zu haben! _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.08.2005, 18:10 Titel: |
|
|
Hallo.
1.95GB hab ich jetzt einfach so gesagt, weil ich nicht wusste, ob es mit exakt 2GB (2048MB) noch reibungslos klappt. Daher hab ich dir etwas da drunter empfohlen. Natürlich hängt die mögliche Datenmenge auch davon ab, wie viel Speicher du hast. Du solltest also auf >2GB virtuellen Speicher (phys. RAM + Auslangerungsdatei) kommen.
Ich habs eben die Probe auf's Exempel gemacht. Der Speicherbedarf nimmt immer wieder ab und zu, jedoch bei jeder Zunahme wieder ein bisschen mehr. Das Diagramm zeigt eine Art Jojo-Effekt. Siehe hier:
Der Versuchsquellcode ist links abgebildet. Ob man den String von der Platte liest oder einfach so erzeugt, spielt ja keine Rolle, um den maximalen Stringspeicherplatz herauszufinden.
Bei mir kam aber nach schätzungsweise 30 Sekunden eine Exception "[...]Der Vorgang written konnte nicht ausgeführt werden[...]". Und ich hab 1GB DDR-RAM gesteckt und eine nochmal 1,5x so große Auslagerungsdatei. Von daher sind die 2GB wohl nicht praktisch schaffbar. Und das Ganze hat noch einen Nebeneffekt: Mein PC ist jetzt 486er-like langsam...
Und die Mailinglist werd ich jetzt auch mal ein bisschen verfolgen, was da so los ist.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
|