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:

Eingaberoutine

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



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 22.02.2007, 22:47    Titel: Eingaberoutine Antworten mit Zitat

also hier mein code
Code:

dim as integer x,y
dim as string t
screen 20,32,,

x = 10
y = 10

do
   
    locate x, y
      ? "_"

do
    t = inkey$
loop until t <> ""
     locate x, y
      ? " "

select case right$(t, 1)
case "H"
    x = x - 1
case "K"
    y = y - 1
case "M"
    y = y + 1
case "P"
    x = x + 1
case chr$(13)
    x=x+1

case chr$(27)
    end
end select

    if x < 1 then x = 1
    if y < 1 then y = 1
    if y > 79 then y = 79
    if x > 29 then x = 29

loop

meine frage dazu ist wie kann ich da jetzt einfach zwischendrinne was eingeben, also einfach so was eingeben egal an welcher position
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 22.02.2007, 22:55    Titel: Antworten mit Zitat

Schau einfach mal hier nach..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.02.2007, 09:10    Titel: Antworten mit Zitat

Link aus meiner Sammlung:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html

=> müsste sich mit geringen Anpassungen (z.B. ein SLEEP in die INKEY$-Warteschleife, damit nicht 100% CPU konsumiert wird + etwas andere Tastaturcodestrings) in FreeBasic übernehmen lassen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
General



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 23.02.2007, 09:56    Titel: Antworten mit Zitat

ok danke für die hilfreichen antworten zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
General



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 23.02.2007, 15:52    Titel: Antworten mit Zitat

sorry aber ich muss doch noch ma fragen, denn aus ytwinky bin ich leider net so schlau geworden das ich es in mein programm einbauen kann, also wie gesgat die frage besteht ja immer noch wie kann ich also jetzt in meinem programm an irgendeiner mit dem coursor erreichten stelle buchstaben auf den bildschirm bringen ??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 23.02.2007, 17:21    Titel: Antworten mit Zitat

Also, wenn ich das jetz richtig verstanden hab, gehts so:
Code:
dim text as string

input text


Zumindest könnt es dem Sinn des gelesenen entsprechen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
General



Anmeldungsdatum: 26.11.2006
Beiträge: 149

BeitragVerfasst am: 23.02.2007, 17:26    Titel: Antworten mit Zitat

also ich habe jetzt mehre versuche gestartet und es hat dann doch geklappt ich habe mir dann selber die eingaberoutine gebaut. Danke Trotzdem an die dei mir geholfen haben, hier einfach ma der code
Code:

dim shared as string a
dim shared as integer x,y
declare sub schreiben
cls
screen 12,,,
x=2
y=2
do
    schreiben
    locate x,y
    ?"_"
   
    do
        a=inkey$
    loop until a<>""
locate x,y
?" "
select case right$(a,1)
case"H"
x=x-1
case"K"
y=y-1
case"M"
y=y+1
case"P"
x=x+1
case chr$(13)
    x=x+1
case chr$(8)
    y=y-1
case chr$(27)
    end
end select
    if x < 1 then x = 1
    if y < 1 then y = 1
    if y > 79 then y = 79
    if x > 29 then x = 29
loop
   
sub schreiben
       locate x,y
       if a>chr$(48) and a<=chr$(154)  then
           y=y+1
           print a;
        end if
           if a=chr$(13) then
               x=x+1
            print a;
        end if
        if a=chr$(32) then
            y=y+1
        end if
        if a=chr$(8) then
            y=y-1
            ?" "
        end if
end sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 23.02.2007, 20:41    Titel: Antworten mit Zitat

PMedia hat Folgendes geschrieben:
Also, wenn ich das jetz richtig verstanden hab, gehts so:
Code:
dim text as string

input text


Zumindest könnt es dem Sinn des gelesenen entsprechen...
..fast grinsen
InputLn ist eine Funktion, die einen String liefert, also
Code:
Dim Antwort As String
Antwort=InputLn("Wie lautet die ultimative Antwort:")
?Antwort
Sleep
End
Dieser String muß, wie ich schon geschrieben habe, in das gewünschte Format umgewandelt(Cast() oder wie auch immer) werden..
Bis auf den Prompt-String sind alle Parameter wahlfrei..
..und wie der Cursor auf dem Bildschirm platziert wird, weiß der General ja auch..
Wenn noch Fragen sind: Ich bin gelegentlich im Forum und beantworte sie dann.. lachen
(Außerdem lassen sich alle Parameter ja ausprobieren, denn ein Antwort="" verwirft die Eingabe)
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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