IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ WinDevConsultez toutes les FAQ

Nombre d'auteurs : 3, nombre de questions : 71, dernière mise à jour : 25 novembre 2018  Ajouter une question

 

Cette FAQ ne prétend pas traiter de tous les trucs & astuces ou de tous les problèmes rencontrés par les utilisateurs de WinDev : elle a été créée via l'analyse des questions les plus fréquentes posées sur le forum de ce site, et sur les connaissances des différents rédacteurs. Nous espérons voir le nombre de questions/réponses augmenter régulièrement, pour couvrir le plus de thèmes possibles. Pour y participer, suivez le mode d'emploi donné dans la 2ème question !

SommaireConcepts, WLangage et environnementConcepts, WLangage et environnement DiversRoutines (7)
précédent sommaire suivant
 

Code windev : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
PROCEDURE MonCalculMd5(pCh) 
wch,Pwdmd5 est chaîne 
wch=HashChaîne(HA_MD5_128,pCh) 
i,imax est un entier 
Pwdmd5="" 
imax=Taille(wch) 
POUR  i=1 A imax 
    Pwdmd5+=NumériqueVersChaîne(Asc(wch[[i]]), "02X") 
FIN 
Pwdmd5=Minuscule(Pwdmd5) 
RENVOYER Pwdmd5

Mis à jour le 15 juin 2009

Tout simplement avec la fonction WinDev ExeListeProcessus

Mis à jour le 12 juillet 2009 Emmanuel Lecoester

Voici un petit code à placer dans l'initialisation de vos projets pour mettre à jour automatiquement vos fichiers de données.
Il faut bien sûr préalablement intégrer l'outil "WDModfic.exe" avec toutes ses dépendances (DLL) ainsi que le ".wdd" de votre application dans le répertoire d'installation du projet.

Code windev : Sélectionner tout
1
2
3
4
5
6
7
8
bResultat est un booléen=Faux 
QUAND EXCEPTION DANS 
    SI PAS HCréationSiInexistant("*")ALORS Erreur("Impossible de créer les fichiers !") 
FAIRE 
    bResultat=LanceAppli(""""+fRepEnCours()+"\WDModfic.exe"" -error -nobackup "+"/WDD="""+fRepEnCours()+"\Monanalyse.wdd """+"/DIR="""+fRepExe+"""",exeBloquant) 
    Info("Le logiciel à détecté une incompatibilité de vos fichiers de données. Votre base de données a été modifiée et mise à jour automatiquement."+RC+"Veuillez relancer le logiciel SVP..... ") 
    FinProgramme() 
FIN

Mis à jour le 13 juillet 2009 Emmanuel Lecoester

Code windev : Sélectionner tout
1
2
3
4
5
6
7
8
9
navigateur est une chaîne 
nomproduit est une chaîne 
navigateur =RegistreLit("HKEY_CLASSES_ROOT\HTTP\Shell\open\command",1) 
navigateur=fExtraitChemin(navigateur,fDisque+fRépertoire+fFichier)+"exe" 
nomproduit=ExeInfo("ProductName",navigateur) 
SI nomproduit="" ALORS 
    nomproduit="Internet Explorer" 
FIN 
Info(nomproduit)

Mis à jour le 13 juillet 2009 Emmanuel Lecoester

Code windev : Sélectionner tout
LanceAppli("rundll32.exe shell32.dll, OpenAs_RunDLL " + NomFichier)

Mis à jour le 26 avril 2009 Emmanuel Lecoester

Code windev : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
  
// Résumé : Dessine l'icône associée à une extension de fichier, ou d'un fichier en particulier 
// Paramètres :  
//    sFileName (chaîne) : Nom du fichier ou extension avec le "." (ex: ".doc") 
//    sNomChpImage (chaîne - valeur par défaut="") : Nom du Champ Image 
//    hDC (entier système - valeur par défaut=0) : ou hDC du champ image renvoyé par dDebutDessin() 
//    nTaille (entier - valeur par défaut=16) : 16, 32, 48, 64  
// Valeur de retour :  
//     booléen 
// 
// Exemples : 
// DessineIconeFichier(".doc","IMG_Icone") 
// DessineIconeFichier("C:\Test.exe","",hDC) 
  
PROCEDURE DessineIconeFichier(sFileName est chaîne, sNomChpImage est chaîne="", ... 
    LOCAL      hDC est entier système=0, nTaille est entier = 16) 
  
SI sNomChpImage<>"" _ET_ PAS ChampExiste(sNomChpImage) ALORS 
    RENVOYER Faux 
FIN 
  
bRes est booléen 
  
sDefaultIcon est chaîne = SysRep(srSystème) + "\SHELL32.DLL" 
nIconIndex est entier 
sFileExt est chaîne 
sProgramName est chaîne 
nbIcons,nIndex,nError sont entier 
hIcon est entier système 
  
sFileExt = Minuscule(fExtraitChemin(sFileName,fExtension)) 
  
SELON sFileExt 
    CAS ".ico" 
        SI fFichierExiste(sFileName) ALORS 
            sDefaultIcon=sFileName 
            nIconIndex = 0 
            GOTO DRAW_ICON 
        FIN 
    CAS ".exe" 
        // sDefaultIcon = SysRep(srSystème) + "\SHELL32.DLL" 
        nIconIndex = 2 
        // Icône de l'executable (si nom de fichier complet fourni) 
        SI fFichierExiste(sFileName) ALORS 
            sDefaultIcon=sFileName 
            nIconIndex = 0 
        FIN 
        GOTO DRAW_ICON 
FIN 
  
SI RegistreExiste("HKEY_CLASSES_ROOT\"+sFileExt) ALORS 
    sProgramName = RegistreLit("HKEY_CLASSES_ROOT\"+sFileExt,0) 
    sDefaultIcon = RegistreLit("HKEY_CLASSES_ROOT\"+sProgramName + "\DefaultIcon",0) 
  
    nIndex = Position(sDefaultIcon, ",", Taille(sDefaultIcon), DepuisFin) 
    SI nIndex ALORS 
         sDefaultIcon = sDefaultIcon[[A nIndex-1]] 
        nIconIndex = sDefaultIcon[[nIndex+1 A]] 
    FIN 
FIN 
  
DRAW_ICON: 
SI nTaille=16 ALORS 
    // Petite icône 
    nbIcons = API("SHELL32","ExtractIconExA", sDefaultIcon, nIconIndex, Null, &hIcon, 1) 
SINON 
    //Icone standard 
    hIcon = API("SHELL32","ExtractIconA", 0, sDefaultIcon, nIconIndex)     
FIN 
  
SI hIcon DANS (-1,0,1) ALORS 
    RENVOYER Faux 
FIN 
  
SI sNomChpImage<>"" ALORS 
    {sNomChpImage,indChamp}..Visible=Faux  
    hDC = dDébutDessin(sNomChpImage) 
    nError = API("USER32","DrawIconEx",hDC, 0, 0, hIcon, nTaille, nTaille, 0, 0, 3) 
    {sNomChpImage,indChamp}..Visible=Vrai  
SINON 
    nError = API("USER32","DrawIconEx",hDC, 0, 0, hIcon, nTaille, nTaille, 0, 0, 3)     
FIN 
  
API("USER32","DestroyIcon",hIcon) 
  
RENVOYER Vrai

Mis à jour le 27 septembre 2009

La fonction WinDev PDFNombreDePages est là pour ça !

Code windev : Sélectionner tout
1
2
3
4
  
NbPages est un entier 
NbPages = PDFNombreDePages("C:\MonDocument.pdf") 
Info("Nombre de pages du PDF : " + NbPages)

Mis à jour le 19 mars 2010 Emmanuel Lecoester

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.