Changeset 20


Ignore:
Timestamp:
Jun 15, 2011, 11:11:59 AM (13 years ago)
Author:
george
Message:
  • Added: Import relation one and many from existed database.
Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Application/UDataTypes.pas

    r17 r20  
    107107  end;
    108108
     109  TDataTypeDateTime = class(TDataType)
     110    Value: TDateTime;
     111    Default: TDateTime;
     112    Min: TDateTime;
     113    Max: TDateTime;
     114    function CreateControl(Owner: TComponent): TWinControl; override;
     115    function GetControlValue(Control: TWinControl): string; override;
     116    procedure SetupControl(Control: TWinControl); override;
     117    procedure Load(CellValue: string); override;
     118  end;
     119
    109120  { TDataTypeFloat }
    110121
     
    147158    Result := TDataTypeDate.Create;
    148159  end else
     160  if BaseType = Integer(vtDateTime) then begin
     161    Result := TDataTypeDateTime.Create;
     162  end else
    149163  if BaseType = Integer(vtFloat) then begin
    150164    Result := TDataTypeFloat.Create;
     
    168182  end;
    169183  Result.CustomType := ACustomType;
     184end;
     185
     186{ TDataTypeDateTime }
     187
     188function TDataTypeDateTime.CreateControl(Owner: TComponent): TWinControl;
     189begin
     190  Result := TDateEdit.Create(Owner);
     191end;
     192
     193function TDataTypeDateTime.GetControlValue(Control: TWinControl): string;
     194begin
     195  Result := DateTimeToSQL(TDateEdit(Control).Date);
     196end;
     197
     198procedure TDataTypeDateTime.SetupControl(Control: TWinControl);
     199begin
     200  TDateEdit(Control).Date := Value;
     201end;
     202
     203procedure TDataTypeDateTime.Load(CellValue: string);
     204begin
     205  Value := SQLToDateTime(CellValue);
    170206end;
    171207
  • trunk/Forms/UImportStructureForm.lfm

    r19 r20  
    11object ImportStructureForm: TImportStructureForm
    2   Left = 320
    3   Height = 233
    4   Top = 144
    5   Width = 528
     2  Left = 321
     3  Height = 465
     4  Top = 145
     5  Width = 553
    66  Caption = 'Import structure'
    7   ClientHeight = 233
    8   ClientWidth = 528
     7  ClientHeight = 465
     8  ClientWidth = 553
     9  OnCreate = FormCreate
     10  OnDestroy = FormDestroy
    911  OnShow = FormShow
    1012  LCLVersion = '0.9.31'
     
    7072  end
    7173  object Button1: TButton
    72     Left = 448
     74    Left = 473
    7375    Height = 25
    74     Top = 201
     76    Top = 433
    7577    Width = 75
    7678    Anchors = [akRight, akBottom]
     
    8183  object Memo1: TMemo
    8284    Left = 184
    83     Height = 180
     85    Height = 412
    8486    Top = 8
    85     Width = 335
     87    Width = 360
    8688    Anchors = [akTop, akLeft, akRight, akBottom]
    8789    ScrollBars = ssAutoBoth
  • trunk/Forms/UImportStructureForm.pas

    r19 r20  
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   USystem;
     9  EditBtn, USystem, SpecializedList, USqlDatabase, SpecializedDictionary;
    1010
    1111type
     12
     13  { TSQLTable }
     14
     15  TSQLTable = class
     16    Table: TDictionaryStringString;
     17    Columns: TDbRows;
     18    function ColumnByName(Name: string): Integer;
     19    constructor Create;
     20    destructor Destroy; override;
     21  end;
    1222
    1323  { TImportStructureForm }
     
    2535    Memo1: TMemo;
    2636    procedure Button1Click(Sender: TObject);
     37    procedure FormCreate(Sender: TObject);
     38    procedure FormDestroy(Sender: TObject);
    2739    procedure FormShow(Sender: TObject);
    2840  private
     41    function ObjectIdByName(Name: string): Integer;
    2942    { private declarations }
    3043  public
    31     { public declarations }
     44    SQLTables: TListObject; // TListObject<TSQLTable>
    3245  end;
    3346
     
    3851
    3952uses
    40   UCore, USqlDatabase, UMainForm;
     53  UCore, UMainForm;
     54
     55{ TSQLTable }
     56
     57function TSQLTable.ColumnByName(Name: string): Integer;
     58var
     59  I: Integer;
     60begin
     61  I := 0;
     62  while (I < Columns.Count) and (Columns[I].Values['COLUMN_NAME'] <> Name) do Inc(I);
     63  if I < Columns.Count then Result := I
     64    else Result := -1;
     65end;
     66
     67constructor TSQLTable.Create;
     68begin
     69  Columns := TDbRows.Create;
     70  Table := TDictionaryStringString.Create;
     71end;
     72
     73destructor TSQLTable.Destroy;
     74begin
     75  Columns.Free;
     76  Table.Free;
     77  inherited Destroy;
     78end;
    4179
    4280{$R *.lfm}
    4381
    4482{ TImportStructureForm }
     83
     84function TImportStructureForm.ObjectIdByName(Name: string): Integer;
     85var
     86  I: Integer;
     87begin
     88  I := 0;
     89  while (I < SQLTables.Count) and (TSQLTable(SQLTables[I]).Table.Items[0].Value <> Name) do Inc(I);
     90  if I < SQLTables.Count then Result := I
     91    else Result := -1;
     92end;
    4593
    4694procedure TImportStructureForm.FormShow(Sender: TObject);
     
    63111  ObjectId: Integer;
    64112  PropertyId: Integer;
     113  NewTable: TSQLTable;
     114  RefObjectIndex: Integer;
     115  RefPropertyId: Integer;
    65116begin
    66117  try
     
    73124    Database.Password := EditPassword.Text;
    74125    Database.Connect;
     126
     127    SQLTables.Clear;
    75128    GroupId := Core.System.AddGroup(Database.Database, 0);
    76129    Database.Query(DbRows, 'SHOW TABLES');
    77130    for T := 0 to DbRows.Count - 1 do begin
     131      NewTable := TSQLTable(SQLTables.AddNew(TSQLTable.Create));
     132      NewTable.Table.Assign(DbRows[T]);
    78133      TableName := DbRows[T].Items[0].Value;
    79134      Memo1.Lines.Add('Create object "' + TableName + '"');
    80       ObjectId := Core.System.AddObject(TableName, TableName, Database.Database, GroupId);
    81       Database.Query(DbRows2, 'SHOW COLUMNS FROM `' + TableName + '`');
    82       for C := 0 to DbRows2.Count - 1 do begin
    83         PropertyName := DbRows2[C].Values['Field'];
    84         PropType := DbRows2[C].Values['Type'];
    85         PropType := Copy(PropType, 1, Pos('(', PropType) - 1);
     135      NewTable.Table.Add('ObjId', IntToStr(Core.System.AddObject(TableName, TableName, Database.Database, GroupId)));
     136    end;
     137
     138    for T := 0 to SQLTables.Count - 1 do
     139    with TSQLTable(SQLTables[T]) do begin
     140      TableName := Table.Items[0].Value;
     141      Database.Query(Columns, 'SELECT `TCOL`.`DATA_TYPE`, `TCOL`.`COLUMN_NAME`, ' +
     142      ' `KCU`.`REFERENCED_TABLE_SCHEMA`, `KCU`.`REFERENCED_TABLE_NAME`, `KCU`.`REFERENCED_COLUMN_NAME`, ' +
     143      ' `TC`.`CONSTRAINT_TYPE` ' +
     144      ' FROM `information_schema`.`COLUMNS` AS `TCOL`' +
     145      ' LEFT JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `KCU` ON ' +
     146      ' (`KCU`.`TABLE_SCHEMA` = `TCOL`.`TABLE_SCHEMA`) AND ' +
     147      ' (`KCU`.`TABLE_NAME` = `TCOL`.`TABLE_NAME`) AND ' +
     148      ' (`KCU`.`COLUMN_NAME` = `TCOL`.`COLUMN_NAME`) ' +
     149      ' LEFT JOIN `information_schema`.`TABLE_CONSTRAINTS` AS `TC` ON' +
     150      ' (`KCU`.`CONSTRAINT_NAME` = `TC`.`CONSTRAINT_NAME`) AND ' +
     151      ' (`KCU`.`TABLE_NAME` = `TC`.`TABLE_NAME`) AND ' +
     152      ' (`KCU`.`CONSTRAINT_SCHEMA` = `TC`.`CONSTRAINT_SCHEMA`)' +
     153      ' WHERE ' +
     154      '(`TCOL`.`TABLE_SCHEMA` = "' + Database.Database + '") AND ' +
     155      '(`TCOL`.`TABLE_NAME` = "' + TableName + '")');
     156      Memo1.Lines.Add('Add properies for object "' + TableName + '"');
     157      ObjectId := StrToInt(Table.Values['ObjId']);
     158      for C := 0 to Columns.Count - 1 do begin
     159        PropertyName := Columns[C].Values['COLUMN_NAME'];
     160        PropType := Columns[C].Values['DATA_TYPE'];
     161        if Columns[C].Values['CONSTRAINT_TYPE'] = 'FOREIGN KEY' then begin
     162          PropertyId := Core.System.AddPropertyRelationOne(ObjectId, PropertyName, PropertyName,
     163            ObjectIdByName(Columns[C].Values['REFERENCED_TABLE_NAME']));
     164        end else
    86165        if PropType = 'int' then
    87166          PropertyId := Core.System.AddPropertyNumber(ObjectId, PropertyName, PropertyName);
     
    90169        if PropType = 'float' then
    91170          PropertyId := Core.System.AddPropertyFloat(ObjectId, PropertyName, PropertyName);
     171        if PropType = 'datetime' then
     172          PropertyId := Core.System.AddPropertyDateTime(ObjectId, PropertyName, PropertyName);
     173        Columns[C].Add('Id', IntToStr(PropertyId));
    92174        Memo1.Lines.Add('Create property "' + PropertyName + '" of type ' + PropType + '"');
     175        //Memo1.Lines.Add(Columns[C].Values['CONSTRAINT_TYPE']);
     176        //TSQLTable(SQLTables[T]).Columns.Add();
     177      end;
     178    end;
     179
     180    for T := 0 to SQLTables.Count - 1 do
     181    with TSQLTable(SQLTables[T]) do begin
     182      TableName := Table.Items[0].Value;
     183      ObjectId := StrToInt(Table.Values['ObjId']);
     184      for C := 0 to Columns.Count - 1 do begin
     185        PropertyName := Columns[C].Values['COLUMN_NAME'];
     186        PropType := Columns[C].Values['DATA_TYPE'];
     187        if Columns[C].Values['CONSTRAINT_TYPE'] = 'FOREIGN KEY' then begin
     188          Memo1.Lines.Add('Add relation 1:n for "' + TableName + '.' + PropertyName + '"');
     189          RefObjectIndex := ObjectIdByName(Columns[C].Values['REFERENCED_TABLE_NAME']);
     190
     191          RefPropertyId := TSQLTable(SQLTables[T]).ColumnByName(Columns[C].Values['COLUMN_NAME']);
     192          RefPropertyId := StrToInt(TSQLTable(SQLTables[T]).Columns[RefPropertyId].Values['Id']);
     193          PropertyId := Core.System.AddPropertyRelationMany(StrToInt(TSQLTable(SQLTables[RefObjectIndex]).Table.Values['ObjId']), TableName, TableName,
     194            RefPropertyId);
     195        end;
    93196      end;
    94197    end;
     
    101204end;
    102205
     206procedure TImportStructureForm.FormCreate(Sender: TObject);
     207begin
     208  SQLTables := TListObject.Create;
     209end;
     210
     211procedure TImportStructureForm.FormDestroy(Sender: TObject);
     212begin
     213  SQLTables.Free;
     214end;
     215
    103216end.
    104217
  • trunk/Forms/UItemAdd.lfm

    r12 r20  
    11object ItemAddForm: TItemAddForm
    2   Left = 400
    3   Height = 421
    4   Top = 130
    5   Width = 567
     2  Left = 401
     3  Height = 419
     4  Top = 131
     5  Width = 565
    66  ActiveControl = Panel1
    77  Caption = 'Add item'
    8   ClientHeight = 421
    9   ClientWidth = 567
     8  ClientHeight = 419
     9  ClientWidth = 565
    1010  OnClose = FormClose
    1111  OnCreate = FormCreate
     
    1515  object Panel1: TPanel
    1616    Left = 0
    17     Height = 384
     17    Height = 382
    1818    Top = 0
    19     Width = 567
     19    Width = 565
    2020    Align = alTop
    2121    Anchors = [akLeft, akRight, akBottom]
     
    2424  end
    2525  object ButtonCancel: TButton
    26     Left = 384
     26    Left = 382
    2727    Height = 25
    28     Top = 392
     28    Top = 390
    2929    Width = 75
    3030    Anchors = [akRight, akBottom]
     
    3434  end
    3535  object ButtonSave: TButton
    36     Left = 472
     36    Left = 470
    3737    Height = 25
    38     Top = 392
     38    Top = 390
    3939    Width = 75
    4040    Anchors = [akRight, akBottom]
  • trunk/Forms/UItemEdit.lfm

    r12 r20  
    11object ItemEditForm: TItemEditForm
    2   Left = 295
    3   Height = 429
    4   Top = 122
    5   Width = 558
     2  Left = 296
     3  Height = 427
     4  Top = 123
     5  Width = 556
    66  ActiveControl = Panel1
    77  Caption = 'Edit item'
    8   ClientHeight = 429
    9   ClientWidth = 558
     8  ClientHeight = 427
     9  ClientWidth = 556
    1010  OnClose = FormClose
    1111  OnCreate = FormCreate
     
    1515  object Panel1: TPanel
    1616    Left = 0
    17     Height = 386
     17    Height = 384
    1818    Top = 0
    19     Width = 558
     19    Width = 556
    2020    Align = alTop
    2121    Anchors = [akLeft, akRight, akBottom]
     
    2424  end
    2525  object ButtonCancel: TButton
    26     Left = 384
     26    Left = 382
    2727    Height = 25
    28     Top = 400
     28    Top = 398
    2929    Width = 75
    3030    Anchors = [akRight, akBottom]
     
    3434  end
    3535  object ButtonSave: TButton
    36     Left = 472
     36    Left = 470
    3737    Height = 25
    38     Top = 400
     38    Top = 398
    3939    Width = 75
    4040    Anchors = [akRight, akBottom]
  • trunk/Forms/UItemView.lfm

    r17 r20  
    11object ItemViewForm: TItemViewForm
    2   Left = 311
    3   Height = 469
    4   Top = 110
    5   Width = 626
     2  Left = 312
     3  Height = 467
     4  Top = 111
     5  Width = 624
    66  Caption = 'View item'
    7   ClientHeight = 469
    8   ClientWidth = 626
     7  ClientHeight = 467
     8  ClientWidth = 624
    99  OnClose = FormClose
    1010  OnCreate = FormCreate
     
    1414  LCLVersion = '0.9.31'
    1515  object ButtonClose: TButton
    16     Left = 546
     16    Left = 544
    1717    Height = 25
    18     Top = 439
     18    Top = 437
    1919    Width = 75
    2020    Anchors = [akRight, akBottom]
     
    2424  end
    2525  object ButtonEdit: TButton
    26     Left = 458
     26    Left = 456
    2727    Height = 25
    28     Top = 439
     28    Top = 437
    2929    Width = 75
    3030    Anchors = [akRight, akBottom]
     
    3535  object Panel1: TPanel
    3636    Left = 0
    37     Height = 433
     37    Height = 431
    3838    Top = 0
    39     Width = 626
     39    Width = 624
    4040    Align = alTop
    4141    Anchors = [akTop, akLeft, akRight, akBottom]
    4242    BevelOuter = bvNone
    43     ClientHeight = 433
    44     ClientWidth = 626
     43    ClientHeight = 431
     44    ClientWidth = 624
    4545    TabOrder = 2
    4646    object Panel2: TPanel
    4747      Left = 0
    4848      Height = 200
    49       Top = 233
    50       Width = 626
     49      Top = 231
     50      Width = 624
    5151      Align = alBottom
    5252      BevelOuter = bvNone
    5353      ClientHeight = 200
    54       ClientWidth = 626
     54      ClientWidth = 624
    5555      TabOrder = 0
    5656      object TabControl1: TTabControl
     
    5858        Height = 24
    5959        Top = 0
    60         Width = 626
     60        Width = 624
    6161        Align = alTop
    6262        OnChange = TabControl1Change
     
    7474        Height = 176
    7575        Top = 24
    76         Width = 626
     76        Width = 624
    7777        Align = alClient
    7878        Columns = <>
     
    8989      Left = 0
    9090      Height = 3
    91       Top = 230
    92       Width = 626
     91      Top = 228
     92      Width = 624
    9393      Align = alBottom
    9494      ResizeAnchor = akBottom
     
    9696    object PanelControls: TPanel
    9797      Left = 0
    98       Height = 230
     98      Height = 228
    9999      Top = 0
    100       Width = 626
     100      Width = 624
    101101      Align = alClient
    102102      Anchors = [akLeft, akRight, akBottom]
  • trunk/Forms/ULoginForm.lfm

    r10 r20  
    11object LoginForm: TLoginForm
    2   Left = 479
    3   Height = 177
    4   Top = 255
    5   Width = 405
     2  Left = 480
     3  Height = 175
     4  Top = 256
     5  Width = 403
    66  BorderIcons = [biSystemMenu]
    77  BorderStyle = bsDialog
    88  Caption = 'Login'
    9   ClientHeight = 177
    10   ClientWidth = 405
     9  ClientHeight = 175
     10  ClientWidth = 403
    1111  LCLVersion = '0.9.31'
    1212  object Label1: TLabel
  • trunk/Forms/UMainForm.lfm

    r19 r20  
    11object MainForm: TMainForm
    2   Left = 268
    3   Height = 451
    4   Top = 156
    5   Width = 646
     2  Left = 269
     3  Height = 450
     4  Top = 157
     5  Width = 644
    66  ActiveControl = Panel1
    77  Caption = 'ChronIS'
    8   ClientHeight = 432
    9   ClientWidth = 646
     8  ClientHeight = 430
     9  ClientWidth = 644
    1010  Menu = MainMenu1
    1111  OnClose = FormClose
     
    1616  object Panel1: TPanel
    1717    Left = 0
    18     Height = 432
     18    Height = 430
    1919    Top = 0
    2020    Width = 184
    2121    Align = alLeft
    2222    BevelOuter = bvNone
    23     ClientHeight = 432
     23    ClientHeight = 430
    2424    ClientWidth = 184
    2525    TabOrder = 0
     
    3434    object TreeView1: TTreeView
    3535      Left = 4
    36       Height = 408
     36      Height = 406
    3737      Top = 19
    3838      Width = 180
     
    4848  object Panel2: TPanel
    4949    Left = 189
    50     Height = 432
     50    Height = 430
    5151    Top = 0
    52     Width = 457
     52    Width = 455
    5353    Align = alClient
    5454    BevelOuter = bvNone
    55     ClientHeight = 432
    56     ClientWidth = 457
     55    ClientHeight = 430
     56    ClientWidth = 455
    5757    TabOrder = 1
    5858    object Label2: TLabel
     
    6666    object ListView1: TListView
    6767      Left = 2
    68       Height = 376
     68      Height = 374
    6969      Top = 19
    70       Width = 453
     70      Width = 451
    7171      Anchors = [akTop, akLeft, akRight, akBottom]
    7272      Columns = <>
     
    8686      Left = 3
    8787      Height = 25
    88       Top = 403
     88      Top = 401
    8989      Width = 75
    9090      Action = AItemAdd
     
    9595      Left = 83
    9696      Height = 25
    97       Top = 403
     97      Top = 401
    9898      Width = 75
    9999      Action = AItemDelete
     
    104104  object Splitter1: TSplitter
    105105    Left = 184
    106     Height = 432
     106    Height = 430
    107107    Top = 0
    108108    Width = 5
  • trunk/Forms/UMainForm.pas

    r19 r20  
    361361    end;
    362362
     363    if Tables.IndexOf(TypeDateTime) = -1 then begin
     364      Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeDateTime + '` ( ' +
     365        '`Id` int(11) NOT NULL AUTO_INCREMENT,' +
     366        '`CustomType` int NOT NULL,' +
     367        '`Default` datetime NOT NULL,' +
     368        '`Min` datetime NOT NULL,' +
     369        '`Max` datetime NOT NULL,' +
     370        'KEY `CustomType` (`CustomType`),' +
     371        'PRIMARY KEY (`Id`)' +
     372        ') ENGINE=InnoDB  DEFAULT CHARSET=utf8');
     373    end;
     374
    363375    if Tables.IndexOf(TypeString) = -1 then begin
    364376      Database.Query(DbRows, 'CREATE TABLE IF NOT EXISTS `' + TypeString + '` ( ' +
  • trunk/Forms/USettingForm.lfm

    r19 r20  
    11object SettingForm: TSettingForm
    2   Left = 371
    3   Height = 328
    4   Top = 138
    5   Width = 446
     2  Left = 372
     3  Height = 326
     4  Top = 139
     5  Width = 444
    66  Caption = 'Settings'
    7   ClientHeight = 328
    8   ClientWidth = 446
     7  ClientHeight = 326
     8  ClientWidth = 444
    99  OnClose = FormClose
    1010  OnShow = FormShow
     
    2626  end
    2727  object ButtonSave: TButton
    28     Left = 368
     28    Left = 366
    2929    Height = 25
    30     Top = 296
     30    Top = 294
    3131    Width = 75
    3232    Anchors = [akRight, akBottom]
     
    3636  end
    3737  object ButtonCancel: TButton
    38     Left = 280
     38    Left = 278
    3939    Height = 25
    40     Top = 296
     40    Top = 294
    4141    Width = 75
    4242    Anchors = [akRight, akBottom]
  • trunk/UCore.lfm

    r15 r20  
    33  OnDestroy = DataModuleDestroy
    44  OldCreateOrder = False
    5   Height = 346
    6   HorizontalOffset = 233
    7   VerticalOffset = 71
    8   Width = 419
     5  Height = 344
     6  HorizontalOffset = 234
     7  VerticalOffset = 72
     8  Width = 417
    99  object CoolTranslator1: TCoolTranslator
    1010    POFilesFolder = 'Languages'
  • trunk/USystem.pas

    r19 r20  
    2727  TypeString = 'TypeString';
    2828  TypeFloat = 'TypeFloat';
     29  TypeDateTime = 'TypeDateTime';
    2930
    3031type
     
    103104    function AddProperty(ObjectId: Integer; Name, ColumnName: string; CustomType: Integer): Integer;
    104105    function AddPropertyNumber(ObjectId: Integer; Name,
    105       ColumnName: string; Default: Integer = 0; Min: Integer = 0;
     106      ColumnName: string; Default: Integer = 0; Min: Integer = Low(Integer);
    106107      Max: Integer = High(Integer)): Integer;
    107108    function AddPropertyFloat(ObjectId: Integer; Name,
    108       ColumnName: string; Default: Integer = 0; Min: Integer = 0;
    109       Max: Integer = High(Integer)): Integer;
     109      ColumnName: string; Default: Double = 0; Min: Double = 0;
     110      Max: Double = 0): Integer;
     111    function AddPropertyDateTime(ObjectId: Integer; Name,
     112      ColumnName: string; Default: TDateTime = 0; Min: TDateTime = 0;
     113      Max: TDateTime = 0): Integer;
    110114    function AddPropertyString(ObjectId: Integer; Name, ColumnName: string;
    111115      Default: string = ''; MaxLength: Integer = 255): Integer;
     
    307311
    308312function TChronisBase.AddPropertyNumber(ObjectId: Integer; Name,
    309   ColumnName: string; Default: Integer = 0; Min: Integer = 0;
     313  ColumnName: string; Default: Integer = 0; Min: Integer = Low(Integer);
    310314  Max: Integer = High(Integer)): Integer;
    311315var
     
    339343
    340344function TChronisBase.AddPropertyFloat(ObjectId: Integer; Name,
    341   ColumnName: string; Default: Integer; Min: Integer; Max: Integer): Integer;
     345  ColumnName: string; Default: Double; Min: Double; Max: Double): Integer;
    342346var
    343347  DbRows: TDbRows;
     
    356360    Data.Clear;
    357361    Data.Add('CustomType', IntToStr(CustomTypeId));
    358     Data.Add('Min', IntToStr(Min));
    359     Data.Add('Max', IntToStr(Max));
    360     Data.Add('Default', IntToStr(Default));
     362    Data.Add('Min', MySQLFloatToStr(Min));
     363    Data.Add('Max', MySQLFloatToStr(Max));
     364    Data.Add('Default', MySQLFloatToStr(Default));
    361365    Database.Insert(TypeFloat, Data);
     366    //CustomTypeId := Database.LastInsertId;
     367
     368    Result := AddProperty(ObjectId, Name, ColumnName, CustomTypeId);
     369  finally
     370    Data.Free;
     371    DbRows.Free;
     372  end;
     373end;
     374
     375function TChronisBase.AddPropertyDateTime(ObjectId: Integer; Name,
     376  ColumnName: string; Default: TDateTime; Min: TDateTime; Max: TDateTime
     377  ): Integer;
     378var
     379  DbRows: TDbRows;
     380  Data: TDictionaryStringString;
     381  CustomTypeId: Integer;
     382begin
     383  try
     384    DbRows := TDbRows.Create;
     385    Data := TDictionaryStringString.Create;
     386
     387    Data.Clear;
     388    Data.Add('Type', IntToStr(Integer(vtDateTime)));
     389    Database.Insert(CustomTypeTableName, Data);
     390    CustomTypeId := Database.LastInsertId;
     391
     392    Data.Clear;
     393    Data.Add('CustomType', IntToStr(CustomTypeId));
     394    Data.Add('Min', DateTimeToSQL(Min));
     395    Data.Add('Max', DateTimeToSQL(Max));
     396    Data.Add('Default', DateTimeToSQL(Default));
     397    Database.Insert(TypeDateTime, Data);
    362398    //CustomTypeId := Database.LastInsertId;
    363399
  • trunk/chronis.lpi

    r19 r20  
    104104      </Item6>
    105105    </RequiredPackages>
    106     <Units Count="64">
     106    <Units Count="58">
    107107      <Unit0>
    108108        <Filename Value="chronis.lpr"/>
     
    121121        <TopLine Value="330"/>
    122122        <CursorPos X="1" Y="347"/>
    123         <UsageCount Value="40"/>
     123        <UsageCount Value="35"/>
    124124        <DefaultSyntaxHighlighter Value="Delphi"/>
    125125      </Unit1>
     
    133133        <TopLine Value="118"/>
    134134        <CursorPos X="25" Y="144"/>
    135         <UsageCount Value="94"/>
     135        <UsageCount Value="89"/>
    136136        <DefaultSyntaxHighlighter Value="Delphi"/>
    137137      </Unit2>
     
    145145        <TopLine Value="1"/>
    146146        <CursorPos X="24" Y="14"/>
    147         <UsageCount Value="94"/>
     147        <UsageCount Value="89"/>
    148148        <DefaultSyntaxHighlighter Value="Delphi"/>
    149149      </Unit3>
     
    164164        <TopLine Value="58"/>
    165165        <CursorPos X="73" Y="232"/>
    166         <UsageCount Value="260"/>
     166        <UsageCount Value="255"/>
    167167        <DefaultSyntaxHighlighter Value="Delphi"/>
    168168      </Unit5>
     
    171171        <IsPartOfProject Value="True"/>
    172172        <UnitName Value="URegistry"/>
    173         <EditorIndex Value="18"/>
     173        <EditorIndex Value="22"/>
    174174        <WindowIndex Value="0"/>
    175175        <TopLine Value="19"/>
     
    216216        <ResourceBaseClass Value="Form"/>
    217217        <UnitName Value="ULoginForm"/>
    218         <EditorIndex Value="19"/>
     218        <EditorIndex Value="23"/>
    219219        <WindowIndex Value="0"/>
    220220        <TopLine Value="14"/>
     
    234234        <EditorIndex Value="3"/>
    235235        <WindowIndex Value="0"/>
    236         <TopLine Value="339"/>
    237         <CursorPos X="1" Y="351"/>
     236        <TopLine Value="352"/>
     237        <CursorPos X="35" Y="363"/>
    238238        <UsageCount Value="317"/>
    239239        <Loaded Value="True"/>
     
    245245        <IsPartOfProject Value="True"/>
    246246        <UnitName Value="UTreeState"/>
    247         <EditorIndex Value="17"/>
     247        <EditorIndex Value="21"/>
    248248        <WindowIndex Value="0"/>
    249249        <TopLine Value="1"/>
     
    273273        <TopLine Value="43"/>
    274274        <CursorPos X="1" Y="60"/>
    275         <UsageCount Value="6"/>
     275        <UsageCount Value="1"/>
    276276        <DefaultSyntaxHighlighter Value="Delphi"/>
    277277      </Unit13>
    278278      <Unit14>
    279         <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
    280         <WindowIndex Value="0"/>
    281         <TopLine Value="68"/>
    282         <CursorPos X="1" Y="85"/>
    283         <UsageCount Value="3"/>
     279        <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-registry/src/registry.pp"/>
     280        <UnitName Value="registry"/>
     281        <WindowIndex Value="0"/>
     282        <TopLine Value="1"/>
     283        <CursorPos X="6" Y="1"/>
     284        <UsageCount Value="4"/>
    284285        <DefaultSyntaxHighlighter Value="Delphi"/>
    285286      </Unit14>
    286287      <Unit15>
    287         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-registry/src/registry.pp"/>
    288         <UnitName Value="registry"/>
    289         <WindowIndex Value="0"/>
    290         <TopLine Value="1"/>
    291         <CursorPos X="6" Y="1"/>
    292         <UsageCount Value="9"/>
     288        <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-registry/src/regdef.inc"/>
     289        <WindowIndex Value="0"/>
     290        <TopLine Value="1"/>
     291        <CursorPos X="3" Y="21"/>
     292        <UsageCount Value="4"/>
    293293        <DefaultSyntaxHighlighter Value="Delphi"/>
    294294      </Unit15>
    295295      <Unit16>
    296         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-registry/src/regdef.inc"/>
    297         <WindowIndex Value="0"/>
    298         <TopLine Value="1"/>
    299         <CursorPos X="3" Y="21"/>
    300         <UsageCount Value="9"/>
     296        <Filename Value="USystem.pas"/>
     297        <IsPartOfProject Value="True"/>
     298        <UnitName Value="USystem"/>
     299        <EditorIndex Value="19"/>
     300        <WindowIndex Value="0"/>
     301        <TopLine Value="3"/>
     302        <CursorPos X="3" Y="15"/>
     303        <UsageCount Value="196"/>
     304        <Loaded Value="True"/>
    301305        <DefaultSyntaxHighlighter Value="Delphi"/>
    302306      </Unit16>
    303307      <Unit17>
    304         <Filename Value="USystem.pas"/>
    305         <IsPartOfProject Value="True"/>
    306         <UnitName Value="USystem"/>
    307         <EditorIndex Value="15"/>
    308         <WindowIndex Value="0"/>
    309         <TopLine Value="95"/>
    310         <CursorPos X="31" Y="112"/>
    311         <UsageCount Value="150"/>
    312         <Loaded Value="True"/>
     308        <Filename Value="../../../lazarus/lcl/comctrls.pp"/>
     309        <UnitName Value="ComCtrls"/>
     310        <WindowIndex Value="0"/>
     311        <TopLine Value="912"/>
     312        <CursorPos X="14" Y="929"/>
     313        <UsageCount Value="1"/>
    313314        <DefaultSyntaxHighlighter Value="Delphi"/>
    314315      </Unit17>
    315316      <Unit18>
    316         <Filename Value="../../../lazarus/lcl/comctrls.pp"/>
    317         <UnitName Value="ComCtrls"/>
    318         <WindowIndex Value="0"/>
    319         <TopLine Value="912"/>
    320         <CursorPos X="14" Y="929"/>
    321         <UsageCount Value="6"/>
    322         <DefaultSyntaxHighlighter Value="Delphi"/>
    323       </Unit18>
    324       <Unit19>
    325         <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListObject.inc"/>
    326         <WindowIndex Value="0"/>
    327         <TopLine Value="1"/>
    328         <CursorPos X="15" Y="18"/>
    329         <UsageCount Value="4"/>
    330         <DefaultSyntaxHighlighter Value="Delphi"/>
    331       </Unit19>
    332       <Unit20>
    333         <Filename Value="/usr/share/fpcsrc/2.4.0/rtl/inc/ustringh.inc"/>
    334         <WindowIndex Value="0"/>
    335         <TopLine Value="1"/>
    336         <CursorPos X="11" Y="30"/>
    337         <UsageCount Value="1"/>
    338         <DefaultSyntaxHighlighter Value="Delphi"/>
    339       </Unit20>
    340       <Unit21>
    341317        <Filename Value="UCore.pas"/>
    342318        <IsPartOfProject Value="True"/>
     
    344320        <ResourceBaseClass Value="DataModule"/>
    345321        <UnitName Value="UCore"/>
    346         <EditorIndex Value="14"/>
     322        <EditorIndex Value="18"/>
    347323        <WindowIndex Value="0"/>
    348324        <TopLine Value="34"/>
    349325        <CursorPos X="59" Y="46"/>
    350         <UsageCount Value="134"/>
     326        <UsageCount Value="180"/>
    351327        <Loaded Value="True"/>
    352328        <LoadedDesigner Value="True"/>
    353329        <DefaultSyntaxHighlighter Value="Delphi"/>
    354       </Unit21>
    355       <Unit22>
     330      </Unit18>
     331      <Unit19>
    356332        <Filename Value="Forms/USettingForm.pas"/>
    357333        <IsPartOfProject Value="True"/>
     
    359335        <ResourceBaseClass Value="Form"/>
    360336        <UnitName Value="USettingForm"/>
    361         <EditorIndex Value="13"/>
     337        <EditorIndex Value="17"/>
    362338        <WindowIndex Value="0"/>
    363339        <TopLine Value="1"/>
    364340        <CursorPos X="46" Y="11"/>
    365         <UsageCount Value="133"/>
     341        <UsageCount Value="179"/>
    366342        <Loaded Value="True"/>
    367343        <LoadedDesigner Value="True"/>
     344        <DefaultSyntaxHighlighter Value="Delphi"/>
     345      </Unit19>
     346      <Unit20>
     347        <Filename Value="Application/UApplicationInfo.pas"/>
     348        <IsPartOfProject Value="True"/>
     349        <UnitName Value="UApplicationInfo"/>
     350        <EditorIndex Value="12"/>
     351        <WindowIndex Value="0"/>
     352        <TopLine Value="37"/>
     353        <CursorPos X="21" Y="52"/>
     354        <UsageCount Value="179"/>
     355        <Loaded Value="True"/>
     356        <DefaultSyntaxHighlighter Value="Delphi"/>
     357      </Unit20>
     358      <Unit21>
     359        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/dialogs.pp"/>
     360        <UnitName Value="Dialogs"/>
     361        <WindowIndex Value="0"/>
     362        <TopLine Value="487"/>
     363        <CursorPos X="44" Y="500"/>
     364        <UsageCount Value="19"/>
     365        <DefaultSyntaxHighlighter Value="Delphi"/>
     366      </Unit21>
     367      <Unit22>
     368        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/controls.pp"/>
     369        <UnitName Value="Controls"/>
     370        <WindowIndex Value="0"/>
     371        <TopLine Value="1661"/>
     372        <CursorPos X="24" Y="1673"/>
     373        <UsageCount Value="19"/>
    368374        <DefaultSyntaxHighlighter Value="Delphi"/>
    369375      </Unit22>
    370376      <Unit23>
    371         <Filename Value="Application/UApplicationInfo.pas"/>
    372         <IsPartOfProject Value="True"/>
    373         <UnitName Value="UApplicationInfo"/>
    374         <WindowIndex Value="0"/>
    375         <TopLine Value="37"/>
    376         <CursorPos X="21" Y="52"/>
     377        <Filename Value="Application/UDataTypes.pas"/>
     378        <IsPartOfProject Value="True"/>
     379        <UnitName Value="UDataTypes"/>
     380        <EditorIndex Value="20"/>
     381        <WindowIndex Value="0"/>
     382        <TopLine Value="222"/>
     383        <CursorPos X="23" Y="232"/>
    377384        <UsageCount Value="133"/>
     385        <Loaded Value="True"/>
    378386        <DefaultSyntaxHighlighter Value="Delphi"/>
    379387      </Unit23>
    380388      <Unit24>
    381         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Specialized/SpecializedList.pas"/>
    382         <UnitName Value="SpecializedList"/>
    383         <WindowIndex Value="0"/>
    384         <TopLine Value="97"/>
    385         <CursorPos X="26" Y="109"/>
    386         <UsageCount Value="4"/>
     389        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/stdctrls.pp"/>
     390        <UnitName Value="StdCtrls"/>
     391        <WindowIndex Value="0"/>
     392        <TopLine Value="1446"/>
     393        <CursorPos X="26" Y="1458"/>
     394        <UsageCount Value="0"/>
    387395        <DefaultSyntaxHighlighter Value="Delphi"/>
    388396      </Unit24>
    389397      <Unit25>
    390         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
    391         <WindowIndex Value="0"/>
    392         <TopLine Value="16"/>
    393         <CursorPos X="14" Y="58"/>
    394         <UsageCount Value="4"/>
     398        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/win32/system.pp"/>
     399        <UnitName Value="System"/>
     400        <WindowIndex Value="0"/>
     401        <TopLine Value="4"/>
     402        <CursorPos X="1" Y="16"/>
     403        <UsageCount Value="5"/>
    395404        <DefaultSyntaxHighlighter Value="Delphi"/>
    396405      </Unit25>
    397406      <Unit26>
    398         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
    399         <WindowIndex Value="0"/>
    400         <TopLine Value="87"/>
    401         <CursorPos X="6" Y="103"/>
    402         <UsageCount Value="4"/>
     407        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
     408        <UnitName Value="USqlDatabase"/>
     409        <WindowIndex Value="0"/>
     410        <TopLine Value="1"/>
     411        <CursorPos X="1" Y="1"/>
     412        <UsageCount Value="1"/>
    403413        <DefaultSyntaxHighlighter Value="Delphi"/>
    404414      </Unit26>
    405415      <Unit27>
    406         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/inc/objpash.inc"/>
    407         <WindowIndex Value="0"/>
    408         <TopLine Value="372"/>
    409         <CursorPos X="7" Y="384"/>
     416        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPServer.pas"/>
     417        <UnitName Value="UHTTPServer"/>
     418        <WindowIndex Value="0"/>
     419        <TopLine Value="1"/>
     420        <CursorPos X="1" Y="1"/>
    410421        <UsageCount Value="1"/>
    411422        <DefaultSyntaxHighlighter Value="Delphi"/>
    412423      </Unit27>
    413424      <Unit28>
    414         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListObject.inc"/>
    415         <WindowIndex Value="0"/>
    416         <TopLine Value="82"/>
    417         <CursorPos X="40" Y="94"/>
     425        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/CoolWeb.pas"/>
     426        <UnitName Value="CoolWeb"/>
     427        <WindowIndex Value="0"/>
     428        <TopLine Value="5"/>
     429        <CursorPos X="50" Y="15"/>
    418430        <UsageCount Value="1"/>
    419431        <DefaultSyntaxHighlighter Value="Delphi"/>
    420432      </Unit28>
    421433      <Unit29>
    422         <Filename Value="H:/PascalClassLibrary/CoolTranslator/UCoolTranslator.pas"/>
    423         <UnitName Value="UCoolTranslator"/>
    424         <WindowIndex Value="0"/>
    425         <TopLine Value="301"/>
    426         <CursorPos X="3" Y="305"/>
     434        <Filename Value="H:/PascalClassLibrary/Common/UDebugLog.pas"/>
     435        <UnitName Value="UDebugLog"/>
     436        <WindowIndex Value="0"/>
     437        <TopLine Value="88"/>
     438        <CursorPos X="1" Y="109"/>
    427439        <UsageCount Value="1"/>
    428440        <DefaultSyntaxHighlighter Value="Delphi"/>
    429441      </Unit29>
    430442      <Unit30>
    431         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/dialogs.pp"/>
    432         <UnitName Value="Dialogs"/>
    433         <WindowIndex Value="0"/>
    434         <TopLine Value="487"/>
    435         <CursorPos X="44" Y="500"/>
    436         <UsageCount Value="24"/>
     443        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/classes/classesh.inc"/>
     444        <WindowIndex Value="0"/>
     445        <TopLine Value="1639"/>
     446        <CursorPos X="17" Y="1651"/>
     447        <UsageCount Value="1"/>
    437448        <DefaultSyntaxHighlighter Value="Delphi"/>
    438449      </Unit30>
    439450      <Unit31>
    440         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/controls.pp"/>
    441         <UnitName Value="Controls"/>
    442         <WindowIndex Value="0"/>
    443         <TopLine Value="1661"/>
    444         <CursorPos X="24" Y="1673"/>
    445         <UsageCount Value="24"/>
     451        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Common/UCommon.pas"/>
     452        <UnitName Value="UCommon"/>
     453        <WindowIndex Value="0"/>
     454        <TopLine Value="28"/>
     455        <CursorPos X="1" Y="1"/>
     456        <UsageCount Value="1"/>
    446457        <DefaultSyntaxHighlighter Value="Delphi"/>
    447458      </Unit31>
    448459      <Unit32>
    449         <Filename Value="Application/UDataTypes.pas"/>
    450         <IsPartOfProject Value="True"/>
    451         <UnitName Value="UDataTypes"/>
    452         <EditorIndex Value="16"/>
    453         <WindowIndex Value="0"/>
    454         <TopLine Value="189"/>
    455         <CursorPos X="1" Y="207"/>
    456         <UsageCount Value="87"/>
    457         <Loaded Value="True"/>
     460        <Filename Value="H:/PascalClassLibrary/Common/UCommon.pas"/>
     461        <UnitName Value="UCommon"/>
     462        <WindowIndex Value="0"/>
     463        <TopLine Value="37"/>
     464        <CursorPos X="1" Y="1"/>
     465        <UsageCount Value="1"/>
    458466        <DefaultSyntaxHighlighter Value="Delphi"/>
    459467      </Unit32>
    460468      <Unit33>
    461         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/stdctrls.pp"/>
    462         <UnitName Value="StdCtrls"/>
    463         <WindowIndex Value="0"/>
    464         <TopLine Value="1446"/>
    465         <CursorPos X="26" Y="1458"/>
    466         <UsageCount Value="5"/>
     469        <Filename Value="H:/PascalClassLibrary/Common/Common.pas"/>
     470        <UnitName Value="Common"/>
     471        <WindowIndex Value="0"/>
     472        <TopLine Value="1"/>
     473        <CursorPos X="36" Y="13"/>
     474        <UsageCount Value="1"/>
    467475        <DefaultSyntaxHighlighter Value="Delphi"/>
    468476      </Unit33>
    469477      <Unit34>
    470         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/win32/system.pp"/>
    471         <UnitName Value="System"/>
    472         <WindowIndex Value="0"/>
    473         <TopLine Value="4"/>
    474         <CursorPos X="1" Y="16"/>
    475         <UsageCount Value="10"/>
     478        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPSessionFile.pas"/>
     479        <UnitName Value="UHTTPSessionFile"/>
     480        <WindowIndex Value="0"/>
     481        <TopLine Value="15"/>
     482        <CursorPos X="19" Y="27"/>
     483        <UsageCount Value="1"/>
    476484        <DefaultSyntaxHighlighter Value="Delphi"/>
    477485      </Unit34>
    478486      <Unit35>
    479         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    480         <UnitName Value="USqlDatabase"/>
    481         <WindowIndex Value="0"/>
    482         <TopLine Value="1"/>
     487        <Filename Value="H:/PascalClassLibrary/Common/StopWatch.pas"/>
     488        <UnitName Value="StopWatch"/>
     489        <WindowIndex Value="0"/>
     490        <TopLine Value="19"/>
    483491        <CursorPos X="1" Y="1"/>
    484         <UsageCount Value="6"/>
     492        <UsageCount Value="1"/>
    485493        <DefaultSyntaxHighlighter Value="Delphi"/>
    486494      </Unit35>
    487495      <Unit36>
    488         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPServer.pas"/>
    489         <UnitName Value="UHTTPServer"/>
    490         <WindowIndex Value="0"/>
    491         <TopLine Value="1"/>
     496        <Filename Value="H:/PascalClassLibrary/Common/UThreading.pas"/>
     497        <UnitName Value="UThreading"/>
     498        <WindowIndex Value="0"/>
     499        <TopLine Value="28"/>
    492500        <CursorPos X="1" Y="1"/>
    493         <UsageCount Value="6"/>
     501        <UsageCount Value="1"/>
    494502        <DefaultSyntaxHighlighter Value="Delphi"/>
    495503      </Unit36>
    496504      <Unit37>
    497         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/CoolWeb.pas"/>
    498         <UnitName Value="CoolWeb"/>
    499         <WindowIndex Value="0"/>
    500         <TopLine Value="5"/>
    501         <CursorPos X="50" Y="15"/>
    502         <UsageCount Value="6"/>
     505        <Filename Value="H:/PascalClassLibrary/Common/UPrefixMultiplier.pas"/>
     506        <UnitName Value="UPrefixMultiplier"/>
     507        <WindowIndex Value="0"/>
     508        <TopLine Value="1"/>
     509        <CursorPos X="1" Y="1"/>
     510        <UsageCount Value="1"/>
    503511        <DefaultSyntaxHighlighter Value="Delphi"/>
    504512      </Unit37>
    505513      <Unit38>
    506         <Filename Value="H:/PascalClassLibrary/Common/UDebugLog.pas"/>
    507         <UnitName Value="UDebugLog"/>
    508         <WindowIndex Value="0"/>
    509         <TopLine Value="88"/>
    510         <CursorPos X="1" Y="109"/>
    511         <UsageCount Value="6"/>
     514        <Filename Value="H:/PascalClassLibrary/Common/UDelay.pas"/>
     515        <UnitName Value="UDelay"/>
     516        <WindowIndex Value="0"/>
     517        <TopLine Value="16"/>
     518        <CursorPos X="1" Y="1"/>
     519        <UsageCount Value="1"/>
    512520        <DefaultSyntaxHighlighter Value="Delphi"/>
    513521      </Unit38>
    514522      <Unit39>
    515         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/classes/classesh.inc"/>
    516         <WindowIndex Value="0"/>
    517         <TopLine Value="1639"/>
    518         <CursorPos X="17" Y="1651"/>
    519         <UsageCount Value="6"/>
     523        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
     524        <WindowIndex Value="0"/>
     525        <TopLine Value="8"/>
     526        <CursorPos X="62" Y="20"/>
     527        <UsageCount Value="1"/>
    520528        <DefaultSyntaxHighlighter Value="Delphi"/>
    521529      </Unit39>
    522530      <Unit40>
    523         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Common/UCommon.pas"/>
    524         <UnitName Value="UCommon"/>
    525         <WindowIndex Value="0"/>
    526         <TopLine Value="28"/>
    527         <CursorPos X="1" Y="1"/>
    528         <UsageCount Value="6"/>
     531        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstrh.inc"/>
     532        <WindowIndex Value="0"/>
     533        <TopLine Value="70"/>
     534        <CursorPos X="10" Y="82"/>
     535        <UsageCount Value="1"/>
    529536        <DefaultSyntaxHighlighter Value="Delphi"/>
    530537      </Unit40>
    531538      <Unit41>
    532         <Filename Value="H:/PascalClassLibrary/Common/UCommon.pas"/>
    533         <UnitName Value="UCommon"/>
    534         <WindowIndex Value="0"/>
    535         <TopLine Value="37"/>
    536         <CursorPos X="1" Y="1"/>
    537         <UsageCount Value="6"/>
     539        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
     540        <WindowIndex Value="0"/>
     541        <TopLine Value="141"/>
     542        <CursorPos X="3" Y="144"/>
     543        <UsageCount Value="1"/>
    538544        <DefaultSyntaxHighlighter Value="Delphi"/>
    539545      </Unit41>
    540546      <Unit42>
    541         <Filename Value="H:/PascalClassLibrary/Common/Common.pas"/>
    542         <UnitName Value="Common"/>
    543         <WindowIndex Value="0"/>
    544         <TopLine Value="1"/>
    545         <CursorPos X="36" Y="13"/>
    546         <UsageCount Value="6"/>
     547        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/comctrls.pp"/>
     548        <UnitName Value="ComCtrls"/>
     549        <WindowIndex Value="0"/>
     550        <TopLine Value="602"/>
     551        <CursorPos X="17" Y="614"/>
     552        <UsageCount Value="3"/>
    547553        <DefaultSyntaxHighlighter Value="Delphi"/>
    548554      </Unit42>
    549555      <Unit43>
    550         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPSessionFile.pas"/>
    551         <UnitName Value="UHTTPSessionFile"/>
    552         <WindowIndex Value="0"/>
    553         <TopLine Value="15"/>
    554         <CursorPos X="19" Y="27"/>
    555         <UsageCount Value="6"/>
     556        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/classes/stringl.inc"/>
     557        <WindowIndex Value="0"/>
     558        <TopLine Value="575"/>
     559        <CursorPos X="15" Y="579"/>
     560        <UsageCount Value="2"/>
    556561        <DefaultSyntaxHighlighter Value="Delphi"/>
    557562      </Unit43>
    558563      <Unit44>
    559         <Filename Value="H:/PascalClassLibrary/Common/StopWatch.pas"/>
    560         <UnitName Value="StopWatch"/>
    561         <WindowIndex Value="0"/>
    562         <TopLine Value="19"/>
    563         <CursorPos X="1" Y="1"/>
    564         <UsageCount Value="6"/>
    565         <DefaultSyntaxHighlighter Value="Delphi"/>
     564        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/include/customlistview.inc"/>
     565        <WindowIndex Value="0"/>
     566        <TopLine Value="550"/>
     567        <CursorPos X="1" Y="561"/>
     568        <UsageCount Value="21"/>
    566569      </Unit44>
    567570      <Unit45>
    568         <Filename Value="H:/PascalClassLibrary/Common/UThreading.pas"/>
    569         <UnitName Value="UThreading"/>
    570         <WindowIndex Value="0"/>
    571         <TopLine Value="28"/>
    572         <CursorPos X="1" Y="1"/>
    573         <UsageCount Value="6"/>
    574         <DefaultSyntaxHighlighter Value="Delphi"/>
     571        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/win32/classes.pp"/>
     572        <UnitName Value="Classes"/>
     573        <WindowIndex Value="0"/>
     574        <TopLine Value="1"/>
     575        <CursorPos X="19" Y="45"/>
     576        <UsageCount Value="5"/>
    575577      </Unit45>
    576578      <Unit46>
    577         <Filename Value="H:/PascalClassLibrary/Common/UPrefixMultiplier.pas"/>
    578         <UnitName Value="UPrefixMultiplier"/>
    579         <WindowIndex Value="0"/>
    580         <TopLine Value="1"/>
    581         <CursorPos X="1" Y="1"/>
    582         <UsageCount Value="6"/>
    583         <DefaultSyntaxHighlighter Value="Delphi"/>
    584       </Unit46>
    585       <Unit47>
    586         <Filename Value="H:/PascalClassLibrary/Common/UDelay.pas"/>
    587         <UnitName Value="UDelay"/>
    588         <WindowIndex Value="0"/>
    589         <TopLine Value="16"/>
    590         <CursorPos X="1" Y="1"/>
    591         <UsageCount Value="6"/>
    592         <DefaultSyntaxHighlighter Value="Delphi"/>
    593       </Unit47>
    594       <Unit48>
    595         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    596         <WindowIndex Value="0"/>
    597         <TopLine Value="8"/>
    598         <CursorPos X="62" Y="20"/>
    599         <UsageCount Value="6"/>
    600         <DefaultSyntaxHighlighter Value="Delphi"/>
    601       </Unit48>
    602       <Unit49>
    603         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstrh.inc"/>
    604         <WindowIndex Value="0"/>
    605         <TopLine Value="70"/>
    606         <CursorPos X="10" Y="82"/>
    607         <UsageCount Value="6"/>
    608         <DefaultSyntaxHighlighter Value="Delphi"/>
    609       </Unit49>
    610       <Unit50>
    611         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
    612         <WindowIndex Value="0"/>
    613         <TopLine Value="141"/>
    614         <CursorPos X="3" Y="144"/>
    615         <UsageCount Value="6"/>
    616         <DefaultSyntaxHighlighter Value="Delphi"/>
    617       </Unit50>
    618       <Unit51>
    619         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/comctrls.pp"/>
    620         <UnitName Value="ComCtrls"/>
    621         <WindowIndex Value="0"/>
    622         <TopLine Value="602"/>
    623         <CursorPos X="17" Y="614"/>
    624         <UsageCount Value="8"/>
    625         <DefaultSyntaxHighlighter Value="Delphi"/>
    626       </Unit51>
    627       <Unit52>
    628         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/classes/stringl.inc"/>
    629         <WindowIndex Value="0"/>
    630         <TopLine Value="575"/>
    631         <CursorPos X="15" Y="579"/>
    632         <UsageCount Value="7"/>
    633         <DefaultSyntaxHighlighter Value="Delphi"/>
    634       </Unit52>
    635       <Unit53>
    636         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/include/customlistview.inc"/>
    637         <WindowIndex Value="0"/>
    638         <TopLine Value="550"/>
    639         <CursorPos X="1" Y="561"/>
    640         <UsageCount Value="26"/>
    641       </Unit53>
    642       <Unit54>
    643         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/win32/classes.pp"/>
    644         <UnitName Value="Classes"/>
    645         <WindowIndex Value="0"/>
    646         <TopLine Value="1"/>
    647         <CursorPos X="19" Y="45"/>
    648         <UsageCount Value="10"/>
    649       </Unit54>
    650       <Unit55>
    651579        <Filename Value="Forms/UImportStructureForm.pas"/>
    652580        <IsPartOfProject Value="True"/>
     
    657585        <EditorIndex Value="9"/>
    658586        <WindowIndex Value="0"/>
    659         <TopLine Value="81"/>
    660         <CursorPos X="23" Y="99"/>
    661         <UsageCount Value="23"/>
     587        <TopLine Value="178"/>
     588        <CursorPos X="70" Y="193"/>
     589        <UsageCount Value="69"/>
    662590        <Loaded Value="True"/>
    663591        <LoadedDesigner Value="True"/>
    664592        <DefaultSyntaxHighlighter Value="Delphi"/>
     593      </Unit46>
     594      <Unit47>
     595        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     596        <EditorIndex Value="16"/>
     597        <WindowIndex Value="0"/>
     598        <TopLine Value="51"/>
     599        <CursorPos X="1" Y="63"/>
     600        <UsageCount Value="33"/>
     601        <Loaded Value="True"/>
     602      </Unit47>
     603      <Unit48>
     604        <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/include/control.inc"/>
     605        <EditorIndex Value="15"/>
     606        <WindowIndex Value="0"/>
     607        <TopLine Value="2274"/>
     608        <CursorPos X="1" Y="2286"/>
     609        <UsageCount Value="33"/>
     610        <Loaded Value="True"/>
     611      </Unit48>
     612      <Unit49>
     613        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
     614        <UnitName Value="USqlDatabase"/>
     615        <EditorIndex Value="13"/>
     616        <WindowIndex Value="0"/>
     617        <TopLine Value="446"/>
     618        <CursorPos X="1" Y="460"/>
     619        <UsageCount Value="33"/>
     620        <Loaded Value="True"/>
     621      </Unit49>
     622      <Unit50>
     623        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
     624        <EditorIndex Value="4"/>
     625        <WindowIndex Value="0"/>
     626        <TopLine Value="71"/>
     627        <CursorPos X="39" Y="78"/>
     628        <UsageCount Value="33"/>
     629        <Loaded Value="True"/>
     630      </Unit50>
     631      <Unit51>
     632        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstrh.inc"/>
     633        <EditorIndex Value="5"/>
     634        <WindowIndex Value="0"/>
     635        <TopLine Value="71"/>
     636        <CursorPos X="10" Y="83"/>
     637        <UsageCount Value="33"/>
     638        <Loaded Value="True"/>
     639      </Unit51>
     640      <Unit52>
     641        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
     642        <EditorIndex Value="6"/>
     643        <WindowIndex Value="0"/>
     644        <TopLine Value="162"/>
     645        <CursorPos X="13" Y="164"/>
     646        <UsageCount Value="33"/>
     647        <Loaded Value="True"/>
     648      </Unit52>
     649      <Unit53>
     650        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/inc/systemh.inc"/>
     651        <EditorIndex Value="7"/>
     652        <WindowIndex Value="0"/>
     653        <TopLine Value="286"/>
     654        <CursorPos X="3" Y="298"/>
     655        <UsageCount Value="33"/>
     656        <Loaded Value="True"/>
     657      </Unit53>
     658      <Unit54>
     659        <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/i386/i386.inc"/>
     660        <EditorIndex Value="8"/>
     661        <WindowIndex Value="0"/>
     662        <TopLine Value="460"/>
     663        <CursorPos X="10" Y="427"/>
     664        <UsageCount Value="33"/>
     665        <Loaded Value="True"/>
     666      </Unit54>
     667      <Unit55>
     668        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     669        <EditorIndex Value="11"/>
     670        <WindowIndex Value="0"/>
     671        <TopLine Value="120"/>
     672        <CursorPos X="1" Y="134"/>
     673        <UsageCount Value="13"/>
     674        <Loaded Value="True"/>
    665675      </Unit55>
    666676      <Unit56>
    667         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
    668         <EditorIndex Value="12"/>
    669         <WindowIndex Value="0"/>
    670         <TopLine Value="1"/>
    671         <CursorPos X="24" Y="11"/>
    672         <UsageCount Value="11"/>
     677        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListObject.inc"/>
     678        <EditorIndex Value="10"/>
     679        <WindowIndex Value="0"/>
     680        <TopLine Value="1"/>
     681        <CursorPos X="24" Y="4"/>
     682        <UsageCount Value="12"/>
    673683        <Loaded Value="True"/>
    674684      </Unit56>
    675685      <Unit57>
    676         <Filename Value="H:/Lazarus/0.9.31_2.5.1/lcl/include/control.inc"/>
    677         <EditorIndex Value="11"/>
    678         <WindowIndex Value="0"/>
    679         <TopLine Value="2274"/>
    680         <CursorPos X="1" Y="2286"/>
    681         <UsageCount Value="10"/>
     686        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Specialized/SpecializedDictionary.pas"/>
     687        <UnitName Value="SpecializedDictionary"/>
     688        <EditorIndex Value="14"/>
     689        <WindowIndex Value="0"/>
     690        <TopLine Value="6"/>
     691        <CursorPos X="26" Y="18"/>
     692        <UsageCount Value="11"/>
    682693        <Loaded Value="True"/>
    683694      </Unit57>
    684       <Unit58>
    685         <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    686         <UnitName Value="USqlDatabase"/>
    687         <EditorIndex Value="10"/>
    688         <WindowIndex Value="0"/>
    689         <TopLine Value="235"/>
    690         <CursorPos X="52" Y="248"/>
    691         <UsageCount Value="10"/>
    692         <Loaded Value="True"/>
    693       </Unit58>
    694       <Unit59>
    695         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    696         <EditorIndex Value="4"/>
    697         <WindowIndex Value="0"/>
    698         <TopLine Value="71"/>
    699         <CursorPos X="39" Y="78"/>
    700         <UsageCount Value="10"/>
    701         <Loaded Value="True"/>
    702       </Unit59>
    703       <Unit60>
    704         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstrh.inc"/>
    705         <EditorIndex Value="5"/>
    706         <WindowIndex Value="0"/>
    707         <TopLine Value="71"/>
    708         <CursorPos X="10" Y="83"/>
    709         <UsageCount Value="10"/>
    710         <Loaded Value="True"/>
    711       </Unit60>
    712       <Unit61>
    713         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
    714         <EditorIndex Value="6"/>
    715         <WindowIndex Value="0"/>
    716         <TopLine Value="162"/>
    717         <CursorPos X="13" Y="164"/>
    718         <UsageCount Value="10"/>
    719         <Loaded Value="True"/>
    720       </Unit61>
    721       <Unit62>
    722         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/inc/systemh.inc"/>
    723         <EditorIndex Value="7"/>
    724         <WindowIndex Value="0"/>
    725         <TopLine Value="516"/>
    726         <CursorPos X="11" Y="528"/>
    727         <UsageCount Value="10"/>
    728         <Loaded Value="True"/>
    729       </Unit62>
    730       <Unit63>
    731         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/i386/i386.inc"/>
    732         <EditorIndex Value="8"/>
    733         <WindowIndex Value="0"/>
    734         <TopLine Value="460"/>
    735         <CursorPos X="10" Y="427"/>
    736         <UsageCount Value="10"/>
    737         <Loaded Value="True"/>
    738       </Unit63>
    739695    </Units>
    740     <JumpHistory Count="30" HistoryIndex="29">
     696    <JumpHistory Count="30" HistoryIndex="28">
    741697      <Position1>
    742         <Filename Value="Forms/UImportStructureForm.pas"/>
    743         <Caret Line="81" Column="1" TopLine="65"/>
     698        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     699        <Caret Line="133" Column="1" TopLine="120"/>
    744700      </Position1>
    745701      <Position2>
    746         <Filename Value="Forms/UImportStructureForm.pas"/>
    747         <Caret Line="84" Column="50" TopLine="65"/>
     702        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     703        <Caret Line="134" Column="1" TopLine="120"/>
    748704      </Position2>
    749705      <Position3>
    750         <Filename Value="Forms/UImportStructureForm.pas"/>
    751         <Caret Line="81" Column="1" TopLine="65"/>
     706        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
     707        <Caret Line="459" Column="1" TopLine="446"/>
    752708      </Position3>
    753709      <Position4>
    754         <Filename Value="Forms/UImportStructureForm.pas"/>
    755         <Caret Line="82" Column="1" TopLine="65"/>
     710        <Filename Value="H:/PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
     711        <Caret Line="460" Column="1" TopLine="446"/>
    756712      </Position4>
    757713      <Position5>
    758         <Filename Value="Forms/UImportStructureForm.pas"/>
    759         <Caret Line="83" Column="1" TopLine="65"/>
     714        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     715        <Caret Line="61" Column="1" TopLine="49"/>
    760716      </Position5>
    761717      <Position6>
    762         <Filename Value="Forms/UImportStructureForm.pas"/>
    763         <Caret Line="84" Column="1" TopLine="65"/>
     718        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     719        <Caret Line="62" Column="1" TopLine="49"/>
    764720      </Position6>
    765721      <Position7>
    766         <Filename Value="Forms/UImportStructureForm.pas"/>
    767         <Caret Line="85" Column="1" TopLine="65"/>
     722        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     723        <Caret Line="90" Column="1" TopLine="78"/>
    768724      </Position7>
    769725      <Position8>
    770         <Filename Value="Forms/UImportStructureForm.pas"/>
    771         <Caret Line="87" Column="50" TopLine="69"/>
     726        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     727        <Caret Line="91" Column="1" TopLine="78"/>
    772728      </Position8>
    773729      <Position9>
    774         <Filename Value="USystem.pas"/>
    775         <Caret Line="108" Column="30" TopLine="91"/>
     730        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     731        <Caret Line="92" Column="1" TopLine="78"/>
    776732      </Position9>
    777733      <Position10>
    778         <Filename Value="USystem.pas"/>
    779         <Caret Line="360" Column="41" TopLine="345"/>
     734        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     735        <Caret Line="93" Column="1" TopLine="78"/>
    780736      </Position10>
    781737      <Position11>
    782         <Filename Value="USystem.pas"/>
    783         <Caret Line="329" Column="27" TopLine="327"/>
     738        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     739        <Caret Line="96" Column="1" TopLine="78"/>
    784740      </Position11>
    785741      <Position12>
    786         <Filename Value="Forms/UMainForm.pas"/>
    787         <Caret Line="359" Column="35" TopLine="340"/>
     742        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     743        <Caret Line="93" Column="1" TopLine="78"/>
    788744      </Position12>
    789745      <Position13>
    790         <Filename Value="Forms/UMainForm.pas"/>
    791         <Caret Line="351" Column="17" TopLine="343"/>
     746        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     747        <Caret Line="98" Column="1" TopLine="78"/>
    792748      </Position13>
    793749      <Position14>
    794         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    795         <Caret Line="78" Column="11" TopLine="72"/>
     750        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     751        <Caret Line="131" Column="1" TopLine="120"/>
    796752      </Position14>
    797753      <Position15>
    798         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
    799         <Caret Line="151" Column="18" TopLine="141"/>
     754        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     755        <Caret Line="133" Column="1" TopLine="120"/>
    800756      </Position15>
    801757      <Position16>
    802         <Filename Value="H:/Lazarus/0.9.31_2.5.1/fpc/2.5.1/source/rtl/objpas/sysutils/sysstr.inc"/>
    803         <Caret Line="164" Column="13" TopLine="162"/>
     758        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericList.inc"/>
     759        <Caret Line="134" Column="1" TopLine="120"/>
    804760      </Position16>
    805761      <Position17>
    806         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    807         <Caret Line="78" Column="40" TopLine="72"/>
     762        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericDictionary.inc"/>
     763        <Caret Line="63" Column="1" TopLine="51"/>
    808764      </Position17>
    809765      <Position18>
    810         <Filename Value="Forms/UMainForm.pas"/>
    811         <Caret Line="351" Column="1" TopLine="343"/>
     766        <Filename Value="Forms/UImportStructureForm.pas"/>
     767        <Caret Line="60" Column="1" TopLine="48"/>
    812768      </Position18>
    813769      <Position19>
    814         <Filename Value="Forms/UMainForm.pas"/>
    815         <Caret Line="363" Column="1" TopLine="343"/>
     770        <Filename Value="Forms/UImportStructureForm.pas"/>
     771        <Caret Line="61" Column="1" TopLine="48"/>
    816772      </Position19>
    817773      <Position20>
    818         <Filename Value="Forms/UMainForm.pas"/>
    819         <Caret Line="351" Column="1" TopLine="343"/>
     774        <Filename Value="Forms/UImportStructureForm.pas"/>
     775        <Caret Line="62" Column="1" TopLine="48"/>
    820776      </Position20>
    821777      <Position21>
    822         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    823         <Caret Line="75" Column="1" TopLine="71"/>
     778        <Filename Value="Forms/UImportStructureForm.pas"/>
     779        <Caret Line="63" Column="1" TopLine="48"/>
    824780      </Position21>
    825781      <Position22>
    826         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    827         <Caret Line="77" Column="1" TopLine="71"/>
     782        <Filename Value="Forms/UImportStructureForm.pas"/>
     783        <Caret Line="65" Column="1" TopLine="48"/>
    828784      </Position22>
    829785      <Position23>
    830         <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListString.inc"/>
    831         <Caret Line="78" Column="39" TopLine="71"/>
     786        <Filename Value="Forms/UImportStructureForm.pas"/>
     787        <Caret Line="192" Column="49" TopLine="176"/>
    832788      </Position23>
    833789      <Position24>
    834         <Filename Value="Forms/UMainForm.pas"/>
    835         <Caret Line="351" Column="1" TopLine="343"/>
     790        <Filename Value="Forms/UImportStructureForm.pas"/>
     791        <Caret Line="115" Column="16" TopLine="93"/>
    836792      </Position24>
    837793      <Position25>
    838         <Filename Value="Forms/UMainForm.pas"/>
    839         <Caret Line="352" Column="1" TopLine="343"/>
     794        <Filename Value="Forms/UImportStructureForm.pas"/>
     795        <Caret Line="191" Column="27" TopLine="180"/>
    840796      </Position25>
    841797      <Position26>
    842         <Filename Value="Forms/UMainForm.pas"/>
    843         <Caret Line="360" Column="1" TopLine="343"/>
     798        <Filename Value="Forms/UImportStructureForm.pas"/>
     799        <Caret Line="192" Column="87" TopLine="173"/>
    844800      </Position26>
    845801      <Position27>
    846         <Filename Value="Forms/UMainForm.pas"/>
    847         <Caret Line="363" Column="1" TopLine="343"/>
     802        <Filename Value="Forms/UImportStructureForm.pas"/>
     803        <Caret Line="196" Column="25" TopLine="180"/>
    848804      </Position27>
    849805      <Position28>
    850806        <Filename Value="Forms/UImportStructureForm.pas"/>
    851         <Caret Line="87" Column="49" TopLine="75"/>
     807        <Caret Line="194" Column="28" TopLine="176"/>
    852808      </Position28>
    853809      <Position29>
    854810        <Filename Value="Forms/UImportStructureForm.pas"/>
    855         <Caret Line="98" Column="23" TopLine="80"/>
     811        <Caret Line="193" Column="77" TopLine="181"/>
    856812      </Position29>
    857813      <Position30>
    858         <Filename Value="Forms/UImportStructureForm.pas"/>
    859         <Caret Line="40" Column="33" TopLine="25"/>
     814        <Filename Value="H:/PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListObject.inc"/>
     815        <Caret Line="4" Column="24" TopLine="1"/>
    860816      </Position30>
    861817    </JumpHistory>
Note: See TracChangeset for help on using the changeset viewer.