PalmAPI.pas
Un article de Wikipedia.
(Différences entre les versions)
(Nouvelle page : <code pascal n> { PalmAPI Version 7 - November 24, 2004 PalmAPI is a set of common Palm OS API calls and types definitions for the Palm OS Pascal Compiler Made by Laurent Duv...) |
|||
Ligne 2 : | Ligne 2 : | ||
{ PalmAPI | { PalmAPI | ||
Version 7 - November 24, 2004 | Version 7 - November 24, 2004 | ||
+ | |||
PalmAPI is a set of common | PalmAPI is a set of common | ||
Palm OS API calls and types | Palm OS API calls and types | ||
definitions for the | definitions for the | ||
Palm OS Pascal Compiler | Palm OS Pascal Compiler | ||
+ | |||
Made by Laurent Duveau | Made by Laurent Duveau | ||
& Philippe Guillot | & Philippe Guillot | ||
Ligne 12 : | Ligne 14 : | ||
e-Mail = info@aldweb.com | e-Mail = info@aldweb.com | ||
e-Mail = ph.guillot@wanadoo.fr | e-Mail = ph.guillot@wanadoo.fr | ||
+ | |||
+ | |||
Use: insert {$i PalmAPI.pas} | Use: insert {$i PalmAPI.pas} | ||
in your PP source code | in your PP source code | ||
+ | } | ||
+ | |||
+ | |||
// Palm OS Types Definitions | // Palm OS Types Definitions | ||
+ | |||
Const | Const | ||
SYSTRAP = $4E4F; | SYSTRAP = $4E4F; | ||
HIGH_DENSITY_TRAP = $A3EC; | HIGH_DENSITY_TRAP = $A3EC; | ||
VFS_TRAP = $A348; | VFS_TRAP = $A348; | ||
+ | |||
nilEvent = 0; | nilEvent = 0; | ||
penDownEvent = 1; | penDownEvent = 1; | ||
Ligne 54 : | Ligne 63 : | ||
sclExitEvent = 33; | sclExitEvent = 33; | ||
sclRepeatEvent = 34; | sclRepeatEvent = 34; | ||
+ | |||
firstUserEvent = $6000; | firstUserEvent = $6000; | ||
+ | |||
dmModeReadOnly = 1; | dmModeReadOnly = 1; | ||
dmModeWrite = 2; | dmModeWrite = 2; | ||
dmModeReadWrite = 3; | dmModeReadWrite = 3; | ||
+ | |||
evtWaitForever = -1; | evtWaitForever = -1; | ||
+ | |||
noPreferenceFound = -1; | noPreferenceFound = -1; | ||
+ | |||
sndInfo = 1; | sndInfo = 1; | ||
sndWarning = 2; | sndWarning = 2; | ||
Ligne 67 : | Ligne 81 : | ||
sndConfirmation = 6; | sndConfirmation = 6; | ||
sndClick = 7; | sndClick = 7; | ||
+ | |||
sysAppLaunchCmdNormalLaunch = 0; | sysAppLaunchCmdNormalLaunch = 0; | ||
sysAppLaunchCmdOpenDB = 52; | sysAppLaunchCmdOpenDB = 52; | ||
+ | |||
noFrame = 0; | noFrame = 0; | ||
simpleFrame = 1; | simpleFrame = 1; | ||
Ligne 77 : | Ligne 93 : | ||
popupFrame = $205; | popupFrame = $205; | ||
dialogFrame = $302; | dialogFrame = $302; | ||
+ | |||
noFocus = $FFFF; | noFocus = $FFFF; | ||
+ | |||
stdFont = 0; | stdFont = 0; | ||
boldFont = 1; | boldFont = 1; | ||
Ligne 87 : | Ligne 105 : | ||
largeBoldFont = 7; | largeBoldFont = 7; | ||
fntAppFontCustomBase = 128; | fntAppFontCustomBase = 128; | ||
+ | |||
sysFtrCreator = $70737973; // 'psys' | sysFtrCreator = $70737973; // 'psys' | ||
sysFtrNumWinVersion = 24; | sysFtrNumWinVersion = 24; | ||
+ | |||
vfsIteratorStart = 0; | vfsIteratorStart = 0; | ||
vfsIteratorStop = $FFFFFFFF; | vfsIteratorStop = $FFFFFFFF; | ||
vfsFtrIDVersion = 0; | vfsFtrIDVersion = 0; | ||
+ | |||
Type | Type | ||
Byte = 0..255; | Byte = 0..255; | ||
Ligne 105 : | Ligne 126 : | ||
Err = UInt16; | Err = UInt16; | ||
Coord = UInt16; | Coord = UInt16; | ||
+ | |||
Opaque = record end; | Opaque = record end; | ||
MemHandle = ^Opaque; | MemHandle = ^Opaque; | ||
ListPtr = ^Opaque; | ListPtr = ^Opaque; | ||
FieldPtr = ^Opaque; | FieldPtr = ^Opaque; | ||
+ | |||
MemPtr = Pointer; | MemPtr = Pointer; | ||
DmOpenRef = Pointer; | DmOpenRef = Pointer; | ||
+ | |||
PointType = record | PointType = record | ||
x,y:Coord; | x,y:Coord; | ||
end; | end; | ||
+ | |||
EventType = record | EventType = record | ||
eType:UInt16; | eType:UInt16; | ||
Ligne 132 : | Ligne 157 : | ||
10:(frmTitleEnter:record formID:UInt16 end); | 10:(frmTitleEnter:record formID:UInt16 end); | ||
end; | end; | ||
+ | |||
AbsRectType = record | AbsRectType = record | ||
left,top,right,bottom:Coord; | left,top,right,bottom:Coord; | ||
end; | end; | ||
+ | |||
FrameType = UInt16; | FrameType = UInt16; | ||
Ligne 140 : | Ligne 167 : | ||
topLeft,extent:PointType; | topLeft,extent:PointType; | ||
end; | end; | ||
+ | |||
BitmapType = record end; | BitmapType = record end; | ||
BitmapPtr = ^BitmapType; | BitmapPtr = ^BitmapType; | ||
+ | |||
RGBColorType = record | RGBColorType = record | ||
index,r,g,b:UInt8; | index,r,g,b:UInt8; | ||
end; | end; | ||
+ | |||
IndexedColorType = UInt8; | IndexedColorType = UInt8; | ||
// 0..215 combination of | // 0..215 combination of | ||
Ligne 156 : | Ligne 186 : | ||
// 225..229 = specials: light gray,marron,purple,green,cyan | // 225..229 = specials: light gray,marron,purple,green,cyan | ||
// 230..255 = unused (black) | // 230..255 = unused (black) | ||
+ | |||
FrameBitsType = record | FrameBitsType = record | ||
bits,word:UInt16; | bits,word:UInt16; | ||
end; | end; | ||
+ | |||
WinHandle = ^WindowType; | WinHandle = ^WindowType; | ||
WindowType = record end; | WindowType = record end; | ||
+ | |||
FormObjListType = record end; | FormObjListType = record end; | ||
+ | |||
FormType = record end; | FormType = record end; | ||
FormPtr = ^FormType; | FormPtr = ^FormType; | ||
+ | |||
MenuBarPtr = ^MenuBarType; | MenuBarPtr = ^MenuBarType; | ||
MenuBarType = record end; | MenuBarType = record end; | ||
+ | |||
ControlPtr = ^ControlType; | ControlPtr = ^ControlType; | ||
ControlType = record end; | ControlType = record end; | ||
+ | |||
DmSearchStateType = record | DmSearchStateType = record | ||
info:array[0..7] of UInt32; | info:array[0..7] of UInt32; | ||
end; | end; | ||
+ | |||
clipboardFormatType=( | clipboardFormatType=( | ||
clipboardText, | clipboardText, | ||
clipboardInk, | clipboardInk, | ||
clipboardBitmap); | clipboardBitmap); | ||
+ | |||
FontID=UInt8; | FontID=UInt8; | ||
+ | |||
UnderlineModeType=( | UnderlineModeType=( | ||
noUnderline, | noUnderline, | ||
Ligne 181 : | Ligne 221 : | ||
solidUnderline, | solidUnderline, | ||
colorUnderline); | colorUnderline); | ||
+ | |||
WinScreenModeOperation=( | WinScreenModeOperation=( | ||
winScreenModeGetDefaults, | winScreenModeGetDefaults, | ||
Ligne 188 : | Ligne 229 : | ||
winScreenModeGetSupportedDepths, | winScreenModeGetSupportedDepths, | ||
winScreenModeGetSupportsColor); | winScreenModeGetSupportsColor); | ||
+ | |||
WinDirectionType=( | WinDirectionType=( | ||
WinUp, | WinUp, | ||
Ligne 193 : | Ligne 235 : | ||
WinLeft, | WinLeft, | ||
WinRight); | WinRight); | ||
+ | |||
WinDrawOperation=( | WinDrawOperation=( | ||
winPaint, | winPaint, | ||
Ligne 201 : | Ligne 244 : | ||
winPaintInverse, | winPaintInverse, | ||
winSwap); | winSwap); | ||
+ | |||
ScrollBarType = opaque; | ScrollBarType = opaque; | ||
ScrollBarPtr = ^ScrollBarType; | ScrollBarPtr = ^ScrollBarType; | ||
+ | |||
DateTimeType = record | DateTimeType = record | ||
second,minute,hour,day,month,year,weekDay:Int16; | second,minute,hour,day,month,year,weekDay:Int16; | ||
end; | end; | ||
DateTimePtr = ^DateTimeType; | DateTimePtr = ^DateTimeType; | ||
+ | |||
DateFormatType=( | DateFormatType=( | ||
dfMDYWithSlashes, // 12/31/95 | dfMDYWithSlashes, // 12/31/95 | ||
Ligne 224 : | Ligne 270 : | ||
dfMYMed, // Dec '95 | dfMYMed, // Dec '95 | ||
dfMYMedNoPost); // Dec 95 (added for French 2.0 ROM) | dfMYMedNoPost); // Dec 95 (added for French 2.0 ROM) | ||
+ | |||
TimeFormatType=( | TimeFormatType=( | ||
tfColon, | tfColon, | ||
Ligne 234 : | Ligne 281 : | ||
tfHours24h, // 13 | tfHours24h, // 13 | ||
tfComma24h); // 13,00 | tfComma24h); // 13,00 | ||
+ | |||
SelectDayType=( | SelectDayType=( | ||
selectDayByDay, // return d/m/y | selectDayByDay, // return d/m/y | ||
selectDayByWeek, // return d/m/y with d as same day of the week | selectDayByWeek, // return d/m/y with d as same day of the week | ||
selectDayByMonth); // return d/m/y with d as same day of the month | selectDayByMonth); // return d/m/y with d as same day of the month | ||
+ | |||
SysBatteryKind=( | SysBatteryKind=( | ||
sysBatteryKindAlkaline=0, | sysBatteryKindAlkaline=0, | ||
Ligne 246 : | Ligne 295 : | ||
sysBatteryKindLiIon1400, | sysBatteryKindLiIon1400, | ||
sysBatteryKindLast=255); // insert new battery types BEFORE this one | sysBatteryKindLast=255); // insert new battery types BEFORE this one | ||
+ | |||
DlkSyncStateType=( | DlkSyncStateType=( | ||
dlkSyncStateNeverSynced=0, // never synced | dlkSyncStateNeverSynced=0, // never synced | ||
Ligne 262 : | Ligne 312 : | ||
memIDPtr, | memIDPtr, | ||
memIDHandle); | memIDHandle); | ||
+ | |||
FileInfoPtr = ^FileInfoType; | FileInfoPtr = ^FileInfoType; | ||
FileInfoType = record | FileInfoType = record | ||
Ligne 268 : | Ligne 319 : | ||
nameBufLen:UInt16; // size of nameP buffer, in bytes | nameBufLen:UInt16; // size of nameP buffer, in bytes | ||
end; | end; | ||
+ | |||
WinScreenAttrType=( | WinScreenAttrType=( | ||
winScreenWidth, | winScreenWidth, | ||
Ligne 278 : | Ligne 330 : | ||
winScreenResolutionX, | winScreenResolutionX, | ||
winScreenResolutionY); | winScreenResolutionY); | ||
+ | |||
+ | |||
// Palm OS API calls | // Palm OS API calls | ||
+ | |||
function BmpCreate(width,height:Coord;depth:UInt8;colortableP:pointer;var error:UInt16):BitmapPtr; inline(SYSTRAP,$A3DD); | function BmpCreate(width,height:Coord;depth:UInt8;colortableP:pointer;var error:UInt16):BitmapPtr; inline(SYSTRAP,$A3DD); | ||
+ | |||
procedure ClipboardAddItem(format:ClipboardFormatType;var ptr;length:UInt16); inline(SYSTRAP,$A10A); | procedure ClipboardAddItem(format:ClipboardFormatType;var ptr;length:UInt16); inline(SYSTRAP,$A10A); | ||
function ClipboardGetItem(format:ClipboardFormatType;var length:UInt16):MemHandle;inline(SYSTRAP,$A10C); | function ClipboardGetItem(format:ClipboardFormatType;var length:UInt16):MemHandle;inline(SYSTRAP,$A10C); | ||
+ | |||
function CtlGetLabel(const controlP: ControlPtr):StringPtr; inline(SYSTRAP,$A113); | function CtlGetLabel(const controlP: ControlPtr):StringPtr; inline(SYSTRAP,$A113); | ||
function CtlGetValue(controlP:ControlPtr):UInt16;inline(SYSTRAP,$A111); | function CtlGetValue(controlP:ControlPtr):UInt16;inline(SYSTRAP,$A111); | ||
Ligne 288 : | Ligne 345 : | ||
procedure CtlSetLabel(controlP:ControlPtr;const newLabel:StringPtr); inline(SYSTRAP,$A114); | procedure CtlSetLabel(controlP:ControlPtr;const newLabel:StringPtr); inline(SYSTRAP,$A114); | ||
procedure CtlSetValue(ControlP:ControlPtr;newValue:Int16); inline(SYSTRAP,$A112); | procedure CtlSetValue(ControlP:ControlPtr;newValue:Int16); inline(SYSTRAP,$A112); | ||
+ | |||
procedure DateToAscii(months,days:UInt8;years:UInt16;dateFormat:DateFormatType;var pString:String); inline(SYSTRAP,$A266); | procedure DateToAscii(months,days:UInt8;years:UInt16;dateFormat:DateFormatType;var pString:String); inline(SYSTRAP,$A266); | ||
+ | |||
function DlkGetSyncInfo(var succSyncDateP,lastSyncDateP:UInt32;var syncStateP:DlkSyncStateType;var nameBufP,logBufP:string;var logLenP:Int32):UInt16; inline(SYSTRAP,$A2A9); | function DlkGetSyncInfo(var succSyncDateP,lastSyncDateP:UInt32;var syncStateP:DlkSyncStateType;var nameBufP,logBufP:string;var logLenP:Int32):UInt16; inline(SYSTRAP,$A2A9); | ||
+ | |||
function DmCloseDatabase(dbP:DmOpenRef):UInt16; inline(SYSTRAP,$A04A); | function DmCloseDatabase(dbP:DmOpenRef):UInt16; inline(SYSTRAP,$A04A); | ||
function DmCreateDatabase(cardNo:UInt16;const name:String;c,t:UInt32;resDB:Boolean):UInt16; inline(SYSTRAP,$A041); | function DmCreateDatabase(cardNo:UInt16;const name:String;c,t:UInt32;resDB:Boolean):UInt16; inline(SYSTRAP,$A041); | ||
Ligne 322 : | Ligne 382 : | ||
function DmSetDatabaseInfo(cardNo:UInt16;dbID:LocalID;const name:String;var attributes,version:UInt16;var crDate,modDate,bkpUpDate,modNum:UInt32;var appInfoID,sortInfoID:LocalID;var t,c:UInt32):UInt16; inline(SYSTRAP,$A047); | function DmSetDatabaseInfo(cardNo:UInt16;dbID:LocalID;const name:String;var attributes,version:UInt16;var crDate,modDate,bkpUpDate,modNum:UInt32;var appInfoID,sortInfoID:LocalID;var t,c:UInt32):UInt16; inline(SYSTRAP,$A047); | ||
function DmWrite(recordP:Pointer;offset:UInt32;srcP:Pointer;bytes:UInt32):UInt16; inline(SYSTRAP,$A076); | function DmWrite(recordP:Pointer;offset:UInt32;srcP:Pointer;bytes:UInt32):UInt16; inline(SYSTRAP,$A076); | ||
+ | |||
procedure EvtGetEvent(var event:EventType;timeout:UInt32); inline(SYSTRAP,$A11D); | procedure EvtGetEvent(var event:EventType;timeout:UInt32); inline(SYSTRAP,$A11D); | ||
+ | |||
procedure FldDrawField(fldP:FieldPtr); inline(SYSTRAP,$A135); | procedure FldDrawField(fldP:FieldPtr); inline(SYSTRAP,$A135); | ||
procedure FldGetAttributes(fldP:FieldPtr;var attrP:UInt16); inline(SYSTRAP,$A14F); | procedure FldGetAttributes(fldP:FieldPtr;var attrP:UInt16); inline(SYSTRAP,$A14F); | ||
Ligne 332 : | Ligne 394 : | ||
procedure FldSetSelection(fldP:FieldPtr;startPosition,endPosition:UInt16); inline(SYSTRAP,$A142); | procedure FldSetSelection(fldP:FieldPtr;startPosition,endPosition:UInt16); inline(SYSTRAP,$A142); | ||
procedure FldSetTextHandle(fldP:FieldPtr;textHandle:MemHandle); inline(SYSTRAP,$A158); | procedure FldSetTextHandle(fldP:FieldPtr;textHandle:MemHandle); inline(SYSTRAP,$A158); | ||
+ | |||
procedure FntCharsInWidth(const Chars:String;var stringWidthP,stringLengthP:Int16;var fitWithinWidth:Boolean); inline(SYSTRAP,$A16D); | procedure FntCharsInWidth(const Chars:String;var stringWidthP,stringLengthP:Int16;var fitWithinWidth:Boolean); inline(SYSTRAP,$A16D); | ||
function FntCharsWidth(const Chars:String;Len:Int16):Int16; inline(SYSTRAP,$A16B); | function FntCharsWidth(const Chars:String;Len:Int16):Int16; inline(SYSTRAP,$A16B); | ||
Ligne 338 : | Ligne 401 : | ||
function FntSetFont(font:FontID):FontID; inline(SYSTRAP,$A164); | function FntSetFont(font:FontID):FontID; inline(SYSTRAP,$A164); | ||
function FontSelect(font:FontID):FontID; inline(SYSTRAP,$A320); | function FontSelect(font:FontID):FontID; inline(SYSTRAP,$A320); | ||
+ | |||
function FrmAlert(alertId:UInt16):UInt16; inline(SYSTRAP,$A192); | function FrmAlert(alertId:UInt16):UInt16; inline(SYSTRAP,$A192); | ||
procedure FrmCloseAllForms;inline(SYSTRAP,$A1A1); | procedure FrmCloseAllForms;inline(SYSTRAP,$A1A1); | ||
Ligne 374 : | Ligne 438 : | ||
procedure FrmSetTitle(formP:FormPtr;const newTitle:string);inline(SYSTRAP,$A191); | procedure FrmSetTitle(formP:FormPtr;const newTitle:string);inline(SYSTRAP,$A191); | ||
procedure FrmShowObject(formP:FormPtr;objIndex:UInt16); inline(SYSTRAP,$A185); | procedure FrmShowObject(formP:FormPtr;objIndex:UInt16); inline(SYSTRAP,$A185); | ||
+ | |||
function FtrGet(creator:UInt32;featureNum:UInt16;var valueP:UInt32):Err; inline(SYSTRAP,$A27B); | function FtrGet(creator:UInt32;featureNum:UInt16;var valueP:UInt32):Err; inline(SYSTRAP,$A27B); | ||
+ | |||
function GetCharCaselessValue:pointer; inline(SYSTRAP,$A296); | function GetCharCaselessValue:pointer; inline(SYSTRAP,$A296); | ||
+ | |||
Procedure GsiInitialize; inline(SYSTRAP,$A29B); | Procedure GsiInitialize; inline(SYSTRAP,$A29B); | ||
Procedure GsiSetLocation(x,y:Int16); inline(SYSTRAP,$A29C); | Procedure GsiSetLocation(x,y:Int16); inline(SYSTRAP,$A29C); | ||
Ligne 381 : | Ligne 448 : | ||
Function GsiEnabled:Boolean; inline(SYSTRAP,$A29E); | Function GsiEnabled:Boolean; inline(SYSTRAP,$A29E); | ||
Procedure GsiSetShiftState(lockFlags,tempShift:UInt16); inline(SYSTRAP,$A29F); | Procedure GsiSetShiftState(lockFlags,tempShift:UInt16); inline(SYSTRAP,$A29F); | ||
+ | |||
procedure InsPtEnable(enableIt:Boolean); inline(SYSTRAP,$A1AB); | procedure InsPtEnable(enableIt:Boolean); inline(SYSTRAP,$A1AB); | ||
procedure InsPtSetHeight(Height:Int16); inline(SYSTRAP,$A1AD); | procedure InsPtSetHeight(Height:Int16); inline(SYSTRAP,$A1AD); | ||
procedure InsPtSetLocation(x,y:Int16); inline(SYSTRAP,$A1A9); | procedure InsPtSetLocation(x,y:Int16); inline(SYSTRAP,$A1A9); | ||
+ | |||
function KeyCurrentState:UInt32;inline(SYSTRAP,$A2A2); | function KeyCurrentState:UInt32;inline(SYSTRAP,$A2A2); | ||
+ | |||
procedure LstDrawList(ListP:ListPtr);inline(SYSTRAP,$A1B1); | procedure LstDrawList(ListP:ListPtr);inline(SYSTRAP,$A1B1); | ||
procedure LstEraseList(ListP:ListPtr);inline(SYSTRAP,$A1B2); | procedure LstEraseList(ListP:ListPtr);inline(SYSTRAP,$A1B2); | ||
Ligne 398 : | Ligne 468 : | ||
procedure LstSetSelection(ListP:ListPtr;itemNum:Int16); inline(SYSTRAP,$A1B7); | procedure LstSetSelection(ListP:ListPtr;itemNum:Int16); inline(SYSTRAP,$A1B7); | ||
procedure LstSetTopItem(ListP:ListPtr;itemNum:Int16);inline(SYSTRAP,$A2B5); | procedure LstSetTopItem(ListP:ListPtr;itemNum:Int16);inline(SYSTRAP,$A2B5); | ||
+ | |||
function MemCardInfo(cardNo:UInt16;var cardNameP,manufNameP:String;var versionP:UInt16;var crDateP,romSizeP,ramSizeP,freeBytesP:UInt32):Err; inline(SYSTRAP,$A004); | function MemCardInfo(cardNo:UInt16;var cardNameP,manufNameP:String;var versionP:UInt16;var crDateP,romSizeP,ramSizeP,freeBytesP:UInt32):Err; inline(SYSTRAP,$A004); | ||
function MemHandleFree(h: MemHandle):UInt16; inline(SYSTRAP,$A02B); | function MemHandleFree(h: MemHandle):UInt16; inline(SYSTRAP,$A02B); | ||
Ligne 419 : | Ligne 490 : | ||
function MemPtrSetOwner(p:MemPtr;owner:UInt16):UInt16; inline(SYSTRAP,$A01B); | function MemPtrSetOwner(p:MemPtr;owner:UInt16):UInt16; inline(SYSTRAP,$A01B); | ||
procedure MemSet(var dst;numBytes:integer;value:UInt8); inline(SYSTRAP,$A027); | procedure MemSet(var dst;numBytes:integer;value:UInt8); inline(SYSTRAP,$A027); | ||
+ | |||
procedure MenuEraseStatus(menuP:Pointer); inline(SYSTRAP,$A1C1); | procedure MenuEraseStatus(menuP:Pointer); inline(SYSTRAP,$A1C1); | ||
function MenuHandleEvent(menuP:Pointer;var event:EventType;var error:UInt16):Boolean; inline(SYSTRAP,$A1BF); | function MenuHandleEvent(menuP:Pointer;var event:EventType;var error:UInt16):Boolean; inline(SYSTRAP,$A1BF); | ||
+ | |||
function PrefGetAppPreferences(creator:UInt32;id:UInt16;var prefs;var prefsSize:UInt16;saved:Boolean):Int16; inline(SYSTRAP,$A2D3); | function PrefGetAppPreferences(creator:UInt32;id:UInt16;var prefs;var prefsSize:UInt16;saved:Boolean):Int16; inline(SYSTRAP,$A2D3); | ||
procedure PrefSetAppPreferences(creator:UInt32;id,version:UInt16;var prefs;prefsSize:UInt16;saved:Boolean); inline(SYSTRAP,$A2D4); | procedure PrefSetAppPreferences(creator:UInt32;id,version:UInt16;var prefs;prefsSize:UInt16;saved:Boolean); inline(SYSTRAP,$A2D4); | ||
+ | |||
function RctPtInRectangle(x,y:Coord;var r:RectangleType):Boolean; inline(SYSTRAP,$A1C8); | function RctPtInRectangle(x,y:Coord;var r:RectangleType):Boolean; inline(SYSTRAP,$A1C8); | ||
procedure RctSetRectangle(var r:RectangleType;left,top,width,height:Coord); inline(SYSTRAP,$A1C4); | procedure RctSetRectangle(var r:RectangleType;left,top,width,height:Coord); inline(SYSTRAP,$A1C4); | ||
+ | |||
procedure SclSetScrollBar(barP:ScrollBarPtr;value,min,max,pageSize:Int16); inline(SYSTRAP,$A2B6); | procedure SclSetScrollBar(barP:ScrollBarPtr;value,min,max,pageSize:Int16); inline(SYSTRAP,$A2B6); | ||
+ | |||
function SelectDay(selectDayBy:SelectDayType;var month,day,year:Int16;Const title:String):Boolean; inline(SYSTRAP,$A2D0); | function SelectDay(selectDayBy:SelectDayType;var month,day,year:Int16;Const title:String):Boolean; inline(SYSTRAP,$A2D0); | ||
function SelectOneTime(var hour,minute:Int16;Const title:String):Boolean; inline(SYSTRAP,$A34F); | function SelectOneTime(var hour,minute:Int16;Const title:String):Boolean; inline(SYSTRAP,$A34F); | ||
+ | |||
procedure SndPlaySystemSound(beepID:Int8); inline(SYSTRAP,$A234); | procedure SndPlaySystemSound(beepID:Int8); inline(SYSTRAP,$A234); | ||
+ | |||
function StrAToI(const S:string):integer; inline(SYSTRAP,$a0ce); | function StrAToI(const S:string):integer; inline(SYSTRAP,$a0ce); | ||
function StrCaselessCompare(const s1,s2:string):Int16; inline(SYSTRAP,$A0CA); | function StrCaselessCompare(const s1,s2:string):Int16; inline(SYSTRAP,$A0CA); | ||
Ligne 436 : | Ligne 514 : | ||
procedure StrNCopy(var dst:String;src:MemPtr;n:Int16); inline(SYSTRAP,$A2CE); | procedure StrNCopy(var dst:String;src:MemPtr;n:Int16); inline(SYSTRAP,$A2CE); | ||
function StrStr(const str,token:String):Pointer; inline(SYSTRAP,$A0CD); | function StrStr(const str,token:String):Pointer; inline(SYSTRAP,$A0CD); | ||
+ | |||
function SysBatteryInfo(doSet:Boolean;var warnThresholdP,criticalThresholdP:UInt16;var maxTicksP:Int16;var kindP:SysBatteryKind;var pluggedIn:Boolean;var percentP:UInt8):UInt16; inline(SYSTRAP,$A324); | function SysBatteryInfo(doSet:Boolean;var warnThresholdP,criticalThresholdP:UInt16;var maxTicksP:Int16;var kindP:SysBatteryKind;var pluggedIn:Boolean;var percentP:UInt8):UInt16; inline(SYSTRAP,$A324); | ||
function SysCurAppDatabase(var cardNo:UInt16;var dbID:LocalID):UInt16; inline(SYSTRAP,$A0AC); | function SysCurAppDatabase(var cardNo:UInt16;var dbID:LocalID):UInt16; inline(SYSTRAP,$A0AC); | ||
Ligne 443 : | Ligne 522 : | ||
function SysTicksPerSecond:UInt16; inline(SYSTRAP,$A2E9); | function SysTicksPerSecond:UInt16; inline(SYSTRAP,$A2E9); | ||
function SysUIAppSwitch(cardNo:UInt16;dbID:LocalID;cmd:UInt16;cmdPBP:Pointer):UInt16; inline(SYSTRAP,$A0A7); | function SysUIAppSwitch(cardNo:UInt16;dbID:LocalID;cmd:UInt16;cmdPBP:Pointer):UInt16; inline(SYSTRAP,$A0A7); | ||
+ | |||
Procedure TimeToAscii(hours,minutes:UInt8;timeFormat:TimeFormatType;var pString:String); inline(SYSTRAP,$A268); | Procedure TimeToAscii(hours,minutes:UInt8;timeFormat:TimeFormatType;var pString:String); inline(SYSTRAP,$A268); | ||
+ | |||
function TimGetSeconds:UInt32; inline(SYSTRAP,$A0F5); | function TimGetSeconds:UInt32; inline(SYSTRAP,$A0F5); | ||
function TimGetTicks:UInt32; inline(SYSTRAP,$A0F7); | function TimGetTicks:UInt32; inline(SYSTRAP,$A0F7); | ||
procedure TimSecondsToDateTime(seconds:UInt32;dateTimeP:DateTimePtr); inline(SYSTRAP,$A0FC); | procedure TimSecondsToDateTime(seconds:UInt32;dateTimeP:DateTimePtr); inline(SYSTRAP,$A0FC); | ||
+ | |||
function UIPickColor(var indexP:IndexedColorType;var rgbP:RGBColorType;start:UInt16;const titleP,tipP:String):Boolean; inline(SYSTRAP,$A3AC); | function UIPickColor(var indexP:IndexedColorType;var rgbP:RGBColorType;start:UInt16;const titleP,tipP:String):Boolean; inline(SYSTRAP,$A3AC); | ||
+ | |||
function WinCreateBitmapWindow(bitmapP:BitmapPtr;var error:UInt16):WinHandle; inline(SYSTRAP,$A3E4); | function WinCreateBitmapWindow(bitmapP:BitmapPtr;var error:UInt16):WinHandle; inline(SYSTRAP,$A3E4); | ||
procedure WinDeleteWindow(win:WinHandle;eraseIt:boolean); inline(SYSTRAP,$A1F8); | procedure WinDeleteWindow(win:WinHandle;eraseIt:boolean); inline(SYSTRAP,$A1F8); | ||
Ligne 470 : | Ligne 553 : | ||
function WinSetTextColor(foreColor:IndexedColorType):IndexedColorType; inline(SYSTRAP,$A39A); | function WinSetTextColor(foreColor:IndexedColorType):IndexedColorType; inline(SYSTRAP,$A39A); | ||
function WinSetDrawMode(newMode:WinDrawOperation):WinDrawOperation; inline(SYSTRAP,$A397); | function WinSetDrawMode(newMode:WinDrawOperation):WinDrawOperation; inline(SYSTRAP,$A397); | ||
+ | |||
// VFS functions | // VFS functions | ||
function VFSDirEntryEnumerate(dirRef:UInt32;var dirEntryIteratorP:UInt32;var infoP:FileInfoType):Err; inline($7414,SYSTRAP,VFS_TRAP); | function VFSDirEntryEnumerate(dirRef:UInt32;var dirEntryIteratorP:UInt32;var infoP:FileInfoType):Err; inline($7414,SYSTRAP,VFS_TRAP); | ||
Ligne 478 : | Ligne 562 : | ||
function VFSVolumeGetLabel(volRefNum:UInt16;const labelP:String;bufLen:UInt16):Err; inline($741D,SYSTRAP,VFS_TRAP); | function VFSVolumeGetLabel(volRefNum:UInt16;const labelP:String;bufLen:UInt16):Err; inline($741D,SYSTRAP,VFS_TRAP); | ||
function VFSVolumeSize(volRefNum:UInt16;var volumeUsedP:UInt32;var volumeTotalP:UInt32):Err; inline($741F,SYSTRAP,VFS_TRAP); | function VFSVolumeSize(volRefNum:UInt16;var volumeUsedP:UInt32;var volumeTotalP:UInt32):Err; inline($741F,SYSTRAP,VFS_TRAP); | ||
+ | |||
// HighRes functions | // HighRes functions | ||
function WinScreenGetAttribute(selector:WinScreenAttrType;var attrP:UInt32):Err; inline($740E,SYSTRAP,HIGH_DENSITY_TRAP); | function WinScreenGetAttribute(selector:WinScreenAttrType;var attrP:UInt32):Err; inline($740E,SYSTRAP,HIGH_DENSITY_TRAP); | ||
+ | |||
+ | |||
// Special Functions | // Special Functions | ||
+ | |||
const | const | ||
V100 = $0100; | V100 = $0100; | ||
Ligne 492 : | Ligne 580 : | ||
V410 = $0410; | V410 = $0410; | ||
V500 = $0500; | V500 = $0500; | ||
+ | |||
function VersionSupported(MinVersion:UInt32):boolean; | function VersionSupported(MinVersion:UInt32):boolean; | ||
+ | var | ||
ErrNo:Err; | ErrNo:Err; | ||
ROMVersion:UInt32; | ROMVersion:UInt32; | ||
Ligne 499 : | Ligne 589 : | ||
VersionSupported:=ROMVersion>=MinVersion*$10000; | VersionSupported:=ROMVersion>=MinVersion*$10000; | ||
end; | end; | ||
+ | |||
function HandlerNONE(var e:EventType):boolean; | function HandlerNONE(var e:EventType):boolean; | ||
// Needed for Palm OS < v3 | // Needed for Palm OS < v3 |
Version actuelle
{ PalmAPI Version 7 - November 24, 2004 PalmAPI is a set of common Palm OS API calls and types definitions for the Palm OS Pascal Compiler Made by Laurent Duveau & Philippe Guillot web site = www.aldweb.com web site = http://ppcompiler.free.fr e-Mail = info@aldweb.com e-Mail = ph.guillot@wanadoo.fr Use: insert {$i PalmAPI.pas} in your PP source code } // Palm OS Types Definitions Const SYSTRAP = $4E4F; HIGH_DENSITY_TRAP = $A3EC; VFS_TRAP = $A348; nilEvent = 0; penDownEvent = 1; penUpEvent = 2; penMoveEvent = 3; keyDownEvent = 4; winEnterEvent = 5; winExitEvent = 6; ctlEnterEvent = 7; ctlExitEvent = 8; ctlSelectEvent = 9; ctlRepeatEvent = 10; lstEnterEvent = 11; lstSelectEvent = 12; lstExitEvent = 13; popSelectEvent = 14; fldEnterEvent = 15; fldHeightChangedEvent = 16; fldChangedEvent = 17; tblEnterEvent = 18; tblSelectEvent = 19; daySelectEvent = 20; menuEvent = 21; appStopEvent = 22; frmLoadEvent = 23; frmOpenEvent = 24; frmGotoEvent = 25; frmUpdateEvent = 26; frmSaveEvent = 27; frmCloseEvent = 28; frmTitleEnterEvent = 29; frmTitleSelectEvent = 30; tblExitEvent = 31; sclEnterEvent = 32; sclExitEvent = 33; sclRepeatEvent = 34; firstUserEvent = $6000; dmModeReadOnly = 1; dmModeWrite = 2; dmModeReadWrite = 3; evtWaitForever = -1; noPreferenceFound = -1; sndInfo = 1; sndWarning = 2; sndError = 3; sndStartUp = 4; sndAlarm = 5; sndConfirmation = 6; sndClick = 7; sysAppLaunchCmdNormalLaunch = 0; sysAppLaunchCmdOpenDB = 52; noFrame = 0; simpleFrame = 1; rectangleFrame = 1; simple3DFrame = $12; roundFrame = $401; boldRoundFrame = $702; popupFrame = $205; dialogFrame = $302; noFocus = $FFFF; stdFont = 0; boldFont = 1; largeFont = 2; symbolFont = 3; symbol11Font = 4; symbol7Font = 5; ledFont = 6; largeBoldFont = 7; fntAppFontCustomBase = 128; sysFtrCreator = $70737973; // 'psys' sysFtrNumWinVersion = 24; vfsIteratorStart = 0; vfsIteratorStop = $FFFFFFFF; vfsFtrIDVersion = 0; Type Byte = 0..255; Int16 = -32768..32767; UInt16 = 0..65535; Int8 = -128..127; UInt8 = 0..255; Int32 = Integer; UInt32 = 0..MaxInt; WChar = UInt16; StringPtr = ^String; LocalID = UInt32; Err = UInt16; Coord = UInt16; Opaque = record end; MemHandle = ^Opaque; ListPtr = ^Opaque; FieldPtr = ^Opaque; MemPtr = Pointer; DmOpenRef = Pointer; PointType = record x,y:Coord; end; EventType = record eType:UInt16; penDown:Boolean; tapCount:UInt8; screenX,screenY:Int16; case integer of 0: (datum:array[0..7] of UInt16); 1: (PenUp:record start,finish:PointType end); 2: (chrc:WChar;keyCode,modifiers:UInt16); 3: (FrmLoad:record FormID:UInt16 end); 4: (ctlSelect:record controlID:UInt16;pControl:pointer;on:Boolean;reserved1:UInt8;value:UInt16 end); 5: (menu:record itemID:UInt16 end); 6: (ctlEnter:record controlID:UInt16;pControl:pointer end); 7: (ctlRepeat:record controlID:UInt16;pControl:pointer;time:UInt32;value:UInt16 end); 8: (sclRepeat:record scrollBarID:UInt16;pScrollbar:pointer;value,newValue:Int16;time:UInt32 end); 9: (popSelect:record controlID:UInt16;pcontrol:pointer;listID:UInt16;plist:pointer;selection,priorselection:Int16 end); 10:(frmTitleEnter:record formID:UInt16 end); end; AbsRectType = record left,top,right,bottom:Coord; end; FrameType = UInt16; RectangleType = record topLeft,extent:PointType; end; BitmapType = record end; BitmapPtr = ^BitmapType; RGBColorType = record index,r,g,b:UInt8; end; IndexedColorType = UInt8; // 0..215 combination of // ff cc 99 66 33 00 // B : 0 6 12 108 114 120 // R : 0 18 36 54 72 90 // G : 0 1 2 3 4 5 // e.g 12+54+5 = $99 B + $66 R +$0 G // 216..224 // gray 22 44 55 77 88 aa bb dd // 225..229 = specials: light gray,marron,purple,green,cyan // 230..255 = unused (black) FrameBitsType = record bits,word:UInt16; end; WinHandle = ^WindowType; WindowType = record end; FormObjListType = record end; FormType = record end; FormPtr = ^FormType; MenuBarPtr = ^MenuBarType; MenuBarType = record end; ControlPtr = ^ControlType; ControlType = record end; DmSearchStateType = record info:array[0..7] of UInt32; end; clipboardFormatType=( clipboardText, clipboardInk, clipboardBitmap); FontID=UInt8; UnderlineModeType=( noUnderline, grayUnderline, solidUnderline, colorUnderline); WinScreenModeOperation=( winScreenModeGetDefaults, winScreenModeGet, winScreenModeSetToDefaults, winScreenModeSet, winScreenModeGetSupportedDepths, winScreenModeGetSupportsColor); WinDirectionType=( WinUp, WinDown, WinLeft, WinRight); WinDrawOperation=( winPaint, winErase, winMask, winInvert, winOverlay, winPaintInverse, winSwap); ScrollBarType = opaque; ScrollBarPtr = ^ScrollBarType; DateTimeType = record second,minute,hour,day,month,year,weekDay:Int16; end; DateTimePtr = ^DateTimeType; DateFormatType=( dfMDYWithSlashes, // 12/31/95 dfDMYWithSlashes, // 31/12/95 dfDMYWithDots, // 31.12.95 dfDMYWithDashes, // 31-12-95 dfYMDWithSlashes, // 95/12/31 dfYMDWithDots, // 95.12.31 dfYMDWithDashes, // 95-12-31 dfMDYLongWithComma, // Dec 31, 1995 dfDMYLong, // 31 Dec 1995 dfDMYLongWithDot, // 31. Dec 1995 dfDMYLongNoDay, // Dec 1995 dfDMYLongWithComma, // 31 Dec, 1995 dfYMDLongWithDot, // 1995.12.31 dfYMDLongWithSpace, // 1995 Dec 31 dfMYMed, // Dec '95 dfMYMedNoPost); // Dec 95 (added for French 2.0 ROM) TimeFormatType=( tfColon, tfColonAMPM, // 1:00 pm tfColon24h, // 13:00 tfDot, tfDotAMPM, // 1.00 pm tfDot24h, // 13.00 tfHoursAMPM, // 1 pm tfHours24h, // 13 tfComma24h); // 13,00 SelectDayType=( selectDayByDay, // return d/m/y selectDayByWeek, // return d/m/y with d as same day of the week selectDayByMonth); // return d/m/y with d as same day of the month SysBatteryKind=( sysBatteryKindAlkaline=0, sysBatteryKindNiCad, sysBatteryKindLiIon, sysBatteryKindRechAlk, sysBatteryKindNiMH, sysBatteryKindLiIon1400, sysBatteryKindLast=255); // insert new battery types BEFORE this one DlkSyncStateType=( dlkSyncStateNeverSynced=0, // never synced dlkSyncStateInProgress, // sync is in progress dlkSyncStateLostConnection, // connection lost during sync dlkSyncStateLocalCan, // cancelled by local user on handheld dlkSyncStateRemoteCan, // cancelled by user from desktop dlkSyncStateLowMemoryOnTD, // sync ended due to low memory on handheld dlkSyncStateAborted, // sync was aborted for some other reason dlkSyncStateCompleted, // sync completed normally // Added in PalmOS v3.0: dlkSyncStateIncompatibleProducts); // sync ended because desktop HotSync product // is incompatible with this version // of the handheld HotSync LocalIDKind=( memIDPtr, memIDHandle); FileInfoPtr = ^FileInfoType; FileInfoType = record attributes:UInt32; nameP:Pointer; // buffer to receive full name; pass NULL to avoid getting name nameBufLen:UInt16; // size of nameP buffer, in bytes end; WinScreenAttrType=( winScreenWidth, winScreenHeight, winScreenRowBytes, winScreenDepth, winScreenAllDepths, winScreenDensity, winScreenPixelFormat, winScreenResolutionX, winScreenResolutionY); // Palm OS API calls function BmpCreate(width,height:Coord;depth:UInt8;colortableP:pointer;var error:UInt16):BitmapPtr; inline(SYSTRAP,$A3DD); procedure ClipboardAddItem(format:ClipboardFormatType;var ptr;length:UInt16); inline(SYSTRAP,$A10A); function ClipboardGetItem(format:ClipboardFormatType;var length:UInt16):MemHandle;inline(SYSTRAP,$A10C); function CtlGetLabel(const controlP: ControlPtr):StringPtr; inline(SYSTRAP,$A113); function CtlGetValue(controlP:ControlPtr):UInt16;inline(SYSTRAP,$A111); function CtlNewControl(formP:FormPtr;objID:UInt16;style:Byte;const text:String;x,y,width,height:Coord;font:FontID;group:UInt8;leftAnchor:Boolean):ControlPtr; inline(SYSTRAP,$A32C); function CtlNewGraphicControl(formP:FormPtr;objID:UInt16;style:Byte;bitmapID,selectedBitmapID:UInt16;x,y,width,height:Coord;group:UInt8;leftAnchor:Boolean):ControlPtr; inline(SYSTRAP,$A3A9); procedure CtlSetLabel(controlP:ControlPtr;const newLabel:StringPtr); inline(SYSTRAP,$A114); procedure CtlSetValue(ControlP:ControlPtr;newValue:Int16); inline(SYSTRAP,$A112); procedure DateToAscii(months,days:UInt8;years:UInt16;dateFormat:DateFormatType;var pString:String); inline(SYSTRAP,$A266); function DlkGetSyncInfo(var succSyncDateP,lastSyncDateP:UInt32;var syncStateP:DlkSyncStateType;var nameBufP,logBufP:string;var logLenP:Int32):UInt16; inline(SYSTRAP,$A2A9); function DmCloseDatabase(dbP:DmOpenRef):UInt16; inline(SYSTRAP,$A04A); function DmCreateDatabase(cardNo:UInt16;const name:String;c,t:UInt32;resDB:Boolean):UInt16; inline(SYSTRAP,$A041); function DmDatabaseInfo(cardNo:UInt16;dbID:LocalID;var name:String;var attributes,version:UInt16;var crDate,modDate,bkpUpDate,modNum:UInt32;var appInfoID,sortInfoID:LocalID;var t,c:UInt32):UInt16; inline(SYSTRAP,$A046); function DmDatabaseSize(cardNo:UInt16;dbID:LocalID;var numRecords,totalBytes,dataBytes:UInt32):Err; inline(SYSTRAP,$A048); function DmDeleteDatabase(cardNo:UInt16;dbID:LocalID):UInt16; inline(SYSTRAP,$A042); function DmFindDatabase(cardNo:UInt16;const name:String):LocalID; inline(SYSTRAP,$A045); function DmFindResource(dbP:DmOpenRef;ResType:UInt32;ResID:UInt16;resH:MemHandle):UInt16; inline(SYSTRAP,$A065); function DmGetDatabase(cardNo:UInt16;index:UInt16):LocalID; inline(SYSTRAP,$A044); function DmGetNextDatabaseByTypeCreator(newSearch:Boolean;var stateInfo:DmSearchStateType;t,c:UInt32;onlyLastVers:Boolean;var cardNo:UInt16;var dbIDP:LocalID):UInt16; inline(SYSTRAP,$A078); function DmGetRecord(dbP:DmOpenRef;index:UInt16):MemHandle; inline(SYSTRAP,$A05C); function DmGetResource(typ:UInt32;resID:UInt16):Memhandle; inline(SYSTRAP,$A05F); function DmGetResourceIndex(dbP:DmOpenRef;index:UInt16):MemHandle; inline(SYSTRAP,$A06E); function DmGet1Resource(resType: UInt32;resID: UInt16): MemHandle; inline(SYSTRAP,$A060); function DmNewRecord(dbP:DmOpenRef;var at:UInt16;size:UInt32):MemHandle; inline(SYSTRAP,$A055); function DmNewResource(dbP:DmOpenRef;ResType:UInt32;ResID:UInt16;size:UInt32):MemHandle; inline(SYSTRAP,$A06C); function DmNumDatabases(cardNo:UInt16):UInt16;inline(SYSTRAP,$A043); function DmNumRecords(dbP:DmOpenRef):UInt16; inline(SYSTRAP,$A04F); function DmNumRecordsInCategory(dbP:DmOpenRef;category:UInt16):UInt16; inline(SYSTRAP,$A071); function DmNumResources(dbP:DmOpenRef):UInt16; inline(SYSTRAP,$A067); function DmOpenDatabase(cardNo:UInt16;dbID:LocalID;mode:UInt16):DmOpenRef; inline(SYSTRAP,$A049); function DmOpenDatabaseByTypeCreator(typo,creator:UInt32;mode:UInt16):DmOpenRef; inline(SYSTRAP,$A075); function DmOpenDatabaseInfo(dbP:DmOpenRef;var dbIDP:LocalID;var openCountP,modeP,cardNoP:UInt16; var resDBP: Boolean):Err; inline(SYSTRAP,$A04C); function DmQueryRecord(dbP:DmOpenRef;index:UInt16):MemHandle; inline(SYSTRAP,$A05B); function DmRecordInfo(dbP:DmOpenRef;index:UInt16;var attrP:UInt16;var uniqueIDP:UInt32;var chunkIDP:LocalID):Err; inline(SYSTRAP,$A050); function DmReleaseRecord(dbP:DmOpenRef;index:UInt16;dirty:Boolean):UInt16; inline(SYSTRAP,$A05E); function DmReleaseResource(resourceH:MemHandle):Err; inline(SYSTRAP,$A061); function DmRemoveRecord(dbP:DmOpenRef;index:UInt16):Err; inline(SYSTRAP,$A056); function DmRemoveResource(dbP:DmOpenRef;index:UInt16):Err; inline(SYSTRAP,$A06D); function DmResourceInfo(dbP:DmOpenRef;index:UInt16;var ResTypeP:UInt32;var ResID:UInt16;var chunkLocalIDP:LocalID):Err; inline(SYSTRAP,$A068); function DmSet(rec:Pointer;offset:UInt32;bytes:UInt32;value:UInt8):UInt16; inline(SYSTRAP,$A07E); function DmSetDatabaseInfo(cardNo:UInt16;dbID:LocalID;const name:String;var attributes,version:UInt16;var crDate,modDate,bkpUpDate,modNum:UInt32;var appInfoID,sortInfoID:LocalID;var t,c:UInt32):UInt16; inline(SYSTRAP,$A047); function DmWrite(recordP:Pointer;offset:UInt32;srcP:Pointer;bytes:UInt32):UInt16; inline(SYSTRAP,$A076); procedure EvtGetEvent(var event:EventType;timeout:UInt32); inline(SYSTRAP,$A11D); procedure FldDrawField(fldP:FieldPtr); inline(SYSTRAP,$A135); procedure FldGetAttributes(fldP:FieldPtr;var attrP:UInt16); inline(SYSTRAP,$A14F); function FldGetTextHandle(fldP:FieldPtr):MemHandle;inline(SYSTRAP,$A153); function FldGetTextLength(fldP:FieldPtr):UInt16;inline(SYSTRAP,$A14B); function FldGetTextPtr(fldP:FieldPtr):StringPtr; inline(SYSTRAP,$A139); function FldNewField(formP:FormPtr;ObjID:UInt16;x,y,width,height:Coord;font:FontID;maxChars:UInt32;editable:Boolean;underlined:UnderlineModeType;singleLine,dynamicSize:Boolean;justification:Byte;autoShift,hasScrollBar,numeric:Boolean):FieldPtr; inline(SYSTRAP,$A32D); procedure FldSetAttributes(fldP:FieldPtr;var attrP:UInt16); inline(SYSTRAP,$A150); procedure FldSetSelection(fldP:FieldPtr;startPosition,endPosition:UInt16); inline(SYSTRAP,$A142); procedure FldSetTextHandle(fldP:FieldPtr;textHandle:MemHandle); inline(SYSTRAP,$A158); procedure FntCharsInWidth(const Chars:String;var stringWidthP,stringLengthP:Int16;var fitWithinWidth:Boolean); inline(SYSTRAP,$A16D); function FntCharsWidth(const Chars:String;Len:Int16):Int16; inline(SYSTRAP,$A16B); function FntDefineFont(font:FontID;fontP:pointer):UInt16; inline(SYSTRAP,$A321); function FntGetFont:FontID; inline(SYSTRAP,$A163); function FntSetFont(font:FontID):FontID; inline(SYSTRAP,$A164); function FontSelect(font:FontID):FontID; inline(SYSTRAP,$A320); function FrmAlert(alertId:UInt16):UInt16; inline(SYSTRAP,$A192); procedure FrmCloseAllForms;inline(SYSTRAP,$A1A1); procedure FrmCopyLabel(FormP:FormPtr;labelID:UInt16;Const newLabel:String); inline(SYSTRAP,$A18C); function FrmCustomAlert(alertId:UInt16;const s1,s2,s3:String):UInt16; inline(SYSTRAP,$A194); procedure FrmDeleteForm(FormP:FormPtr); inline(SYSTRAP,$A170); function FrmDispatchEvent(var event:EventType):Boolean; inline(SYSTRAP,$A1A0); function FrmDoDialog(formP:FormPtr):UInt16; inline(SYSTRAP,$A193); procedure FrmDrawForm(FormP:FormPtr); inline(SYSTRAP,$A171); procedure FrmEraseForm(FormP:FormPtr); inline(SYSTRAP,$A172); function FrmGetActiveForm:FormPtr; inline(SYSTRAP,$A173); function FrmGetFocus(formP:FormPtr):UInt16;inline(SYSTRAP,$A178); function FrmGetFormId(const formP:FormPtr):UInt16; inline(SYSTRAP,$A17D); function FrmGetFormPtr(formId:UInt16):FormPtr; inline(SYSTRAP,$A17E); function FrmGetLabel(formP:FormPtr;labelID:UInt16):StringPtr; inline(SYSTRAP,$A18E); procedure FrmGetObjectBounds(formP:FormPtr;objIndex:UInt16;var r:RectangleType); inline(SYSTRAP,$A199); function FrmGetObjectId(formP:FormPtr;objIndex:UInt16):UInt16; inline(SYSTRAP,$A181); function FrmGetObjectIndex(formP:FormPtr;objID:UInt16):UInt16; inline(SYSTRAP,$A180); function FrmGetObjectPtr(formP:FormPtr;objIndex:UInt16):pointer; inline(SYSTRAP,$A183); procedure FrmGotoForm(FormID:UInt16); inline(SYSTRAP,$A19B); function FrmHandleEvent(formP:FormPtr;var event:EventType):Boolean; inline(SYSTRAP,$A17A); procedure FrmHelp(helpMsgId:UInt16); inline(SYSTRAP,$A195); procedure FrmHideObject(formP:FormPtr;objIndex:UInt16); inline(SYSTRAP,$A184); function FrmInitForm(rscID:UInt16):FormPtr; inline(SYSTRAP,$A16F); function FrmNewLabel(formP:FormPtr;objID:UInt16;const textP:String;x,y:Coord;font:FontID):ControlPtr; inline(SYSTRAP,$A32F); procedure FrmPopupForm(formId:UInt16); inline(SYSTRAP,$A19C); function FrmRemoveObject(formP:FormPtr;objIndex:UInt16):Err; inline(SYSTRAP,$A345); procedure FrmReturnToForm(formId:UInt16); inline(SYSTRAP,$A19E); procedure FrmSetActiveForm(FormP:FormPtr); inline(SYSTRAP,$A174); procedure FrmSetControlGroupSelection(formP:FormPtr;groupNum:UInt8;controlID:UInt16); inline(SYSTRAP,$A18B); procedure FrmSetControlValue(formP:FormPtr;objIndex:UInt16;newValue:UInt16); inline(SYSTRAP,$A189); procedure FrmSetEventHandler(FormP:FormPtr;function handler(var event:Eventtype):Boolean); inline(SYSTRAP,$A19F); procedure FrmSetFocus(formP:FormPtr;fieldIndex:UInt16);inline(SYSTRAP,$A179); procedure FrmSetObjectBounds(formP:FormPtr;objIndex:UInt16;var r:RectangleType); inline(SYSTRAP,$A303); procedure FrmSetObjectPosition(FormP:FormPtr;objIndex:UInt16;x,y:Coord); inline(SYSTRAP,$A187); procedure FrmSetTitle(formP:FormPtr;const newTitle:string);inline(SYSTRAP,$A191); procedure FrmShowObject(formP:FormPtr;objIndex:UInt16); inline(SYSTRAP,$A185); function FtrGet(creator:UInt32;featureNum:UInt16;var valueP:UInt32):Err; inline(SYSTRAP,$A27B); function GetCharCaselessValue:pointer; inline(SYSTRAP,$A296); Procedure GsiInitialize; inline(SYSTRAP,$A29B); Procedure GsiSetLocation(x,y:Int16); inline(SYSTRAP,$A29C); Procedure GsiEnable(enableIt:Boolean); inline(SYSTRAP,$A29D); Function GsiEnabled:Boolean; inline(SYSTRAP,$A29E); Procedure GsiSetShiftState(lockFlags,tempShift:UInt16); inline(SYSTRAP,$A29F); procedure InsPtEnable(enableIt:Boolean); inline(SYSTRAP,$A1AB); procedure InsPtSetHeight(Height:Int16); inline(SYSTRAP,$A1AD); procedure InsPtSetLocation(x,y:Int16); inline(SYSTRAP,$A1A9); function KeyCurrentState:UInt32;inline(SYSTRAP,$A2A2); procedure LstDrawList(ListP:ListPtr);inline(SYSTRAP,$A1B1); procedure LstEraseList(ListP:ListPtr);inline(SYSTRAP,$A1B2); function LstGetNumberOfItems(ListP:ListPtr):Int16;inline(SYSTRAP,$A1BA); function LstGetSelection(ListP:ListPtr):Int16; inline(SYSTRAP,$A1B3); function LstGetSelectionText(ListP:ListPtr;intemNum:Int16):StringPtr; inline(SYSTRAP,$A1B4); function LstGetVisibleItems(ListP:ListPtr):Int16;inline(SYSTRAP,$A2FF); procedure LstMakeItemVisible(ListP:ListPtr;itemNum:Int16); inline(SYSTRAP,$A0B9); function LstNewList(formP:FormPtr;id:UInt16;x,y,width,height:Coord;font:FontID;visibleItems,triggerId:Int16):Err; inline(SYSTRAP,$A32E); function LstPopupList(listP:ListPtr):Int16; inline(SYSTRAP,$A1BB); function LstScrollList(ListP:ListPtr;direction:WinDirectionType;itemCount:Int16):Boolean;inline(SYSTRAP,$A2FB); procedure LstSetListChoices(listP:ListPtr;itemsText:Pointer;numItems:Int16); inline(SYSTRAP,$A1B8); procedure LstSetSelection(ListP:ListPtr;itemNum:Int16); inline(SYSTRAP,$A1B7); procedure LstSetTopItem(ListP:ListPtr;itemNum:Int16);inline(SYSTRAP,$A2B5); function MemCardInfo(cardNo:UInt16;var cardNameP,manufNameP:String;var versionP:UInt16;var crDateP,romSizeP,ramSizeP,freeBytesP:UInt32):Err; inline(SYSTRAP,$A004); function MemHandleFree(h: MemHandle):UInt16; inline(SYSTRAP,$A02B); function MemHandleLock(h:MemHandle):MemPtr; inline(SYSTRAP,$A021); function MemHandleNew(size:UInt32):MemHandle;inline(SYSTRAP,$A01E); function MemHandleSize(h:MemHandle):UInt32; inline(SYSTRAP,$A02D); function MemHandleUnlock(h:MemHandle):UInt16; inline(SYSTRAP,$A022); function MemHeapDynamic(heapID:UInt16):Boolean; inline(SYSTRAP,$A03E); function MemHeapFlags(heapID:UInt16):UInt16; inline(SYSTRAP,$A00D); function MemHeapFreeBytes(heapID:UInt16;var freeP,maxP:UInt32):Err; inline(SYSTRAP,$A00B); function MemHeapID(cardNo,heapIndex:UInt16):UInt16; inline(SYSTRAP,$A009); function MemHeapSize(heapID:UInt16):UInt32; inline(SYSTRAP,$A00C); function MemLocalIDKind(local:LocalID):LocalIDKind; inline(SYSTRAP,$A024); function MemLocalIDToPtr(local:LocalID;cardNo:UInt16):Pointer; inline(SYSTRAP,$A025); procedure MemMove(var dst,s;numBytes:Int32); inline(SYSTRAP,$A026); function MemNumCards:UInt16; inline(SYSTRAP,$A03A); function MemNumHeaps(cardNo:UInt16):UInt16; inline(SYSTRAP,$A007); function MemPtrFree(p:MemPtr):UInt16; inline(SYSTRAP,$A012); function MemPtrHeapID(p:Pointer):UInt16; inline(SYSTRAP,$A018); function MemPtrNew(size:UInt32):MemPtr; inline(SYSTRAP,$A013); function MemPtrSetOwner(p:MemPtr;owner:UInt16):UInt16; inline(SYSTRAP,$A01B); procedure MemSet(var dst;numBytes:integer;value:UInt8); inline(SYSTRAP,$A027); procedure MenuEraseStatus(menuP:Pointer); inline(SYSTRAP,$A1C1); function MenuHandleEvent(menuP:Pointer;var event:EventType;var error:UInt16):Boolean; inline(SYSTRAP,$A1BF); function PrefGetAppPreferences(creator:UInt32;id:UInt16;var prefs;var prefsSize:UInt16;saved:Boolean):Int16; inline(SYSTRAP,$A2D3); procedure PrefSetAppPreferences(creator:UInt32;id,version:UInt16;var prefs;prefsSize:UInt16;saved:Boolean); inline(SYSTRAP,$A2D4); function RctPtInRectangle(x,y:Coord;var r:RectangleType):Boolean; inline(SYSTRAP,$A1C8); procedure RctSetRectangle(var r:RectangleType;left,top,width,height:Coord); inline(SYSTRAP,$A1C4); procedure SclSetScrollBar(barP:ScrollBarPtr;value,min,max,pageSize:Int16); inline(SYSTRAP,$A2B6); function SelectDay(selectDayBy:SelectDayType;var month,day,year:Int16;Const title:String):Boolean; inline(SYSTRAP,$A2D0); function SelectOneTime(var hour,minute:Int16;Const title:String):Boolean; inline(SYSTRAP,$A34F); procedure SndPlaySystemSound(beepID:Int8); inline(SYSTRAP,$A234); function StrAToI(const S:string):integer; inline(SYSTRAP,$a0ce); function StrCaselessCompare(const s1,s2:string):Int16; inline(SYSTRAP,$A0CA); procedure StrCopy(dst:MemPtr;const src:String); inline(SYSTRAP,$A0C5); procedure StrIToA(var S:string;N:integer); inline(SYSTRAP,$A0C9); function StrIToH(var s:String;i:UInt32):StringPtr; inline(SYSTRAP,$A0CB); procedure StrNCopy(var dst:String;src:MemPtr;n:Int16); inline(SYSTRAP,$A2CE); function StrStr(const str,token:String):Pointer; inline(SYSTRAP,$A0CD); function SysBatteryInfo(doSet:Boolean;var warnThresholdP,criticalThresholdP:UInt16;var maxTicksP:Int16;var kindP:SysBatteryKind;var pluggedIn:Boolean;var percentP:UInt8):UInt16; inline(SYSTRAP,$A324); function SysCurAppDatabase(var cardNo:UInt16;var dbID:LocalID):UInt16; inline(SYSTRAP,$A0AC); function SysFormPointerArrayToStrings(c:Pointer;StringCount:Int16):MemHandle; inline(SYSTRAP,$A0C1); function SysHandleEvent(var event:EventType):Boolean; inline(SYSTRAP,$A0A9); function SysTaskDelay(delay:Int32):Err; inline(SYSTRAP,$A0A0); function SysTicksPerSecond:UInt16; inline(SYSTRAP,$A2E9); function SysUIAppSwitch(cardNo:UInt16;dbID:LocalID;cmd:UInt16;cmdPBP:Pointer):UInt16; inline(SYSTRAP,$A0A7); Procedure TimeToAscii(hours,minutes:UInt8;timeFormat:TimeFormatType;var pString:String); inline(SYSTRAP,$A268); function TimGetSeconds:UInt32; inline(SYSTRAP,$A0F5); function TimGetTicks:UInt32; inline(SYSTRAP,$A0F7); procedure TimSecondsToDateTime(seconds:UInt32;dateTimeP:DateTimePtr); inline(SYSTRAP,$A0FC); function UIPickColor(var indexP:IndexedColorType;var rgbP:RGBColorType;start:UInt16;const titleP,tipP:String):Boolean; inline(SYSTRAP,$A3AC); function WinCreateBitmapWindow(bitmapP:BitmapPtr;var error:UInt16):WinHandle; inline(SYSTRAP,$A3E4); procedure WinDeleteWindow(win:WinHandle;eraseIt:boolean); inline(SYSTRAP,$A1F8); procedure WinDrawBitmap(bitmapP:BitmapPtr;x,y:Coord); inline(SYSTRAP,$A226); procedure WinDrawChars(const chars:string;len:Int16;x,y:Coord); inline(SYSTRAP,$A220); procedure WinDrawChar(theChar:WChar;x,y:Coord); inline(SYSTRAP,$A350); procedure WinDrawLine(x1,y1,x2,y2:Coord); inline(SYSTRAP,$A213); procedure WinDrawRectangle(var r:RectangleType;cornerDiam:UInt16); inline(SYSTRAP,$A218); procedure WinDrawRectangleFrame(frame:FrameType;var rP:RectangleType); inline(SYSTRAP,$A21B); procedure WinDrawTruncChars(const chars:String;len:Int16;x,y,maxWidth:Coord); inline(SYSTRAP,$A351); procedure WinEraseLine(x1,y1,x2,y2:Coord); inline(SYSTRAP,$A215); procedure WinEraseRectangle(var r:RectangleType;cornerDiam:UInt16); inline(SYSTRAP,$A219); procedure WinEraseRectangleFrame(frame:FrameType;var rP:RectangleType); inline(SYSTRAP,$A21D); procedure WinIndexToRGB(i:IndexedColorType;var rgbP:RGBColorType); inline(SYSTRAP,$A39F); procedure WinPopDrawState; inline(SYSTRAP,$A396); procedure WinPushDrawState; inline(SYSTRAP,$A395); function WinRGBToIndex(var rgbP:RGBColorType):IndexedColorType; inline(SYSTRAP,$A39E); function WinScreenMode(operation:WinScreenModeOperation;var widthP,heightP,depthP:UInt32;var enableColorP:Boolean):Err; inline(SYSTRAP,$A33E); function WinSetDrawWindow(win:WinHandle):WinHandle; inline(SYSTRAP,$A1FD); function WinSetForeColor(foreColor:IndexedColorType):IndexedColorType; inline(SYSTRAP,$A398); function WinSetBackColor(foreColor:IndexedColorType):IndexedColorType; inline(SYSTRAP,$A399); function WinSetTextColor(foreColor:IndexedColorType):IndexedColorType; inline(SYSTRAP,$A39A); function WinSetDrawMode(newMode:WinDrawOperation):WinDrawOperation; inline(SYSTRAP,$A397); // VFS functions function VFSDirEntryEnumerate(dirRef:UInt32;var dirEntryIteratorP:UInt32;var infoP:FileInfoType):Err; inline($7414,SYSTRAP,VFS_TRAP); function VFSFileClose(fileRefP:UInt32):Err; inline($7404,SYSTRAP,VFS_TRAP); function VFSFileOpen(volRefNum:UInt16;pathNameP:Pointer;openMode:UInt16;var fileRefP:UInt32):Err; inline($7403,SYSTRAP,VFS_TRAP); function VFSFileSize(fileRefP:UInt32;var fileSizeP:UInt32):Err; inline($7412,SYSTRAP,VFS_TRAP); function VFSVolumeEnumerate(var volRefNumP:UInt16;var volIteratorP:UInt32):Err; inline($741B,SYSTRAP,VFS_TRAP); function VFSVolumeGetLabel(volRefNum:UInt16;const labelP:String;bufLen:UInt16):Err; inline($741D,SYSTRAP,VFS_TRAP); function VFSVolumeSize(volRefNum:UInt16;var volumeUsedP:UInt32;var volumeTotalP:UInt32):Err; inline($741F,SYSTRAP,VFS_TRAP); // HighRes functions function WinScreenGetAttribute(selector:WinScreenAttrType;var attrP:UInt32):Err; inline($740E,SYSTRAP,HIGH_DENSITY_TRAP); // Special Functions const V100 = $0100; V200 = $0200; V300 = $0300; V310 = $0310; V320 = $0320; V330 = $0330; V350 = $0350; V400 = $0400; V410 = $0410; V500 = $0500; function VersionSupported(MinVersion:UInt32):boolean; var ErrNo:Err; ROMVersion:UInt32; begin ErrNo:=FtrGet(sysFtrCreator,1,ROMVersion); VersionSupported:=ROMVersion>=MinVersion*$10000; end; function HandlerNONE(var e:EventType):boolean; // Needed for Palm OS < v3 begin HandlerNONE:=false; end;
Catégories: Source | Logiciel | Pascal | Palm