Aide - Recherche - Membres - Calendrier
Version complète : Fichier pdb
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Destino
Salut lé gars,

g un ptit souci.
g créé un conduit qui ki prend un text dans un fichier txt et créé un pdb sur le pda. cependant lors de laffichage de ce text sur pda, g nè que la moitié du text.
comment faire pour afficher la totalité du text? kelk1 a til une idée? merci
Patrice
Si tu n'as pas tout le texte, c'est soit que tu ne l'as pas copié dans ton pdb, soit que ton programme ne lis pas tout le contenu. Qu'est-ce que tu espères de plus ?
Destino
je viens de faire un test pour vérifier s'il tout le text est bien dans le pdb en recupérant la longueur de la chaine de caractère.
dans le fichier txt j'ai 2282 caractère, dans le pdb j'ai aussi 2282 caractère. j'arrive à la conclusion qu'il à tout transféré dans le pdb. Ms comment tout affiché?
j'ai l'impression que ca vient du scroll car j'affiche le text sur un champs text de la form:

FIELD ID NoteFieldDForm AT (6 72 149 63) USABLE FONT 1 EDITABLE DYNAMICSIZE MULTIPLELINES MAXCHARS 10000 HASSCROLLBAR
SCROLLBAR ID ScrolDetailNoteForm AT (155 67 7 71) USABLE VALUE 0 MIN 0 MAX 0 PAGESIZE 1


et dans le code j'ai :

case fldHeightChangedEvent:
fldP = eventP->data.fldHeightChanged.pField;
nLig = FldCalcFieldHeight(FldGetTextPtr(fldP),150);

if(eventP->data.fldHeightChanged.fieldID==NoteFieldDForm)
{
SclGetScrollBar (barP,&val,&min,&max,&page);
SclSetScrollBar (barP,val,min,nLig,page);
}
pos = FldGetInsPtPosition(fldP);
FldRecalculateField(fldP,true);
FldSetInsertionPoint(fldP,pos);
handled = true;
break;

case sclRepeatEvent:
// Int16 val,min,max,page;
UInt16 newValue = eventP->data.sclRepeat.newValue;
FormPtr frmP = FrmGetActiveForm();
FieldPtr fld;
if(eventP->data.sclRepeat.scrollBarID==ScrolDetailNoteForm)
fld = (FieldPtr)FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, NoteFieldDForm));

static UInt16 curValue = 0;

if (newValue > curValue)
FldScrollField(fld, newValue-curValue, winDown);
else FldScrollField(fld, curValue-newValue, winUp);
curValue = newValue;
handled = true;
break;

Merci de votre coup de main
Khertan
Le pdb fait 2282 octets en taille ? ou le record du pdb ?

Si il s'agit du pdb c'est que tu as oublié la structure de celui ci.
Patrice
Et comment tu as "mis" le texte dans le field ?
Destino
CITATION(Patrice @ 06/07/2005 à 18:19 )
Et comment tu as "mis" le texte dans le field ?
*


j'utilise cette fonction afficher le text.
FldInsert (fldP,DBRecordNoteType.Text, StrLen(DBRecordNoteType.Text));

le StrLen(DBRecordNoteType.Text) me donne bien 2282.

Mais le probleme a été résolu. c plutot le scroll qui n'allait pas.
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.