X-Git-Url: http://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=win32_makefile%2Fgui_delphi%2FGnokiiAPI.pas;fp=win32_makefile%2Fgui_delphi%2FGnokiiAPI.pas;h=02ac8032de8bcc8e44c29756e2f7b1967347a267;hp=0000000000000000000000000000000000000000;hb=2e0972b02d101bb0d8e9d3e15d2ac80def491a63;hpb=cc37b87508c91b5d4f21fd4bbc298104ae7de1dc;ds=sidebyside diff --git a/win32_makefile/gui_delphi/GnokiiAPI.pas b/win32_makefile/gui_delphi/GnokiiAPI.pas new file mode 100644 index 0000000..02ac803 --- /dev/null +++ b/win32_makefile/gui_delphi/GnokiiAPI.pas @@ -0,0 +1,574 @@ +// This is header file for gnokiiapi.dll +// Latest version: http://marcin-wiacek.topnet.pl + +unit GnokiiAPI; + +interface + +uses Classes,Forms,SysUtils; + +const + GSM_General = 10; + GSM_Mobile = 3; + GSM_Work = 6; + GSM_Fax = 4; + GSM_Home = 2; + + GSM_Date = 19; + GSM_Number = 11; + GSM_Note = 10; + GSM_Postal = 9; + GSM_Email = 8; + +const + GMT_ME=0; + GMT_SM=1; + GMT_FD=2; + GMT_ON=3; + GMT_EN=4; + GMT_DC=5; + GMT_RC=6; + GMT_MC=7; + GMT_LD=8; + GMT_MT=9; + GMT_TA=10; + GMT_CB=11; + GMT_CG=12; + + GCT_FBUS=0; + GCT_MBUS=3; + + GSS_SENTREAD=1; + GSS_NOTSENTREAD=3; + +const + GSM_None=0; + GSM_StartupLogo=1; //size 84*48 + GSM_OperatorLogo=2; //size 72*14 + GSM_CallerLogo=3; //size 72*14 + GSM_PictureImage=4; //size 72*28 + GSM_7110OperatorLogo=5; //size 78*21 + GSM_7110StartupLogo=6; //size 96*65 + GSM_6210StartupLogo=7; //size 96*60 + GSM_WelcomeNoteText=8; + GSM_DealerNoteText=9; + +const + GSM_SoftReset=3; + +const + GCN_REMINDER=1; + GCN_CALL=2; + GCN_MEETING=3; + GCN_BIRTHDAY=4; + +const + GSMF_Text = 0; + GSMF_Fax = 34; + GSMF_Voice = 36; + GSMF_ERMES = 37; + GSMF_Paging = 38; + GSMF_UCI = 45; + GSMF_Email = 50; + GSMF_X400 = 49; + + GSMV_1_Hour = 11; + GSMV_6_Hours = 71; + GSMV_24_Hours = 167; + GSMV_72_Hours = 169; + GSMV_1_Week = 173; + GSMV_Max_Time = 255; + + GST_SMS=0; + GST_DR=1; + + GSM_Coding_Unicode = 1; + GSM_Coding_Default = 2; + + GSCT_SecurityCode = 1; + + GSM_NoUDH=0; + +const + FN_CALENDAR=0; + FN_CALLERGROUPS=2; + FN_SMS=11; + FN_PROFILES=14; + FN_WAP=16; + + F_CAL61=0;//Calendar in 6110 style - 4 types,... + F_CAL33=1;//Calendar in 3310 style - 10 reminders, Unicode, 3 coding types + F_CAL71=2;//Calendar in 7110 style - 4 types, recurrance, etc. + + F_SMS =7; //SMS with Inbox, Outbox + F_SMS71=8; //SMS with SMS folders like in 7110 + F_PROF61=22;//Profiles numbered like in N6110 + F_PROF51=23;//Profiles numbered like in N5110 + F_PROF33=24;//Profiles numbered like in N3310.Unicode names + +const + GE_SMSTOOLONG=22; + +const + PROFILE_MESSAGE_NOTONE=0; + PROFILE_MESSAGE_STANDARD=1; + PROFILE_MESSAGE_SPECIAL=2; + PROFILE_MESSAGE_BEEPONCE=3; + PROFILE_MESSAGE_ASCENDING=4; + + PROFILE_WARNING_OFF=255; + PROFILE_WARNING_ON =4; + + PROFILE_CALLALERT_RINGING=1; + PROFILE_CALLALERT_BEEPONCE=2; + PROFILE_CALLALERT_OFF=4; + PROFILE_CALLALERT_RINGONCE=5; + PROFILE_CALLALERT_ASCENDING=6; + PROFILE_CALLALERT_CALLERGROUPS=7; + + PROFILE_KEYPAD_OFF=255; + PROFILE_KEYPAD_LEVEL1=0; + PROFILE_KEYPAD_LEVEL2=1; + PROFILE_KEYPAD_LEVEL3=2; + + PROFILE_VOLUME_LEVEL1=6; + PROFILE_VOLUME_LEVEL2=7; + PROFILE_VOLUME_LEVEL3=8; + PROFILE_VOLUME_LEVEL4=9; + PROFILE_VOLUME_LEVEL5=10; + + PROFILE_CALLERGROUPS_ALL=255; + PROFILE_CALLERGROUPS_FAMILY=1; + PROFILE_CALLERGROUPS_VIP=2; + PROFILE_CALLERGROUPS_FRIENDS=4; + PROFILE_CALLERGROUPS_COLLEAGUES=8; + PROFILE_CALLERGROUPS_OTHERS=16; + + PROFILE_VIBRATION_OFF=0; + PROFILE_VIBRATION_ON=1; + PROFILE_VIBRATION_FIRST=2; + +type + GSM_NetworkInfo= record + NetworkCode: array[1..10] of char; // GSM network code + CellID: array[1..10] of char; // CellID + LAC: array[1..10] of char; // LAC + end; + PGSM_NetworkInfo=^GSM_NetworkInfo; + + GSM_DateTime=record + IsSet:integer; + Year:integer; + Month:integer; + Day:integer; + Hour:integer; + Minute:integer; + Second:integer; + Timezone:integer; + end; + PGSM_DateTime=^GSM_DateTime; + + GSM_SubPhonebookEntry= record + EntryType:integer; + NumberType:integer; + Number:array[1..61] of char; + Date:GSM_DateTime; + BlockNumber:integer; + end; + + GSM_PhonebookEntry= record + Empty:integer; + Name:array[1..51] of char; + Number:array[1..49] of char; + MemoryType:integer; + Group:integer; + Location:integer; + SubEntries:array[1..8] of GSM_SubPhonebookEntry; + SubEntriesCount:integer; + end; + PGSM_PhonebookEntry=^GSM_PhonebookEntry; + + GSM_MemoryStatus=record + MemoryType:integer; + Used:integer; + Free:integer; + end; + PGSM_memoryStatus=^GSM_MemoryStatus; + + GSM_RingtoneNote=record + duration:byte; + note:byte; + tempo:integer; + style:byte; + end; + + GSM_Ringtone=record + name:array[1..20] of char; + Loop:byte; + NrNotes:byte; + notes:array[1..256] of GSM_RingtoneNote; + allnotesscale:integer; + location:integer; + end; + PGSM_Ringtone=^GSM_Ringtone; + + GSM_BinRingtone=record + name:array[1..20] of char; + frame:array[1..1000] of char; + length:integer; + location:integer; + end; + PGSM_BinRingtone=^GSM_BinRingtone; + + GSM_Bitmap=record + heigh:byte; + width:byte; + size:smallint; + type2:integer; + netcode:array[1..7] of char; + text:array[1..256] of char; + bitmap:array[1..864] of char; + number:byte; + ringtone:byte; + enabled:integer; + Sender:array[1..41] of char; + end; + PGSM_Bitmap=^GSM_Bitmap; + + GSM_SpeedDial=record + Number:integer; + MemoryType:integer; + Location:integer; + end; + PGSM_SpeedDial=^GSM_SpeedDial; + + GSM_CalendarNote=record + Location:integer; + Type2:integer; + Time:GSM_DateTime; + Alarm:GSM_DateTime; + Text:array[1..59] of char; + Phone:array[1..37] of char; + + Recurrance:integer; + YearOfBirth:integer; + AlarmType:byte; + ReadNotesInfo:integer; + end; + PGSM_CalendarNote=^GSM_CalendarNote; + + GSM_MessageCenter=record + No:integer; + Name:array[1..20] of char; + Format:integer; + Validity:integer; + Number:array[1..40] of char; + DefaultRecipient:array[1..40] of char; + end; + PGSM_MessageCenter=^GSM_MessageCenter; + + GSM_Profile=record + Number:integer; + Name:array[1..40] of char; + DefaultName:integer; + KeypadTone:integer; + Lights:integer; + CallAlert:integer; + Ringtone:integer; + Volume:integer; + MessageTone:integer; + WarningTone:integer; + Vibration:integer; + CallerGroups:integer; + ScreenSaver:integer; + AutomaticAnswer:integer; + end; + PGSM_Profile=^GSM_Profile; + + GSM_OneSimlock=record + data:array[1..11] of char; + enabled:integer; + counter:integer; + factory:integer; + end; + + GSM_AllSimlocks=record + simlocks:array[1..4] of GSM_OneSimlock; + end; + PGSM_AllSimlocks=^GSM_AllSimlocks; + + GSM_OneSMSFolder=record + Name:array[1..15] of char; + locations:array[1..160] of byte; + number:byte; + end; + + GSM_SMSFolders=record + Folder: array[1..24] of GSM_OneSMSFolder; + FoldersID: array[1..24] of byte; + number:byte; + end; + PGSM_SMSFolders=^GSM_SMSFolders; + + GSM_SMSMessage=record + Coding:integer; + Time:GSM_DateTime; + SMSCTime:GSM_DateTime; + Length:integer; + Validity:integer; + UDHType:integer; + UDH:array[1..140] of char; + MessageText:array[1..161] of char; + MessageCenter:GSM_MessageCenter; + Sender:array[1..41] of char; + Destination:array[1..41] of char; + MessageNumber:integer; + MemoryType:integer; + Type2:integer; + Status:integer; + Class2:integer; + Compression:integer; + Location:integer; + ReplyViaSameSMSC:integer; + folder:integer; + SMSData:integer; + Name:array[1..26] of char; + end; + PGSM_SMSMessage=^GSM_SMSMessage; + + GSM_MultiSMSMessage=record + number:integer; + SMS:array[1..6] of GSM_SMSMessage; + end; + PGSM_MultiSMSMessage=^GSM_MultiSMSMessage; + + GSM_SMS2Foldertable=record + smsnum:integer; + folder:shortint; + location:integer; + end; + + GSM_SMSStatus=record + UnRead:integer; + Number:integer; + foldertable:array[1..255] of GSM_SMS2FolderTable; + end; + PGSM_SMSStatus=^GSM_SMSStatus; + + GSM_SecurityCode=record + Type2:integer; + Code:array[1..10] of char; + end; + PGSM_SecurityCode=^GSM_SecurityCode; + + GSM_WAPBookmark=record + adress:array[1..256] of char; + title:array[1..51] of char; + location:Word; + end; + PGSM_WAPBookmark=^GSM_WAPBookmark; + + GSM_WAPSettings=record + location:byte; + homepage:array[1..101] of char; + title:array[1..21] of char; + bearer:integer; + issecurity:integer; + iscontinuous:integer; + + //for data bearer + ipaddress:array[1..21] of char; + dialup:array[1..21] of char; + user:array[1..51] of char; + password:array[1..51] of char; + isspeed14400:integer; + isISDNcall:integer; + isnormalauthentication:integer; + + //for sms bearer + server:array[1..22] of char; + + //for sms or ussd bearer + service:array[1..21] of char; + isIP:integer; + + //for ussd bearer + code:array[1..11] of char; + end; + PGSM_WAPSettings=^GSM_WAPSettings; + +const + WAPSETTINGS_BEARER_SMS=0; + WAPSETTINGS_BEARER_DATA=1; + WAPSETTINGS_BEARER_USSD=2; + +const + GSM_CDV_Busy = 1; // Divert when busy + GSM_CDV_NoAnswer = 2; // Divert when not answered + GSM_CDV_OutOfReach = 3; // Divert when phone off or no coverage + GSM_CDV_AllTypes = 4; // Divert all calls without ringing + + GSM_CDV_VoiceCalls = 1; + GSM_CDV_FaxCalls = 2; + GSM_CDV_DataCalls = 3; + GSM_CDV_AllCalls = 4; + + GSM_CDV_Disable = 0; + GSM_CDV_Enable = 1; + GSM_CDV_Query = 2; // Is concrete divert enabled ? + GSM_CDV_Register = 3; // Sets divert + GSM_CDV_Erasure = 4; // Erase concrete divert + +type + GSM_CallDivert=record + DType:integer; + CType:integer; + Operation:integer; + Number:array[1..41] of char; + timeout:longword; + enabled:integer; + end; + PGSM_CallDivert=^GSM_CallDivert; + +var + GSMPhoneConnected: boolean=false; + GSMNetworkInfo: GSM_NetworkInfo; + + GSMPort: array[1..256] of Char; + GSMModel: array[1..256] of Char; + GSMInitLength: Array[1..256] of char; + GSMSynchronizeTime: array[1..256] of char; + GSMConnection: integer=GCT_FBUS; + +type + TSparkyThread = class(TThread) + public + procedure Execute; override; + end; + +var + SparkyThread: TSparkyThread; + +function GSM_Initialize(Port:Pchar;Model:Pchar;connectiontype:integer): integer; stdcall; external 'gnokiiapi.dll' name 'myinitialize'; +function GSM_Terminate(): integer; stdcall; external 'gnokiiapi.dll' name 'myterminate'; + +function GSM_GetNetworkInfo(NetworkInfo:PGSM_NetworkInfo): integer; stdcall; external 'gnokiiapi.dll' name 'mygetnetworkinfo'; +function GSM_GetNetworkName(NetworkName:Pchar;NetworkCode:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetnetworkname'; +function GSM_GetNetworkCode(NetworkName:Pchar;NetworkCode:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetnetworkcode'; +function GSM_GetNetworkData(number:integer; NetworkName:Pchar;NetworkCode:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetnetworkdata'; + +function GSM_Netmonitor(mode:integer;Screen:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mynetmonitor'; + +function GSM_GetMemoryLocation(entry:PGSM_Phonebookentry): integer; stdcall; external 'gnokiiapi.dll' name 'mygetmemorylocation'; +function GSM_WritePhonebookLocation(entry:PGSM_Phonebookentry): integer; stdcall; external 'gnokiiapi.dll' name 'mywritephonebooklocation'; +function GSM_GetMemoryStatus(status:PGSM_MemoryStatus): integer; stdcall; external 'gnokiiapi.dll' name 'mygetmemorystatus'; + +function GSM_ReadRingtoneFile(filename:Pchar;ringtone:PGSM_Ringtone): integer; stdcall; external 'gnokiiapi.dll' name 'myreadringtonefile'; +function GSM_SetRingtone(ringtone:PGSM_Ringtone;notes:Pinteger): integer; stdcall; external 'gnokiiapi.dll' name 'mysetringtone'; +function GSM_ReadBinRingtoneFile(filename:Pchar;ringtone:PGSM_BinRingtone): integer; stdcall; external 'gnokiiapi.dll' name 'myreadbinringtonefile'; +function GSM_SetBinRingtone(ringtone:PGSM_BinRingtone): integer; stdcall; external 'gnokiiapi.dll' name 'mysetbinringtone'; +function GSM_PlayRingtone(ringtone:PGSM_Ringtone): integer; stdcall; external 'gnokiiapi.dll' name 'myplayringtone'; +function GSM_PlayNote(note:GSM_RingtoneNote): integer; stdcall; external 'gnokiiapi.dll' name 'myplaynote'; +function GSM_PlayTone(herz:integer;volume:byte): integer; stdcall; external 'gnokiiapi.dll' name 'myplaytone'; +function GSM_GetTempo(beats:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mygettempo'; + +function GSM_ReadBitmapFile(filename:Pchar;bitmap:PGSM_Bitmap): integer; stdcall; external 'gnokiiapi.dll' name 'myreadbitmapfile'; +function GSM_SaveBitmapFile(filename:Pchar;bitmap:PGSM_Bitmap): integer; stdcall; external 'gnokiiapi.dll' name 'mysavebitmapfile'; +function GSM_IsPointBitmap(bitmap:PGSM_Bitmap;x:integer;y:integer): integer; stdcall; external 'gnokiiapi.dll' name 'myispointbitmap'; +function GSM_SetPointBitmap(bitmap:PGSM_Bitmap;x:integer;y:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mysetpointbitmap'; +function GSM_ClearPointBitmap(bitmap:PGSM_Bitmap;x:integer;y:integer): integer; stdcall; external 'gnokiiapi.dll' name 'myclearpointbitmap'; +function GSM_ClearBitmap(bitmap:PGSM_Bitmap): integer; stdcall; external 'gnokiiapi.dll' name 'myclearbitmap'; +function GSM_GetBitmap(bitmap:PGSM_Bitmap): integer; stdcall; external 'gnokiiapi.dll' name 'mygetbitmap'; +function GSM_SetBitmap(bitmap:PGSM_Bitmap): integer; stdcall; external 'gnokiiapi.dll' name 'mysetbitmap'; +function GSM_ResizeBitmap(bitmap:PGSM_Bitmap;bitmaptype:integer): integer; stdcall; external 'gnokiiapi.dll' name 'myresizebitmap'; + +function GSM_GetImei(IMEI:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetimei'; +function GSM_GetRevision(revision:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetrevision'; +function GSM_GetModel(model:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetmodel'; +function GSM_GetModelNumber(model:Pchar;model2:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetmodelnumber'; + +function GSM_GetDLLVersion(version:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mygetdllversion'; + +function GSM_GetSpeedDial(entry:PGSM_SpeedDial): integer; stdcall; external 'gnokiiapi.dll' name 'mygetspeeddial'; + +function GSM_Reset(mode:byte): integer; stdcall; external 'gnokiiapi.dll' name 'myreset'; + +function GSM_GetCalendarNote(entry:PGSM_CalendarNote): integer; stdcall; external 'gnokiiapi.dll' name 'mygetcalendarnote'; +function GSM_WriteCalendarNote(entry:PGSM_CalendarNote): integer; stdcall; external 'gnokiiapi.dll' name 'mywritecalendarnote'; +function GSM_DeleteCalendarNote(entry:PGSM_CalendarNote): integer; stdcall; external 'gnokiiapi.dll' name 'mydeletecalendarnote'; + +function GSM_GetAlarm(alarmnumber:integer;alarm:PGSM_DateTime): integer; stdcall; external 'gnokiiapi.dll' name 'mygetalarm'; + +function GSM_GetSMSCenter(center:PGSM_MessageCenter): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsmscenter'; +function GSM_SetSMSCenter(center:PGSM_MessageCenter): integer; stdcall; external 'gnokiiapi.dll' name 'mysetsmscenter'; + +function GSM_GetProfile(profile:PGSM_Profile): integer; stdcall; external 'gnokiiapi.dll' name 'mygetprofile'; + +function GSM_GetSimlock(simlock:PGSM_AllSimlocks): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsimlock'; + +function GSM_GetSMSFolders(folders:PGSM_SMSFolders): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsmsfolders'; +function GSM_GetSMSMessage(sms:PGSM_SMSMessage): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsmsmessage'; +function GSM_SaveSMSMessage(sms:PGSM_SMSMessage): integer; stdcall; external 'gnokiiapi.dll' name 'mysavesmsmessage'; +function GSM_SendSMSMessage(sms:PGSM_SMSMessage): integer; stdcall; external 'gnokiiapi.dll' name 'mysendsmsmessage'; +function GSM_DeleteSMSMessage(sms:PGSM_SMSMessage): integer; stdcall; external 'gnokiiapi.dll' name 'mydeletesmsmessage'; +function GSM_GetSMSStatus(folders:PGSM_SMSStatus): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsmsstatus'; +function GSM_MakeMultiPartSMS2(SMS:PGSM_MultiSMSMessage;MessageBuffer:PByte;MessageLength:Integer;UDHType:integer;Coding:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mymakemultipartsms2'; + +function GSM_SaveRingtoneToSMS(SMS:PGSM_MultiSMSMessage;ringtone:PGSM_Ringtone;profilestyle:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mysaveringtonetosms'; +function GSM_SaveCalendarNoteToSMS(SMS:PGSM_MultiSMSMessage;note:PGSM_CalendarNote): integer; stdcall; external 'gnokiiapi.dll' name 'mysavecalendarnotetosms'; +function GSM_SaveBitmapToSMS(SMS:PGSM_MultiSMSMessage;bitmap:PGSM_Bitmap;ScreenSaver:integer;Unicode:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mysavebitmaptosms'; +function GSM_SavePhonebookEntryToSMS(SMS:PGSM_MultiSMSMessage;entry:PGSM_PhonebookEntry;version:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mysavephonebookentrytosms'; +function GSM_SaveWAPBookmarkToSMS(SMS:PGSM_MultiSMSMessage;bookmark:PGSM_WAPBookmark): integer; stdcall; external 'gnokiiapi.dll' name 'mysavewapbookmarktosms'; +function GSM_SaveWAPSettingsToSMS(SMS:PGSM_MultiSMSMessage;settings:PGSM_WAPSettings): integer; stdcall; external 'gnokiiapi.dll' name 'mysavewapsettingstosms'; + +function GSM_ReadConfig(model:Pchar;port:Pchar;initlength:Pchar;connection:Pinteger;synchronizetime:Pchar): integer; stdcall; external 'gnokiiapi.dll' name 'myreadconfig'; + +function GSM_SetLocale(locale:pchar): integer; stdcall; external 'gnokiiapi.dll' name 'mysetlocale'; + +function GSM_GetSecurityCode(code:PGSM_SecurityCode): integer; stdcall; external 'gnokiiapi.dll' name 'mygetsecuritycode'; + +function GSM_GetModelFeature(featurenumber:integer): integer; stdcall; external 'gnokiiapi.dll' name 'mygetmodelfeature'; + +function GSM_GetWAPBookmark(bookmark:PGSM_WAPBookmark): integer; stdcall; external 'gnokiiapi.dll' name 'mygetwapbookmark'; +function GSM_SetWAPBookmark(bookmark:PGSM_WAPBookmark): integer; stdcall; external 'gnokiiapi.dll' name 'mysetwapbookmark'; + +function GSM_GetWAPSettings(settings:PGSM_WAPSettings): integer; stdcall; external 'gnokiiapi.dll' name 'mygetwapsettings'; + +function GSM_CallDivertOperation(divert:PGSM_CallDivert): integer; stdcall; external 'gnokiiapi.dll' name 'mycalldivert'; + +implementation + +procedure TSparkyThread.Execute; +begin + while not Terminated do + begin + if GSMPhoneConnected then + begin + if GSM_GetNetworkInfo(@GSMNetworkInfo)<>0 then + begin + GSMPhoneConnected:=false; + GSM_Terminate(); + end else begin + if not SparkyThread.Suspended then SparkyThread.Suspend; + end; + end else + begin + if GSM_Initialize(@GSMPort,@GSMModel,GSMConnection)=0 then + begin + GSMPhoneConnected:=true; + end else + GSM_Terminate(); + end; + end; + GSMPhoneConnected:=false; +end; + +begin + GSM_ReadConfig(@GSMmodel,@GSMport,@GSMinitlength,@GSMconnection,@GSMsynchronizetime); + GSM_SetLocale('.1250'); + GSMPhoneConnected:=false; + SparkyThread:=TSparkyThread.Create(True); + SparkyThread.Priority:=tpIdle; +// SparkyThread.Priority:=tpLowest; + SparkyThread.Resume; +end.