You've already forked lazarus-ccr
tvplanit: Add new fields (email1..3, website1..2, address1..2, pathtophoto) to contact records. Update some demos.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5164 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -164,8 +164,12 @@ object Form1: TForm1
|
|||||||
DrawingStyle = dsFlat
|
DrawingStyle = dsFlat
|
||||||
EventDayStyle = []
|
EventDayStyle = []
|
||||||
EventFont.Height = -12
|
EventFont.Height = -12
|
||||||
|
HeadAttributes.Color = clBtnFace
|
||||||
LineColor = clGray
|
LineColor = clGray
|
||||||
TimeFormat = tf12Hour
|
TimeFormat = tf12Hour
|
||||||
|
TodayAttributes.Color = clSilver
|
||||||
|
TodayAttributes.BorderPen.Color = clRed
|
||||||
|
TodayAttributes.BorderPen.Width = 3
|
||||||
OffDayColor = clSilver
|
OffDayColor = clSilver
|
||||||
SelectedDayColor = clRed
|
SelectedDayColor = clRed
|
||||||
ShowEvents = True
|
ShowEvents = True
|
||||||
@ -228,11 +232,11 @@ object Form1: TForm1
|
|||||||
end
|
end
|
||||||
object TabSheet2: TTabSheet
|
object TabSheet2: TTabSheet
|
||||||
Caption = 'Contacts'
|
Caption = 'Contacts'
|
||||||
ClientHeight = 594
|
ClientHeight = 624
|
||||||
ClientWidth = 928
|
ClientWidth = 972
|
||||||
object VpContactButtonBar1: TVpContactButtonBar
|
object VpContactButtonBar1: TVpContactButtonBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 594
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 40
|
Width = 40
|
||||||
DrawingStyle = dsFlat
|
DrawingStyle = dsFlat
|
||||||
@ -241,9 +245,9 @@ object Form1: TForm1
|
|||||||
end
|
end
|
||||||
object VpContactGrid1: TVpContactGrid
|
object VpContactGrid1: TVpContactGrid
|
||||||
Left = 40
|
Left = 40
|
||||||
Height = 594
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 888
|
Width = 932
|
||||||
DataStore = VpBufDSDataStore1
|
DataStore = VpBufDSDataStore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -307,10 +311,13 @@ object Form1: TForm1
|
|||||||
CategoryColorMap.Category8.Description = 'Category 8'
|
CategoryColorMap.Category8.Description = 'Category 8'
|
||||||
CategoryColorMap.Category9.Color = clMaroon
|
CategoryColorMap.Category9.Color = clMaroon
|
||||||
CategoryColorMap.Category9.Description = 'Category 9'
|
CategoryColorMap.Category9.Description = 'Category 9'
|
||||||
|
HiddenCategories.BackgroundColor = clSilver
|
||||||
|
HiddenCategories.Color = clGray
|
||||||
EnableEventTimer = True
|
EnableEventTimer = True
|
||||||
PlayEventSounds = True
|
PlayEventSounds = True
|
||||||
AutoConnect = True
|
AutoConnect = True
|
||||||
AutoCreate = True
|
AutoCreate = True
|
||||||
|
DayBuffer = 31
|
||||||
UseAutoIncFields = False
|
UseAutoIncFields = False
|
||||||
left = 136
|
left = 136
|
||||||
top = 192
|
top = 192
|
||||||
|
@ -2,10 +2,10 @@ object Form1: TForm1
|
|||||||
Left = 225
|
Left = 225
|
||||||
Height = 686
|
Height = 686
|
||||||
Top = 155
|
Top = 155
|
||||||
Width = 980
|
Width = 895
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 686
|
ClientHeight = 686
|
||||||
ClientWidth = 980
|
ClientWidth = 895
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
LCLVersion = '1.7'
|
LCLVersion = '1.7'
|
||||||
@ -13,11 +13,11 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 34
|
Height = 34
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 980
|
Width = 895
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 34
|
ClientHeight = 34
|
||||||
ClientWidth = 980
|
ClientWidth = 895
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object VpResourceCombo1: TVpResourceCombo
|
object VpResourceCombo1: TVpResourceCombo
|
||||||
Left = 8
|
Left = 8
|
||||||
@ -50,7 +50,7 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 652
|
Height = 652
|
||||||
Top = 34
|
Top = 34
|
||||||
Width = 980
|
Width = 895
|
||||||
ActivePage = TabSheet1
|
ActivePage = TabSheet1
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabIndex = 0
|
TabIndex = 0
|
||||||
@ -58,12 +58,12 @@ object Form1: TForm1
|
|||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
Caption = 'Events and tasks'
|
Caption = 'Events and tasks'
|
||||||
ClientHeight = 624
|
ClientHeight = 624
|
||||||
ClientWidth = 972
|
ClientWidth = 887
|
||||||
object VpDayView1: TVpDayView
|
object VpDayView1: TVpDayView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 301
|
Width = 283
|
||||||
DataStore = VpFirebirdDatastore1
|
DataStore = VpFirebirdDatastore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -97,21 +97,21 @@ object Form1: TForm1
|
|||||||
TimeFormat = tf12Hour
|
TimeFormat = tf12Hour
|
||||||
end
|
end
|
||||||
object Panel2: TPanel
|
object Panel2: TPanel
|
||||||
Left = 306
|
Left = 288
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 386
|
Width = 339
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
Caption = 'Panel2'
|
Caption = 'Panel2'
|
||||||
ClientHeight = 624
|
ClientHeight = 624
|
||||||
ClientWidth = 386
|
ClientWidth = 339
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object VpWeekView1: TVpWeekView
|
object VpWeekView1: TVpWeekView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 378
|
Height = 378
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 386
|
Width = 339
|
||||||
DataStore = VpFirebirdDatastore1
|
DataStore = VpFirebirdDatastore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -138,7 +138,7 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 241
|
Height = 241
|
||||||
Top = 383
|
Top = 383
|
||||||
Width = 386
|
Width = 339
|
||||||
DataStore = VpFirebirdDatastore1
|
DataStore = VpFirebirdDatastore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -170,16 +170,16 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 5
|
Height = 5
|
||||||
Top = 378
|
Top = 378
|
||||||
Width = 386
|
Width = 339
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
ResizeAnchor = akBottom
|
ResizeAnchor = akBottom
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object VpTaskList1: TVpTaskList
|
object VpTaskList1: TVpTaskList
|
||||||
Left = 697
|
Left = 632
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 275
|
Width = 255
|
||||||
DataStore = VpFirebirdDatastore1
|
DataStore = VpFirebirdDatastore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -204,13 +204,13 @@ object Form1: TForm1
|
|||||||
ShowResourceName = True
|
ShowResourceName = True
|
||||||
end
|
end
|
||||||
object Splitter1: TSplitter
|
object Splitter1: TSplitter
|
||||||
Left = 692
|
Left = 627
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 5
|
Width = 5
|
||||||
end
|
end
|
||||||
object Splitter3: TSplitter
|
object Splitter3: TSplitter
|
||||||
Left = 301
|
Left = 283
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 5
|
Width = 5
|
||||||
@ -305,6 +305,8 @@ object Form1: TForm1
|
|||||||
CategoryColorMap.Category8.Description = 'Category 8'
|
CategoryColorMap.Category8.Description = 'Category 8'
|
||||||
CategoryColorMap.Category9.Color = clMaroon
|
CategoryColorMap.Category9.Color = clMaroon
|
||||||
CategoryColorMap.Category9.Description = 'Category 9'
|
CategoryColorMap.Category9.Description = 'Category 9'
|
||||||
|
HiddenCategories.BackgroundColor = clSilver
|
||||||
|
HiddenCategories.Color = clGray
|
||||||
EnableEventTimer = True
|
EnableEventTimer = True
|
||||||
PlayEventSounds = True
|
PlayEventSounds = True
|
||||||
Connection = IBConnection1
|
Connection = IBConnection1
|
||||||
|
@ -176,12 +176,25 @@ begin
|
|||||||
'Title VARCHAR(50) ,'+
|
'Title VARCHAR(50) ,'+
|
||||||
'Company VARCHAR(50) ,'+
|
'Company VARCHAR(50) ,'+
|
||||||
'Job_Position VARCHAR(30), '+
|
'Job_Position VARCHAR(30), '+
|
||||||
'Address VARCHAR(100), '+
|
'AddressType1 INTEGER, '+
|
||||||
'City VARCHAR(50), '+
|
'Address1 VARCHAR(100), '+
|
||||||
'State VARCHAR(25), '+
|
'City1 VARCHAR(50), '+
|
||||||
'Zip VARCHAR(10), '+
|
'State1 VARCHAR(25), '+
|
||||||
'Country VARCHAR(25), '+
|
'Zip1 VARCHAR(10), '+
|
||||||
|
'Country1 VARCHAR(25), '+
|
||||||
|
'AddressType2 INTEGER, '+
|
||||||
|
'Address2 VARCHAR(100), '+
|
||||||
|
'City2 VARCHAR(50), '+
|
||||||
|
'State2 VARCHAR(25), '+
|
||||||
|
'Zip2 VARCHAR(10), '+
|
||||||
|
'Country2 VARCHAR(25), '+
|
||||||
'Notes VARCHAR, '+
|
'Notes VARCHAR, '+
|
||||||
|
'EMail1 VARCHAR(100), '+
|
||||||
|
'EMail2 VARCHAR(100), '+
|
||||||
|
'EMail3 VARCHAR(100), '+
|
||||||
|
'EMailType1 INTEGER, '+
|
||||||
|
'EMailType2 INTEGER, '+
|
||||||
|
'EMailType3 INTEGER, '+
|
||||||
'Phone1 VARCHAR(25), '+
|
'Phone1 VARCHAR(25), '+
|
||||||
'Phone2 VARCHAR(25), '+
|
'Phone2 VARCHAR(25), '+
|
||||||
'Phone3 VARCHAR(25), '+
|
'Phone3 VARCHAR(25), '+
|
||||||
@ -192,8 +205,12 @@ begin
|
|||||||
'PhoneType3 INTEGER, '+
|
'PhoneType3 INTEGER, '+
|
||||||
'PhoneType4 INTEGER, '+
|
'PhoneType4 INTEGER, '+
|
||||||
'PhoneType5 INTEGER, '+
|
'PhoneType5 INTEGER, '+
|
||||||
|
'Website1 VARCHAR(100), '+
|
||||||
|
'Website2 VARCHAR(100), '+
|
||||||
|
'WebsiteType1 INTEGER, '+
|
||||||
|
'WebsiteType2 INTEGER, '+
|
||||||
'Category INTEGER, '+
|
'Category INTEGER, '+
|
||||||
'EMail VARCHAR(100), '+
|
'PathToPhoto VARCHAR(255), '+
|
||||||
'Custom1 VARCHAR(100), '+
|
'Custom1 VARCHAR(100), '+
|
||||||
'Custom2 VARCHAR(100),'+
|
'Custom2 VARCHAR(100),'+
|
||||||
'Custom3 VARCHAR(100), '+
|
'Custom3 VARCHAR(100), '+
|
||||||
|
@ -51,9 +51,9 @@ object Form1: TForm1
|
|||||||
Height = 652
|
Height = 652
|
||||||
Top = 34
|
Top = 34
|
||||||
Width = 980
|
Width = 980
|
||||||
ActivePage = TabSheet2
|
ActivePage = TabSheet1
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabIndex = 1
|
TabIndex = 0
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = PageControl1Change
|
OnChange = PageControl1Change
|
||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
@ -357,6 +357,8 @@ object Form1: TForm1
|
|||||||
CategoryColorMap.Category8.Description = 'Category 8'
|
CategoryColorMap.Category8.Description = 'Category 8'
|
||||||
CategoryColorMap.Category9.Color = clMaroon
|
CategoryColorMap.Category9.Color = clMaroon
|
||||||
CategoryColorMap.Category9.Description = 'Category 9'
|
CategoryColorMap.Category9.Description = 'Category 9'
|
||||||
|
HiddenCategories.BackgroundColor = clSilver
|
||||||
|
HiddenCategories.Color = clGray
|
||||||
EnableEventTimer = True
|
EnableEventTimer = True
|
||||||
PlayEventSounds = True
|
PlayEventSounds = True
|
||||||
AutoConnect = False
|
AutoConnect = False
|
||||||
@ -456,18 +458,40 @@ object Form1: TForm1
|
|||||||
'Company'
|
'Company'
|
||||||
'Job_Position'
|
'Job_Position'
|
||||||
'Job_Position'
|
'Job_Position'
|
||||||
'Address'
|
'Address1'
|
||||||
'Address'
|
'Address1'
|
||||||
'City'
|
'Address2'
|
||||||
'City'
|
'Address2'
|
||||||
'State'
|
'City1'
|
||||||
'State'
|
'City1'
|
||||||
'Zip'
|
'City2'
|
||||||
'Zip'
|
'City2'
|
||||||
'Country'
|
'State1'
|
||||||
'Country'
|
'State1'
|
||||||
|
'State2'
|
||||||
|
'State2'
|
||||||
|
'Zip1'
|
||||||
|
'Zip1'
|
||||||
|
'Zip2'
|
||||||
|
'Zip2'
|
||||||
|
'Country1'
|
||||||
|
'Country1'
|
||||||
|
'Country2'
|
||||||
|
'Country2'
|
||||||
'Notes'
|
'Notes'
|
||||||
'Notes'
|
'Notes'
|
||||||
|
'EMail1'
|
||||||
|
'EMail1'
|
||||||
|
'EMail2'
|
||||||
|
'EMail2'
|
||||||
|
'EMail3'
|
||||||
|
'EMail3'
|
||||||
|
'EMailType1'
|
||||||
|
'EMailType1'
|
||||||
|
'EMailType2'
|
||||||
|
'EMailType2'
|
||||||
|
'EMailType3'
|
||||||
|
'EMailType3'
|
||||||
'Phone1'
|
'Phone1'
|
||||||
'Phone1'
|
'Phone1'
|
||||||
'Phone2'
|
'Phone2'
|
||||||
@ -488,10 +512,18 @@ object Form1: TForm1
|
|||||||
'PhoneType4'
|
'PhoneType4'
|
||||||
'PhoneType5'
|
'PhoneType5'
|
||||||
'PhoneType5'
|
'PhoneType5'
|
||||||
|
'Website1'
|
||||||
|
'Website1'
|
||||||
|
'Website2'
|
||||||
|
'Website2'
|
||||||
|
'WebsiteType1'
|
||||||
|
'WebsiteType1'
|
||||||
|
'WebsiteType2'
|
||||||
|
'WebsiteType2'
|
||||||
'Category'
|
'Category'
|
||||||
'Category'
|
'Category'
|
||||||
'EMail'
|
'PathToPhoto'
|
||||||
'EMail'
|
'PathToPhoto'
|
||||||
'Custom1'
|
'Custom1'
|
||||||
'Custom1'
|
'Custom1'
|
||||||
'Custom2'
|
'Custom2'
|
||||||
|
@ -2,10 +2,10 @@ object Form1: TForm1
|
|||||||
Left = 344
|
Left = 344
|
||||||
Height = 686
|
Height = 686
|
||||||
Top = 169
|
Top = 169
|
||||||
Width = 980
|
Width = 910
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 686
|
ClientHeight = 686
|
||||||
ClientWidth = 980
|
ClientWidth = 910
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
LCLVersion = '1.7'
|
LCLVersion = '1.7'
|
||||||
@ -13,11 +13,11 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 34
|
Height = 34
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 980
|
Width = 910
|
||||||
Align = alTop
|
Align = alTop
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 34
|
ClientHeight = 34
|
||||||
ClientWidth = 980
|
ClientWidth = 910
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object VpResourceCombo1: TVpResourceCombo
|
object VpResourceCombo1: TVpResourceCombo
|
||||||
Left = 8
|
Left = 8
|
||||||
@ -50,7 +50,7 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 652
|
Height = 652
|
||||||
Top = 34
|
Top = 34
|
||||||
Width = 980
|
Width = 910
|
||||||
ActivePage = TabSheet1
|
ActivePage = TabSheet1
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabIndex = 0
|
TabIndex = 0
|
||||||
@ -58,12 +58,12 @@ object Form1: TForm1
|
|||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
Caption = 'Events and tasks'
|
Caption = 'Events and tasks'
|
||||||
ClientHeight = 624
|
ClientHeight = 624
|
||||||
ClientWidth = 972
|
ClientWidth = 902
|
||||||
object VpDayView1: TVpDayView
|
object VpDayView1: TVpDayView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 301
|
Width = 283
|
||||||
DataStore = VpFlexDataStore1
|
DataStore = VpFlexDataStore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -97,21 +97,21 @@ object Form1: TForm1
|
|||||||
TimeFormat = tf12Hour
|
TimeFormat = tf12Hour
|
||||||
end
|
end
|
||||||
object Panel2: TPanel
|
object Panel2: TPanel
|
||||||
Left = 306
|
Left = 288
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 386
|
Width = 363
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
Caption = 'Panel2'
|
Caption = 'Panel2'
|
||||||
ClientHeight = 624
|
ClientHeight = 624
|
||||||
ClientWidth = 386
|
ClientWidth = 363
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object VpWeekView1: TVpWeekView
|
object VpWeekView1: TVpWeekView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 378
|
Height = 378
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 386
|
Width = 363
|
||||||
DataStore = VpFlexDataStore1
|
DataStore = VpFlexDataStore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -138,7 +138,7 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 241
|
Height = 241
|
||||||
Top = 383
|
Top = 383
|
||||||
Width = 386
|
Width = 363
|
||||||
DataStore = VpFlexDataStore1
|
DataStore = VpFlexDataStore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -170,16 +170,16 @@ object Form1: TForm1
|
|||||||
Left = 0
|
Left = 0
|
||||||
Height = 5
|
Height = 5
|
||||||
Top = 378
|
Top = 378
|
||||||
Width = 386
|
Width = 363
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
ResizeAnchor = akBottom
|
ResizeAnchor = akBottom
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object VpTaskList1: TVpTaskList
|
object VpTaskList1: TVpTaskList
|
||||||
Left = 697
|
Left = 656
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 275
|
Width = 246
|
||||||
DataStore = VpFlexDataStore1
|
DataStore = VpFlexDataStore1
|
||||||
ControlLink = VpControlLink1
|
ControlLink = VpControlLink1
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@ -204,13 +204,13 @@ object Form1: TForm1
|
|||||||
ShowResourceName = True
|
ShowResourceName = True
|
||||||
end
|
end
|
||||||
object Splitter1: TSplitter
|
object Splitter1: TSplitter
|
||||||
Left = 692
|
Left = 651
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 5
|
Width = 5
|
||||||
end
|
end
|
||||||
object Splitter3: TSplitter
|
object Splitter3: TSplitter
|
||||||
Left = 301
|
Left = 283
|
||||||
Height = 624
|
Height = 624
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 5
|
Width = 5
|
||||||
@ -297,6 +297,8 @@ object Form1: TForm1
|
|||||||
CategoryColorMap.Category8.Description = 'Category 8'
|
CategoryColorMap.Category8.Description = 'Category 8'
|
||||||
CategoryColorMap.Category9.Color = clMaroon
|
CategoryColorMap.Category9.Color = clMaroon
|
||||||
CategoryColorMap.Category9.Description = 'Category 9'
|
CategoryColorMap.Category9.Description = 'Category 9'
|
||||||
|
HiddenCategories.BackgroundColor = clSilver
|
||||||
|
HiddenCategories.Color = clGray
|
||||||
EnableEventTimer = True
|
EnableEventTimer = True
|
||||||
PlayEventSounds = True
|
PlayEventSounds = True
|
||||||
AutoConnect = False
|
AutoConnect = False
|
||||||
@ -396,16 +398,32 @@ object Form1: TForm1
|
|||||||
'Company'
|
'Company'
|
||||||
'Job_Position'
|
'Job_Position'
|
||||||
'Job_Position'
|
'Job_Position'
|
||||||
'Address'
|
'AddressType1'
|
||||||
'Address'
|
'AddressType1'
|
||||||
'City'
|
'AddressType2'
|
||||||
'City'
|
'AddressType2'
|
||||||
'State'
|
'Address1'
|
||||||
'State'
|
'Address1'
|
||||||
'Zip'
|
'Address2'
|
||||||
'Zip'
|
'Address2'
|
||||||
'Country'
|
'City1'
|
||||||
'Country'
|
'City1'
|
||||||
|
'City2'
|
||||||
|
'City2'
|
||||||
|
'State1'
|
||||||
|
'State1'
|
||||||
|
'State2'
|
||||||
|
'State2'
|
||||||
|
'Zip1'
|
||||||
|
'Zip1'
|
||||||
|
'Zip2'
|
||||||
|
'Zip2'
|
||||||
|
'Country1'
|
||||||
|
'Country1'
|
||||||
|
'Country2'
|
||||||
|
'Country2'
|
||||||
|
'PathToPhoto'
|
||||||
|
'PathToPhoto'
|
||||||
'Notes'
|
'Notes'
|
||||||
'Notes'
|
'Notes'
|
||||||
'Phone1'
|
'Phone1'
|
||||||
@ -430,8 +448,26 @@ object Form1: TForm1
|
|||||||
'PhoneType5'
|
'PhoneType5'
|
||||||
'Category'
|
'Category'
|
||||||
'Category'
|
'Category'
|
||||||
'EMail'
|
'EMail1'
|
||||||
'EMail'
|
'EMail1'
|
||||||
|
'EMail2'
|
||||||
|
'EMail2'
|
||||||
|
'EMail3'
|
||||||
|
'EMail3'
|
||||||
|
'EMailType1'
|
||||||
|
'EMailType1'
|
||||||
|
'EMailType2'
|
||||||
|
'EMailType2'
|
||||||
|
'EMailType3'
|
||||||
|
'EMailType3'
|
||||||
|
'Website1'
|
||||||
|
'Website1'
|
||||||
|
'Website2'
|
||||||
|
'Website2'
|
||||||
|
'WebsiteType1'
|
||||||
|
'WebsiteType1'
|
||||||
|
'WebsiteType2'
|
||||||
|
'WebsiteType2'
|
||||||
'Custom1'
|
'Custom1'
|
||||||
'Custom1'
|
'Custom1'
|
||||||
'Custom2'
|
'Custom2'
|
||||||
@ -489,7 +525,6 @@ object Form1: TForm1
|
|||||||
FieldDefs = <
|
FieldDefs = <
|
||||||
item
|
item
|
||||||
Name = 'ResourceID'
|
Name = 'ResourceID'
|
||||||
Attributes = [faReadonly]
|
|
||||||
DataType = ftAutoInc
|
DataType = ftAutoInc
|
||||||
Precision = -1
|
Precision = -1
|
||||||
end
|
end
|
||||||
@ -503,7 +538,7 @@ object Form1: TForm1
|
|||||||
Name = 'Notes'
|
Name = 'Notes'
|
||||||
DataType = ftString
|
DataType = ftString
|
||||||
Precision = -1
|
Precision = -1
|
||||||
Size = 255
|
Size = 1024
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'ImageIndex'
|
Name = 'ImageIndex'
|
||||||
@ -514,66 +549,6 @@ object Form1: TForm1
|
|||||||
Name = 'ResourceActive'
|
Name = 'ResourceActive'
|
||||||
DataType = ftBoolean
|
DataType = ftBoolean
|
||||||
Precision = -1
|
Precision = -1
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField0'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField1'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField2'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField3'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField4'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField5'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField6'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField7'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField8'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end
|
|
||||||
item
|
|
||||||
Name = 'UserField9'
|
|
||||||
DataType = ftString
|
|
||||||
Precision = -1
|
|
||||||
Size = 100
|
|
||||||
end>
|
end>
|
||||||
Database = SQLite3Connection1
|
Database = SQLite3Connection1
|
||||||
Transaction = SQLTransaction1
|
Transaction = SQLTransaction1
|
||||||
@ -596,7 +571,6 @@ object Form1: TForm1
|
|||||||
FieldDefs = <
|
FieldDefs = <
|
||||||
item
|
item
|
||||||
Name = 'RecordID'
|
Name = 'RecordID'
|
||||||
Attributes = [faReadonly]
|
|
||||||
DataType = ftAutoInc
|
DataType = ftAutoInc
|
||||||
Precision = -1
|
Precision = -1
|
||||||
end
|
end
|
||||||
@ -679,7 +653,7 @@ object Form1: TForm1
|
|||||||
Name = 'Notes'
|
Name = 'Notes'
|
||||||
DataType = ftString
|
DataType = ftString
|
||||||
Precision = -1
|
Precision = -1
|
||||||
Size = 255
|
Size = 1024
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'Phone1'
|
Name = 'Phone1'
|
||||||
@ -792,7 +766,6 @@ object Form1: TForm1
|
|||||||
FieldDefs = <
|
FieldDefs = <
|
||||||
item
|
item
|
||||||
Name = 'RecordID'
|
Name = 'RecordID'
|
||||||
Attributes = [faReadonly]
|
|
||||||
DataType = ftAutoInc
|
DataType = ftAutoInc
|
||||||
Precision = -1
|
Precision = -1
|
||||||
end
|
end
|
||||||
@ -827,7 +800,7 @@ object Form1: TForm1
|
|||||||
Name = 'Notes'
|
Name = 'Notes'
|
||||||
DataType = ftString
|
DataType = ftString
|
||||||
Precision = -1
|
Precision = -1
|
||||||
Size = 255
|
Size = 1024
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'Category'
|
Name = 'Category'
|
||||||
@ -901,7 +874,6 @@ object Form1: TForm1
|
|||||||
FieldDefs = <
|
FieldDefs = <
|
||||||
item
|
item
|
||||||
Name = 'RecordID'
|
Name = 'RecordID'
|
||||||
Attributes = [faReadonly]
|
|
||||||
DataType = ftAutoInc
|
DataType = ftAutoInc
|
||||||
Precision = -1
|
Precision = -1
|
||||||
end
|
end
|
||||||
@ -925,7 +897,7 @@ object Form1: TForm1
|
|||||||
Name = 'Details'
|
Name = 'Details'
|
||||||
DataType = ftString
|
DataType = ftString
|
||||||
Precision = -1
|
Precision = -1
|
||||||
Size = 255
|
Size = 1024
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Name = 'CreatedOn'
|
Name = 'CreatedOn'
|
||||||
@ -978,7 +950,6 @@ object Form1: TForm1
|
|||||||
object SQLite3Connection1: TSQLite3Connection
|
object SQLite3Connection1: TSQLite3Connection
|
||||||
Connected = False
|
Connected = False
|
||||||
LoginPrompt = False
|
LoginPrompt = False
|
||||||
DatabaseName = 'data.db'
|
|
||||||
KeepConnection = False
|
KeepConnection = False
|
||||||
Transaction = SQLTransaction1
|
Transaction = SQLTransaction1
|
||||||
Options = []
|
Options = []
|
||||||
|
@ -154,12 +154,21 @@ begin
|
|||||||
'"Title" VARCHAR(50), '+
|
'"Title" VARCHAR(50), '+
|
||||||
'"Company" VARCHAR(50), '+
|
'"Company" VARCHAR(50), '+
|
||||||
'"Job_Position" VARCHAR(30), '+
|
'"Job_Position" VARCHAR(30), '+
|
||||||
'"Address" VARCHAR(100), '+
|
'"AddressType1" INTEGER, '+
|
||||||
'"City" VARCHAR(50), '+
|
'"Address1" VARCHAR(100), '+
|
||||||
'"State" VARCHAR(25), '+
|
'"City1" VARCHAR(50), '+
|
||||||
'"Zip" VARCHAR(10), '+
|
'"State1" VARCHAR(25), '+
|
||||||
'"Country" VARCHAR(25), '+
|
'"Zip1" VARCHAR(10), '+
|
||||||
|
'"Country1" VARCHAR(25), '+
|
||||||
|
'"AddressType2" INTEGER, '+
|
||||||
|
'"Address2" VARCHAR(100), '+
|
||||||
|
'"City2" VARCHAR(50), '+
|
||||||
|
'"State2" VARCHAR(25), '+
|
||||||
|
'"Zip2" VARCHAR(10), '+
|
||||||
|
'"Country2" VARCHAR(25), '+
|
||||||
'"Notes" VARCHAR(1024), '+
|
'"Notes" VARCHAR(1024), '+
|
||||||
|
'"PathToPhoto" VARCHAR(255), '+
|
||||||
|
'"Category" INTEGER, '+
|
||||||
'"Phone1" VARCHAR(25), '+
|
'"Phone1" VARCHAR(25), '+
|
||||||
'"Phone2" VARCHAR(25), '+
|
'"Phone2" VARCHAR(25), '+
|
||||||
'"Phone3" VARCHAR(25), '+
|
'"Phone3" VARCHAR(25), '+
|
||||||
@ -170,12 +179,20 @@ begin
|
|||||||
'"PhoneType3" INTEGER, '+
|
'"PhoneType3" INTEGER, '+
|
||||||
'"PhoneType4" INTEGER, '+
|
'"PhoneType4" INTEGER, '+
|
||||||
'"PhoneType5" INTEGER, '+
|
'"PhoneType5" INTEGER, '+
|
||||||
'"Category" INTEGER, '+
|
'"EMail1" VARCHAR(100), '+
|
||||||
'"EMail" VARCHAR (100), '+
|
'"EMail2" VARCHAR(100), '+
|
||||||
'"Custom1" VARCHAR (100), '+
|
'"EMail3" VARCHAR(100), '+
|
||||||
'"Custom2" VARCHAR (100), '+
|
'"EMailType1" INTEGER, '+
|
||||||
'"Custom3" VARCHAR (100), '+
|
'"EMailType2" INTEGER, '+
|
||||||
'"Custom4" VARCHAR (100)); '
|
'"EMailType3" INTEGER, '+
|
||||||
|
'"Website1" VARCHAR(100), '+
|
||||||
|
'"Website2" VARCHAR(100), '+
|
||||||
|
'"WebsiteType1" INTEGER, '+
|
||||||
|
'"WebsiteType2" INTEGER, '+
|
||||||
|
'"Custom1" VARCHAR(100), '+
|
||||||
|
'"Custom2" VARCHAR(100), '+
|
||||||
|
'"Custom3" VARCHAR(100), '+
|
||||||
|
'"Custom4" VARCHAR(100)); '
|
||||||
);
|
);
|
||||||
SQLite3Connection1.ExecuteDirect(
|
SQLite3Connection1.ExecuteDirect(
|
||||||
'CREATE UNIQUE INDEX "Contacts_RecordID_idx" ON "Contacts" ("RecordID");'
|
'CREATE UNIQUE INDEX "Contacts_RecordID_idx" ON "Contacts" ("RecordID");'
|
||||||
|
@ -119,6 +119,12 @@ msgstr "Web-Browser kann nicht gestartet werden. Bitte stellen Sie sicher, dass
|
|||||||
msgid "Brush"
|
msgid "Brush"
|
||||||
msgstr "Füllung"
|
msgstr "Füllung"
|
||||||
|
|
||||||
|
#: vpsr.rsbusinesswebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsbusinesswebsitelabel"
|
||||||
|
msgid "Business"
|
||||||
|
msgstr "Geschäftlich"
|
||||||
|
|
||||||
#: vpsr.rscalendarelement
|
#: vpsr.rscalendarelement
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Kalender"
|
msgstr "Kalender"
|
||||||
@ -165,6 +171,7 @@ msgid "Category %d"
|
|||||||
msgstr "Kategorie %d"
|
msgstr "Kategorie %d"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel1
|
#: vpsr.rscategorylabel1
|
||||||
|
msgctxt "vpsr.rscategorylabel1"
|
||||||
msgid "Business"
|
msgid "Business"
|
||||||
msgstr "Geschäftlich"
|
msgstr "Geschäftlich"
|
||||||
|
|
||||||
@ -177,6 +184,7 @@ msgid "Family"
|
|||||||
msgstr "Familie"
|
msgstr "Familie"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel4
|
#: vpsr.rscategorylabel4
|
||||||
|
msgctxt "vpsr.rscategorylabel4"
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr "Persönlich"
|
msgstr "Persönlich"
|
||||||
|
|
||||||
@ -463,6 +471,18 @@ msgstr "Von Ihrem Zeitplan?"
|
|||||||
msgid "Height"
|
msgid "Height"
|
||||||
msgstr "Höhe"
|
msgstr "Höhe"
|
||||||
|
|
||||||
|
#: vpsr.rshomeaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeaddresslabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Zuhause"
|
||||||
|
|
||||||
|
#: vpsr.rshomeemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeemaillabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Zuhause"
|
||||||
|
|
||||||
#: vpsr.rshours
|
#: vpsr.rshours
|
||||||
msgid "Hours"
|
msgid "Hours"
|
||||||
msgstr "Stunden"
|
msgstr "Stunden"
|
||||||
@ -716,6 +736,12 @@ msgstr "OK"
|
|||||||
msgid "&Open Item"
|
msgid "&Open Item"
|
||||||
msgstr "Eintrag ö&ffnen"
|
msgstr "Eintrag ö&ffnen"
|
||||||
|
|
||||||
|
#: vpsr.rsotheremaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsotheremaillabel"
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Andere"
|
||||||
|
|
||||||
#: vpsr.rsoutofrange
|
#: vpsr.rsoutofrange
|
||||||
msgid "Out of range"
|
msgid "Out of range"
|
||||||
msgstr "Außerhalb des zulässigen Bereichs"
|
msgstr "Außerhalb des zulässigen Bereichs"
|
||||||
@ -748,6 +774,12 @@ msgstr "Prozent"
|
|||||||
msgid "This operation cannot be undone!"
|
msgid "This operation cannot be undone!"
|
||||||
msgstr "Diese Operation kann nicht rückgängig gemacht werden!"
|
msgstr "Diese Operation kann nicht rückgängig gemacht werden!"
|
||||||
|
|
||||||
|
#: vpsr.rspersonalwebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rspersonalwebsitelabel"
|
||||||
|
msgid "Personal"
|
||||||
|
msgstr "Persönlich"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel1
|
#: vpsr.rsphonetypelabel1
|
||||||
msgid "Assistant"
|
msgid "Assistant"
|
||||||
msgstr "Assistent"
|
msgstr "Assistent"
|
||||||
@ -777,6 +809,7 @@ msgid "TTY/TDD"
|
|||||||
msgstr "TTY/TDD"
|
msgstr "TTY/TDD"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel16
|
#: vpsr.rsphonetypelabel16
|
||||||
|
msgctxt "vpsr.rsphonetypelabel16"
|
||||||
msgid "Work"
|
msgid "Work"
|
||||||
msgstr "Arbeit"
|
msgstr "Arbeit"
|
||||||
|
|
||||||
@ -798,6 +831,7 @@ msgid "Company"
|
|||||||
msgstr "Firma"
|
msgstr "Firma"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel5
|
#: vpsr.rsphonetypelabel5
|
||||||
|
msgctxt "vpsr.rsphonetypelabel5"
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Zuhause"
|
msgstr "Zuhause"
|
||||||
|
|
||||||
@ -1174,6 +1208,18 @@ msgstr "Breite"
|
|||||||
msgid "Width:"
|
msgid "Width:"
|
||||||
msgstr "Breite:"
|
msgstr "Breite:"
|
||||||
|
|
||||||
|
#: vpsr.rsworkaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkaddresslabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Arbeit"
|
||||||
|
|
||||||
|
#: vpsr.rsworkemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkemaillabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Arbeit"
|
||||||
|
|
||||||
#: vpsr.rsxdays
|
#: vpsr.rsxdays
|
||||||
msgid "%d days"
|
msgid "%d days"
|
||||||
msgstr "%d Tage"
|
msgstr "%d Tage"
|
||||||
@ -1498,3 +1544,4 @@ msgstr "Unbekannte Achsen-Spezifikation: %s"
|
|||||||
#: vpsr.sxmldecnotatbeg
|
#: vpsr.sxmldecnotatbeg
|
||||||
msgid "The XML declaration must appear before the first element"
|
msgid "The XML declaration must appear before the first element"
|
||||||
msgstr "Die XML-Deklaration muss vor dem ersten Element erscheinen."
|
msgstr "Die XML-Deklaration muss vor dem ersten Element erscheinen."
|
||||||
|
|
||||||
|
@ -125,6 +125,12 @@ msgstr "Échec de démarrage de votre browser internet. Veuillez verifier que vo
|
|||||||
msgid "Brush"
|
msgid "Brush"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsbusinesswebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsbusinesswebsitelabel"
|
||||||
|
msgid "Business"
|
||||||
|
msgstr "Professionnel"
|
||||||
|
|
||||||
#: vpsr.rscalendarelement
|
#: vpsr.rscalendarelement
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -171,6 +177,7 @@ msgid "Category %d"
|
|||||||
msgstr "Catégorie %d"
|
msgstr "Catégorie %d"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel1
|
#: vpsr.rscategorylabel1
|
||||||
|
msgctxt "vpsr.rscategorylabel1"
|
||||||
msgid "Business"
|
msgid "Business"
|
||||||
msgstr "Professionnel"
|
msgstr "Professionnel"
|
||||||
|
|
||||||
@ -183,6 +190,7 @@ msgid "Family"
|
|||||||
msgstr "Famille"
|
msgstr "Famille"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel4
|
#: vpsr.rscategorylabel4
|
||||||
|
msgctxt "vpsr.rscategorylabel4"
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr "Personnel"
|
msgstr "Personnel"
|
||||||
|
|
||||||
@ -469,6 +477,18 @@ msgstr "de votre agenda?"
|
|||||||
msgid "Height"
|
msgid "Height"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rshomeaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeaddresslabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Maison"
|
||||||
|
|
||||||
|
#: vpsr.rshomeemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeemaillabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Maison"
|
||||||
|
|
||||||
#: vpsr.rshours
|
#: vpsr.rshours
|
||||||
msgid "Hours"
|
msgid "Hours"
|
||||||
msgstr "Heures"
|
msgstr "Heures"
|
||||||
@ -722,6 +742,12 @@ msgstr "OK"
|
|||||||
msgid "&Open Item"
|
msgid "&Open Item"
|
||||||
msgstr "&Item ouvert"
|
msgstr "&Item ouvert"
|
||||||
|
|
||||||
|
#: vpsr.rsotheremaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsotheremaillabel"
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Autre"
|
||||||
|
|
||||||
#: vpsr.rsoutofrange
|
#: vpsr.rsoutofrange
|
||||||
msgid "Out of range"
|
msgid "Out of range"
|
||||||
msgstr "Hors de portée"
|
msgstr "Hors de portée"
|
||||||
@ -754,6 +780,12 @@ msgstr ""
|
|||||||
msgid "This operation cannot be undone!"
|
msgid "This operation cannot be undone!"
|
||||||
msgstr "Ce processus est irreversible!"
|
msgstr "Ce processus est irreversible!"
|
||||||
|
|
||||||
|
#: vpsr.rspersonalwebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rspersonalwebsitelabel"
|
||||||
|
msgid "Personal"
|
||||||
|
msgstr "Personnel"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel1
|
#: vpsr.rsphonetypelabel1
|
||||||
msgid "Assistant"
|
msgid "Assistant"
|
||||||
msgstr "Assistante"
|
msgstr "Assistante"
|
||||||
@ -783,6 +815,7 @@ msgid "TTY/TDD"
|
|||||||
msgstr "ATS/ATM"
|
msgstr "ATS/ATM"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel16
|
#: vpsr.rsphonetypelabel16
|
||||||
|
msgctxt "vpsr.rsphonetypelabel16"
|
||||||
msgid "Work"
|
msgid "Work"
|
||||||
msgstr "Travail"
|
msgstr "Travail"
|
||||||
|
|
||||||
@ -804,6 +837,7 @@ msgid "Company"
|
|||||||
msgstr "Société"
|
msgstr "Société"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel5
|
#: vpsr.rsphonetypelabel5
|
||||||
|
msgctxt "vpsr.rsphonetypelabel5"
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Maison"
|
msgstr "Maison"
|
||||||
|
|
||||||
@ -1180,6 +1214,18 @@ msgstr ""
|
|||||||
msgid "Width:"
|
msgid "Width:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsworkaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkaddresslabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Travail"
|
||||||
|
|
||||||
|
#: vpsr.rsworkemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkemaillabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Travail"
|
||||||
|
|
||||||
#: vpsr.rsxdays
|
#: vpsr.rsxdays
|
||||||
msgid "%d days"
|
msgid "%d days"
|
||||||
msgstr "%d jours"
|
msgstr "%d jours"
|
||||||
|
@ -119,6 +119,12 @@ msgstr "Webbrowser kan niet gestart worden. Controleer uw systeeminstellingen."
|
|||||||
msgid "Brush"
|
msgid "Brush"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsbusinesswebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsbusinesswebsitelabel"
|
||||||
|
msgid "Business"
|
||||||
|
msgstr "Zakelijk"
|
||||||
|
|
||||||
#: vpsr.rscalendarelement
|
#: vpsr.rscalendarelement
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -165,6 +171,7 @@ msgid "Category %d"
|
|||||||
msgstr "Categorie %d"
|
msgstr "Categorie %d"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel1
|
#: vpsr.rscategorylabel1
|
||||||
|
msgctxt "vpsr.rscategorylabel1"
|
||||||
msgid "Business"
|
msgid "Business"
|
||||||
msgstr "Zakelijk"
|
msgstr "Zakelijk"
|
||||||
|
|
||||||
@ -177,6 +184,7 @@ msgid "Family"
|
|||||||
msgstr "Familie"
|
msgstr "Familie"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel4
|
#: vpsr.rscategorylabel4
|
||||||
|
msgctxt "vpsr.rscategorylabel4"
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr "Persoonlijk"
|
msgstr "Persoonlijk"
|
||||||
|
|
||||||
@ -463,6 +471,18 @@ msgstr "van uw tijdschema?"
|
|||||||
msgid "Height"
|
msgid "Height"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rshomeaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeaddresslabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Thuis"
|
||||||
|
|
||||||
|
#: vpsr.rshomeemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeemaillabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Thuis"
|
||||||
|
|
||||||
#: vpsr.rshours
|
#: vpsr.rshours
|
||||||
msgid "Hours"
|
msgid "Hours"
|
||||||
msgstr "Uren"
|
msgstr "Uren"
|
||||||
@ -716,6 +736,12 @@ msgstr "OK"
|
|||||||
msgid "&Open Item"
|
msgid "&Open Item"
|
||||||
msgstr "&Open Item"
|
msgstr "&Open Item"
|
||||||
|
|
||||||
|
#: vpsr.rsotheremaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsotheremaillabel"
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Andere"
|
||||||
|
|
||||||
#: vpsr.rsoutofrange
|
#: vpsr.rsoutofrange
|
||||||
msgid "Out of range"
|
msgid "Out of range"
|
||||||
msgstr "Buiten geldig bereik"
|
msgstr "Buiten geldig bereik"
|
||||||
@ -748,6 +774,12 @@ msgstr ""
|
|||||||
msgid "This operation cannot be undone!"
|
msgid "This operation cannot be undone!"
|
||||||
msgstr "Deze operatie kan niet ongedaan gemaakt worden!"
|
msgstr "Deze operatie kan niet ongedaan gemaakt worden!"
|
||||||
|
|
||||||
|
#: vpsr.rspersonalwebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rspersonalwebsitelabel"
|
||||||
|
msgid "Personal"
|
||||||
|
msgstr "Persoonlijk"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel1
|
#: vpsr.rsphonetypelabel1
|
||||||
msgid "Assistant"
|
msgid "Assistant"
|
||||||
msgstr "Assistent"
|
msgstr "Assistent"
|
||||||
@ -777,6 +809,7 @@ msgid "TTY/TDD"
|
|||||||
msgstr "TTY/TDD"
|
msgstr "TTY/TDD"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel16
|
#: vpsr.rsphonetypelabel16
|
||||||
|
msgctxt "vpsr.rsphonetypelabel16"
|
||||||
msgid "Work"
|
msgid "Work"
|
||||||
msgstr "Werk"
|
msgstr "Werk"
|
||||||
|
|
||||||
@ -798,6 +831,7 @@ msgid "Company"
|
|||||||
msgstr "Firma"
|
msgstr "Firma"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel5
|
#: vpsr.rsphonetypelabel5
|
||||||
|
msgctxt "vpsr.rsphonetypelabel5"
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Thuis"
|
msgstr "Thuis"
|
||||||
|
|
||||||
@ -1174,6 +1208,18 @@ msgstr ""
|
|||||||
msgid "Width:"
|
msgid "Width:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsworkaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkaddresslabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Werk"
|
||||||
|
|
||||||
|
#: vpsr.rsworkemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkemaillabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Werk"
|
||||||
|
|
||||||
#: vpsr.rsxdays
|
#: vpsr.rsxdays
|
||||||
msgid "%d days"
|
msgid "%d days"
|
||||||
msgstr "%d dagen"
|
msgstr "%d dagen"
|
||||||
|
@ -109,6 +109,11 @@ msgstr ""
|
|||||||
msgid "Brush"
|
msgid "Brush"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsbusinesswebsitelabel
|
||||||
|
msgctxt "vpsr.rsbusinesswebsitelabel"
|
||||||
|
msgid "Business"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rscalendarelement
|
#: vpsr.rscalendarelement
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -155,6 +160,7 @@ msgid "Category %d"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rscategorylabel1
|
#: vpsr.rscategorylabel1
|
||||||
|
msgctxt "vpsr.rscategorylabel1"
|
||||||
msgid "Business"
|
msgid "Business"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -167,6 +173,7 @@ msgid "Family"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rscategorylabel4
|
#: vpsr.rscategorylabel4
|
||||||
|
msgctxt "vpsr.rscategorylabel4"
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -453,6 +460,16 @@ msgstr ""
|
|||||||
msgid "Height"
|
msgid "Height"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rshomeaddresslabel
|
||||||
|
msgctxt "vpsr.rshomeaddresslabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rshomeemaillabel
|
||||||
|
msgctxt "vpsr.rshomeemaillabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rshours
|
#: vpsr.rshours
|
||||||
msgid "Hours"
|
msgid "Hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -706,6 +723,11 @@ msgstr ""
|
|||||||
msgid "&Open Item"
|
msgid "&Open Item"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsotheremaillabel
|
||||||
|
msgctxt "vpsr.rsotheremaillabel"
|
||||||
|
msgid "Other"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsoutofrange
|
#: vpsr.rsoutofrange
|
||||||
msgid "Out of range"
|
msgid "Out of range"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -738,6 +760,11 @@ msgstr ""
|
|||||||
msgid "This operation cannot be undone!"
|
msgid "This operation cannot be undone!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rspersonalwebsitelabel
|
||||||
|
msgctxt "vpsr.rspersonalwebsitelabel"
|
||||||
|
msgid "Personal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel1
|
#: vpsr.rsphonetypelabel1
|
||||||
msgid "Assistant"
|
msgid "Assistant"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -767,6 +794,7 @@ msgid "TTY/TDD"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel16
|
#: vpsr.rsphonetypelabel16
|
||||||
|
msgctxt "vpsr.rsphonetypelabel16"
|
||||||
msgid "Work"
|
msgid "Work"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -788,6 +816,7 @@ msgid "Company"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel5
|
#: vpsr.rsphonetypelabel5
|
||||||
|
msgctxt "vpsr.rsphonetypelabel5"
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1164,6 +1193,16 @@ msgstr ""
|
|||||||
msgid "Width:"
|
msgid "Width:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsworkaddresslabel
|
||||||
|
msgctxt "vpsr.rsworkaddresslabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsworkemaillabel
|
||||||
|
msgctxt "vpsr.rsworkemaillabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsxdays
|
#: vpsr.rsxdays
|
||||||
msgid "%d days"
|
msgid "%d days"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -119,6 +119,12 @@ msgstr "Ошибка запуска браузер. Убедитесь в пра
|
|||||||
msgid "Brush"
|
msgid "Brush"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsbusinesswebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsbusinesswebsitelabel"
|
||||||
|
msgid "Business"
|
||||||
|
msgstr "Дела"
|
||||||
|
|
||||||
#: vpsr.rscalendarelement
|
#: vpsr.rscalendarelement
|
||||||
msgid "Calendar"
|
msgid "Calendar"
|
||||||
msgstr "Календарь"
|
msgstr "Календарь"
|
||||||
@ -165,6 +171,7 @@ msgid "Category %d"
|
|||||||
msgstr "Категория %d"
|
msgstr "Категория %d"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel1
|
#: vpsr.rscategorylabel1
|
||||||
|
msgctxt "vpsr.rscategorylabel1"
|
||||||
msgid "Business"
|
msgid "Business"
|
||||||
msgstr "Дела"
|
msgstr "Дела"
|
||||||
|
|
||||||
@ -177,6 +184,7 @@ msgid "Family"
|
|||||||
msgstr "Семья"
|
msgstr "Семья"
|
||||||
|
|
||||||
#: vpsr.rscategorylabel4
|
#: vpsr.rscategorylabel4
|
||||||
|
msgctxt "vpsr.rscategorylabel4"
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr "Персонал"
|
msgstr "Персонал"
|
||||||
|
|
||||||
@ -463,6 +471,18 @@ msgstr "из вашего расписания?"
|
|||||||
msgid "Height"
|
msgid "Height"
|
||||||
msgstr "Высота"
|
msgstr "Высота"
|
||||||
|
|
||||||
|
#: vpsr.rshomeaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeaddresslabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Домашний"
|
||||||
|
|
||||||
|
#: vpsr.rshomeemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rshomeemaillabel"
|
||||||
|
msgid "Home"
|
||||||
|
msgstr "Домашний"
|
||||||
|
|
||||||
#: vpsr.rshours
|
#: vpsr.rshours
|
||||||
msgid "Hours"
|
msgid "Hours"
|
||||||
msgstr "Часы"
|
msgstr "Часы"
|
||||||
@ -716,6 +736,12 @@ msgstr ""
|
|||||||
msgid "&Open Item"
|
msgid "&Open Item"
|
||||||
msgstr "Открыть эелемент"
|
msgstr "Открыть эелемент"
|
||||||
|
|
||||||
|
#: vpsr.rsotheremaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsotheremaillabel"
|
||||||
|
msgid "Other"
|
||||||
|
msgstr "Другой"
|
||||||
|
|
||||||
#: vpsr.rsoutofrange
|
#: vpsr.rsoutofrange
|
||||||
msgid "Out of range"
|
msgid "Out of range"
|
||||||
msgstr "За пределами диапазона"
|
msgstr "За пределами диапазона"
|
||||||
@ -748,6 +774,12 @@ msgstr "Процент"
|
|||||||
msgid "This operation cannot be undone!"
|
msgid "This operation cannot be undone!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rspersonalwebsitelabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rspersonalwebsitelabel"
|
||||||
|
msgid "Personal"
|
||||||
|
msgstr "Персонал"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel1
|
#: vpsr.rsphonetypelabel1
|
||||||
msgid "Assistant"
|
msgid "Assistant"
|
||||||
msgstr "Ассистент"
|
msgstr "Ассистент"
|
||||||
@ -777,6 +809,7 @@ msgid "TTY/TDD"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel16
|
#: vpsr.rsphonetypelabel16
|
||||||
|
msgctxt "vpsr.rsphonetypelabel16"
|
||||||
msgid "Work"
|
msgid "Work"
|
||||||
msgstr "Рабочий"
|
msgstr "Рабочий"
|
||||||
|
|
||||||
@ -798,6 +831,7 @@ msgid "Company"
|
|||||||
msgstr "Компания"
|
msgstr "Компания"
|
||||||
|
|
||||||
#: vpsr.rsphonetypelabel5
|
#: vpsr.rsphonetypelabel5
|
||||||
|
msgctxt "vpsr.rsphonetypelabel5"
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Домашний"
|
msgstr "Домашний"
|
||||||
|
|
||||||
@ -1174,6 +1208,18 @@ msgstr ""
|
|||||||
msgid "Width:"
|
msgid "Width:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: vpsr.rsworkaddresslabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkaddresslabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Рабочий"
|
||||||
|
|
||||||
|
#: vpsr.rsworkemaillabel
|
||||||
|
#, fuzzy
|
||||||
|
msgctxt "vpsr.rsworkemaillabel"
|
||||||
|
msgid "Work"
|
||||||
|
msgstr "Рабочий"
|
||||||
|
|
||||||
#: vpsr.rsxdays
|
#: vpsr.rsxdays
|
||||||
msgid "%d days"
|
msgid "%d days"
|
||||||
msgstr "%d дней"
|
msgstr "%d дней"
|
||||||
|
@ -817,7 +817,6 @@ end;
|
|||||||
procedure TVpCustomDatastore.UpdateGroupEvents;
|
procedure TVpCustomDatastore.UpdateGroupEvents;
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
event: TVpEvent;
|
|
||||||
id: Integer;
|
id: Integer;
|
||||||
res: TVpResource;
|
res: TVpResource;
|
||||||
begin
|
begin
|
||||||
@ -831,15 +830,15 @@ begin
|
|||||||
for i:=0 to Resource.Group.Count-1 do begin
|
for i:=0 to Resource.Group.Count-1 do begin
|
||||||
// current resource of group
|
// current resource of group
|
||||||
res := Resource.Group[i];
|
res := Resource.Group[i];
|
||||||
if res <> nil then begin
|
if res = nil then
|
||||||
|
Continue;
|
||||||
id := res.ResourceID;
|
id := res.ResourceID;
|
||||||
// Ignore active resource in group
|
// Ignore active resource in resource group (it shouldn't be there anyway)
|
||||||
if id = ResourceID then
|
if id = ResourceID then
|
||||||
Continue;
|
Continue;
|
||||||
// Load events of the current resource of the group
|
// load events of current group
|
||||||
LoadEventsOfResource(id);
|
LoadEventsOfResource(id);
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
NotifyDependents;
|
NotifyDependents;
|
||||||
end;
|
end;
|
||||||
|
@ -502,7 +502,12 @@ type
|
|||||||
FAnniversary: TDateTime;
|
FAnniversary: TDateTime;
|
||||||
FTitle: string;
|
FTitle: string;
|
||||||
FCompany: string;
|
FCompany: string;
|
||||||
FEmail: string;
|
FEMail1: string;
|
||||||
|
FEMail2: String;
|
||||||
|
FEMail3: String;
|
||||||
|
FEMailType1: integer;
|
||||||
|
FEMailType2: integer;
|
||||||
|
FEMailType3: integer;
|
||||||
FPhone1: string;
|
FPhone1: string;
|
||||||
FPhone2: string;
|
FPhone2: string;
|
||||||
FPhone3: string;
|
FPhone3: string;
|
||||||
@ -513,13 +518,25 @@ type
|
|||||||
FPhoneType3: integer;
|
FPhoneType3: integer;
|
||||||
FPhoneType4: integer;
|
FPhoneType4: integer;
|
||||||
FPhoneType5: integer;
|
FPhoneType5: integer;
|
||||||
FAddress: string;
|
FWebsite1: String;
|
||||||
FCity: string;
|
FWebsite2: String;
|
||||||
FState: string;
|
FWebsiteType1: Integer;
|
||||||
FZip: string;
|
FWebsiteType2: Integer;
|
||||||
FCountry: string;
|
FAddressType1: Integer;
|
||||||
|
FAddressType2: Integer;
|
||||||
|
FAddress1: string;
|
||||||
|
FAddress2: String;
|
||||||
|
FCity1: string;
|
||||||
|
FCity2: String;
|
||||||
|
FState1: string;
|
||||||
|
FState2: String;
|
||||||
|
FZip1: string;
|
||||||
|
FZip2: String;
|
||||||
|
FCountry1: string;
|
||||||
|
FCountry2: String;
|
||||||
FNotes: string;
|
FNotes: string;
|
||||||
FPrivateRec: boolean;
|
FPrivateRec: boolean;
|
||||||
|
FPathToPhoto: String;
|
||||||
FCategory: integer;
|
FCategory: integer;
|
||||||
FCustom1: string;
|
FCustom1: string;
|
||||||
FCustom2: string;
|
FCustom2: string;
|
||||||
@ -536,23 +553,34 @@ type
|
|||||||
FUserField7: string;
|
FUserField7: string;
|
||||||
FUserField8: string;
|
FUserField8: string;
|
||||||
FUserField9: string;
|
FUserField9: string;
|
||||||
procedure SetAddress(const Value: string);
|
procedure SetAddress1(const Value: string);
|
||||||
|
procedure SetAddress2(const Value: String);
|
||||||
|
procedure SetAddressType1(Value: Integer);
|
||||||
|
procedure SetAddressType2(Value: Integer);
|
||||||
procedure SetBirthDate(Value: TDateTime);
|
procedure SetBirthDate(Value: TDateTime);
|
||||||
procedure SetAnniversary(Value: TDateTime);
|
procedure SetAnniversary(Value: TDateTime);
|
||||||
procedure SetCategory(Value: integer);
|
procedure SetCategory(Value: integer);
|
||||||
procedure SetChanged(Value: Boolean);
|
procedure SetChanged(Value: Boolean);
|
||||||
procedure SetCity(const Value: string);
|
procedure SetCity1(const Value: string);
|
||||||
|
procedure SetCity2(const Value: String);
|
||||||
procedure SetCompany(const Value: string);
|
procedure SetCompany(const Value: string);
|
||||||
procedure SetCountry(const Value: string);
|
procedure SetCountry1(const Value: string);
|
||||||
|
procedure SetCountry2(const Value: string);
|
||||||
procedure SetCustom1(const Value: string);
|
procedure SetCustom1(const Value: string);
|
||||||
procedure SetCustom2(const Value: string);
|
procedure SetCustom2(const Value: string);
|
||||||
procedure SetCustom3(const Value: string);
|
procedure SetCustom3(const Value: string);
|
||||||
procedure SetCustom4(const Value: string);
|
procedure SetCustom4(const Value: string);
|
||||||
procedure SetDeleted(Value: Boolean);
|
procedure SetDeleted(Value: Boolean);
|
||||||
procedure SetEMail(const Value: string);
|
procedure SetEMail1(const Value: string);
|
||||||
|
procedure SetEMail2(const Value: string);
|
||||||
|
procedure SetEMail3(const Value: string);
|
||||||
|
procedure SetEMailType1(const Value: Integer);
|
||||||
|
procedure SetEMailType2(const Value: Integer);
|
||||||
|
procedure SetEMailType3(const Value: Integer);
|
||||||
procedure SetFirstName(const Value: string);
|
procedure SetFirstName(const Value: string);
|
||||||
procedure SetLastName(const Value: string);
|
procedure SetLastName(const Value: string);
|
||||||
procedure SetNotes(const Value: string);
|
procedure SetNotes(const Value: string);
|
||||||
|
procedure SetPathToPhoto(const Value: String);
|
||||||
procedure SetPhone1(const Value: string);
|
procedure SetPhone1(const Value: string);
|
||||||
procedure SetPhone2(const Value: string);
|
procedure SetPhone2(const Value: string);
|
||||||
procedure SetPhone3(const Value: string);
|
procedure SetPhone3(const Value: string);
|
||||||
@ -565,9 +593,15 @@ type
|
|||||||
procedure SetPhoneType5(Value: integer);
|
procedure SetPhoneType5(Value: integer);
|
||||||
procedure SetPosition(const Value: string);
|
procedure SetPosition(const Value: string);
|
||||||
procedure SetRecordID(Value: Integer);
|
procedure SetRecordID(Value: Integer);
|
||||||
procedure SetState(const Value: string);
|
procedure SetState1(const Value: string);
|
||||||
|
procedure SetState2(const Value: string);
|
||||||
procedure SetTitle(const Value: string);
|
procedure SetTitle(const Value: string);
|
||||||
procedure SetZip(const Value: string);
|
procedure SetWebsite1(Value: String);
|
||||||
|
procedure SetWebsite2(Value: String);
|
||||||
|
procedure SetWebsiteType1(Value: integer);
|
||||||
|
procedure SetWebsiteType2(Value: integer);
|
||||||
|
procedure SetZip1(const Value: string);
|
||||||
|
procedure SetZip2(const Value: string);
|
||||||
public
|
public
|
||||||
constructor Create(Owner: TVpContacts);
|
constructor Create(Owner: TVpContacts);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -590,7 +624,13 @@ type
|
|||||||
property Anniversary: TDateTime read FAnniversary write SetAnniversary;
|
property Anniversary: TDateTime read FAnniversary write SetAnniversary;
|
||||||
property Title: string read FTitle write SetTitle;
|
property Title: string read FTitle write SetTitle;
|
||||||
property Company: string read FCompany write SetCompany;
|
property Company: string read FCompany write SetCompany;
|
||||||
property EMail: string read FEmail write SetEMail;
|
property EMail: string read FEmail1 write SetEMail1; deprecated 'Use "EMail1" instead';
|
||||||
|
property EMail1: String read FEmail1 write SetEMail1;
|
||||||
|
property EMail2: String read FEmail2 write SetEmail2;
|
||||||
|
property EMail3: String read FEmail3 write SetEmail3;
|
||||||
|
property EMailType1: integer read FEMailType1 write SetEMailType1;
|
||||||
|
property EMailType2: integer read FEMailType2 write SetEMailType2;
|
||||||
|
property EMailType3: integer read FEMailType3 write SetEMailType3;
|
||||||
property Phone1: string read FPhone1 write SetPhone1;
|
property Phone1: string read FPhone1 write SetPhone1;
|
||||||
property Phone2: string read FPhone2 write SetPhone2;
|
property Phone2: string read FPhone2 write SetPhone2;
|
||||||
property Phone3: string read FPhone3 write SetPhone3;
|
property Phone3: string read FPhone3 write SetPhone3;
|
||||||
@ -601,13 +641,30 @@ type
|
|||||||
property PhoneType3: integer read FPhoneType3 write SetPhoneType3;
|
property PhoneType3: integer read FPhoneType3 write SetPhoneType3;
|
||||||
property PhoneType4: integer read FPhoneType4 write SetPhoneType4;
|
property PhoneType4: integer read FPhoneType4 write SetPhoneType4;
|
||||||
property PhoneType5: integer read FPhoneType5 write SetPhoneType5;
|
property PhoneType5: integer read FPhoneType5 write SetPhoneType5;
|
||||||
property Address: string read FAddress write SetAddress;
|
property Website1: string read FWebsite1 write SetWebsite1;
|
||||||
property City: string read FCity write SetCity;
|
property Website2: string read FWebsite2 write SetWebsite2;
|
||||||
property State: string read FState write SetState;
|
property WebsiteType1: integer read FWebsiteType1 write SetWebsiteType1;
|
||||||
property Zip: string read FZip write SetZip;
|
property WebsiteType2: integer read FWebsiteType2 write SetWebsiteType2;
|
||||||
property Country: string read FCountry write SetCountry;
|
property Address: string read FAddress1 write SetAddress1; deprecated 'Use "Address1" instead';
|
||||||
|
property Address1: string read FAddress1 write SetAddress1;
|
||||||
|
property Address2: string read FAddress2 write SetAddress2;
|
||||||
|
property City: string read FCity1 write SetCity1; deprecated 'Use "City1" instead';
|
||||||
|
property City1: string read FCity1 write SetCity1;
|
||||||
|
property City2: string read FCity2 write SetCity2;
|
||||||
|
property State: string read FState1 write SetState1; deprecated 'Use "State1" instead';
|
||||||
|
property State1: string read FState1 write SetState1;
|
||||||
|
property State2: string read FState2 write SetState2;
|
||||||
|
property Zip: string read FZip1 write SetZip1; deprecated 'Use "Zip1" instead';
|
||||||
|
property Zip1: string read FZip1 write SetZip1;
|
||||||
|
property Zip2: string read FZip2 write SetZip2;
|
||||||
|
property Country: string read FCountry1 write SetCountry1; deprecated 'Use "Country1" instead';
|
||||||
|
property Country1: string read FCountry1 write SetCountry1;
|
||||||
|
property Country2: string read FCountry2 write SetCountry2;
|
||||||
|
property AddressType1: integer read FAddressType1 write SetAddressType1;
|
||||||
|
property AddressType2: integer read FAddressType2 write SetAddressType2;
|
||||||
property Note: string read FNotes write SetNotes; deprecated 'Use "Notes" instead';
|
property Note: string read FNotes write SetNotes; deprecated 'Use "Notes" instead';
|
||||||
property Notes: string read FNotes write SetNotes;
|
property Notes: string read FNotes write SetNotes;
|
||||||
|
property PathToPhoto: String read FPathToPhoto write SetPathToPhoto;
|
||||||
property Category: integer read FCategory write SetCategory;
|
property Category: integer read FCategory write SetCategory;
|
||||||
property Custom1: string read FCustom1 write SetCustom1;
|
property Custom1: string read FCustom1 write SetCustom1;
|
||||||
property Custom2: string read FCustom2 write SetCustom2;
|
property Custom2: string read FCustom2 write SetCustom2;
|
||||||
@ -1800,10 +1857,34 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetAddress(const Value: string);
|
procedure TVpContact.SetAddress1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FAddress then begin
|
if Value <> FAddress1 then begin
|
||||||
FAddress := Value;
|
FAddress1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetAddress2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FAddress2 then begin
|
||||||
|
FAddress2 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetAddressType1(Value: integer);
|
||||||
|
begin
|
||||||
|
if Value <> FAddressType1 then begin
|
||||||
|
FAddressType1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetAddressType2(Value: integer);
|
||||||
|
begin
|
||||||
|
if Value <> FAddressType2 then begin
|
||||||
|
FAddressType2 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1827,10 +1908,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetCity(const Value: string);
|
procedure TVpContact.SetCity1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FCity then begin
|
if Value <> FCity1 then begin
|
||||||
FCity := Value;
|
FCity1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetCity2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FCity2 then begin
|
||||||
|
FCity2 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1843,10 +1932,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetCountry(const Value: string);
|
procedure TVpContact.SetCountry1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FCountry then begin
|
if Value <> FCountry1 then begin
|
||||||
FCountry := Value;
|
FCountry1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetCountry2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FCountry2 then begin
|
||||||
|
FCountry2 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1891,10 +1988,50 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetEMail(const Value: string);
|
procedure TVpContact.SetEMail1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FEmail then begin
|
if Value <> FEMail1 then begin
|
||||||
FEMail := Value;
|
FEMail1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetEMail2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FEMail2 then begin
|
||||||
|
FEMail2 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetEMail3(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FEMail3 then begin
|
||||||
|
FEMail3 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetEMailType1(const Value: Integer);
|
||||||
|
begin
|
||||||
|
if Value <> FEMailType1 then begin
|
||||||
|
FEMailType1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetEMailType2(const Value: Integer);
|
||||||
|
begin
|
||||||
|
if Value <> FEMailType2 then begin
|
||||||
|
FEMailType2 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetEMailType3(const Value: Integer);
|
||||||
|
begin
|
||||||
|
if Value <> FEMailType3 then begin
|
||||||
|
FEMailType3 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1923,6 +2060,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetPathToPhoto(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FPathToPhoto then begin
|
||||||
|
FPathToPhoto := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetPhone1(const Value: string);
|
procedure TVpContact.SetPhone1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FPhone1 then begin
|
if Value <> FPhone1 then begin
|
||||||
@ -2019,10 +2164,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetState(const Value: string);
|
procedure TVpContact.SetState1(const Value: string);
|
||||||
begin
|
begin
|
||||||
if Value <> FState then begin
|
if Value <> FState1 then begin
|
||||||
FState := Value;
|
FState1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetState2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FState2 then begin
|
||||||
|
FState2 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2035,10 +2188,50 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpContact.SetZip(const Value: string);
|
procedure TVpContact.SetWebsite1(Value: String);
|
||||||
begin
|
begin
|
||||||
if Value <> FZip then begin
|
if Value <> FWebsite1 then begin
|
||||||
FZip := Value;
|
FWebsite1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetWebsite2(Value: String);
|
||||||
|
begin
|
||||||
|
if Value <> FWebsite1 then begin
|
||||||
|
FWebsite2 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetWebsiteType1(Value: Integer);
|
||||||
|
begin
|
||||||
|
if Value <> FWebsiteType1 then begin
|
||||||
|
FWebsiteType1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetWebsiteType2(Value: Integer);
|
||||||
|
begin
|
||||||
|
if Value <> FWebsiteType2 then begin
|
||||||
|
FWebsiteType1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetZip1(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FZip1 then begin
|
||||||
|
FZip1 := Value;
|
||||||
|
Changed := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TVpContact.SetZip2(const Value: string);
|
||||||
|
begin
|
||||||
|
if Value <> FZip2 then begin
|
||||||
|
FZip2 := Value;
|
||||||
Changed := true;
|
Changed := true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -58,8 +58,10 @@ type
|
|||||||
{ property setters }
|
{ property setters }
|
||||||
procedure SetReadOnly(const Value: boolean);
|
procedure SetReadOnly(const Value: boolean);
|
||||||
|
|
||||||
procedure SetFilterCriteria(aTable: TDataset; aUseDateTime: Boolean;
|
{ internal methods }
|
||||||
aResourceID: Integer; aStartDateTime, aEndDateTime: TDateTime); virtual;
|
procedure LoadContact(AContact: TVpContact); virtual;
|
||||||
|
procedure SetFilterCriteria(ATable: TDataset; AUseDateTime: Boolean;
|
||||||
|
AResourceID: Integer; AStartDateTime, AEndDateTime: TDateTime); virtual;
|
||||||
|
|
||||||
protected {properties that may be surfaced later}
|
protected {properties that may be surfaced later}
|
||||||
property ReadOnly : boolean
|
property ReadOnly : boolean
|
||||||
@ -484,37 +486,84 @@ begin
|
|||||||
Size := 30;
|
Size := 30;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Address }
|
{ AddressType1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'Address';
|
Name := 'AddressType1';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Address1 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Address1';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 100;
|
Size := 100;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ City }
|
{ City1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'City';
|
Name := 'City1';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 50;
|
Size := 50;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ State }
|
{ State1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'State';
|
Name := 'State1';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 25;
|
Size := 25;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Zip }
|
{ Zip1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'Zip';
|
Name := 'Zip1';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 10;
|
Size := 10;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Country }
|
{ Country1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'Country';
|
Name := 'Country1';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 25;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ AddressType2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'AddressType2';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Address2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Address2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ City2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'City2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 50;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ State2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'State2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 25;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Zip2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Zip2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 10;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Country2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Country2';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 25;
|
Size := 25;
|
||||||
Required := false;
|
Required := false;
|
||||||
@ -561,47 +610,112 @@ begin
|
|||||||
Size := 25;
|
Size := 25;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Phone1 }
|
{ PhoneType1 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'PhoneType1';
|
Name := 'PhoneType1';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Phone2 }
|
{ PhoneType2 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'PhoneType2';
|
Name := 'PhoneType2';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Phone3 }
|
{ PhoneType3 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'PhoneType3';
|
Name := 'PhoneType3';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Phone4 }
|
{ PhoneType4 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'PhoneType4';
|
Name := 'PhoneType4';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Phone5 }
|
{ PhoneType5 }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'PhoneType5';
|
Name := 'PhoneType5';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
|
{ EMail1 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMail1';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ EMail2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMail2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ EMail3 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMail3';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ EMailType1 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMailType1';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ EMailType2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMailType2';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ EMailType3 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'EMailType3';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Website1 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Website1';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ Website2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'Website2';
|
||||||
|
DataType := ftString;
|
||||||
|
Size := 100;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ WebsiteType1 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'WebsiteType1';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
|
{ WebsiteType2 }
|
||||||
|
with AddFieldDef do begin
|
||||||
|
Name := 'WebsiteType2';
|
||||||
|
DataType := ftInteger;
|
||||||
|
Required := false;
|
||||||
|
end;
|
||||||
{ Category }
|
{ Category }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'Category';
|
Name := 'Category';
|
||||||
DataType := ftInteger;
|
DataType := ftInteger;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ EMail }
|
{ PathToPhoto }
|
||||||
with AddFieldDef do begin
|
with AddFieldDef do begin
|
||||||
Name := 'EMail';
|
Name := 'PathToPhoto';
|
||||||
DataType := ftString;
|
DataType := ftString;
|
||||||
Size := 100;
|
Size := 255;
|
||||||
Required := false;
|
Required := false;
|
||||||
end;
|
end;
|
||||||
{ Custom1 }
|
{ Custom1 }
|
||||||
@ -1089,11 +1203,142 @@ begin
|
|||||||
end; {with EventsTable}
|
end; {with EventsTable}
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
{ Loads the contact from the current cursor position of the contacts table }
|
||||||
|
procedure TVpCustomDBDataStore.LoadContact(AContact: TVpContact);
|
||||||
|
var
|
||||||
|
F: TField;
|
||||||
|
begin
|
||||||
|
with ContactsTable do
|
||||||
|
begin
|
||||||
|
AContact.RecordID := FieldByName('RecordID').AsInteger;
|
||||||
|
AContact.FirstName := FieldByName('FirstName').AsString;
|
||||||
|
AContact.LastName := FieldByName('LastName').AsString;
|
||||||
|
AContact.Birthdate := FieldByName('BirthDate').AsDateTime;
|
||||||
|
AContact.Anniversary := FieldByName('Anniversary').AsDateTime;
|
||||||
|
AContact.Title := FieldByName('Title').AsString;
|
||||||
|
AContact.Company := FieldByName('Company').AsString;
|
||||||
|
AContact.Job_Position := FieldByName('Job_Position').AsString;
|
||||||
|
AContact.Category := FieldByName('Category').AsInteger;
|
||||||
|
|
||||||
|
F := FindField('Notes');
|
||||||
|
if F = nil then F := FindField('Note'); // deprecated
|
||||||
|
if F <> nil then AContact.Notes := F.AsString;
|
||||||
|
|
||||||
|
// photo file name - new in 1.05
|
||||||
|
F := FindField('PathToPhoto');
|
||||||
|
if F <> nil then AContact.PathToPhoto := F.AsString;
|
||||||
|
|
||||||
|
// two address types - new in 1.05
|
||||||
|
F := FindField('AddressType1');
|
||||||
|
if F <> nil then AContact.AddressType1 := F.AsInteger;
|
||||||
|
F := FindField('AddressType2');
|
||||||
|
if F <> nil then AContact.AddressType2 := F.AsInteger;
|
||||||
|
F := FindField('Address1');
|
||||||
|
if F = nil then F := FindField('Address');
|
||||||
|
if F <> nil then AContact.Address1 := F.AsString;
|
||||||
|
F := FindField('Address2');
|
||||||
|
if F <> nil then AContact.Address2 := F.AsString;
|
||||||
|
F := FindField('City1');
|
||||||
|
if F = nil then F := FindField('City');
|
||||||
|
if F <> nil then AContact.City1 := F.AsString;
|
||||||
|
F := FindField('City2');
|
||||||
|
if F <> nil then AContact.City2 := F.AsString;
|
||||||
|
F := FindField('State1');
|
||||||
|
if F = nil then F := FindField('State');
|
||||||
|
if F <> nil then AContact.State1 := F.AsString;
|
||||||
|
F := FindField('State2');
|
||||||
|
if F <> nil then AContact.State2 := F.AsString;
|
||||||
|
F := FindField('Zip1');
|
||||||
|
if F = nil then F := FindField('Zip');
|
||||||
|
if F <> nil then AContact.Zip1 := F.AsString;
|
||||||
|
F := FindField('Zip2');
|
||||||
|
if F <> nil then AContact.Zip2 := F.AsString;
|
||||||
|
F := FindField('Country1');
|
||||||
|
if F = nil then F := FindField('Country');
|
||||||
|
if F <> nil then AContact.Country1 := F.AsString;
|
||||||
|
F := FindField('Country2');
|
||||||
|
if F <> nil then AContact.Country2 := F.AsString;
|
||||||
|
{
|
||||||
|
Contact.Address := FieldByName('Address').AsString;
|
||||||
|
Contact.City := FieldByName('City').AsString;
|
||||||
|
Contact.State := FieldByName('State').AsString;
|
||||||
|
Contact.Zip := FieldByName('Zip').AsString;
|
||||||
|
Contact.Country := FieldByName('Country').AsString;
|
||||||
|
}
|
||||||
|
|
||||||
|
AContact.Phone1 := FieldByName('Phone1').AsString;
|
||||||
|
AContact.Phone2 := FieldByName('Phone2').AsString;
|
||||||
|
AContact.Phone3 := FieldByName('Phone3').AsString;
|
||||||
|
AContact.Phone4 := FieldByName('Phone4').AsString;
|
||||||
|
AContact.Phone5 := FieldByName('Phone5').AsString;
|
||||||
|
AContact.PhoneType1 := FieldByName('PhoneType1').AsInteger;
|
||||||
|
AContact.PhoneType2 := FieldByName('PhoneType2').AsInteger;
|
||||||
|
AContact.PhoneType3 := FieldByName('PhoneType3').AsInteger;
|
||||||
|
AContact.PhoneType4 := FieldByName('PhoneType4').AsInteger;
|
||||||
|
AContact.PhoneType5 := FieldByName('PhoneType5').AsInteger;
|
||||||
|
|
||||||
|
// EMail fields - new in 1.05
|
||||||
|
F := FindField('EMail1');
|
||||||
|
if F = nil then F := FindField('EMail');
|
||||||
|
if F <> nil then AContact.EMail1 := F.AsString;
|
||||||
|
F := FindField('EMail2');
|
||||||
|
if F <> nil then AContact.EMail2 := F.AsString;
|
||||||
|
F := FindField('EMail3');
|
||||||
|
if F <> nil then AContact.EMail := F.AsString;
|
||||||
|
F := FindField('EMailType1');
|
||||||
|
if F <> nil then AContact.EMailType1 := F.AsInteger;
|
||||||
|
F := FindField('EMailType2');
|
||||||
|
if F <> nil then AContact.EMailType2 := F.AsInteger;
|
||||||
|
F := FindField('EMailType3');
|
||||||
|
if F <> nil then AContact.EMailType3 := F.AsInteger;
|
||||||
|
|
||||||
|
// Website fields - new in 1.05
|
||||||
|
F := FindField('Website1');
|
||||||
|
if F <> nil then AContact.Website1 := F.AsString;
|
||||||
|
F := FindField('Website2');
|
||||||
|
if F <> nil then AContact.Website2 := F.AsString;
|
||||||
|
F := FindField('WebsiteType1');
|
||||||
|
if F <> nil then AContact.WebsiteType1 := F.AsInteger;
|
||||||
|
F := FindField('WebsiteType2');
|
||||||
|
if F <> nil then AContact.WebsiteType2 := F.AsInteger;
|
||||||
|
|
||||||
|
// Custom fields
|
||||||
|
F := FindField('Custom1');
|
||||||
|
if F <> nil then AContact.Custom1 := F.AsString;
|
||||||
|
F := FindField('Custom2');
|
||||||
|
if F <> nil then AContact.Custom2 := F.AsString;
|
||||||
|
F := FindField('Custom3');
|
||||||
|
if F <> nil then AContact.Custom3 := F.AsString;
|
||||||
|
F := FindField('Custom4');
|
||||||
|
if F <> nil then AContact.Custom4 := F.AsString;
|
||||||
|
|
||||||
|
// User-defined fields
|
||||||
|
F := FindField('UserField0');
|
||||||
|
if F <> nil then AContact.UserField0 := F.AsString;
|
||||||
|
F := FindField('UserField1');
|
||||||
|
if F <> nil then AContact.UserField1 := F.AsString;
|
||||||
|
F := FindField('UserField2');
|
||||||
|
if F <> nil then AContact.UserField2 := F.AsString;
|
||||||
|
F := FindField('UserField3');
|
||||||
|
if F <> nil then AContact.UserField3 := F.AsString;
|
||||||
|
F := FindField('UserField4');
|
||||||
|
if F <> nil then AContact.UserField4 := F.AsString;
|
||||||
|
F := FindField('UserField5');
|
||||||
|
if F <> nil then AContact.UserField5 := F.AsString;
|
||||||
|
F := FindField('UserField6');
|
||||||
|
if F <> nil then AContact.UserField6 := F.AsString;
|
||||||
|
F := FindField('UserField7');
|
||||||
|
if F <> nil then AContact.UserField7 := F.AsString;
|
||||||
|
F := FindField('UserField8');
|
||||||
|
if F <> nil then AContact.UserField8 := F.AsString;
|
||||||
|
F := FindField('UserField9');
|
||||||
|
if F <> nil then AContact.UserField9 := F.AsString;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TVpCustomDBDataStore.LoadContacts;
|
procedure TVpCustomDBDataStore.LoadContacts;
|
||||||
var
|
var
|
||||||
Contact: TVpContact;
|
contact: TVpContact;
|
||||||
F: TField;
|
|
||||||
begin
|
begin
|
||||||
if (Resource <> nil) then
|
if (Resource <> nil) then
|
||||||
with ContactsTable do begin
|
with ContactsTable do begin
|
||||||
@ -1103,66 +1348,14 @@ begin
|
|||||||
);
|
);
|
||||||
First;
|
First;
|
||||||
while not EOF do begin
|
while not EOF do begin
|
||||||
Contact := Resource.Contacts.AddContact(GetNextID(ContactsTableName));
|
contact := Resource.Contacts.AddContact(GetNextID(ContactsTableName));
|
||||||
Contact.Loading := true;
|
contact.Loading := true;
|
||||||
Contact.RecordID := FieldByName('RecordID').AsInteger;
|
LoadContact(contact);
|
||||||
Contact.FirstName := FieldByName('FirstName').AsString;
|
contact.Loading := false;
|
||||||
Contact.LastName := FieldByName('LastName').AsString;
|
|
||||||
Contact.Birthdate := FieldByName('BirthDate').AsDateTime;
|
|
||||||
Contact.Anniversary := FieldByName('Anniversary').AsDateTime;
|
|
||||||
Contact.Title := FieldByName('Title').AsString;
|
|
||||||
Contact.Company := FieldByName('Company').AsString;
|
|
||||||
Contact.Job_Position := FieldByName('Job_Position').AsString;
|
|
||||||
Contact.EMail := FieldByName('EMail').AsString;
|
|
||||||
Contact.Address := FieldByName('Address').AsString;
|
|
||||||
Contact.City := FieldByName('City').AsString;
|
|
||||||
Contact.State := FieldByName('State').AsString;
|
|
||||||
Contact.Zip := FieldByName('Zip').AsString;
|
|
||||||
Contact.Country := FieldByName('Country').AsString;
|
|
||||||
F := FieldByName('Notes');
|
|
||||||
if F = nil then F := FieldByName('Note'); // deprecated
|
|
||||||
if F <> nil then Contact.Notes := F.AsString;
|
|
||||||
Contact.Phone1 := FieldByName('Phone1').AsString;
|
|
||||||
Contact.Phone2 := FieldByName('Phone2').AsString;
|
|
||||||
Contact.Phone3 := FieldByName('Phone3').AsString;
|
|
||||||
Contact.Phone4 := FieldByName('Phone4').AsString;
|
|
||||||
Contact.Phone5 := FieldByName('Phone5').AsString;
|
|
||||||
Contact.PhoneType1 := FieldByName('PhoneType1').AsInteger;
|
|
||||||
Contact.PhoneType2 := FieldByName('PhoneType2').AsInteger;
|
|
||||||
Contact.PhoneType3 := FieldByName('PhoneType3').AsInteger;
|
|
||||||
Contact.PhoneType4 := FieldByName('PhoneType4').AsInteger;
|
|
||||||
Contact.PhoneType5 := FieldByName('PhoneType5').AsInteger;
|
|
||||||
Contact.Category := FieldByName('Category').AsInteger;
|
|
||||||
Contact.Custom1 := FieldByName('Custom1').AsString;
|
|
||||||
Contact.Custom2 := FieldByName('Custom2').AsString;
|
|
||||||
Contact.Custom3 := FieldByName('Custom3').AsString;
|
|
||||||
Contact.Custom4 := FieldByName('Custom4').AsString;
|
|
||||||
F := FindField('UserField0');
|
|
||||||
if F <> nil then Contact.UserField0 := F.AsString;
|
|
||||||
F := FindField('UserField1');
|
|
||||||
if F <> nil then Contact.UserField1 := F.AsString;
|
|
||||||
F := FindField('UserField2');
|
|
||||||
if F <> nil then Contact.UserField2 := F.AsString;
|
|
||||||
F := FindField('UserField3');
|
|
||||||
if F <> nil then Contact.UserField3 := F.AsString;
|
|
||||||
F := FindField('UserField4');
|
|
||||||
if F <> nil then Contact.UserField4 := F.AsString;
|
|
||||||
F := FindField('UserField5');
|
|
||||||
if F <> nil then Contact.UserField5 := F.AsString;
|
|
||||||
F := FindField('UserField6');
|
|
||||||
if F <> nil then Contact.UserField6 := F.AsString;
|
|
||||||
F := FindField('UserField7');
|
|
||||||
if F <> nil then Contact.UserField7 := F.AsString;
|
|
||||||
F := FindField('UserField8');
|
|
||||||
if F <> nil then Contact.UserField8 := F.AsString;
|
|
||||||
F := FindField('UserField9');
|
|
||||||
if F <> nil then Contact.UserField9 := F.AsString;
|
|
||||||
Contact.Loading := false;
|
|
||||||
Next;
|
Next;
|
||||||
end; {while}
|
end;
|
||||||
end; {with ContactsTable}
|
end;
|
||||||
end;
|
end;
|
||||||
{=====}
|
|
||||||
|
|
||||||
procedure TVpCustomDBDataStore.LoadTasks;
|
procedure TVpCustomDBDataStore.LoadTasks;
|
||||||
var
|
var
|
||||||
@ -1215,6 +1408,200 @@ begin
|
|||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
procedure TVpCustomDBDataStore.PostContacts;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
Contact: TVpContact;
|
||||||
|
F: TField;
|
||||||
|
begin
|
||||||
|
if (Resource <> nil) and Resource.ContactsDirty then begin
|
||||||
|
{ Dump this resource's dirty contacts to the DB }
|
||||||
|
if ResourceTable.Locate('ResourceID', Resource.ResourceID, []) then begin
|
||||||
|
SetFilterCriteria(ContactsTable, False, Resource.ResourceID, 0, 0);
|
||||||
|
|
||||||
|
for I := pred(Resource.Contacts.Count) downto 0 do begin
|
||||||
|
Contact := Resource.Contacts.GetContact(I);
|
||||||
|
{ if the delete flag is set then delete the record }
|
||||||
|
{ and free the event instance }
|
||||||
|
if Contact.Deleted then begin
|
||||||
|
if ContactsTable.Locate('RecordID', Contact.RecordID, [])
|
||||||
|
then ContactsTable.Delete;
|
||||||
|
Contact.Free;
|
||||||
|
Continue;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Contact.Changed then begin
|
||||||
|
if ContactsTable.Locate('RecordID', Contact.RecordID, []) then
|
||||||
|
{ this event already exists in the database so update it }
|
||||||
|
ContactsTable.Edit
|
||||||
|
else begin
|
||||||
|
{ this record doesn't exist in the database, so it's a new event }
|
||||||
|
ContactsTable.Append;
|
||||||
|
end;
|
||||||
|
try
|
||||||
|
{ DataStore descendants that can use an autoincrement RecordID }
|
||||||
|
{ field set the RecordID to -1 by default. If the RecordID is }
|
||||||
|
{ -1 then this is a new record and we shouldn't overwrite }
|
||||||
|
{ RecordID with a bogus value }
|
||||||
|
if Contact.RecordID > -1 then
|
||||||
|
ContactsTable.FieldByName('RecordID').AsInteger := Contact.RecordID;
|
||||||
|
|
||||||
|
ContactsTable.FieldByName('ResourceID').AsInteger := Resource.ResourceID;
|
||||||
|
ContactsTable.FieldByName('FirstName').AsString := Contact.FirstName;
|
||||||
|
ContactsTable.FieldByName('LastName').AsString := Contact.LastName;
|
||||||
|
ContactsTable.FieldByName('Birthdate').AsDateTime := Contact.Birthdate;
|
||||||
|
ContactsTable.FieldByName('Anniversary').AsDateTime := Contact.Anniversary;
|
||||||
|
ContactsTable.FieldByName('Title').AsString := Contact.Title;
|
||||||
|
ContactsTable.FieldByName('Company').AsString := Contact.Company;
|
||||||
|
ContactsTable.FieldByName('Job_Position').AsString := Contact.Job_Position;
|
||||||
|
ContactsTable.FieldByName('Category').AsInteger := Contact.Category;
|
||||||
|
|
||||||
|
F := ContactsTable.FindField('Notes');
|
||||||
|
if F = nil then F := ContactsTable.FindField('Note');
|
||||||
|
if F <> nil then F.AsString := Contact.Notes;
|
||||||
|
|
||||||
|
// File name of picture -- new in 1.05
|
||||||
|
F := ContactsTable.FindField('PathToPhoto');
|
||||||
|
if F <> nil then F.AsString := Contact.PathToPhoto;
|
||||||
|
|
||||||
|
// two address types -- new in 1.05
|
||||||
|
F := ContactsTable.FindField('AddressType1');
|
||||||
|
if F <> nil then F.AsInteger := Contact.AddressType1;
|
||||||
|
F := ContactsTable.FindField('AddressType2');
|
||||||
|
if F <> nil then F.AsInteger := Contact.AddressType2;
|
||||||
|
F := ContactsTable.FindField('Address1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('Address');
|
||||||
|
if F <> nil then F.AsString := Contact.Address1;
|
||||||
|
F := ContactsTable.FindField('Address2');
|
||||||
|
if F <> nil then F.AsString := Contact.Address2;
|
||||||
|
F := ContactsTable.FindField('City1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('City');
|
||||||
|
if F <> nil then F.AsString := Contact.City1;
|
||||||
|
F := ContactsTable.FindField('City2');
|
||||||
|
if F <> nil then F.AsString := Contact.City2;
|
||||||
|
F := ContactsTable.FindField('State1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('State');
|
||||||
|
if F <> nil then F.AsString := Contact.State1;
|
||||||
|
F := ContactsTable.FindField('State2');
|
||||||
|
if F <> nil then F.AsString := Contact.State2;
|
||||||
|
F := ContactsTable.FindField('Zip1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('Zip');
|
||||||
|
if F <> nil then F.AsString := Contact.Zip1;
|
||||||
|
F := ContactsTable.FindField('Zip2');
|
||||||
|
if F <> nil then F.AsString := Contact.Zip2;
|
||||||
|
F := ContactsTable.FindField('Country1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('Country');
|
||||||
|
if F <> nil then F.AsString := Contact.Country1;
|
||||||
|
F := ContactsTable.FindField('Country2');
|
||||||
|
if F <> nil then F.AsString := Contact.Country2;
|
||||||
|
{
|
||||||
|
ContactsTable.FieldByName('Address').AsString := Contact.Address;
|
||||||
|
ContactsTable.FieldByName('City').AsString := Contact.City;
|
||||||
|
ContactsTable.FieldByName('State').AsString := Contact.State;
|
||||||
|
ContactsTable.FieldByName('Zip').AsString := Contact.Zip;
|
||||||
|
ContactsTable.FieldByName('Country').AsString := Contact.Country;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Telephones
|
||||||
|
ContactsTable.FieldByName('Phone1').AsString := Contact.Phone1;
|
||||||
|
ContactsTable.FieldByName('Phone2').AsString := Contact.Phone2;
|
||||||
|
ContactsTable.FieldByName('Phone3').AsString := Contact.Phone3;
|
||||||
|
ContactsTable.FieldByName('Phone4').AsString := Contact.Phone4;
|
||||||
|
ContactsTable.FieldByName('Phone5').AsString := Contact.Phone5;
|
||||||
|
ContactsTable.FieldByName('PhoneType1').AsInteger := Contact.PhoneType1;
|
||||||
|
ContactsTable.FieldByName('PhoneType2').AsInteger := Contact.PhoneType2;
|
||||||
|
ContactsTable.FieldByName('PhoneType3').AsInteger := Contact.PhoneType3;
|
||||||
|
ContactsTable.FieldByName('PhoneType4').AsInteger := Contact.PhoneType4;
|
||||||
|
ContactsTable.FieldByName('PhoneType5').AsInteger := Contact.PhoneType5;
|
||||||
|
|
||||||
|
// Three e-mail types -- new in 1.05
|
||||||
|
F := ContactsTable.FindField('EMail1');
|
||||||
|
if F = nil then F := ContactsTable.FindField('EMail');
|
||||||
|
if F <> nil then F.AsString := Contact.EMail1;
|
||||||
|
F := ContactsTable.FindField('EMail2');
|
||||||
|
if F <> nil then F.AsString := Contact.EMail2;
|
||||||
|
F := ContactsTable.FindField('EMail3');
|
||||||
|
if F <> nil then F.AsString := Contact.EMail3;
|
||||||
|
F := ContactsTable.FindField('EMailType1');
|
||||||
|
if F <> nil then F.AsInteger := Contact.EMailType1;
|
||||||
|
F := ContactsTable.FindField('EMailType2');
|
||||||
|
if F <> nil then F.AsInteger := Contact.EMailType2;
|
||||||
|
F := ContactsTable.FindField('EMailType3');
|
||||||
|
if F <> nil then F.AsInteger := Contact.EMailType3;
|
||||||
|
//ContactsTable.FieldByName('EMail').AsString := Contact.EMail;
|
||||||
|
|
||||||
|
// two websites -- new in 1.05
|
||||||
|
F := ContactsTable.FindField('Website1');
|
||||||
|
if F <> nil then F.AsString := Contact.Website1;
|
||||||
|
F := ContactsTable.FindField('Website2');
|
||||||
|
if F <> nil then F.AsString := Contact.Website2;
|
||||||
|
F := ContactsTable.FindField('WebsiteType1');
|
||||||
|
if F <> nil then F.AsInteger := Contact.WebsiteType1;
|
||||||
|
F := ContactsTable.FindField('WebsiteType2');
|
||||||
|
if F <> nil then F.AsInteger := Contact.WebsiteType2;
|
||||||
|
|
||||||
|
// Custom fields
|
||||||
|
F := ContactsTable.FindField('Custom1');
|
||||||
|
if F <> nil then F.AsString := Contact.Custom1;
|
||||||
|
F := ContactsTable.FindField('Custom2');
|
||||||
|
if F <> nil then F.AsString := Contact.Custom2;
|
||||||
|
F := ContactsTable.FindField('Custom3');
|
||||||
|
if F <> nil then F.AsString := Contact.Custom3;
|
||||||
|
F := ContactsTable.FindField('Custom4');
|
||||||
|
if F <> nil then F.AsString := Contact.Custom4;
|
||||||
|
|
||||||
|
// User-defined fields
|
||||||
|
F := ContactsTable.FindField('UserField0');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField0;
|
||||||
|
F := ContactsTable.FindField('UserField1');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField1;
|
||||||
|
F := ContactsTable.FindField('UserField2');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField2;
|
||||||
|
F := ContactsTable.FindField('UserField3');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField3;
|
||||||
|
F := ContactsTable.FindField('UserField4');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField4;
|
||||||
|
F := ContactsTable.FindField('UserField5');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField5;
|
||||||
|
F := ContactsTable.FindField('UserField6');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField6;
|
||||||
|
F := ContactsTable.FindField('UserField7');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField7;
|
||||||
|
F := ContactsTable.FindField('UserField8');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField8;
|
||||||
|
F := ContactsTable.FindField('UserField9');
|
||||||
|
if F <> nil then F.AsString := Contact.UserField9;
|
||||||
|
|
||||||
|
ContactsTable.Post;
|
||||||
|
|
||||||
|
except
|
||||||
|
ContactsTable.Cancel;
|
||||||
|
raise EDBPostError.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ DataStore descendants that can use an autoincrement RecordID }
|
||||||
|
{ field set the RecordID to -1 by default. If the RecordID is }
|
||||||
|
{ -1 then this is a new record and we need to assign the real }
|
||||||
|
{ record ID value from the dataset. }
|
||||||
|
if Contact.RecordID = -1 then
|
||||||
|
Contact.RecordID := ContactsTable.FieldByName('RecordID').AsInteger;
|
||||||
|
|
||||||
|
Contact.Changed := false;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Resource.ContactsDirty := false;
|
||||||
|
|
||||||
|
if not Loading then
|
||||||
|
NotifyDependents;
|
||||||
|
|
||||||
|
if Assigned(AfterPostContacts) then
|
||||||
|
FAfterPostContacts(self);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{=====}
|
||||||
|
|
||||||
|
(*
|
||||||
procedure TVpCustomDBDataStore.PostContacts;
|
procedure TVpCustomDBDataStore.PostContacts;
|
||||||
var
|
var
|
||||||
I: Integer;
|
I: Integer;
|
||||||
@ -1331,6 +1718,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
*)
|
||||||
|
|
||||||
procedure TVpCustomDBDataStore.PostEvents;
|
procedure TVpCustomDBDataStore.PostEvents;
|
||||||
var
|
var
|
||||||
@ -1669,10 +2057,23 @@ end;
|
|||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
procedure TVpCustomDBDataStore.RefreshContacts;
|
procedure TVpCustomDBDataStore.RefreshContacts;
|
||||||
|
var
|
||||||
|
contact: TVpContact;
|
||||||
begin
|
begin
|
||||||
if Resource <> nil then begin
|
if Resource <> nil then begin
|
||||||
Resource.Contacts.ClearContacts;
|
Resource.Contacts.ClearContacts;
|
||||||
LoadContacts;
|
with ContactsTable do begin
|
||||||
|
SetFilterCriteria(ContactsTable, False, Resource.ResourceID, 0, 0);
|
||||||
|
First;
|
||||||
|
while not EOF do begin
|
||||||
|
contact := Resource.Contacts.AddContact(FieldByName('RecordID').AsInteger);
|
||||||
|
contact.Loading := true;
|
||||||
|
LoadContact(contact);
|
||||||
|
contact.Loading := false;
|
||||||
|
Next;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// LoadContacts;
|
||||||
end;
|
end;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
@ -1775,33 +2176,33 @@ end;
|
|||||||
Format(' ... (DTOS(StartTime) >= %s) ...', [
|
Format(' ... (DTOS(StartTime) >= %s) ...', [
|
||||||
FormatDateTime('yyyymmdd') ...])
|
FormatDateTime('yyyymmdd') ...])
|
||||||
}
|
}
|
||||||
procedure TVpCustomDBDataStore.SetFilterCriteria(aTable: TDataset;
|
procedure TVpCustomDBDataStore.SetFilterCriteria(ATable: TDataset;
|
||||||
aUseDateTime: Boolean; aResourceID: Integer; aStartDateTime, aEndDateTime: TDateTime);
|
AUseDateTime: Boolean; AResourceID: Integer; AStartDateTime, AEndDateTime: TDateTime);
|
||||||
var
|
var
|
||||||
filter: String;
|
filter: String;
|
||||||
begin
|
begin
|
||||||
if aUseDateTime then
|
if AUseDateTime then
|
||||||
{$IFDEF DELPHI}
|
{$IFDEF DELPHI}
|
||||||
filter := Format('ResourceID = %d '
|
filter := Format('ResourceID = %d '
|
||||||
+ 'and ( ( (StartTime >= %s) and (EndTime <= %s) ) '
|
+ 'and ( ( (StartTime >= %s) and (EndTime <= %s) ) '
|
||||||
+ ' or ( (RepeatCode > 0) and (%s <= RepeatRangeEnd) ) )',
|
+ ' or ( (RepeatCode > 0) and (%s <= RepeatRangeEnd) ) )',
|
||||||
[aResourceID,
|
[AResourceID,
|
||||||
QuotedStr(FormatDateTime('c', aStartDateTime)),
|
QuotedStr(FormatDateTime('c', AStartDateTime)),
|
||||||
QuotedStr(FormatDateTime('c', aEndDateTime)),
|
QuotedStr(FormatDateTime('c', AEndDateTime)),
|
||||||
QuotedStr(FormatDateTime('c', aStartDateTime))])
|
QuotedStr(FormatDateTime('c', AStartDateTime))])
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
filter := Format('ResourceID = %d '
|
filter := Format('ResourceID = %d '
|
||||||
+ 'and ( ( (DTOS(StartTime) >= %s) and (DTOS(EndTime) <= %s) ) '
|
+ 'and ( ( (DTOS(StartTime) >= %s) and (DTOS(EndTime) <= %s) ) '
|
||||||
+ ' or ( (RepeatCode > 0) and (%s <= DTOS(RepeatRangeEnd)) ) )',
|
+ ' or ( (RepeatCode > 0) and (%s <= DTOS(RepeatRangeEnd)) ) )',
|
||||||
[aResourceID,
|
[AResourceID,
|
||||||
QuotedStr(FormatDateTime('yyyymmdd', aStartDateTime)),
|
QuotedStr(FormatDateTime('yyyymmdd', AStartDateTime)),
|
||||||
QuotedStr(FormatDateTime('yyyymmdd', aEndDateTime)),
|
QuotedStr(FormatDateTime('yyyymmdd', AEndDateTime)),
|
||||||
QuotedStr(FormatDateTime('yyyymmdd', aStartDateTime))])
|
QuotedStr(FormatDateTime('yyyymmdd', AStartDateTime))])
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
else
|
else
|
||||||
filter := Format('ResourceID = %d', [aResourceID]);
|
filter := Format('ResourceID = %d', [AResourceID]);
|
||||||
aTable.Filter := filter;
|
ATable.Filter := filter;
|
||||||
aTable.Filtered := true;
|
ATable.Filtered := true;
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
@ -177,14 +177,21 @@ begin
|
|||||||
'Birthdate DATE, '+
|
'Birthdate DATE, '+
|
||||||
'Anniversary DATE, '+
|
'Anniversary DATE, '+
|
||||||
'Title VARCHAR(50), '+
|
'Title VARCHAR(50), '+
|
||||||
|
'Category INTEGER, '+
|
||||||
'Company VARCHAR(50), '+
|
'Company VARCHAR(50), '+
|
||||||
'Job_Position VARCHAR(30), '+
|
'Job_Position VARCHAR(30), '+
|
||||||
'Address VARCHAR(100), '+
|
'AddressType1 INTEGER, '+
|
||||||
'City VARCHAR(50), '+
|
'Address1 VARCHAR(100), '+
|
||||||
'State VARCHAR(25), '+
|
'City1 VARCHAR(50), '+
|
||||||
'Zip VARCHAR(10), '+
|
'State1 VARCHAR(25), '+
|
||||||
'Country VARCHAR(25), '+
|
'Zip1 VARCHAR(10), '+
|
||||||
'Notes VARCHAR(1024), '+
|
'Country1 VARCHAR(25), '+
|
||||||
|
'AddressType2 INTEGER, '+
|
||||||
|
'Address2 VARCHAR(100), '+
|
||||||
|
'City2 VARCHAR(50), '+
|
||||||
|
'State2 VARCHAR(25), '+
|
||||||
|
'Zip2 VARCHAR(10), '+
|
||||||
|
'Country2 VARCHAR(25), '+
|
||||||
'Phone1 VARCHAR(25), '+
|
'Phone1 VARCHAR(25), '+
|
||||||
'Phone2 VARCHAR(25), '+
|
'Phone2 VARCHAR(25), '+
|
||||||
'Phone3 VARCHAR(25), '+
|
'Phone3 VARCHAR(25), '+
|
||||||
@ -195,8 +202,18 @@ begin
|
|||||||
'PhoneType3 INTEGER, '+
|
'PhoneType3 INTEGER, '+
|
||||||
'PhoneType4 INTEGER, '+
|
'PhoneType4 INTEGER, '+
|
||||||
'PhoneType5 INTEGER, '+
|
'PhoneType5 INTEGER, '+
|
||||||
'Category INTEGER, '+
|
'EMail1 VARCHAR (100), '+
|
||||||
'EMail VARCHAR (100), '+
|
'EMail2 VARCHAR (100), '+
|
||||||
|
'EMail3 VARCHAR (100), '+
|
||||||
|
'EMailType1 INTEGER, '+
|
||||||
|
'EMailType2 INTEGER, '+
|
||||||
|
'EMailType3 INTEGER, '+
|
||||||
|
'WebSite1 VARCHAR (100), '+
|
||||||
|
'WebSite2 VARCHAR (100), '+
|
||||||
|
'WebSiteType1 INTEGER, '+
|
||||||
|
'WebSiteType2 INTEGER, '+
|
||||||
|
'PathToPhoto VARCHAR (255), '+
|
||||||
|
'Notes VARCHAR(1024), '+
|
||||||
'Custom1 VARCHAR (100), '+
|
'Custom1 VARCHAR (100), '+
|
||||||
'Custom2 VARCHAR (100), '+
|
'Custom2 VARCHAR (100), '+
|
||||||
'Custom3 VARCHAR (100), '+
|
'Custom3 VARCHAR (100), '+
|
||||||
|
@ -133,19 +133,17 @@ type
|
|||||||
procedure LoadTaskMapping(Reader: TReader);
|
procedure LoadTaskMapping(Reader: TReader);
|
||||||
procedure StoreTaskMapping(Writer: TWriter);
|
procedure StoreTaskMapping(Writer: TWriter);
|
||||||
{ Internal Methods }
|
{ Internal Methods }
|
||||||
|
procedure LoadContact(AContact: TVpContact); override;
|
||||||
procedure Loaded; override;
|
procedure Loaded; override;
|
||||||
procedure SetFilterCriteria(aTable : TDataset;
|
procedure SetFilterCriteria(ATable: TDataset; AUseDateTime: Boolean;
|
||||||
aUseDateTime : Boolean;
|
AResourceID: Integer; AStartDateTime, AEndDateTime: TDateTime); override;
|
||||||
aResourceID : Integer;
|
|
||||||
aStartDateTime : TDateTime;
|
|
||||||
aEndDateTime : TDateTime); override;
|
|
||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure Load; override;
|
procedure Load; override;
|
||||||
|
|
||||||
procedure LoadEventsOfResource(AResID: Integer); override;
|
procedure LoadEventsOfResource(AResID: Integer); override;
|
||||||
procedure LoadContacts; override;
|
// procedure LoadContacts; override;
|
||||||
procedure LoadTasks; override;
|
procedure LoadTasks; override;
|
||||||
// procedure RefreshEvents; override;
|
// procedure RefreshEvents; override;
|
||||||
// procedure RefreshContacts; override;
|
// procedure RefreshContacts; override;
|
||||||
@ -419,9 +417,8 @@ begin
|
|||||||
Load;
|
Load;
|
||||||
end
|
end
|
||||||
|
|
||||||
// Load;
|
else
|
||||||
|
begin
|
||||||
else begin
|
|
||||||
if FResourceDataSrc <> nil then
|
if FResourceDataSrc <> nil then
|
||||||
FResourceDataSrc.DataSet.Close;
|
FResourceDataSrc.DataSet.Close;
|
||||||
if FEventsDataSrc <> nil then
|
if FEventsDataSrc <> nil then
|
||||||
@ -829,6 +826,293 @@ begin
|
|||||||
end;*)
|
end;*)
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
{ Loads the contact from the current cursor position of the contacts table }
|
||||||
|
procedure TVpFlexDatastore.LoadContact(AContact: TVpContact);
|
||||||
|
var
|
||||||
|
F: TField;
|
||||||
|
FN: String;
|
||||||
|
begin
|
||||||
|
with ContactsTable do
|
||||||
|
begin
|
||||||
|
FN := GetFieldName(FContactMappings, 'RecordID');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.RecordID := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'FirstName');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.FirstName := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'LastName');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.LastName := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'BirthDate');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Birthdate := FieldByName(FN).AsDateTime;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Anniversary');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Anniversary := FieldByName(FN).AsDateTime;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Title');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Title := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Company');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Company := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Job_Position');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Job_Position := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Category');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Category := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
// Photo file name, new in 1.05
|
||||||
|
FN := GetFieldName(FContactMappings, 'PathToPhoto');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PathToPhoto := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
// "Notes" instead of "Note" - new in 1.04
|
||||||
|
FN := GetFieldName(FContactMappings, 'Notes');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'Note'); // "Note" is deprecated
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Notes := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
// two address types - new in 1.05
|
||||||
|
FN := GetFieldName(FContactMappings, 'AddressType1');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.AddressType1 := F.AsInteger;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'AddressType2');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.AddressType2 := F.AsInteger;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Address1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'Address');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Address1 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Address2');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Address2 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'City1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'City');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.City1 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'City2');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.City2 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'State1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'State');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.State1 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'State2');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.State2 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Zip1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'Zip');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Zip1 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Zip2');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Zip2 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Country1 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country2');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country');
|
||||||
|
if FN <> '' then begin
|
||||||
|
F := FindField(FN);
|
||||||
|
if F <> nil then AContact.Country2 := F.AsString;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Telephone numbers
|
||||||
|
FN := GetFieldName(FContactMappings, 'Phone1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Phone1 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Phone2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Phone2 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Phone3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Phone3 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Phone4');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Phone4 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Phone5');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Phone5 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PhoneType1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PhoneType1 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PhoneType2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PhoneType2 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PhoneType3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PhoneType3 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PhoneType4');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PhoneType4 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PhoneType5');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.PhoneType5 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
// EMail fields - new in 1.05
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMail1 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMail2 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMail3 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMailType1 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMailType2 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.EMailType3 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
// Website fields - new in 1.05
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebSite1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Website1 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebSite2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Website2 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebsiteType1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.WebsiteType1 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebsiteType2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.WebsiteType2 := FieldByName(FN).AsInteger;
|
||||||
|
|
||||||
|
// Custom fields
|
||||||
|
FN := GetFieldName(FContactMappings, 'Custom1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Custom1 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Custom2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Custom2 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Custom3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Custom3 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Custom4');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.Custom4 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
// User-defined fields
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField0');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField0 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField1');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField1 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField2');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField2 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField3');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField3 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField4');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField4 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField5');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField5 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField6');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField6 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField7');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField7 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField8');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField8 := FieldByName(FN).AsString;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'UserField9');
|
||||||
|
if FN <> '' then
|
||||||
|
AContact.UserField9 := FieldByName(FN).AsString;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
(*
|
||||||
procedure TVpFlexDataStore.LoadContacts;
|
procedure TVpFlexDataStore.LoadContacts;
|
||||||
var
|
var
|
||||||
Contact: TVpContact;
|
Contact: TVpContact;
|
||||||
@ -1019,7 +1303,7 @@ begin
|
|||||||
end; {if Resource <> nil}
|
end; {if Resource <> nil}
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
*)
|
||||||
procedure TVpFlexDataStore.LoadTasks;
|
procedure TVpFlexDataStore.LoadTasks;
|
||||||
var
|
var
|
||||||
Task: TVpTask;
|
Task: TVpTask;
|
||||||
@ -1534,29 +1818,63 @@ begin
|
|||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Job_Position;
|
ContactsTable.FieldByName(FN).AsString := Contact.Job_Position;
|
||||||
|
|
||||||
FN := GetFieldName(FContactMappings, 'EMail');
|
FN := GetFieldName(FContactMappings, 'AddressType1');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.EMail;
|
ContactsTable.FieldByName(FN).AsInteger := Contact.AddressType1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Address1');
|
||||||
|
if FN = '' then
|
||||||
FN := GetFieldName(FContactMappings, 'Address');
|
FN := GetFieldName(FContactMappings, 'Address');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Address;
|
ContactsTable.FieldByName(FN).AsString := Contact.Address1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'City1');
|
||||||
|
if FN = '' then
|
||||||
FN := GetFieldName(FContactMappings, 'City');
|
FN := GetFieldName(FContactMappings, 'City');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.City;
|
ContactsTable.FieldByName(FN).AsString := Contact.City1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'State1');
|
||||||
|
if FN = '' then
|
||||||
FN := GetFieldName(FContactMappings, 'State');
|
FN := GetFieldName(FContactMappings, 'State');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.State;
|
ContactsTable.FieldByName(FN).AsString := Contact.State1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Zip1');
|
||||||
|
if FN = '' then
|
||||||
FN := GetFieldName(FContactMappings, 'Zip');
|
FN := GetFieldName(FContactMappings, 'Zip');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Zip;
|
ContactsTable.FieldByName(FN).AsString := Contact.Zip1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country1');
|
||||||
|
if FN = '' then
|
||||||
FN := GetFieldName(FContactMappings, 'Country');
|
FN := GetFieldName(FContactMappings, 'Country');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Country;
|
ContactsTable.FieldByName(FN).AsString := Contact.Country1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'AddressType2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.AddressType2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Address2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.Address2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'City2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.City2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'State2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.State2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Zip2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.Zip2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Country2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.Country2;
|
||||||
|
|
||||||
FN := GetFieldName(FContactMappings, 'Notes');
|
FN := GetFieldName(FContactMappings, 'Notes');
|
||||||
if FN = '' then
|
if FN = '' then
|
||||||
@ -1564,6 +1882,32 @@ begin
|
|||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Notes;
|
ContactsTable.FieldByName(FN).AsString := Contact.Notes;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail1');
|
||||||
|
if FN = '' then
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.EMail1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.EMail2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMail3');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.EMail3;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType1');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.EMailType1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.EMailType2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'EMailType3');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.EMailType3;
|
||||||
|
|
||||||
FN := GetFieldName(FContactMappings, 'Phone1');
|
FN := GetFieldName(FContactMappings, 'Phone1');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Phone1;
|
ContactsTable.FieldByName(FN).AsString := Contact.Phone1;
|
||||||
@ -1604,10 +1948,30 @@ begin
|
|||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsInteger := Contact.PhoneType5;
|
ContactsTable.FieldByName(FN).AsInteger := Contact.PhoneType5;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Website1');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.WebSite1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'Website2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.WebSite2;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebSiteType1');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.WebSiteType1;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'WebSiteType2');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsInteger := Contact.WebSiteType2;
|
||||||
|
|
||||||
FN := GetFieldName(FContactMappings, 'Category');
|
FN := GetFieldName(FContactMappings, 'Category');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsInteger := Contact.Category;
|
ContactsTable.FieldByName(FN).AsInteger := Contact.Category;
|
||||||
|
|
||||||
|
FN := GetFieldName(FContactMappings, 'PathToPhoto');
|
||||||
|
if FN <> '' then
|
||||||
|
ContactsTable.FieldByName(FN).AsString := Contact.PathToPhoto;
|
||||||
|
|
||||||
FN := GetFieldName(FContactMappings, 'Custom1');
|
FN := GetFieldName(FContactMappings, 'Custom1');
|
||||||
if FN <> '' then
|
if FN <> '' then
|
||||||
ContactsTable.FieldByName(FN).AsString := Contact.Custom1;
|
ContactsTable.FieldByName(FN).AsString := Contact.Custom1;
|
||||||
@ -2292,13 +2656,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
procedure TVpFlexDataStore.SetFilterCriteria(aTable: TDataset;
|
procedure TVpFlexDataStore.SetFilterCriteria(ATable: TDataset; AUseDateTime: Boolean;
|
||||||
aUseDateTime: Boolean; aResourceID: Integer; aStartDateTime,
|
AResourceID: Integer; AStartDateTime, aEndDateTime: TDateTime);
|
||||||
aEndDateTime: TDateTime);
|
|
||||||
begin
|
begin
|
||||||
if Assigned(OnSetFilterCriteria) then
|
if Assigned(OnSetFilterCriteria) then
|
||||||
OnSetFilterCriteria(aTable, aUseDateTime, aResourceID,
|
OnSetFilterCriteria(ATable, AUseDateTime, AResourceID,
|
||||||
aStartDateTime, aEndDateTime)
|
AStartDateTime, AEndDateTime)
|
||||||
else
|
else
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
@ -82,6 +82,16 @@ resourcestring
|
|||||||
RSPhoneTypeLabel16 = 'Work';
|
RSPhoneTypeLabel16 = 'Work';
|
||||||
RSPhoneTypeLabel17 = 'Work fax';
|
RSPhoneTypeLabel17 = 'Work fax';
|
||||||
|
|
||||||
|
RSHomeAddressLabel = 'Home';
|
||||||
|
RSWorkAddressLabel = 'Work';
|
||||||
|
|
||||||
|
RSHomeEmailLabel = 'Home';
|
||||||
|
RSWorkEMailLabel = 'Work';
|
||||||
|
RSOtherEMaillabel = 'Other';
|
||||||
|
|
||||||
|
RSPersonalWebSiteLabel = 'Personal';
|
||||||
|
RSBusinessWebSiteLabel = 'Business';
|
||||||
|
|
||||||
RSCategoryLabel1 = 'Business';
|
RSCategoryLabel1 = 'Business';
|
||||||
RSCategoryLabel2 = 'Clients';
|
RSCategoryLabel2 = 'Clients';
|
||||||
RSCategoryLabel3 = 'Family';
|
RSCategoryLabel3 = 'Family';
|
||||||
|
@ -38,20 +38,46 @@ interface
|
|||||||
{$I vpsr.inc}
|
{$I vpsr.inc}
|
||||||
|
|
||||||
type
|
type
|
||||||
{ For acquiring the labels that go with each telephone field }
|
// For acquiring the labels that go with each telephone field, i.e. Home, work, fax etc... }
|
||||||
{ ie. Home, work, fax etc... }
|
|
||||||
TVpPhoneType = (ptAssistant, ptCallback, ptCar, ptCompany, ptHome, ptHomeFax,
|
TVpPhoneType = (ptAssistant, ptCallback, ptCar, ptCompany, ptHome, ptHomeFax,
|
||||||
ptISDN, ptMobile, ptOther, ptOtherFax, ptPager, ptPrimary,
|
ptISDN, ptMobile, ptOther, ptOtherFax, ptPager, ptPrimary,
|
||||||
ptRadio, ptTelex, ptTTYTDD, ptWork, ptWorkFax);
|
ptRadio, ptTelex, ptTTYTDD, ptWork, ptWorkFax);
|
||||||
|
|
||||||
|
TVpEMailType = (mtHome, mtOther, mtWork);
|
||||||
|
|
||||||
|
TVpWebSiteType = (wtBusiness, wtPersonal);
|
||||||
|
|
||||||
|
TVpAddressType = (atHome, atWork);
|
||||||
|
|
||||||
TVpCategoryType = (ctBusiness, ctClients, ctFamily, ctOther, ctPersonal);
|
TVpCategoryType = (ctBusiness, ctClients, ctFamily, ctOther, ctPersonal);
|
||||||
|
|
||||||
function PhoneLabel (PhoneType : TVpPhoneType) : string;
|
function AddressLabel(AddressType: TVpAddressType): String;
|
||||||
|
function EMailLabel(EMailType: TVpEMailType): string;
|
||||||
function CategoryLabel (CategoryType : TVpCategoryType) : string;
|
function PhoneLabel(PhoneType: TVpPhoneType): string;
|
||||||
|
function WebSiteLabel(WebSiteType: TVpWebSiteType): String;
|
||||||
|
function CategoryLabel(CategoryType: TVpCategoryType): string;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
function AddressLabel(AddressType: TVpAddressType): String;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
case AddressType of
|
||||||
|
atWork : Result := RSWorkAddressLabel;
|
||||||
|
atHome : Result := RSHomeAddressLabel;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EMailLabel(EmailType: TVpEmaiLType): String;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
case EMailType of
|
||||||
|
mtHome : Result := RSHomeEMailLabel;
|
||||||
|
mtOther : Result := RSOtherEMailLabel;
|
||||||
|
mtWork : Result := RSWorkEMailLabel;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function PhoneLabel(PhoneType: TVpPhoneType): string;
|
function PhoneLabel(PhoneType: TVpPhoneType): string;
|
||||||
begin
|
begin
|
||||||
Result := '';
|
Result := '';
|
||||||
@ -76,7 +102,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CategoryLabel (CategoryType : TVpCategoryType) : string;
|
function WebSiteLabel(WebsiteType: TVpWebsiteType): String;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
case WebsiteType of
|
||||||
|
wtBusiness : Result := RSBusinessWebSiteLabel;
|
||||||
|
wtPersonal : Result := RSPersonalWebsiteLabel;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CategoryLabel(CategoryType: TVpCategoryType): string;
|
||||||
begin
|
begin
|
||||||
Result := '';
|
Result := '';
|
||||||
case CategoryType of
|
case CategoryType of
|
||||||
|
Reference in New Issue
Block a user