Aide - Recherche - Membres - Calendrier
Version complète : Modifier le contenu d'un champ de formulaire ?
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
elyro
Bon, puisque patrice m'a apporté la solution pour l'affichage sur plusieurs lignes... icon_biggrin.gif

il ne me reste plus qu'à rendre possible la modification des champs, pour l'instant le contenu du champ se comporte comme s'il était attaché à quelque chose de bloquant:

si je rajoute un caractère, il ne garde pas l'ancien contenu et prend mon nouveau caractère

si j'essaie d'effacer une partie du contenu j"ai une erreur fatale type :
MemoryMgr.c line 4365, NULL handle...


voici mon code :
FieldPtr fobservations_esp;

fobservations_esp = FrmGetObjectPtr(pForm, FrmGetObjectIndex(pForm,Field_observationsesp));
FldSetTextPtr(fobservations_esp, esp.sobservations_esp);
FldMakeFullyVisible(fobservations_esp);
FldDrawField(fobservations_esp);
FldRecalculateField(fobservations_esp, true);


J'ai tenté d'utiliser des fonctions sur les champs comme FldfreeMemory pour tenter de décrocher le champ et conserver uniquement le contenu mais ça ne marche pas !


Je pense que la solution consiste à copier le contenu dans un champ qui serait indépendant mais je ne sais comment m'y prendre...

Si l'un d'entre vous à des morceaux de code comme exemple, je suis preneur. par avance merci.

tchao,

elyro
oupsman
Regarde sur PALMGEAR pour un logiciel qui s'appele VELO. Tu vas trouver en analysant le source une ou deux fonctions qui devraient faire ton bonheur. C'est dans le fichier general.c

Je suis le développeur de ce truc, et le fichier general.c contient toutes les fonctions que j'utilise dans mes programmes.

Amuses toi bien et bonne lecture.
elyro
Merci bien, je m'en vais regarder ça de plus près !

je te tiens au courant.

tchao.

Elyro
elyro
STP pourrais tu m'indiquer le lien pour télécharger les sources, pour l'instant je ne trouve que les fichiers palmApplication à télécharger.

Je ne parviens pas à trouver intuitivement le bon coin du site de palmgear où trouver les sources.


merci d'avance, sourire.gif

tchao.

elyro
Patrice
Pour éclairer un peu le sujet :

A mon avis tu as un gros problème parce que tu dois utiliser un FldSetText() pour définir le texte à afficher dans ton champ et que cette fonction ne permet pas l'édition (elle est réservée aux champs texte non modifiables). Ou bien tu essaies d'éditer directement le texte qui est défini en ressources.

Pour pouvoir gérer un champ éditable il faut associer une zone mémoire (ou un record d'une base de données) au champ. Avec FldSetTextPtr() ou FldSetTextHandle().
elyro
merci pour l'explication Patrice, je vais retenter avec un fldSetTextPtr ou FldSetTextHandle.

Je dis retenter car j'ai dèjà essayé avec le FldSetTextHandle mais en vain... cette fois j'y crois !

bon week end

Elyro
Patrice
Le FldSetTextHandle n'est pas forcément très simple à manipuler car il faut verrouiller le handle pour copier du texte dans la zone mémoire réservée, le déverrouiller pour l'associer au champ, le "dissocier" du champ avant le de le modifier et ainsi de suite... Mais c'est la manière la plus "propre" de faire...
elyro
J'ai réussi à faire quelque chose de correct grâce à l'analogie établie avec le programme VELO, c'est presque parfait.... merci beaucoup.

tchao.

Elyro
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.