Le fichier zip qui contient la dll et les sources en Delphi : bench.zip
Cette fonction renvoie le nombre de millisecondes écoulées depuis le démarrage de Windows
Exemple :
DLL_ON "C:\Langages\Panoramic\DLL\bench.dll" DIM Duree,I Duree = DLL_CALL0("GetCount") FOR I = 0 TO 10000 NEXT I PRINT "Boucle de 0 à 10000 : ";-1*(Duree - DLL_CALL0("GetCount"));"ms" DLL_OFF END
mouse.dll Projet delphi demo.bas
Récupération des coordonnées (sur la totalité de l'écran) et de l'état des boutons de la souris.
Exemple :
DLL_ON "C:\Langages\Panoramic\DLL\mouse.dll" DIM coord$,bouton%,titre$ coord$=STRING$(20," ") PRINT PRINT "Quitter le programme en appuyant sur les 2 boutons de la souris à la fois" REPEAT bouton% = DLL_CALL1("GetMouseXY",ADR(coord$)) titre$="X:"+LEFT$(coord$,4)+" Y:"+MID$(coord$,5,4)+" bouton:"+STR$(bouton%) CAPTION 0, titre$ UNTIL bouton%=3 HIDE 0 DLL_OFF END
Valeur de retour :
Note : Vous pouvez avoir une combinaison de bouton.
La chaine de caractères en retour contient les valeurs : "XXXXYYYY"
Permet de positionner le curseur de la souris sur l'écran. Les coordonnées sont en valeurs absolues par rapport à la totalité de l'écran.
Exemple :
DIM Dll_return% ' Positionnement de la souris au centre de l'écran Dll_return% = DLL_CALL2("SetMouseXY",SCREEN_X/2,SCREEN_Y/2)
Cette fonction renvoie 1
Utils.dll Projet delphi demo.bas
Connaitre le profil de l'utilisateur qui a ouvert la session.
Exemple :
HIDE 0 DLL_ON "C:\Langages\Panoramic\DLL\Utils.dll" DIM Dll_return% DIM UserName$ : UserName$ = STRING$(250," ") Dll_return% = DLL_CALL2("GetUserFromWindows", ADR(UserName$), LEN(UserName$)) UserName$ = TRIM$(UserName$) MESSAGE "Appel à GetUserFromWindows: " + UserName$ END
Transforme un NOM LONG de chemin +fichier en NOM COURT au format DOS
Exemple :
DIM Dll_return%, Panoramic$ Panoramic$ = "C:\Program Files (x86)\Panoramic Editor\Panoramic_editor.exe" Dll_return% = DLL_CALL2("GetShortName",ADR(Panoramic$),LEN(Panoramic$)) ' Panoramic$ <-- C:\PROGRA~2\PANORA~1\PANORA~1.EXE
Exemple :
DIM Dll_return%, batch$ batch$ = "go.bat" Dll_return = DLL_CALL1("Execute", ADR(batch$))
Idem que la fonction précédente mais l'appel de cette fonction est bloquante: on attend la fin d'exécution du batch.
Cette commande renvoie 0 en cas d'échec.
Exemple :
DIM Dll_return%, batch$ batch$ = "go.bat" Dll_return% = DLL_CALL1("ExecuteAndWait", ADR(batch$))
Pick.dll Projet delphi demo.ba
Permet de connaitre les coordonnées de la souris (cf. MOUSE.DLL).
Exemple :
DIM Dll_return%, Coordonnee$ : Coordonnee$ = STRING$(10," ") Dll_return = DLL_CALL1("GetMouseXY", ADR(Coordonnee$))
Permet de connaitre la couleur du pixel situé en X,Y (fonctionne sur la totalité de l'écran).
Exemple :
DIM Dll_return%, x, y, couleur$ : couleur$ = STRING$(10," ") x = 100 : y = 100 Dll_return% = DLL_CALL1("GetColorXY", x, y, ADR(couleur$))
La couleur est retournée dans une chaine de caractère sous le format hexadécimal : RRVVBB
Exemple d'utilisation de ces deux fonctions :
rem ============================================================================ rem Exemple d utilisation de PICK.DLL par Papydall . rem ============================================================================ LABEL clic,FinProg DIM r,v,b ALPHA 10 : TOP 10,350 : LEFT 10,100 : FONT_BOLD 10 2d_fill_color rnd(255),rnd(255),rnd(255) : 2d_circle 300,200,100 2d_rectangle 10,20,50,300 : 2d_flood 11,21,255,255,0 2d_rectangle 210,20,250,300 : 2d_flood 11,21,0,255,0 2d_circle 300,200,50: 2d_flood 300,200,0,255,255 DLL_ON "C:\Panoramic\NARDO\pick.dll" : ' Adaptez le chemin ON_CLOSE 0,FinProg TIMER 1:TIMER_INTERVAL 1,100 ON_TIMER 1,clic END REM ============================================================================ clic: Pick() RETURN rem ============================================================================ SUB Pick() DIM_local Pick_Coordonnee$, Pick_x,Pick_y,Pick_retour%,bt%,t$ Pick_Coordonnee$ = STRING$(8," ") bt% = dll_call1("GetMouseXY",ADR(Pick_Coordonnee$)) Pick_x = VAL(LEFT$(Pick_Coordonnee$,4)) Pick_y = VAL(RIGHT$(Pick_Coordonnee$,4)) Pick_Coordonnee$=STRING$(20," ") Pick_retour% = dll_call3("GetColorXY",Pick_x,Pick_y,ADR(Pick_Coordonnee$)) CAPTION 0,"Coordonnées "+str$(Pick_x)+" x "+str$(Pick_y)+" couleur :"+Pick_Coordonnee$ r = hex(left$(Pick_Coordonnee$,2)) v = hex(mid$(Pick_Coordonnee$,3,2)) b = hex(mid$(Pick_Coordonnee$,5,2)) t$ = "Déplacez la souris où vous voulez, même en dehors de cette fenêtre"+chr$(13)+chr$(13) t$ = t$ + "Coordonnées de la souris : x="+str$(Pick_x)+" y="+str$(Pick_y)+" bouton="+STR$(bt%)+chr$(13) t$ = t$ + "Couleur du pixel :R = "+str$(r) + " V = " + str$(v) + " B = "+str$(b) caption 10,t$ END_SUB rem ============================================================================ FinProg: DLL_OFF TERMINATE rem ============================================================================