Archiv verlassen und diese Seite im Standarddesign anzeigen : Gehen doppelte For-Schlaufen nicht?
Hallo zusammen.
Folgendes Programm spinnt bei mir:
For B=1 to 2
M=bin(X(b))
For I=1 To 8
R=mid(m, I, 1)
O=val(r)
Locate 1,a
Lcd O
next I
Incr a
Next b
End
Ich habe unter (X(i)) zwei Variablen gespeichert. X(1)=1 und X(2)=3
So sollte ich in der ersten LCD-Zeile eine 00000001 und in der zweiten eine 00000011 sehen... ich sehe aber in der ersten Zeile nur eine 10....
was ist das falsch?
Herzlichen Gruss
Mario
wo kommt das a her und was steht da drin ?
wenn sich a nicht ändert, steht ja alle übereinendeer
Empfehlung:
For B=1 to 2
M = bin(X(b))
Locate 1,a
For I=1 To 8
R=mid(m, I, 1)
O=val(r)
Lcd O
next I
Incr a
Next B
Ja, das meinte ich.
Das mit dem LCD hat sich erledigt, hab den Fehler gefunden. Muss heissen Locate a, 1
So krieg ich in der ersten Zeile den binären Inhalt von X(1) und in der zweiten den binären Wert von X(2)
Doch:
In der ersten Zeile stimmt der Binärwert.
In der zweiten Zeile erscheint IMMER, egal welchen Wert ich zuordne, 00110000
Häää? Was ist da schief?
Herzlichen Gruss
Mario
Ich hab das getestet (außer der LCD-Ausgabe, sowas hab ich nich), das funzt.
es kann nur ein fehler sein mit "locate" u. "LCD", da muß ich leider passen
Also, jetzt mal der direkte Versuch:
Hier kommt noch ein struberes Resultat.
Ich habe in einem Array(q(i)) normale Dezimalzahlen gespeichert (kleiner 255). Diese möchte ich in Binärcode umwandeln und danach jedes Bit in ein anderes Array schreiben.
Hier mal der Code:
For I=1 To L (L ist die Anzahl der belegten Plätze im Array q(i))
M=bin(q(i))
For R=1 To 8
O=mid(m, R, 1)
U=Val(o)
B=A+8
B=B+R
X(b)=U
Next R
A=A+8
Next I
Die erste For Schleife wählt mir die Zahl aus und verwandelt sie in Binärcode. Dann, in der zweiten Schlaufe wird die Binärzahl in ihre Bits zerlegt und jedes Bit einzeln gespeichert (B und A dienen dazu, erst ab X(9) zu speichern, da X(1)-X(8) schon belegt sind)
Nur: Da werden nur Nullen gespeichert.....
Herzlichen Gruss
Mario
Starte mal den Simulator und schau insbesonders, was mit deinen Indizes A, B u. R passiert.
Ich hab jetzt den Code mal ausgedruckt und spiele morgen im Bett mal den Simulator. Dann guck ich auch noch im richtigen Sim nach. Und wenn ich nix finde, frag ich nochmals... :)
PS: wo find ich im Sim meine Variablen? Ich find da nur Register und son Zeugs...
Herzlichen Gruss
Mario
Ich könnte mir vorstellen, das Bascom Bin(a(i)) nicht mag.
Probier es doch mal aus, was passiert, wenn der aktuelle Wert a(i) erst in eine andere Variable geschrieben wird und dann umgewandelt wird.
Das bin(a(i)) geht eben.. In einem anderen "Testprogrammm" frisst er das. Ich werde es aber zur Sicherheit nochmals testen.
Gruss
Mario
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.