 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Noah Panthenos
Anmeldungsdatum: 22.09.2015 Beiträge: 2
|
Verfasst am: 22.09.2015, 21:20 Titel: Werte aus Text-Datei einlesen.. |
|
|
hallo liebe freebasic gemeinschaft!
vorerst:
dickes dankeschön, dass es diese community, also euch gibt!
ich habe auch schon des öfteren in der befehlsreferenz gestöbert und dabei viel, für mich brauchbares gefunden.
heute steh ich vor einem relativ simplen problem.
dennoch schaffe ich es nicht alleine.
zum problem:
ich möchte aus einer .txt - datei einlesen.
(es handelt sich dabei um eine liste mit verschiedenen werten, einige davon sind durch komma getrennt, andere beinhalten nur positive ganze zahlen, sowie wieder andere negative ganze zahlen.)
also beispielsweise:
...
7,8
-10,4
-15
...
soweit so gut:
Code: | cls
screen 9
dim as integer f = FREEFILE
open "orig.txt" for input as #f
print input(300, #f)
close #1
sleep
end |
nun möchte ich _vor_ jeden wert ein "," einfügen und _nach_ jedem wert ein ";"
wie lässt sich dies realisieren?
außerdem möchte ich anschließend alles (inklusive "," und ";")
wiederum in eine neue .txt - datei schreiben.
ich bin noch am anfang mit meinem "freebasic"-latein, dementsprechend wäre ich für jegliche hilfe dankbar!
in, auf praktische lösung hoffender voraussicht!
DANKESCHÖN,
euer noah. _________________ chur! |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 22.09.2015, 21:46 Titel: |
|
|
Hallo Noah und willkommen im Forum!
Das Programm, das du suchst, könnte etwa so aussehen: Code: | Cls
Screen 9
Dim As Integer fin = FreeFile
Open "orig.txt" For Input As #fin
Dim As Integer fout = FreeFile
Open "mod.txt" For Output As #fout
Dim As Integer wert
Do
Input #fin, wert
Print #fout, ",";wert;";"
Loop Until Eof(fin)
Print "OK"
Close
Sleep |
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Noah Panthenos
Anmeldungsdatum: 22.09.2015 Beiträge: 2
|
Verfasst am: 22.09.2015, 21:58 Titel: |
|
|
hi grindstone,
vielen lieben dank, für die schnelle antwort.
sieht nicht schlecht aus, leider "übersieht" diese variante die kommazahlen und legt jedesmal eine neue zeile bei einem komma an..
also so:
orig.txt:
Code: | 7,5
4,8
99
200,7
7,8
-10,4
-15
-13
-18,55
,9 |
mod.txt:
Code: | , 7;
, 5;
, 4;
, 8;
, 99;
, 200;
, 7;
, 7;
, 8;
,-10;
, 4;
,-15;
,-13;
,-18;
, 55;
, 0;
, 9; |
EDIT:
wichtig zu erwähnen ist noch, dass es sich bei den kommazahlen der _originaldatei_ (nicht orig.txt, diese dient nur meinem versuch) um durch "." getrennte kommazahlen handelt.
bei den durch "." getrennten kommazahlen funktioniert die variante fast.
ausnahme: es wird von FB einfach aufgerundet.. _________________ chur! |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 22.09.2015, 23:05 Titel: |
|
|
Noah Panthenos hat Folgendes geschrieben: | leider "übersieht" diese variante die kommazahlen und legt jedesmal eine neue zeile bei einem komma an.. | Das liegt daran, daß das Komma in Datensätzen standardmäßig als Trennzeichen dient, und Dezimalzeichen ist standardmässig ein Punkt.
So müsste es besser funktionieren: Code: | Cls
Screen 9
Dim As Integer fin = FreeFile
Open "orig.txt" For Input As #fin
Dim As Integer fout = FreeFile
Open "mod.txt" For Output As #fout
Dim As String wert
Do
Line Input #fin, wert
Print #fout, ",";wert;";"
Loop Until Eof(fin)
Print "OK"
Close
Sleep
|
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|