Saisie avec décimales
Saisie avec décimales
Avec StringGadget on ne peut pas saisir des nombres avec décimales?
Comment créér une saisie caractère a caractère pour pouvoir controler la saisie selon un format?
Comment créér une saisie caractère a caractère pour pouvoir controler la saisie selon un format?
Bonjour,
Je suis un programmeur de gestion.
Je suis à la recherche d'un langage pour convertir des applications de gestion, avec un pré traducteur.
Les applications doivent tourner sous Windows et Linux.
PureBasic a retenu mon attention.
Il est vrai qu'il n'est pas orienté gestion, mais il offre un bon potentiel d'ouverture et apporte beaucoup de fonctionnalités graphiques qui ne sont pas communes en gestion, mais de plus en plus demandées.
Il lui manque quelques fonctions typiques des programmes de gestion.
Surtout une saisie et l'affichage de données formatées.
Un InputGadget qui puisse formater les saisie de façon dynamique.
Exemple:
InputGadget("+NNNZ.ZZ") ; Signe obligatoire, 3 chiffres non obligatoire, 1 chiffre obligatoire et 2 décimales obligatoires.
InputGadget("-N3Z.ZZ") ; Ici le signe n'est pas obligatoire.
InputGadget("N2Z.N2Z.N2Z.N2Z") ; Pour une Adresse IP
InputGadget("?N2.?N3"[,Entier.b,Decimal.b]) ; Ici format dynamique.
Par défaut NN.NNN, si numériques définis N*Entier.N*Decimal
Voici mon cahier des charges:
Chaînes de caractères:
U# Accepte tous les caractères, sauf ceux concernant les déplacements verticaux du curseur, # caractères exactement doivent être saisis.
W# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
B# Seuls les caractères alphanumériques sont acceptés, # caractères exactement doivent être saisis.
C# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
A# Seuls les caractères alphabétiques sont acceptés, # caractères exactement doivent être saisis.
D# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
Numériques:
Z# Seuls les chiffres (0 à 9) sont acceptés, # caractères exactement doivent être saisis.
N# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
Une autre fonction qui apporte beaucoup de gain de temps, est la définition de tables.
Ceci permet d'automatiser les fonctions de création de bases de données, fonctions de récupération des données (Table2Gadget) et mise à jour des tables (Gadget2Table). La création des requête SQL peut être automatique.
Visual Designer doit progresser, et comme minimum permettre, dans la boucle d'évènement l'ajout de fonctions avant et après les gadgets. Ceci pour ne pas être obligé de modifier le source généré à chaque modification.
Je crois que dès que je connaîtrait un peu plus le langage et les fonctions, je me lancerai dans la création d'une maquette de portage.
Aujourd'hui j'ai surtout besoin de savoir comment créer ou modifier des gadget par exemple.
Autre chose que je n'ai pas vu, est la définition des fonctions externes, DLL, pour que le compilateur puisse réaliser un contrôle de syntaxe, du nombre et du type de paramètres depuis le source.
Je vis en Espagne.
Bernard13, voilà c'est moi, ou plutôt une partie de moi.
Je suis un programmeur de gestion.
Je suis à la recherche d'un langage pour convertir des applications de gestion, avec un pré traducteur.
Les applications doivent tourner sous Windows et Linux.
PureBasic a retenu mon attention.
Il est vrai qu'il n'est pas orienté gestion, mais il offre un bon potentiel d'ouverture et apporte beaucoup de fonctionnalités graphiques qui ne sont pas communes en gestion, mais de plus en plus demandées.
Il lui manque quelques fonctions typiques des programmes de gestion.
Surtout une saisie et l'affichage de données formatées.
Un InputGadget qui puisse formater les saisie de façon dynamique.
Exemple:
InputGadget("+NNNZ.ZZ") ; Signe obligatoire, 3 chiffres non obligatoire, 1 chiffre obligatoire et 2 décimales obligatoires.
InputGadget("-N3Z.ZZ") ; Ici le signe n'est pas obligatoire.
InputGadget("N2Z.N2Z.N2Z.N2Z") ; Pour une Adresse IP
InputGadget("?N2.?N3"[,Entier.b,Decimal.b]) ; Ici format dynamique.
Par défaut NN.NNN, si numériques définis N*Entier.N*Decimal
Voici mon cahier des charges:
Chaînes de caractères:
U# Accepte tous les caractères, sauf ceux concernant les déplacements verticaux du curseur, # caractères exactement doivent être saisis.
W# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
B# Seuls les caractères alphanumériques sont acceptés, # caractères exactement doivent être saisis.
C# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
A# Seuls les caractères alphabétiques sont acceptés, # caractères exactement doivent être saisis.
D# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
Numériques:
Z# Seuls les chiffres (0 à 9) sont acceptés, # caractères exactement doivent être saisis.
N# Identique au précédent, le nombre de caractères à saisir n'étant pas obligatoire.
Une autre fonction qui apporte beaucoup de gain de temps, est la définition de tables.
Ceci permet d'automatiser les fonctions de création de bases de données, fonctions de récupération des données (Table2Gadget) et mise à jour des tables (Gadget2Table). La création des requête SQL peut être automatique.
Visual Designer doit progresser, et comme minimum permettre, dans la boucle d'évènement l'ajout de fonctions avant et après les gadgets. Ceci pour ne pas être obligé de modifier le source généré à chaque modification.
Je crois que dès que je connaîtrait un peu plus le langage et les fonctions, je me lancerai dans la création d'une maquette de portage.
Aujourd'hui j'ai surtout besoin de savoir comment créer ou modifier des gadget par exemple.
Autre chose que je n'ai pas vu, est la définition des fonctions externes, DLL, pour que le compilateur puisse réaliser un contrôle de syntaxe, du nombre et du type de paramètres depuis le source.
Je vis en Espagne.
Bernard13, voilà c'est moi, ou plutôt une partie de moi.
AdvancedGadgetEvents() Active ou désactive la gestion avancé des evènements pour les gadgets.
Quels sont ces evènements avancés ? Dans la doc je ne trouve rien.
Existe t'il une fonction pour connaitre le gadget quité par un evènement?
ou faut-il le gérer soit même?
Je suis sur gadget1 et je clic sur gadget2, comment savoir que je viens de gadget1.
Comment faites-vous pour aditionner: 123456789+987654321 avec variables.f et que le résultat soit correct ?
Quels sont ces evènements avancés ? Dans la doc je ne trouve rien.
Existe t'il une fonction pour connaitre le gadget quité par un evènement?
ou faut-il le gérer soit même?
Je suis sur gadget1 et je clic sur gadget2, comment savoir que je viens de gadget1.
Comment faites-vous pour aditionner: 123456789+987654321 avec variables.f et que le résultat soit correct ?
AdvancedGadgetEvents(). J'ai déjà demandé, je ne souviens pas avoir reçu de réponse. A deux, on aura peut-être plus de chanceAntoine a écrit :AdvancedGadgetEvents() Active ou désactive la gestion avancé des evènements pour les gadgets.
Quels sont ces evènements avancés ? Dans la doc je ne trouve rien.
Existe t'il une fonction pour connaitre le gadget quité par un evènement?
ou faut-il le gérer soit même?
Je suis sur gadget1 et je clic sur gadget2, comment savoir que je viens de gadget1.
Comment faites-vous pour aditionner: 123456789+987654321 avec variables.f et que le résultat soit correct ?

Non, Il n'y a pas d'évènement quand on quitte un gadget, sauf pour certains, (StringGadget, par exemple), mais EventGadgetID te retourne l'ID du gadget sur lequel tu travailles. tu peux stocker ça dans une variable pour comparer.
Sinon, EventType() te retourne le type d'évenement pour certains gadgets. C'est dans l'aide, cherche EventType()
PureBasic ne gère les nombres que sur 32 bits, mais ça devrait changer dans la prochaine version, d'après ce que j'ai lu sur les forums. Ca devrait augmenter la précision, normalement
De toute façon, il y a toujours une marge d'erreur pour les nombres flottants, comme expliqué dans l'aide. "Manuel", "Variables et Types", c'est tout en bas de la page.
Chris, c'est ok pour les flottants.
Mais la question est: comment contourner ce problème?
Comment faire une calculette en PureBasic par exemple ?
Peut-on filtrer les evènements qui agisseent su WaitWindowEvent() ?
Par exemple, Peut-on éviter que les déplacements de la souris interrompent l'attente d'evènnement ?
Mais la question est: comment contourner ce problème?
Comment faire une calculette en PureBasic par exemple ?
Peut-on filtrer les evènements qui agisseent su WaitWindowEvent() ?
Par exemple, Peut-on éviter que les déplacements de la souris interrompent l'attente d'evènnement ?
Il y a une lib pour convertir en 64 bits, mais je n'en sait pas plus, je ne l'ai jamais utilisée.
Elle doit être sur PureArea. (Le lien vers la page est dans la "Liste de liens utiles")
Pour la souris, elle provoque des évènements, et c'est le but de la boucle de les transmettre.
Elle doit être sur PureArea. (Le lien vers la page est dans la "Liste de liens utiles")
Aucune idée, je ne vois pas l'utilité. (Ce qui ne veut pas dire qu'il n'y en ait pas)Peut-on filtrer les evènements qui agisseent su WaitWindowEvent() ?
Par exemple, Peut-on éviter que les déplacements de la souris interrompent l'attente d'evènnement ?
Pour la souris, elle provoque des évènements, et c'est le but de la boucle de les transmettre.