 |
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 |
NoNoob
Anmeldungsdatum: 17.07.2005 Beiträge: 14 Wohnort: Lüdenscheid
|
Verfasst am: 05.03.2006, 17:50 Titel: Alte QuickBasic Programme? |
|
|
Morgn,
wollte mal meine Internetstoppuhr verbessern die ich vor einiger Zeit noch in QB geschrieben habe. Nun voher wurde das Protokoll (wann der User im Inet war) im txt Format abgespeichert. Nun in HTML. Ich hab meine Problemstelle mit Pfeilen markiert FB will das einfach nich Kompilieren...
Code: | 0
HALTER$ = "PLATZHALTER"
endsession$ = "================================="
head$ = "<head>"
heade$ = "</head>"
title = "<title>Internet Protokoll | Netracker 0.9 </title>"
br$ = "<br>"
CLS
COLOR 15, 0
PRINT "Netracker 0.9 Beta "
COLOR 0, 15
PRINT " Bitte gebe deinen Namen ein ! "
PRINT " Durch eingabe folgender Namen können sie Extras ausführen "
PRINT " "
PRINT " Neu = Erstell ein neues Protokoll, dabei wird das alte überschrieben "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
PRINT " "
COLOR 15, 0
------>INPUT name$<-----
IF name$ = "/delete" THEN GOTO 998
IF name$ = "exit" THEN GOTO 555
IF name$ = "EXIT" THEN GOTO 555
IF name$ = "Exit" THEN GOTO 555
IF name$ = "neu" THEN GOTO 666
IF name$ = "Neu" THEN GOTO 666
IF name$ = "NEU" THEN GOTO 666
SLEEP
OPEN "netdata.html" FOR APPEND AS #1
PRINT #1,
PRINT #1, name$
PRINT #1, TIME$, DATE$,
CLOSE #1
COLOR 8, 0
PRINT "Internetmessung gestartet:"; TIME$, DATE$,
PRINT "Zum Stoppen LEERTASTE dr?cken !"
START! = TIMER
COLOR 15, 0
SLEEP
ENDE! = TIMER
OPEN "netdata.html" FOR APPEND AS #2
PRINT #2,
PRINT #2, TIME$, DATE$, ENDE! - START!,
PRINT #2,
PRINT #2, endsession$,
CLOSE #2
COLOR 8, 0
PRINT "Messung gestoppt...File sucessfull saved."
PRINT ENDE! - START!, "Sekunden"
COLOR 15, 0
SLEEP
GOSUB 555
555
COLOR 0, 15
SLEEP
PRINT "eine Taste noch...."
SYSTEM
998
COLOR 4
PRINT "ACHTUNG!!! DU BIST GRAD DABEI DIE SPEICHERUNGS DATEI ZU L™SCHEN (J?/N?)"
DO
INPUT CONFIRM$
IF CONFIRM$ = "j" THEN GOTO 999
IF CONFIRM$ = "J" THEN GOTO 999
IF CONFIRM$ = "N" THEN GOTO 555
IF CONFIRM$ = "n" THEN GOTO 555
LOOP
999
CLS
COLOR 15
KILL "netdata.txt"
PRINT "L”schvorgang erfolgreich...!"
OPEN "drivers.dll" FOR APPEND AS #3
PRINT #3, HALTER$, HALTER$; HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$, HALTER$,
PRINT #3, DATE$, TIME$,
CLOSE #3
SLEEP
GOSUB 555
666
CLS
COLOR 15
PRINT "Hiermit erstellen sie ein neues Dokument und das alte wird überschrieben"
PRINT "Fortfahren?(J/N)"
DO
INPUT n$
IF n$ = "J" THEN GOTO 667
IF n$ = "j" THEN GOTO 667
IF n$ = "n" THEN GOTO 0
IF n$ = "N" THEN GOTO 0
LOOP
667
PRINT "Neues Dokument wird erstellt bitte warten..."
SLEEP 3
OPEN "netdata.html" FOR OUTPUT AS #3
PRINT #3,
PRINT #3, head$
PRINT #3, title$, heade$,
CLOSE #3
PRINT "Ein neues Dokument wurde erfolgreich erstellt"
|
|
|
Nach oben |
|
 |
Kai Bareis

Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 05.03.2006, 18:22 Titel: |
|
|
Soviel wie ich weiss ist name schon eine Funktion in Freebasic und somit kannst du name nicht als Variable oder sonst was nutzen. _________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht! |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 05.03.2006, 18:38 Titel: |
|
|
Das ist korrekt.
Bei diesem Programm lässt sich auch gleich einiges Optimieren, ich hab mal eine leicht geänderte Version hochgeladen:
http://freebasic.de/fbnp/index.php?view=254 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 05.03.2006, 18:38 Titel: |
|
|
Genau, da man mit name eine Datei umbenennen kann, kannst du die variable nicht benutzen, ausser du schreibst am Anfang "Option Nokeyword name", dann kannst du das so lassen, allerdings kannst du dann den befehl "name" in diesem Programm nicht benutzen.
Mir noch was anderes aufgefallen:
Code: |
IF name$ = "/delete" THEN GOTO 998
IF name$ = "exit" THEN GOTO 555
IF name$ = "EXIT" THEN GOTO 555
IF name$ = "Exit" THEN GOTO 555
IF name$ = "neu" THEN GOTO 666
IF name$ = "Neu" THEN GOTO 666
IF name$ = "NEU" THEN GOTO 666
|
Das ist viel zu umständlich, das kann man ganz einfach so machen:
Code: |
Select Case lcase(name$)
Case "/delete"
Goto 998
Case "exit"
Goto 555
Case "neu"
Goto "666"
End Select
|
lcase wandelt alle großbuchstaben in kleine um(z.b. "ExIt" zu "exit"), also kann man dadurch mehrere überprüfungen sparen. Select Case kannst du auch weglassen und einfach IF nehmen, ich finde das so jedoch übersichtlicher.
Michael
Ähditt:
War ja klar, mal wieder zu langsam^^ _________________
Code: | #include "signatur.bi" |
|
|
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.
|
|