Hi all, Help me please!
I have function keyDownEvent :
case keyDownEvent:
// Scroll down key presed?
if (gCurrentActPk>-1){
if ((eventP->data.keyDown.chr == pageDownChr) &&
(IsLast == true))
{
ScrollActRecord(1);//mode=0 : Previous; mode=1
: Next
handled = true;
}
// Scroll up key presed?
else if ((eventP->data.keyDown.chr == pageUpChr) &&
(IsFirst == true))
{
ScrollActRecord(0);//mode=0 : Previous; mode=1
: Next
handled = true;
}
handled = true;
break;
}
break;
With :
Boolean ScrollActRecord(int mode)//mode=0 : Previous; mode=1 : Next
{
VoidHand recordH;
Err err;
Boolean find=false;
ActRecordPtr cons;
ActRecPtr conRec;
DataOfA2Changed();
if (changeField ){
A2AskSave();
gEditMode = false;
changeField = false;
}
cons = (ActRecordPtr)MemHandleLock(ActsHandle);
for (int i=0; i<NumActs;i++){
if (gCurrentIndex ==
cons[i].recordNum){
if (mode == 0)
gCurrentIndex =
cons[--i].recordNum;
else if (mode == 1)
gCurrentIndex =
cons[++i].recordNum;
checkNextPrevious(i);
find=true;
}
if (find == true) break;
}
MemHandleUnlock(ActsHandle);
find = false;
if ((err = GetRecord(ActDB, gCurrentIndex,
&recordH)) != 0)
return false;
conRec = (ActRecPtr)MemHandleLock(recordH);
if (conRec) gCurrentActPk = conRec->act_pk;
MemHandleUnlock(recordH);
FrmGotoForm(A2Form);
return true;
}
I want to go ONE record when user click pageDownChr or pageUpChr button. But it go
through over one, sometimes 2 or 3 record.
I use POSE with ROM : Palm OS 3.5-en-colordbg.rom.If I use others ROM, it work right.
Any idea? help me
Thanks,
Duc
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/
