tvplanit: Remove new field PathToPhoto (too complex), add new contact field Department. Update Contact editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5169 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-09-16 23:42:31 +00:00
parent 378b2802b5
commit 05aad697c4
19 changed files with 2177 additions and 1022 deletions

View File

@ -173,8 +173,9 @@ begin
'LastName VARCHAR(50) , '+
'Birthdate DATE, '+
'Anniversary DATE, '+
'Title VARCHAR(50) ,'+
'Company VARCHAR(50) ,'+
'Title VARCHAR(50), '+
'Company VARCHAR(50), '+
'Department VARCHAR(50), '+
'Job_Position VARCHAR(30), '+
'AddressType1 INTEGER, '+
'Address1 VARCHAR(100), '+
@ -210,7 +211,6 @@ begin
'WebsiteType1 INTEGER, '+
'WebsiteType2 INTEGER, '+
'Category INTEGER, '+
'PathToPhoto VARCHAR(255), '+
'Custom1 VARCHAR(100), '+
'Custom2 VARCHAR(100),'+
'Custom3 VARCHAR(100), '+

View File

@ -886,16 +886,30 @@ object Form1: TForm1
' FirstName = :FirstName,'
' LastName = :LastName,'
' Title = :Title,'
' Company = :Company,'
' Job_Position = :Job_Position,'
' EMail = :EMail,'
' Address = :Address,'
' City = :City,'
' State = :State,'
' Zip = :Zip,'
' Country = :Country,'
' Notes = :Notes,'
' Category = :Category,'
' BirthDate = :Birthdate,'
' Company = :Company,'
' Department = :Department,'
' Job_Position = :Job_Position,'
' AddressType1 = :AddressType1,'
' Address1 = :Address1,'
' City1 = :City1,'
' State1 = :State1,'
' Zip1 = :Zip1,'
' Country1 = :Country1,'
' AddressType2 = :AddressType2,'
' Address2 = :Address2,'
' City2 = :City2,'
' State2 = :State2,'
' Zip2 = :Zip2,'
' Country2 = :Country2,'
' Notes = :Notes,'
' EMail1 = :EMail1,'
' EMail2 = :EMail2,'
' EMail3 = :EMail3,'
' EMailType1 = :EMailType1,'
' EMailType2 = :EMailType2,'
' EMailType3 = :EMailType3,'
' Phone1 = :Phone1,'
' Phone2 = :Phone2,'
' Phone3 = :Phone3,'
@ -906,6 +920,10 @@ object Form1: TForm1
' PhoneType3 = :PhoneType3,'
' PhoneType4 = :PhoneType4,'
' PhoneType5 = :PhoneType5,'
' Website1 = :Website1,'
' Website2 = :Website2,'
' WebsiteType1 = :WebsiteType1,'
' WebsiteType2 = :WebsiteType2,'
' Custom1 = :Custom1,'
' Custom2 = :Custom2,'
' Custom3 = :Custom3,'

View File

@ -153,6 +153,7 @@ begin
'"Anniversary" DATETIME, '+
'"Title" VARCHAR(50), '+
'"Company" VARCHAR(50), '+
'"Department" VARCHAR(50), '+
'"Job_Position" VARCHAR(30), '+
'"AddressType1" INTEGER, '+
'"Address1" VARCHAR(100), '+
@ -167,7 +168,6 @@ begin
'"Zip2" VARCHAR(10), '+
'"Country2" VARCHAR(25), '+
'"Notes" VARCHAR(1024), '+
'"PathToPhoto" VARCHAR(255), '+
'"Category" INTEGER, '+
'"Phone1" VARCHAR(25), '+
'"Phone2" VARCHAR(25), '+

View File

@ -31,6 +31,10 @@ msgstr "1 Woche"
msgid "No resources have been defined. Would you like to add one now?"
msgstr "Es sind noch keine Ressourcen definiert. Möchten Sie jetzt eine hinzufügen?"
#: vpsr.rsaddresses
msgid "Addresses"
msgstr "Adressen"
#: vpsr.rsaddresslbl
msgid "Address:"
msgstr "Adresse:"
@ -120,7 +124,6 @@ msgid "Brush"
msgstr "Füllung"
#: vpsr.rsbusinesswebsitelabel
#, fuzzy
msgctxt "vpsr.rsbusinesswebsitelabel"
msgid "Business"
msgstr "Geschäftlich"
@ -317,6 +320,10 @@ msgctxt "vpsr.rsdeletebtn"
msgid "Delete"
msgstr "Löschen"
#: vpsr.rsdepartmentlbl
msgid "Department:"
msgstr "Abteilung:"
#: vpsr.rsdescriptionlbl
msgctxt "vpsr.rsdescriptionlbl"
msgid "Description:"
@ -345,7 +352,7 @@ msgid "Print preview"
msgstr "Druckvorschau"
#: vpsr.rsdlgreseditcaption
msgid "Resource Edit"
msgid "Resource edit"
msgstr "Ressource bearbeiten"
#: vpsr.rsdlgreseditdescription
@ -358,7 +365,7 @@ msgid "Task"
msgstr "Aufgabe"
#: vpsr.rsduedate
msgid "Due Date:"
msgid "Due date:"
msgstr "Fälligkeitsdatum:"
#: vpsr.rsduplicateresource
@ -471,14 +478,16 @@ msgstr "Von Ihrem Zeitplan?"
msgid "Height"
msgstr "Höhe"
#: vpsr.rshomeaddress
msgid "Home address"
msgstr "Zuhause"
#: vpsr.rshomeaddresslabel
#, fuzzy
msgctxt "vpsr.rshomeaddresslabel"
msgid "Home"
msgstr "Zuhause"
#: vpsr.rshomeemaillabel
#, fuzzy
msgctxt "vpsr.rshomeemaillabel"
msgid "Home"
msgstr "Zuhause"
@ -737,7 +746,6 @@ msgid "&Open Item"
msgstr "Eintrag ö&ffnen"
#: vpsr.rsotheremaillabel
#, fuzzy
msgctxt "vpsr.rsotheremaillabel"
msgid "Other"
msgstr "Andere"
@ -775,11 +783,14 @@ msgid "This operation cannot be undone!"
msgstr "Diese Operation kann nicht rückgängig gemacht werden!"
#: vpsr.rspersonalwebsitelabel
#, fuzzy
msgctxt "vpsr.rspersonalwebsitelabel"
msgid "Personal"
msgstr "Persönlich"
#: vpsr.rsphonefax
msgid "Phone/fax"
msgstr "Telefon/Fax"
#: vpsr.rsphonetypelabel1
msgid "Assistant"
msgstr "Assistent"
@ -1180,6 +1191,10 @@ msgstr "Sichtbar"
msgid "Visual"
msgstr "Aussehen"
#: vpsr.rswebsites
msgid "Websites"
msgstr "Internet-Seiten"
#: vpsr.rswednesday
msgid "Wednesday"
msgstr "Mittwoch"
@ -1208,14 +1223,16 @@ msgstr "Breite"
msgid "Width:"
msgstr "Breite:"
#: vpsr.rsworkaddress
msgid "Work address"
msgstr "Arbeit"
#: vpsr.rsworkaddresslabel
#, fuzzy
msgctxt "vpsr.rsworkaddresslabel"
msgid "Work"
msgstr "Arbeit"
#: vpsr.rsworkemaillabel
#, fuzzy
msgctxt "vpsr.rsworkemaillabel"
msgid "Work"
msgstr "Arbeit"
@ -1544,4 +1561,3 @@ msgstr "Unbekannte Achsen-Spezifikation: %s"
#: vpsr.sxmldecnotatbeg
msgid "The XML declaration must appear before the first element"
msgstr "Die XML-Deklaration muss vor dem ersten Element erscheinen."

View File

@ -37,6 +37,10 @@ msgstr "1 semaine"
msgid "No resources have been defined. Would you like to add one now?"
msgstr "Aucune ressource à été defini. Voulez-vous ajouter une maintenant?"
#: vpsr.rsaddresses
msgid "Addresses"
msgstr ""
#: vpsr.rsaddresslbl
msgid "Address:"
msgstr "Adresse:"
@ -323,6 +327,10 @@ msgctxt "vpsr.rsdeletebtn"
msgid "Delete"
msgstr "Supprimer"
#: vpsr.rsdepartmentlbl
msgid "Department:"
msgstr ""
#: vpsr.rsdescriptionlbl
msgctxt "vpsr.rsdescriptionlbl"
msgid "Description:"
@ -351,7 +359,9 @@ msgid "Print preview"
msgstr "Aperçu avant impression"
#: vpsr.rsdlgreseditcaption
msgid "Resource Edit"
#, fuzzy
#| msgid "Resource Edit"
msgid "Resource edit"
msgstr "Modifier la resource"
#: vpsr.rsdlgreseditdescription
@ -364,7 +374,9 @@ msgid "Task"
msgstr "Tache"
#: vpsr.rsduedate
msgid "Due Date:"
#, fuzzy
#| msgid "Due Date:"
msgid "Due date:"
msgstr "Date d'échéance:"
#: vpsr.rsduplicateresource
@ -477,6 +489,10 @@ msgstr "de votre agenda?"
msgid "Height"
msgstr ""
#: vpsr.rshomeaddress
msgid "Home address"
msgstr ""
#: vpsr.rshomeaddresslabel
#, fuzzy
msgctxt "vpsr.rshomeaddresslabel"
@ -786,6 +802,10 @@ msgctxt "vpsr.rspersonalwebsitelabel"
msgid "Personal"
msgstr "Personnel"
#: vpsr.rsphonefax
msgid "Phone/fax"
msgstr ""
#: vpsr.rsphonetypelabel1
msgid "Assistant"
msgstr "Assistante"
@ -1186,6 +1206,10 @@ msgstr ""
msgid "Visual"
msgstr ""
#: vpsr.rswebsites
msgid "Websites"
msgstr ""
#: vpsr.rswednesday
msgid "Wednesday"
msgstr "Mercredi"
@ -1214,6 +1238,10 @@ msgstr ""
msgid "Width:"
msgstr ""
#: vpsr.rsworkaddress
msgid "Work address"
msgstr ""
#: vpsr.rsworkaddresslabel
#, fuzzy
msgctxt "vpsr.rsworkaddresslabel"

View File

@ -31,6 +31,10 @@ msgstr "1 week"
msgid "No resources have been defined. Would you like to add one now?"
msgstr "Er is nog geen hulpmiddel gedefinieerd. Wilt u er nu een toevoegen?"
#: vpsr.rsaddresses
msgid "Addresses"
msgstr ""
#: vpsr.rsaddresslbl
msgid "Address:"
msgstr "Adres:"
@ -317,6 +321,10 @@ msgctxt "vpsr.rsdeletebtn"
msgid "Delete"
msgstr "Wissen"
#: vpsr.rsdepartmentlbl
msgid "Department:"
msgstr ""
#: vpsr.rsdescriptionlbl
msgctxt "vpsr.rsdescriptionlbl"
msgid "Description:"
@ -345,7 +353,9 @@ msgid "Print preview"
msgstr "Afdruk voorbeeld"
#: vpsr.rsdlgreseditcaption
msgid "Resource Edit"
#, fuzzy
#| msgid "Resource Edit"
msgid "Resource edit"
msgstr "Middel bewerken"
#: vpsr.rsdlgreseditdescription
@ -358,7 +368,9 @@ msgid "Task"
msgstr "Taak"
#: vpsr.rsduedate
msgid "Due Date:"
#, fuzzy
#| msgid "Due Date:"
msgid "Due date:"
msgstr "Vervaldatum:"
#: vpsr.rsduplicateresource
@ -471,6 +483,10 @@ msgstr "van uw tijdschema?"
msgid "Height"
msgstr ""
#: vpsr.rshomeaddress
msgid "Home address"
msgstr ""
#: vpsr.rshomeaddresslabel
#, fuzzy
msgctxt "vpsr.rshomeaddresslabel"
@ -780,6 +796,10 @@ msgctxt "vpsr.rspersonalwebsitelabel"
msgid "Personal"
msgstr "Persoonlijk"
#: vpsr.rsphonefax
msgid "Phone/fax"
msgstr ""
#: vpsr.rsphonetypelabel1
msgid "Assistant"
msgstr "Assistent"
@ -1180,6 +1200,10 @@ msgstr ""
msgid "Visual"
msgstr ""
#: vpsr.rswebsites
msgid "Websites"
msgstr ""
#: vpsr.rswednesday
msgid "Wednesday"
msgstr "Woensdag"
@ -1208,6 +1232,10 @@ msgstr ""
msgid "Width:"
msgstr ""
#: vpsr.rsworkaddress
msgid "Work address"
msgstr ""
#: vpsr.rsworkaddresslabel
#, fuzzy
msgctxt "vpsr.rsworkaddresslabel"

View File

@ -21,6 +21,10 @@ msgstr ""
msgid "No resources have been defined. Would you like to add one now?"
msgstr ""
#: vpsr.rsaddresses
msgid "Addresses"
msgstr ""
#: vpsr.rsaddresslbl
msgid "Address:"
msgstr ""
@ -306,6 +310,10 @@ msgctxt "vpsr.rsdeletebtn"
msgid "Delete"
msgstr ""
#: vpsr.rsdepartmentlbl
msgid "Department:"
msgstr ""
#: vpsr.rsdescriptionlbl
msgctxt "vpsr.rsdescriptionlbl"
msgid "Description:"
@ -334,7 +342,7 @@ msgid "Print preview"
msgstr ""
#: vpsr.rsdlgreseditcaption
msgid "Resource Edit"
msgid "Resource edit"
msgstr ""
#: vpsr.rsdlgreseditdescription
@ -347,7 +355,7 @@ msgid "Task"
msgstr ""
#: vpsr.rsduedate
msgid "Due Date:"
msgid "Due date:"
msgstr ""
#: vpsr.rsduplicateresource
@ -460,6 +468,10 @@ msgstr ""
msgid "Height"
msgstr ""
#: vpsr.rshomeaddress
msgid "Home address"
msgstr ""
#: vpsr.rshomeaddresslabel
msgctxt "vpsr.rshomeaddresslabel"
msgid "Home"
@ -765,6 +777,10 @@ msgctxt "vpsr.rspersonalwebsitelabel"
msgid "Personal"
msgstr ""
#: vpsr.rsphonefax
msgid "Phone/fax"
msgstr ""
#: vpsr.rsphonetypelabel1
msgid "Assistant"
msgstr ""
@ -1165,6 +1181,10 @@ msgstr ""
msgid "Visual"
msgstr ""
#: vpsr.rswebsites
msgid "Websites"
msgstr ""
#: vpsr.rswednesday
msgid "Wednesday"
msgstr ""
@ -1193,6 +1213,10 @@ msgstr ""
msgid "Width:"
msgstr ""
#: vpsr.rsworkaddress
msgid "Work address"
msgstr ""
#: vpsr.rsworkaddresslabel
msgctxt "vpsr.rsworkaddresslabel"
msgid "Work"

View File

@ -31,6 +31,10 @@ msgstr "1 неделя"
msgid "No resources have been defined. Would you like to add one now?"
msgstr "Не определены ресурсы. Вы хотите добавить ресурс сейчас?"
#: vpsr.rsaddresses
msgid "Addresses"
msgstr ""
#: vpsr.rsaddresslbl
msgid "Address:"
msgstr "Адрес:"
@ -317,6 +321,10 @@ msgctxt "vpsr.rsdeletebtn"
msgid "Delete"
msgstr "Удалить"
#: vpsr.rsdepartmentlbl
msgid "Department:"
msgstr ""
#: vpsr.rsdescriptionlbl
msgctxt "vpsr.rsdescriptionlbl"
msgid "Description:"
@ -345,7 +353,9 @@ msgid "Print preview"
msgstr "Предварительный просмотр печати"
#: vpsr.rsdlgreseditcaption
msgid "Resource Edit"
#, fuzzy
#| msgid "Resource Edit"
msgid "Resource edit"
msgstr "Редактор ресурсов"
#: vpsr.rsdlgreseditdescription
@ -358,7 +368,9 @@ msgid "Task"
msgstr "Задача"
#: vpsr.rsduedate
msgid "Due Date:"
#, fuzzy
#| msgid "Due Date:"
msgid "Due date:"
msgstr "Срок:"
#: vpsr.rsduplicateresource
@ -471,6 +483,10 @@ msgstr "из вашего расписания?"
msgid "Height"
msgstr "Высота"
#: vpsr.rshomeaddress
msgid "Home address"
msgstr ""
#: vpsr.rshomeaddresslabel
#, fuzzy
msgctxt "vpsr.rshomeaddresslabel"
@ -780,6 +796,10 @@ msgctxt "vpsr.rspersonalwebsitelabel"
msgid "Personal"
msgstr "Персонал"
#: vpsr.rsphonefax
msgid "Phone/fax"
msgstr ""
#: vpsr.rsphonetypelabel1
msgid "Assistant"
msgstr "Ассистент"
@ -1180,6 +1200,10 @@ msgstr ""
msgid "Visual"
msgstr ""
#: vpsr.rswebsites
msgid "Websites"
msgstr ""
#: vpsr.rswednesday
msgid "Wednesday"
msgstr "Среда"
@ -1208,6 +1232,10 @@ msgstr ""
msgid "Width:"
msgstr ""
#: vpsr.rsworkaddress
msgid "Work address"
msgstr ""
#: vpsr.rsworkaddresslabel
#, fuzzy
msgctxt "vpsr.rsworkaddresslabel"

View File

@ -94,10 +94,10 @@ begin
'LastName VARCHAR(50), '+
'Title VARCHAR(20) ,'+
'Category INTEGER, '+
'PathToPhoto VARCHAR(255), '+
'Birthdate DATE, '+
'Anniversary DATE, '+
'Company VARCHAR(50) ,'+
'Company VARCHAR(50), '+
'Department VARCHAR(50), '+
'Job_Position VARCHAR(30), '+
'AddressType1 INTEGER, '+
'Address1 VARCHAR(100), '+

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -39,7 +39,7 @@ uses
{$ELSE}
Windows,
{$ENDIF}
SysUtils, Classes, Dialogs,
SysUtils, Classes, Dialogs, Graphics,
{$IFDEF VERSION6} Types, {$ENDIF}
VpSR;
@ -490,6 +490,7 @@ type
end;
TVpContact = class
private
FOwner: TVpContacts;
FLoading: Boolean;
FChanged: Boolean;
@ -502,6 +503,7 @@ type
FAnniversary: TDateTime;
FTitle: string;
FCompany: string;
FDepartment: String;
FEMail1: string;
FEMail2: String;
FEMail3: String;
@ -536,7 +538,6 @@ type
FCountry2: String;
FNotes: string;
FPrivateRec: boolean;
FPathToPhoto: String;
FCategory: integer;
FCustom1: string;
FCustom2: string;
@ -571,6 +572,7 @@ type
procedure SetCustom3(const Value: string);
procedure SetCustom4(const Value: string);
procedure SetDeleted(Value: Boolean);
procedure SetDepartment(const Value: String);
procedure SetEMail1(const Value: string);
procedure SetEMail2(const Value: string);
procedure SetEMail3(const Value: string);
@ -580,7 +582,6 @@ type
procedure SetFirstName(const Value: string);
procedure SetLastName(const Value: string);
procedure SetNotes(const Value: string);
procedure SetPathToPhoto(const Value: String);
procedure SetPhone1(const Value: string);
procedure SetPhone2(const Value: string);
procedure SetPhone3(const Value: string);
@ -602,6 +603,7 @@ type
procedure SetWebsiteType2(Value: integer);
procedure SetZip1(const Value: string);
procedure SetZip2(const Value: string);
public
constructor Create(Owner: TVpContacts);
destructor Destroy; override;
@ -625,6 +627,7 @@ type
property Anniversary: TDateTime read FAnniversary write SetAnniversary;
property Title: string read FTitle write SetTitle;
property Company: string read FCompany write SetCompany;
property Department: String read FDepartment write SetDepartment;
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;
@ -665,7 +668,6 @@ type
property AddressType2: integer read FAddressType2 write SetAddressType2;
property Note: string read FNotes write SetNotes; deprecated 'Use "Notes" instead';
property Notes: string read FNotes write SetNotes;
property PathToPhoto: String read FPathToPhoto write SetPathToPhoto;
property Category: integer read FCategory write SetCategory;
property Custom1: string read FCustom1 write SetCustom1;
property Custom2: string read FCustom2 write SetCustom2;
@ -1813,6 +1815,7 @@ end;
constructor TVpContact.Create(Owner: TVpContacts);
begin
inherited Create;
FChanged := false;
FOwner := Owner;
@ -2000,6 +2003,14 @@ begin
end;
end;
procedure TVpContact.SetDepartment(const Value: String);
begin
if Value <> FDepartment then begin
FDepartment := Value;
Changed := True;
end;
end;
procedure TVpContact.SetEMail1(const Value: string);
begin
if Value <> FEMail1 then begin
@ -2072,14 +2083,6 @@ begin
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);
begin
if Value <> FPhone1 then begin

View File

@ -424,7 +424,8 @@ begin
Required := false;
end;
end; {with FieldDefs do}
end else if TableName = ContactsTableName then begin
end else
if TableName = ContactsTableName then begin
with FieldDefs do begin
Clear;
{ Record ID }
@ -479,6 +480,13 @@ begin
Size := 50;
Required := false;
end;
{ Department }
with AddFieldDef do begin
Name := 'Department';
DataType := ftString;
Size := 50;
Required := false;
end;
{ Position }
with AddFieldDef do begin
Name := 'Job_Position';
@ -711,13 +719,6 @@ begin
DataType := ftInteger;
Required := false;
end;
{ PathToPhoto }
with AddFieldDef do begin
Name := 'PathToPhoto';
DataType := ftString;
Size := 255;
Required := false;
end;
{ Custom1 }
with AddFieldDef do begin
Name := 'Custom1';
@ -1213,21 +1214,21 @@ begin
AContact.RecordID := FieldByName('RecordID').AsInteger;
AContact.FirstName := FieldByName('FirstName').AsString;
AContact.LastName := FieldByName('LastName').AsString;
AContact.Category := FieldByName('Category').AsInteger;
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;
// Department -- new in 1.05
F := FindField('Department');
if F <> nil then AContact.Department := F.AsString;
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;
@ -1460,9 +1461,9 @@ begin
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;
// Department -- new in 1.05
F := ContactsTable.FindField('Department');
if F <> nil then F.AsString := Contact.Department;
// two address types -- new in 1.05
F := ContactsTable.FindField('AddressType1');
@ -1494,13 +1495,6 @@ begin
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;

View File

@ -179,6 +179,7 @@ begin
'Title VARCHAR(50), '+
'Category INTEGER, '+
'Company VARCHAR(50), '+
'Department VARCHAR(50), '+
'Job_Position VARCHAR(30), '+
'AddressType1 INTEGER, '+
'Address1 VARCHAR(100), '+
@ -212,7 +213,6 @@ begin
'WebSite2 VARCHAR (100), '+
'WebSiteType1 INTEGER, '+
'WebSiteType2 INTEGER, '+
'PathToPhoto VARCHAR (255), '+
'Notes VARCHAR(1024), '+
'Custom1 VARCHAR (100), '+
'Custom2 VARCHAR (100), '+

View File

@ -862,6 +862,11 @@ begin
if FN <> '' then
AContact.Company := FieldByName(FN).AsString;
// Department, new in 1.05
FN := GetFieldName(FContactMappings, 'Department');
if FN <> '' then
AContact.Department := FieldByName(FN).AsString;
FN := GetFieldName(FContactMappings, 'Job_Position');
if FN <> '' then
AContact.Job_Position := FieldByName(FN).AsString;
@ -870,11 +875,6 @@ begin
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
@ -1812,6 +1812,10 @@ begin
if FN <> '' then
ContactsTable.FieldByName(FN).AsString := Contact.Company;
FN := GetFieldName(FContactMappings, 'Department');
if FN <> '' then
ContactsTable.FieldByName(FN).AsString := Contact.Department;
FN := GetFieldName(FContactMappings, 'Job_Position');
if FN = '' then
FN := GetFieldName(FContactMappings, 'Position'); // deprecated
@ -1968,10 +1972,6 @@ begin
if FN <> '' then
ContactsTable.FieldByName(FN).AsInteger := Contact.Category;
FN := GetFieldName(FContactMappings, 'PathToPhoto');
if FN <> '' then
ContactsTable.FieldByName(FN).AsString := Contact.PathToPhoto;
FN := GetFieldName(FContactMappings, 'Custom1');
if FN <> '' then
ContactsTable.FieldByName(FN).AsString := Contact.Custom1;

View File

@ -236,6 +236,7 @@ begin
[GetEnumName(TypeInfo(TVpIniVersion), ord(FIniVersionWrite))]);
end;
try
// Don't change the order of these fields to keep readability of v104 files.
L.AddField('FirstName', AContact.FirstName); // 0
L.AddField('LastName', AContact.LastName);
L.AddDateTimeField('BirthDate', AContact.BirthDate, 'ddddd');
@ -294,7 +295,7 @@ begin
L.AddField('Zip2', AContact.Zip2);
L.AddField('Country2', AContact.Country2);
L.AddField('AddressType2', IntToStr(AContact.AddressType2));
L.AddField('PathToPhoto', AContact.PathToPhoto);
L.AddField('Department', AContact.Department);
end;
Result := L.DelimitedText;
@ -571,6 +572,7 @@ var
begin
case FIniVersionRead of
iv104:
// Important: DON'T CHANGE THE ORDER OF THESE FIELDS.
begin
L := TVpIniStrings_v104.Create;
try
@ -588,12 +590,12 @@ begin
AContact.Title := L.Extract(4);
AContact.Company := L.Extract(5);
AContact.Job_Position := L.Extract(6);
AContact.EMail := L.Extract(7);
AContact.Address := L.Extract(8);
AContact.City := L.Extract(9);
AContact.State := L.Extract(10);
AContact.Zip := L.Extract(11);
AContact.Country := L.Extract(12);
AContact.EMail1 := L.Extract(7);
AContact.Address1 := L.Extract(8);
AContact.City1 := L.Extract(9);
AContact.State1 := L.Extract(10);
AContact.Zip1 := L.Extract(11);
AContact.Country1 := L.Extract(12);
AContact.Notes := DecodeLineEndings(L.Extract(13));
AContact.Phone1 := L.Extract(14);
AContact.Phone2 := L.Extract(15);
@ -648,14 +650,14 @@ begin
end else
if fn = 'title' then
AContact.Title := fv
else if fn = 'pathtophoto' then
AContact.PathToPhoto := fv
else if fn = 'category' then
AContact.Category := StrToInt(fv)
else if fn = 'notes' then
AContact.Notes := DecodeLineEndings(fv)
else if fn = 'company' then
AContact.Company := fv
else if fn = 'department' then
AContact.Department := fv
else if fn = 'job_position' then
AContact.Job_Position := fv
else if fn = 'addresstype1' then

View File

@ -120,19 +120,28 @@ begin
FConnection.ExecuteDirect(
'CREATE TABLE Contacts ('+
'RecordID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, '+
'ResourceID INTEGER,' +
'FirstName VARCHAR(50) ,'+
'LastName VARCHAR(50) , '+
'ResourceID INTEGER, ' +
'FirstName VARCHAR(50), '+
'LastName VARCHAR(50), '+
'Category INTEGER, '+
'Birthdate DATE, '+
'Anniversary DATE, '+
'Title VARCHAR(50) ,'+
'Company VARCHAR(50) ,'+
'Title VARCHAR(50), '+
'Company VARCHAR(50), '+
'Department VARCHAR(50), '+
'Job_Position VARCHAR(30), '+
'Address VARCHAR(100), '+
'City VARCHAR(50), '+
'State VARCHAR(25), '+
'Zip VARCHAR(10), '+
'Country VARCHAR(25), '+
'AddressType1 INTEGER, '+
'Address1 VARCHAR(100), '+
'City1 VARCHAR(50), '+
'State1 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), '+
'Phone1 VARCHAR(25), '+
'Phone2 VARCHAR(25), '+
@ -144,8 +153,16 @@ begin
'PhoneType3 INTEGER, '+
'PhoneType4 INTEGER, '+
'PhoneType5 INTEGER, '+
'Category INTEGER, '+
'EMail VARCHAR(100), '+
'EMail1 VARCHAR(100), '+
'EMail2 VARCHAR(100), '+
'EMail3 VARCHAR(100), '+
'EMailType1 INTEGER, '+
'EMailType2 INTEGER, '+
'EMailType3 INTEGER, '+
'Website1 VARCHAR(100), '+
'Website2 VARCHAR(100), '+
'WebsiteType1 INTEGER, '+
'WebsiteType2 INTEGER, '+
'Custom1 VARCHAR(100), '+
'Custom2 VARCHAR(100),'+
'Custom3 VARCHAR(100), '+

View File

@ -254,46 +254,136 @@ resourcestring
RSCountryLbl = 'Country:';
RSZipCodeLbl = 'Zip code:';
RSCompanyLbl = 'Company:';
RSDepartmentLbl = 'Department:';
RSPositionLbl = 'Position:';
RSBirthDateLbl = 'Birth date:';
RSPhoneFax = 'Phone/fax';
RSWebsites = 'Websites';
RSMasterData = 'Master data';
RSAddresses = 'Addresses';
RSWorkAddress = 'Work address';
RSHomeAddress = 'Home address';
{ Print Preview dialog captions }
RSDlgPrintPreview = 'Print preview';
{ Task Edit Dialog Captions }
RSDlgTaskEdit = 'Task';
RSDueDate = 'Due Date:';
RSDetails = 'Details:';
RSTaskComplete = 'Task complete';
RSCreatedOn = 'Created on';
RSCompletedOn = 'Completed on';
RSDlgTaskEdit = 'Task';
RSDueDate = 'Due date:';
RSDetails = 'Details:';
RSTaskComplete = 'Task complete';
RSCreatedOn = 'Created on';
RSCompletedOn = 'Completed on';
{ Resource Edit Dialog Captions }
RSDlgResEditCaption = 'Resource Edit';
RSDlgResEditDescription = 'Description';
RSResource = 'Resource';
RSDlgResEditCaption = 'Resource edit';
RSDlgResEditDescription = 'Description';
RSResource = 'Resource';
{ Reminder Dialog Captions}
RSReminder = 'Reminder';
RSOverdue = 'OVERDUE!';
RSSnoozeCaption = 'Click &Snooze to be reminded again in:';
RSSubjectCaption = 'Subject:';
RSNotesCaption = 'Notes:';
RSDismissBtn = '&Dismiss';
RSSnoozeBtn = '&Snooze';
RSOpenItemBtn = '&Open Item';
RS1Minute = '1 minute';
RSXMinutes = '%d minutes';
RS1Hour = '1 hour';
RSXHours = '%d hours';
RS1Day = '1 day';
RSXDays = '%d days';
RS1Week = '1 week';
RSReminder = 'Reminder';
RSOverdue = 'OVERDUE!';
RSSnoozeCaption = 'Click &Snooze to be reminded again in:';
RSSubjectCaption = 'Subject:';
RSNotesCaption = 'Notes:';
RSDismissBtn = '&Dismiss';
RSSnoozeBtn = '&Snooze';
RSOpenItemBtn = '&Open Item';
RS1Minute = '1 minute';
RSXMinutes = '%d minutes';
RS1Hour = '1 hour';
RSXHours = '%d hours';
RS1Day = '1 day';
RSXDays = '%d days';
RS1Week = '1 week';
{ Calendar }
RSCalendarRevert = 'Revert';
RSCalendarPopupRevert = 'Revert';
RSCalendarRevert = 'Revert';
RSCalendarPopupRevert = 'Revert';
{ Misc strings }
RSCategoryDesc = 'Category %d';
{ Print Format Editor }
RSEditPrintFormat = 'Edit Print Formats...';
RSPrintFormatDesigner = 'Print format designer';
RSFormatLbl = 'Format:';
RSFormats = 'Formats:';
RSElements = 'Elements:';
RSNewBtn = 'New';
RSEditBtn = 'Edit';
RSDeleteBtn = 'Delete';
RSPrintOrder = 'Print order';
RSNewFileBtn = 'New file';
RSLoadFileBtn = 'Load file...';
RSSaveFileBtn = 'Save file...';
RSReportSetup = 'Report setup';
{ Print Format Item Editor }
RSEditFormatCaption = 'Edit format';
RSNameLbl = 'Name:';
RSTimeIncLbl = 'Time increment:';
RSTimeIncUnits = 'Time increment units:';
{ Format element editor }
RSEditElementCaption = 'Edit element';
RSElementTypeLbl = 'Element type';
RSDayViewElement = 'Day view';
RSWeekViewElement = 'Week view';
RSMonthViewElement = 'Month view';
RSCalendarElement = 'Calendar';
RSShapeElement = 'Shape';
RSCaptionElement = 'Caption';
RSTasksElement = 'Tasks';
RSContactsElement = 'Contacts';
RSVisualCaption = 'Visual';
RSRotationCaption = 'Rotation';
RSMeasurementCaption = 'Measurement';
RSPixels = 'Pixels';
RSPercent = 'Percent';
RSInches = 'Inches';
RSLeft = 'Left';
RSTop = 'Top';
RSWidth = 'Width';
RSHeight = 'Height';
RSVisible = 'Visible';
RSCaption = 'Caption';
RSTextCaption = 'Text';
RSShapeBtn = 'Shape...';
RSFontBtn = 'Font...';
{ Shape editor }
RSEditShapeCaption = 'Edit shape';
RSShapeCaption = 'Shape';
RSRectangle = 'rectangle';
RSTopLine = 'top line';
RSBottomLine = 'bottom line';
RSLeftLine = 'left line';
RSRightLine = 'right line';
RSTLToBRLine = 'top-left to bottom-right line';
RSBLToTRLine = 'bottom-left to top-right line';
RSEllipse = 'ellipse';
RSPenCaption = 'Pen';
RSBrushCaption = 'Brush';
RSStyleLbl = 'Style:';
RSWidthLbl = 'Width:';
RSModeLbl = 'Mode:';
RSColorLbl = 'Color:';
{ Automatic resource adding/selection}
RSAddNewResource = 'No resources have been defined. Would you ' +
'like to add one now?';
RSSelectResource = 'No resource has been selected. Would you ' +
'like to select one now?';
{ AboutBox }
RSBrowserError = 'Unable to start web browser. Make sure you have ' +
'it properly setup on your system.';
{ Ini storage }
RSIniFileStructure = 'Incorrect structure of ini file.';
{ XML }
sIENotInstalled = 'Cannot open WININET, Microsoft IE required';
@ -385,86 +475,3 @@ resourcestring
RSNoCanvas = 'TCanvas not assigned'; {!!.01}
RSNoLocalizationFile = 'Localization file not found.'; {!!.02}
{ Misc strings }
RSCategoryDesc = 'Category %d';
{ Print Format Editor }
RSEditPrintFormat = 'Edit Print Formats...';
RSPrintFormatDesigner = 'Print format designer';
RSFormatLbl = 'Format:';
RSFormats = 'Formats:';
RSElements = 'Elements:';
RSNewBtn = 'New';
RSEditBtn = 'Edit';
RSDeleteBtn = 'Delete';
RSPrintOrder = 'Print order';
RSNewFileBtn = 'New file';
RSLoadFileBtn = 'Load file...';
RSSaveFileBtn = 'Save file...';
RSReportSetup = 'Report setup';
{ Print Format Item Editor }
RSEditFormatCaption= 'Edit format';
RSNameLbl = 'Name:';
RSTimeIncLbl = 'Time increment:';
RSTimeIncUnits = 'Time increment units:';
{ Format element editor }
RSEditElementCaption = 'Edit element';
RSElementTypeLbl = 'Element type';
RSDayViewElement = 'Day view';
RSWeekViewElement = 'Week view';
RSMonthViewElement = 'Month view';
RSCalendarElement = 'Calendar';
RSShapeElement = 'Shape';
RSCaptionElement = 'Caption';
RSTasksElement = 'Tasks';
RSContactsElement = 'Contacts';
RSVisualCaption = 'Visual';
RSRotationCaption = 'Rotation';
RSMeasurementCaption = 'Measurement';
RSPixels = 'Pixels';
RSPercent = 'Percent';
RSInches = 'Inches';
RSLeft = 'Left';
RSTop = 'Top';
RSWidth = 'Width';
RSHeight = 'Height';
RSVisible = 'Visible';
RSCaption = 'Caption';
RSTextCaption = 'Text';
RSShapeBtn = 'Shape...';
RSFontBtn = 'Font...';
{ Shape editor }
RSEditShapeCaption = 'Edit shape';
RSShapeCaption = 'Shape';
RSRectangle = 'rectangle';
RSTopLine = 'top line';
RSBottomLine = 'bottom line';
RSLeftLine = 'left line';
RSRightLine = 'right line';
RSTLToBRLine = 'top-left to bottom-right line';
RSBLToTRLine = 'bottom-left to top-right line';
RSEllipse = 'ellipse';
RSPenCaption = 'Pen';
RSBrushCaption = 'Brush';
RSStyleLbl = 'Style:';
RSWidthLbl = 'Width:';
RSModeLbl = 'Mode:';
RSColorLbl = 'Color:';
{ Automatic resource adding/selection} {!!.01}
RSAddNewResource = 'No resources have been defined. Would you ' + {!!.01}
'like to add one now?'; {!!.01}
RSSelectResource = 'No resource has been selected. Would you ' + {!!.01}
'like to select one now?';
{ AboutBox }
RSBrowserError = 'Unable to start web browser. Make sure you have ' +
'it properly setup on your system.';
{ Ini storage }
RSIniFileStructure = 'Incorrect structure of ini file.';

View File

@ -598,12 +598,12 @@ begin
cont.LastName := GetNodeValue(node)
else if nodeName = 'Title' then
cont.Title := GetNodeValue(node)
else if nodeName = 'PathToPhoto' then
cont.PathToPhoto := GetNodeValue(node)
else if nodeName = 'Job_Position' then
cont.Job_Position := GetNodeValue(node)
else if nodeName = 'Company' then
cont.Company := GetNodeValue(node)
else if nodeName = 'Department' then
cont.Department := GetNodeValue(node)
else if (nodeName = 'Address1') or (nodeName = 'Address') then begin
cont.Address1 := GetNodeValue(node);
cont.AddressType1 := ord(GetAddressTypeAttrValue(node, 'Type', 1));
@ -984,17 +984,16 @@ begin
AContactNode.AppendChild(child);
end;
if AContact.PathToPhoto <> '' then begin
child := ADoc.CreateElement('PathToPhoto');
txt := ADoc.CreateTextNode(AContact.PathToPhoto);
if AContact.Company <> '' then begin
child := ADoc.CreateElement('Company');
txt := ADoc.CreateTextNode(AContact.Company);
child.AppendChild(txt);
AContactNode.AppendChild(child);
end;
if AContact.Company <> '' then begin
child := ADoc.CreateElement('Company');
txt := ADoc.CreateTextNode(AContact.Company);
if AContact.Department <> '' then begin
child := ADoc.CreateElement('Department');
txt := ADoc.CreateTextNode(AContact.Department);
child.AppendChild(txt);
AContactNode.AppendChild(child);
end;