Bonjour,
J'aimerais simplement savoir comment scinder une image en 16 bout...
en gros j'ai une image de 96 par 92 et je voudrais la scinder en image de 24 par 23...
Je suis pas expert en vb.
Merci d'avance.
Bonjour,
J'aimerais simplement savoir comment scinder une image en 16 bout...
en gros j'ai une image de 96 par 92 et je voudrais la scinder en image de 24 par 23...
Je suis pas expert en vb.
Merci d'avance.
Est-ce du VB6 ou du VB.Net ?
De quel type est l'image ? BMP ? JPG ? Autre ?
pour le format de l'image cela peut être du BMP ou PNG
en fait il s'agit d'un VB de chez HP plus proche de VB6 ...
il s'agit d'une programmation sur QTP (quick test professionnal) c'est un outil permettant d'éffectuer des test via la programmation d'un ROBOT. dans le cas present il faut que je récupére une image qui correspond a la concaténation de plusieur image... (un clavier avec des touches)
et que je sache la position de chacune des images dans la grandes images ... Je sais pas si j'ai été clair ...
Mon idée était d'utiliser une API windows ... enfin si vous en connaissez une
en gros :
voila le clavier :
et je voudrais récuperer chacune des touches ... j'ai les images de chaque chiffre séparement mais l'ordre est aléatoire ...
Tu trouveras sur Google entre autre la description du format BMP (de méoire il y a un entête je crois et ensuite les pixels sont écrits dans l'ordre inverse, ligne par ligne en commençant par la dernière), pour le PNG, j'ai jamais essayé.
Bonjour,
Lorsque tu écris
En es-tu certain ?il s'agit d'un VB de chez HP plus proche de VB6 ...
Si oui (et pas finalement plus proche de VBA et non de VB6) :
sous VB6, tu as à ta disposition le contrôle PictureClip ...
Je ne crois pas (j'en suis même certain) qu'un tel contrôle soit disponible sous VBA, par exemple ...
En disposes-tu ?
Deuxième question : disposes-tu de contrôles PictureBox (qui disposent de hdc) ou uniquement de contrôles Image (sans hdc) ?
si tu ne disposes pas de contrôles dotés de hdc, je vois mal ce que tu pourrais faire, dès lors que la disposition des touches de ton "clavier" n'est pas toujours la même ...
Travailles tu sous Quality Center (TestDirector) ?
bon je vois que le sujet a fais foule ... J'en suis bien content
Pour situer ma position : Je suis expert en matiére QC et je viens de passer une petite formation sur QTP ... Mon but étant de devenir Expert... mais bon une peu de mal...
Bon je reprend en fait aprés des heures passé sur le soft il s'agit de VBscript ... donc pas pictureclip (j'ai trouver quelque article la dessus)
donc voila aprés mes recherches j'ai supossé qu'il fallait que je me tourne vers l'API windows et j'ai déjà commencer a coder mais bon j'ai une erreur sur la derniére ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SourcePic = LoadPicture("c:\Clavier.bmp") DestPic =LoadPicture("c:\Clavier2.bmp") SourcePic RasterOp = &HCC0020 'Declare FindWindow method Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString Extern.Declare MicLong,"BitBltP","gdi32.dll","BitBlt",micHwnd, micLong, micLong, micLong, micLong, micHwnd, micLong, micLong, micWord Extern.BitBltP DestPic,24,23,24,23,SourcePic,0,0,RasterOp
Oui avec le confirmation que tu m'as donné c'est ce que j'allais te dire.Bon je reprend en fait aprés des heures passé sur le soft il s'agit de VBscript
Je n'ai jamais rien vu d'autre sur QC.
Oui TestDirector est un outil permettant de créer des plans de tests, d'exécuter des tests, et de conserver le résultats des tests. Il a aussi d'autre fonctionnalité.Test director... ce nom me dit quelque-chose....Envoyé par ced600
Travailles tu sous Quality Center (TestDirector) ?
Actuellement je travaille sur Quality Center, qui est un pack plus important contenant TestDirector. D'ailleurs je ne sais pas si ce dernier est disponible séparément.
Quality Center te permet d'installer un serveur pour gérer TestDirector, du moins sur ce que j'en ai compris.
Je suis d'en une entreprise qui a installé ce serveur, je ne fais qu'utiliser TestDirector et ses API pour le piloter.
Je ne connais pas QTP personnellement (je ne fais qu'utiliser des test VAPI-XP-Test), mais ne possède t il pas des classes pour gérer les images ?
Forum sur Quality Center -> il y a une zone sur les tests utilisant QTP, peut être trouveras tu ton bohneur dans les API qu'il offre (s'il en offre).
Mais sinon en VBS cela doit être possible mais je en sais pas comment.
Et sinon c'est quoi l'erreur que tu as ?
tu ne peux avoir Quality center sans TD ... enfait QC est une evolution de TD ...
Pour ce qui est de QTP c'est outil de test auto qui peut directement interargir avec QC ... je m'explique :
Tu as un cas de test que tu as en manuel... et bien tu peu trés bien te connecter a QC grâce a QTP et rajouter une couche auto ...
Lors de l'exe d'un scenario, si tout tes cas ont été créer en auto .. ton scenario le devient aussi ...
Bon revennons a nos moutons :
voila le message :
Argument ou appel de procédure incorrect :'Extern.BitBtp'
En fait je pensais l'inverse, TD sans QC.tu ne peux avoir Quality center sans TD
Je pense que c'est faux, j'aurais plutot fait un truc dnas le genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString
Tiens je te donne le code VB6.0 de déclaration de fonction extern surlequel je me suis appuyé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (micString, micString, ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Declare Function LoadBitmap Lib "user32" Alias "LoadBitmapA" _ (ByVal hInstance As Long, ByVal lpBitmapID As Long) As Long
heu ... bin en fait la déclaration de la doc de QTP donne cela comme exemple :
Declare Method
Description
Declares references to external procedures in a dynamic-link library (DLL).
Once you use the Declare method for a method, you can use the Extern object to call the declared method.
Syntax
Extern.Declare(RetType, MethodName, LibName, Alias [, ArgType(s)])
Argument
Type
Description
RetType String Data type of the value returned by the method. For available data types, see Declare Data Types.
MethodName String Any valid procedure name.
LibName String Name of the DLL or code resource that contains the declared procedure.
Alias String Name of the procedure in the DLL or code resource.
Note: DLL entry points are case sensitive.
Note: If Alias is an empty string, MethodName is used as the Alias.
ArgType(s) String A list of data types representing the data types of the arguments that are passed to the procedure when it is called. For available data types, see Declare Data Types.
Note: For out arguments, use the micByRef flag.
Example
The following example uses the Extern.Declare and Extern.<declared method> methods to change the title of the Notepad window.
'Declare FindWindow method
Extern.Declare micHwnd, "FindWindow", "user32.dll", "FindWindowA", micString, micString
'Declare SetWindowText method
Extern.Declare micLong, "SetWindowText", "user32.dll", "SetWindowTextA", micHwnd, micString
'Get HWND of the Notepad window
hwnd = Extern.FindWindow("Notepad", vbNullString)
if hwnd = 0 then
MsgBox "Notepad window not found"
end if
'Change the title of the notepad window
res = Extern.SetWindowText(hwnd, "kuku")
The following example retrieves information from an external INI file using GetPrivateProfileString, and uses it in the test. Note the use of the micByRef flag to indicate the out argument.
Extern.Declare micInteger,"GetPrivateProfileStringA", "kernel32.dll","GetPrivateProfileStringA", micString, micString, micString, micString+micByRef, micInteger, micString
Dim key, i, key2
key = String(32, "-")
i = Extern.GetPrivateProfileStringA("WREnv","addons","xxx", key, 32, "wrun.ini")
key2 = Left(key,i)
msgbox key & ";" & key2 & ";" & CStr(i)
The following example checks when the cursor is displayed as an hour glass.
extern.Declare micLong,"GetForegroundWindow","user32.dll","GetForegroundWindow"
extern.Declare micLong,"AttachThreadInput","user32.dll","AttachThreadInput",micLong,
micLong,micLong
extern.Declare micLong,"GetWindowThreadProcessId","user32.dll",
"GetWindowThreadProcessId",micLong,micLong
extern.Declare micLong,"GetCurrentThreadId","kernel32.dll","GetCurrentThreadId"
extern.Declare micLong,"GetCursor","user32.dll","GetCursor"
function get_cursor()
hwnd = extern.GetForegroundWindow()
pid = extern.GetWindowThreadProcessId(hWnd, NULL)
thread_id=extern.GetCurrentThreadId()
extern.AttachThreadInput pid,thread_id,True
get_cursor=extern.GetCursor()
extern.AttachThreadInput pid,thread_id,False
end function
Msgbox get_cursor()
Comme le dit ced600, le mot Extern. dans une declaration sous VB n'existe pas, pour preuve quand on le recherche dans MSDN, le seul endroit ou il est employé semple être dans Storage-Class Specifiers for External-Level Declarations du language C/C++ Languages and C++ Libraries
Dans ta citation Declare Method Description , il parle d'un exemple explicitement VB ?
:whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
saut de ligne
OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈
Peut être que le mot clé Extern est spécifique à certaine version de QTP.
C'est un outil disponible indépendement de QC.
La version que fournis QC est peut être une version Allégé.
C'est une doc générale QTP, ou une doc QC pour l'utilisation de QTP ?
C'est une doc Générale QTP... donc en gros Extern est une fonction spéciale QTP.
Snifff, j'ai comme l'impression que je vais devoir me debrouiller ...
Mais en fait... il faudrait simplement une DLL qui me fasse mon traitement d'image je pense non? car j'ai fais un test et apparement les seules fonction que je ne peux utiliser en dll sont celle qui requiere un callback mais ... ça veut dire quoi ?
Hello,
Bon voila mon probléme, j'aimerais découper une image en 16 petites et comparer chacune avec une image.
Mais en plus (sinon ce serais trop simple) il faudrait que j'utilise les fonctiona de l'api windows ou alors je créer ma propre dll avec la fonction permettant de faire ça mais le soucis (j'ai déjà essayer) c'est que je n'arrive pas a la rendre compatible au vb...
J'ai malheureusement peu d'expérience avec les dll et je n'ai pas trouver d'article sur le net permettant d'avancer, qquelqu'un aurait il des conseil pour faire ce que je veux avec les api ?
Merci d'avance
Partager