Virtuelles Keyboard

Freeprogs.iphpbb.com
Verfügbare Informationen zu "Virtuelles Keyboard"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Dragorad - vpascal
  • Forum: Freeprogs.iphpbb.com
  • Forenbeschreibung: Der Ort zum Austauschen selbst Programmierter Programme!
  • aus dem Unterforum: Quellcodes
  • Antworten: 24
  • Forum gestartet am: Mittwoch 04.04.2007
  • Sprache: deutsch
  • Link zum Originaltopic: Virtuelles Keyboard
  • Letzte Antwort: vor 17 Jahren, 19 Tagen, 3 Stunden, 50 Minuten
  • Alle Beiträge und Antworten zu "Virtuelles Keyboard"

    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 17:30

    Virtuelles Keyboard
    Probiert's einfach mal aus:

    Code: program   musik_test;
    uses      crt,uengl;
    const     esc=#27;
    var       ton:array[1..8] of integer;

    {----------------------------------------------------------------------------}

    procedure hauptbildschirm;
              begin
               writexy(1,1,'VIRTUAL KEYBOARD');
               writexy(1,25,'zum Beenden [ESC] drücken');
               writexy(5,10,'+---------------+');
               writexy(5,11,'¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦');
               writexy(5,12,'¦c¦d¦e¦f¦g¦a¦h¦c¦');
               writexy(5,13,'+---------------+');
               writexy(5,14,' a s d f g h j k ');
              end;

    {----------------------------------------------------------------------------}

    begin     ton[1]:=262;
              ton[2]:=294;
              ton[3]:=330;
              ton[4]:=349;
              ton[5]:=392;
              ton[6]:=440;
              ton[7]:=494;
              ton[8]:=523;
              clrscr;
              hauptbildschirm;
              repeat
               while readkey='a' do
               begin
                sound(ton[1]);
                delay(50);
                nosound;
               end;
               while readkey='s' do
               begin
                sound(ton[2]);
                delay(50);
                nosound;
               end;
               while readkey='d' do
               begin
                sound(ton[3]);
                delay(50);
                nosound;
               end;
               while readkey='f' do
               begin
                sound(ton[4]);
                delay(50);
                nosound;
               end;
               while readkey='g' do
               begin
                sound(ton[5]);
                delay(50);
                nosound;
               end;
               while readkey='h' do
               begin
                sound(ton[6]);
                delay(50);
                nosound;
               end;
               while readkey='j' do
               begin
                sound(ton[7]);
                delay(50);
                nosound;
               end;
               while readkey='k' do
               begin
                sound(ton[8]);
                delay(50);
                nosound;
               end;
              until readkey=esc;
    end.

    Hier die Unit:

    Code: unit      uengl;

    {----------------------------------------------------------------------------}

    interface
    uses      crt,ucolor;
    type      datensatztyp=record
               voc_engl:string[27];
               voc_d:string[27];
              end;
              karteityp=file of datensatztyp;
    var       karteidaten:datensatztyp;
              kartei:karteityp;
              karteinr:integer;
              ini:text;

    procedure writexy(x,y:byte;text:string);
    procedure writexynr(x,y:byte;zahl:integer);
    procedure openwindow(xl,yl,xr,yr:integer);
    procedure openwindowende;
    procedure programmende;
    procedure stringlesen(var lesstr:string;maxlen:byte);
    procedure fehler;
    procedure logo(x,y:integer);
    procedure laden;

    {----------------------------------------------------------------------------}

    implementation
    procedure writexy(x,y:byte;text:string);
              begin
               gotoxy(x,y);
               write(text);
              end;

    procedure writexynr(x,y:byte;zahl:integer);
              begin
               gotoxy(x,y);
               write(zahl);
              end;

    procedure openwindow(xl,yl,xr,yr:integer);
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
              begin
               writexy(xl,yl,'É');
               writexy(xl,yr,'È');
               writexy(xr,yl,'»');
               writexy(xr,yr,'¼');
               for zahl[1]:=xl+1 to xr-1 do writexy(zahl[1],yl,'Í');
               for zahl[2]:=xl+1 to xr-1 do writexy(zahl[2],yr,'Í');
               for zahl[3]:=yl+1 to yr-1 do writexy(xl,zahl[3],'º');
               for zahl[4]:=yl+1 to yr-1 do writexy(xr,zahl[4],'º');
               window(xl+1,yl+1,xr-1,yr-1);
               blau;
              end;

    procedure openwindowende;
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
                   x,y:integer;
              begin
               x:=30;y:=8;
               writexy(x,y,'É');
               writexy(x,y+4,'È');
               writexy(x+20,y,'»');
               writexy(x+20,y+4,'¼');
               for zahl[1]:=x+1 to x+19 do writexy(zahl[1],y,'Í');
               for zahl[2]:=x+1 to x+19 do writexy(zahl[2],y+4,'Í');
               for zahl[3]:=y+1 to y+3 do writexy(x,zahl[3],'º');
               for zahl[4]:=y+1 to y+3 do writexy(x+20,zahl[4],'º');
               window(x+1,y+1,x+19,y+3);
               schwarz;
              end;

    procedure programmende;
              begin
               openwindowende;
               clrscr;
               writexy(2,2,' Wirklich beenden?');
               writexy(2,4,' Ja           Nein');
              end;

    procedure stringlesen(var lesstr:string;maxlen:byte);
              const ret=#13;
              var   ch:char;
                    i,x,y:byte;
              begin
               x:=wherex;
               y:=wherey;
               lesstr:='';
               repeat
                gotoxy(x,y);
                write(lesstr);
                for i:=length(lesstr)+1 to maxlen do write('_');
                gotoxy(x+length(lesstr),y);
                ch:=readkey;
                if (length(lesstr)<maxlen) and (ch<>ret) then lesstr:=lesstr+ch;
               until ch=ret;
               writeln;
              end;

    procedure fehler;
              begin
               sound(440);
               delay(250);
               nosound;
              end;

    procedure logo(x,y:integer);
              begin
               rot;
               writexy(x,y+0,'####################');
               writexy(x,y+1,'####################');
               writexy(x,y+2,'####                ');
               writexy(x,y+3,'####                ');
               writexy(x,y+4,'#############       ');
               writexy(x,y+5,'#############       ');
               writexy(x,y+6,'####                ');
               writexy(x,y+7,'####                ');
               writexy(x,y+8,'####################');
               writexy(x,y+9,'####################');
               schwarz;
              end;

    procedure laden;
              var vg,hg,x:integer;
              begin
               vg:=15;hg:=0;
               textcolor(vg);
               textbackground(hg);
               clrscr;
               writexy(30,14,'Daten werden geladen ...');
               for x:=11 to 30 do
               begin
                textcolor(red);
                writexy(x,12,'²');
                delay(750);
               end;
               for x:=31 to 50 do
               begin
                textcolor(yellow);
                writexy(x,12,'²');
                delay(750);
               end;
               for x:= 51 to 70 do
               begin
                textcolor(green);
                writexy(x,12,'²');
                delay(750);
               end;
               textcolor(15);
              end;
    end.



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 17:39


    cool danke nur leider ist es für virtual pascal völlig unbrauchbar denn anstatt sound muss man playsound (Frequenz, Tonlänge) angeben. Ich werd's gleich mal umschreiben.

    ach übrigens bräuchte man noch die uni ucolor, stimmt's oder hab ich recht?



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 17:45


    Wurde ja auch in TurboPascal geschrieben - Wenn du willst, kann ich dir TP ja per Mail schicken ...



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 17:47


    nee habs mir grad gesaugt...



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 17:50


    :shock:

    Das ist doch illegal! :wink: :lol:

    PS: hast du vlt. Lust, bei MonstersGame einzusteigen? Mein Clan braucht da starke Member ...



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 17:51


    Hä? Ich hab gesagt ich hab am Strohhalm gesaugt! :twisted: .
    Wärs't du so lieb und könntest die unit ucolor auch noch posten?

    ist das so wie: Oh, aua, dragorad hat dich gebissen, du bist nun um 1,96kg leichter oderso? Und ohne Grafik nur text? da bin ich kein freund von aber ich kann ja mal gucken, ich bin dir ja was schuldig

    THX :wink:



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 17:53


    Jup.

    Code: unit      ucolor;

    {----------------------------------------------------------------------------}

    interface
    uses      crt;

    procedure rot;
    procedure gruen;
    procedure blau;
    procedure gelb;
    procedure weiss;
    procedure schwarz;
    procedure grau;
    procedure b_rot;
    procedure b_gruen;
    procedure b_blau;
    procedure b_gelb;
    procedure b_weiss;
    procedure b_schwarz;
    procedure b_grau;

    {----------------------------------------------------------------------------}

    implementation
    procedure rot;
              begin
               textcolor(red);
              end;
    procedure gruen;
              begin
               textcolor(green);
              end;
    procedure blau;
              begin
               textcolor(blue);
              end;
    procedure gelb;
              begin
               textcolor(yellow);
              end;
    procedure weiss;
              begin
               textcolor(white);
              end;
    procedure schwarz;
              begin
               textcolor(black);
              end;
    procedure grau;
              begin
               textcolor(8);
              end;
    procedure b_rot;
              begin
               textbackground(red);
              end;
    procedure b_gruen;
              begin
               textbackground(green);
              end;
    procedure b_blau;
              begin
               textbackground(blue);
              end;
    procedure b_gelb;
              begin
               textbackground(yellow);
              end;
    procedure b_weiss;
              begin
               textbackground(white);
              end;
    procedure b_schwarz;
              begin
               textbackground(black);
              end;
    procedure b_grau;
              begin
               textbackground(8);
              end;
    end.



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 17:56


    thx aber ich komm mit tp nicht klar, der sagt mir textcolor wär ungültig???

    ist dieses monstergame so wie: Oh, aua, dragorad hat dich gebissen, du bist nun um 1,96kg leichter oderso? Und ohne Grafik nur text? da bin ich kein freund von aber ich kann ja mal gucken, ich bin dir ja was schuldig



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 17:57


    Genau das isses. Kannst ja auf den Link in meiner Sig klicken ... :mrgreen:



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 17:58


    Hab ich ja schon, ich kann aber nur einmal gebissen werden!

    Hat weh getan! Gerade wo ich doch so dünn bin!



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:02


    Soll ich mich auch [DraW] nennen?



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:03


    Ich bin übrigens auf Server 17 (falls du dich anmelden möchtest; beim Beißlink geht's dann weiter zur Anmeldung).



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:04


    soll ich mich denn jetzt [DraW] nennen?



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:07


    Das brauchst du nur zu machen, wenn du Premiumuser bist (wenn du aber unbeding willst - von mir aus :wink: ).



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:10


    voila ich bin nun einer von euch!



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:12


    Nun brauchst du dich nur noch zu bewerben - und zwar hier!



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:23


    Kleiner Nachtrag: kannst du dich im Clanforum registrieren?



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:26


    Kann ich machen



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:27


    Gut. Ich erwarte dich dann da (Registration mit deinem Spielnamen ([DraW] Diablo)!



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:27


    Das wird ganz schön zum Off-Topic hier! Guck mal deine PM's bei MG



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:29


    Sehe da aber nichts ... (Zur Not kann man die Posts ja in ein OT-Forum verschieben :D )

    edit: hast du auch an [DraW] Dragorad geschrieben?



    Re: Virtuelles Keyboard

    vpascal - 04.04.2007, 18:32


    ja jetzt hat der auch abgeschickt



    Re: Virtuelles Keyboard

    Dragorad - 04.04.2007, 18:33


    Auf die Frage muss ich hier aber nicht antworten - oder?



    Re: Virtuelles Keyboard

    vpascal - 06.04.2007, 20:09


    Ich hab's mal für VirtualPascal umgeschrieben guckst du hia:

    Code: program   musik_test;
    uses      crt,uengl;
    const     esc=#27;
    var       ton:array[1..8] of integer;

    {----------------------------------------------------------------------------}

    procedure hauptbildschirm;
              begin
               writexy(1,1,'VIRTUAL KEYBOARD');
               writexy(1,25,'zum Beenden [ESC] drücken');
               writexy(5,10,'+---------------+');
               writexy(5,11,'¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦');
               writexy(5,12,'¦c¦d¦e¦f¦g¦a¦h¦c¦');
               writexy(5,13,'+---------------+');
               writexy(5,14,' a s d f g h j k ');
              end;

    {----------------------------------------------------------------------------}

    begin     ton[1]:=262;
              ton[2]:=294;
              ton[3]:=330;
              ton[4]:=349;
              ton[5]:=392;
              ton[6]:=440;
              ton[7]:=494;
              ton[8]:=523;
              clrscr;
              hauptbildschirm;
              repeat
               while readkey='a' do
               begin
                playsound(ton[1], 50);
               end;
               while readkey='s' do
               begin
                playsound(ton[2], 50);


               end;
               while readkey='d' do
               begin
                playsound(ton[3], 50);

               end;
               while readkey='f' do
               begin
               playsound(ton[4], 50);

               end;
               while readkey='g' do
               begin
                playsound(ton[5], 50);

               end;
               while readkey='h' do
               begin
                playsound(ton[6], 50);

               end;
               while readkey='j' do
               begin
                playsound(ton[7], 50);

               end;
               while readkey='k' do
               begin
                playsound(ton[8], 50);

               end;
              until readkey=esc;
    end.

    die passende Unit ist hier:

    Code: unit      uengl;

    {----------------------------------------------------------------------------}

    interface
    uses      crt,ucolor;
    type      datensatztyp=record
               voc_engl:string[27];
               voc_d:string[27];
              end;
              karteityp=file of datensatztyp;
    var       karteidaten:datensatztyp;
              kartei:karteityp;
              karteinr:integer;
              ini:text;

    procedure writexy(x,y:byte;text:string);
    procedure writexynr(x,y:byte;zahl:integer);
    procedure openwindow(xl,yl,xr,yr:integer);
    procedure openwindowende;
    procedure programmende;
    procedure stringlesen(var lesstr:string;maxlen:byte);
    procedure fehler;
    procedure logo(x,y:integer);
    procedure laden;

    {----------------------------------------------------------------------------}

    implementation
    procedure writexy(x,y:byte;text:string);
              begin
               gotoxy(x,y);
               write(text);
              end;

    procedure writexynr(x,y:byte;zahl:integer);
              begin
               gotoxy(x,y);
               write(zahl);
              end;

    procedure openwindow(xl,yl,xr,yr:integer);
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
              begin
               writexy(xl,yl,'É');
               writexy(xl,yr,'È');
               writexy(xr,yl,'»');
               writexy(xr,yr,'¼');
               for zahl[1]:=xl+1 to xr-1 do writexy(zahl[1],yl,'Í');
               for zahl[2]:=xl+1 to xr-1 do writexy(zahl[2],yr,'Í');
               for zahl[3]:=yl+1 to yr-1 do writexy(xl,zahl[3],'º');
               for zahl[4]:=yl+1 to yr-1 do writexy(xr,zahl[4],'º');
               window(xl+1,yl+1,xr-1,yr-1);
               blau;
              end;

    procedure openwindowende;
              type zaehler=array[1..4] of byte;
              var  zahl:zaehler;
                   x,y:integer;
              begin
               x:=30;y:=8;
               writexy(x,y,'É');
               writexy(x,y+4,'È');
               writexy(x+20,y,'»');
               writexy(x+20,y+4,'¼');
               for zahl[1]:=x+1 to x+19 do writexy(zahl[1],y,'Í');
               for zahl[2]:=x+1 to x+19 do writexy(zahl[2],y+4,'Í');
               for zahl[3]:=y+1 to y+3 do writexy(x,zahl[3],'º');
               for zahl[4]:=y+1 to y+3 do writexy(x+20,zahl[4],'º');
               window(x+1,y+1,x+19,y+3);
               schwarz;
              end;

    procedure programmende;
              begin
               openwindowende;
               clrscr;
               writexy(2,2,' Wirklich beenden?');
               writexy(2,4,' Ja           Nein');
              end;

    procedure stringlesen(var lesstr:string;maxlen:byte);
              const ret=#13;
              var   ch:char;
                    i,x,y:byte;
              begin
               x:=wherex;
               y:=wherey;
               lesstr:='';
               repeat
                gotoxy(x,y);
                write(lesstr);
                for i:=length(lesstr)+1 to maxlen do write('_');
                gotoxy(x+length(lesstr),y);
                ch:=readkey;
                if (length(lesstr)<maxlen) and (ch<>ret) then lesstr:=lesstr+ch;
               until ch=ret;
               writeln;
              end;

    procedure fehler;
              begin
               playsound(440, 250);
              end;

    procedure logo(x,y:integer);
              begin
               rot;
               writexy(x,y+0,'####################');
               writexy(x,y+1,'####################');
               writexy(x,y+2,'####                ');
               writexy(x,y+3,'####                ');
               writexy(x,y+4,'#############       ');
               writexy(x,y+5,'#############       ');
               writexy(x,y+6,'####                ');
               writexy(x,y+7,'####                ');
               writexy(x,y+8,'####################');
               writexy(x,y+9,'####################');
               schwarz;
              end;

    procedure laden;
              var vg,hg,x:integer;
              begin
               vg:=15;hg:=0;
               textcolor(vg);
               textbackground(hg);
               clrscr;
               writexy(30,14,'Daten werden geladen ...');
               for x:=11 to 30 do
               begin
                textcolor(red);
                writexy(x,12,'²');
                delay(750);
               end;
               for x:=31 to 50 do
               begin
                textcolor(yellow);
                writexy(x,12,'²');
                delay(750);
               end;
               for x:= 51 to 70 do
               begin
                textcolor(green);
                writexy(x,12,'²');
                delay(750);
               end;
               textcolor(15);
              end;
    end.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Freeprogs.iphpbb.com

    Temperaturumrechner K->°C und umgekehrt - gepostet von Dragorad am Mittwoch 25.04.2007



    Ähnliche Beiträge wie "Virtuelles Keyboard"

    keyboard einstellung? - aLpha (Donnerstag 23.08.2007)
    Jim`s friends - Jim Gilder (Samstag 18.04.2009)
    Meine Keyboard YAMAHA PSR 450 - Jobi (Samstag 15.04.2006)
    virtuelles Tauziehen... - Aramus (Donnerstag 16.08.2007)
    Fortsetzung - Virtuelles Flaschendrehen - Pagira (Sonntag 24.06.2007)
    keyboard crush ! - Condor (Montag 05.03.2007)
    Portable VNC v1.2.4 mit IR Keyboard Unterstützung - animaris (Freitag 15.06.2007)
    Stromkabel von der Batterie in den Innenraum-wie am besten? - boulemaletu (Samstag 14.01.2012)
    Virtuelles Flaschendrehen :) - Fuch$ (Mittwoch 03.01.2007)
    Greetings - xtec77 (Donnerstag 07.05.2009)