|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
s-m-n
Anmeldungsdatum: 03.10.2005 Beiträge: 106 Wohnort: Pietling in Oberbayern / Deutschland
|
Verfasst am: 10.11.2006, 14:16 Titel: zwischen Inputs hin- und herspringen |
|
|
Hi,
ist es möglich, diesen
Code: | locate 1, 1: input "String 1"; a$
locate 2, 1: input "String 2", b$
locate 3, 1: input "String 3"; c$
|
so zu modifizieren, dass man mit den Pfeiltasten zwischen den 3 Abfragen frei wählen kann? Oder muss man da eine ganze neue Input-Routine proggen?
Danke schonmal für eure Hilfe!!
Gruß s-m-n |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 10.11.2006, 14:51 Titel: |
|
|
Man muss sich eine eigene Input routine bauen, anders geht es nicht.
So schwer ist das aber nicht, man muss da mit INKEY arbeiten und die Zeichencodes prüfen. In etwa so:
Code: |
Dim As String text(1 to 3), inky
Dim As Integer ptext=1, i
cls
Do
inky=Inkey
If inky<>"" Then
Select Case Asc(inky)
Case 13 'enter
If ptext=3 Then Exit Do Else ptext+=1
Case 8 'backspace
If len(text(ptext))>0 Then text(ptext)=Left(text(ptext), Len(text(ptext))-1)
Case 9 'tab
ptext+=1
If ptext>3 Then ptext=1
Case 255
If inky=Chr(255)+"H" THen 'hoch
ptext-=1
Elseif inky=Chr(255)+"P" Then 'runter
ptext+=1
End If
If ptext>3 Then ptext=1
If ptext<1 Then ptext=3
Case Else 'alles andere
text(ptext)+=inky
End Select
'text auf dem bildschirm schreiben
For i = 1 to 3
Locate i,1
Print text(i);
If ptext=i Then Print "_ " Else Print " "
Next i
End If
Sleep 10
Loop |
_________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 10.11.2006, 16:14 Titel: |
|
|
Habe sonst einen Artikel dazu:
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html
Das meiste dort Gezeigte dürfte mit geringen Anpassung auch in FreeBasic laufen (sind nicht einige INKEY$-Tastenstrings etwas anders?).
Alternative, die man in FreeBasic noch zusätzlich hat: Echte Win32-GUI-Programmierung, d.h. die vom Betriebssystem zur Verfügung gestellten Fensterdialogelemente verwenden, so dass sich die komfortable Navigation von selber ergibt, ähnlich dies in HTML bei <FORM> und <INPUT> auch der Fall ist. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 10.11.2006, 17:29 Titel: |
|
|
dreael hat Folgendes geschrieben: | (sind nicht einige INKEY$-Tastenstrings etwas anders?). |
Ja, sind sie. Alles, was in QB mit CHR(0) begann, muss jetzt CHR(255) lauten.
QB's up_arrow CHR(0) + "H" heißt in freeBASIC also CHR(255) + "H". Ansonsten dürfte sich aber nichts geändert haben.
Achtung nur im GFX-Modus: Ein Klick auf den Schließen-Button liefert CHR(255, 107) züruck, den Code für [ALT] + [F4]. _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 10.11.2006, 19:15 Titel: |
|
|
Naja, es wird nicht einfach sein, aber InputLn war eigentlich für solche Fälle gedacht und sollte dafür angepaßt werden können..
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 |
|
|
|
|
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.
|
|