fermez cette fenêtre pour revenir au site de microrun

Version 2.3e :


Corrections :

* FTPgetFile: Dans certains cas, la fonction ne récupérait pas le nouveau fichier, s'il était stocké en cache dans windows.
Maintenant, la fonction récupère systématiquement le fichier sur le FTP.

* Listes évoluées: Dans le cas de grandes listes, et qu'on positionnait le pointeur fichier sur un record particulier,
La liste ne se postitionnait pas toujours sur ce record, mais en début de liste.

* Saisies en mode secret: Dans le cas d'un écran avec plusieurs ASK, dont un en mode secret, la zone en mode secret
était affichée à tort lors de l'affichage de l'écran.

* zlisitem: En abal 3, les listes supérieures à 32767 items ne fonctionnaient pas. Elles fonctionnent maintenant jusqu'à 65536 items.



Version 2.3d :


Corrections :

* Saisies en mode secret: Amélioration dans l'affichage des caractères "*" qui n'étaient pas toujours correctement affichées.

* Boites d'attente: Correction d'un mauvais effacement du temps restant si celui ci était amené à afficher des heures.

Améliorations :

* Nouvelle fonction zimp_getprinterex comme zimp_getprinter, mais permet de passer le nombre d'exemplaires.
Attention, certaines imprimantes ne savent pas gérer le nombre d'exemplaires.

* Fonction ZSENDMAIL: Passage de la taille maxi du texte du mail de 4096 à 8000 caractères.

* Painter Bikini - génération de source: Si on demande à générer la boite de dialogue "avec dcl",
le programme propose maintenant l'option supplémentaire "un source", source fusionnant le .ZDC et le .S.

Version 2.3c :


Corrections :

* Le calendrier appelé sur click droit dans les listes provoquait une exception. Ce n'est plus le cas.

Améliorations :

* Fonctions zi_svzi et zi_rtzi: Ajout de la gestion des jokers '*'.
Les traitement des groupes de fichiers sont pris en compte par ces fonctions.

SVZI:
Si le chemin du .u est absent, il est remplacé par le chemin du .zi.
Si le nom du fichier .u est absent, il est remplacé par le nom du .zi.
Si le nom du .zi contient '*', seul le répertoire contenu dans le nom du .u est utilisé.
Si le nom du .zi contient '*', et que le nom du .u est vide, les fichiers sont sauvegardés sur le chemin des .zi.


RTZI:
Si le chemin du .zi est absent, il est remplacé par le chemin du .u.
Si le nom du fichier .zi est absent, il est remplacé par le nom du .u.
Si le nom du .u contient '*', seul le répertoire contenu dans le nom du .zi est utilisé.
Si le nom du .u contient '*', et que le nom du .zi est vide, les fichiers sont restaurés sur le chemin des .u.

Le 3ième paramèyte était ignoré. Maintenant il ne l'est plus.

Le programme exemple EXBIKV15 contient les fonctions ZVZI et RTZI traitant les groupes de fichiers.

Version 2.3b :


Corrections :

* Nouvelle fonction zimp_setdefault: Un message de débug intempestif était dans la fonction.
* Interface DDE (Excel): La mémoire n'était pas toute libérée.
Ajout de temporisations afin d'être compatible avec Excel 2010.
* Envoi de mail: Ajout de la date, de l'heure et du décalage horaire dans l'entête MIME.
* fonction zask_ismodif: Elle ne fonctionnait pas dans tous les cas.

Version 2.3a :


Améliorations :

* Nouvelle fonction zimp_excelprintex: Comme zimp_excelprint mais ajout du paramètre nombre d'exemplaires.
* Nouvelle fonction zimp_setdefprinter: Permet de définir l'imprimante par défaut dans windows.

Corrections :

* Browse dans painter: Correction d'une erreur d'un défaut de mise à jour de l'écran apparue dans la version 2.2g.
* zwintitle: Problème de libération mémoire résolu.
* Ascenseurs sur saisie multiples: Un click rapide sur l'ascenseur le renvoyait à tort en début de liste.

Version 2.2g :


* Boites d'attente: Lorsquen le % de progression dépassait 100%, cela provoquait un problème d'affichage et parfois une exception.

* Titres des fenêtres: Losque le titre approchait 120 caractères, cela pouvait provoquer une exception.

* Fusion Excel: Ajout de temporisations pour éviter des problèmes de synchronisation avec Excel 2010 et 2013.

* Saisies dates: Le programme pouvait laisser passer le 30/02/2013, ce n'est plus le cas.

* Saisies: zask_getoldalpha ne donnait pas la bonne valeur lorsque la saisie était associée à une liste et que l'on cliquait dans la liste.

* Depuis la version 2.2, Une erreur 103 pouvait apparaitre dans la fonction BROWSE du painter.

Version 2.2f :


* Bikini - Painter: La boite d'attente sur version client fonctionnait mal et pouvait provoquer une exception.
ce n'est plus le cas.

* Zlibrary - ZMESAF : Depuis la version 2.2, la fonction ZMESAF utilise une vraie fenêtre windows.
Ceci peut poser des problèmes d'affichage et de compatibilité ascendante.
Dans le fichier Z.INI, la nouvelle entrée NEWZMESAF permet dorénavant de paramétrer ce comportement :
NEWMESAF = 0 / Indique ZMESAF affiche une fausse fenêtre (mode de compatibilité Bikini V < 2.2
NEWMESAF = 1 / Indique ZMESAF affiche une vraie fenêtre windows.

* Zlibrary - saisies: Lors d'une saisie numérique, si l'utilisateur frappait une touche interdite,
(par exemple la lettre 'A'), il ne pouvait plus changer de saisie à l'aide de la souris,
provoquant ainsi un bloquage ou seule une saisie clavier permettait de dénouer la situation.
Ce n'est plus le cas.

Version 2.2d :


* Affichage de PNG: La couleur de transparence n'était quelquefois pas la bonne. Ce n'est plus le cas.

* Impression en paysage: Elle pouvait provoquer une exception. Ce n'est plus le cas.

* Basculement d'une appli windows vers une appli bikini positionnée sur une liste: un scroll intempestif de la liste pouvait se produire. Ce n'est plus le cas.

* Correction d'une erreur 103 pouvant apparaitre en insérant une variablet dans le painter.

* Losque la ligne status était positionnée plus haut que le bas de l'écran, les bulles d'aide affichées dessus ne s'effacaient pas. Ce n'est plus la cas.

* ZSENDMAIL: Possibilité d'envoyer un mail au format TEXT en non HTML, grâce au paramètre "options" de la fonction (si option or 2 = 2 => TEXT)
(l'exemple EXBIKV14 a été modifié pour supporter le format TEXT dans la fonction zsendmail)


Version 2.2c :


* fonction ZMESAF : Possibilité de définir le TITRE de la fenêtre ainsi que son contenu.
Pour ce faire, il faut séparer les 2 éléments par le caractère "pipe" (|), comme ceci :
ZMESAF("ceci est le titre|Ceci est le message)

* Ligne status: Elle était affichée à tort lors du lancement de l'application. Ce n'est plus le cas.
Un rectangle noir disgracieux suivait la ligne status. Ce n'est plus le cas.
La ligne status dépassait les 120 colonnes. Ce n'est plus le cas.

Version 2.2b :


* Correction d'une exception dans zlib+.dll, qui apparaissait uniquement en Abal 2.
* la fonction zlist_destroy ne supprimait pas la liste.
* Click sur bouton ascenseur: Un click provoquait un scroll de 2 lignes au lieu d'une seule ligne.

Version 2.2a :



* fonction ZBMP_LOAD: La fonction utilise maintenant GDI+, et admet dorénavent les formats suivants :
BMP, GIF, JPEG, PNG, TIFF.
On peut donc utiliser les PNG et les TIFF avec Bikini V 2.2.
De plus les images qui ne s'affichaient pas avec Bikini V < 2.2 car trop lourdes s'affichent maintenant.

Dans le cas des PNG, la couleur de transparence est remplacée par la couleur par défaut des fenêtres.
GetSysColor(COLOR_3DFACE)




























* Boites d'attente: (zxwaitbox)
Nouveau look pour les boites d'attente.
Les boites d'attente sont maintenant de vraies fenêtres windows.
Elles sont déplaçables, indépendament de l'exécution du programme Abal.
Plusieurs boites d'attente peuvent être utilisées en même temps et sont empilées par Zlib.
Par mesure de compatibilité, si l'utilisateur frappe ESC, la touche est redirigée vers l'exécuteur,
afin que l'éventuelle fonction ZOP puisse être appelée.


* Nouvelles Boites d'attente :
zProgressBar_create idem zwaitbox_create sauf que le nombre maxi est toujours BCD, et qu'un paramètre supplémentaire
indique si la boite est interruptible.
zProgressBar_Nextone idem zwaitbox sauf que la fonction rend 1 si la boite d'attente est interruptible et interrompue,
rendant ainsi inutile la fonction ZOP dans les traitements.
zProgressBar_clear idem zwaitbox_clear.






























Contrairement à ZWAITBOX, ZPROGRESSBAR peut être interrompue à la souris en cliquant sur le bouton de fermeture.
De plus les boites sont superposables. Par exemple, dans le cadre d'une édition d'extrait de compte, 2 boites d'attentes peuvent être maintenant superposées :
une pour le parcours des comptes dans le plan comptable.
une, pour chaque compte, pour le parcours des écritures dans le compte courant.

Ci-dessous le code source emplinant 2 boites d'attente :

	zprogress_create("waitbox interruptible",10,1)
for i=1 to 10
zprogress_create("waitbox non interruptible",100,0)
for j=1 to 100
for k=1 to 1000
zstatus("Record no ="+conv$(k))
next k
if (zprogress_nextone("Interrompre ?") <> 0) : break
next j
zprogress_clear()
if (zprogress_nextone("Interrompre le programme") <> 0) : break
next i
zprogress_clear()




* Fonctions Zmessaf/Zmesclear:
La fonction ZMessaf utilise maintenant une vraie fenêtre windows, déplaçable à l'écran.
Plusieurs boites d'attente Zmesaf peuvent être présentes à l'écran simmultanément. Elles sont empilées par Zlib+.

















* Affichage ligne status:
Cet affichage relativement long ralentissait les programmes lorsqu'il est utilisé
de manière répétitif (dans les traitements, dans les éditions...)
Afin de palier à ce problème, l'affichage de la ligne status est maintenant confié à une tâche qui est
exécutée en parallèle avec Wexa.exe.
Donc l'affichage dans la ligne status devient asynchrone.
La fonction zstatus retourne donc immédiatement à l'appelant sans réaliser l'affichage et donc sans
ralentir le programme.
Lorsque 2 affichages zstatus sont très proches dans le temps, le premier n'ayant pas fini d'être exécuté,
celui-ci est interrompu et remplacé par le second affichage.


* Painter: Correction d'une erreur 103 qui pouvait apparaitre sur enregistrement des styles.

Les variables et boutons blancs n'étaient pas très lisibles dans le painter.
Modification de la couleur blanche par défaut en bleu par défaut.

Suppression des problèmes d'affichage dans le painter sur de gros écrans.

* Zlib+*.at: Actualisation des bannières.


* Listes évoluées: Pour plus de convivialité, le tri sur une colonne ouvre maintenant automatiquement une boite d'attente.




















Le message "Tri de la liste..." est paramétrable dans zlibmes.s.





Version 2.1d :



* Barres d'outils:
Les outils réagissent maintenant au survol souris.
Amélioration de l'affichage des bulles d'aide sur les outils.
Si une barre d'outils a le focus (et que donc la fenêtre Wexa l'a perdu), toute touche clavier frappée par l'utilisateur
est redirigée vers la fenêter exécuteur. Auparavent, il fallait frapper la touche 2 fois pour redonner le focus à la
fenêtre exécuteur.

* Listes : Cliquer sur le combo bouton d'une liste associée à une saisie d'un caractère de large ne fonctionnait pas.

* zwrite_profstr: La fonction ajoutait à tort des tabulations + un caractère # en fin de ligne.

* Boites de dialogue :
Fix d'une erreur 102 aléatoire dans la fonction zaskmouse.
Correction d'une exception apparaissant lorsque la fenêtre était aux coordonnées (1,1)



Version 2.1b :



* Comportement PgDN sur saisies texte: En fin de saisie texte, PgDn sortait de l'automate avec ZA=0.
Maintenant, dans cette situation, le bouton OK est activé s'il est présent dans la boite de dialogue.

* Push-boutons: Les images dans les push-boutons d'une hauteur supérieure à 5 caractères n'étaient pas gérés. Maintenant ils le sont.

* gestion de fichiers ZSI: fichiers mémoire: Une erreur intitulée: "readen cache > allocated cache" pouvait apparaitre à tort.
Construction index: Emploi de l'algorithme "QuickSort" qui divise par 2 le temps de tri.
La séquence zi_dfile + zi_cfile allouait 2 fois la mémoire relative à un fichier sans jamais la libérer.
zlifposit_zi avec numéro d'index à zéro ne se positionnait pas sur la première clé, perturbant ainsi le déroulement de certaines listes fichiers ZSI.

* Editions / prévisualisation: Disparition d'un message de débug "prévisu-zaskall".

* Toolbars: Les toolbar de type 1 et 2 font au minimum 14 caractères de large à cause du type de fenêtre utilisé.
Un nouveau type de toolbar sans largeur minimum a été introduit dans cette version: Le type 3.
Il permet de réaliser des toolbar plus étroits que 14 caractères.
Ceci est intéressant pour mettre des toolbar à droite de l'écran en résolution 1024 pixels de large.
(Les 120 caractères utilisant seulement 960 pixels)



Version 2.1a :



* La gestion des bulles d'aides sur les barres d'outils est maintenant effective.
Le dernier paramètre de la fonction ztoolbar_addtool contient le texte de la bulle d'aide.
Ce texte ne doit pas dépasser 30 caractères.

* Bulles d'aide: Celles ci n'apparaissent plus maintenant dès le survol d'une zone, mais au bout d'un petit
temps d'attente, qui est celui paramétré dans le système Windows.

* Ascenseurs des listes: Le click prolongé ne faisait plus scroller la liste en continu. Ceci est corrigé.

* ZASKHIDE: Si la saisie était associée à un label, et que la fenêtre avait été déplacée, l'effacement du label n'était pas au bon endroit.

* Listes évoluées: On rappelle que les listes évoluées sur les fichiers sont maintenant automatiquement chargées
dans une liste mémoire. Si l'ensemble des réponses valides du fichier est important, soit qu'il dépasse 8192 records,
soit que le temps de chargement est trop long, la liste est tronquée par rapport au fichier.

L'utilisateur dispose donc d'une liste qui peut n'être qu'une "page" sur l'ensemble des réponses.
Afin qu'il puisse parcourir l'ensemble des réponses, bikini gére les événements sur la liste de manière suivante :

Scroll roulette : Dès que l'on atteind la fin d'une page, la page suivante est chargée.
Flèche bas et haut : Dès que l'on atteind la fin d'une page, la page suivante est chargée.
Click boutons haut et bas ascenseur : Dès que l'on atteind la fin d'une page, la page suivante est chargée.
PagDn et PgUp: Dès que l'on atteind la fin d'une page, la page suivante est chargée.
Ctrl Home et Ctrl End: Ils appelent le début et en fin des réponses. (première page ou dernière page)

La page suivante, ou précédente, est constituée pour moitié de la page courante, et pour moitié de la suite des réponses.

Home et End: Ils vont en début et en fin de page.
Déplacement ascenseur en butée: Appel du début ou de la fin de la page.

Dans la version 2.1a, ces 2 derniers comportements ont été modifiés :

L'appui sur Home et End, ou le déplacement ascenseur en butée, a toujours pour conséquence l'appel du premier ou
dernier item de la page courante. Mais en plus la 1/2 page suivante (ou précédente) est chargée. L'utilisateur voit ainsi
qu'il exite des réponses avant ou après la page courante. Une succession de Home (ou de End) permet donc de changer à chaque fois
de page jusqu'à arriver en début (ou en fin) des réponses.

De plus, afin dindiquer à l'utilisateur que la liste est "fermée" ou "ouverte", le bouton haut ou bas de l'ascenseur vertical est
colorié en rouge.










































La double flèche rouge indique que cette liste est "ouverte" vers le bas.
il y a donc des réponses après la fin de la liste. L'utilisateur peut mettre l'ascenseur en butée bas pour aller en fin de liste, la suite de la liste sera automatiquement chargée en mémoire.




Version 2.0d :



* Correction d'une exception aléatoire apparaissant avec la V2 suite à une instruction CHAIN ou ZCHAIN,
uniquement avec l'exécuteur 3.3a (fourniture Criteria 4.0)



Version 2.0c :



* Correction d'une Exception apparaissant uniquement sous Windows XP lors de la suppression d'une barre d'outils.

* Fonction ZAC_NEXTLINE et limite de lecture des fichiers de plus de 32767 lignes.
Changement de comportement. La fonction rend un % qui représente le numéro de la ligne lue.
Elle rend -1 en fin de fichier.
Si le fichier dépasse 32767 lignes cela posait problème, car la fin de fichier était déclenchée alors qu'elle n'était pas atteinte.
Maintenant la fonction rend le nombre de lignes entre 1-32767 lignes, 0 ensuite, et -1 en fin de fichier.

* Les bitmaps du clavier virtuel sont dorénavent inclus dans zlib+.dll. Le clavier virtuel fonctionne ainsi sans utiliser de fichiers JPEG extérnes.

* Affichages écran avec polices de plus de 2 caractères de haut: Correction d'une régression sur la version 2.0b.

* Gestion de fichiers SI multiclés "ZSI": récuperation automatique de fichiers cassés:
En cas d'erreur 76 ou 53 (provoqué par un plantage système), ZSI flague le fichier avant de retourner l'erreur,
de manière à ce qu'il soit automatiquement restauré à partir du .ZD lors de la prochaine ouverture.

ZSI: Refonte totale du source C en programmation objet C++.
Optimisation de la gestion de la mémoire impliquant une rapidité accrue.
Gestion de fichiers jusqu'à 1.000.000 de records : Actualisation de l'exemple EXBIKV15.
Au delà de 100 Mo (par exemple 200.000 records x 512 octets), les fichiers ZSI disque sont plus rapides que les fichiers en mémoire,
du fait de la lenteur des ré-allocations mémoire de très grands blocs.



Version 2.0b :



* Il y avait une erreur 103 sur les listes évoluées si nlog > 127. L'erreur est corrigée.

* La couleur de fond des fenêtres n'était plus gérée. Maintenant elle l'est.

* Ajout du mot-clé MENUALPHA dans Z.ini qui indique le degré de transparence des menus.
(dans l'intervalle [0-255], 0=Transparent, 255=Opaque, valeur par défaut =112)
Pour plus de lisibilité, sur les système ne gérant que 256 couleurs, on appliquera la valeur 255.

* Ajout du mot-clé WINALPHA dans Z.ini qui indique le degré de transparence des barre de titres des fenêtres.
(dans l'intervalle [0-255], 0=Transparent, 255=Opaque, valeur par défaut =79)

* Ajout du mot-clé PRINTONLY dans Z.ini qui indique la couleur des zones affichées seulement.
(dans l'intervalle [0-15], les codes couleurs sont les couleurs texte, valeur par défaut =4)

* Ajout du mot-cklé HALOWIDTH dans Z.ini qui indique la largeur des halos (items menus, titres de fenêtres).
(dans l'intervalle [0-5], valeur par défaut =3)

* ZSI et multi-utilisation: Correction d'une perte du pointeur sur Down/up lorsqu'un autre poste réalisait un Insert ou Delete.

* ZSI: Correction d'une perte de pointeur sur MODIF avec des index secondaires impactés par le modif.


Version 2.0a :




Voici la liste des nouveautés de la version 2 :

Nouvelle fourniture Zlib+ :

La nouvelle fourniture, appelée zlib+, est composée des modules suivants :

* zlib+.at.
* zlib+zat.at.
* zlib+menu.at.
* zlib+.mess.at
* zlib+.ges.at
* zlib+.win.at
* zlib+.dll (Abal 3/32 bits) et zlib+16.dll (abal 2/16 bits).

L'utilidation de la V2 nécessite une recompilation des programmes !


Nouveau look Windows 7 :

Le look des applications bikini, basé sur le look windows XP, commençait à vieillir depuis l'apparition des systèmes Vista et SEVEN.
C'est pourquoi la version 2 introduit de nouvelles fonctionnalités qui permettent, les unes additionnées aux autres, d'arborer un graphisme moderne et actuel.

Ceci est réalisé sans aucune modification des programmes !

zlib+ gère dorénavent les effet suivants, afin de pouvoir présenter un look proche de windows 7 :

* Transparence entre fond et objet en avant plan.
* Floutage du fond qui est en transparence.
* Halo lumineux autour des textes (titres fenêtres et menus).

Ces effets sont utilisés aussi bien sous Windows 7 que sous windows XP.
Les applications bikini auront donc un look Windows 7 aussi bien sous Windows 7 que sous Windows XP.

Ceci permet concrètement d'introduire les effets suivants :

* Barre de titre des fenêtres et encadrement type windows 7.
* Bouton de fermeture des fenêtres type windows 7.
* Menus déroulants en transparence par rapport au fond.


























































Refonte du système des bulles d'aide :

Avec la V2, l'utilisateur peut, en promenant sa souris sur toutes les zones de l'application (saisies, push boutons, mais aussi listes et zone uniquement affichées), voir automatiquement apparaitre les bulles d'aide de commentaire qui rendent l'application plus "friendly".

Affichage automatique d'une bulle d'aide sur les saisies (zones ASK, zones PRINT, listes, push/radio/check boutons) à travers la gestion de l'événement "OnRollOver", événement déclenché lorque l'on passe la souris sur des objets sans cliquer dessus.

Ceci est réalisé à travers l'affichage automatique de la ligne status dans une bulle d'aide.
Cela permet d'utiliser les messages sur la ligne status déjà intégrés aux programmes pour les bulles d'aide, et de n'avoir qu'un système d'aide (ligne status ET bulles d'aide).






















Utilisation de barres d'outils, gestion des écrans 16/9ième :

La V2 voit aparaitre un nouveau jeu de fonctions permettant de programmer des barres d'outils flottantes et affichées de manière permanentes dans les applications.
Ces barres d'outils, utilisables à tout moment, même en cours de saisie dans la boite de dialogue courante, permettent à l'utilisateur d'accéder à de nouvelles fonctions:

* Quitter le logiciel, où qu'il soit, sans femer tous les menus et boites de dialogue.
* Appeler des fonctionnalités contextuelles incluses dans le .at courant.
* Appeler d'autres programmes Abal, en parallèle avec le programme actuel.
* Appeler des programmes externes exécutables.

Les cas cités sont de simples exemples, le développeur ayant la main sur click d'un outil situé dans une toolbar, pouvant faire ce qu'il désire.

Afin de pouvoir afficher ces barres d'outils à l'écran sans qu'elles se superposent à l'application, la gestion d'écran de Bikini a été étendue à 160 colonnes en largeur. La zone utile de l'écran faisant jusqu'à 160 colonnes x 41 lignes, est adaptée aux écrans 16/9ième, que ce soit en mode petites polices, ou en mode grandes et très grandes polices.





























Nouvelle police en mode petites polices :
ZFONT(1) - La police système par défaut datant de Windows 3.1 commençait à vieillir: Elle est remplacée par une fonte arial.













Zones en PRINT ONLY :

- Modification automatique de l'apparence des zones non saisissables (ZASKHIDE), ou uniquement affichées, afin que l'utilisateur puisse facilement les différencier des zones saisissables dans un écran.

















Click droit souris et menus contextuels :

- Auparavent, si l'on faisait click droit alors qu'un menu click droit était déjà ouvert, rien ne se passait : Dans la version 2, le menu contextuel est déplacé à l'endroit du nouveau click droit.



Gestion des écrans tactiles :

La gestion des événements souris a été adaptée afin de pouvoir faire tourner une application Abal à l'aide d'un écran tactile sous Windows 7.

Ceci passe par l'émulation souris incluse dans Windows 7, mais également par des fonctionnalités spécifiques développées pour les écrans tactiles multitouch :

* Gestion du glisser/déposer dans les listes afin de scroller la liste en promenant son doigt dessus (scroll des listes "à la manière de" l'iPhone).
Cette fonctionnalité peut être utilisée avec la souris en cliquant sur une ligne de liste, et en déplaçant la souris bouton cliqué vers le bas ou vers le haut

* Utilisation d'un clavier numérique virtuel, positionnable par programmation à l'endroit désiré, permettant à l'utilisateur de renseigner automatiquement des zones numériques (#, %, bcd) en effleurant les boutons contenus dans le clavier virtuel.