Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 30.06.2006, 16:57 Titel: warum funktioniert dieses programm nicht? |
|
|
Code: |
declare sub neu
declare sub alt
declare sub menue
call menue
sub menue
screen 18
color 14,1
cls
?"Texteditor 1.0"
?""
?"1. New"
?"2. Open..."
?"3. Quit"
do
getmouse x,y,,taste
loop until taste=1
select case x
case 0 to 80:
select case y
case 325 to 455:
call neu
case 456 to 635:
call alt
end select
end select
end sub
sub neu
color 14,1
cls
sleep
end sub
sub alt
color 14,1
cls
sleep
end sub
|
anstelle das die subs aufgerufen werden schliesst sich das programm immer automatisch wenn man irgendwo hin klickt. Was ist falsch? _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 30.06.2006, 17:10 Titel: |
|
|
schreib ma irgendwie noch ein
dim as integer x,y,taste
vor dme "do" dazu, vielleicht musst du die variablen erst deklarieren bevor du sie benutzt, könnte sein.. _________________ "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 |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 30.06.2006, 17:23 Titel: |
|
|
Ist das der komplette code?
Wenn ja, dann hab ich den Fehler:
Du musst Screen aufrufen, da getmouse in der konsole nicht funktioniert. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 30.06.2006, 17:55 Titel: |
|
|
was meinst du damit ? ich hab doch screen 18 drin
@MR.D : Leider klappts mit dim x,y,taste as integer auch nicht. _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.06.2006, 18:53 Titel: |
|
|
Hi alphonsospringer,
wenn du in deinen Code folgenden Schnipsel einfügst: Code: | select case x
case 0 to 80:
select case y*8
case 325 to 455:
call neu
case 456 to 635:
call alt
Case Else
?Chr(7)
end select
end select | kriegste schon mal mit, daß etwas passiert
Btw:Variablen dimensionieren ist nie verkehrt..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 30.06.2006, 19:03 Titel: |
|
|
alfonsospringer hat Folgendes geschrieben: | was meinst du damit ? ich hab doch screen 18 drin
@MR.D : Leider klappts mit dim x,y,taste as integer auch nicht. |
Ups, sry. Hab ich übersehen.
Mach mal hinter der schleife folgendes(also vor dem select case):
Code: | Print x,y: Sleep 3000 |
Dann kannst du besser sehen, was in x und in y drin is. |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 30.06.2006, 19:28 Titel: |
|
|
alfonsospringer hat Folgendes geschrieben: | was meinst du damit ? ich hab doch screen 18 drin
@MR.D : Leider klappts mit dim x,y,taste as integer auch nicht. |
Wo hast du es denn Eingebaut?!
Code: | declare sub neu
declare sub alt
declare sub menue
call menue
sub menue
dim as integer x,y,taste
screen 18
color 14,1 |
Und es geht bei mir
.
Wieso beendet sich das Programm eigentlich bei einem Klick ins Nichts?
Absicht? _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 30.06.2006, 19:47 Titel: |
|
|
was macht
?
ich hab das screen 18 ganz am anfang des subs wie du es da stehen hast _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.06.2006, 19:59 Titel: |
|
|
Ich hatte den Verdacht, daß du falsche Positionen abfragst und so habe ich y mit 8
multipliziert, um 'vernünftige' Werte zu bekommen..
Ich kann in Bedingungsabfragen auch rechnen(du natürlich auch..)
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 30.06.2006, 22:28 Titel: |
|
|
ich hab in die vor und hinter die schleife mal ein print x,y reingepackt und festgestellt, dass die werte vor und nach dem klicken unterschiedlich sind. Wie kann das sein ? Ich komme hier einfach nicht weiter. Es muesste doch eigentlich funktionieren so wie es ist. _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 30.06.2006, 23:09 Titel: |
|
|
So, probier mal dies: Code: | Declare Sub Neu
Declare Sub Alt
Declare Sub Menue
Menue
?"Fertich.."
Sleep
Sub Menue
Dim x, y, Taste, xSize, ySize
Screen 18
Color 14,1
ScreenInfo xSize, ySize
Cls
?"Texteditor 1.0"
?
?"1. New"
?"2. Open..."
?"3. Quit"
?xSize, ySize
Do
GetMouse x,y,,Taste
Loop Until Taste=1
?x, y
Sleep 1000
Select Case x
Case 0 To 100
Select Case y
Case 32 To 48
Neu
Case 49 To 65
Alt
Case 66 To 102
Exit Sub
Case Else
?Chr(7)
End Select
End Select
End Sub
Sub Neu
Color 15, 1
Cls
?"New"
Sleep
End Sub
Sub Alt
Color 11, 1
Cls
?"Open"
Sleep
End Sub | Sollte jetzt eigentlich gehen..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 01.07.2006, 12:25 Titel: |
|
|
Code: |
do
getmouse x,y,,taste
locate 8,1
print x,y
loop until taste=1
print x,y
|
warum sind die x und y werte, die ich in und nach der schleife bekomme unterschiedlich? Das kann doch icht sein. _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 01.07.2006, 13:39 Titel: |
|
|
Kanns auch nicht, probiers mal so: Code: | Dim x,y,taste
do
getmouse x,y,,taste
locate 8,1, 0 ' ,0 bedeutet Cursor-Ausgabe abschalten, nur Kosmetik
print x,y;" "
loop until taste=1
print x,y
Sleep |
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO..
Zuletzt bearbeitet von ytwinky am 01.07.2006, 14:41, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 01.07.2006, 13:43 Titel: |
|
|
wofür die " "
übrigens hab ich das mysterium aufgeklärt. Solange ich in der schleife bin gibt er das 10fache des eigentlichen y wertes an. Ich weiss zwar nicht warum, aber iss so. Nun zumindest weiss ich jetzt wie es ght. Vielen dank. Ich würde mich aber weiterhin über antworten auf meine letzte frage im thread maus tutorial freuen _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 01.07.2006, 14:02 Titel: |
|
|
Nimmersatt
Die Leerzeichen nach y sollen eine Lücke in der Ausgabe schaffen,
damit nach der ausgegeben Zahl nicht noch Reste der vorigen Zahl stehenbleiben und die Fehlersuche durcheinanderbringen
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 01.07.2006, 14:23 Titel: |
|
|
jaja, ich weiss dass ch gerne leuten löcher in den bauch frage. _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 01.07.2006, 14:43 Titel: |
|
|
Kuckma oben, ich habe die Cursorausgabe abgeschaltet, weil sie nervt..
Um meinen Bauch brauchst DU dir keine Gedanken zu machen
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 01.07.2006, 15:24 Titel: |
|
|
noch so' doofes loch: Was ist die Cursorausgabe ? (Ja, ich habe keine allgemeinbilung auf diesem bereich ) _________________ Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia
ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 01.07.2006, 16:01 Titel: |
|
|
Code: | locate 8, 1, 1 ' ,1 bedeutet Cursor-Ausgabe einschalten, nervt auf Dauer | und Code: | locate 8, 1, 0 ' ,0 bedeutet Cursor-Ausgabe abschalten, Ruhe is.. | ..dann wieselt der Cursor nicht mehr auf dem Bildschirm herum..
s. Locate-Hilfe..
..ich weiß, das hätte ich dir nicht sagen müssen
btw:
Welche Version der Hilfe-Datei hast du eigentlich?
Hast du auch die englische Hilfe?
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|