Kleine Ansammlung an Anfänger-Fragen (gelöst)

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Re: Kleine Ansammlung an Anfänger-Fragen

Beitrag 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.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

DANKE!!! Du bist Gut wie der Doom-Mann bei deinem Pic oder wars Duke! :o
PB4 & WinXP_SP2
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag 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.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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.
Bild
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag 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
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
PB4 & WinXP_SP2
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

Vielleicht ein klitzekleines praktisches Codebeispiel mit "b.b & $FF" Will bei mir nicht so richtig klappen...

Gute Nacht!
PB4 & WinXP_SP2
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

b.b = 200
Debug b
Debug b & $FF
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PureBaser
Beiträge: 180
Registriert: 08.09.2004 21:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von PureBaser »

DANKE!
PB4 & WinXP_SP2
Antworten