Changeset 167
- Timestamp:
- Jul 1, 2023, 11:54:02 AM (18 months ago)
- Location:
- trunk
- Files:
-
- 5 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Core.lfm
r162 r167 384 384 ImageIndex = 19 385 385 OnExecute = AFileExportExecute 386 end 387 object AFileImport: TAction 388 Category = 'File' 389 Caption = 'Import...' 390 OnExecute = AFileImportExecute 386 391 end 387 392 end -
trunk/Core.lrj
r164 r167 21 21 {"hash":154699365,"name":"tcore.anormalize.caption","sourcebytes":[78,111,114,109,97,108,105,122,101],"value":"Normalize"}, 22 22 {"hash":124337662,"name":"tcore.afileexport.caption","sourcebytes":[69,120,112,111,114,116,46,46,46],"value":"Export..."}, 23 {"hash":124338510,"name":"tcore.afileimport.caption","sourcebytes":[73,109,112,111,114,116,46,46,46],"value":"Import..."}, 23 24 {"hash":190444780,"name":"tcore.applicationinfo1.description","sourcebytes":[118,67,97,114,100,32,102,105,108,101,115,32,109,97,110,97,103,101,109,101,110,116,32,116,111,111,108],"value":"vCard files management tool"}, 24 25 {"hash":51995065,"name":"tcore.selectdirectorydialog1.title","sourcebytes":[83,101,108,101,99,116,32,100,105,114,101,99,116,111,114,121],"value":"Select directory"} -
trunk/Core.pas
r165 r167 15 15 TCore = class(TDataModule) 16 16 AAbout: TAction; 17 AFileImport: TAction; 17 18 AFileExport: TAction; 18 19 ANormalize: TAction; … … 51 52 procedure AFileCompareExecute(Sender: TObject); 52 53 procedure AFileExportExecute(Sender: TObject); 54 procedure AFileImportExecute(Sender: TObject); 53 55 procedure AFileNewExecute(Sender: TObject); 54 56 procedure AFileOpenExecute(Sender: TObject); … … 132 134 FormSettings, FormFindDuplicity, FormCompare, TestCase, FormNormalize, 133 135 FormGenerate, FormError, FormFind, FormSource, TestCases, FormExport, FormEx, 134 FormAbout, FormTests ;136 FormAbout, FormTests, FormImport; 135 137 136 138 resourcestring … … 210 212 finally 211 213 FormExport.Free; 214 end; 215 end; 216 217 procedure TCore.AFileImportExecute(Sender: TObject); 218 var 219 FormImport: TFormImport; 220 begin 221 FormImport := TFormImport.Create(nil); 222 try 223 FormImport.ShowModal; 224 finally 225 FormImport.Free; 212 226 end; 213 227 end; -
trunk/Forms/FormContacts.lfm
r162 r167 1 1 object FormContacts: TFormContacts 2 Left = 4002 Left = 675 3 3 Height = 908 4 Top = 2 124 Top = 266 5 5 Width = 1210 6 6 Caption = 'Contacts' … … 255 255 end 256 256 object SaveDialog1: TSaveDialog 257 Title = 'Uložit soubor jako'258 257 Left = 720 259 258 Top = 408 260 259 end 261 260 object OpenDialog1: TOpenDialog 262 Title = 'Otevřít existující soubor'263 261 Left = 720 264 262 Top = 480 -
trunk/Forms/FormContacts.lrj
r162 r167 19 19 {"hash":19140,"name":"tformcontacts.acut.caption","sourcebytes":[67,117,116],"value":"Cut"}, 20 20 {"hash":5671589,"name":"tformcontacts.apaste.caption","sourcebytes":[80,97,115,116,101],"value":"Paste"}, 21 {"hash":174310419,"name":"tformcontacts.acolumns.caption","sourcebytes":[67,111,108,117,109,110,115],"value":"Columns"}, 22 {"hash":201423615,"name":"tformcontacts.savedialog1.title","sourcebytes":[85,108,111,197,190,105,116,32,115,111,117,98,111,114,32,106,97,107,111],"value":"Ulo\u017Eit soubor jako"}, 23 {"hash":45680018,"name":"tformcontacts.opendialog1.title","sourcebytes":[79,116,101,118,197,153,195,173,116,32,101,120,105,115,116,117,106,195,173,99,195,173,32,115,111,117,98,111,114],"value":"Otev\u0159\u00EDt existuj\u00EDc\u00ED soubor"} 21 {"hash":174310419,"name":"tformcontacts.acolumns.caption","sourcebytes":[67,111,108,117,109,110,115],"value":"Columns"} 24 22 ]} -
trunk/Forms/FormExport.lfm
r162 r167 1 1 object FormExport: TFormExport 2 Left = 5662 Left = 859 3 3 Height = 679 4 Top = 4614 Top = 380 5 5 Width = 842 6 6 Caption = 'Export' … … 94 94 object ListView1: TListView 95 95 Left = 19 96 Height = 4 3397 Top = 1 4996 Height = 409 97 Top = 173 98 98 Width = 775 99 99 Anchors = [akTop, akLeft, akRight, akBottom] … … 103 103 ViewStyle = vsReport 104 104 end 105 object CheckBoxHumanReadableHeader: TCheckBox 106 Left = 16 107 Height = 30 108 Top = 128 109 Width = 231 110 Caption = 'Human readable header' 111 OnChange = CheckBoxHumanReadableHeaderChange 112 TabOrder = 4 113 end 105 114 end 106 115 object SaveDialog1: TSaveDialog 107 Title = 'Uložit soubor jako'108 116 Left = 350 109 117 Top = 163 110 118 end 119 object TimerRedraw: TTimer 120 Interval = 200 121 OnTimer = TimerRedrawTimer 122 Left = 205 123 Top = 277 124 end 111 125 end -
trunk/Forms/FormExport.lrj
r162 r167 6 6 {"hash":50353482,"name":"tformexport.label2.caption","sourcebytes":[79,117,116,112,117,116,32,102,105,108,101,58],"value":"Output file:"}, 7 7 {"hash":77164181,"name":"tformexport.buttonbrowse.caption","sourcebytes":[66,114,111,119,115,101],"value":"Browse"}, 8 {"hash": 201423615,"name":"tformexport.savedialog1.title","sourcebytes":[85,108,111,197,190,105,116,32,115,111,117,98,111,114,32,106,97,107,111],"value":"Ulo\u017Eit soubor jako"}8 {"hash":46972866,"name":"tformexport.checkboxhumanreadableheader.caption","sourcebytes":[72,117,109,97,110,32,114,101,97,100,97,98,108,101,32,104,101,97,100,101,114],"value":"Human readable header"} 9 9 ]} -
trunk/Forms/FormExport.pas
r162 r167 5 5 uses 6 6 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ComCtrls, 7 Table, LazFileUtils, FormEx;7 ExtCtrls, Table, LazFileUtils, FormEx; 8 8 9 9 type … … 15 15 ButtonCancel: TButton; 16 16 ButtonExport: TButton; 17 CheckBoxHumanReadableHeader: TCheckBox; 17 18 ComboBoxOutputFormat: TComboBox; 18 19 EditOutputFile: TEdit; … … 22 23 SaveDialog1: TSaveDialog; 23 24 ScrollBox1: TScrollBox; 25 TimerRedraw: TTimer; 24 26 procedure ButtonBrowseClick(Sender: TObject); 25 27 procedure ButtonExportClick(Sender: TObject); 28 procedure CheckBoxHumanReadableHeaderChange(Sender: TObject); 26 29 procedure ComboBoxOutputFormatChange(Sender: TObject); 27 30 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); … … 29 32 procedure FormDestroy(Sender: TObject); 30 33 procedure FormShow(Sender: TObject); 34 procedure TimerRedrawTimer(Sender: TObject); 31 35 private 32 36 Table: TTable; 37 RedrawPending: Boolean; 33 38 procedure PrepareTable; 34 39 procedure UpdateFileNameExt; … … 43 48 44 49 uses 45 Core, Common, RegistryEx, VCardFile ;50 Core, Common, RegistryEx, VCardFile, VCard; 46 51 47 52 { TFormExport } … … 58 63 TableFormat := TTableFormat(ComboBoxOutputFormat.Items.Objects[ComboBoxOutputFormat.ItemIndex]); 59 64 SaveStringToFile(Table.GetOutput(TableFormat), EditOutputFile.Text); 65 end; 66 67 procedure TFormExport.CheckBoxHumanReadableHeaderChange(Sender: TObject); 68 begin 69 RedrawPending := True; 60 70 end; 61 71 … … 102 112 procedure TFormExport.FormShow(Sender: TObject); 103 113 begin 104 PrepareTable; 105 Table.GetOutputListView(ListView1); 114 RedrawPending := True; 115 end; 116 117 procedure TFormExport.TimerRedrawTimer(Sender: TObject); 118 begin 119 if RedrawPending then begin 120 PrepareTable; 121 Table.GetOutputListView(ListView1); 122 RedrawPending := False; 123 end; 106 124 end; 107 125 … … 113 131 Values: TStringList; 114 132 Index: Integer; 115 begin 133 Fields: TContactFields; 134 Field: TContactField; 135 Columns: TStringList; 136 begin 137 Fields := TContact.GetFields; 138 Table.Clear; 139 116 140 Values := TStringList.Create; 141 Columns := TStringList.Create; 117 142 try 118 143 with TVCardFile(Core.Core.DataFile), VCard do begin … … 123 148 for J := 0 to Contacts[I].Properties.Count - 1 do 124 149 if not Contacts[I].Properties[J].Name.StartsWith('PHOTO') and 125 (Table.Columns.IndexOf(Contacts[I].Properties[J].Name) = -1) then 126 Table.Columns.Add(Contacts[I].Properties[J].Name); 150 (Table.Columns.IndexOf(Contacts[I].Properties[J].Name) = -1) then begin 151 Table.Columns.Add(Contacts[I].Properties[J].Name); 152 Columns.Add(Contacts[I].Properties[J].Name); 153 end; 154 end; 155 156 if CheckBoxHumanReadableHeader.Checked then begin 157 for I := 0 to Table.Columns.Count - 1 do begin 158 Field := Fields.GetBySysName(Table.Columns[I]); 159 if Assigned(Field) then Table.Columns[I] := Field.Title; 160 end; 127 161 end; 128 162 129 163 for I := 0 to Contacts.Count - 1 do begin 130 164 Values.Clear; 131 for J := 0 to Table.Columns.Count - 1 do165 for J := 0 to Columns.Count - 1 do 132 166 Values.Add(''); 133 167 for J := 0 to Contacts[I].Properties.Count - 1 do begin 134 Index := Table.Columns.IndexOf(Contacts[I].Properties[J].Name);168 Index := Columns.IndexOf(Contacts[I].Properties[J].Name); 135 169 if Index <> -1 then 136 170 Values[Index] := Contacts[I].Properties[J].Value; … … 144 178 finally 145 179 Values.Free; 180 Columns.Free; 146 181 end; 147 182 end; … … 163 198 try 164 199 CurrentContext := Core.Core.ApplicationInfo1.GetRegistryContext; 165 EditOutputFile.Text := ReadStringWithDefault('LastExportFileName', 'Export.txt'); 166 TableFormat := TTableFormat(ReadIntegerWithDefault('TableFormat', Integer(tfCsv))); 200 EditOutputFile.Text := ReadStringWithDefault('ExportFileName', 'Export.txt'); 201 TableFormat := TTableFormat(ReadIntegerWithDefault('ExportTableFormat', Integer(tfCsv))); 202 CheckBoxHumanReadableHeader.Checked := ReadBoolWithDefault('ExportHumanReadableColumns', CheckBoxHumanReadableHeader.Checked); 167 203 ComboBoxOutputFormat.ItemIndex := ComboBoxOutputFormat.Items.IndexOfObject(TObject(TableFormat)); 168 204 finally … … 176 212 try 177 213 CurrentContext := Core.Core.ApplicationInfo1.GetRegistryContext; 178 WriteString('LastExportFileName', EditOutputFile.Text); 179 WriteInteger('TableFormat', Integer(ComboBoxOutputFormat.Items.Objects[ComboBoxOutputFormat.ItemIndex])); 214 WriteString('ExportFileName', EditOutputFile.Text); 215 WriteInteger('ExportTableFormat', Integer(ComboBoxOutputFormat.Items.Objects[ComboBoxOutputFormat.ItemIndex])); 216 WriteBool('ExportHumanReadableColumns', CheckBoxHumanReadableHeader.Checked); 180 217 finally 181 218 Free; -
trunk/Forms/FormMain.lfm
r165 r167 1 1 object FormMain: TFormMain 2 Left = 5 103 Height = 8224 Top = 2 725 Width = 1 2542 Left = 534 3 Height = 993 4 Top = 223 5 Width = 1491 6 6 AllowDropFiles = True 7 7 Caption = 'vCard Studio' 8 ClientHeight = 7929 ClientWidth = 1 2548 ClientHeight = 959 9 ClientWidth = 1491 10 10 DesignTimePPI = 144 11 11 Menu = MainMenu1 … … 19 19 OnShow = FormShow 20 20 LCLVersion = '2.2.6.0' 21 WindowState = wsMaximized22 21 object CoolBar1: TCoolBar 23 22 Left = 0 24 23 Height = 43 25 24 Top = 0 26 Width = 1 25425 Width = 1491 27 26 AutoSize = True 28 27 Bands = < … … 149 148 Caption = '-' 150 149 end 150 object MenuItem12: TMenuItem 151 Action = Core.AFileCompare 152 end 153 object Separator1: TMenuItem 154 Caption = '-' 155 end 151 156 object MenuItem3: TMenuItem 152 157 Action = Core.AFileCombine … … 155 160 Action = Core.AFileSplit 156 161 end 157 object MenuItem12: TMenuItem 158 Action = Core.AFileCompare 162 object Separator2: TMenuItem 163 Caption = '-' 164 end 165 object MenuItem16: TMenuItem 166 Action = Core.AFileImport 159 167 end 160 168 object MenuItem15: TMenuItem -
trunk/Forms/FormMain.pas
r165 r167 21 21 MenuItem14: TMenuItem; 22 22 MenuItem15: TMenuItem; 23 MenuItem16: TMenuItem; 23 24 MenuItemColumns: TMenuItem; 24 25 MenuItem3: TMenuItem; … … 46 47 MenuItemFile: TMenuItem; 47 48 PopupMenuOpenRecent: TPopupMenu; 49 Separator1: TMenuItem; 50 Separator2: TMenuItem; 48 51 ToolBarOther: TToolBar; 49 52 ToolBarFile: TToolBar; -
trunk/Forms/FormProperties.lfm
r162 r167 1 1 object FormProperties: TFormProperties 2 Left = 4002 Left = 675 3 3 Height = 908 4 Top = 2 124 Top = 266 5 5 Width = 1210 6 6 Caption = 'Contacts' … … 192 192 end 193 193 object SaveDialog1: TSaveDialog 194 Title = 'Uložit soubor jako'195 194 Left = 760 196 195 Top = 448 197 196 end 198 197 object OpenDialog1: TOpenDialog 199 Title = 'Otevřít existující soubor'200 198 Left = 760 201 199 Top = 520 -
trunk/Forms/FormProperties.lrj
r162 r167 10 10 {"hash":4863557,"name":"tformproperties.aclone.caption","sourcebytes":[67,108,111,110,101],"value":"Clone"}, 11 11 {"hash":201478110,"name":"tformproperties.asavevaluetofile.caption","sourcebytes":[83,97,118,101,32,118,97,108,117,101,32,116,111,32,102,105,108,101,46,46,46],"value":"Save value to file..."}, 12 {"hash":231494782,"name":"tformproperties.aloadvaluefromfile.caption","sourcebytes":[76,111,97,100,32,118,97,108,117,101,32,102,114,111,109,32,102,105,108,101,46,46,46],"value":"Load value from file..."}, 13 {"hash":201423615,"name":"tformproperties.savedialog1.title","sourcebytes":[85,108,111,197,190,105,116,32,115,111,117,98,111,114,32,106,97,107,111],"value":"Ulo\u017Eit soubor jako"}, 14 {"hash":45680018,"name":"tformproperties.opendialog1.title","sourcebytes":[79,116,101,118,197,153,195,173,116,32,101,120,105,115,116,117,106,195,173,99,195,173,32,115,111,117,98,111,114],"value":"Otev\u0159\u00EDt existuj\u00EDc\u00ED soubor"} 12 {"hash":231494782,"name":"tformproperties.aloadvaluefromfile.caption","sourcebytes":[76,111,97,100,32,118,97,108,117,101,32,102,114,111,109,32,102,105,108,101,46,46,46],"value":"Load value from file..."} 15 13 ]} -
trunk/Languages/vCardStudio.cs.po
r164 r167 191 191 msgstr "Exportovat..." 192 192 193 #: tcore.afileimport.caption 194 msgid "Import..." 195 msgstr "Importovat..." 196 193 197 #: tcore.afilenew.caption 194 198 msgid "New" … … 944 948 msgstr "Pracovní telefon" 945 949 946 #: tformcontacts.opendialog1.title947 msgctxt "tformcontacts.opendialog1.title"948 msgid "Otevřít existující soubor"949 msgstr ""950 951 #: tformcontacts.savedialog1.title952 msgctxt "tformcontacts.savedialog1.title"953 msgid "Uložit soubor jako"954 msgstr ""955 956 950 #: tformerror.caption 957 951 msgid "Load errors" … … 971 965 msgctxt "tformexport.buttonexport.caption" 972 966 msgid "Export" 973 msgstr "Export "967 msgstr "Exportovat" 974 968 975 969 #: tformexport.caption … … 978 972 msgstr "Export" 979 973 974 #: tformexport.checkboxhumanreadableheader.caption 975 msgctxt "tformexport.checkboxhumanreadableheader.caption" 976 msgid "Human readable header" 977 msgstr "" 978 980 979 #: tformexport.label1.caption 981 980 msgid "Output format:" … … 985 984 msgid "Output file:" 986 985 msgstr "Výstupní soubor:" 987 988 #: tformexport.savedialog1.title989 msgctxt "tformexport.savedialog1.title"990 msgid "Uložit soubor jako"991 msgstr ""992 986 993 987 #: tformfind.buttonfind.caption … … 1084 1078 msgstr "URL:" 1085 1079 1080 #: tformimport.buttonbrowse.caption 1081 msgctxt "tformimport.buttonbrowse.caption" 1082 msgid "Browse" 1083 msgstr "Procházet" 1084 1085 #: tformimport.buttoncancel.caption 1086 msgctxt "tformimport.buttoncancel.caption" 1087 msgid "Cancel" 1088 msgstr "Zrušit" 1089 1090 #: tformimport.buttonimport.caption 1091 msgctxt "tformimport.buttonimport.caption" 1092 msgid "Import" 1093 msgstr "Importovat" 1094 1095 #: tformimport.caption 1096 msgctxt "tformimport.caption" 1097 msgid "Import" 1098 msgstr "Import" 1099 1100 #: tformimport.checkboxhumanreadableheader.caption 1101 msgctxt "tformimport.checkboxhumanreadableheader.caption" 1102 msgid "Human readable header" 1103 msgstr "" 1104 1105 #: tformimport.label1.caption 1106 msgid "Input format:" 1107 msgstr "Vstupní formát:" 1108 1109 #: tformimport.label2.caption 1110 msgid "Input file:" 1111 msgstr "Vstupní soubor:" 1112 1086 1113 #: tformmain.caption 1087 1114 msgid "vCard Studio" … … 1245 1272 msgstr "Hodnoty" 1246 1273 1247 #: tformproperties.opendialog1.title1248 msgctxt "tformproperties.opendialog1.title"1249 msgid "Otevřít existující soubor"1250 msgstr ""1251 1252 #: tformproperties.savedialog1.title1253 msgctxt "tformproperties.savedialog1.title"1254 msgid "Uložit soubor jako"1255 msgstr ""1256 1257 1274 #: tformproperty.buttoncancel.caption 1258 1275 msgctxt "tformproperty.buttoncancel.caption" -
trunk/Languages/vCardStudio.pot
r164 r167 181 181 msgstr "" 182 182 183 #: tcore.afileimport.caption 184 msgid "Import..." 185 msgstr "" 186 183 187 #: tcore.afilenew.caption 184 188 msgid "New" … … 934 938 msgstr "" 935 939 936 #: tformcontacts.opendialog1.title937 msgctxt "tformcontacts.opendialog1.title"938 msgid "Otevřít existující soubor"939 msgstr ""940 941 #: tformcontacts.savedialog1.title942 msgctxt "tformcontacts.savedialog1.title"943 msgid "Uložit soubor jako"944 msgstr ""945 946 940 #: tformerror.caption 947 941 msgid "Load errors" … … 968 962 msgstr "" 969 963 964 #: tformexport.checkboxhumanreadableheader.caption 965 msgctxt "tformexport.checkboxhumanreadableheader.caption" 966 msgid "Human readable header" 967 msgstr "" 968 970 969 #: tformexport.label1.caption 971 970 msgid "Output format:" … … 974 973 #: tformexport.label2.caption 975 974 msgid "Output file:" 976 msgstr ""977 978 #: tformexport.savedialog1.title979 msgctxt "tformexport.savedialog1.title"980 msgid "Uložit soubor jako"981 975 msgstr "" 982 976 … … 1074 1068 msgstr "" 1075 1069 1070 #: tformimport.buttonbrowse.caption 1071 msgctxt "tformimport.buttonbrowse.caption" 1072 msgid "Browse" 1073 msgstr "" 1074 1075 #: tformimport.buttoncancel.caption 1076 msgctxt "tformimport.buttoncancel.caption" 1077 msgid "Cancel" 1078 msgstr "" 1079 1080 #: tformimport.buttonimport.caption 1081 msgctxt "tformimport.buttonimport.caption" 1082 msgid "Import" 1083 msgstr "" 1084 1085 #: tformimport.caption 1086 msgctxt "tformimport.caption" 1087 msgid "Import" 1088 msgstr "" 1089 1090 #: tformimport.checkboxhumanreadableheader.caption 1091 msgctxt "tformimport.checkboxhumanreadableheader.caption" 1092 msgid "Human readable header" 1093 msgstr "" 1094 1095 #: tformimport.label1.caption 1096 msgid "Input format:" 1097 msgstr "" 1098 1099 #: tformimport.label2.caption 1100 msgid "Input file:" 1101 msgstr "" 1102 1076 1103 #: tformmain.caption 1077 1104 msgid "vCard Studio" … … 1235 1262 msgstr "" 1236 1263 1237 #: tformproperties.opendialog1.title1238 msgctxt "tformproperties.opendialog1.title"1239 msgid "Otevřít existující soubor"1240 msgstr ""1241 1242 #: tformproperties.savedialog1.title1243 msgctxt "tformproperties.savedialog1.title"1244 msgid "Uložit soubor jako"1245 msgstr ""1246 1247 1264 #: tformproperty.buttoncancel.caption 1248 1265 msgctxt "tformproperty.buttoncancel.caption" -
trunk/Languages/vCardStudio.sv.po
r164 r167 192 192 msgstr "" 193 193 194 #: tcore.afileimport.caption 195 msgid "Import..." 196 msgstr "" 197 194 198 #: tcore.afilenew.caption 195 199 msgid "New" … … 950 954 msgid "Work phone" 951 955 msgstr "Jobb telefon" 952 953 #: tformcontacts.opendialog1.title954 msgctxt "tformcontacts.opendialog1.title"955 msgid "Otevřít existující soubor"956 msgstr ""957 958 #: tformcontacts.savedialog1.title959 msgctxt "tformcontacts.savedialog1.title"960 msgid "Uložit soubor jako"961 msgstr ""962 956 963 957 #: tformerror.caption … … 986 980 msgstr "" 987 981 982 #: tformexport.checkboxhumanreadableheader.caption 983 msgctxt "tformexport.checkboxhumanreadableheader.caption" 984 msgid "Human readable header" 985 msgstr "" 986 988 987 #: tformexport.label1.caption 989 988 msgid "Output format:" … … 992 991 #: tformexport.label2.caption 993 992 msgid "Output file:" 994 msgstr ""995 996 #: tformexport.savedialog1.title997 msgctxt "tformexport.savedialog1.title"998 msgid "Uložit soubor jako"999 993 msgstr "" 1000 994 … … 1092 1086 msgstr "" 1093 1087 1088 #: tformimport.buttonbrowse.caption 1089 msgctxt "tformimport.buttonbrowse.caption" 1090 msgid "Browse" 1091 msgstr "" 1092 1093 #: tformimport.buttoncancel.caption 1094 #, fuzzy 1095 msgctxt "tformimport.buttoncancel.caption" 1096 msgid "Cancel" 1097 msgstr "Avbryt" 1098 1099 #: tformimport.buttonimport.caption 1100 msgctxt "tformimport.buttonimport.caption" 1101 msgid "Import" 1102 msgstr "" 1103 1104 #: tformimport.caption 1105 msgctxt "tformimport.caption" 1106 msgid "Import" 1107 msgstr "" 1108 1109 #: tformimport.checkboxhumanreadableheader.caption 1110 msgctxt "tformimport.checkboxhumanreadableheader.caption" 1111 msgid "Human readable header" 1112 msgstr "" 1113 1114 #: tformimport.label1.caption 1115 msgid "Input format:" 1116 msgstr "" 1117 1118 #: tformimport.label2.caption 1119 msgid "Input file:" 1120 msgstr "" 1121 1094 1122 #: tformmain.caption 1095 1123 msgid "vCard Studio" … … 1255 1283 msgstr "" 1256 1284 1257 #: tformproperties.opendialog1.title1258 msgctxt "tformproperties.opendialog1.title"1259 msgid "Otevřít existující soubor"1260 msgstr ""1261 1262 #: tformproperties.savedialog1.title1263 msgctxt "tformproperties.savedialog1.title"1264 msgid "Uložit soubor jako"1265 msgstr ""1266 1267 1285 #: tformproperty.buttoncancel.caption 1268 1286 msgctxt "tformproperty.buttoncancel.caption" -
trunk/Packages/Common/Table.pas
r158 r167 39 39 procedure GetOutputListView(ListView: TListView); 40 40 function GetOutput(OutputFormat: TTableFormat): string; 41 procedure SetInputTabs(Text: string); 42 procedure SetInputPlain(Text: string); 43 procedure SetInputCsv(Text: string); 44 procedure SetInputXml(Text: string); 45 procedure SetInputHtml(Text: string); 46 procedure SetInputMediaWiki(Text: string); 47 procedure SetInput(OutputFormat: TTableFormat; Text: string); 41 48 constructor Create; 42 49 destructor Destroy; override; … … 55 62 Common; 56 63 64 resourcestring 65 SUnsupportedFormat = 'Unsupported format'; 66 57 67 { TTable } 58 68 … … 74 84 procedure TTable.Clear; 75 85 begin 86 Columns.Clear; 76 87 Rows.Clear; 77 88 end; … … 138 149 begin 139 150 Result := '<?xml version="1.0" encoding="UTF-8"?>' + LineEnding + 140 '< vcard>' + LineEnding +151 '<table>' + LineEnding + 141 152 ' <title>' + Title + '</title>' + LineEnding + 142 ' < contacts>' + LineEnding;153 ' <rows>' + LineEnding; 143 154 for I := 0 to Rows.Count - 1 do begin 144 Result := Result + ' < contact>' + LineEnding;155 Result := Result + ' <row>' + LineEnding; 145 156 for J := 0 to Rows[I].Cells.Count - 1 do 146 157 if Rows[I].Cells[J] <> '' then 147 Result := Result + ' < property name="' + Columns[J] + '">' + ReplaceXmlEntities(Rows[I].Cells[J]) + '</property>' + LineEnding;148 Result := Result + ' </ contact>' + LineEnding;149 end; 150 Result := Result + ' </ contacts>' + LineEnding +151 '</ vcard>';158 Result := Result + ' <cell name="' + Columns[J] + '">' + ReplaceXmlEntities(Rows[I].Cells[J]) + '</cell>' + LineEnding; 159 Result := Result + ' </row>' + LineEnding; 160 end; 161 Result := Result + ' </rows>' + LineEnding + 162 '</table>'; 152 163 end; 153 164 … … 255 266 tfMediaWiki: Result := GetOutputMediaWiki; 256 267 tfXml: Result := GetOutputXml; 257 else Result := ''; 268 else raise Exception.Create(SUnsupportedFormat); 269 end; 270 end; 271 272 procedure TTable.SetInputTabs(Text: string); 273 begin 274 275 end; 276 277 procedure TTable.SetInputPlain(Text: string); 278 begin 279 280 end; 281 282 procedure TTable.SetInputCsv(Text: string); 283 begin 284 285 end; 286 287 procedure TTable.SetInputXml(Text: string); 288 begin 289 290 end; 291 292 procedure TTable.SetInputHtml(Text: string); 293 begin 294 295 end; 296 297 procedure TTable.SetInputMediaWiki(Text: string); 298 begin 299 300 end; 301 302 procedure TTable.SetInput(OutputFormat: TTableFormat; Text: string); 303 begin 304 case OutputFormat of 305 tfExcel: SetInputTabs(Text); 306 tfPlain: SetInputPlain(Text); 307 tfCsv: SetInputCsv(Text); 308 tfHtml: SetInputHtml(Text); 309 tfMediaWiki: SetInputMediaWiki(Text); 310 tfXml: SetInputXml(Text); 311 else raise Exception.Create(SUnsupportedFormat); 258 312 end; 259 313 end; -
trunk/vCardStudio.lpi
r162 r167 123 123 </Item7> 124 124 </RequiredPackages> 125 <Units Count="2 5">125 <Units Count="26"> 126 126 <Unit0> 127 127 <Filename Value="vCardStudio.lpr"/> … … 281 281 <ResourceBaseClass Value="Form"/> 282 282 </Unit24> 283 <Unit25> 284 <Filename Value="Forms\FormImport.pas"/> 285 <IsPartOfProject Value="True"/> 286 <ComponentName Value="FormImport"/> 287 <HasResources Value="True"/> 288 <ResourceBaseClass Value="Form"/> 289 </Unit25> 283 290 </Units> 284 291 </ProjectOptions> -
trunk/vCardStudio.lpr
r158 r167 7 7 Interfaces, // this includes the LCL widgetset 8 8 Forms, FormMain, Core, Diff, SysUtils, FormCompareSideBySide, TestCases, 9 VCardFile, FormColumns, FormCompare, FormNormalize, FormExport ;9 VCardFile, FormColumns, FormCompare, FormNormalize, FormExport, FormImport; 10 10 11 11 {$R *.res}
Note:
See TracChangeset
for help on using the changeset viewer.