fermez cette fenêtre pour revenir au site de microrun

Version 3.2a :

Versions 3.2a - nouveautés :

Zlibrary et Painter : Gestion automatique de fontes proportionnelles dans les saisies.

Lorsqu'une saisie n'a pas le focus, elle est affichée dans une fonte proportionnelle Arial au lieu de la fonte "zfont".
Cela modernise les applications, sans aucune modification dans les programmes.
Cependant, les saisies numériques conservent l'affichage en fonte non proportionnelle, pour une question d'alignement.
Zlibrary détecte automatiquement le type de la saisie (numérique, alpha), et choisit la fonte en fonction.







































Lorsque la saisie a le focus, elle est forcée en fonte non proportionnelle pour simplifier la saisie.











Zlibrary et Painter : Gestion automatique de fontes proportionnelles dans les listes non évoluées (mémoire et fichier)..

Les colonnes de listes sont maintenant affichées dans une police proportionnelle (Arial) au lieu de la fonte zfont.
Cela modernise les applications, sans aucune modification dans les programmes.
Cependant, les colonnes numériques conservent l'affichage en fonte non proportionnelle, pour une question d'alignement.
Zlibrary détecte automatiquent le type de la colonne (numérique, alpha), et choisit la fonte en fonction.
(Si la colonne n'est constituée que de chiffres, virgule, point, C ou D alors elle est numérique)

















Zlibrary : Fonction permettant de définir la fonte utilisée dans une saisie. zask_winfont(fonte%)
Cette fonction permet de forcer la fonte d'une saisie.
Les valeurs possibles sont :
-1: fonte non proportionnelle Zfont.
0: Automatique (valeur par défaut pour respecter la compatibilité ascendante)
1: Arial.
2: Arial Black.

















Painter: Ajout du choix de la fonte associée à une saisie.


Zlibrary: Nouvelle fonction permettant d'interroger une clé dans la base de registres de Windows. zgetregvalue
(pour la syntaxe, voir documentation zlib+)


Zlibrary: Nouvelle fonction zmenu_moveto qui déplace un menu (même fait par le painter) à l'endroit voulu.
(pour la syntaxe, voir documentation zlib+)

Zlibrary: Gestion correcte du symbole Euro dans les affichages et les saisies.
(nouvelles fontes à installer : z-new.fon, z-big-new.fon et z-huge-new.fon).
Si les nouvelles fontes sont présentes, elles sont utilisées, sinon, ce sont les anciennes qui le sont.

Version 3.1d :

Versions correctives 3.1c et 3.1d :

Painter: Positionnenement par défaut du style "System" au lieu du style "Standard".
Painter: Lettre clé sur bouton. Entrer une lettre sans utiliser la liste fonctionne maintenant. (exemple : "c" est interprétée comme "cC")
Painter: Message ligne status sur variable. F1 et F7 ne fonctionnaient pas toujours correctement.

Zlibrary: menus: Si l'item par défaut n'était pas 0 (1er paramètre de zmeexec), le retour au menu mélangeait les items, ce n'est plus le cas.
Zlibrary: Labels: Sur zaskhide, les labels associés à la saisie doivent être effacés. Si zhidemode était positionnée à 1, cela ne fonctionnait pas, maintenant cela fonctionne.
Zlibrary: Fonction zfil_manage: Même si on définit des boutons avec d'autres raccourcis, les raccouricis traditionnels (C=Créer) restent actifs en sus des nouveaux raccourcis.

Diverses corrections mineures.

Version 3.1a :

Cette nouvelle V3 est une version majeure de Bikini.
La V3 a fait l'objet de nombreux déploiements en clientèle depuis un an, on peut donc considérer cette version V3.1a comme stable.

Bikini V3 est disponible pour Abal 3 uniquement.

Bikini V3 fonctionne sous Windows 10.

Principalement :

- La possibilité d'utiliser des écrans plus grands pouvant s'afficher plein écran sur des 22", 24" etc...
Le nombre de colonnes passe ainsi de 120 colonnes maxi à 240 colonnes maxi.

- La possibilité d'ajouter des icônes dans les items de menus, les titres de fenêtres.
Ceci permet de donner un aspect beaucoup plus convivial et fini aux applications abal.

- Une nouvelle gestion simplifiée des images permettant sans programmation et sans le painter d'ajouter des images dans les éléments graphiques.
Afin qu'un graphiste non programmeur puisse intégrer des images dans le maximum d'éméments graphiques.

- Travail de finition réalisé sur le painter.


Voyons cela un peu plus dans le détail :


FENETRAGE / BOITES DE DIALOGUE :

Gestion d'écrans jusqu'à 240 colonnes et 60 lignes dans ZLIB+ et dans le painter, au lieu de 120x41, limite précédente.
selon la résolution de l'écran et la taille de la police bikini, zget_maxx() rends 80, 100, 120 et jusqu'à 240 colonnes par incrément de 1 au dela de 120.
selon la résolution de l'écran et la taille de la police bikini, zget_maxy() rends 25, 31, 41 et jusqu'à 60 lignes par incrément de 1 au dela de 41.
Au delà de 120x41, il faudra donc un nouveau jeu d'écrans. (par exemple 160 col, 200 col et 240 col), ou gérer des écrans dynamiquement.
On rappelle que zget_maxx permet au développeur de choisir quel écran afficher en fonction des possibilités de l'écran physique.
































La fonction de prévisualisation d'une édition s'adapte à des écrans plus grands. (zimp_preview)
La ligne status permet l'affichage de 240 caractères.

Ajout de la possibilité d'afficher des PNG dans les titres de fenêtres.
Le painter permet de donner le nom du .PNG (sans l'extension .png).
Par programmation la fonction zwintitle interprète le @ comme début du nom du PNG. zwintitle("texte@nompng")









Cliquer en dehors d'une fenêtre provoque l'appui du bouton ESCAPE.
Ceci permet à l'utilisateur de cliquer par exemple sur un bouton qui est dans une fenêtre en arrière plan.
Si un contrôle est présent derrière le bouton escape, il est activé, donc le développeur peut empêcher la sortie intempestive d'une fenêtre.
On donne ainsi un aspect MDI aux applications. Les fenêtres Bikini semblent non modales.


MENUS :

Ajout de la possibilité d'afficher des PNG dans les items de menus. (verticaux uniquement)
Ces .PNG sont affichés dans un espace réservé de 3 caractères devant l'item du menu.
Une nouvelle zone dans le painter permet de donner le nom du .PNG (sans l'extension .png).
Par programmation la fonction zmeitem interprète le @ comme début du nom du PNG. zmeitem("texte@nompng","statusline")
Les PNG dans les items de menus sont affichés avec une fusion avec le fond, afin que le PNG dans l'item actif soit bleu.

















LISTES :

Ajout de la possibilité d'afficher des PNG dans les listes.
Nouvelle fonction zprintline_png(x,nompng$=512)













TOOLBARS :

Ajout de la possibilité d'afficher des PNG dans les toolbars. (voir nouvelle gestion des .PNG plus bas)
Ajout d'un nouveau type (4) de Toolbar: Toolbar non flottante sans cadre de fenêtre pouvant être incrustée dans un écran.
Ceci reste une toolbar, c'est à dire une fenêtre windows au dessus de la fenêtre exécuteur.


PUSH-BOUTONS :

Ajout de la possibilité d'afficher des PNG dans les push-boutons. (voir nouvelle gestion des .PNG plus bas)

Affichage PNG dans les push-boutons: Les PNG s'affichaient sur un pavé de même couleur que les push-boutons.
Maintenant, les Png s'affichent en transparence sur le fond.


GESTION DES .PNG REVUE ET FORTEMENT SIMPLIFIEE :


Nouvelle gestion des bitmaps .PNG.
Cette nouvelle méthode permet de lier des PNG aux objets (item de menu, titre de fenêtre...), sans modifier le code source, et sans utiliser le painter.

Zlib+ cherche maintenant automatiquement des .Png pour chacun des éléments suivant.
Ces .png doivent porter un préfixe dépendant du type d'objet, I_ = item de menu, W_ = titre de fenêtre, T_ = Bouton Toolbar, B_ = Push bouton.
Ensuite ces .png doivent porter le nom de l'objet (item, titre fenêtre, texte bouton...)
Les caractères accentués sont automatiquement convertis en non accentués.
En grandes polices, Zlib+ cherche par défaut le .png suivi du suffixe _big.
En très grandes polices, Zlib+ cherche par défaut le .png suivi du suffixe _huge.
Exemples de noms de .png compréhensibles par zlib+ :

   I_libelle(_big).png   pour un item de menu / libelle=texte de l'item.
   W_libelle(_big).png   pour un titre de fenêtre / libelle=titre de la fenêtre.
   T_libelle(_big).png   pour un bouton de toolbar / libelle=texte du bouton.
   B_libelle(_big).png   pour un push bouton / libelle=texte du push bouton.

Si on ne gère que les polices normales, on aura des *.png.
Si on gère les grandes polices, on aura en sus des *_big.png.
Si on gère les très grandes polices, on aura en sus des *_huge.png.

Windows n'accepte pas certains cartactères dans les noms de fichiers.
Or on peut les utiliser dans les libellés de boutons :
Donc les caractères suivants sont transcodés :
nom_png =tran("éèàê./>Ä?","eeae__- _",libelle_bouton)

Les .PNG sont recherchés sur le répertoire par défaut des bitmaps, défini par la fonction ZBMPPATH.



TAILLE DES .PNG :

Voici les tailles idéales des .PNG afin de s'afficher le plus complètement possible dans les élements graphiques :


Push bouton SMALL (1 caractère de haut) :

Petites polices:     ((8 x Nbcol) + 6) x 14
Grandes polices:    ((10 x Nbcol) + 8) x 19


Push bouton MID (2 caractères de haut) :

Petites polices:     ((8 x Nbcol) + 6) x 26
Grandes polices:    ((10 x Nbcol) + 8) x 38


Push bouton BIG (3 caractères de haut) :

Petites polices:     ((8 x Nbcol) + 6) x 40
Grandes polices:    ((10 x Nbcol) + 8) x 54


Push bouton HUGE (5 caractères de haut) :

Petites polices:     ((8 x Nbcol) + 7) x 74
Grandes polices:    ((10 x Nbcol) + 5) x 95



Item de menu :

Petites polices:      24 x 18
Grandes polices:     30 x 23


Titres de fenêtres :

Petites polices:      24 x 18
Grandes polices:     30 x 23


Ligne de liste :

Petites polices:      24 x 18
Grandes polices:     30 x 23


Boutons Small, Mid, Big et Huge en petites polices avec un PNG:














Boutons Small, Mid, Big et Huge en grandes polices avec un PNG:














PAINTER :

Les variables étaient affichées en blanc et non visibles. Maintenant elles sont en rouge et visibles.

La zone nom de l'écran en bas est agrandie.

La commande Ctrl V crée/modifie une variable et Colle en même temps.
Une fois une zone coupée ou copiée, Ctrl V restait définitivement en mode coller.
Ce n'est plus le cas, une fois la zone collée, Ctrl V rebascule en mode création/modification de variables.
Ceci permet d'éviter de coller par erreur (par Ctrl V), une zone écran.

Lors d'un déplacement de variables (Ctrl X / Ctrl V), un test de recouvrement des variables déplacées
sur d'autres variables est maintenant effectué. S'il y a recouvrement, un message est affiché permettant
d'annuler l'opération, avant de casser l'écran.

Il est maintenant possible de copier des zones d'affichage à l'écran ainsi que des labels d'un écran à un autre.


CORRECTIONS :

Ci dessous les corrections par rapport à la dernière version 2.3e :

Painter: Le painter offre la possibilité de réaliser des cadres basés sur des RoundRect.
Zlibrary ne supportait pas ces cadres et ne les affichait pas, bien que la documentation y fasse référence. C'est corrigé.

Les Roundrect sont des zframe avec un type particulier :
Type=13 / rempli.
Type=14 / vide.


Painter: En mode prototypage, le painter n'affichait pas toujours les bitmaps user des boutons, ni les bitmaps de fond de fenêtres,
même si la zone "répertoire par défaut des bitmaps" était bien paramétrée dans "Paramètres projet". C'est corrigé.

Tableaux de saisies verticaux juxtaposés: La navigation par les flèches était correcte lorsque les tableaux
étaient l'un à côté de l'autre, mais pas lorsqu'ils étaient l'un sous l'autre. Ce n'est plus le cas.

Boites de dialogue: Appeler une boite de dialogue après un zpriall ou un zprisome, même en faisant zaskpush et zaskpop,
perturbait la navigation dans la boite de dialogue appelante. Ce n'est plus le cas.

Coller dans une zone BCD par le menu appelé par click droit ne fonctionnait pas. C'est corrigé.


Modifications d'apparence des progress bars (zwaitbox, zprogress) afin de les rendre compatibles avec Windows 10.


Diverses corrections sur la gestion de fichiers ZSI/SPRINT.
Problème de consommation mémoire sur zi_delete résolu.
Problème de mauvaise mise à jour aléatoire des index secondaires sur zi_delete résolu.
Le programme exemple EXBIKV15 a été modifié afin de tester de manière plus complète la gestion de fichiers.