Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 24.04.2005, 10:41 Titel: |
|
|
Du hast mich Falsch verstanden
Den User speicherst du in einer Variable nicht in einer .txt Datei.
Auserdem musst du den genauen Pfad angeben.
Also z.B. "C:\highscore.txt".
Code: |
OPEN "C:\highscores.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score[/color]
CLOSE #1
|
Welcher User welchen Score hat steht dann in der Datei, denn der Username wurde ja ganz am anfang in der Variable user$ gespeichert.
Und die Variable wird ja in die .txt Datei geschrieben
/Edit: Ach ja du musst bei sowas keine Variablen deklarieren. Es reicht wen du einfach user$ schreibst (für Text) und z.B. treffer für Zahlen. _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.04.2005, 12:14 Titel: |
|
|
nur so als tipp:
Code: | OPEN user$+".txt" OFR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1 |
Code halbiert
/edit: Hups, da war ja noch n Post aufer zweiten Seite  _________________ "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 |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 24.04.2005, 12:16 Titel: |
|
|
Aber eigentlich müsste deine Fehlermeldung in einer anderen Zeile stehen , vielleicht ist user$ eine festgelegte Variable naja sag halt mal Bescheid obs klappt  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.04.2005, 12:49 Titel: |
|
|
hast du ion QB schon mal irgendwas von ner Benutzerverwaltung gesehen?
es gibt kein user$, is ne ganz normale Variable  _________________ "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 |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 24.04.2005, 15:46 Titel: |
|
|
tut mir leid jungs
aber es geht nix
ich hab mal n' bissle was ausprobiert mit dem TIMER aber..(er is sch***e)
naja nochmal mein aktueller Code:
Code: |
CLS
INPUT "Btte Benutzername angeben ", user$
CLS
PRINT "Bitte ENTER dr?cken"
DIM a AS STRING
DIM b AS STRING
DIM c AS STRING
DIM d AS STRING
DIM e AS STRING
DIM f AS STRING
DIM g AS STRING
DIM h AS STRING
DIM i AS STRING
DO
RANDOMIZE TIMER
z = (INT(RND * 53) + 9) / 10
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF Taste$ = CHR$(27) THEN END
RANDOMIZE TIMER
y = (INT(RND * 53) + 9) / 10
PRINT y;
k = 1
SELECT CASE k
CASE IS = 1
PRINT " + "
CASE IS = 2
PRINT " - "
CASE IS = 3
PRINT " * "
CASE IS = 4
PRINT " / "
END SELECT
PRINT z;
PRINT "="
LINE INPUT usereingabe$
PRINT "Zeit: "; TIME$
Code:
s! = .0549254
t! = TIMER
WHILE INKEY$ = ""
t2! = TIMER
m! = t2! - t!
IF m! > 0 THEN
m! = CINT(m! / s!) * s!
PRINT m!
t! = t2!
END IF
WEND
LOOP
PRINT "Deine Punktzahl lautet:"
PRINT score
score = 0
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF usereingabe$ = ergebnis$ THEN score = score + 10
IF user$ = a THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = b THEN OPEN "b.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = c THEN OPEN "c.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = d THEN OPEN "d.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = e THEN OPEN "e.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = f THEN OPEN "f.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = g THEN OPEN "g.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = h THEN OPEN "h.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
IF user$ = i THEN OPEN "i.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1
|
_________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 24.04.2005, 16:11 Titel: |
|
|
Also ich würde dir vorschlagen, dass du erst mal ein QuickBASIC-Tutorial
durchpaukst, bevor du noch 10 mal deinen leicht veränderten Code postest.
jb |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 24.04.2005, 16:18 Titel: |
|
|
Ich hab doch schon 3 durch gemacht _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 24.04.2005, 17:26 Titel: |
|
|
Und warum kommst du dann nicht weiter?
Außerdem: Warum ist der TIMER sch****?
jb |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 24.04.2005, 17:30 Titel: |
|
|
Hallo.
Ist doch klar, wieso da nichts zugeordnet wird. Du hast a, b, c usw. als Variablen ohne Inhalt deklariert. Alle Benutzernamen haben den gleichen Wert.
Lass die vielen DIM Anweisungen weg und schreib unten statt
Code: | IF user$ = a THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1 |
einfach
Code: | IF user$ = "a" THEN OPEN "a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1 |
oder schreib anstelle der vielen IF user$... Anweisungen ein einziges mal
Code: | OPEN user$+".txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user$; " Punkte ", score
CLOSE #1 |
Aber das wurde dir glaube ich auch schon vorgeschlagen.
Oder habe ich etwa dein Problem nicht richtig verstanden?
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Zuletzt bearbeitet von Sebastian am 24.04.2005, 17:32, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 24.04.2005, 17:31 Titel: |
|
|
Keine ahnung?
Ich weiß zwar was ich tun muss aber nich wie?
Der Pc muss die aufgabe rechnen und als ergebnis$ Viriable ausgeben.
und der Fehler. Ich weiß nich was da fasch is:
Code: |
IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1
|
in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.
Kein Plan?  _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 24.04.2005, 17:33 Titel: |
|
|
Keine ahnung?
Ich weiß zwar was ich tun muss aber nich wie?
Der Pc muss die aufgabe rechnen und als ergebnis$ Viriable ausgeben.
und der Fehler. Ich weiß nich was da fasch is:
Code: |
IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1
|
in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.
Kein Plan?
Ach und der TIMER soll eigentlich von 200 Sekunden auf 0 runterzählen.
Und dann die score anzeigen und fragen ob man nochmal will.
Aber... _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 24.04.2005, 17:48 Titel: |
|
|
1.
Benutz den mal endlich!
2. Zu deinem Problem. Versuch mal das:
Code: |
f = FREEFILE
OPEN "C:\" + user$ + ".txt" FOR OUTPUT AS #f
[...]
|
3. Das TIMER-Problem
Hier ein Ansatz:
Code: |
Sekunden = 200
DO
IF t$ <> TIME$ THEN
PRINT " Noch "; Sekunden; " Sekunden."
Sekunden = Sekunden - 1
t$ = TIME$
END IF
LOOP UNTIL Sekunden = 0
|
jb |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.04.2005, 23:21 Titel: |
|
|
Dorftrottel hat Folgendes geschrieben: | Code: |
IF user$ = a THEN OPEN "C:\a.txt" FOR OUTPUT AS #1
PRINT #1, "User: ", user, " Punkte ", score
CLOSE #1
|
in der zweiten Zeile sagt das Programm:
Falscher Dateineme oder Dateinummer.
|
das problem is ganz einfach
du sagst QB 'schreibe variable nach datei 1', und zwar immer. jedoch ist die datei nur geöffnet, wenn user$=a ist. mach vor open einen zeilenumbruch ergänze eine die zeile nach close #1 mit inhalt END IF _________________ "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 |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 25.04.2005, 16:13 Titel: |
|
|
hi,
danke leute dass ihr soooooooooooooooo viel aufwand um diese frage macht.
danke jb für die codes der den du mir gegeben hast geht.
nur dass es erst beim zweiten anlauf geht. das heißt :
ich starte das programm, gebe den benutzernamen ein,
erste aufgabe kommt, drücke ESC punkte = 0...
schaue nach... nich gespeichert. mach alles nochmal, guck wieder...
gespeichert.
und das, dass ich punkte bekomme geht auch nich:
Code: |
LINE INPUT usereingabe$
PRINT "Richtiges Ergebnis = "; y + z
ergebnis$ = "y + z"
IF t$ <> TIME$ THEN
Sekunden = Sekunden - 1
t$ = TIME$
END IF
PRINT " Noch "; Sekunden; " Sekunden."
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF Taste$ = CHR$(27) THEN GOTO puntos
LOOP UNTIL Sekunden = 0
puntos:
PRINT "Deine Punktzahl lautet:"
PRINT score
score = 0
DO: Taste$ = INKEY$: LOOP WHILE Taste$ = ""
IF usereingabe$ = ergebnis$ THEN score = score + 10
|
auch wenn ich die aufgabe richtig habe sinds am schluss 0 punkte??
ach nur so als kleine nebenfrage.
bei dem timer von jb ziehts nur ne sekunde ab.
kann man auch machen das er durchgänig zählt.
also das wenn man das programm 20 sekunden stehen lässt
und dann den timer anzeigt das er dann 200 sekunden weniger anzeigt
und nich nur eine ??? _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 27.04.2005, 12:27 Titel: |
|
|
Die Mauer (Fehler) is im Weg
(komm nich weiter) _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 27.04.2005, 14:21 Titel: |
|
|
Wie wärs mit:
Code: |
IF usereingabe = ergebnis THEN score = score + 1
|
Den Code auf Deutsch:
Wen die Benutzereingabe mit dem ergebnis übereinstimmt dann wird der Wer in der Variable score um 1 erhöht
Ach ja: Zahlen speichert man nicht in Strings
/Edit: Du musst natürlich VOR der Aufgabe schreiben: score = 0 _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 27.04.2005, 14:47 Titel: |
|
|
Geht nich  _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 01.05.2005, 18:29 Titel: |
|
|
geht immer noch nich. HELP!!! _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 02.05.2005, 16:06 Titel: |
|
|
Vielleicht beschreibst du dein Problem mal etwas genauer, dann
können wir dir vielleicht auch helfen.
jb |
|
Nach oben |
|
 |
|