Recherche sur le blog

jeudi 23 février 2012

[Info] Nouvelle rubrique "Actualités"

Désormais, lorsqu'un fait divers est posté en ces lieux, la page des actualités sera mise à jour. Elle vient en complément à la page "Plan du blog", dans un souci d'organisation et de clarté. En effet, sur un blog, il n'est pas toujours aisé de retrouver tel ou tel article. Grâce à la recherche, au plan, à la page d'actualités, aux tags, et aux archives, vous êtes certain de retrouver ce dont vous avez besoin. Pour toute remarque, n'hésitez pas à utiliser le module de commentaires ci-dessous.

[WinDev] Ecrire l'événement qui réagira à une touche enfoncée

Comme vous le savez, beaucoup d'événements sont gérés automatiquement pour les champs. Même celui qui permet d'effectuer du code lorsqu'une touche est enfoncée. Habituellement, lorsqu'on est dans le code du champ, il suffit de cliquer sur le bouton "Plus de traitements..." dans la partie inférieure (voir image suivante) et de cocher le(s) événement(s) que l'on souhaite gérer. C'est la version rapide.


Si vous souhaitez que votre événement s'exécute par l'intermédiaire d'une procédure, la manipulation est différente. Nous allons prendre l'exemple d'une procédure qui traite l'appui sur la touche "Entrée". Voici les différentes étapes à suivre.

Premièrement, il faudra indiquer à WinDev que l'on souhaite utiliser les constantes Windows. Cela se fait grâce à une déclaration externe. Pour plus de simplicité, vous pouvez placer ce morceau de code dans le code global du projet (menu Projet, code global). 

EXTERNE "WINCONST.WL"

Ensuite, dans le code d'initialisation de notre champ, on peut utiliser la fonction Événement. Elle reçoit 3 paramètres en entrée : le nom de la procédure à exécuter (chaîne), le nom de l'objet sur lequel s'applique l'élément (MoiMême..Nom si on écrit ce code dans l'initialisation du champ), et enfin le message Windows associé. Dans ce cas-ci, le message est identifié par la constante "WM_KEYDOWN".

Evénement("lproc_dispDetail",MoiMême..NomComplet,WM_KEYDOWN)

Description : la procédure appelée sera "lproc_displayDetail", pour le champ en cours, et interceptera l'événement "touche enfoncée".

D'après la FAQ, la fonction d'interception doit posséder trois paramètres : le message Windows, et veux variables - wParam et lParam, qui sont les deux paramètres du message. On pourra interroger plusieurs variables dont _EVE qui contient différents champs (conservée pour compatibilité). Pour notre procédure, nous n'avons mis aucun paramètre.

Voici le code de la fonction utilisée :

PROCEDURE lproc_dispDetail()

    VK_RETURN est un entier = 0x0d
    nTouche est un entier = VK_RETURN     // Touche Entrée
   
    // Vérifie si la touche Entrée a été appuyée
   SI ToucheEnfoncée(nTouche) ALORS
       // Code.
   FIN

On a déclaré dans cette procédure, deux variables. La première est la touche "Return", qui a la valeur "0x0d". La seconde est un entier auquel on assigne cette touche. Si vous souhaitez utiliser la constante prédéfinie, il faut ajouter une déclaration externe supplémentaire dans le code du projet pour le fichier "KeyConst.WL". Toutes les constantes de ce fichier sont préfixées par "VK_". Ainsi, le code deviendra :

PROCEDURE lproc_dispDetail()

  // Vérifie si la touche Entrée a été appuyée
 SI ToucheEnfoncée(VK_RETURN) ALORS
       // Code.
 FIN

Voilà, vous savez maintenant gérer cet événement grâce au WLangage. Bon développement !

[Web] Désactiver le suivi de vos recherches Google

A partir du premier mars, Google va implémenter sa nouvelle politique de confidentialité "unifiée". Il est encore temps de supprimer toutes vos recherches et de désactiver ("mettre en veille") l'enregistrement de celles-ci. Rendez-vous sur ce lien et connectez-vous à votre compte Google. Le fait de supprimer tout votre historique activera la mise en veille du système d'enregistrement. Plus d'informations (en anglais) sur le blog d'Electronic Frontier Foundation.

Vous savez ce qu'il vous reste à faire... Et ce, pour chaque compte que vous possédez!


mercredi 22 février 2012

[WinDev] Mise à jour pour WinDev, WebDev et WinDev Mobile 17

Nous l'attendions, cette première grosse mise à jour de l'environnement. Cette mise à jour apporte des nouveautés au niveau de l'interface et au niveau de la programmation. Pour les trois logiciels, l'éditeur de requêtes a été amélioré, de nouvelles fonctions WLangage ont fait leur apparition (dont les fonctions Moyenne() et Somme() qui calculent respectivement la moyenne et la somme des éléments dans un tableau, ainsi que la fonction MotOccurrence() qui calcule le nombre de mots dans une chaîne).

Le champ Planning a été amélioré dans WinDev 17 au niveau du chevauchement des rendez-vous, qui est désormais mieux pris en charge. L'utilisateur disposera également de nouveaux gabarits pour personnaliser ses fenêtres.

De nouveaux éléments font leur apparition pour le développement sous iPhone et Android. On notera par exemple l'Action Bar qui permet d'ajouter divers menus pour une application Android. Pour iPhone, on remarquera les améliorations faites aux champs de saisie (pour les masques notamment), le paramétrage du libellé du bouton en bas à droite du clavier, etc. Enfin, pour les deux systèmes, de nouvelles fonctions sont disponibles (Android : gestion du timeout, de la luminosité,... iPhone : récupérer du texte ou une image depuis le presse-papiers,...).

Pour WebDev, le développement PHP a été amélioré (gestion du drag & drop, gestion des zones répétées en code navigateur), la génération des feuilles de style optimisée. De nouvelles ambiances sont également fournies dans cette mise à jour.

Toutes les notes de mise à jour sont à lire sur le site officiel de PC SOFT. Il vous suffit de cliquer sur le produit souhaité, puis sur la version, pour finalement atteindre la page de téléchargement et des nouveautés apportées. Pour rappel, la mise à jour peut être effectuée via le module WDAutomaticUpdate, qui s'occupera de récupérer et d'installer tout ce qu'il faut et ce de manière totalement automatisée.


Nous vous signalons également que le TDF Tech aura lieu du 15 mars au 12 avril 2012. Comme toujours, les places sont limitées et tout est vite complet. Une fois encore, les nouveautés des versions 17 seront présentées mais cette fois, les logiciels ne sont évidemment plus en phase de développement "bêta". Les tests devraient donc être plus concluants. Pour l'inscription, c'est via ce lien, qui ramène sur le site de PC SOFT.

vendredi 10 février 2012

[Windows] Impossible de se connecter au domaine ou aux dossiers partagés

Pas plus tard qu'aujourd'hui, un problème s'est présenté sur l'une de nos machines : impossible d'accéder aux lecteurs réseaux définis dans Ordinateur (erreur 0x800704cf, ou même 0x8004005), sous Windows 7. Impossible également d'accéder aux chemins réseau via l'adresse UNC (Universal Naming Convention) ou bien de rejoindre le domaine (message obtenu : "l'emplacement réseau ne peut pas être atteint"). Après plusieurs recherches diverses solutions ont été envisagées.
 
  • J'ai d'abord installé toutes les mises à jour, pensant que ce problème serait résolu grâce à l'application du Service Pack 1 du système. Cette méthode n'a pas fonctionné... Bien entendu, il est recommandé que toutes les mises à jour essentielles soient présentes sur le système.
  • J'ai lu quelque part, dans la KB (Knowledge Base) de Microsoft que cela pouvait être dû à l'arrêt du service Assistance TCP/IP NetBIOS. Dans tous les cas, il est préférable que le service soit démarré. Sur la machine en question, il était fonctionnel. Cela n'a donc pas résolu le problème.
  • J'ai enfin trouvé la solution adéquate sur le blog "HomeWork's Blog". Comme celle-ci est rédigée en anglais, nous allons voir ensemble comment procéder...

    

Comment faire ?


Il semblerait que le problème soit dû à l'existence de multiples pilotes de cartes réseaux. En fait, cette présence d'autant de cartes est anormale, et nous allons voir quel périphérique doit être désinstallé. Rendez-vous donc dans le menu démarrer, panneau de configuration, option "Système". A partir de là, repérez le lien "Paramètres systèmes avancés", qui se trouve normalement en haut à gauche. Dans l'onglet "Matériel", cliquez sur "Gestionnaire de périphériques". Descendez dans l'arbre et développez la catégorie "Cartes réseaux". Dans le menu "Avancé" de la fenêtre, il faut choisir d'afficher les périphériques cachés. Et c'est là que normalement, vous devriez voir apparaitre une centaine de périphériques nommés "Carte Microsoft 6to4".
 
 
Deux solutions pour supprimer ces périphériques :
  • Clic droit sur chacun d'eux, puis "désinstaller". On ne supprime aucun pilote de périphérique. Cependant, cette manipulation prend un certain temps. C'est plutôt fastidieux...
  • Télécharger l'utilitaire devcon.exe qui permet, via une ligne de commandes simple, de supprimer l'entièreté de ces périphériques. Cet utilitaire peut être téléchargé dans la KB311272 de Microsoft. Une fois téléchargé, décompressez le tout et placez l'exécutable de la bonne version (32 ou 64 bits) dans le répertoire "%SYSTEMROOT%\System32". Ci-dessous, la commande à exécuter dans l'invite de commandes (cmd.exe):
devcon remove *6to4MP*

L'auteur du blog signale par ailleurs que l'utilitaire "devcon" peut ne pas fonctionner correctement sur un ordinateur 64 bits. En effet, la version fournie par Microsoft est incompatible avec certaines machines. Heureusement, il existe une autre extraite du DVD de Windows, que l’on peut également télécharger en cliquant sur le lien suivant : devcon-64.rar. Si aucune version ne fonctionne, alors le travail manuel sera nécessaire. Nous espérons que vous n'en arriviez pas là !

Source