Desktopauflösung auslesen?
Übersicht![](/themes/Standard/arrow.png)
![](/themes/Standard/arrow.png)
OldSkool90Betreff: Desktopauflösung auslesen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Gibt es eine Möglichkeit, die Desktopauflösung auszulesen, sodass ich diese dann in Variablen speichern kann? Das wäre tausendmal komfortabler, als für jede Auflösung eine Auswahlmöglichkeit zu programmieren.^^ |
||
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Modul sollte helfen: http://www.chaos-interactive.d...extension/
MfG DaysShadow |
||
Blessed is the mind too small for doubt |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da gibt's ein supi dupi Modul von Chaos Interactive! *werb*
http://www.chaos-interactive.d...extension/ |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen dank euch beiden. Da bleibt nur die Frage, welcher der Funktionen im Modul was genau macht.^^
Denn auf der Website steht, dass der Befehlssatz >>demnächst folgt<<. Und ich persönlich finde die Wortwahl im Quellcode sehr verwirrend und auch nicht wirklich elegant. ![]() |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da brauchst du nicht gleich ein ganze Modul! So sollte es auch gehen:
BlitzMax: [AUSKLAPPEN] Extern "win32" |
||
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich sehe grad in der Funktionsauflistung die Befehle DesktopWidth etc. Werde diese mal ausprobieren.
@Midimaster: Sieht kompliziert aus ![]() werde es mal testen und meinen Befehlshorizont erweitern ![]() EDIT: Nochmals danke Midimaster, dein Code funktioniert wunderbar, jedoch Frage ich mich wozu Links und Oben verwendet werden soll. Ist das nur dazu da, um das "Rect" zu initialisieren? Denn für die Auflösung reicht ja Rechts und Unten.^^ |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Besonders gelungen ist dieser Weg natürlich für die Kompatibilität zu anderen Betriebssystemen... -.-
Na dann versuch das mal auf Multi-Display Systemen, Oldshool dann weist du wofür links/oben sein muss. Wobei das in dem, von Midimaster gezeigtem Weg auch nicht berücksichtigt wird, also doch ziemlich sinnlos ist... *schwafel* |
||
- Zuletzt bearbeitet von d-bug am Fr, Feb 26, 2010 21:24, insgesamt 2-mal bearbeitet
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wieso andere Betriebssysteme? Momentan reicht es mir aus, meinen Code für Windows zu schreiben. Ich hege keinen Mainstream-groll gegen Windows...Finde eher Linux eklig ![]() |
||
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist trotzdem grundsätzlich guter Stil, plattformunabhängig zu bleiben. Solltest du später mal für alle Plattformen entwickeln wollen hilfts dir, wenn du dich jetzt schon daran hälst.
Außerdem ist es wohl besser eine erprobte und vollständige Lösungen zu verwenden als irgendein Code der womöglich auf System XY nicht funktioniert (oder bei Systemen mit mehreren Bildschirmen, wie d-bug schon sagte). |
||
Blog. |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja mal sehen. Bisher Programmiere ich nur für mich selbst, einfach um mich zu fordern und meine Logik auf Vordermann zu bringen. Und man kann auch hinterher noch alles andere lernen...Types hab ich in B3D auch erst gelernt, nachdem ich mich mit der 3D Engine beschäftigt habe ![]() |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
@OldSchool90
naja, die Windowsfunktion GetWindowRect() benötigt einen Memory-Block von genau dieser Größe und schreibt dort 4 Integer-Werte rein. Also erstellen wir ihn genauso. Das kannst du als Type realisieren. Der Funktion wird dabei der Zeiger auf den Anfang des Blocks übergeben. @D2006 und hamZta Die Lösung, die Desktop-Auflösung über ein fertiges Modul abzufragen, dass auf allen drei Systeme Windows, Mac und Linux funktioniert, ist natürlich vorzuziehen. Natürlich ist soetwas erst dann als "Modul" akzeptierbar, wenn es die Funktionen, die es anbietet auch wirklich in allen drei Systemen leisten kann. Sorry, aber ohne diese Fleißaufgaben ist es zunächst nur eine "Code-Beispiel". |
||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal so am Rande:
D2006 != d-bug Die Unterstützung von Linux-Derivaten, auf die du dich da beziehst, ist alles andere als eine reine Fleißarbeit. Wie dem auch sei, wenn du meinst, dieses Modul sei eine Art Codeschnipsel, von dem du abpinnen kannst, steht dir das selbstredend frei. Allerdings würde ich trotzdem versuchen Multi-Display Systeme einbeziehen zu wollen, denn diese sind mittlerweile mehr als nur Randgruppen-Systeme, die sich nur die Freaks auf den Schreibtisch stellen. ![]() Du solltest übrigens mal deine Einstellung zu Modulen überdenken. Ganz BlitzMax besteht aus einem modularem Aufbau. Wenn du dich also davor ekelst Module zu importieren ist BlitzMax nicht das richtige für dich. Ich hoffe du benutzt wenigstens ein Framework. |
||
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So schön und gut euer Modul sein mag....Ich wollte es grade testen und siehe da: Ich kanns nicht importieren. Mit dem Befehl "Import Chaos.Desktopext" erzählt mir der Compiler, dass er für das Modul kein Interface findet...und da kann ich probieren was ich will. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast Du das Modul gebuilded?
(Dafür muss MinGW installiert sein) Hast Du die Vollversion von Bmax? (Sonst kannst Du keine externen Module einbinden, das ist eine der Demobeschränkungen) |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Man muss Module noch builden? o.O
Oha...Dachte das funktioniert unkompliziert...na toll Ja ich hab die Vollversion. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man muss nicht jedes Modul builden, nein. Man kann sie auch vorkompiliert liefern, was sich aber nicht als Standard durchgesetzt hat.
Dadurch das d-bug den Quelltext liefert kann jeder das Modul jederzeit mit der aktuellsten Compilerversion für sein System erstellen. Mit installiertem MinGW ist das ein Tastendruck. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich dachte es wäre wie in bb....Quellcode einfügen und Functionen nutzen | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht ganz.
Mit Import werden vorher erstellte Befehlsbibliotheken eingebunden. Der Vorteil ist dass diese nicht jedes mal neu mit kompiliert werden müssen. Das erstellen deines Projektes insgesamt geht also wesentlich flotter von statten. Include gibt es in Max ja auch - hier wird dann auch weiter alles kompiliert. Module sind eine sehr sinnvolle und mächtige Erweiterung der Sprache. Und der Aufwand sie einmalig neu zu compilieren bevor man sie nutzen kann ist nicht wirklich einer und lohnt sich daher sofort. Ich kann dir wirklich nur empfehlen dich dafür zu öffnen, weil es viele wirklich geniale Funktionen als Modul gibt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
okay okay ich hab das mit dem compilieren jetz verstanden. Werde aber möglichst wenig module verwenden, sonst komm ich mir noch wie ein scripter vor o.O | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hat mit scripten wenig zu tun.
Es ist nur einfach sinnvoll solche Funktionalitäten zu kapseln und für späteren Gebrauch auszulagern. Man sollte nicht für jedes Programm das Rad neu erfinden müssen, meinst Du nicht? Zudem kannst Du Dir ja auch eigene Module erstellen, mit dem Inhalt der Dir zusagt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht
![](/themes/Standard/arrow.png)
![](/themes/Standard/arrow.png)
Powered by phpBB © 2001 - 2006, phpBB Group