Diverse Funktionen

Übersicht BlitzBasic DLLs und Userlibs

Neue Antwort erstellen

 

$tankY

Betreff: Diverse Funktionen

BeitragMi, Mai 24, 2006 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mal wieder was mit C++ gemacht und das ist das Ergebnis:
Eine DLL mit folgenden Funktionen
-Gibt die momentane Auflösung wieder (eine für Höhe, eine für Breite)
-MausPosition ändern
-Prozessorgeschwindigkeit in Mhz
-Num-, Caps- und Scrolllock Lämpchen Switch-Funktion
Das war's auch schon!
Der Downloadlink:
https://www.blitzforum.de/upload/file.php?id=118

Viel Spaß mit der DLL, hoffe, dass sie nützlich ist.

PS: Beispieldatei und decls sind enthalten!

Ironstorm

Erstklassiger Contest-Veranstalter

Betreff: Re: Diverse Funktionen

BeitragMi, Mai 24, 2006 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
$tankY hat Folgendes geschrieben:

-Gibt die momentane Auflösung wieder (eine für Höhe, eine für Breite)
-MausPosition ändern


Soweit ich weiß gibt es für die zwei Sachen schon Befehle. Warum dafür noch eine eigene DLL?

MFG
Blitzmaker
 

$tankY

BeitragMi, Mai 24, 2006 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Kompakter?
Ich mein, wenn du lieber für alle (es gibt alle ausser den Tastaturbeleuchtungen hier im Forum) eine DLL verwenden willst, dann tu das...
Von mir aus kann ich den Quellcode hier posten, dann kann sich ja jeder seine DLL kompilieren...

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragMi, Mai 24, 2006 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Verstehe ich nicht ganz, ich meinte das Blitz3D diese Befehle von Haus aus kann. Kann mich aber nicht errinern welche das waren.

Das mit dem Komplimieren will ich nicht, kann ich nämlich net Very Happy

MFG
Blitzmaker
 

$tankY

BeitragMi, Mai 24, 2006 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm... du kannst die Maus überall hinstellen mit den Funktionen, auch ausserhalb des Fensters (wenn im Fenstermodus), soweit ich weiss kann B3D das nur innerhalb des Programms (habs leider nicht, kann ja ma schaun, wie das bei B+ mit den Befehlen is)
Edit: Und die Bildschirmauflösung kann man nur mit B+ von Haus aus ermitteln...
Edit2: Also in B3D ist es nicht möglich, die Maus ausserhalb des Fensters zu bewegen, mit der DLL schon Idea
 

Florian

BeitragMi, Mai 24, 2006 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

$tankY deine DLL ist völlig unnötig, weil deine DLL wieder rum nur auf die Kernschnittstellen des Betriebsystems Windows zugreift.

Außerdem ist DLL ca. 700 KB groß, das ist nicht grade klein.

Ich finde es schöner, wenn man direkt auf die Schnittstellen zugreifen kann.

MfG

Florian
Das große BlitzBasic Community Tutorial
Stackmaschine 2.0

d-bug

BeitragMi, Mai 24, 2006 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
... und warum sollte ich nun eine externe DLL bei all meinen Projekten beilegen, wenn ich all diese Funktion auch per API und decls bekommen kann? Mir will der Sinn nicht in den Kopf kommen.

Mal davon abgesehen kann man sehr wohl die aktuelle Auflösung des Desktops abfragen. Auch ohne extra DLL. Die API-Funktionen GetDC, GetDesktopWindow und GetDeviceCaps sind da deine Freunde...

cheers
 

$tankY

BeitragMi, Mai 24, 2006 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, wenn die hier nicht gut ankommt, werd ich wohl nichts mehr hier posten, hab kein bock mehr, ciao

Hagbard

BeitragMi, Mai 24, 2006 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie benutzt man diese Api Funktionen mit Blitz?

d-bug

BeitragMi, Mai 24, 2006 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
@blacky z.B. so

zuerst die desktop.decls (oder wie auch immer):
Code: [AUSKLAPPEN]
.lib "user32.dll"
GetDC%(hwnd%):"GetDC"
GetDesktopWindow%():"GetDesktopWindow"
ReleaseDC%(hwnd%, hdc%):"ReleaseDC"

.lib "gdi32.dll"
GetDeviceCaps%(hdc%, index%):"GetDeviceCaps"

Das mußt du in das Userlibs Verzeichniss deiner B3D Installation kopieren und dann die IDE neu starten.

Dann kannst du folgenden Test ausführen:
Code: [AUSKLAPPEN]
Const HORZRES=8     ; Weite in Pixel             
Const VERTRES=10    ; Höhe in Pixel               
Const BITSPIXEL=12  ; Bits 

Local hwnd% = GetDesktopWindow()
Local hdc% = GetDC(hwnd)

Print "hdc:"+hdc

If hdc
    Print "Breite: "+GetDeviceCaps(hdc,HORZRES)
    Print "Höhe:   "+GetDeviceCaps(hdc,VERTRES)
    Print "Bits:   "+GetDeviceCaps(hdc,BITSPIXEL)
    ReleaseDC(hwnd,hdc)
EndIf

Print ""
Print "Taste drücken..."
WaitKey
End

Du solltest jetzt die Auflösung deines Desktops sehen... (Wenn alles funktioniert hat)


Also wirklich $tanky... für die drei Zeilen Code braucht man keine extra DLL. Außerdem musst du ja nicht gleich die Flinte ins Korn werfen.

cheers

[edit]
Zur Beruhigung der Massen (Kryan) hab ich noch eben ReleaseDC zum Code hinzugefügt. Das war zwar nicht zwingend nötig, aber Sicher ist Sicher...
[/edit]
  • Zuletzt bearbeitet von d-bug am Fr, Mai 26, 2006 20:06, insgesamt 3-mal bearbeitet

tft

BeitragDo, Mai 25, 2006 7:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi...

was für ein zufall..... genau danach wollte ich gerade fragen..........
Typisch d-bug...................
Hats du auch eine Constanten Liste dazu...... die Windows Strucktur gibt ja noch eine menge mer infos her.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

d-bug

BeitragDo, Mai 25, 2006 9:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Was heißt denn hier typisch d-bug?

Hab hier einen kleinen Auszug aus dem BMax Modul pub.win32 Wink

Code: [AUSKLAPPEN]
' Device Parameters for GetDeviceCaps()

Const DRIVERVERSION =0     ' Device driver version                   
Const TECHNOLOGY    =2     ' Device classification                   
Const HORZSIZE      =4     ' Horizontal size in millimeters           
Const VERTSIZE      =6     ' Vertical size in millimeters             
Const HORZRES       =8     ' Horizontal width in pixels               
Const VERTRES       =10    ' Vertical height in pixels               
Const BITSPIXEL     =12    ' Number of bits per pixel                 
Const PLANES        =14    ' Number of planes                         
Const NUMBRUSHES    =16    ' Number of brushes the device has         
Const NUMPENS       =18    ' Number of pens the device has           
Const NUMMARKERS    =20    ' Number of markers the device has         
Const NUMFONTS      =22    ' Number of fonts the device has           
Const NUMCOLORS     =24    ' Number of colors the device supports     
Const PDEVICESIZE   =26    ' Size required For device descriptor     
Const CURVECAPS     =28    ' Curve capabilities                       
Const LINECAPS      =30    ' Line capabilities                       
Const POLYGONALCAPS =32    ' Polygonal capabilities                   
Const TEXTCAPS      =34    ' Text capabilities                       
Const CLIPCAPS      =36    ' Clipping capabilities                   
Const RASTERCAPS    =38    ' Bitblt capabilities                     
Const ASPECTX       =40    ' Length of the X leg                     
Const ASPECTY       =42    ' Length of the Y leg                     
Const ASPECTXY      =44    ' Length of the hypotenuse                 

Const LOGPIXELSX    =88    ' Logical pixels/inch in X                 
Const LOGPIXELSY    =90    ' Logical pixels/inch in Y                 

Const SIZEPALETTE  =104    ' Number of entries in physical palette   
Const NUMRESERVED  =106    ' Number of reserved entries in palette   
Const COLORRES     =108    ' Actual color resolution                 

' Printing related DeviceCaps. These Replace the appropriate Escapes

Const PHYSICALWIDTH   =110 ' Physical Width in device units           
Const PHYSICALHEIGHT  =111 ' Physical Height in device units         
Const PHYSICALOFFSETX =112 ' Physical Printable Area x margin         
Const PHYSICALOFFSETY =113 ' Physical Printable Area y margin         
Const SCALINGFACTORX  =114 ' Scaling factor x                         
Const SCALINGFACTORY  =115 ' Scaling factor y                         

' Display driver specific

Const VREFRESH        =116  ' Current vertical refresh rate of the display device (For displays only) in Hz
Const DESKTOPVERTRES  =117  ' Horizontal width of entire Desktop in pixels   
Const DESKTOPHORZRES  =118  ' Vertical height of entire Desktop in pixels                                 
Const BLTALIGNMENT    =119  ' Preferred blt alignment                 
Const SHADEBLENDCAPS  =120  ' Shading And blending caps               
Const COLORMGMTCAPS   =121  ' Color Management caps

Eine komplette Liste habe ich leider auch nicht.

cheers
 

$tankY

BeitragFr, Mai 26, 2006 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
d-bug hat Folgendes geschrieben:

Also wirklich $tanky... für die drei Zeilen Code braucht man keine extra DLL. Außerdem musst du ja nicht gleich die Flinte ins Korn werfen.


Naja, wenn ich ma was nützliches finde, werd ichs ma versuchen, mit dem Thread wurden ja auch anderen geholfen (leider nicht mit meinem post, aber naja...)

Plasma

Betreff: hmm

BeitragFr, Mai 26, 2006 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
toll da bastelt sich jemand ne dll stellt sie ins forum und ihr motzt rum !

schon den fakt das er den frame der dll ins forum stellen will finde ich gut ..

mfg

Kryan

BeitragFr, Mai 26, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@d-bug: ich weiß nicht ob es 100% notwendig ist, aber mit ReleaseDC (auch user32.dll) sollte man den bereich wieder freigeben Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

d-bug

BeitragFr, Mai 26, 2006 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
@Kryan
Hast ja recht, Sicher ist Sicher... Hab es oben eingefügt.

Kryan

BeitragFr, Mai 26, 2006 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
supi ^^

kann man damit auch irgendwie setbuffer betreiben oO
wär ja mal interessant, um nicht b+ verwenden zu müssen Very Happy

(hoffe mal, dass ich das da nicht alles dafür brauche:)
http://www.activevb.de/tipps/v...p0125.html
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

DjDETE

BeitragSo, März 23, 2008 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich find die dll gut, kann die swichkeyboardlight gut gebrauchen.
MfG DjDETE
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.
 

Eisbaer

BeitragDi, März 25, 2008 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt Hackt doch auf $tankY nicht so rum,

Er hat es ja nur gut gemeint..
Natürlich habt ihr Recht, das es mit eigen Lösungen immer besser ist.

Aber für Test Phasen ist es ganz gut ne fertige DLL zu haben,
Ihr müsst sie ja nicht nutzen;

Aber ich finde es besser jemand stellt eine neue DLL ein, als das es keine neuen mehr gibt.

Der Nutzen bleibt jedem selber überlassen.

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group