Keyboard abfragen mit Unit Graph

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Etron770
Beiträge: 5
Registriert: Mo 11. Sep 2006, 18:37

Keyboard abfragen mit Unit Graph

Beitrag von Etron770 »

Hi zusammen,
ich habe früher (anfang der 90er) große Programme im Protected Mode programmiert, bin also in der Windwos Programmiertechnik nicht zu Hause

Nachdem ich erst einmal für meine Sohn (10) eine Umgebung suche (bzw erstelle) bei der ein er keine Objekte benutzen muss, dachte ich ich benutze die Unit Graph.

Nun hänge ich bei der Texteingabe ...

Den Text über eine den Eventhandler (getKeyEvent) einzulesen und grafisch auszugeben ist kein Problem, nur muss ich den Text im Textfenster eingeben und dann kommt er im Grafikfenster an.

Kann mir da jemand einen Tip geben wo ich bei Windows falsch denke ..

DAmit klar ist was ich mit Grafikmodus meine:

in diesem Fenster möchte ich die Tastatur abfragen-
____________________________________________
{ We want an 8 bit mode }
gd := D8bit;

gm := m640x480;
initgraph(gd,gm,'');

{ Make sure you always check graphresult! }
error := graphResult;
if (error <> grOk) Then
begin
writeln('640x480x256 is not supported!');
halt(1)
end;
{ We are now in 640x480x256 }

-------------------------------------------------------------------

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Bist Du sicher, dass du deinen "armen" Sohn mit so einem altmodischen Zeug belästigen willst?
Schau Dir doch wenigstens mal an wie einfach es mit Lazarus geht, eine Windows oder Linux GUI Anwendung zu erstellen.
Dein Sohn hat bestimmt auch keine Probleme mit dem Benutzen von Objekten
(Wohl eher jemand anderes.... ;-)

Etron770
Beiträge: 5
Registriert: Mo 11. Sep 2006, 18:37

Beitrag von Etron770 »

Es gibt schon Gründe dafür, dass man erst einmal mit einer einfachen Struktur anfängt. Vor allem wenn die Kinder im Grundschulalter das Programmieren lernen. Wenn du mal googelst, dann wirst Du sehr schnell herausfinden, dass da irgendwelche abenteuerlichen Interpreter benutzt werden nur um die einfach strukturierte Programmierung zu vermitteln.

1. Schritt ein lineares Programm - Hello World ...
2. Schritt Abfragen und Schleifen
3. Schritt Proceduren und Funktionen
4. Schritt Objekte
usw.

Wenn Du bei Kindern mit Schritt 4 anfängst, verlieren sie den Überblick oder erstellen Spaghetticode, obwohl der mit Pascal schwerer zu hinzubekommen ist.

Zu der Frage wer damit Probleme hat:
Da stelle ich mich dann halt doch etwas ausführlichr vor.
Mein größtes alleine geschriebenes Programm hatte über 65.000 Zeilen Quellcode, Grafikkarte mit Registern und Assembler programmiert, weil sonst Biosignale mit einem 80386 mit 32 Mhz überhaupt nicht gelaufen wären, die gesamte Borlan 7.0 Turbovisoins Oberfläche (also Komplett Objektorienteiert) habe ich auf Grafische Darstellung transferiert und das ganze lief im Protected Mode, genauso wie damals Windows 3.1 das hatte etwa genausoviel Zeilen Quellocde und lief auch im Protected Mode.

Ich habe also keinerlei Probleme mit Objektorientierter Programmierung .. . nur fehlen mir die Hintergründe wie ich die Tastatureingaben auf den Grafikschirm bekomme.

Viele Grüße Knut

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Ich glaube Du fragst besser mal in den FPC Foren, weil diese Art der Programmierung wenig mit Lazarus zu tun hat.

http://community.freepascal.org:10000/bboards/

Vielleicht kennt sich da im DOS Forum jemand mit sowas aus.

Etron770
Beiträge: 5
Registriert: Mo 11. Sep 2006, 18:37

Beitrag von Etron770 »

Eigentlich ist es eher eine XP Frage, denn ob man den Tastaturpuffer in diesem Mode noch auslesendarf entscheided Windows.
Ich probier es einfach mal aus, meine alten Programme liefen auch noch unter Win98 unter XP hat es noch niemand probiert, weil sie auf alten Rechnern installiert sind ... sie brauchen für eine Signalprozessor noch einen ISA Slot.... 15 Jahre sind eine lange Zeit om PC alter [ :o

Grüße Knut

Cherry

Beitrag von Cherry »

.
Zuletzt geändert von Cherry am Mo 7. Mai 2007, 12:43, insgesamt 2-mal geändert.

Etron770
Beiträge: 5
Registriert: Mo 11. Sep 2006, 18:37

Beitrag von Etron770 »

Klar fängt man damit an, nur wollen Kinder es etwas bunter. Und soweit das ich mit LOGO anfange, nur damit es bunt und noch einfacher wird, bin ich noch nicht. Also versuche ich mir etws zusammenzubauen, damit ich auf die Frage: "Wie bringe ich bunte Formen auf den Bildschirm" vorbereitet bin, ohne gliech auf objektorientierte Programmierung im Windows Mode umzustellen.

Wenn ein Kind programmiert so muss es Spaß machen und mein erstes richtiges Programm war Mastermind, bunt mit ein paar Formen auf einem Z80. Da war ich dann zufrieden. Alles vorher war ausprobieren.

Auch in den Schulen beschäftigen sich die Lehrer mit dem Problem welche Sprache man denn überhaupt noch nehmen kann, um systematisch und mit Spaß den Kindern das Programmieren beizubringen. und eigentlich ist bei Lazarus alles vorhanden, nur die Texteingeaben und die Mausfunktionen für die Unit Graph fehlen. Das fand ich damals nicht so schwer zu für ein Standalone Programm zu programmieren. Mir fehlen eben nur die technischen Details wie ich bei Windows XP auf die Maus und die Tastatur zugreifen darf.
Dann wäre eine Unit vorhanden mit der alles vorhanden ist um Schritt für Schritt und mit allem was Kinder eventuel wollen anzufangen. Eventuell wäre das für die Sprache Pascal auch wieder ein Vorteil, denn sie ist eben sicherer gegen Fehler als andere, was zum lernen sehr gut ist.
So einfach und schön die Funktionen von Lazarus/Delphi für Graphische Elemente auch sein mögen. Der Code der dabei erzeugt wird ist einfach nicht Stück für Stück selber geschrieben. Und das finde ich unabdingbar für ein tieferes Verständnis.

Aber eventuell weiss ja jemand einen Link der die technische Frage beantwortet.

Viele Grüße Knut

Etron770
Beiträge: 5
Registriert: Mo 11. Sep 2006, 18:37

Beitrag von Etron770 »

Habs gefunden in der unit WinCRT
Ich bin derzeit ein bischen blind denn die Helpfiles in Lazarus funktionieren nicht (siehe http://www.lazarus.freepascal.org/index ... highlight=
)
Aber ich habe die Quellcodes durchforstet und habe es gefunden.

Danke Knut

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von Antrepolit »

Der Thread ist zwar abgeschlossen, aber ich möchte mich dennoch aufdrängen :wink:

Ich habe in den 90ern eine komplette grafische Unit mit Bedienelementen
geschrieben, die u. a. grafische Texteingabe ermöglichten. Ferner gab es
Scrollboxen, einen Dateidialog, Meldungsfenster, usw...

Aber irgendwann stieg ich um auf objektorientierte Windows-
Programmierung und musste irgendwann von meiner schönen 'Unit Fen'
ablassen. Aber seit der Win-Programmierung macht das nicht mehr so
richtig Spaß mit dem Coden. Erstaunlich, dass man in einer Welt mit Problemen
mehr Spaße hat, als in einer Welt voller Objekte. :? :roll:

Grüße Antrepolit

Antworten