Changeset 29
- Timestamp:
- Nov 23, 2011, 8:24:07 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Application/UApplicationInfo.pas
r25 r29 50 50 Name := 'ChronIS'; 51 51 Identification := 1; 52 ReleaseDate := EncodeDate(2011, 11, 9);52 ReleaseDate := EncodeDate(2011, 11, 23); 53 53 MajorVersion := 0; 54 54 MinorVersion := 1; -
trunk/Forms/ULoginProfileForm.lfm
r28 r29 1 1 object LoginProfileForm: TLoginProfileForm 2 Left = 3142 Left = 276 3 3 Height = 395 4 Top = 1 334 Top = 147 5 5 Width = 521 6 6 Caption = 'Connection profile' … … 149 149 end 150 150 object ButtonCancel: TButton 151 Left = 3 55151 Left = 360 152 152 Height = 25 153 Top = 3 12153 Top = 362 154 154 Width = 75 155 Anchors = [ak Top, akRight]155 Anchors = [akRight, akBottom] 156 156 Caption = 'Cancel' 157 157 ModalResult = 2 -
trunk/Forms/ULoginProfileForm.pas
r27 r29 183 183 ProfileList.Assign(Core.Profiles); 184 184 ProfileList.FillStrings(ListBox1.Items); 185 ListBox1.ItemIndex := Core.LastProfile; 185 if Core.LastProfile < ListBox1.Count then 186 ListBox1.ItemIndex := Core.LastProfile; 186 187 if (ListBox1.Items.Count > 0) and 187 188 (ListBox1.ItemIndex = -1) then ListBox1.ItemIndex := 0; -
trunk/Forms/UMainForm.lfm
r27 r29 6 6 ActiveControl = Panel1 7 7 Caption = 'ChronIS' 8 ClientHeight = 42 78 ClientHeight = 421 9 9 ClientWidth = 640 10 10 Icon.Data = { … … 153 153 object Panel1: TPanel 154 154 Left = 0 155 Height = 42 7155 Height = 421 156 156 Top = 0 157 157 Width = 184 158 158 Align = alLeft 159 159 BevelOuter = bvNone 160 ClientHeight = 42 7160 ClientHeight = 421 161 161 ClientWidth = 184 162 162 TabOrder = 0 163 163 object Label1: TLabel 164 164 Left = 7 165 Height = 1 4165 Height = 18 166 166 Top = 4 167 Width = 39167 Width = 51 168 168 Caption = 'Groups:' 169 169 ParentColor = False … … 171 171 object TreeView1: TTreeView 172 172 Left = 4 173 Height = 403173 Height = 397 174 174 Top = 19 175 175 Width = 180 176 176 Anchors = [akTop, akLeft, akRight, akBottom] 177 DefaultItemHeight = 16178 177 Images = ImageListActions 179 178 ReadOnly = True … … 185 184 object Panel2: TPanel 186 185 Left = 189 187 Height = 42 7186 Height = 421 188 187 Top = 0 189 188 Width = 451 190 189 Align = alClient 191 190 BevelOuter = bvNone 192 ClientHeight = 42 7191 ClientHeight = 421 193 192 ClientWidth = 451 194 193 TabOrder = 1 195 194 object Label2: TLabel 196 195 Left = 2 197 Height = 1 4196 Height = 18 198 197 Top = 4 199 Width = 43198 Width = 54 200 199 Caption = 'Reports:' 201 200 ParentColor = False … … 203 202 object ListView1: TListView 204 203 Left = 2 205 Height = 3 71204 Height = 365 206 205 Top = 19 207 206 Width = 447 … … 223 222 Left = 3 224 223 Height = 25 225 Top = 39 8224 Top = 392 226 225 Width = 75 227 226 Action = AItemAdd … … 232 231 Left = 83 233 232 Height = 25 234 Top = 39 8233 Top = 392 235 234 Width = 75 236 235 Action = AItemDelete … … 241 240 object Splitter1: TSplitter 242 241 Left = 184 243 Height = 42 7242 Height = 421 244 243 Top = 0 245 244 Width = 5 … … 314 313 Hint = 'Settings' 315 314 OnExecute = ASettingsExecute 316 end317 object AInitSystemValues: TAction318 Caption = 'Init system values'319 OnExecute = AInitSystemValuesExecute320 315 end 321 316 object AImportStructure: TAction … … 482 477 object MenuItem18: TMenuItem 483 478 Caption = 'Admin' 484 object MenuItem19: TMenuItem485 Action = AInitSystemValues486 end487 479 object MenuItem20: TMenuItem 488 480 Action = AImportStructure -
trunk/Forms/UMainForm.lrt
r27 r29 18 18 TMAINFORM.ASETTINGS.CAPTION=Settings 19 19 TMAINFORM.ASETTINGS.HINT=Settings 20 TMAINFORM.AINITSYSTEMVALUES.CAPTION=Init system values21 20 TMAINFORM.AIMPORTSTRUCTURE.CAPTION=Import structure... 22 21 TMAINFORM.AABOUT.CAPTION=About -
trunk/Forms/UMainForm.pas
r27 r29 20 20 ADisconnect: TAction; 21 21 AImportStructure: TAction; 22 AInitSystemValues: TAction;23 22 ASettings: TAction; 24 23 AToggleFullscreen: TAction; … … 52 51 MenuItem17: TMenuItem; 53 52 MenuItem18: TMenuItem; 54 MenuItem19: TMenuItem;55 53 MenuItem2: TMenuItem; 56 54 MenuItem20: TMenuItem; … … 76 74 procedure AExitExecute(Sender: TObject); 77 75 procedure AImportStructureExecute(Sender: TObject); 78 procedure AInitSystemValuesExecute(Sender: TObject);79 76 procedure AItemAddExecute(Sender: TObject); 80 77 procedure AItemDeleteExecute(Sender: TObject); … … 98 95 Selected: Boolean); 99 96 procedure MenuItem17Click(Sender: TObject); 97 procedure MenuItem19Click(Sender: TObject); 100 98 procedure TreeView1Change(Sender: TObject; Node: TTreeNode); 101 99 private … … 105 103 procedure LoadFromRegistry; 106 104 procedure SaveToRegistry; 107 procedure InitStructure;108 procedure InitSystemValues;109 105 public 110 106 SelectedObjectId: Integer; … … 168 164 end; 169 165 170 procedure TMainForm.InitStructure;171 var172 DbRows: TDbRows;173 DbRows2: TDbRows;174 StructureVersion: string;175 Data: TDictionaryStringString;176 ObjectId: Integer;177 Tables: TListString;178 I: Integer;179 begin180 with Core.System do181 try182 DbRows := TDbRows.Create;183 Tables := TListString.Create;184 Data := TDictionaryStringString.Create;185 186 Database.Query(DbRows, 'SHOW TABLES');187 Tables.Count := DbRows.Count;188 for I := 0 to DbRows.Count - 1 do189 Tables[I] := DbRows[I].Items[0].Value;190 191 if Tables.IndexOf(InformationTable) = -1 then begin192 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + InformationTable + '` ( ' +193 '`Version` varchar(255) NOT NULL,' +194 '`LastUpdateTime` datetime NOT NULL' +195 ') ENGINE=InnoDB DEFAULT CHARSET=utf8;');196 Database.Query(DbRows, 'INSERT INTO `' + InformationTable + '` (`Version`, `LastUpdateTime`) VALUES ' +197 '("0.1", "0000-00-00 00:00:00");');198 end;199 Database.Select(DbRows, InformationTable);200 StructureVersion := DbRows[0].Values['Version'];201 202 if Tables.IndexOf(ObjectTable) = -1 then begin203 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + ObjectTable + '` ( ' +204 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +205 '`Name` varchar(255) NOT NULL,' +206 '`Schema` varchar(255) NOT NULL,' +207 '`Table` varchar(255) NOT NULL,' +208 '`PrimaryKey` varchar(255) NOT NULL DEFAULT "Id", ' +209 '`Sequence` int(11) NOT NULL DEFAULT 0,' +210 '`Group` int(11) NOT NULL,' +211 'KEY `Group` (`Group`),' +212 'PRIMARY KEY (`Id`)' +213 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');214 215 end;216 217 if Tables.IndexOf(ObjectGroupTable) = -1 then begin218 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + ObjectGroupTable + '` ( ' +219 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +220 '`Name` varchar(255) NOT NULL,' +221 '`Parent` int(11) NOT NULL DEFAULT 0,' +222 '`Sequence` int(11) NOT NULL DEFAULT 0,' +223 'KEY `Parent` (`Parent`),' +224 'PRIMARY KEY (`Id`)' +225 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');226 end;227 228 if Tables.IndexOf(PropertyTable) = -1 then begin229 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + PropertyTable + '` ( ' +230 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +231 '`Name` varchar(255) NOT NULL,' +232 '`Object` int(11) NOT NULL,' +233 '`PropertyGroup` int(11) NOT NULL DEFAULT 0,' +234 '`CustomType` int(11) NOT NULL,' +235 '`Editable` bool NOT NULL DEFAULT 1,' +236 '`ColumnName` varchar(255) NOT NULL,' +237 'KEY `Object` (`Object`),' +238 'KEY `PropertyGroup` (`PropertyGroup`),' +239 'KEY `CustomType` (`CustomType`),' +240 'PRIMARY KEY (`Id`)' +241 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');242 end;243 if Tables.IndexOf(PropertyTypeTable) = -1 then begin244 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + PropertyTypeTable + '` ( ' +245 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +246 '`Name` varchar(255) NOT NULL,' +247 '`DbType` varchar(255) NOT NULL,' +248 'PRIMARY KEY (`Id`)' +249 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');250 end;251 252 if Tables.IndexOf(PropertyGroupTable) = -1 then begin253 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + PropertyGroupTable + '` ( ' +254 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +255 '`Name` varchar(255) NOT NULL,' +256 '`Object` int(11) NOT NULL,' +257 'KEY `Object` (`Object`),' +258 'PRIMARY KEY (`Id`)' +259 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');260 end;261 262 if Tables.IndexOf(EnumerationState) = -1 then begin263 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + EnumerationState + '` ( ' +264 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +265 '`Enumeration` int(11) NOT NULL,' +266 '`Name` varchar(255) NOT NULL,' +267 '`Sequence` int(11) NOT NULL DEFAULT 0,' +268 'KEY `Enumeration` (`Enumeration`),' +269 'PRIMARY KEY (`Id`)' +270 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');271 end;272 273 if Tables.IndexOf(Enumeration) = -1 then begin274 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + Enumeration + '` ( ' +275 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +276 '`Name` varchar(255) NOT NULL,' +277 'PRIMARY KEY (`Id`)' +278 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');279 end;280 281 if Tables.IndexOf(TypeEnumeration) = -1 then begin282 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeEnumeration + '` ( ' +283 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +284 '`Enumeration` int(11) NOT NULL,' +285 'KEY `Enumeration` (`Enumeration`),' +286 'PRIMARY KEY (`Id`)' +287 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');288 end;289 290 if Tables.IndexOf(TypeRelationOne) = -1 then begin291 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeRelationOne + '` ( ' +292 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +293 '`CustomType` int(11) NOT NULL,' +294 '`Object` int(11) NOT NULL,' +295 'KEY `CustomType` (`CustomType`),' +296 'PRIMARY KEY (`Id`)' +297 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');298 end;299 300 if Tables.IndexOf(TypeRelationMany) = -1 then begin301 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeRelationMany + '` ( ' +302 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +303 '`CustomType` int(11) NOT NULL,' +304 '`ObjectProperty` int(11) NOT NULL,' +305 'KEY `CustomType` (`CustomType`),' +306 'PRIMARY KEY (`Id`)' +307 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');308 end;309 310 if Tables.IndexOf(TypeFile) = -1 then begin311 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeFile + '` ( ' +312 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +313 '`Name` varchar(255) NOT NULL,' +314 '`Size` int(11) NOT NULL,' +315 'PRIMARY KEY (`Id`)' +316 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');317 end;318 319 if Tables.IndexOf(TypeGPS) = -1 then begin320 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeGPS + '` ( ' +321 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +322 '`Latitude` double NOT NULL,' +323 '`Longitude` double NOT NULL,' +324 'PRIMARY KEY (`Id`)' +325 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');326 end;327 328 if Tables.IndexOf(CustomTypeTableName) = -1 then begin329 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + CustomTypeTableName + '` ( ' +330 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +331 '`Type` int NOT NULL,' +332 'KEY `Type` (`Type`),' +333 'PRIMARY KEY (`Id`)' +334 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');335 end;336 337 if Tables.IndexOf(TypeNumber) = -1 then begin338 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeNumber + '` ( ' +339 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +340 '`CustomType` int NOT NULL,' +341 '`Default` int NOT NULL,' +342 '`Min` int NOT NULL,' +343 '`Max` int NOT NULL,' +344 'KEY `CustomType` (`CustomType`),' +345 'PRIMARY KEY (`Id`)' +346 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');347 end;348 349 if Tables.IndexOf(TypeFloat) = -1 then begin350 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeFloat + '` ( ' +351 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +352 '`CustomType` int NOT NULL,' +353 '`Default` float NOT NULL,' +354 '`Min` float NOT NULL,' +355 '`Max` float NOT NULL,' +356 'KEY `CustomType` (`CustomType`),' +357 'PRIMARY KEY (`Id`)' +358 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');359 end;360 361 if Tables.IndexOf(TypeDateTime) = -1 then begin362 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeDateTime + '` ( ' +363 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +364 '`CustomType` int NOT NULL,' +365 '`Default` datetime NOT NULL,' +366 '`Min` datetime NOT NULL,' +367 '`Max` datetime NOT NULL,' +368 'KEY `CustomType` (`CustomType`),' +369 'PRIMARY KEY (`Id`)' +370 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');371 end;372 373 if Tables.IndexOf(TypeString) = -1 then begin374 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeString + '` ( ' +375 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +376 '`CustomType` int NOT NULL,' +377 '`Default` VARCHAR(255) NOT NULL,' +378 '`MaxLength` int NOT NULL,' +379 'KEY `CustomType` (`CustomType`),' +380 'PRIMARY KEY (`Id`)' +381 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');382 end;383 384 if Tables.IndexOf(ModuleTable) = -1 then begin385 Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + ModuleTable + '` ( ' +386 '`Id` int(11) NOT NULL AUTO_INCREMENT,' +387 '`Name` VARCHAR(255) NOT NULL,' +388 '`Author` VARCHAR(255) NOT NULL,' +389 '`Website` VARCHAR(255) NOT NULL,' +390 '`Version` VARCHAR(255) NOT NULL,' +391 '`License` VARCHAR(255) NOT NULL,' +392 '`Description` TEXT NOT NULL,' +393 'PRIMARY KEY (`Id`)' +394 ') ENGINE=InnoDB DEFAULT CHARSET=utf8');395 end;396 finally397 Tables.Free;398 Data.Free;399 DbRows.Free;400 end;401 end;402 403 procedure TMainForm.InitSystemValues;404 var405 ObjectId: Integer;406 ObjectGroupId: Integer;407 PropertyParentId: Integer;408 ObjectPropertyGroupId: Integer;409 PropertyTypeId: Integer;410 ObjectPropertyId: Integer;411 ObjectPropertyIdGroup: Integer;412 PropertyObjectId: Integer;413 CustomTypeId: Integer;414 CustomTypeIdType: Integer;415 ObjectIdGroupId: Integer;416 TypeNumber: Integer;417 ObjectGroupParentId: Integer;418 TypeString: Integer;419 TypeBoolean: Integer;420 GroupId: Integer;421 EnumId: Integer;422 ModuleId: Integer;423 ModuleBaseId: Integer;424 begin425 with Core.System do begin426 TypeNumber := AddType('Number', 'INT', vtInteger);427 TypeString := AddType('String', 'VARCHAR(255)', vtString);428 AddType('Text', 'TEXT', vtText);429 AddType('Date and time', 'DATETIME', vtDateTime);430 AddType('Floating number', 'FLOAT', vtFloat);431 AddType('Image', 'BLOB', vtImage);432 TypeBoolean := AddType('Boolean', 'BOOL', vtBoolean);433 AddType('IPv4', 'BINARY(4)', vtIPv4);434 AddType('IPv6', 'BINARY(16)', vtIPv6);435 AddType('MAC address', 'BINARY(6)', vtMAC);436 AddType('File', 'INT', vtFile);437 AddType('GPS', 'INT', vtGPS);438 AddType('Currency', 'FLOAT', vtCurrency);439 AddType('Enumeration', 'INT', vtEnumeration);440 AddType('Time', 'TIME', vtTime);441 AddType('Date', 'DATE', vtDate);442 AddType('Color', 'INT', vtColor);443 AddType('Hyperlink', 'VARCHAR(255)', vtHyperlink);444 AddType('RelationOne', 'INT', vtRelationOne);445 AddType('RelationMany', 'INT', vtRelationMany);446 AddType('Password', 'VARCHAR(255)', vtPassword);447 448 EnumId := AddEnumeration('Boolean');449 AddEnumerationState(EnumId, 'False');450 AddEnumerationState(EnumId, 'True');451 452 EnumId := AddEnumeration('Priority');453 AddEnumerationState(EnumId, 'Low');454 AddEnumerationState(EnumId, 'Normal');455 AddEnumerationState(EnumId, 'High');456 457 GroupId := AddObjectGroup('System');458 459 ObjectGroupId := AddObject('Object groups', 'ObjectGroup', Core.System.Database.Database, GroupId);460 AddPropertyNumber(ObjectGroupId, 'Id', 'Id', False);461 AddPropertyString(ObjectGroupId, 'Name', 'Name', True);462 ObjectGroupParentId := AddPropertyRelationOne(ObjectGroupId, 'Parent', 'Parent', True, ObjectGroupId);463 464 ObjectId := AddObject('Objects', 'Object', Core.System.Database.Database, GroupId);465 AddPropertyNumber(ObjectId, 'Id', 'Id', False);466 AddPropertyString(ObjectId, 'Name', 'Name', True);467 ObjectIdGroupId := AddPropertyRelationOne(ObjectId, 'Group', 'Group', True, ObjectGroupId);468 AddPropertyString(ObjectId, 'Schema', 'Schema', True);469 AddPropertyString(ObjectId, 'Table', 'Table', True);470 AddPropertyString(ObjectId, 'Primary key', 'PrimaryKey', True);471 AddPropertyNumber(ObjectId, 'Sequence', 'Sequence', True);472 473 PropertyTypeId := AddObject('Property types', 'Type', Core.System.Database.Database, GroupId);474 AddPropertyNumber(PropertyTypeId, 'Id', 'Id', False);475 AddPropertyString(PropertyTypeId, 'Name', 'Name', True);476 AddPropertyString(PropertyTypeId, 'Type', 'DbType', True);477 //AddPropertyNumber(ObjectId, 'Parent', 'Parent');478 479 CustomTypeId := AddObject('Custom types', 'TypeCustom', Core.System.Database.Database, GroupId);480 AddPropertyNumber(CustomTypeId, 'Id', 'Id', False);481 CustomTypeIdType := AddPropertyRelationOne(CustomTypeId, 'Type', 'Type', True, PropertyTypeId);482 483 ObjectPropertyGroupId := AddObject('Property groups', 'PropertyGroup', Core.System.Database.Database, GroupId);484 AddPropertyNumber(ObjectPropertyGroupId, 'Id', 'Id', False);485 486 ObjectPropertyId := AddObject('Properties', 'Property', Core.System.Database.Database, GroupId);487 AddPropertyNumber(ObjectPropertyId, 'Id', 'Id', False);488 AddPropertyString(ObjectPropertyId, 'Name', 'Name', True);489 PropertyParentId := AddPropertyRelationOne(ObjectPropertyId, 'Object', 'Object', True, ObjectId);490 ObjectPropertyIdGroup := AddPropertyRelationOne(ObjectPropertyId, 'Property group', 'PropertyGroup', True, ObjectPropertyGroupId);491 AddPropertyNumber(ObjectPropertyId, 'Custom type', 'CustomType', True);492 AddProperty(ObjectPropertyId, 'Editable', 'Editable', TypeBoolean, True);493 AddPropertyString(ObjectPropertyId, 'Column name', 'ColumnName', True);494 495 AddPropertyRelationMany(ObjectGroupId, 'Childs', 'Childs', True, PropertyParentId);496 AddPropertyRelationMany(ObjectGroupId, 'Objects', 'Objects', True, ObjectIdGroupId);497 AddPropertyRelationMany(ObjectId, 'Properties', 'Properties', True, PropertyParentId);498 AddPropertyRelationMany(ObjectPropertyGroupId, 'Properties', 'Properties', True, ObjectPropertyIdGroup);499 AddPropertyRelationMany(PropertyTypeId, 'Custom types', 'CustomTypes', True, CustomTypeIdType);500 ModuleId := AddObject('Modules', 'Module', Core.System.Database.Database, GroupId);501 AddPropertyNumber(ModuleId, 'Id', 'Id', False);502 AddPropertyString(ModuleId, 'Name', 'Name', True);503 AddPropertyString(ModuleId, 'Author', 'Author', True);504 AddPropertyString(ModuleId, 'Website', 'Website', False);505 AddPropertyString(ModuleId, 'Version', 'Version', True);506 AddPropertyText(ModuleId, 'Description', 'Description', False);507 AddPropertyString(ModuleId, 'License', 'License', False);508 509 ModuleBaseId := AddModule('Base', 'Chronos', '', '0.1', '', 'GNU/GPL');510 end;511 end;512 513 166 procedure TMainForm.UpdateInterface; 514 167 begin 515 168 ADisconnect.Enabled := Core.System.Database.Connected; 516 169 AConnect.Enabled := not Core.System.Database.Connected; 517 AInitSystemValues.Enabled := Core.System.Database.Connected;518 170 AImportStructure.Enabled := Core.System.Database.Connected; 519 171 end; … … 624 276 end; 625 277 626 procedure TMainForm.AInitSystemValuesExecute(Sender: TObject);627 begin628 InitSystemValues;629 LoadTree;630 end;631 632 278 procedure TMainForm.AItemAddExecute(Sender: TObject); 633 279 begin … … 656 302 try 657 303 Core.System.Database.Connect; 658 InitStructure;304 if Core.System.IsDatabaseEmpty then Core.System.ModuleSystem.Install; 659 305 Core.System.LoadTypes; 660 306 LoadTree; … … 733 379 begin 734 380 LoginForm.ShowModal; 381 end; 382 383 procedure TMainForm.MenuItem19Click(Sender: TObject); 384 begin 385 735 386 end; 736 387 -
trunk/Languages/chronis.cs.po
r28 r29 214 214 msgstr "Importovat strukturu..." 215 215 216 #: TMAINFORM.AINITSYSTEMVALUES.CAPTION217 msgctxt "TMAINFORM.AINITSYSTEMVALUES.CAPTION"218 msgid "Init system values"219 msgstr "Inicializovat systémové hodnoty"220 221 216 #: TMAINFORM.AITEMADD.CAPTION 222 217 #| msgid "Přidat" -
trunk/Languages/chronis.po
r28 r29 200 200 msgstr "" 201 201 202 #: TMAINFORM.AINITSYSTEMVALUES.CAPTION203 msgctxt "TMAINFORM.AINITSYSTEMVALUES.CAPTION"204 msgid "Init system values"205 msgstr ""206 207 202 #: TMAINFORM.AITEMADD.CAPTION 208 203 msgctxt "TMAINFORM.AITEMADD.CAPTION" -
trunk/UCore.lfm
r25 r29 14 14 object SqlDatabase1: TSqlDatabase 15 15 Connected = False 16 Port = 3306 16 17 Encoding = 'utf8' 17 18 OnLogQuery = SqlDatabase1LogQuery -
trunk/UCore.pas
r27 r29 7 7 uses 8 8 Classes, SysUtils, FileUtil, UCoolTranslator, UDebugLog, USystem, Registry, 9 USqlDatabase, ULoginProfileForm, URegistry, UChronisClient ;9 USqlDatabase, ULoginProfileForm, URegistry, UChronisClient, UModuleSystem; 10 10 11 11 type … … 43 43 44 44 uses 45 UApplicationInfo ;45 UApplicationInfo, UChronisClientDirect; 46 46 47 47 { TCore } … … 56 56 System := TChronisBase.Create; 57 57 System.Database := SqlDatabase1; 58 System.Client := TChronisClientDirect.Create; 59 System.RegisterModule(TModuleSystem); 60 System.ModuleSystem := TModuleSystem(System.Modules.Last); 61 58 62 {$IFDEF DEBUG} 59 63 DebugLog1.WriteToFileEnable := True; -
trunk/USystem.pas
r28 r29 7 7 uses 8 8 Classes, SysUtils, SpecializedList, SpecializedDictionary, USqlDatabase, 9 Strings, UDataTypes, Dialogs, ComCtrls, StdCtrls, Controls, UChronisClient; 9 Strings, UDataTypes, Dialogs, ComCtrls, StdCtrls, Controls, UChronisClient, 10 UChronisModule; 10 11 11 12 const … … 105 106 Client: TChronisClient; 106 107 Database: TSqlDatabase; 108 Modules: TListObject; // TListObject<TChronisModule> 109 ModuleSystem: TChronisModule; 110 procedure RegisterModule(ModuleClass: TChronisModuleClass); 107 111 function AddType(Name, DataType: string; TypeIndex: TDbValueType): Integer; 108 112 function AddGroup(Name: string; ParentGroupId: Integer = 0): Integer; … … 132 136 function AddModule(Name, Author, Website, Version, Description, License: string): Integer; 133 137 procedure LoadTypes; 138 function IsDatabaseEmpty: Boolean; 134 139 constructor Create; 135 140 destructor Destroy; override; … … 235 240 end; 236 241 242 procedure TChronisBase.RegisterModule(ModuleClass: TChronisModuleClass); 243 begin 244 Modules.AddNew(ModuleClass.Create); 245 TChronisModule(Modules.Last).System := TChronisBase(Self); 246 end; 247 237 248 function TChronisBase.AddType(Name, DataType: string; TypeIndex: TDbValueType): Integer; 238 249 var … … 625 636 end; 626 637 638 function TChronisBase.IsDatabaseEmpty: Boolean; 639 var 640 DbRows: TDbRows; 641 begin 642 try 643 DbRows := TDbRows.Create; 644 Database.Query(DbRows, 'SELECT 1 FROM information_schema.tables WHERE table_name = "Information" AND table_schema = "' + 645 Database.Database + '"'); 646 Result := DbRows.Count = 0; 647 finally 648 DbRows.Free; 649 end; 650 end; 651 627 652 constructor TChronisBase.Create; 628 653 begin 629 654 Types := TChronisTypeList.Create; 655 Modules := TListObject.Create; 630 656 Client := nil; 631 657 end; … … 634 660 begin 635 661 Types.Free; 662 Modules.Free; 636 663 Client.Free; 637 664 inherited Destroy; -
trunk/chronis.lpi
r28 r29 105 105 </Item6> 106 106 </RequiredPackages> 107 <Units Count=" 49">107 <Units Count="52"> 108 108 <Unit0> 109 109 <Filename Value="chronis.lpr"/> … … 233 233 <EditorIndex Value="3"/> 234 234 <WindowIndex Value="0"/> 235 <TopLine Value=" 643"/>236 <CursorPos X=" 67" Y="663"/>235 <TopLine Value="286"/> 236 <CursorPos X="1" Y="304"/> 237 237 <UsageCount Value="317"/> 238 238 <Loaded Value="True"/> … … 269 269 <IsPartOfProject Value="True"/> 270 270 <UnitName Value="USystem"/> 271 <EditorIndex Value=" 11"/>272 <WindowIndex Value="0"/> 273 <TopLine Value=" 390"/>274 <CursorPos X=" 1" Y="232"/>271 <EditorIndex Value="7"/> 272 <WindowIndex Value="0"/> 273 <TopLine Value="242"/> 274 <CursorPos X="51" Y="248"/> 275 275 <UsageCount Value="200"/> 276 276 <Loaded Value="True"/> … … 283 283 <ResourceBaseClass Value="DataModule"/> 284 284 <UnitName Value="UCore"/> 285 <EditorIndex Value=" 9"/>286 <WindowIndex Value="0"/> 287 <TopLine Value=" 34"/>288 <CursorPos X=" 116" Y="42"/>285 <EditorIndex Value="6"/> 286 <WindowIndex Value="0"/> 287 <TopLine Value="42"/> 288 <CursorPos X="60" Y="60"/> 289 289 <UsageCount Value="230"/> 290 290 <Loaded Value="True"/> … … 298 298 <ResourceBaseClass Value="Form"/> 299 299 <UnitName Value="USettingForm"/> 300 <EditorIndex Value="8"/>301 300 <WindowIndex Value="0"/> 302 301 <TopLine Value="48"/> 303 302 <CursorPos X="42" Y="66"/> 304 303 <UsageCount Value="229"/> 305 <Loaded Value="True"/>306 <LoadedDesigner Value="True"/>307 304 <DefaultSyntaxHighlighter Value="Delphi"/> 308 305 </Unit15> … … 311 308 <IsPartOfProject Value="True"/> 312 309 <UnitName Value="UApplicationInfo"/> 310 <IsVisibleTab Value="True"/> 313 311 <EditorIndex Value="14"/> 314 312 <WindowIndex Value="0"/> 315 <TopLine Value="3 9"/>316 <CursorPos X=" 32" Y="54"/>313 <TopLine Value="32"/> 314 <CursorPos X="41" Y="52"/> 317 315 <UsageCount Value="229"/> 318 316 <Loaded Value="True"/> … … 326 324 <CursorPos X="44" Y="500"/> 327 325 <UsageCount Value="11"/> 326 <DefaultSyntaxHighlighter Value="Delphi"/> 328 327 </Unit17> 329 328 <Unit18> … … 334 333 <CursorPos X="24" Y="1673"/> 335 334 <UsageCount Value="11"/> 335 <DefaultSyntaxHighlighter Value="Delphi"/> 336 336 </Unit18> 337 337 <Unit19> … … 339 339 <IsPartOfProject Value="True"/> 340 340 <UnitName Value="UDataTypes"/> 341 <EditorIndex Value=" 12"/>342 <WindowIndex Value="0"/> 343 <TopLine Value=" 246"/>344 <CursorPos X=" 47" Y="256"/>341 <EditorIndex Value="8"/> 342 <WindowIndex Value="0"/> 343 <TopLine Value="1"/> 344 <CursorPos X="12" Y="14"/> 345 345 <UsageCount Value="204"/> 346 346 <Loaded Value="True"/> … … 354 354 <CursorPos X="26" Y="1458"/> 355 355 <UsageCount Value="2"/> 356 <DefaultSyntaxHighlighter Value="Delphi"/> 356 357 </Unit20> 357 358 <Unit21> … … 361 362 <CursorPos X="1" Y="561"/> 362 363 <UsageCount Value="13"/> 364 <DefaultSyntaxHighlighter Value="Delphi"/> 363 365 </Unit21> 364 366 <Unit22> … … 371 373 <TopLine Value="149"/> 372 374 <CursorPos X="44" Y="164"/> 373 <UsageCount Value="14 0"/>375 <UsageCount Value="143"/> 374 376 <DefaultSyntaxHighlighter Value="Delphi"/> 375 377 </Unit22> … … 388 390 <CursorPos X="1" Y="2286"/> 389 391 <UsageCount Value="25"/> 392 <DefaultSyntaxHighlighter Value="Delphi"/> 390 393 </Unit24> 391 394 <Unit25> … … 395 398 <CursorPos X="3" Y="298"/> 396 399 <UsageCount Value="25"/> 400 <DefaultSyntaxHighlighter Value="Delphi"/> 397 401 </Unit25> 398 402 <Unit26> … … 402 406 <CursorPos X="10" Y="427"/> 403 407 <UsageCount Value="25"/> 408 <DefaultSyntaxHighlighter Value="Delphi"/> 404 409 </Unit26> 405 410 <Unit27> … … 437 442 <TopLine Value="40"/> 438 443 <CursorPos X="29" Y="54"/> 439 <UsageCount Value=" 89"/>444 <UsageCount Value="92"/> 440 445 <DefaultSyntaxHighlighter Value="Delphi"/> 441 446 </Unit30> … … 447 452 <CursorPos X="20" Y="1219"/> 448 453 <UsageCount Value="32"/> 454 <DefaultSyntaxHighlighter Value="Delphi"/> 449 455 </Unit31> 450 456 <Unit32> … … 454 460 <CursorPos X="29" Y="950"/> 455 461 <UsageCount Value="31"/> 462 <DefaultSyntaxHighlighter Value="Delphi"/> 456 463 </Unit32> 457 464 <Unit33> … … 470 477 <CursorPos X="14" Y="510"/> 471 478 <UsageCount Value="29"/> 479 <DefaultSyntaxHighlighter Value="Delphi"/> 472 480 </Unit34> 473 481 <Unit35> 474 482 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 475 483 <UnitName Value="USqlDatabase"/> 476 <IsVisibleTab Value="True"/> 477 <EditorIndex Value="4"/> 478 <WindowIndex Value="0"/> 479 <TopLine Value="177"/> 480 <CursorPos X="63" Y="198"/> 484 <EditorIndex Value="11"/> 485 <WindowIndex Value="0"/> 486 <TopLine Value="233"/> 487 <CursorPos X="80" Y="254"/> 481 488 <UsageCount Value="18"/> 482 489 <Loaded Value="True"/> … … 490 497 <EditorIndex Value="15"/> 491 498 <WindowIndex Value="0"/> 492 <TopLine Value="1 "/>493 <CursorPos X="5 2" Y="23"/>494 <UsageCount Value=" 39"/>499 <TopLine Value="167"/> 500 <CursorPos X="53" Y="187"/> 501 <UsageCount Value="42"/> 495 502 <Loaded Value="True"/> 496 503 <LoadedDesigner Value="True"/> … … 503 510 <TopLine Value="1"/> 504 511 <CursorPos X="24" Y="4"/> 505 <UsageCount Value="1 6"/>512 <UsageCount Value="17"/> 506 513 <Loaded Value="True"/> 507 514 </Unit37> … … 513 520 <CursorPos X="14" Y="81"/> 514 521 <UsageCount Value="11"/> 522 <DefaultSyntaxHighlighter Value="Delphi"/> 515 523 </Unit38> 516 524 <Unit39> … … 520 528 <CursorPos X="3" Y="245"/> 521 529 <UsageCount Value="11"/> 530 <DefaultSyntaxHighlighter Value="Delphi"/> 522 531 </Unit39> 523 532 <Unit40> … … 527 536 <CursorPos X="23" Y="112"/> 528 537 <UsageCount Value="8"/> 538 <DefaultSyntaxHighlighter Value="Delphi"/> 529 539 </Unit40> 530 540 <Unit41> … … 538 548 <TopLine Value="4"/> 539 549 <CursorPos X="20" Y="19"/> 540 <UsageCount Value="3 3"/>550 <UsageCount Value="36"/> 541 551 <DefaultSyntaxHighlighter Value="Delphi"/> 542 552 </Unit41> … … 547 557 <CursorPos X="1" Y="1589"/> 548 558 <UsageCount Value="11"/> 559 <DefaultSyntaxHighlighter Value="Delphi"/> 549 560 </Unit42> 550 561 <Unit43> … … 558 569 <Filename Value="../../PascalClassLibrary/Common/UDebugLog.pas"/> 559 570 <UnitName Value="UDebugLog"/> 560 <EditorIndex Value="10"/>561 571 <WindowIndex Value="0"/> 562 572 <TopLine Value="90"/> 563 573 <CursorPos X="3" Y="104"/> 564 574 <UsageCount Value="14"/> 565 <Loaded Value="True"/>566 575 </Unit44> 567 576 <Unit45> … … 572 581 <CursorPos X="10" Y="215"/> 573 582 <UsageCount Value="9"/> 583 <DefaultSyntaxHighlighter Value="Delphi"/> 574 584 </Unit45> 575 585 <Unit46> … … 577 587 <IsPartOfProject Value="True"/> 578 588 <UnitName Value="UChronisClient"/> 579 <EditorIndex Value=" 5"/>580 <WindowIndex Value="0"/> 581 <TopLine Value=" 31"/>582 <CursorPos X=" 1" Y="68"/>583 <UsageCount Value=" 29"/>589 <EditorIndex Value="4"/> 590 <WindowIndex Value="0"/> 591 <TopLine Value="11"/> 592 <CursorPos X="26" Y="40"/> 593 <UsageCount Value="32"/> 584 594 <Loaded Value="True"/> 585 595 <DefaultSyntaxHighlighter Value="Delphi"/> … … 589 599 <IsPartOfProject Value="True"/> 590 600 <UnitName Value="UChronisServer"/> 591 <EditorIndex Value=" 6"/>601 <EditorIndex Value="5"/> 592 602 <WindowIndex Value="0"/> 593 603 <TopLine Value="1"/> 594 604 <CursorPos X="1" Y="14"/> 595 <UsageCount Value=" 29"/>605 <UsageCount Value="32"/> 596 606 <Loaded Value="True"/> 597 607 <DefaultSyntaxHighlighter Value="Delphi"/> … … 601 611 <IsPartOfProject Value="True"/> 602 612 <UnitName Value="UChronisClientDirect"/> 603 <EditorIndex Value="7"/>604 613 <WindowIndex Value="0"/> 605 614 <TopLine Value="8"/> 606 615 <CursorPos X="53" Y="32"/> 607 <UsageCount Value="28"/> 608 <Loaded Value="True"/> 616 <UsageCount Value="31"/> 609 617 <DefaultSyntaxHighlighter Value="Delphi"/> 610 618 </Unit48> 619 <Unit49> 620 <Filename Value="Application/UChronisModule.pas"/> 621 <IsPartOfProject Value="True"/> 622 <UnitName Value="UChronisModule"/> 623 <EditorIndex Value="9"/> 624 <WindowIndex Value="0"/> 625 <TopLine Value="1"/> 626 <CursorPos X="5" Y="15"/> 627 <UsageCount Value="22"/> 628 <Loaded Value="True"/> 629 <DefaultSyntaxHighlighter Value="Delphi"/> 630 </Unit49> 631 <Unit50> 632 <Filename Value="Module/UModuleSystem.pas"/> 633 <IsPartOfProject Value="True"/> 634 <UnitName Value="UModuleSystem"/> 635 <EditorIndex Value="10"/> 636 <WindowIndex Value="0"/> 637 <TopLine Value="138"/> 638 <CursorPos X="20" Y="164"/> 639 <UsageCount Value="22"/> 640 <Loaded Value="True"/> 641 <DefaultSyntaxHighlighter Value="Delphi"/> 642 </Unit50> 643 <Unit51> 644 <Filename Value="../../../other/lazarus/lcl/include/customlistbox.inc"/> 645 <EditorIndex Value="12"/> 646 <WindowIndex Value="0"/> 647 <TopLine Value="195"/> 648 <CursorPos X="40" Y="213"/> 649 <UsageCount Value="10"/> 650 <Loaded Value="True"/> 651 </Unit51> 611 652 </Units> 612 653 <JumpHistory Count="30" HistoryIndex="29"> 613 654 <Position1> 614 655 <Filename Value="USystem.pas"/> 615 <Caret Line="6 28" Column="3" TopLine="626"/>656 <Caret Line="641" Column="1" TopLine="633"/> 616 657 </Position1> 617 658 <Position2> 618 659 <Filename Value="USystem.pas"/> 619 <Caret Line=" 134" Column="17" TopLine="120"/>660 <Caret Line="642" Column="1" TopLine="633"/> 620 661 </Position2> 621 662 <Position3> 622 663 <Filename Value="USystem.pas"/> 623 <Caret Line="6 33" Column="3" TopLine="631"/>664 <Caret Line="643" Column="1" TopLine="633"/> 624 665 </Position3> 625 666 <Position4> 626 667 <Filename Value="USystem.pas"/> 627 <Caret Line=" 133" Column="16" TopLine="121"/>668 <Caret Line="644" Column="1" TopLine="633"/> 628 669 </Position4> 629 670 <Position5> 630 671 <Filename Value="USystem.pas"/> 631 <Caret Line="6 29" Column="16" TopLine="626"/>672 <Caret Line="645" Column="1" TopLine="633"/> 632 673 </Position5> 633 674 <Position6> 634 675 <Filename Value="USystem.pas"/> 635 <Caret Line=" 133" Column="17" TopLine="120"/>676 <Caret Line="647" Column="1" TopLine="633"/> 636 677 </Position6> 637 678 <Position7> 638 679 <Filename Value="USystem.pas"/> 639 <Caret Line=" 8" Column="61" TopLine="1"/>680 <Caret Line="649" Column="1" TopLine="633"/> 640 681 </Position7> 641 682 <Position8> 642 <Filename Value=" USystem.pas"/>643 <Caret Line=" 182" Column="24" TopLine="169"/>683 <Filename Value="Forms/UMainForm.pas"/> 684 <Caret Line="305" Column="89" TopLine="286"/> 644 685 </Position8> 645 686 <Position9> 646 <Filename Value=" USystem.pas"/>647 <Caret Line="1 83" Column="20" TopLine="170"/>687 <Filename Value="Module/UModuleSystem.pas"/> 688 <Caret Line="165" Column="38" TopLine="141"/> 648 689 </Position9> 649 690 <Position10> 650 <Filename Value=" USystem.pas"/>651 <Caret Line="1 95" Column="30" TopLine="182"/>691 <Filename Value="Module/UModuleSystem.pas"/> 692 <Caret Line="145" Column="1" TopLine="138"/> 652 693 </Position10> 653 694 <Position11> 654 <Filename Value=" USystem.pas"/>655 <Caret Line=" 196" Column="25" TopLine="176"/>695 <Filename Value="Forms/UMainForm.pas"/> 696 <Caret Line="304" Column="1" TopLine="286"/> 656 697 </Position11> 657 698 <Position12> 658 <Filename Value=" USystem.pas"/>659 <Caret Line="1 97" Column="29" TopLine="176"/>699 <Filename Value="Module/UModuleSystem.pas"/> 700 <Caret Line="165" Column="17" TopLine="138"/> 660 701 </Position12> 661 702 <Position13> 662 <Filename Value=" Application/UChronisClient.pas"/>663 <Caret Line=" 56" Column="57" TopLine="26"/>703 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 704 <Caret Line="241" Column="3" TopLine="235"/> 664 705 </Position13> 665 706 <Position14> 666 <Filename Value=" Application/UChronisClient.pas"/>667 <Caret Line="2 8" Column="32" TopLine="1"/>707 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 708 <Caret Line="240" Column="1" TopLine="233"/> 668 709 </Position14> 669 710 <Position15> 670 <Filename Value=" Application/UChronisClient.pas"/>671 <Caret Line=" 40" Column="7" TopLine="19"/>711 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 712 <Caret Line="241" Column="1" TopLine="233"/> 672 713 </Position15> 673 714 <Position16> 674 <Filename Value=" Application/UChronisClient.pas"/>675 <Caret Line=" 67" Column="1" TopLine="45"/>715 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 716 <Caret Line="242" Column="1" TopLine="233"/> 676 717 </Position16> 677 718 <Position17> 678 <Filename Value=" USystem.pas"/>679 <Caret Line=" 197" Column="29" TopLine="176"/>719 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 720 <Caret Line="243" Column="1" TopLine="233"/> 680 721 </Position17> 681 722 <Position18> 682 <Filename Value=" USystem.pas"/>683 <Caret Line=" 196" Column="9" TopLine="185"/>723 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 724 <Caret Line="244" Column="1" TopLine="233"/> 684 725 </Position18> 685 726 <Position19> 686 <Filename Value=" USystem.pas"/>687 <Caret Line=" 106" Column="28" TopLine="78"/>727 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 728 <Caret Line="245" Column="1" TopLine="233"/> 688 729 </Position19> 689 730 <Position20> 690 <Filename Value=" USystem.pas"/>691 <Caret Line="2 05" Column="44" TopLine="187"/>731 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 732 <Caret Line="249" Column="1" TopLine="233"/> 692 733 </Position20> 693 734 <Position21> 694 <Filename Value=" USystem.pas"/>695 <Caret Line=" 107" Column="1" TopLine="73"/>735 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 736 <Caret Line="250" Column="1" TopLine="233"/> 696 737 </Position21> 697 738 <Position22> 698 <Filename Value=" USystem.pas"/>699 <Caret Line=" 8" Column="75" TopLine="1"/>739 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 740 <Caret Line="263" Column="1" TopLine="234"/> 700 741 </Position22> 701 742 <Position23> 702 <Filename Value=" USystem.pas"/>703 <Caret Line=" 197" Column="33" TopLine="179"/>743 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 744 <Caret Line="264" Column="1" TopLine="235"/> 704 745 </Position23> 705 746 <Position24> 706 <Filename Value=" USystem.pas"/>707 <Caret Line=" 184" Column="18" TopLine="165"/>747 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 748 <Caret Line="201" Column="1" TopLine="183"/> 708 749 </Position24> 709 750 <Position25> 710 <Filename Value=" USystem.pas"/>711 <Caret Line=" 196" Column="28" TopLine="178"/>751 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 752 <Caret Line="240" Column="1" TopLine="222"/> 712 753 </Position25> 713 754 <Position26> 714 <Filename Value=" Application/UChronisClientDirect.pas"/>715 <Caret Line="16 " Column="7" TopLine="1"/>755 <Filename Value="Module/UModuleSystem.pas"/> 756 <Caret Line="165" Column="16" TopLine="138"/> 716 757 </Position26> 717 758 <Position27> 718 <Filename Value=" Forms/ULoginProfileForm.pas"/>719 <Caret Line="2 3" Column="52" TopLine="1"/>759 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 760 <Caret Line="241" Column="3" TopLine="235"/> 720 761 </Position27> 721 762 <Position28> 722 <Filename Value=" ../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>723 <Caret Line=" 187" Column="73" TopLine="177"/>763 <Filename Value="USystem.pas"/> 764 <Caret Line="248" Column="51" TopLine="242"/> 724 765 </Position28> 725 766 <Position29> 726 <Filename Value=" Forms/ULoginForm.pas"/>727 <Caret Line="2 8" Column="66" TopLine="14"/>767 <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/> 768 <Caret Line="254" Column="80" TopLine="233"/> 728 769 </Position29> 729 770 <Position30> 730 <Filename Value=" Forms/UMainForm.pas"/>731 <Caret Line=" 663" Column="67" TopLine="643"/>771 <Filename Value="../../../other/lazarus/lcl/include/customlistbox.inc"/> 772 <Caret Line="213" Column="40" TopLine="195"/> 732 773 </Position30> 733 774 </JumpHistory> … … 741 782 <IncludeFiles Value="$(ProjOutDir)"/> 742 783 <Libraries Value="/usr/lib/mysql/;/usr/lib64/mysql/"/> 743 <OtherUnitFiles Value="Common;Forms;Application "/>784 <OtherUnitFiles Value="Common;Forms;Application;Module"/> 744 785 <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> 745 786 </SearchPaths> -
trunk/chronis.lpr
r27 r29 12 12 CoolWeb, USystem, UCore, UApplicationInfo, USettingForm, UDataTypes, 13 13 UImportStructureForm, UItemSelect, ULoginProfileForm, UAboutForm, 14 UChronisClient, UChronisServer, UChronisClientDirect 14 UChronisClient, UChronisServer, UChronisClientDirect, UChronisModule, UModuleSystem 15 15 { you can add units after this }; 16 16
Note:
See TracChangeset
for help on using the changeset viewer.