Seite 2 von 3

Re: Kleine Ansammlung an Anfänger-Fragen

Verfasst: 14.04.2006 21:17
von benpicco
PureBaser hat geschrieben: 3. Was muss ich schreiben, damit mein Konsolenprogramm jederzeit mit der Escape-Taste beendet wird, außer CloseConsole() natürlich.
Hab ich ja doch noch eine unbeantwortete Frage gefunden ^^.
Also wen du nichts dagegen hast, das es dann keine reine "DOS" Konsole mehr ist (ist es ja sowieso nicht, da PB keine 16Bit exen erstellen kann) und das ganze nur unter Windows laufen soll, ist der API-Befehl GetAsyncKeyState_(#VK_ESCAPE) genau das richtige.

Verfasst: 14.04.2006 21:19
von PureBaser
DANKE!!! Du bist Gut wie der Doom-Mann bei deinem Pic oder wars Duke! :o

Verfasst: 14.04.2006 21:26
von benpicco
Ja, es ist aus DOOM 1 (oder 2, ist ja die selbe engine) ^^
Das GetAsyncKeyState könne dir auch für dein n-Problem helfen, das dürfte #VK_N sein, wen ich mich da nicht irre.

Verfasst: 14.04.2006 22:51
von MVXA
So lange es "nur" die Konsole ist, dürfte vielleicht der Befehl Inkey()
für dich ganz interessant sein. GetAsyncKeyState() arbeitet global,
d.h. auch wenn dein Programm (Konsole) gerade nicht das aktive
Fenster ist.

Inkey() hingegen verarbeitet die Events, die auch an die Konsole
adressiert sind.

Verfasst: 15.04.2006 01:54
von Konne
>2. Sind in der Konsole gemäß der Hilfe wirklich keine deutschen Umlaute >möglich? Vielleicht gehts mit der Ascii-Tabelle?
-Kannst ja ganz leicht deine eigene Cosole Programmieren. Aber selbst als anfanger sollte man keine Programme mit Konsolen schreiben auser man ist unter Linux.

>3. Was muss ich schreiben, damit mein Konsolenprogramm jederzeit mit >der Escape-Taste beendet wird, außer CloseConsole() natürlich.
-N' Thread mit Inkey()

>4. Die letzte und wohl kniffligste Frage:
>Nehmen wir an ich habe 5 Prodezuren. Und alle Prodezuren besitzen den >gleichen Anfangscode und den gleichen Endcode, "nur" eben die Mitte ist >anders. Geht es auch anders? Evtl. Prodezur in Prodezur?

Das geilste ist das mit Macros zu machen!

Code: Alles auswählen

Macro MeineProceduren(Name,Zeile)
  Procedure ThisIsThe_#Name()
    ;Here is the Code     
    Zeile
    ;Here is the rest of the Code
  EndProcedure
EndMacro

Verfasst: 15.04.2006 21:54
von PureBaser
Gut zu wissen!

Mir bleiben immer noch Fragen auf nach dem Coden und aufprobieren (man muss ich dumm sein)

Ud zwar wie muss ich die WinAPI integrieren; einfach so in den Code rein hat keine Auswirkung. Und die Sache mit dem UByte geht auch nicht mit Zahlen
b.b & $FF ist auch nen komischer Code

Verfasst: 15.04.2006 22:05
von ts-soft
Ob das Byte im Speicher als signed oder unsigned gewertet wird, ist doch nur
eine Definitionssache. Die API liest den richtigen Wert, weil sie es als UByte
interpretiert. Du solltest einfach mit Hex-Werten arbeiten. Zur Darstellung nimmst dann eben & $FF

Verfasst: 15.04.2006 22:10
von PureBaser
Vielleicht ein klitzekleines praktisches Codebeispiel mit "b.b & $FF" Will bei mir nicht so richtig klappen...

Gute Nacht!

Verfasst: 15.04.2006 22:13
von ts-soft

Code: Alles auswählen

b.b = 200
Debug b
Debug b & $FF

Verfasst: 15.04.2006 22:16
von PureBaser
DANKE!