Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

LEN-Problemchen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
triturus



Anmeldungsdatum: 11.03.2005
Beiträge: 32

BeitragVerfasst am: 11.03.2005, 01:54    Titel: LEN-Problemchen Antworten mit Zitat

Weiß jemand, warum das nicht klappt?
Ich will die Zeichenfolge "9e" in 9 und e zerlegen, und zwar so, dass die Zahl 9 natürlich nur 1 Zeichen hat und am Bildschirm ganz links steht. Mit "e" gibt es keine Probleme.

Der folgende Code gibt zwar die Zahl 9 als solche richtig aus, aber für die Länge von "Zahl" immer 4 bzw. es ist immer ein vorangestelltes Leerzeichen dabei, das ich nicht weg bekomme!! Weshalb bitte???
CLS
taste$ = "9e"
k = LEN(taste$):
PRINT k
zahl = VAL((LTRIM$(RTRIM$((MID$(taste$, 1, k - 1))))))
PRINT zahl
PRINT LEN(zahl)
befehl$ = MID$(taste$, k, 1)
PRINT befehl$

Ergebnis:
2
9
4
e

WARUM ?

mfg
triti
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 11.03.2005, 02:30    Titel: Antworten mit Zitat

Hallo

Du prüfst die Länge der Zahl zahl und nicht die des Strings zahl$. So sollte es gehen:

Code:
CLS
taste$ = "9e"
k = LEN(taste$):
PRINT k
zahl$ = LTRIM$(RTRIM$((MID$(taste$, 1, k - 1)))))
zahl = VAL(zahl$)
PRINT zahl
PRINT LEN(zahl$)
befehl$ = MID$(taste$, k, 1)
PRINT befehl$


Ergebnis:
2
9
1
e

Wieviele Stellen eine ganze Zahl grösser als 0 hat, kannst du aber auch ausrechenen:

stellen = FIX(LOG(zahl) / LOG(10)) + 1

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
triturus



Anmeldungsdatum: 11.03.2005
Beiträge: 32

BeitragVerfasst am: 11.03.2005, 11:08    Titel: Antworten mit Zitat

Achso, man kann nur einen String auf Länge prüfen!

Dank schön

Triti
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz