Hi! Wie kann ich von einer Variable (Integer) die letzten beiden Stellen auswerten? z.B.: If Weg = 1 Then Print "q" If Weg = 2 Then Print "w" If Weg = 3 Then Print "e" If Weg = 4 Then Print "r" If Weg = 5 Then Print "t" If Weg = 6 Then Print "z" If Weg = 7 Then Print "u" If Weg = 8 Then Print "i" If Weg = 9 Then Print "o" If Weg = 10 Then Print "p" <--- auch wenn Weg in Wirklichkeit 210 ist, soll er, wenn hinten "10" ist, ein "p" printen. Vielen Dank McMurkser
Hi Dafür gibt es den Right Befehl: var = RIGHT(var1 ,n ) Auf deinen Fall angewendet: IrgendeineVariable = Right(Weg, 2) In der Variable stehen dann nur die letzten beiden Stellen der Variable Web. Allerdings funktioniert das nur mit einem String so weit ich weis. Also musst du den Integer erst mit dem Str Befehl in einen String umwandeln.
Und bevor du wieder nach Vereinfachungen fragst: " If Weg = 1 Then Print "q" If Weg = 2 Then Print "w" If Weg = 3 Then Print "e" If Weg = 4 Then Print "r" If Weg = 5 Then Print "t" If Weg = 6 Then Print "z" If Weg = 7 Then Print "u" If Weg = 8 Then Print "i" If Weg = 9 Then Print "o" " Sieh dir mal "Data" und "lookupstr" an, die if Anweisungen verbraten Flash ohne Ende. mfg
Unter C gibt es eine Division mit Rest (%), damit kann man dann höherwertige Digits abtrennen. Um also bei 10, 110, 210 usw. den Vergleich zu machen schreibt man: if( (Weg % 100) == 10 ) Peter
Falls du trotzdem Bascom benutzen willst: Die Division mit Rest gibts da auch ret = var1 MOD var2 Remarks Ret The variable that receives the remainder. var1 The variable to divide. var2 The divisor. mfg
Ich kann kein Bascom, aber unter C würde man solche wiederholten Auswahlen über Zeiger machen. D.h. man nimmt den Wert als Index, der auf ein bestimmtes Zeichen innerhalb eines Textfeldes zeigt. Und dieses Zeichen wird nur mit einer einzigen Anweisung ausgegeben. Unter C würde das ganze optimiert so aussehen: char zeichen[] = "qwertzuiop" ; printf( "%c", zeichen[(Weg % 100)-1] ); Peter
Moin. Vielen herzlichen Dank für eure kompententen Antworten! :) Wirklich sehr hilfreich, dieses Forum! @Peter: Programmierst du in C mit WinAVR? Ich möchte auch mal C ausprobieren. Hab auch schon in Assembler gecodet aber Bascom geht halt einfach sauschnell. Dafür braucht es aber viel Flash :(. cya McMurkser
Ja, ich benutze den WINAVR. Allerdings bevorzuge ich die Kommandozeile. Ich habe immer noch den guten alten Norton-Commander in der DOS-Box laufen und compiliere über meine Batch-Datei. Zum Programmieren benutze ich den ISP-Port des STK500, bzw. ab Mega8 meinen Bootloader. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.