PC SOFT

BLOGS OFFICIELS 
SUR TOUS LES SERVICES ET PRODUITS DE PC SOFT

Publié par
10:39 Lundi
11 Juil. 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé mercredi 13 juillet 2016 à 11h.


Dans cette session de 20 minutes, vous découvrirez comment créer une zone de signature dans une application mobile.


Après la diffusion en direct, la vidéo restera disponible avec ce même lien.


Retrouvez l'ensemble des webinaires sur notre site :

http://www.pcsoft.fr/webinaires.htm


Publié par
11:19 Vendredi
08 Juil. 2016

[Billet publié dans le blog Le blog du ST]

 

La LST 105 est disponible. Les expéditions ont débuté pour la France métropolitaine en courrier "Fréquence". Les livraisons sont prévues les semaines 28 et 29. Pour le reste du monde, les envois seront expédiés le 18 juillet en Courrier Postal Prioritaire. Les livraisons sont prévues semaines 29 et 30 selon les destinations. 


La LST 105 contient l'installation complète de la version "update 3" de WINDEV, WEBDEV et WINDEV Mobile 21 (210065N).


Le sommaire détaillé est disponible dans la rubrique LST de notre site : 

http://www.pcsoft.fr/lst/index.html


Au programme de ce numéro :


  • VALIDER DES ADRESSES POSTALES FRANÇAISES GRÂCE AU FICHIER "FANTOIR" (OPENDATA) 
    (WINDEV, WEBDEV) 
  • RÉALISER UN SONDAGE DYNAMIQUE GRÂCE AU CLONAGE DE CHAMPS ! 
    (WEBDEV) 
  • ÉDITEURS : 6 RACCOURCIS UTILES POUR GAGNER DU TEMPS 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • UN WEBSERVICE REST COMPLET D'ARCHIVAGE DE DOCUMENTS
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • DÉVELOPPER DES APPLICATIONS WINDEV NATIVES POUR RASPBERRY PI & WINDOWS 10 IOT 
    (WINDEV, WINDEV Mobile) 
  • SURVEILLER UN RÉSEAU GRÂCE À WINDEV ET AU PROTOCOLE SNMP 
    (WINDEV) 
  • MODÈLE DE CHAMPS RÉUTILISABLE : AFFICHER DES GRAPHES "COXCOMB"
    (WINDEV) 
  • FAA : AJOUTEZ VOS PROPRES FAA CONTEXTUELLES ! 
    (WINDEV) 
  • IHM : 3 ASTUCES SIMPLES À METTRE EN OEUVRE 
    (WINDEV) 
  • FAIRE APPARAÎTRE UN BOUTON "PANIER" DANS UNE ZONE RÉPÉTÉE 
    (WEBDEV) 
  • QUESTIONS & RÉPONSES
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • Gabarit “FANTASY” : UNE COULEUR FORTE, UN LOOK SOBRE 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • HFSQL : 6 OPTIMISATIONS DÉTAILLÉES 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • VISUALISATION 3D ET PERSONNALISATION D'UN OBJET 
    (WEBDEV) 
  • BEST PRACTICE : LE BLUETOOTH LOW ENERGY 
    (WINDEV Mobile) 
  • WINDEV Mobile & GÉOLOCALISATION EN ARRIÈRE-PLAN : PROPOSER DES OFFRES À PROXIMITÉ ! 
    (WEBDEV, WINDEV Mobile) 
  • PERSONNALISER UNE APPLICATION EN 1 CLIC GRÂCE À LA FABRIQUE LOGICIELLE 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • OPTIMISER UN WEBSERVICE GRÂCE À DES SESSIONS PRÉLANCÉES 
    (WINDEV, WEBDEV) 
  • GESTION DE L'APPLE PENCIL DANS UNE APPLICATION WINDEV Mobile 
    (WINDEV Mobile) 
  • LE SAVIEZ-VOUS ? 
    (WINDEV, WEBDEV, WINDEV Mobile) 

Le “Goodies du trimestre” est un ensemble de plage aux couleurs de WINDEV ! 




Publié par
15:45 Lundi
04 Juil. 2016

[Billet publié dans le blog Le blog du ST]

La majeure partie des imprimantes disposent de marges physiques de quelques millimètres, et parfois de plus d'un centimètre. Par exemple si la marge gauche d'une imprimante est de 4 mm, physiquement les mécanismes d'entraînement de l'imprimante ne peuvent imprimer dans la zone de 0 à 4 mm du papier, même avec un appel de la fonction iMarge avec zéro pour la marge gauche, le début de l'impression sera à 4 mm du bord gauche. 


Il est possible de se représenter les marges physiques d'une imprimante avec le code suivant :


iMarge(0,0,0,0)
iDestination(iPDFGénérique , "c:\temp\imp_marge.pdf")
iCadre(0,0,iLargeurPage,iHauteurPage,1,0,RougeClair,iContinu)
iImprimeZone("Le cadre tient compte de la marge physique de l'imprimante",0,10, iLargeurPage(), iHauteurPage(),iHaut+iCentreH)
iFinImprime ()
LanceAppliAssociée("c:\temp\imp_marge.pdf")


Le PDF obtenu aura un cadre rouge correspondant exactement aux marges physiques de l'imprimante configurée par défaut lors de l'exécution du code : 


Lorsqu'une édition programmée est destinée uniquement à la production d'un document PDF, il peut être intéressant d'utiliser toute la surface des pages. Une astuce pour y parvenir consiste tout simplement à sélectionner avant l'édition l'imprimante système "Microsoft XPS Document Writer". En effet, ce pilote "virtuel" d'imprimante à l'avantage de n'avoir aucun marge, ni même de format imposé. On peut donc créer un document sans aucune marge, ou avec un format de papier qui ne serait pas accepté par une imprimante standard. Le code suivant identique au précédent, à l'exception du choix du pilote, permet de se représenter le résultat :


iConfigure("Microsoft XPS Document Writer")
iMarge(0,0,0,0)
iDestination(iPDF , "c:\temp\imp_sans_marge.pdf")
iCadre(0,0,iLargeurPage,iHauteurPage,1,0,RougeClair,iContinu)
iImprimeZone("Aucune marge le cadre est bien placé en 0x0 du document",0,10, iLargeurPage(), iHauteurPage(),iHaut+iCentreH)
iFinImprime ()

Le PDF obtenu a bien le cadre sur les bords du document :



Un cas pratique dans lequel ce pilote est utile : découper un PDF de N pages en N PDF d'une seule page. Sans utiliser ce pilote, le contenu des pages obtenues est décalé suivant les marges physiques de l'imprimante en cours. Exemple d'un code de découpage d'un PDF, conservant strictement la position des données du document PDF d'origine :


sFichierPDF est une chaîne = "<chemin>\PDF-N-PAGES.pdf"
sUnePagePDF est une chaîne
MonImage est une Image
iConfigure("Microsoft XPS Document Writer")
iMarge(0,0,0,0)
iParamètrePDF("","",iQualitéMaximale)
POUR nPage = 1 _A_ PDFNombreDePages(sFichierPDF)
 MonImage = PDFExtraitPage(sFichierPDF, nPage)
 sUnePagePDF = fExtraitChemin(sFichierPDF,fDisque+fRépertoire+fFichier)+"-"+nPage+".pdf"
 iDestination(iPDF,sUnePagePDF)
 iImprimeImage(MonImage,0,0,iLargeurPage(),iHauteurPage(),iAffichageNormal)
 iFinImprime()
FIN


Publié par
15:39 Vendredi
01 Juil. 2016

[Billet publié dans le blog Le blog du ST]

Une demande est régulièrement faite à notre support : comment recherche les champs qui utilisent une certaine requête du projet en source de données ?


C'est possible, et facile !


Il suffit dans le volet de recherche (Ctrl+F), d'indiquer une recherche dans "des éléments" à la place de "texte". L'interface propose ensuite tous les choix nécessaires : 

  • appliquer cette règle aux éléments "champs de fenêtre", 
  • limiter ou non la recherche à certains types de champs,
  • sélectionner les propriétés des champs et le critère de recherche...



Ici j'évoque la recherche des champs basés sur une requête, cela s'applique à toutes les propriétés des champs, ou des fenêtres. On peut par exemple rechercher toutes les fenêtres d'un projet pour lesquelles le mode d'affichage en grande police est resté en "ne pas agrandir", au lieu de "agrandir la fenêtre et les champs"...

Publié par
16:04 Jeudi
23 Juin 2016

[Billet publié dans le blog Le blog du ST]

Le champ carte d'une application WINDEV ou d'un site WEBDEV peut afficher le message "Oops! Something went wrong", à la place de la carte attendue :




C'est un changement datant du 22 juin 2016 dans les conditions d'utilisation des API Google Maps qui est à l'origine de cet affichage. Afin de rétablir l'affichage de la carte, Google impose maintenant de spécifier une "clé d'API" pour toutes les interrogations. 


Aucune mise à jour de WINDEV ou WEBDEV n'est requise, il suffit d'utiliser les possibilités existantes afin de spécifier une clé d'API Google :

  • dans le cas d'une application WINDEV, appeler la fonction CarteLicenceGGL avant l'ouverture de la fenêtre contenant le champ carte : FAQ 13 035
  • dans le cas d'un site WEBDEV, appeler la fonction CarteLicenceGGL dans la page, ou spécifier la clé dans le volet "Avancé" de la description du projet : FAQ 13 033

Une clé d'API pour l'utilisation des API Google Maps peut être obtenue directement dans la console développeur de Google. Voici un mode opératoire valable sur le site actuel de Google (s'il est actualisé les libellés ou menu pourront changer, mais le principe restera le même) : 


  • accéder à la console développeur de Google
  • se connecter si besoin avec un compte Google,
  • créer un projet si nécessaire, 
  • accéder au "Gestionnaire d'API" par le bouton "hamburger - Produits et Services" en haut à gauche,  
  • dans la rubrique "Présentation",
  • suivre le lien "Google Maps JavaScript API" dans la zone "API Google Maps",
  • cliquer "Activer" si besoin afin d'activer l'API Google Maps Javascript API, 
  • dans la rubrique "Identifiants",
  • dérouler le bouton "Créer des identifiants",
  • sélectionner "Clé d'API",
    • dans le cas d'un site WEBDEV sélectionner "Clé navigateur". Il est recommandé de préciser le domaine qui utilisera la clé pour le suivi des requêtes et éviter toute usurpation.
    • dans le cas d'une application WINDEV, sélectionner "Clé serveur". Il est recommandé de préciser l'adresse qui utilisera la clé pour le suivi des requêtes et éviter toute usurpation.
  • valider par le bouton "Créer" ou "Créer la clé d'API",
  • copier la clé à spécifier dans les applications et/ou sites.

Il faut souligner que les conditions et quotas ont évolué, il faut donc les vérifier en fonctions des sites et applications qui utilisent les services.


Les applications WINDEV Mobile pour iOS ou Android ne sont pas impactées par ces changements au niveau de l'affichage de la carte, car une licence était déjà indispensable pour la génération de l'application.

Publié par
17:58 Vendredi
17 Juin 2016

[Billet publié dans le blog Le blog du ST]

A partir de la version "Update 3" de WEBDEV 21, l'éditeur de pages lorsque l'édition est faite en mode Responsive Web Design, permet de visualiser les blocs de positionnement des champs.

Pour afficher les blocs de positionnement, sous le volet "Affichage", dans le groupe "Aide à l'édition", cliquez sur "Bloc de positionnement". 

Il est très important de toujours conserver l'option active, afin de visualiser les blocs de positionnement, et les positions des champs les uns par rapport aux autres. Rappelons en effet que le principe d'une page Responsive Web Design, et d'avoir ses champs qui vont se positionner les uns par rapport aux autres en fonction de la taille du navigateur, des règles définies via les ancrages et la grille de positionnement.

Dans la page illustrée ci-dessous, grâce à l'activation de la visualisation des blocs de positionnement, on voit pour le champ sélectionné :


  1. le rectangle pointillé dans lequel l'éditeur regroupe les champs (le bloc de positionnement), 
  2. à droite de quel élément sera placé le champ : ici l'image sera toujours et dans tous les tranches alignée sur le bord gauche de la page, 
  3. en dessous de quel élément sera placé le champ : ici l'image sera toujours placée sous le libellé "Connexion" de la page. Attention, "au dessous" ici doit être pris au sens de la verticalité dans la page, pas de la superposition.

Ces informations sont très importantes, car la position des champs les uns par rapport aux autres est figée dans toutes les tranches : dans la tranche bureau, la tranche de référence, l'image est placée dans la page en appliquant ses ancrages et en fonction du libellé "Connexion". Dans toutes les tranches, l'image sera placée en fonction de la position du libellé "Connexion". On sait donc grâce à la visualisation des blocs de positionnement :

  • de quoi dépend la position d'un champ, 
  • où un champ ne pourra pas être placé dans la tranche tablette, ou la tranche mobile.

Les erreurs d'IHM mentionnent les éventuelles erreurs de positionnement.



Astuce 
: l'ordre des champs les uns par rapport aux autres est figé dans toutes les tranches. Par contre, la visibilité des champs ainsi que leurs positions peuvent être surchargés. Dans un exemple comme ci-dessus, si l'on souhaite avoir dans une tranche un champ qui ne conserve pas sa position de référence définie par la tranche bureau, on peut utiliser deux champs et jouer sur leurs visibilités. Exemple pour avoir dans la tranche mobile une image placée avant le libellé "Connexion", alors qu'elle est après dans la tranche bureau :

  • l'image placée sous le libellé "Connexion" est rendue invisible dans la tranche mobile :


  • dans la tranche mobile, l'image créée spécifiquement pour cette tranche est rendue visible, l'inverse de l'image utilisée dans la tranche bureau.






Publié par
08:12 Lundi
13 Juin 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé jeudi 16 juin à 11h. 


Dans cette session de 20 minutes, vous découvrirez comment utiliser des ressources externes (JQueryUI, Javascript widgets, ...) dans une page WEBDEV, et les manipuler en WLangage.

Après la diffusion en direct, la vidéo restera disponible avec ce même lien.


Retrouvez l'ensemble des webinaires sur notre site :

http://www.pcsoft.fr/webinaires.htm


Publié par
18:30 Mercredi
08 Juin 2016

[Billet publié dans le blog Le blog du ST]

La version version "Update 3" de WINDEV, WEBDEV et WINDEV Mobile 21 est disponible en téléchargement en niveau 2 de validation par le service Qualité. Il s'agit de la version 210065n.





Accéder à l'espace téléchargement ...


Bons développements ! 

Publié par
18:52 Mardi
31 Mai 2016

[Billet publié dans le blog Le blog du ST]

Une nouvelle version 210065j de WINDEV, WEBDEV et WINDEV Mobile 21 est disponible en téléchargement :

http://www.pcsoft.fr/st/telec/index.html


Cette version n'a pas encore subi le deuxième niveau de validation par le Service Qualité. Vous pouvez trouver une information complète sur les niveaux de validation sur notre site : 

http://www.pcsoft.fr/st/telec/validation-vi.htm


Publié par
17:22 Lundi
23 Mai 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé jeudi 26 mai à 11h. 


Dans cette session de 20 minutes, vous découvrirez comment utiliser les classes abstraites du WLangage pour réaliser des interfaces et définir des conventions de programmation.


Après la diffusion en directe, la vidéo restera disponible avec ce même lien. 


Retrouvez l'ensemble des webinaires sur notre site :

http://www.pcsoft.fr/webinaires.htm