📄 sugarmemodetail.c
字号:
#include <PalmOS.h>
#include "SugarMemo.h"
#include "SugarMemoRsc.h"
#include "SugarMemoDetail.h"
#include "SugarMemoDB.h"
#include "SugarMemoTools.h"
static void DetailFormInit();
static void SetIntToField(Int32 intValue, UInt16 fieldID){
FormType * frmP;
FieldType * fldP;
MemHandle textH;
Char* p;
frmP = FrmGetActiveForm();
fldP = FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, fieldID));
textH = MemHandleNew(maxStrIToALen);
p = MemHandleLock(textH);
StrIToA(p, intValue);
MemHandleUnlock(textH);
FldSetTextHandle(fldP, textH);
}
static void SetDateToField(DateType date, UInt16 fieldID){
FormType * frmP;
FieldType * fldP;
MemHandle textH;
Char* p;
frmP = FrmGetActiveForm();
fldP = FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, fieldID));
textH = MemHandleNew(dateStringLength);
p = MemHandleLock(textH);
if (ZeroDate(date))
StrPrintF(p,"%s", "n/a");
else {
date.year += 4;
DateToAscii(date.month, date.day, date.year, dfYMDWithSlashes, p);
}
MemHandleUnlock(textH);
FldSetTextHandle(fldP, textH);
}
static void DetailFormInit(){
WordRecordType record;
MemHandle recordH;
GetWordRecord(CurrentDB, CurrentRecord, &record, &recordH);
SetIntToField(record.memoStatus.difficulty, DetailDifficultyField);
SetIntToField(record.memoStatus.totalLapse, DetailTotalLapseField);
SetIntToField(record.memoStatus.totalRecall, DetailTotalRecallField);
SetIntToField(record.memoStatus.step, DetailStepField);
SetDateToField(record.memoStatus.create, DetailCreateField);
SetDateToField(record.memoStatus.firstLearn, DetailFirstLearnField);
SetDateToField(record.memoStatus.lastTest, DetailLastTestField);
SetDateToField(record.memoStatus.nextTest, DetailNextTestField);
MemHandleUnlock(recordH);
}
Boolean DetailFormHandleEvent(EventType * event){
FormType* frmP;
Boolean handled = false;
switch (event->eType){
case frmOpenEvent:
frmP = FrmGetActiveForm();
DetailFormInit();
FrmDrawForm(frmP);
break;
case frmCloseEvent:
break;
case ctlSelectEvent:
switch (event->data.ctlSelect.controlID){
case DetailOKButton:
FrmReturnToForm(0);
FrmUpdateForm(0, frmRedrawUpdateCode);
handled = true;
break;
default:
break;
}
break;
default:
break;
}
return handled;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -