Changeset 14
- Timestamp:
- Jun 10, 2011, 2:16:52 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Application/UApplicationInfo.pas
r10 r14 50 50 Name := 'ChronIS'; 51 51 Identification := 1; 52 ReleaseDate := ' 9.6.2011';52 ReleaseDate := '10.6.2011'; 53 53 MajorVersion := 0; 54 54 MinorVersion := 1; -
trunk/Forms/UItemAdd.pas
r12 r14 36 36 37 37 uses 38 UMainForm ;38 UMainForm, UDataTypes, UCore; 39 39 40 40 {$R *.lfm} … … 61 61 begin 62 62 Report := TReport.Create; 63 Report.Base := MainForm.System;63 Report.Base := Core.System; 64 64 end; 65 65 … … 77 77 procedure TItemAddForm.BuildControls; 78 78 var 79 NewControl: T Control;79 NewControl: TWinControl; 80 80 LastTop: Integer; 81 81 I: Integer; 82 82 Column: Integer; 83 83 ValueType: Integer; 84 NewLabel: TLabel; 85 DataType: TDataType; 84 86 const 85 87 ColumnCount = 2; … … 97 99 for I := 0 to Report.Columns.Count - 1 do 98 100 if TReportColumn(Report.Columns[I]).ColumnName <> 'Id' then begin 99 NewControl := TLabel.Create(Panel1); 101 NewLabel := TLabel.Create(Panel1); 102 NewLabel.Parent := Panel1; 103 NewLabel.Top := LastTop; 104 NewLabel.Left := Column * Width div ColumnCount + 10; 105 NewLabel.Caption := TReportColumn(Report.Columns[I]).Caption + ':'; 106 107 DataType := TReportColumn(Report.Columns[I]).CustomType; 108 NewControl := DataType.CreateControl(Panel1); 109 DataType.SetDefault; 110 DataType.SetupControl(NewControl); 100 111 NewControl.Parent := Panel1; 101 112 NewControl.Top := LastTop; 102 NewControl.Left := Column * Width div ColumnCount + 10; 103 TLabel(NewControl).Caption := TReportColumn(Report.Columns[I]).Caption + ':'; 104 105 ValueType := TReportColumn(Report.Columns[I]).TypeDef.TypeIndex; 106 if ValueType = Integer(vtInteger) then begin 107 NewControl := TSpinEdit.Create(Panel1); 108 NewControl.Parent := Panel1; 109 NewControl.Top := LastTop; 110 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 111 TSpinEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 112 end else 113 if ValueType = Integer(vtDate) then begin 114 NewControl := TDateEdit.Create(Panel1); 115 NewControl.Parent := Panel1; 116 NewControl.Top := LastTop; 117 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 118 TDateEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 119 end else 120 if ValueType = Integer(vtFloat) then begin 121 NewControl := TFloatSpinEdit.Create(Panel1); 122 NewControl.Parent := Panel1; 123 NewControl.Top := LastTop; 124 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 125 TFloatSpinEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 126 end else 127 if ValueType = Integer(vtString) then begin 128 NewControl := TEdit.Create(Panel1); 129 NewControl.Parent := Panel1; 130 NewControl.Top := LastTop; 131 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 132 TEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 133 end else 134 if ValueType = Integer(vtPassword) then begin 135 NewControl := TMaskEdit.Create(Panel1); 136 NewControl.Parent := Panel1; 137 NewControl.Top := LastTop; 138 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 139 TMaskEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 140 end else 141 if ValueType = Integer(vtBoolean) then begin 142 NewControl := TCheckBox.Create(Panel1); 143 NewControl.Parent := Panel1; 144 NewControl.Top := LastTop; 145 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 146 end else begin 147 NewControl := TEdit.Create(Panel1); 148 NewControl.Parent := Panel1; 149 NewControl.Top := LastTop; 150 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 151 TEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 152 end; 113 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 114 NewControl.Width := (Width div ColumnCount) div 2 - 20; 153 115 154 116 Column := (Column + 1) mod 2; -
trunk/Forms/UItemEdit.pas
r12 r14 36 36 37 37 uses 38 UMainForm ;38 UMainForm, UDataTypes, UCore; 39 39 40 40 {$R *.lfm} … … 63 63 begin 64 64 Report := TReport.Create; 65 Report.Base := MainForm.System;65 Report.Base := Core.System; 66 66 end; 67 67 … … 80 80 var 81 81 Values: TDbRows; 82 NewControl: TControl;83 82 LastTop: Integer; 84 83 I: Integer; 85 84 Column: Integer; 86 ValueType: Integer; 85 DataType: TDataType; 86 NewControl: TWinControl; 87 NewLabel: TLabel; 87 88 const 88 89 ColumnCount = 2; … … 100 101 if TReportColumn(Report.Columns[I]).ColumnName <> 'Id' then begin 101 102 102 NewControl := TLabel.Create(Panel1); 103 NewLabel := TLabel.Create(Panel1); 104 NewLabel.Parent := Panel1; 105 NewLabel.Top := LastTop; 106 NewLabel.Left := Column * Width div ColumnCount + 10; 107 NewLabel.Caption := TReportColumn(Report.Columns[I]).Caption + ':'; 108 109 DataType := TReportColumn(Report.Columns[I]).CustomType; 110 NewControl := DataType.CreateControl(Panel1); 111 DataType.Load(TReportLine(Report[0]).Items[I]); 112 DataType.SetupControl(NewControl); 103 113 NewControl.Parent := Panel1; 104 114 NewControl.Top := LastTop; 105 NewControl.Left := Column * Width div ColumnCount + 10; 106 TLabel(NewControl).Caption := TReportColumn(Report.Columns[I]).Caption + ':'; 107 108 ValueType := TReportColumn(Report.Columns[I]).TypeDef.TypeIndex; 109 if ValueType = Integer(vtInteger) then begin 110 NewControl := TSpinEdit.Create(Panel1); 111 NewControl.Parent := Panel1; 112 NewControl.Top := LastTop; 113 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 114 TSpinEdit(NewControl).Value := StrToInt(TReportLine(Report[0]).Items[I]); 115 TSpinEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 116 end else 117 if ValueType = Integer(vtDate) then begin 118 NewControl := TDateEdit.Create(Panel1); 119 NewControl.Parent := Panel1; 120 NewControl.Top := LastTop; 121 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 122 TDateEdit(NewControl).Date := StrToDate(TReportLine(Report[0]).Items[I]); 123 TDateEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 124 end else 125 if ValueType = Integer(vtFloat) then begin 126 NewControl := TFloatSpinEdit.Create(Panel1); 127 NewControl.Parent := Panel1; 128 NewControl.Top := LastTop; 129 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 130 TFloatSpinEdit(NewControl).Value := StrToFloat(TReportLine(Report[0]).Items[I]); 131 TFloatSpinEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 132 end else 133 if ValueType = Integer(vtString) then begin 134 NewControl := TEdit.Create(Panel1); 135 NewControl.Parent := Panel1; 136 NewControl.Top := LastTop; 137 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 138 TEdit(NewControl).Text := TReportLine(Report[0]).Items[I]; 139 TEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 140 end else 141 if ValueType = Integer(vtPassword) then begin 142 NewControl := TMaskEdit.Create(Panel1); 143 NewControl.Parent := Panel1; 144 NewControl.Top := LastTop; 145 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 146 TMaskEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 147 end else 148 if ValueType = Integer(vtBoolean) then begin 149 NewControl := TCheckBox.Create(Panel1); 150 NewControl.Parent := Panel1; 151 NewControl.Top := LastTop; 152 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 153 TCheckBox(NewControl).Checked := Boolean(StrToInt(TReportLine(Report[0]).Items[I])); 154 end else begin 155 NewControl := TEdit.Create(Panel1); 156 NewControl.Parent := Panel1; 157 NewControl.Top := LastTop; 158 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 159 TEdit(NewControl).Width := (Width div ColumnCount) div 2 - 20; 160 TEdit(NewControl).Text := TReportLine(Report[0]).Items[I]; 161 end; 115 NewControl.Left := Column * Width div ColumnCount + (Width div ColumnCount) div 2; 116 NewControl.Width := (Width div ColumnCount) div 2 - 20; 162 117 163 118 Column := (Column + 1) mod 2; -
trunk/Forms/UItemView.pas
r12 r14 42 42 43 43 uses 44 UMainForm, UItemEdit ;44 UMainForm, UItemEdit, UDataTypes, UCore; 45 45 46 46 {$R *.lfm} … … 57 57 begin 58 58 Report := TReport.Create; 59 Report.Base := MainForm.System;59 Report.Base := Core.System; 60 60 end; 61 61 … … 93 93 I: Integer; 94 94 Column: Integer; 95 DataType: TDataType; 95 96 const 96 97 ColumnCount = 2; … … 107 108 108 109 if Report.Count = 1 then 109 for I := 0 to Report.Columns.Count - 1 do 110 if TReportColumn(Report.Columns[I]).TypeDef.TypeIndex = Integer(vtPointer) then begin 110 for I := 0 to Report.Columns.Count - 1 do begin 111 DataType := TReportColumn(Report.Columns[I]).CustomType; 112 if DataType is TDataTypeRelationOne then begin 111 113 TabControl1.Tabs.Add(TReportColumn(Report.Columns[I]).Caption); 112 114 end else begin … … 126 128 if Column = 0 then LastTop := LastTop + 24; 127 129 end; 130 end; 128 131 Panel2.Visible := TabControl1.Tabs.Count > 0; 129 132 end; -
trunk/Forms/UMainForm.pas
r13 r14 104 104 PersistentForm: TPersistentForm; 105 105 TreeState: TTreeState; 106 System: TChronisBase;107 106 Report: TReport; 108 107 procedure LoadTree; … … 138 137 OpenKey(RegistryKey, True); 139 138 Panel1.Width := ReadIntegerWithDefault('GroupTreeWidth', 200); 140 System.Database.Database := ReadStringWithDefault('DatabaseSchema', 'chronis');141 System.Database.Hostname := ReadStringWithDefault('DatabaseHostName', 'localhost');142 System.Database.UserName := ReadStringWithDefault('DatabaseUserName', 'chronis');143 System.Database.Password := ReadStringWithDefault('DatabasePassword', '');139 Core.System.Database.Database := ReadStringWithDefault('DatabaseSchema', 'chronis'); 140 Core.System.Database.Hostname := ReadStringWithDefault('DatabaseHostName', 'localhost'); 141 Core.System.Database.UserName := ReadStringWithDefault('DatabaseUserName', 'chronis'); 142 Core.System.Database.Password := ReadStringWithDefault('DatabasePassword', ''); 144 143 with Core.CoolTranslator1 do 145 144 Language := Languages.SearchByCode(ReadStringWithDefault('LanguageCode', '')); … … 156 155 OpenKey(RegistryKey, True); 157 156 WriteInteger('GroupTreeWidth', Panel1.Width); 158 WriteString('DatabaseSchema', System.Database.Database);159 WriteString('DatabaseHostName', System.Database.Hostname);160 WriteString('DatabaseUserName', System.Database.UserName);161 WriteString('DatabasePassword', System.Database.Password);157 WriteString('DatabaseSchema', Core.System.Database.Database); 158 WriteString('DatabaseHostName', Core.System.Database.Hostname); 159 WriteString('DatabaseUserName', Core.System.Database.UserName); 160 WriteString('DatabasePassword', Core.System.Database.Password); 162 161 with Core.CoolTranslator1 do 163 162 WriteString('LanguageCode', Language.Code); … … 177 176 I: Integer; 178 177 begin 179 with System do178 with Core.System do 180 179 try 181 180 DbRows := TDbRows.Create; … … 245 244 '`Name` varchar(255) NOT NULL,' + 246 245 '`DbType` varchar(255) NOT NULL,' + 247 '`TypeIndex` int(11) NOT NULL,' +248 246 'PRIMARY KEY (`Id`)' + 249 247 ') ENGINE=InnoDB DEFAULT CHARSET=utf8'); … … 326 324 end; 327 325 328 if Tables.IndexOf(CustomType ) = -1 then begin329 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + CustomType + '` ( ' +326 if Tables.IndexOf(CustomTypeTableName) = -1 then begin 327 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + CustomTypeTableName + '` ( ' + 330 328 '`Id` int(11) NOT NULL AUTO_INCREMENT,' + 331 329 '`Type` int NOT NULL,' + … … 373 371 EnumId: Integer; 374 372 begin 375 with System do begin373 with Core.System do begin 376 374 TypeNumber := AddType('Number', 'INT', vtInteger); 377 375 TypeString := AddType('String', 'VARCHAR(255)', vtString); … … 407 405 GroupId := AddObjectGroup('System'); 408 406 409 ObjectId := AddObject('Object groups', 'ObjectGroup', System.Database.Database, GroupId);407 ObjectId := AddObject('Object groups', 'ObjectGroup', Core.System.Database.Database, GroupId); 410 408 AddPropertyString(ObjectId, 'Name', 'Name'); 411 ObjectId := AddObject('Objects', 'Object', System.Database.Database, GroupId);409 ObjectId := AddObject('Objects', 'Object', Core.System.Database.Database, GroupId); 412 410 AddPropertyString(ObjectId, 'Name', 'Name'); 413 411 AddPropertyNumber(ObjectId, 'Group', 'Group'); … … 416 414 AddPropertyString(ObjectId, 'Primary key', 'PrimaryKey'); 417 415 AddPropertyNumber(ObjectId, 'Sequence', 'Sequence'); 418 ObjectId := AddObject('Property types', 'Type', System.Database.Database, GroupId);416 ObjectId := AddObject('Property types', 'Type', Core.System.Database.Database, GroupId); 419 417 AddPropertyString(ObjectId, 'Name', 'Name'); 420 418 AddPropertyString(ObjectId, 'Type', 'DbType'); 421 AddPropertyNumber(ObjectId, 'Type index', 'TypeIndex');422 419 AddPropertyNumber(ObjectId, 'Parent', 'Parent'); 423 ObjectId := AddObject('Property groups', 'PropertyGroup', System.Database.Database, GroupId);424 ObjectId := AddObject('Properties', 'Property', System.Database.Database, GroupId);420 ObjectId := AddObject('Property groups', 'PropertyGroup', Core.System.Database.Database, GroupId); 421 ObjectId := AddObject('Properties', 'Property', Core.System.Database.Database, GroupId); 425 422 AddPropertyString(ObjectId, 'Name', 'Name'); 426 423 AddPropertyNumber(ObjectId, 'Object', 'Object'); 427 AddPropertyNumber(ObjectId, 'Property Group', 'PropertyGroup');428 AddPropertyNumber(ObjectId, ' Type', 'Type');424 AddPropertyNumber(ObjectId, 'Property group', 'PropertyGroup'); 425 AddPropertyNumber(ObjectId, 'Custom type', 'CustomType'); 429 426 AddProperty(ObjectId, 'Editable', 'Editable', TypeBoolean); 430 AddPropertyString(ObjectId, 'Column Name', 'ColumnName');427 AddPropertyString(ObjectId, 'Column name', 'ColumnName'); 431 428 end; 432 429 end; … … 434 431 procedure TMainForm.FormCreate(Sender: TObject); 435 432 begin 436 System := TChronisBase.Create;437 System.Database := TSqlDatabase.Create;438 433 TreeState := TTreeState.Create; 439 434 Report := TReport.Create; 440 Report.Base := System;435 Report.Base := Core.System; 441 436 SelectedObject := TChronisObject.Create; 442 SelectedObject.Base := System;437 SelectedObject.Base := Core.System; 443 438 RegistryRootKey := HKEY_CURRENT_USER; 444 439 RegistryKey := '\Software\' + ApplicationInfo.CompanyName + '\' + … … 453 448 TreeState.Free; 454 449 PersistentForm.Free; 455 System.Free;456 450 end; 457 451 … … 564 558 PersistentForm.Load(Self); 565 559 LoadFromRegistry; 566 System.Database.Connect;560 Core.System.Database.Connect; 567 561 InitStructure; 568 System.LoadTypes;562 Core.System.LoadTypes; 569 563 LoadTree; 570 564 end; … … 645 639 try 646 640 DbRows := TDbRows.Create; 647 System.Database.Query(DbRows, 'SELECT * FROM `' + ObjectGroupTable + '`');641 Core.System.Database.Query(DbRows, 'SELECT * FROM `' + ObjectGroupTable + '`'); 648 642 for I := 0 to DbRows.Count - 1 do begin 649 643 NewNode := AddChild(TopItem, DbRows[I].Values['Name']); … … 653 647 try 654 648 ObjectDbRows := TDbRows.Create; 655 System.Database.Query(ObjectDbRows, 'SELECT * FROM `' + ObjectTable + '` WHERE `Group`=' + DbRows[I].Values['Id']);649 Core.System.Database.Query(ObjectDbRows, 'SELECT * FROM `' + ObjectTable + '` WHERE `Group`=' + DbRows[I].Values['Id']); 656 650 for O := 0 to ObjectDbRows.Count - 1 do begin 657 651 NewObjectNode := AddChild(NewNode, ObjectDbRows[O].Values['Name']); -
trunk/UCore.lfm
r12 r14 1 1 object Core: TCore 2 OnCreate = DataModuleCreate 3 OnDestroy = DataModuleDestroy 2 4 OldCreateOrder = False 3 5 Height = 346 -
trunk/UCore.pas
r12 r14 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, UCoolTranslator ;8 Classes, SysUtils, FileUtil, UCoolTranslator, USystem, USqlDatabase; 9 9 10 10 type … … 14 14 TCore = class(TDataModule) 15 15 CoolTranslator1: TCoolTranslator; 16 procedure DataModuleCreate(Sender: TObject); 17 procedure DataModuleDestroy(Sender: TObject); 16 18 private 17 19 { private declarations } 18 20 public 19 { public declarations }20 end; 21 System: TChronisBase; 22 end; 21 23 22 24 var … … 27 29 {$R *.lfm} 28 30 31 { TCore } 32 33 procedure TCore.DataModuleCreate(Sender: TObject); 34 begin 35 System := TChronisBase.Create; 36 System.Database := TSqlDatabase.Create; 37 end; 38 39 procedure TCore.DataModuleDestroy(Sender: TObject); 40 begin 41 System.Free; 42 end; 43 29 44 end. 30 45 -
trunk/USystem.pas
r13 r14 7 7 uses 8 8 Classes, SysUtils, SpecializedList, SpecializedDictionary, USqlDatabase, 9 Strings ;9 Strings, UDataTypes; 10 10 11 11 const … … 21 21 TypeRelationOne = 'TypeRelationOne'; 22 22 TypeRelationMany = 'TypeRelationMany'; 23 CustomType = 'TypeCustom';23 CustomTypeTableName = 'TypeCustom'; 24 24 Enumeration = 'Enumeration'; 25 25 EnumerationState = 'EnumerationState'; … … 45 45 TReportColumn = class 46 46 Caption: string; 47 TypeDef: TChronisType; 47 //TypeDef: TChronisType; 48 CustomType: TDataType; 48 49 ColumnName: string; 49 50 end; … … 80 81 Id: Integer; 81 82 DbType: string; 82 DbTable: string;83 83 TypeIndex: Integer; 84 Parent: TChronisType;85 84 end; 86 85 … … 178 177 NewColumn.Caption := 'Id'; 179 178 NewColumn.ColumnName := 'Id'; 180 NewColumn.TypeDef := Base.Types.FindByTypeIndex(Integer(vtInteger)); 179 NewColumn.CustomType := TDataTypeNumber.Create; 180 181 181 for I := 0 to Properties.Count - 1 do 182 if Properties[I].Values[' Type'] <> IntToStr(Integer(vtRelationMany)) then begin182 if Properties[I].Values['CustomType'] <> IntToStr(Integer(vtRelationMany)) then begin 183 183 NewColumn := TReportColumn.Create; 184 184 Columns.Add(NewColumn); 185 185 NewColumn.Caption := Properties[I].Values['Name']; 186 186 NewColumn.ColumnName := Properties[I].Values['ColumnName'];; 187 NewColumn.TypeDef := Base.Types.FindById(StrToInt(Properties[I].Values['Type'])); 188 if not Assigned(NewColumn.TypeDef) then 189 raise Exception.Create(Format(SUnsupportedType, [Properties[I].Values['Type']])); 187 NewColumn.CustomType := GetDataType(StrToInt(Properties[I].Values['CustomType'])); 190 188 end; 191 189 … … 204 202 NewItem.Id := StrToInt(Values[I].Values[Obj.PrimaryKey]); 205 203 for C := 0 to Properties.Count - 1 do 206 if Properties[C].Values[' Type'] <> IntToStr(Integer(vtRelationMany)) then begin204 if Properties[C].Values['CustomType'] <> IntToStr(Integer(vtRelationMany)) then begin 207 205 NewItem.Items.Add(Values[I].Values[Properties[C].Values['ColumnName']]); 208 206 end; … … 225 223 Data.Add('Name', Name); 226 224 Data.Add('DbType', DataType); 227 Data.Add(' TypeIndex', IntToStr(Integer(TypeIndex)));225 Data.Add('Id', IntToStr(Integer(TypeIndex))); 228 226 Database.Insert(PropertyTypeTable, Data); 229 227 Result := Database.LastInsertId; … … 291 289 Data.Clear; 292 290 Data.Add('Type', IntToStr(Integer(vtInteger))); 293 Database.Insert(CustomType , Data);291 Database.Insert(CustomTypeTableName, Data); 294 292 CustomTypeId := Database.LastInsertId; 295 293 … … 322 320 Data.Clear; 323 321 Data.Add('Type', IntToStr(Integer(vtString))); 324 Database.Insert(CustomType , Data);322 Database.Insert(CustomTypeTableName, Data); 325 323 CustomTypeId := Database.LastInsertId; 326 324 … … 330 328 Data.Add('Default', Default); 331 329 Database.Insert(TypeString, Data); 332 CustomTypeId := Database.LastInsertId;330 //CustomTypeId := Database.LastInsertId; 333 331 334 332 Result := AddProperty(ObjectId, Name, ColumnName, CustomTypeId); … … 405 403 with DbRows[I] do begin 406 404 Id := StrToInt(Values['Id']); 407 TypeIndex := StrToInt(Values['TypeIndex']);408 405 DbType := Values['DbType']; 409 406 //Parent := StrToInt(Values['Parent']); -
trunk/chronis.lpi
r13 r14 97 97 </Item4> 98 98 </RequiredPackages> 99 <Units Count=" 37">99 <Units Count="40"> 100 100 <Unit0> 101 101 <Filename Value="chronis.lpr"/> 102 102 <IsPartOfProject Value="True"/> 103 103 <UnitName Value="chronis"/> 104 <EditorIndex Value="12"/>105 104 <WindowIndex Value="0"/> 106 105 <TopLine Value="14"/> 107 106 <CursorPos X="1" Y="33"/> 108 107 <UsageCount Value="274"/> 109 <Loaded Value="True"/>110 108 <LoadedDesigner Value="True"/> 111 109 <DefaultSyntaxHighlighter Value="Delphi"/> … … 117 115 <TopLine Value="330"/> 118 116 <CursorPos X="1" Y="347"/> 119 <UsageCount Value="4 5"/>117 <UsageCount Value="44"/> 120 118 <DefaultSyntaxHighlighter Value="Delphi"/> 121 119 </Unit1> … … 129 127 <TopLine Value="118"/> 130 128 <CursorPos X="25" Y="144"/> 131 <UsageCount Value="9 9"/>129 <UsageCount Value="98"/> 132 130 <DefaultSyntaxHighlighter Value="Delphi"/> 133 131 </Unit2> … … 141 139 <TopLine Value="1"/> 142 140 <CursorPos X="24" Y="14"/> 143 <UsageCount Value="9 9"/>141 <UsageCount Value="98"/> 144 142 <DefaultSyntaxHighlighter Value="Delphi"/> 145 143 </Unit3> … … 148 146 <IsPartOfProject Value="True"/> 149 147 <UnitName Value="UPersistentForm"/> 150 <EditorIndex Value="14"/>151 148 <WindowIndex Value="0"/> 152 149 <TopLine Value="55"/> 153 150 <CursorPos X="3" Y="84"/> 154 151 <UsageCount Value="264"/> 155 <Loaded Value="True"/>156 152 <DefaultSyntaxHighlighter Value="Delphi"/> 157 153 </Unit4> … … 160 156 <IsPartOfProject Value="True"/> 161 157 <UnitName Value="USqlDatabase"/> 162 <EditorIndex Value=" 11"/>163 <WindowIndex Value="0"/> 164 <TopLine Value=" 209"/>165 <CursorPos X="1" Y=" 221"/>158 <EditorIndex Value="9"/> 159 <WindowIndex Value="0"/> 160 <TopLine Value="410"/> 161 <CursorPos X="1" Y="424"/> 166 162 <UsageCount Value="264"/> 167 163 <Loaded Value="True"/> … … 172 168 <IsPartOfProject Value="True"/> 173 169 <UnitName Value="URegistry"/> 174 <EditorIndex Value="13"/>175 170 <WindowIndex Value="0"/> 176 171 <TopLine Value="19"/> 177 172 <CursorPos X="1" Y="31"/> 178 173 <UsageCount Value="264"/> 179 <Loaded Value="True"/>180 174 <DefaultSyntaxHighlighter Value="Delphi"/> 181 175 </Unit6> … … 188 182 <EditorIndex Value="0"/> 189 183 <WindowIndex Value="0"/> 190 <TopLine Value=" 1"/>191 <CursorPos X=" 15" Y="1"/>184 <TopLine Value="99"/> 185 <CursorPos X="42" Y="112"/> 192 186 <UsageCount Value="327"/> 193 187 <Loaded Value="True"/> … … 201 195 <ResourceBaseClass Value="Form"/> 202 196 <UnitName Value="UItemEdit"/> 197 <IsVisibleTab Value="True"/> 203 198 <EditorIndex Value="1"/> 204 199 <WindowIndex Value="0"/> 205 <TopLine Value=" 129"/>206 <CursorPos X=" 34" Y="133"/>200 <TopLine Value="93"/> 201 <CursorPos X="1" Y="111"/> 207 202 <UsageCount Value="318"/> 208 203 <Loaded Value="True"/> … … 217 212 <ResourceBaseClass Value="Form"/> 218 213 <UnitName Value="ULoginForm"/> 219 <EditorIndex Value="1 6"/>214 <EditorIndex Value="11"/> 220 215 <WindowIndex Value="0"/> 221 216 <TopLine Value="14"/> … … 233 228 <ResourceBaseClass Value="Form"/> 234 229 <UnitName Value="UMainForm"/> 235 <EditorIndex Value=" 2"/>236 <WindowIndex Value="0"/> 237 <TopLine Value=" 613"/>238 <CursorPos X=" 1" Y="625"/>230 <EditorIndex Value="3"/> 231 <WindowIndex Value="0"/> 232 <TopLine Value="405"/> 233 <CursorPos X="22" Y="412"/> 239 234 <UsageCount Value="317"/> 240 235 <Loaded Value="True"/> … … 255 250 <ResourceBaseClass Value="Form"/> 256 251 <UnitName Value="UItemAdd"/> 257 <EditorIndex Value="1 5"/>258 <WindowIndex Value="0"/> 259 <TopLine Value=" 85"/>260 <CursorPos X=" 70" Y="105"/>252 <EditorIndex Value="10"/> 253 <WindowIndex Value="0"/> 254 <TopLine Value="73"/> 255 <CursorPos X="17" Y="85"/> 261 256 <UsageCount Value="313"/> 262 257 <Loaded Value="True"/> … … 269 264 <TopLine Value="963"/> 270 265 <CursorPos X="3" Y="974"/> 271 <UsageCount Value=" 4"/>266 <UsageCount Value="3"/> 272 267 <DefaultSyntaxHighlighter Value="Delphi"/> 273 268 </Unit13> … … 277 272 <TopLine Value="43"/> 278 273 <CursorPos X="1" Y="60"/> 279 <UsageCount Value="1 1"/>274 <UsageCount Value="10"/> 280 275 </Unit14> 281 276 <Unit15> … … 284 279 <TopLine Value="68"/> 285 280 <CursorPos X="1" Y="85"/> 286 <UsageCount Value=" 8"/>281 <UsageCount Value="7"/> 287 282 </Unit15> 288 283 <Unit16> … … 292 287 <TopLine Value="593"/> 293 288 <CursorPos X="15" Y="606"/> 294 <UsageCount Value=" 3"/>289 <UsageCount Value="2"/> 295 290 </Unit16> 296 291 <Unit17> … … 299 294 <TopLine Value="2104"/> 300 295 <CursorPos X="3" Y="2109"/> 301 <UsageCount Value=" 3"/>296 <UsageCount Value="2"/> 302 297 </Unit17> 303 298 <Unit18> … … 307 302 <TopLine Value="1"/> 308 303 <CursorPos X="6" Y="1"/> 309 <UsageCount Value="1 4"/>304 <UsageCount Value="13"/> 310 305 <DefaultSyntaxHighlighter Value="Delphi"/> 311 306 </Unit18> … … 315 310 <TopLine Value="1"/> 316 311 <CursorPos X="3" Y="21"/> 317 <UsageCount Value="1 4"/>312 <UsageCount Value="13"/> 318 313 <DefaultSyntaxHighlighter Value="Delphi"/> 319 314 </Unit19> … … 322 317 <IsPartOfProject Value="True"/> 323 318 <UnitName Value="USystem"/> 324 <IsVisibleTab Value="True"/> 325 <EditorIndex Value="10"/> 326 <WindowIndex Value="0"/> 327 <TopLine Value="185"/> 328 <CursorPos X="33" Y="176"/> 329 <UsageCount Value="83"/> 319 <EditorIndex Value="6"/> 320 <WindowIndex Value="0"/> 321 <TopLine Value="169"/> 322 <CursorPos X="1" Y="181"/> 323 <UsageCount Value="95"/> 330 324 <Loaded Value="True"/> 331 325 <DefaultSyntaxHighlighter Value="Delphi"/> … … 337 331 <TopLine Value="912"/> 338 332 <CursorPos X="14" Y="929"/> 339 <UsageCount Value="1 1"/>333 <UsageCount Value="10"/> 340 334 </Unit21> 341 335 <Unit22> … … 344 338 <TopLine Value="1"/> 345 339 <CursorPos X="15" Y="18"/> 346 <UsageCount Value=" 9"/>340 <UsageCount Value="8"/> 347 341 </Unit22> 348 342 <Unit23> … … 351 345 <TopLine Value="1"/> 352 346 <CursorPos X="11" Y="30"/> 353 <UsageCount Value=" 6"/>347 <UsageCount Value="5"/> 354 348 <DefaultSyntaxHighlighter Value="Delphi"/> 355 349 </Unit23> … … 360 354 <ResourceBaseClass Value="DataModule"/> 361 355 <UnitName Value="UCore"/> 362 <EditorIndex Value=" 9"/>363 <WindowIndex Value="0"/> 364 <TopLine Value=" 3"/>365 <CursorPos X=" 32" Y="17"/>366 <UsageCount Value=" 67"/>356 <EditorIndex Value="5"/> 357 <WindowIndex Value="0"/> 358 <TopLine Value="1"/> 359 <CursorPos X="70" Y="8"/> 360 <UsageCount Value="79"/> 367 361 <Loaded Value="True"/> 368 362 <LoadedDesigner Value="True"/> … … 375 369 <ResourceBaseClass Value="Form"/> 376 370 <UnitName Value="USettingForm"/> 377 <EditorIndex Value=" 8"/>371 <EditorIndex Value="4"/> 378 372 <WindowIndex Value="0"/> 379 373 <TopLine Value="40"/> 380 374 <CursorPos X="45" Y="15"/> 381 <UsageCount Value=" 66"/>375 <UsageCount Value="78"/> 382 376 <Loaded Value="True"/> 383 377 <LoadedDesigner Value="True"/> … … 388 382 <IsPartOfProject Value="True"/> 389 383 <UnitName Value="UApplicationInfo"/> 390 <EditorIndex Value="7"/>391 384 <WindowIndex Value="0"/> 392 385 <TopLine Value="37"/> 393 <CursorPos X="48" Y="56"/> 394 <UsageCount Value="66"/> 395 <Loaded Value="True"/> 386 <CursorPos X="21" Y="52"/> 387 <UsageCount Value="78"/> 396 388 <DefaultSyntaxHighlighter Value="Delphi"/> 397 389 </Unit26> … … 402 394 <TopLine Value="97"/> 403 395 <CursorPos X="26" Y="109"/> 404 <UsageCount Value=" 9"/>396 <UsageCount Value="8"/> 405 397 </Unit27> 406 398 <Unit28> … … 409 401 <TopLine Value="16"/> 410 402 <CursorPos X="14" Y="58"/> 411 <UsageCount Value=" 9"/>403 <UsageCount Value="8"/> 412 404 </Unit28> 413 405 <Unit29> … … 416 408 <TopLine Value="87"/> 417 409 <CursorPos X="6" Y="103"/> 418 <UsageCount Value=" 9"/>410 <UsageCount Value="8"/> 419 411 </Unit29> 420 412 <Unit30> … … 423 415 <TopLine Value="372"/> 424 416 <CursorPos X="7" Y="384"/> 425 <UsageCount Value=" 6"/>417 <UsageCount Value="5"/> 426 418 </Unit30> 427 419 <Unit31> … … 430 422 <TopLine Value="82"/> 431 423 <CursorPos X="40" Y="94"/> 432 <UsageCount Value=" 6"/>424 <UsageCount Value="5"/> 433 425 </Unit31> 434 426 <Unit32> … … 438 430 <TopLine Value="301"/> 439 431 <CursorPos X="3" Y="305"/> 440 <UsageCount Value=" 6"/>432 <UsageCount Value="5"/> 441 433 </Unit32> 442 434 <Unit33> 443 435 <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/dialogs.pp"/> 444 436 <UnitName Value="Dialogs"/> 445 <EditorIndex Value="6"/>446 437 <WindowIndex Value="0"/> 447 438 <TopLine Value="487"/> 448 439 <CursorPos X="44" Y="500"/> 449 <UsageCount Value="29"/> 450 <Loaded Value="True"/> 440 <UsageCount Value="28"/> 451 441 </Unit33> 452 442 <Unit34> 453 443 <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/controls.pp"/> 454 444 <UnitName Value="Controls"/> 455 <EditorIndex Value="5"/> 456 <WindowIndex Value="0"/> 457 <TopLine Value="44"/> 458 <CursorPos X="3" Y="56"/> 459 <UsageCount Value="29"/> 460 <Loaded Value="True"/> 445 <WindowIndex Value="0"/> 446 <TopLine Value="1661"/> 447 <CursorPos X="24" Y="1673"/> 448 <UsageCount Value="28"/> 461 449 </Unit34> 462 450 <Unit35> 463 451 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/> 464 <EditorIndex Value="4"/> 465 <WindowIndex Value="0"/> 466 <TopLine Value="1"/> 467 <CursorPos X="24" Y="11"/> 468 <UsageCount Value="11"/> 469 <Loaded Value="True"/> 452 <WindowIndex Value="0"/> 453 <TopLine Value="50"/> 454 <CursorPos X="1" Y="63"/> 455 <UsageCount Value="10"/> 470 456 </Unit35> 471 457 <Unit36> 472 458 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 473 <EditorIndex Value=" 3"/>459 <EditorIndex Value="8"/> 474 460 <WindowIndex Value="0"/> 475 461 <TopLine Value="120"/> 476 <CursorPos X="1" Y="13 2"/>477 <UsageCount Value="1 1"/>462 <CursorPos X="1" Y="134"/> 463 <UsageCount Value="15"/> 478 464 <Loaded Value="True"/> 479 465 </Unit36> 466 <Unit37> 467 <Filename Value="Application/UDataTypes.pas"/> 468 <IsPartOfProject Value="True"/> 469 <UnitName Value="UDataTypes"/> 470 <EditorIndex Value="7"/> 471 <WindowIndex Value="0"/> 472 <TopLine Value="233"/> 473 <CursorPos X="1" Y="247"/> 474 <UsageCount Value="32"/> 475 <Loaded Value="True"/> 476 <DefaultSyntaxHighlighter Value="Delphi"/> 477 </Unit37> 478 <Unit38> 479 <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/stdctrls.pp"/> 480 <UnitName Value="StdCtrls"/> 481 <WindowIndex Value="0"/> 482 <TopLine Value="1446"/> 483 <CursorPos X="26" Y="1458"/> 484 <UsageCount Value="9"/> 485 </Unit38> 486 <Unit39> 487 <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/win32/system.pp"/> 488 <UnitName Value="System"/> 489 <EditorIndex Value="2"/> 490 <WindowIndex Value="0"/> 491 <TopLine Value="4"/> 492 <CursorPos X="1" Y="16"/> 493 <UsageCount Value="14"/> 494 <Loaded Value="True"/> 495 </Unit39> 480 496 </Units> 481 497 <JumpHistory Count="30" HistoryIndex="29"> 482 498 <Position1> 483 <Filename Value=" USystem.pas"/>484 <Caret Line="1 01" Column="25" TopLine="92"/>499 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 500 <Caret Line="133" Column="1" TopLine="120"/> 485 501 </Position1> 486 502 <Position2> 487 <Filename Value=" USystem.pas"/>488 <Caret Line=" 274" Column="34" TopLine="274"/>503 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 504 <Caret Line="134" Column="1" TopLine="120"/> 489 505 </Position2> 490 506 <Position3> 491 <Filename Value=" USystem.pas"/>492 <Caret Line="1 02" Column="27" TopLine="100"/>507 <Filename Value="Forms/UItemEdit.pas"/> 508 <Caret Line="112" Column="1" TopLine="93"/> 493 509 </Position3> 494 510 <Position4> 495 <Filename Value=" USystem.pas"/>496 <Caret Line=" 291" Column="24" TopLine="277"/>511 <Filename Value="Forms/UItemEdit.pas"/> 512 <Caret Line="111" Column="1" TopLine="93"/> 497 513 </Position4> 498 514 <Position5> 499 <Filename Value=" Forms/UMainForm.pas"/>500 <Caret Line=" 389" Column="15" TopLine="375"/>515 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 516 <Caret Line="131" Column="1" TopLine="120"/> 501 517 </Position5> 502 518 <Position6> 503 <Filename Value=" USystem.pas"/>504 <Caret Line=" 316" Column="3" TopLine="318"/>519 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 520 <Caret Line="133" Column="1" TopLine="120"/> 505 521 </Position6> 506 522 <Position7> 507 <Filename Value=" USystem.pas"/>508 <Caret Line=" 31" Column="41" TopLine="20"/>523 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 524 <Caret Line="134" Column="1" TopLine="120"/> 509 525 </Position7> 510 526 <Position8> 511 <Filename Value=" USystem.pas"/>512 <Caret Line=" 290" Column="50" TopLine="278"/>527 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 528 <Caret Line="131" Column="1" TopLine="120"/> 513 529 </Position8> 514 530 <Position9> 515 <Filename Value=" Forms/UItemEdit.pas"/>516 <Caret Line="1 41" Column="40" TopLine="134"/>531 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 532 <Caret Line="133" Column="1" TopLine="120"/> 517 533 </Position9> 518 534 <Position10> 519 <Filename Value=" Forms/UItemEdit.pas"/>520 <Caret Line="13 3" Column="34" TopLine="129"/>535 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 536 <Caret Line="134" Column="1" TopLine="120"/> 521 537 </Position10> 522 538 <Position11> 523 <Filename Value=" Forms/UMainForm.pas"/>524 <Caret Line=" 374" Column="49" TopLine="357"/>539 <Filename Value="Application/UDataTypes.pas"/> 540 <Caret Line="268" Column="27" TopLine="256"/> 525 541 </Position11> 526 542 <Position12> 527 <Filename Value=" Common/USqlDatabase.pas"/>528 <Caret Line="2 21" Column="1" TopLine="209"/>543 <Filename Value="Application/UDataTypes.pas"/> 544 <Caret Line="270" Column="1" TopLine="256"/> 529 545 </Position12> 530 546 <Position13> 531 <Filename Value="Forms/U MainForm.pas"/>532 <Caret Line=" 388" Column="16" TopLine="375"/>547 <Filename Value="Forms/UItemEdit.pas"/> 548 <Caret Line="112" Column="1" TopLine="93"/> 533 549 </Position13> 534 550 <Position14> 535 <Filename Value=" USystem.pas"/>536 <Caret Line="1 04" Column="53" TopLine="92"/>551 <Filename Value="Forms/UItemEdit.pas"/> 552 <Caret Line="111" Column="1" TopLine="93"/> 537 553 </Position14> 538 554 <Position15> 539 <Filename Value=" USystem.pas"/>540 <Caret Line=" 309" Column="69" TopLine="308"/>555 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 556 <Caret Line="131" Column="1" TopLine="120"/> 541 557 </Position15> 542 558 <Position16> 543 <Filename Value=" USystem.pas"/>544 <Caret Line="1 02" Column="27" TopLine="91"/>559 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 560 <Caret Line="133" Column="1" TopLine="120"/> 545 561 </Position16> 546 562 <Position17> 547 <Filename Value=" Forms/UMainForm.pas"/>548 <Caret Line=" 412" Column="50" TopLine="396"/>563 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 564 <Caret Line="134" Column="1" TopLine="120"/> 549 565 </Position17> 550 566 <Position18> 551 <Filename Value=" Common/USqlDatabase.pas"/>552 <Caret Line=" 221" Column="1" TopLine="209"/>567 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 568 <Caret Line="131" Column="1" TopLine="120"/> 553 569 </Position18> 554 570 <Position19> 555 <Filename Value=" USystem.pas"/>556 <Caret Line=" 322" Column="1" TopLine="312"/>571 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 572 <Caret Line="133" Column="1" TopLine="120"/> 557 573 </Position19> 558 574 <Position20> 559 <Filename Value=" Common/USqlDatabase.pas"/>560 <Caret Line=" 221" Column="1" TopLine="209"/>575 <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/> 576 <Caret Line="134" Column="1" TopLine="120"/> 561 577 </Position20> 562 578 <Position21> 563 <Filename Value=" USystem.pas"/>564 <Caret Line=" 300" Column="27" TopLine="300"/>579 <Filename Value="Application/UDataTypes.pas"/> 580 <Caret Line="251" Column="39" TopLine="233"/> 565 581 </Position21> 566 582 <Position22> 567 <Filename Value=" Forms/UMainForm.pas"/>568 <Caret Line=" 353" Column="34" TopLine="337"/>583 <Filename Value="Application/UDataTypes.pas"/> 584 <Caret Line="246" Column="1" TopLine="233"/> 569 585 </Position22> 570 586 <Position23> 571 <Filename Value=" Common/USqlDatabase.pas"/>572 <Caret Line=" 221" Column="1" TopLine="209"/>587 <Filename Value="USystem.pas"/> 588 <Caret Line="323" Column="31" TopLine="309"/> 573 589 </Position23> 574 590 <Position24> 575 <Filename Value=" Forms/UMainForm.pas"/>576 <Caret Line="3 53" Column="39" TopLine="337"/>591 <Filename Value="USystem.pas"/> 592 <Caret Line="325" Column="1" TopLine="309"/> 577 593 </Position24> 578 594 <Position25> 579 <Filename Value=" Common/USqlDatabase.pas"/>580 <Caret Line=" 221" Column="1" TopLine="209"/>595 <Filename Value="USystem.pas"/> 596 <Caret Line="326" Column="1" TopLine="309"/> 581 597 </Position25> 582 598 <Position26> 583 599 <Filename Value="USystem.pas"/> 584 <Caret Line="3 34" Column="20" TopLine="319"/>600 <Caret Line="327" Column="1" TopLine="309"/> 585 601 </Position26> 586 602 <Position27> 587 603 <Filename Value="USystem.pas"/> 588 <Caret Line=" 409" Column="37" TopLine="391"/>604 <Caret Line="328" Column="1" TopLine="309"/> 589 605 </Position27> 590 606 <Position28> 591 <Filename Value=" H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>592 <Caret Line=" 132" Column="1" TopLine="120"/>607 <Filename Value="USystem.pas"/> 608 <Caret Line="330" Column="7" TopLine="312"/> 593 609 </Position28> 594 610 <Position29> 595 <Filename Value=" Forms/UMainForm.pas"/>596 <Caret Line=" 684" Column="1" TopLine="672"/>611 <Filename Value="USystem.pas"/> 612 <Caret Line="325" Column="1" TopLine="312"/> 597 613 </Position29> 598 614 <Position30> 599 <Filename Value=" Forms/UMainForm.pas"/>600 <Caret Line=" 625" Column="1" TopLine="613"/>615 <Filename Value="USystem.pas"/> 616 <Caret Line="181" Column="1" TopLine="169"/> 601 617 </Position30> 602 618 </JumpHistory> … … 649 665 </CompilerOptions> 650 666 <Debugging> 667 <Watches Count="1"> 668 <Item1> 669 <Expression Value="self.customtype"/> 670 </Item1> 671 </Watches> 651 672 <Exceptions Count="3"> 652 673 <Item1> -
trunk/chronis.lpr
r12 r14 10 10 Forms, UPersistentForm, URegistry, USqlDatabase, UTreeState, SysUtils, 11 11 UItemView, UItemEdit, ULoginForm, UMainForm, UItemAdd, TemplateGenerics, 12 CoolTranslator, USystem, UCore, UApplicationInfo, USettingForm 12 CoolTranslator, USystem, UCore, UApplicationInfo, USettingForm, UDataTypes 13 13 { you can add units after this }; 14 14
Note:
See TracChangeset
for help on using the changeset viewer.