1) du mußt wohl i*k in eine temporäre Variable legen und diese dann zum Vergleichen nehmen.
temp = i * k
if temp > 0 then ....
sub-Parameter: du mußt die Werte für
$HWSTACK =
$SWSTACK =
erhöhen, mit den defaults kommt man nicht weit.
( --> Help)
Ich frage mich schon länger, ob es in Bascom tatsächlich keine möglichkeit gibt in der "Bedingung" von einer If Verzweigung z.b ein Produkt aus 2 Zahlen mit einer anderen zu vergleichen.
Also z.B:
Da bekomme ich immer als Fehlermeldung "3 Paramteres expected"Code:If I*K > 0 Then ... EndIf
Muss das anders geschrieben werden, oder geht so etwas einfach nicht?
Des weiteren wundere ich mich warum Bascom mit der Parameterübergabe an Subs nicht klar kommt. Ich habe z.B. eine Sub Goxy(xn As Integer , Yn As Integer), welche auch schon länger sehr gut funktioniert hat. Doch nachdem ich ein bisschen Code und ein paar Variablen mehr hinzugefügt habe, funktioniert die Paramterübergabe von Xn und Yn nicht mehr. D.h. es kommt nur noch 0 an. Liegt das daran, dass der Ram irgendwann zu klein wird und Bascom mir keine Warnung gibt?
Dazu muss ich sagen, dass ich einen Mega32 benutze und mein Programm schon ~1000 Zeilen hat.
Ich würde mich sehr freuen, wenn mir da jemand einen Tip geben kann
1) du mußt wohl i*k in eine temporäre Variable legen und diese dann zum Vergleichen nehmen.
temp = i * k
if temp > 0 then ....
sub-Parameter: du mußt die Werte für
$HWSTACK =
$SWSTACK =
erhöhen, mit den defaults kommt man nicht weit.
( --> Help)
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo!
So geht das in Bascom leider nicht. Leider kann Bascom mit mathematischen Ausdrücken nichts anfangen.Zitat von Static
Es gilt:
Immer hübsch eine Rechenoperation pro Zeile. In Deinem Fall sähe das dann so aus:
Temp = K * I
If Temp > 0 Then
......
End If
......
Da sollte das vergrößern von Hard- Soft- und Framestack helfen (in den Optionen)....... funktioniert die Paramterübergabe von Xn und Yn nicht mehr. D.h. es kommt nur noch 0 an. Liegt das daran, dass der Ram irgendwann zu klein wird und Bascom mir keine Warnung gibt?
Dazu muss ich sagen, dass ich einen Mega32 benutze und mein Programm schon ~1000 Zeilen hat.
Viele Grüße
Henrik
danke für eure Hilfe. Echt schade, dass man immer nur eine Rechenoperation machen kann, sonst wär mein Programm bestimmt 30% kürzer und schöner lol.
Mal sehn ob das mit der Sub so funktioniert...
Upps, da haben Picknick und meinereiner zur gleichen Zeit das gleiche getippt .
Grüße von einem zu langsamen Henrik
Schöner und auch besser lebar ohne Zweifel. Kürzer nicht unbedingt (im Kompilat). Der Compiler muss die Rechenschritte sowieso so auflösen, wie Bascom das vom Anwender händisch fordert. Recht hast Du aber natürlich trotzdem. Schön wäre es schon, wenn diese nach meinem Ermessen einzige echte Macke beseitigt würde.Zitat von Anonymous
Grüße
Henrik
Ganz stimmt das ja nicht, denn die Temp-Variable wird vom Bascom voll zurckgeschrieben, und dann zum Weiterechnen wieder von dort geholt. In vielen Fällen könnt er sich das sparen, wenn er gleich damit weitermachen würde oder könnte. Ein paar Statements jedesmal wären es ja doch...von der Dateigröße würde sich natürlich nichts ändern.
Was is jetzt passiert ?
@Static: Ich fürchte, ich hab in ersten Demenz-Anzeichen deinen Post niedergeschrieben
Bitte verzeih mir
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
lol, gut gemacht
Lesezeichen