Destino
06/07/2005 à 15:55
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
06/07/2005 à 16:11
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
06/07/2005 à 16:25
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
06/07/2005 à 17:12
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
06/07/2005 à 17:19
Et comment tu as "mis" le texte dans le field ?
Destino
07/07/2005 à 08:09
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.