Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

100 Wörter aus Datenfeld in eine Zeile schreiben.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
imja



Anmeldungsdatum: 15.06.2006
Beiträge: 7

BeitragVerfasst am: 15.06.2006, 14:57    Titel: 100 Wörter aus Datenfeld in eine Zeile schreiben. Antworten mit Zitat

Hallo,
wie kann ich alle Wörter aus einem Datenfeld "Woerter", das 100 Wörter enthält, in eine Zeile schreiben? So würde es zwar gehen:

Code:
OPEN "datei.txt" FOR OUTPUT AS #1
DIM woerter(1 TO 100) AS STRING
.....................
.....................
WRITE #1, woerter(1), woerter(2), woerter(3),  woerter(4), ..., woerter(100)....aber 100 Mal kann ich doch nicht schreiben

Die Schleife
Code:
FOR i = 1 TO 100
WRITE #1, woerter(i)
NEXT i

ergibt eine Spalte, es muss aber als eine Zeile aussehen:
"wort1", "wort2", "wort3", "wort4", ... "wort100"

Danke euch im voraus.


Zuletzt bearbeitet von imja am 15.06.2006, 15:57, insgesamt 3-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 15.06.2006, 15:00    Titel: Antworten mit Zitat

write #1, woerter(..),
mit komma hinten vllt?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
imja



Anmeldungsdatum: 15.06.2006
Beiträge: 7

BeitragVerfasst am: 15.06.2006, 15:09    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
write #1, woerter(..),
mit komma hinten vllt?


Falls du das meinst
Code:
FOR i = 1 TO 100
WRITE #1, woerter(i),
NEXT i

es kommt eine Fehlermeldung "Erwartet: Ausdruck"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 15.06.2006, 15:34    Titel: Antworten mit Zitat

Wie wär's hiermit:
Code:
OPEN "datei.txt" FOR OUTPUT AS #1
FOR i%=LBOUND(Woerter) TO UBOUND(Woerter)
 PRINT #1, Woerter(i%)
NEXT i%
CLOSE #1

_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
imja



Anmeldungsdatum: 15.06.2006
Beiträge: 7

BeitragVerfasst am: 15.06.2006, 15:52    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Wie wär's hiermit:
Code:
OPEN "datei.txt" FOR OUTPUT AS #1
FOR i%=LBOUND(Woerter) TO UBOUND(Woerter)
 PRINT #1, Woerter(i%)
NEXT i%
CLOSE #1


Leider ergibt das eine Spalte:
wort1
wort2
wort3
....
wort100

Ich brauche aber eine Zeile:
"wort1", "wort2", "wort3", "wort4", ... "wort100"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 15.06.2006, 15:56    Titel: Antworten mit Zitat

print #1, chr(34)+woerter(i%)+chr(34)+", ";

nimm die dann gehts.. einfach zusammengebastelt, chr(34) ist "
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Charly2



Anmeldungsdatum: 28.11.2004
Beiträge: 29
Wohnort: Mittelfranken

BeitragVerfasst am: 15.06.2006, 16:00    Titel: Antworten mit Zitat

Mach doch hinter dem Print einfach ein Komma.
Dann werden alle Wörter in eine Zeile geschrieben.
Bei Write funktioniert das anscheinend nicht.
Wenn die Zeile mit Input wieder eingelesen werden soll, müssen
die Wörter mit "," getrennt werden. Der Print-Befehl müßte dann
wie folgt aussehen:

print #1,Woerter(i%)+",",
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
imja



Anmeldungsdatum: 15.06.2006
Beiträge: 7

BeitragVerfasst am: 15.06.2006, 17:13    Titel: Antworten mit Zitat

Es funktioniert! Danke Charly2 und MisterD.

Das:
Code:
OPEN "datei.txt" FOR OUTPUT AS #1
DIM woerter(1 TO 100) AS STRING
...........................................
...........................................
FOR i=1 TO 100
print #1, woerter(i)+",";
NEXT i


ergibt so eine Zeile:
wort1,wort2,wort3,wort3.....wort100,
welche man mit INPUT einlesen kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 15.06.2006, 19:49    Titel: Antworten mit Zitat

Sicher, dass du die Zeichenketten ohne Anführunszeichen mit Input einlesen kannst? Probier mal nen String mit Leerzeichen drin.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 15.06.2006, 20:12    Titel: Antworten mit Zitat

das geht, input bla;blubb;blubbber trennt an , und ;
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 15.06.2006, 20:25    Titel: Antworten mit Zitat

Stimmt, man brauchte die Anführungszeichen nur, wenn sich in der Zeichenkette ein Komma befindet... durchgeknallt
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz