QBasic Tips
1.
Einleitung:
Also ich schreibe dieses Tutorial um euch den Einstieg in die Programmiersprache 'Basic' zu erleichtern. Aber auch wenn ihr dieses Tutorial gelesen habt seid ihr keine Meister coder.
Basic ist eine der leichtesten Programmiersprachen (WinScript ist noch leichter). Basic ist für
den anfang vielleicht gut aber wenn ihr mal mit 'basic' etwas "schweres" coden wollt geht das nur umständlich. Die Programmiersprache Basic wird nochmal unterteilt in viele kleine Programmier-
sprachen die sich nur wenig von einander unterscheiden .
z.b. QBasic(Quick Basic) ,VisualBasic ,PowerBasic ,GFA Basic , u.s.w. . Mit compilern kann man
seine source-codes dann zu ausfürbaren *.exe files compilen.
2.
BASIC-BEFEHLE
QBasic hat fast jeder auf seinem PC einfach mal suchen . Wenn nicht von alten DOS Disketten
hohlen oder downloaden. Also ich fange mal mit ein paar Befehlen an .
CLS
Löscht den Bildschirm also alles wird Schwarz .
Sollte man am anfanng eines progs verwenden .
COLOR 1 '2,3 ...'
Stellt die Text Farbe ein [1=Blau 2=Grün 3=HellBlau 4=Rot 5=Lila]
Print "Hallo Welt"
Schreibt 'Hallo Welt' auf den Screen . (Hallo Welt kann man natürlich durch alles ersetzen .
SLEEP 1 '2,3 ...'
Pause das programm hält an . Bei "SLEEP 1" 1Sekunde .
Wenn man den Befehl ohne eine Zahl schreibt "SLEEP" geht das Programm erst nach einer eingabe weiter . z.b. ENTER .
GOTO * 'Für "*" könnt ihr natürlich alles einsetzen .'
Springt an eine Bestimmte stelle im Programm wird weiter unten im Bsp benutzt .
PLAY "cdefga" 'Ihr könnnt mit o1, o2, o3 ... einstellen wie hoch der Sound sein soll
-z.b. play "o2cdefg"
Schöne PC-speaker töne. Wie man es von DOS gewohnt ist .
BEEP
Sendet den Error Ton
SOUND 1000 ,20
Macht eine Frequenz 1000hz hinter dem komma steht die länge .
MKDIR [Verzeichnissname]
Erstellt ein verzeichniss die [] müsst ihr natürlich weglassen.
KILLL [Dateiname]
Löscht eine Datei . Die [] müsst ihr hier natürlich auch weglassen.
END
Beendet das Programm .
So das sind ein paar Befehle wo man nicht viel erklären muss aber es geht ja noch weiter :
Input Boxen:
Bsp.
input "Wie heisst du ?", name$
| | |
Befehl frage variable
Bei der Variable könnt ihr euer Hirn mal anschalten und euch selber eine Ausdenken also 'asshole$'
würde auch gehen . Nur das '$' Zeichen sollte nicht fehlen da ihr ja eine Text eingabe wollt wenn ihr nach Zahlen fragt dann könnt ihr das '$' weglassen . Jetzt ist der Name den ihr eingegeben habt = Die Variable die ihr eingegeben habt . Also wenn ihr nun 'PRINT name$' eingibt wird der
Name den ihr eingegeben habt wiederhohlt . (Ich hoffe das war verständlich. Wenn nicht ausprobieren.)
Input Boxen mit kontrolle (z.b. Passwort abfrage):
Bsp.
input "Passwort:"; pw$
| | | |
Befehl frage | variable
|
Jetzt benutzen wir das ';' Zeichen damint kein ? kommt .
(Sonst würde das am ende so aussehen : Passwort:?)
Also jetzt wollen wir noch kontrollieren ob das Passwort richtig war :
if pw$ = "testpw" then print "richtiges Passwort"
| | | |
variable passwort was dann passiert ausgabe
Bei der Variable müsst ihr natürlich das nehmen was ihr euch vorher als Variable ausgedacht habt .
Beim passwort könnt ihr euch natürlich auch selber was ausdenken .
So jetz müssen wir das noch etwas umändern damit man auch bestimmen kann was passiert wenn das
Passwort falsch ist :
input "Passwort:"; pw$ <-- Das hatten wir ja schon vorher.
if pw$ = "testpw" then <-- So hier müssen wir jetzt was ändern.
print "richtiges Passwort"
goto xxx: <-- Springt an die stelle xxx: die steht weiter unten.
else <-- Das was hier nach kommt , kommt wenn das Passwort falsch ist.
print "falsches Passwort"
end <-- Beendet das Programm wenn das Passwort falsch war.
end if <-- Beendet den if Befehl
xxx: <-- Die stelle xxx: wo er hin springt wenn das pw richtig ist.
<-- Hier geht das programm weiter wenn man das pw richtig eingegeben
<-- wurde.
So programmieren wir kurz einen kleinen Zufalls-generator.
Bsp.
RANDOMIZE TIMER
variable = INT(RND * 10) + 1
| |
variable höchste zufalls Zahl
Bei 'variable' könnt ihr natürlich wieder selber euch was ausdenken .
Jetzt kommen wir zum Teil wo für können wir den Generator z.b. benutzen .
Programmieren wir ein kleines Ratespiel .
start: <-- Wisst ihr schon.
CLS <-- Den Befehl kennt ihr auch schon.
Print "Ratespiel" <-- Wenn ihr was begriffen habt versteht ihr das auch.
Input "Tippe eine Nummer zwischen 1 und 10:"; nummer <-- Müsstet ihr eigentlich auch blicken.
RANDOMIZE TIMER <-- Zufalls-generator wird gestartet.
zufall = INT(RND * 10) + 1 <-- Zufalls-generator ermittelt eine Zufalls Zahl.
if zufall = nummer then <-- Erkläre ich gleich noch ein bisschen.
print "Winner" <-- Erklärt sich von selber ! Oder ???
else
print "Looser" <-- Erklärt sich auch von selber ! Oder ???
Input "Wollt ihr nochmal spielen (j/n) :"; nochmal$ <-- ... !
if nochmal$ = "j" then goto start: <-- Wenn ihr 'j' tippt springt das prog nach start:
if nochmal$ = "n" then end <-- Wenn ihr 'n' tippt wird das prog. mit 'end' beendet.
end if <-- Beendet if
Nochmal die Versprochene Erklärung :
if zufall = nummer then ...
| |
variable1 variable2
variable1 ist der zufalls generator.
variable2 ist die von die nummer auf die du getippt hast.
Also werden hier die Nummer verglichen.
So jetzt habt ihr schon mal nen kleines Spiel gecodet (Ihr seid trotzdem noch nicht gut !)
Und ihr wisst jetzt wie man einen Zufalls generator anwenden kann.
Aber hier nochmal ein Bsp. für die Anwendung von nem Zufalls-Generator.
start:
CLS
RANDOMIZE TIMER
x = INT(RND * 2) + 1
if x = "1" Then Print "HALLO"
if x = "2" Then Print "Was geht ?"
goto start:
Tja dieses Programm endet in einer Endlos Schleife . D.h. das es nie endet !
Das wars jetzt zum Thema Zufalls-generator .
Schreiben in ein files :
OPEN "c:\[filename]" FOR OUTPUT AS #1
| |
open filename
open : Hier wird das file geöffnet (Wenn es nicht exestiert wird es erstellt)
filename : Hier könnt ihr selber kreativ werden. (z.b. test.ini ...)
So jetzt haben wir das file in das wir schreiben wollen schon mal geöffnet .
PRINT #1, "DAS IST EIN TEST"
PRINT #1, "DAS IST EIN TEST"
CLOSE #1 <-- Hier schliessen wir das file wieder.
TIP: Wenn man mehrere files anlegen will dann muss man das davor immer schliessen.
Jetzt hab ihr ein file geschrieben jetzt müsst ihr es ja auch noch lesen können .
OPEN "c:\[filename]" FOR INPUT AS #1
\----------------------------------/
|
Hier gilt das gleiche wie vorher nur das man 'input' anstatt 'output' eingeben muss .
INPUT ; x$
|
Hier kann man wieder irgendeine Variable einsetzen .
PRINT x$
\------/
|
Den Befehl 'PRINT' kennt ihr ja !
Das hätten wir jetzt auch geklärt . Jetzt werde ich noch kurz eine loopschleife erklären :
DO \
... |-- Das hier ist wieder eine Endlos Schleife . Bei '...' steht euer code der geloopt
LOOP / werden soll.
DO \
... |- Loopt so lange bis man auf ESC drückt . 27 ist der ascii code
LOOP UNTIL INKEY$ = CHR$(27) / für ESC . In der QBasic help datei stehen (alle) ascii codes .
Und jetzt kommt noch ein Zähler :
Bsp:
FOR i% = 1 TO 100 <-- Hier startet der Zähler | Der Zähler zählt von 1 bis 100.
Sleep 1 <-- Hier ist ne kurze pause eingebaut sonst würde alles zu schnell gehen.
Print i% <-- Das wisst ihr ja schon.
Next i% <-- Geht zur nächsten Zahl.
Hier noch etwas Schwereres (Ist aber auch nicht sehr schwer)
Erkärung wie man Befehle an com und lpt sendet:
OPEN "com1" FOR OUTPUT AS #1
| |
open com/lpt
open : öffnet ...
com/lpt : öffnet com1, com2, lpt1 ...
PRINT #1, "[BEFEHLE]"
Die Befehle könnt ihr aus den meisten Anleitungen entnehmen . Oder es liegt einer CD bei .
Oder ihr sucht mal im Internet danach . (Suchmaschine alla yahoo , fireball , altavist ...)
Jetzt noch die Erklärung wie man andere Programme aus basic startet :
SHELL "c:\[filename]"
|
Hier müsst ihr natürlich die [] weglassen .
3.
COMPILEN (Mit FirstBas)
Erstaml hohlt ihr euch das programm FirstBas aus dem Internet :
(Suchmaschine : www.yahoo.de | www.fireball.de | www.altavista.de)
Oder direct bei www.powerbasic.com !
Dann startet ihr das Programm .
Jetzt müsst ihr im Menü [File] anklicken und euern source-code laden .
Wenn der geladen wurde dann müsst ihr noch etwas im Menü [Compile] umstellen .
Und zwar müsst ihr die Destination von Memory in 'Exe file' umstellen .
Dann au F9 drücken und wenn ein ERROR kommt dann kann es entweder sein das die Befehle nicht über einstimmen dann müsst ihr euch informieren . Aber in dem teil Tips steht auch noch was darüber.