Changeset 69


Ignore:
Timestamp:
Dec 30, 2011, 6:00:53 PM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Částečně zprovozněna registrace a přihlašování uživatelů.
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Application/UWebObjects.pas

    r67 r69  
    3636  end;
    3737
     38  { TQueryFormItemList }
     39
     40  TQueryFormItemList = class(TListObject)
     41    function FindByName(AValue: string): TQueryFormItem;
     42  end;
     43
    3844  { TQueryFormGroup }
    3945
    4046  TQueryFormGroup = class
    4147    Title: string;
    42     Rows: TListObject; // TListObject<TQueryFormItem>
     48    Rows: TQueryFormItemList;
    4349    procedure Load(Items: TStringList);
    4450    function AddNewItem: TQueryFormItem;
     
    6874
    6975implementation
     76
     77{ TQueryFormItemList }
     78
     79function TQueryFormItemList.FindByName(AValue: string): TQueryFormItem;
     80var
     81  I: Integer;
     82begin
     83  I := 0;
     84  while (I < Count) and (TQueryFormItem(Items[I]).Value.ItemName <> AValue) do Inc(I);
     85  if I < Count then Result := TQueryFormItem(Items[I])
     86    else Result := nil;
     87end;
    7088
    7189{ TQueryFormItem }
     
    221239constructor TQueryFormGroup.Create;
    222240begin
    223   Rows := TListObject.Create;
     241  Rows := TQueryFormItemList.Create;
    224242end;
    225243
  • trunk/Components/CoolWeb/Modules/UUser.pas

    r61 r69  
    1818
    1919  TWebUser = class
     20    Id: Integer;
     21    Name: string;
    2022    FullName: string;
     23    Email: string;
    2124    Database: TSqlDatabase;
    2225    HandlerData: THTTPHandlerData;
     
    2528    function GetIdByName(Name: string): Integer;
    2629    function GetIdByNamePassword(Name: string; PassWord: string): Integer;
     30    procedure Load;
    2731  end;
    2832
     
    4246
    4347resourcestring
    44   SDuplicateUserItem = 'User name already used.';
     48  SDuplicateUserItem = 'User name "%s" already used.';
     49  SEmptyUserParameters = 'Missing user parameters';
     50  SUserNotFound = 'User "%s" not found';
    4551
    4652{ TOnlineUser }
     
    123129  DbRows: TDbRows;
    124130begin
     131  if (Name = '') or (Password = '') or (Email = '') then raise Exception.Create(SEmptyUserParameters);
    125132  try
    126133    DbRows := TDbRows.Create;
     
    131138        Name + '", SHA1(CONCAT("' + Password + '", "' + Salt + '")), "' + Salt +
    132139        '", "' + Email + '", NOW())');
    133     end else raise EDuplicateItem.Create(SDuplicateUserItem);
     140    end else raise EDuplicateItem.Create(Format(SDuplicateUserItem, [Name]));
    134141  finally
    135142    DbRows.Free;
     
    145152    Database.Query(DbRows, 'SELECT `Id` FROM `User` WHERE `Name`="' + Name + '"');
    146153    if DbRows.Count = 1 then Result := StrToInt(DbRows[0].Items[0].Value)
    147       else raise ENotFound.Create('User "' + Name + '" not found');
     154      else raise ENotFound.Create(Format(SUserNotFound, [Name]));
    148155  finally
    149156    DBRows.Free;
     
    160167      '`Password` = SHA1(CONCAT("' + Password + '", Salt))');
    161168    if DbRows.Count = 1 then Result := StrToInt(DbRows[0].Items[0].Value)
    162       else raise ENotFound.Create('User "' + Name + '" not found');
     169      else raise ENotFound.Create(Format(SUserNotFound, [Name]));
     170  finally
     171    DBRows.Free;
     172  end;
     173end;
     174
     175procedure TWebUser.Load;
     176var
     177  DbRows: TDbRows;
     178begin
     179  try
     180    DbRows := TDbRows.Create;
     181    Database.Query(DbRows, 'SELECT * FROM `User` WHERE `Id`="' + IntToStr(Id) + '"');
     182    if DbRows.Count = 1 then begin
     183      Name := DbRows[0].Values['Name'];
     184      FullName := DbRows[0].Values['FullName'];
     185      Email := DbRows[0].Values['Email'];
     186    end else raise ENotFound.Create(Format(SUserNotFound, [IntToStr(Id)]));
    163187  finally
    164188    DBRows.Free;
  • trunk/Components/CoolWeb/WebServer/UWebApp.pas

    r68 r69  
    2727  TWebApp = class(TCustomApplication)
    2828  private
     29    FOnBeforePageProduce: TOnProduceEvent;
    2930    FOnInitialize: TNotifyEvent;
    3031    FServerType: THTTPServerType;
     
    4243    constructor Create(AOwner: TComponent); override;
    4344    destructor Destroy; override;
     45    property OnBeforePageProduce: TOnProduceEvent read FOnBeforePageProduce write FOnBeforePageProduce;
    4446    property OnInitialize: TNotifyEvent read FOnInitialize write FOnInitialize;
    4547    property ServerType: THTTPServerType read FServerType write SetServerType;
     
    133135    //Request.QueryParts[0] := 'uzivatel';
    134136    //Request.QueryParts[1] := 'prihlaseni';
     137    if Assigned(FOnBeforePageProduce) then
     138      FOnBeforePageProduce(HandlerData);
    135139
    136140    if Request.QueryParts.Count > 0 then PageName := Request.QueryParts[0]
     
    172176    hstdout := @stderr;
    173177    Writeln(hstdout^, 'An unhandled exception occurred: ' + E.Message + '<br>');
    174     WriteLn(hstdout^, StringReplace(DumpExceptionCallStack(E), LineEnding, '<br>', [rfReplaceAll]));
     178    WriteLn(hstdout^, DumpExceptionCallStack(E));
    175179  end;
    176180end;
  • trunk/Modules/UMainModule.pas

    r68 r69  
    2525    procedure Show(Content: string);
    2626    procedure TopMenu;
     27    procedure DoBeforePageProduce(HandlerData: THTTPHandlerData);
    2728  public
    2829    TimeStart: TDateTime;
     
    6869  TitleTag: THtmlString;
    6970begin
    70   User.HandlerData := HandlerData;
    71   UserOnline.HandlerData := HandlerData;
    72   UserOnline.Update;
    7371  with HandlerData do begin
    7472    HtmlDocument.ContentLanguage := 'cs';
     
    235233end;
    236234
     235procedure TMainModule.DoBeforePageProduce(HandlerData: THTTPHandlerData);
     236begin
     237  User.HandlerData := HandlerData;
     238  UserOnline.HandlerData := HandlerData;
     239  UserOnline.Update;
     240  User.Id := UserOnline.User;
     241  User.Load;
     242end;
     243
    237244procedure TMainModule.LoadFromRegistry;
    238245const
     
    291298  InitDatabase;
    292299  //Database.Query('SELECT * FROM ssss');
     300  Application.OnBeforePageProduce := DoBeforePageProduce;
    293301end;
    294302
  • trunk/Pages/UUserControlPage.pas

    r68 r69  
    1818    procedure HandleLogin(HandlerData: THTTPHandlerData);
    1919    procedure HandleRegistration(HandlerData: THTTPHandlerData);
     20    procedure HandleLogout(HandlerData: THTTPHandlerData);
     21    procedure HandleProfile(HandlerData: THTTPHandlerData);
    2022  public
    2123    { public declarations }
     
    3032
    3133uses
    32   UMainModule, UCore;
     34  UMainModule, UCore, UUser;
    3335
    3436  { TUserControlPage }
     
    4547  with MainModule, HtmlDocument.Body do begin
    4648    if PageName = '' then PageName := 'prihlaseni';
    47     if PageName = 'prihlaseni' then begin
    48       HandleLogin(HandlerData);
    49     end else
    50     if PageName = 'registrace' then begin
    51       HandleRegistration(HandlerData);
    52     end;
     49    if PageName = 'prihlaseni' then HandleLogin(HandlerData)
     50      else if PageName = 'registrace' then HandleRegistration(HandlerData)
     51      else if PageName = 'odhlaseni' then HandleLogout(HandlerData)
     52      else if PageName = 'profil' then HandleProfile(HandlerData);
    5353  end;
    5454  MainModule.GeneratePage(HandlerData, Self);
     
    5858var
    5959  Form: TQueryForm;
     60  UserId: Integer;
    6061begin
    6162  with MainModule, HtmlDocument.Body do begin
     
    6970        with AddNewItem do begin
    7071          Caption := 'Jméno';
    71           Name := 'Name';
     72          Name := 'UserName';
    7273          Hint := 'Zadejte vaše přihlašovací jméno';
    7374          Required := True;
     
    8990      Form.Load(HandlerData.Request.Post);
    9091      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
    91         Text := 'Přihlášení user: ' + TQueryFormItem(TQueryFormGroup(Form.Groups[0]).Rows[0]).Value.Value;
     92        Text := 'Přihlášení user: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
     93      UserId := MainModule.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     94        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
     95      UserOnline.Login(UserId);
    9296      Form.Free;
    9397    end else
     
    97101
    98102procedure TUserControlPage.HandleRegistration(HandlerData: THTTPHandlerData);
     103var
     104  Form: TQueryForm;
     105  UserId: Integer;
    99106begin
    100107  with MainModule, HtmlDocument.Body do begin
    101     with TQueryForm(SubItems.AddNew(TQueryForm.Create)) do begin
     108    Form := TQueryForm.Create;
     109    with Form do begin
    102110      Title := 'Registrace nového účtu';
    103111      ClassId := 'WideTable';
     
    106114        with AddNewItem do begin
    107115          Caption := 'Jméno';
    108           Name := 'Name';
     116          Name := 'UserName';
    109117          Hint := 'Zadejte vaše přihlašovací jméno';
    110118          Required := True;
     
    136144      end;
    137145    end;
     146    if HandlerData.Request.Post.IndexOfName('Register') <> -1 then
     147    with HandlerData.Request do begin
     148      Form.Load(HandlerData.Request.Post);
     149      with THtmlString(SubItems.AddNew(THtmlString.Create)) do
     150        Text := 'Registrace uživatele: ' + TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value;
     151      MainModule.User.Add(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     152        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value,
     153        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Email').Value.Value);
     154      UserId := MainModule.User.GetIdByNamePassword(TQueryFormGroup(Form.Groups[0]).Rows.FindByName('UserName').Value.Value,
     155        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value);
     156      MainModule.UserOnline.Login(UserId);
     157      Form.Free;
     158    end else SubItems.AddNew(Form);
    138159  end;
     160end;
     161
     162procedure TUserControlPage.HandleLogout(HandlerData: THTTPHandlerData);
     163begin
     164  with MainModule, HtmlDocument.Body do begin
     165    UserOnline.Logout;
     166    with THtmlString(SubItems.AddNew(THtmlString.Create)) do
     167      Text := 'Uživatel odhlášen';
     168  end;
     169end;
     170
     171procedure TUserControlPage.HandleProfile(HandlerData: THTTPHandlerData);
     172begin
     173
    139174end;
    140175
  • trunk/ZdechovNET.lpi

    r68 r69  
    6060      </Item5>
    6161    </RequiredPackages>
    62     <Units Count="148">
     62    <Units Count="150">
    6363      <Unit0>
    6464        <Filename Value="ZdechovNET.lpr"/>
     
    6767        <EditorIndex Value="0"/>
    6868        <WindowIndex Value="0"/>
    69         <TopLine Value="12"/>
     69        <TopLine Value="11"/>
    7070        <CursorPos X="35" Y="20"/>
    7171        <UsageCount Value="203"/>
     
    7979        <TopLine Value="1"/>
    8080        <CursorPos X="1" Y="11"/>
    81         <UsageCount Value="189"/>
     81        <UsageCount Value="188"/>
    8282        <DefaultSyntaxHighlighter Value="Delphi"/>
    8383      </Unit1>
     
    8888        <TopLine Value="291"/>
    8989        <CursorPos X="1" Y="311"/>
    90         <UsageCount Value="79"/>
     90        <UsageCount Value="78"/>
    9191        <DefaultSyntaxHighlighter Value="Delphi"/>
    9292      </Unit2>
    9393      <Unit3>
    9494        <Filename Value="UXmlClasses.pas"/>
    95         <UsageCount Value="79"/>
     95        <UsageCount Value="78"/>
    9696        <DefaultSyntaxHighlighter Value="Delphi"/>
    9797      </Unit3>
     
    112112        <TopLine Value="217"/>
    113113        <CursorPos X="5" Y="236"/>
    114         <UsageCount Value="79"/>
     114        <UsageCount Value="78"/>
    115115        <DefaultSyntaxHighlighter Value="Delphi"/>
    116116      </Unit5>
     
    121121        <TopLine Value="10"/>
    122122        <CursorPos X="27" Y="19"/>
    123         <UsageCount Value="79"/>
     123        <UsageCount Value="78"/>
    124124        <DefaultSyntaxHighlighter Value="Delphi"/>
    125125      </Unit6>
     
    129129        <TopLine Value="17"/>
    130130        <CursorPos X="34" Y="30"/>
    131         <UsageCount Value="79"/>
     131        <UsageCount Value="78"/>
    132132        <DefaultSyntaxHighlighter Value="Delphi"/>
    133133      </Unit7>
     
    138138        <TopLine Value="204"/>
    139139        <CursorPos X="25" Y="226"/>
    140         <UsageCount Value="79"/>
     140        <UsageCount Value="78"/>
    141141        <DefaultSyntaxHighlighter Value="Delphi"/>
    142142      </Unit8>
     
    147147        <TopLine Value="102"/>
    148148        <CursorPos X="25" Y="107"/>
    149         <UsageCount Value="79"/>
     149        <UsageCount Value="78"/>
    150150        <DefaultSyntaxHighlighter Value="Delphi"/>
    151151      </Unit9>
     
    156156        <TopLine Value="40"/>
    157157        <CursorPos X="9" Y="59"/>
    158         <UsageCount Value="67"/>
     158        <UsageCount Value="66"/>
    159159        <DefaultSyntaxHighlighter Value="Delphi"/>
    160160      </Unit10>
     
    164164        <TopLine Value="91"/>
    165165        <CursorPos X="10" Y="110"/>
    166         <UsageCount Value="49"/>
     166        <UsageCount Value="48"/>
    167167        <DefaultSyntaxHighlighter Value="Delphi"/>
    168168      </Unit11>
     
    173173        <TopLine Value="15"/>
    174174        <CursorPos X="38" Y="30"/>
    175         <UsageCount Value="283"/>
     175        <UsageCount Value="282"/>
    176176        <DefaultSyntaxHighlighter Value="Delphi"/>
    177177      </Unit12>
     
    198198        <TopLine Value="608"/>
    199199        <CursorPos X="44" Y="627"/>
    200         <UsageCount Value="48"/>
     200        <UsageCount Value="47"/>
    201201        <DefaultSyntaxHighlighter Value="Delphi"/>
    202202      </Unit15>
     
    207207        <TopLine Value="39"/>
    208208        <CursorPos X="25" Y="58"/>
    209         <UsageCount Value="48"/>
     209        <UsageCount Value="47"/>
    210210        <DefaultSyntaxHighlighter Value="Delphi"/>
    211211      </Unit16>
     
    216216        <TopLine Value="1"/>
    217217        <CursorPos X="69" Y="19"/>
    218         <UsageCount Value="44"/>
     218        <UsageCount Value="43"/>
    219219        <DefaultSyntaxHighlighter Value="Delphi"/>
    220220      </Unit17>
     
    225225        <TopLine Value="1"/>
    226226        <CursorPos X="52" Y="124"/>
    227         <UsageCount Value="41"/>
     227        <UsageCount Value="40"/>
    228228        <DefaultSyntaxHighlighter Value="Delphi"/>
    229229      </Unit18>
     
    233233        <TopLine Value="677"/>
    234234        <CursorPos X="14" Y="691"/>
    235         <UsageCount Value="51"/>
     235        <UsageCount Value="50"/>
    236236        <DefaultSyntaxHighlighter Value="Delphi"/>
    237237      </Unit19>
     
    241241        <TopLine Value="10"/>
    242242        <CursorPos X="22" Y="23"/>
    243         <UsageCount Value="50"/>
     243        <UsageCount Value="49"/>
    244244        <DefaultSyntaxHighlighter Value="Delphi"/>
    245245      </Unit20>
     
    250250        <TopLine Value="1140"/>
    251251        <CursorPos X="26" Y="1143"/>
    252         <UsageCount Value="50"/>
     252        <UsageCount Value="49"/>
    253253        <DefaultSyntaxHighlighter Value="Delphi"/>
    254254      </Unit21>
     
    258258        <TopLine Value="43"/>
    259259        <CursorPos X="5" Y="61"/>
    260         <UsageCount Value="50"/>
     260        <UsageCount Value="49"/>
    261261        <DefaultSyntaxHighlighter Value="Delphi"/>
    262262      </Unit22>
     
    266266        <TopLine Value="50"/>
    267267        <CursorPos X="10" Y="63"/>
    268         <UsageCount Value="50"/>
     268        <UsageCount Value="49"/>
    269269        <DefaultSyntaxHighlighter Value="Delphi"/>
    270270      </Unit23>
     
    275275        <TopLine Value="17"/>
    276276        <CursorPos X="32" Y="36"/>
    277         <UsageCount Value="169"/>
     277        <UsageCount Value="168"/>
    278278        <DefaultSyntaxHighlighter Value="Delphi"/>
    279279      </Unit24>
     
    284284        <TopLine Value="25"/>
    285285        <CursorPos X="86" Y="94"/>
    286         <UsageCount Value="169"/>
     286        <UsageCount Value="168"/>
    287287        <DefaultSyntaxHighlighter Value="Delphi"/>
    288288      </Unit25>
     
    293293        <TopLine Value="549"/>
    294294        <CursorPos X="19" Y="569"/>
    295         <UsageCount Value="170"/>
     295        <UsageCount Value="169"/>
    296296        <DefaultSyntaxHighlighter Value="Delphi"/>
    297297      </Unit26>
     
    302302        <TopLine Value="1"/>
    303303        <CursorPos X="64" Y="14"/>
    304         <UsageCount Value="170"/>
     304        <UsageCount Value="169"/>
    305305        <DefaultSyntaxHighlighter Value="Delphi"/>
    306306      </Unit27>
     
    311311        <TopLine Value="6"/>
    312312        <CursorPos X="5" Y="33"/>
    313         <UsageCount Value="170"/>
     313        <UsageCount Value="169"/>
    314314        <DefaultSyntaxHighlighter Value="Delphi"/>
    315315      </Unit28>
     
    319319        <TopLine Value="61"/>
    320320        <CursorPos X="14" Y="78"/>
    321         <UsageCount Value="49"/>
     321        <UsageCount Value="48"/>
    322322        <DefaultSyntaxHighlighter Value="Delphi"/>
    323323      </Unit29>
     
    327327        <TopLine Value="519"/>
    328328        <CursorPos X="23" Y="526"/>
    329         <UsageCount Value="45"/>
     329        <UsageCount Value="44"/>
    330330        <DefaultSyntaxHighlighter Value="Delphi"/>
    331331      </Unit30>
     
    336336        <TopLine Value="11"/>
    337337        <CursorPos X="51" Y="27"/>
    338         <UsageCount Value="351"/>
     338        <UsageCount Value="350"/>
    339339        <DefaultSyntaxHighlighter Value="Delphi"/>
    340340      </Unit31>
     
    345345        <TopLine Value="1"/>
    346346        <CursorPos X="16" Y="164"/>
    347         <UsageCount Value="311"/>
     347        <UsageCount Value="310"/>
    348348        <DefaultSyntaxHighlighter Value="Delphi"/>
    349349      </Unit32>
     
    354354        <TopLine Value="81"/>
    355355        <CursorPos X="1" Y="96"/>
    356         <UsageCount Value="310"/>
     356        <UsageCount Value="309"/>
    357357        <DefaultSyntaxHighlighter Value="Delphi"/>
    358358      </Unit33>
     
    363363        <TopLine Value="1"/>
    364364        <CursorPos X="18" Y="45"/>
    365         <UsageCount Value="310"/>
     365        <UsageCount Value="309"/>
    366366        <DefaultSyntaxHighlighter Value="Delphi"/>
    367367      </Unit34>
     
    372372        <TopLine Value="142"/>
    373373        <CursorPos X="52" Y="165"/>
    374         <UsageCount Value="310"/>
     374        <UsageCount Value="309"/>
    375375        <DefaultSyntaxHighlighter Value="Delphi"/>
    376376      </Unit35>
     
    381381        <TopLine Value="109"/>
    382382        <CursorPos X="36" Y="96"/>
    383         <UsageCount Value="310"/>
     383        <UsageCount Value="309"/>
    384384        <DefaultSyntaxHighlighter Value="Delphi"/>
    385385      </Unit36>
     
    390390        <TopLine Value="44"/>
    391391        <CursorPos X="27" Y="61"/>
    392         <UsageCount Value="310"/>
     392        <UsageCount Value="309"/>
    393393        <DefaultSyntaxHighlighter Value="Delphi"/>
    394394      </Unit37>
     
    399399        <TopLine Value="1"/>
    400400        <CursorPos X="50" Y="8"/>
    401         <UsageCount Value="310"/>
     401        <UsageCount Value="309"/>
    402402        <DefaultSyntaxHighlighter Value="Delphi"/>
    403403      </Unit38>
     
    408408        <TopLine Value="1"/>
    409409        <CursorPos X="21" Y="1"/>
    410         <UsageCount Value="309"/>
     410        <UsageCount Value="308"/>
    411411        <DefaultSyntaxHighlighter Value="Delphi"/>
    412412      </Unit39>
     
    417417        <TopLine Value="1"/>
    418418        <CursorPos X="53" Y="8"/>
    419         <UsageCount Value="309"/>
     419        <UsageCount Value="308"/>
    420420        <DefaultSyntaxHighlighter Value="Delphi"/>
    421421      </Unit40>
     
    426426        <TopLine Value="1"/>
    427427        <CursorPos X="52" Y="92"/>
    428         <UsageCount Value="309"/>
     428        <UsageCount Value="308"/>
    429429        <DefaultSyntaxHighlighter Value="Delphi"/>
    430430      </Unit41>
     
    435435        <TopLine Value="83"/>
    436436        <CursorPos X="47" Y="106"/>
    437         <UsageCount Value="309"/>
     437        <UsageCount Value="308"/>
    438438        <DefaultSyntaxHighlighter Value="Delphi"/>
    439439      </Unit42>
     
    444444        <TopLine Value="1"/>
    445445        <CursorPos X="3" Y="687"/>
    446         <UsageCount Value="309"/>
     446        <UsageCount Value="308"/>
    447447        <DefaultSyntaxHighlighter Value="Delphi"/>
    448448      </Unit43>
     
    453453        <TopLine Value="383"/>
    454454        <CursorPos X="15" Y="397"/>
    455         <UsageCount Value="30"/>
     455        <UsageCount Value="29"/>
    456456        <DefaultSyntaxHighlighter Value="Delphi"/>
    457457      </Unit44>
     
    462462        <TopLine Value="1"/>
    463463        <CursorPos X="1" Y="15"/>
    464         <UsageCount Value="328"/>
     464        <UsageCount Value="327"/>
    465465        <DefaultSyntaxHighlighter Value="Delphi"/>
    466466      </Unit45>
     
    470470        <TopLine Value="690"/>
    471471        <CursorPos X="3" Y="695"/>
    472         <UsageCount Value="30"/>
     472        <UsageCount Value="29"/>
    473473        <DefaultSyntaxHighlighter Value="Delphi"/>
    474474      </Unit46>
     
    479479        <TopLine Value="1"/>
    480480        <CursorPos X="43" Y="79"/>
    481         <UsageCount Value="306"/>
     481        <UsageCount Value="305"/>
    482482        <DefaultSyntaxHighlighter Value="Delphi"/>
    483483      </Unit47>
     
    487487        <TopLine Value="29"/>
    488488        <CursorPos X="15" Y="46"/>
    489         <UsageCount Value="168"/>
     489        <UsageCount Value="167"/>
    490490        <DefaultSyntaxHighlighter Value="Delphi"/>
    491491      </Unit48>
     
    496496        <TopLine Value="1"/>
    497497        <CursorPos X="26" Y="18"/>
    498         <UsageCount Value="70"/>
     498        <UsageCount Value="69"/>
    499499        <DefaultSyntaxHighlighter Value="Delphi"/>
    500500      </Unit49>
     
    505505        <TopLine Value="1"/>
    506506        <CursorPos X="15" Y="20"/>
    507         <UsageCount Value="83"/>
     507        <UsageCount Value="82"/>
    508508        <DefaultSyntaxHighlighter Value="Delphi"/>
    509509      </Unit50>
     
    514514        <TopLine Value="1"/>
    515515        <CursorPos X="44" Y="17"/>
    516         <UsageCount Value="82"/>
     516        <UsageCount Value="81"/>
    517517        <DefaultSyntaxHighlighter Value="Delphi"/>
    518518      </Unit51>
     
    523523        <TopLine Value="1"/>
    524524        <CursorPos X="48" Y="25"/>
    525         <UsageCount Value="1"/>
     525        <UsageCount Value="10"/>
    526526        <DefaultSyntaxHighlighter Value="Delphi"/>
    527527      </Unit52>
     
    532532        <TopLine Value="1"/>
    533533        <CursorPos X="60" Y="11"/>
    534         <UsageCount Value="10"/>
     534        <UsageCount Value="9"/>
    535535        <DefaultSyntaxHighlighter Value="Delphi"/>
    536536      </Unit53>
     
    541541        <TopLine Value="27"/>
    542542        <CursorPos X="5" Y="44"/>
    543         <UsageCount Value="16"/>
     543        <UsageCount Value="15"/>
    544544        <DefaultSyntaxHighlighter Value="Delphi"/>
    545545      </Unit54>
     
    550550        <TopLine Value="159"/>
    551551        <CursorPos X="14" Y="176"/>
    552         <UsageCount Value="12"/>
     552        <UsageCount Value="11"/>
    553553        <DefaultSyntaxHighlighter Value="Delphi"/>
    554554      </Unit55>
     
    557557        <IsPartOfProject Value="True"/>
    558558        <UnitName Value="UWebObjects"/>
    559         <EditorIndex Value="14"/>
    560         <WindowIndex Value="0"/>
    561         <TopLine Value="175"/>
    562         <CursorPos X="1" Y="193"/>
    563         <UsageCount Value="162"/>
     559        <EditorIndex Value="12"/>
     560        <WindowIndex Value="0"/>
     561        <TopLine Value="197"/>
     562        <CursorPos X="3" Y="201"/>
     563        <UsageCount Value="168"/>
    564564        <Loaded Value="True"/>
    565565        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    571571        <TopLine Value="379"/>
    572572        <CursorPos X="3" Y="423"/>
    573         <UsageCount Value="8"/>
     573        <UsageCount Value="7"/>
    574574        <DefaultSyntaxHighlighter Value="Delphi"/>
    575575      </Unit57>
     
    580580        <TopLine Value="19"/>
    581581        <CursorPos X="50" Y="76"/>
    582         <UsageCount Value="10"/>
     582        <UsageCount Value="9"/>
    583583        <DefaultSyntaxHighlighter Value="Delphi"/>
    584584      </Unit58>
     
    589589        <TopLine Value="54"/>
    590590        <CursorPos X="26" Y="71"/>
    591         <UsageCount Value="3"/>
     591        <UsageCount Value="2"/>
    592592        <DefaultSyntaxHighlighter Value="Delphi"/>
    593593      </Unit59>
     
    597597        <TopLine Value="1"/>
    598598        <CursorPos X="14" Y="3"/>
    599         <UsageCount Value="1"/>
     599        <UsageCount Value="10"/>
    600600        <DefaultSyntaxHighlighter Value="Delphi"/>
    601601      </Unit60>
     
    606606        <TopLine Value="35"/>
    607607        <CursorPos X="24" Y="63"/>
    608         <UsageCount Value="1"/>
     608        <UsageCount Value="10"/>
    609609        <DefaultSyntaxHighlighter Value="Delphi"/>
    610610      </Unit61>
     
    614614        <TopLine Value="61"/>
    615615        <CursorPos X="23" Y="61"/>
    616         <UsageCount Value="8"/>
     616        <UsageCount Value="7"/>
    617617        <DefaultSyntaxHighlighter Value="Delphi"/>
    618618      </Unit62>
     
    623623        <TopLine Value="1531"/>
    624624        <CursorPos X="1" Y="1545"/>
    625         <UsageCount Value="2"/>
     625        <UsageCount Value="1"/>
    626626        <DefaultSyntaxHighlighter Value="Delphi"/>
    627627      </Unit63>
     
    632632        <TopLine Value="1"/>
    633633        <CursorPos X="1" Y="1"/>
    634         <UsageCount Value="10"/>
     634        <UsageCount Value="9"/>
    635635        <DefaultSyntaxHighlighter Value="Delphi"/>
    636636      </Unit64>
     
    641641        <TopLine Value="1"/>
    642642        <CursorPos X="1" Y="1"/>
    643         <UsageCount Value="9"/>
     643        <UsageCount Value="8"/>
    644644        <DefaultSyntaxHighlighter Value="Delphi"/>
    645645      </Unit65>
     
    650650        <TopLine Value="10"/>
    651651        <CursorPos X="54" Y="31"/>
    652         <UsageCount Value="9"/>
     652        <UsageCount Value="8"/>
    653653        <DefaultSyntaxHighlighter Value="Delphi"/>
    654654      </Unit66>
     
    659659        <TopLine Value="1"/>
    660660        <CursorPos X="42" Y="14"/>
    661         <UsageCount Value="1"/>
     661        <UsageCount Value="10"/>
    662662        <DefaultSyntaxHighlighter Value="Delphi"/>
    663663      </Unit67>
     
    668668        <TopLine Value="1"/>
    669669        <CursorPos X="1" Y="1"/>
    670         <UsageCount Value="1"/>
     670        <UsageCount Value="10"/>
    671671        <DefaultSyntaxHighlighter Value="Delphi"/>
    672672      </Unit68>
     
    677677        <ResourceBaseClass Value="DataModule"/>
    678678        <UnitName Value="UMainModule"/>
    679         <IsVisibleTab Value="True"/>
    680679        <EditorIndex Value="1"/>
    681680        <WindowIndex Value="0"/>
    682         <TopLine Value="65"/>
    683         <CursorPos X="1" Y="74"/>
    684         <UsageCount Value="144"/>
     681        <TopLine Value="222"/>
     682        <CursorPos X="56" Y="234"/>
     683        <UsageCount Value="150"/>
    685684        <Loaded Value="True"/>
    686685        <LoadedDesigner Value="True"/>
     
    692691        <TopLine Value="291"/>
    693692        <CursorPos X="1" Y="1"/>
    694         <UsageCount Value="9"/>
     693        <UsageCount Value="8"/>
    695694        <DefaultSyntaxHighlighter Value="Delphi"/>
    696695      </Unit70>
     
    701700        <TopLine Value="55"/>
    702701        <CursorPos X="8" Y="80"/>
    703         <UsageCount Value="9"/>
     702        <UsageCount Value="8"/>
    704703        <DefaultSyntaxHighlighter Value="Delphi"/>
    705704      </Unit71>
     
    710709        <TopLine Value="59"/>
    711710        <CursorPos X="10" Y="61"/>
    712         <UsageCount Value="9"/>
     711        <UsageCount Value="8"/>
    713712        <DefaultSyntaxHighlighter Value="Delphi"/>
    714713      </Unit72>
     
    719718        <TopLine Value="10"/>
    720719        <CursorPos X="1" Y="35"/>
    721         <UsageCount Value="10"/>
     720        <UsageCount Value="9"/>
    722721        <DefaultSyntaxHighlighter Value="Delphi"/>
    723722      </Unit73>
     
    728727        <TopLine Value="22"/>
    729728        <CursorPos X="1" Y="43"/>
    730         <UsageCount Value="9"/>
     729        <UsageCount Value="8"/>
    731730        <DefaultSyntaxHighlighter Value="Delphi"/>
    732731      </Unit74>
     
    737736        <TopLine Value="2"/>
    738737        <CursorPos X="14" Y="19"/>
    739         <UsageCount Value="10"/>
     738        <UsageCount Value="9"/>
    740739        <DefaultSyntaxHighlighter Value="Delphi"/>
    741740      </Unit75>
     
    749748        <TopLine Value="1"/>
    750749        <CursorPos X="14" Y="21"/>
    751         <UsageCount Value="5"/>
     750        <UsageCount Value="4"/>
    752751        <DefaultSyntaxHighlighter Value="Delphi"/>
    753752      </Unit76>
     
    758757        <TopLine Value="15"/>
    759758        <CursorPos X="15" Y="70"/>
    760         <UsageCount Value="21"/>
     759        <UsageCount Value="20"/>
    761760        <DefaultSyntaxHighlighter Value="Delphi"/>
    762761      </Unit77>
     
    769768        <TopLine Value="48"/>
    770769        <CursorPos X="13" Y="342"/>
    771         <UsageCount Value="19"/>
     770        <UsageCount Value="18"/>
    772771        <DefaultSyntaxHighlighter Value="Delphi"/>
    773772      </Unit78>
     
    778777        <TopLine Value="33"/>
    779778        <CursorPos X="14" Y="50"/>
    780         <UsageCount Value="2"/>
     779        <UsageCount Value="1"/>
    781780        <DefaultSyntaxHighlighter Value="Delphi"/>
    782781      </Unit79>
     
    787786        <TopLine Value="179"/>
    788787        <CursorPos X="14" Y="199"/>
    789         <UsageCount Value="1"/>
     788        <UsageCount Value="10"/>
    790789        <DefaultSyntaxHighlighter Value="Delphi"/>
    791790      </Unit80>
     
    796795        <TopLine Value="1"/>
    797796        <CursorPos X="79" Y="4"/>
    798         <UsageCount Value="2"/>
     797        <UsageCount Value="1"/>
    799798        <DefaultSyntaxHighlighter Value="Delphi"/>
    800799      </Unit81>
     
    805804        <TopLine Value="184"/>
    806805        <CursorPos X="3" Y="199"/>
    807         <UsageCount Value="2"/>
     806        <UsageCount Value="1"/>
    808807        <DefaultSyntaxHighlighter Value="Delphi"/>
    809808      </Unit82>
     
    814813        <TopLine Value="1289"/>
    815814        <CursorPos X="36" Y="1307"/>
    816         <UsageCount Value="10"/>
     815        <UsageCount Value="9"/>
    817816        <DefaultSyntaxHighlighter Value="Delphi"/>
    818817      </Unit83>
     
    823822        <TopLine Value="34"/>
    824823        <CursorPos X="3" Y="51"/>
    825         <UsageCount Value="9"/>
     824        <UsageCount Value="8"/>
    826825        <DefaultSyntaxHighlighter Value="Delphi"/>
    827826      </Unit84>
     
    832831        <TopLine Value="174"/>
    833832        <CursorPos X="14" Y="191"/>
    834         <UsageCount Value="10"/>
     833        <UsageCount Value="9"/>
    835834        <DefaultSyntaxHighlighter Value="Delphi"/>
    836835      </Unit85>
     
    840839        <TopLine Value="538"/>
    841840        <CursorPos X="24" Y="555"/>
    842         <UsageCount Value="10"/>
     841        <UsageCount Value="9"/>
    843842        <DefaultSyntaxHighlighter Value="Delphi"/>
    844843      </Unit86>
     
    849848        <TopLine Value="137"/>
    850849        <CursorPos X="100" Y="154"/>
    851         <UsageCount Value="15"/>
     850        <UsageCount Value="14"/>
    852851        <DefaultSyntaxHighlighter Value="Delphi"/>
    853852      </Unit87>
     
    858857        <TopLine Value="49"/>
    859858        <CursorPos X="1" Y="53"/>
    860         <UsageCount Value="9"/>
     859        <UsageCount Value="8"/>
    861860        <DefaultSyntaxHighlighter Value="Delphi"/>
    862861      </Unit88>
     
    866865        <TopLine Value="2101"/>
    867866        <CursorPos X="3" Y="2108"/>
    868         <UsageCount Value="10"/>
     867        <UsageCount Value="9"/>
    869868        <DefaultSyntaxHighlighter Value="Delphi"/>
    870869      </Unit89>
     
    874873        <TopLine Value="180"/>
    875874        <CursorPos X="26" Y="197"/>
    876         <UsageCount Value="10"/>
     875        <UsageCount Value="9"/>
    877876        <DefaultSyntaxHighlighter Value="Delphi"/>
    878877      </Unit90>
     
    883882        <TopLine Value="3089"/>
    884883        <CursorPos X="27" Y="3106"/>
    885         <UsageCount Value="1"/>
     884        <UsageCount Value="10"/>
    886885        <DefaultSyntaxHighlighter Value="Delphi"/>
    887886      </Unit91>
     
    895894        <TopLine Value="17"/>
    896895        <CursorPos X="1" Y="47"/>
    897         <UsageCount Value="135"/>
     896        <UsageCount Value="141"/>
    898897        <DefaultSyntaxHighlighter Value="Delphi"/>
    899898      </Unit92>
     
    907906        <TopLine Value="26"/>
    908907        <CursorPos X="84" Y="45"/>
    909         <UsageCount Value="132"/>
     908        <UsageCount Value="138"/>
    910909        <DefaultSyntaxHighlighter Value="Delphi"/>
    911910      </Unit93>
     
    919918        <TopLine Value="66"/>
    920919        <CursorPos X="1" Y="97"/>
    921         <UsageCount Value="132"/>
     920        <UsageCount Value="138"/>
    922921        <DefaultSyntaxHighlighter Value="Delphi"/>
    923922      </Unit94>
     
    931930        <TopLine Value="26"/>
    932931        <CursorPos X="40" Y="44"/>
    933         <UsageCount Value="131"/>
     932        <UsageCount Value="137"/>
    934933        <DefaultSyntaxHighlighter Value="Delphi"/>
    935934      </Unit95>
     
    943942        <TopLine Value="24"/>
    944943        <CursorPos X="1" Y="55"/>
    945         <UsageCount Value="131"/>
     944        <UsageCount Value="137"/>
    946945        <DefaultSyntaxHighlighter Value="Delphi"/>
    947946      </Unit96>
     
    955954        <TopLine Value="24"/>
    956955        <CursorPos X="51" Y="42"/>
    957         <UsageCount Value="131"/>
     956        <UsageCount Value="137"/>
    958957        <DefaultSyntaxHighlighter Value="Delphi"/>
    959958      </Unit97>
     
    967966        <TopLine Value="28"/>
    968967        <CursorPos X="23" Y="40"/>
    969         <UsageCount Value="131"/>
     968        <UsageCount Value="137"/>
    970969        <DefaultSyntaxHighlighter Value="Delphi"/>
    971970      </Unit98>
     
    976975        <ResourceBaseClass Value="DataModule"/>
    977976        <UnitName Value="ULinksPage"/>
    978         <EditorIndex Value="10"/>
    979977        <WindowIndex Value="0"/>
    980978        <TopLine Value="32"/>
    981979        <CursorPos X="38" Y="51"/>
    982         <UsageCount Value="131"/>
    983         <Loaded Value="True"/>
     980        <UsageCount Value="137"/>
    984981        <DefaultSyntaxHighlighter Value="Delphi"/>
    985982      </Unit99>
     
    993990        <TopLine Value="8"/>
    994991        <CursorPos X="1" Y="39"/>
    995         <UsageCount Value="131"/>
     992        <UsageCount Value="137"/>
    996993        <DefaultSyntaxHighlighter Value="Delphi"/>
    997994      </Unit100>
     
    10051002        <TopLine Value="26"/>
    10061003        <CursorPos X="1" Y="47"/>
    1007         <UsageCount Value="131"/>
     1004        <UsageCount Value="137"/>
    10081005        <DefaultSyntaxHighlighter Value="Delphi"/>
    10091006      </Unit101>
     
    10141011        <ResourceBaseClass Value="DataModule"/>
    10151012        <UnitName Value="UUserControlPage"/>
    1016         <EditorIndex Value="11"/>
    1017         <WindowIndex Value="0"/>
    1018         <TopLine Value="55"/>
    1019         <CursorPos X="1" Y="62"/>
    1020         <UsageCount Value="131"/>
     1013        <IsVisibleTab Value="True"/>
     1014        <EditorIndex Value="8"/>
     1015        <WindowIndex Value="0"/>
     1016        <TopLine Value="140"/>
     1017        <CursorPos X="5" Y="165"/>
     1018        <UsageCount Value="137"/>
    10211019        <Loaded Value="True"/>
    10221020        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    10311029        <TopLine Value="15"/>
    10321030        <CursorPos X="1" Y="46"/>
    1033         <UsageCount Value="131"/>
     1031        <UsageCount Value="137"/>
    10341032        <DefaultSyntaxHighlighter Value="Delphi"/>
    10351033      </Unit103>
     
    10431041        <TopLine Value="52"/>
    10441042        <CursorPos X="59" Y="62"/>
    1045         <UsageCount Value="131"/>
     1043        <UsageCount Value="137"/>
    10461044        <DefaultSyntaxHighlighter Value="Delphi"/>
    10471045      </Unit104>
     
    10571055          <CursorPos X="50" Y="4"/>
    10581056        </ExtraEditor1>
    1059         <UsageCount Value="9"/>
     1057        <UsageCount Value="8"/>
    10601058        <DefaultSyntaxHighlighter Value="LFM"/>
    10611059      </Unit105>
     
    10661064        <TopLine Value="344"/>
    10671065        <CursorPos X="30" Y="361"/>
    1068         <UsageCount Value="9"/>
     1066        <UsageCount Value="8"/>
    10691067        <DefaultSyntaxHighlighter Value="Delphi"/>
    10701068      </Unit106>
     
    10751073        <TopLine Value="475"/>
    10761074        <CursorPos X="34" Y="492"/>
    1077         <UsageCount Value="9"/>
     1075        <UsageCount Value="8"/>
    10781076        <DefaultSyntaxHighlighter Value="Delphi"/>
    10791077      </Unit107>
     
    10841082        <TopLine Value="23"/>
    10851083        <CursorPos X="37" Y="23"/>
    1086         <UsageCount Value="9"/>
     1084        <UsageCount Value="8"/>
    10871085        <DefaultSyntaxHighlighter Value="Delphi"/>
    10881086      </Unit108>
     
    10931091        <TopLine Value="4"/>
    10941092        <CursorPos X="14" Y="17"/>
    1095         <UsageCount Value="71"/>
     1093        <UsageCount Value="70"/>
    10961094        <DefaultSyntaxHighlighter Value="Delphi"/>
    10971095      </Unit109>
     
    11021100        <TopLine Value="72"/>
    11031101        <CursorPos X="62" Y="94"/>
    1104         <UsageCount Value="3"/>
     1102        <UsageCount Value="2"/>
    11051103        <DefaultSyntaxHighlighter Value="Delphi"/>
    11061104      </Unit110>
     
    11101108        <TopLine Value="35"/>
    11111109        <CursorPos X="22" Y="53"/>
    1112         <UsageCount Value="3"/>
     1110        <UsageCount Value="2"/>
    11131111        <DefaultSyntaxHighlighter Value="Delphi"/>
    11141112      </Unit111>
     
    11191117        <TopLine Value="27"/>
    11201118        <CursorPos X="14" Y="74"/>
    1121         <UsageCount Value="3"/>
     1119        <UsageCount Value="2"/>
    11221120        <DefaultSyntaxHighlighter Value="Delphi"/>
    11231121      </Unit112>
     
    11271125        <TopLine Value="1"/>
    11281126        <CursorPos X="3" Y="1"/>
    1129         <UsageCount Value="10"/>
     1127        <UsageCount Value="9"/>
    11301128        <DefaultSyntaxHighlighter Value="Delphi"/>
    11311129      </Unit113>
     
    11351133        <TopLine Value="153"/>
    11361134        <CursorPos X="13" Y="170"/>
    1137         <UsageCount Value="3"/>
     1135        <UsageCount Value="2"/>
    11381136        <DefaultSyntaxHighlighter Value="Delphi"/>
    11391137      </Unit114>
     
    11431141        <TopLine Value="337"/>
    11441142        <CursorPos X="3" Y="337"/>
    1145         <UsageCount Value="3"/>
     1143        <UsageCount Value="2"/>
    11461144        <DefaultSyntaxHighlighter Value="Delphi"/>
    11471145      </Unit115>
     
    11511149        <TopLine Value="11"/>
    11521150        <CursorPos X="2" Y="28"/>
    1153         <UsageCount Value="1"/>
     1151        <UsageCount Value="10"/>
    11541152        <DefaultSyntaxHighlighter Value="Delphi"/>
    11551153      </Unit116>
     
    11601158        <TopLine Value="10"/>
    11611159        <CursorPos X="4" Y="26"/>
    1162         <UsageCount Value="108"/>
     1160        <UsageCount Value="114"/>
    11631161        <DefaultSyntaxHighlighter Value="None"/>
    11641162      </Unit117>
     
    11681166        <TopLine Value="1"/>
    11691167        <CursorPos X="24" Y="4"/>
    1170         <UsageCount Value="5"/>
     1168        <UsageCount Value="4"/>
    11711169      </Unit118>
    11721170      <Unit119>
    11731171        <Filename Value="Components/TemplateGenerics/Generic/GenericList.inc"/>
    1174         <EditorIndex Value="18"/>
     1172        <EditorIndex Value="16"/>
    11751173        <WindowIndex Value="0"/>
    11761174        <TopLine Value="133"/>
    11771175        <CursorPos X="1" Y="147"/>
    1178         <UsageCount Value="35"/>
     1176        <UsageCount Value="38"/>
    11791177        <Loaded Value="True"/>
    11801178      </Unit119>
     
    11861184        <TopLine Value="32"/>
    11871185        <CursorPos X="37" Y="54"/>
    1188         <UsageCount Value="76"/>
     1186        <UsageCount Value="82"/>
    11891187        <DefaultSyntaxHighlighter Value="Delphi"/>
    11901188      </Unit120>
     
    11921190        <Filename Value="Components/CoolWeb/Persistence/USqlDatabase.pas"/>
    11931191        <UnitName Value="USqlDatabase"/>
    1194         <EditorIndex Value="13"/>
     1192        <EditorIndex Value="11"/>
    11951193        <WindowIndex Value="0"/>
    11961194        <TopLine Value="228"/>
    11971195        <CursorPos X="39" Y="250"/>
    1198         <UsageCount Value="10"/>
     1196        <UsageCount Value="13"/>
    11991197        <Loaded Value="True"/>
    12001198      </Unit121>
     
    12041202        <EditorIndex Value="3"/>
    12051203        <WindowIndex Value="0"/>
    1206         <TopLine Value="22"/>
    1207         <CursorPos X="15" Y="40"/>
    1208         <UsageCount Value="38"/>
     1204        <TopLine Value="15"/>
     1205        <CursorPos X="50" Y="45"/>
     1206        <UsageCount Value="41"/>
    12091207        <Loaded Value="True"/>
    12101208      </Unit122>
     
    12151213        <TopLine Value="1"/>
    12161214        <CursorPos X="17" Y="12"/>
    1217         <UsageCount Value="33"/>
     1215        <UsageCount Value="32"/>
    12181216      </Unit123>
    12191217      <Unit124>
     
    12231221        <TopLine Value="97"/>
    12241222        <CursorPos X="20" Y="115"/>
    1225         <UsageCount Value="5"/>
     1223        <UsageCount Value="4"/>
    12261224        <DefaultSyntaxHighlighter Value="Delphi"/>
    12271225      </Unit124>
     
    12331231        <TopLine Value="1"/>
    12341232        <CursorPos X="1" Y="1"/>
    1235         <UsageCount Value="35"/>
     1233        <UsageCount Value="38"/>
    12361234        <Loaded Value="True"/>
    12371235      </Unit125>
     
    12421240        <TopLine Value="266"/>
    12431241        <CursorPos X="3" Y="269"/>
    1244         <UsageCount Value="28"/>
     1242        <UsageCount Value="27"/>
    12451243      </Unit126>
    12461244      <Unit127>
    12471245        <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    12481246        <UnitName Value="UHtmlClasses"/>
    1249         <EditorIndex Value="16"/>
    1250         <WindowIndex Value="0"/>
    1251         <TopLine Value="172"/>
    1252         <CursorPos X="5" Y="192"/>
    1253         <UsageCount Value="35"/>
     1247        <EditorIndex Value="14"/>
     1248        <WindowIndex Value="0"/>
     1249        <TopLine Value="146"/>
     1250        <CursorPos X="5" Y="164"/>
     1251        <UsageCount Value="38"/>
    12541252        <Loaded Value="True"/>
    12551253      </Unit127>
     
    12571255        <Filename Value="Components/CoolWeb/Common/UMemoryStreamEx.pas"/>
    12581256        <UnitName Value="UMemoryStreamEx"/>
    1259         <EditorIndex Value="17"/>
     1257        <EditorIndex Value="15"/>
    12601258        <WindowIndex Value="0"/>
    12611259        <TopLine Value="248"/>
    12621260        <CursorPos X="3" Y="250"/>
    1263         <UsageCount Value="35"/>
     1261        <UsageCount Value="38"/>
    12641262        <Loaded Value="True"/>
    12651263      </Unit128>
     
    12671265        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
    12681266        <UnitName Value="UUser"/>
    1269         <WindowIndex Value="0"/>
    1270         <TopLine Value="1"/>
    1271         <CursorPos X="1" Y="1"/>
    1272         <UsageCount Value="30"/>
     1267        <EditorIndex Value="9"/>
     1268        <WindowIndex Value="0"/>
     1269        <TopLine Value="158"/>
     1270        <CursorPos X="41" Y="185"/>
     1271        <UsageCount Value="33"/>
     1272        <Loaded Value="True"/>
    12731273      </Unit129>
    12741274      <Unit130>
     
    12781278        <TopLine Value="28"/>
    12791279        <CursorPos X="1" Y="1"/>
    1280         <UsageCount Value="30"/>
     1280        <UsageCount Value="29"/>
    12811281      </Unit130>
    12821282      <Unit131>
    12831283        <Filename Value="Components/CoolWeb/Common/UXmlClasses.pas"/>
    12841284        <UnitName Value="UXmlClasses"/>
    1285         <EditorIndex Value="15"/>
     1285        <EditorIndex Value="13"/>
    12861286        <WindowIndex Value="0"/>
    12871287        <TopLine Value="12"/>
    12881288        <CursorPos X="11" Y="31"/>
    1289         <UsageCount Value="35"/>
     1289        <UsageCount Value="38"/>
    12901290        <Loaded Value="True"/>
    12911291      </Unit131>
     
    12951295        <TopLine Value="6"/>
    12961296        <CursorPos X="14" Y="19"/>
    1297         <UsageCount Value="26"/>
     1297        <UsageCount Value="25"/>
    12981298      </Unit132>
    12991299      <Unit133>
    13001300        <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    13011301        <UnitName Value="UHTTPServer"/>
    1302         <EditorIndex Value="12"/>
    1303         <WindowIndex Value="0"/>
    1304         <TopLine Value="267"/>
    1305         <CursorPos X="46" Y="290"/>
    1306         <UsageCount Value="16"/>
     1302        <EditorIndex Value="10"/>
     1303        <WindowIndex Value="0"/>
     1304        <TopLine Value="415"/>
     1305        <CursorPos X="29" Y="440"/>
     1306        <UsageCount Value="19"/>
    13071307        <Loaded Value="True"/>
    13081308      </Unit133>
     
    13131313        <TopLine Value="98"/>
    13141314        <CursorPos X="3" Y="26"/>
    1315         <UsageCount Value="11"/>
     1315        <UsageCount Value="10"/>
    13161316      </Unit134>
    13171317      <Unit135>
     
    13221322        <TopLine Value="145"/>
    13231323        <CursorPos X="58" Y="171"/>
    1324         <UsageCount Value="15"/>
     1324        <UsageCount Value="18"/>
    13251325        <Loaded Value="True"/>
    13261326      </Unit135>
     
    13281328        <Filename Value="Components/CoolWeb/WebServer/UHTTPServerCGI.pas"/>
    13291329        <UnitName Value="UHTTPServerCGI"/>
    1330         <EditorIndex Value="4"/>
     1330        <EditorIndex Value="5"/>
    13311331        <WindowIndex Value="0"/>
    13321332        <TopLine Value="1"/>
    13331333        <CursorPos X="1" Y="18"/>
    1334         <UsageCount Value="15"/>
     1334        <UsageCount Value="18"/>
    13351335        <Loaded Value="True"/>
    13361336      </Unit136>
     
    13401340        <TopLine Value="479"/>
    13411341        <CursorPos X="17" Y="497"/>
    1342         <UsageCount Value="11"/>
     1342        <UsageCount Value="10"/>
    13431343      </Unit137>
    13441344      <Unit138>
     
    13481348        <TopLine Value="70"/>
    13491349        <CursorPos X="3" Y="91"/>
    1350         <UsageCount Value="10"/>
     1350        <UsageCount Value="9"/>
    13511351      </Unit138>
    13521352      <Unit139>
     
    13691369        <TopLine Value="59"/>
    13701370        <CursorPos X="10" Y="77"/>
    1371         <UsageCount Value="10"/>
     1371        <UsageCount Value="9"/>
    13721372      </Unit141>
    13731373      <Unit142>
     
    13771377        <TopLine Value="454"/>
    13781378        <CursorPos X="74" Y="462"/>
    1379         <UsageCount Value="10"/>
     1379        <UsageCount Value="9"/>
    13801380      </Unit142>
    13811381      <Unit143>
    13821382        <Filename Value="Components/CoolWeb/WebServer/UHTTPServerTCP.pas"/>
    13831383        <UnitName Value="UHTTPServerTCP"/>
    1384         <EditorIndex Value="5"/>
     1384        <EditorIndex Value="6"/>
    13851385        <WindowIndex Value="0"/>
    13861386        <TopLine Value="70"/>
    13871387        <CursorPos X="27" Y="102"/>
    1388         <UsageCount Value="14"/>
     1388        <UsageCount Value="17"/>
    13891389        <Loaded Value="True"/>
    13901390      </Unit143>
     
    13941394        <TopLine Value="1"/>
    13951395        <CursorPos X="1" Y="1"/>
    1396         <UsageCount Value="10"/>
     1396        <UsageCount Value="9"/>
    13971397        <DefaultSyntaxHighlighter Value="LFM"/>
    13981398      </Unit144>
     
    14001400        <Filename Value="Components/Common/UPool.pas"/>
    14011401        <UnitName Value="UPool"/>
    1402         <EditorIndex Value="8"/>
    14031402        <WindowIndex Value="0"/>
    14041403        <TopLine Value="123"/>
    14051404        <CursorPos X="3" Y="125"/>
    1406         <UsageCount Value="11"/>
    1407         <Loaded Value="True"/>
     1405        <UsageCount Value="10"/>
    14081406      </Unit145>
    14091407      <Unit146>
    14101408        <Filename Value="Components/Common/UResetableThread.pas"/>
    14111409        <UnitName Value="UResetableThread"/>
    1412         <EditorIndex Value="9"/>
    14131410        <WindowIndex Value="0"/>
    14141411        <TopLine Value="38"/>
    14151412        <CursorPos X="48" Y="65"/>
    14161413        <UsageCount Value="11"/>
    1417         <Loaded Value="True"/>
    14181414      </Unit146>
    14191415      <Unit147>
    14201416        <Filename Value="Components/synapse/blcksock.pas"/>
    14211417        <UnitName Value="blcksock"/>
    1422         <EditorIndex Value="6"/>
    14231418        <WindowIndex Value="0"/>
    14241419        <TopLine Value="379"/>
    14251420        <CursorPos X="15" Y="397"/>
    14261421        <UsageCount Value="10"/>
     1422      </Unit147>
     1423      <Unit148>
     1424        <Filename Value="/usr/share/fpcsrc/2.4.4/rtl/unix/sysunixh.inc"/>
     1425        <WindowIndex Value="0"/>
     1426        <TopLine Value="10"/>
     1427        <CursorPos X="2" Y="28"/>
     1428        <UsageCount Value="10"/>
     1429      </Unit148>
     1430      <Unit149>
     1431        <Filename Value="Components/CoolWeb/WebServer/UWebPage.pas"/>
     1432        <UnitName Value="UWebPage"/>
     1433        <EditorIndex Value="4"/>
     1434        <WindowIndex Value="0"/>
     1435        <TopLine Value="1"/>
     1436        <CursorPos X="31" Y="11"/>
     1437        <UsageCount Value="11"/>
    14271438        <Loaded Value="True"/>
    1428       </Unit147>
     1439      </Unit149>
    14291440    </Units>
    1430     <JumpHistory Count="29" HistoryIndex="28">
     1441    <JumpHistory Count="30" HistoryIndex="29">
    14311442      <Position1>
    1432         <Filename Value="Components/Common/UResetableThread.pas"/>
    1433         <Caret Line="57" Column="26" TopLine="38"/>
     1443        <Filename Value="Pages/UUserControlPage.pas"/>
     1444        <Caret Line="97" Column="29" TopLine="68"/>
    14341445      </Position1>
    14351446      <Position2>
    1436         <Filename Value="Components/Common/UResetableThread.pas"/>
    1437         <Caret Line="65" Column="48" TopLine="38"/>
     1447        <Filename Value="Pages/UUserControlPage.pas"/>
     1448        <Caret Line="146" Column="16" TopLine="119"/>
    14381449      </Position2>
    14391450      <Position3>
    1440         <Filename Value="Components/TemplateGenerics/Generic/GenericList.inc"/>
    1441         <Caret Line="147" Column="1" TopLine="133"/>
     1451        <Filename Value="Pages/UUserControlPage.pas"/>
     1452        <Caret Line="154" Column="47" TopLine="122"/>
    14421453      </Position3>
    14431454      <Position4>
    14441455        <Filename Value="Pages/UUserControlPage.pas"/>
    1445         <Caret Line="62" Column="1" TopLine="55"/>
     1456        <Caret Line="151" Column="29" TopLine="127"/>
    14461457      </Position4>
    14471458      <Position5>
    1448         <Filename Value="Application/UWebObjects.pas"/>
    1449         <Caret Line="193" Column="1" TopLine="175"/>
     1459        <Filename Value="Pages/UUserControlPage.pas"/>
     1460        <Caret Line="152" Column="25" TopLine="127"/>
    14501461      </Position5>
    14511462      <Position6>
    1452         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1453         <Caret Line="698" Column="1" TopLine="680"/>
     1463        <Filename Value="Pages/UUserControlPage.pas"/>
     1464        <Caret Line="93" Column="28" TopLine="85"/>
    14541465      </Position6>
    14551466      <Position7>
    1456         <Filename Value="Application/UWebObjects.pas"/>
    1457         <Caret Line="193" Column="1" TopLine="175"/>
     1467        <Filename Value="Pages/UUserControlPage.pas"/>
     1468        <Caret Line="105" Column="19" TopLine="94"/>
    14581469      </Position7>
    14591470      <Position8>
    1460         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1461         <Caret Line="639" Column="1" TopLine="621"/>
     1471        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1472        <Caret Line="78" Column="15" TopLine="54"/>
    14621473      </Position8>
    14631474      <Position9>
    1464         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1465         <Caret Line="785" Column="40" TopLine="778"/>
     1475        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1476        <Caret Line="98" Column="33" TopLine="86"/>
    14661477      </Position9>
    14671478      <Position10>
    1468         <Filename Value="Components/TemplateGenerics/Generic/GenericList.inc"/>
    1469         <Caret Line="147" Column="1" TopLine="133"/>
     1479        <Filename Value="Components/CoolWeb/WebServer/UWebApp.pas"/>
     1480        <Caret Line="1" Column="26" TopLine="1"/>
    14701481      </Position10>
    14711482      <Position11>
    1472         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1473         <Caret Line="698" Column="1" TopLine="680"/>
     1483        <Filename Value="Components/CoolWeb/WebServer/UWebApp.pas"/>
     1484        <Caret Line="29" Column="18" TopLine="1"/>
    14741485      </Position11>
    14751486      <Position12>
    1476         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1477         <Caret Line="796" Column="1" TopLine="778"/>
     1487        <Filename Value="Components/CoolWeb/WebServer/UWebApp.pas"/>
     1488        <Caret Line="44" Column="79" TopLine="15"/>
    14781489      </Position12>
    14791490      <Position13>
    1480         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1481         <Caret Line="800" Column="1" TopLine="778"/>
     1491        <Filename Value="Components/CoolWeb/WebServer/UWebApp.pas"/>
     1492        <Caret Line="45" Column="50" TopLine="15"/>
    14821493      </Position13>
    14831494      <Position14>
    1484         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1485         <Caret Line="801" Column="1" TopLine="778"/>
     1495        <Filename Value="Modules/UMainModule.pas"/>
     1496        <Caret Line="27" Column="64" TopLine="13"/>
    14861497      </Position14>
    14871498      <Position15>
    1488         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1489         <Caret Line="794" Column="3" TopLine="792"/>
     1499        <Filename Value="Modules/UMainModule.pas"/>
     1500        <Caret Line="71" Column="1" TopLine="66"/>
    14901501      </Position15>
    14911502      <Position16>
    1492         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1493         <Caret Line="35" Column="14" TopLine="17"/>
     1503        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1504        <Caret Line="125" Column="81" TopLine="116"/>
    14941505      </Position16>
    14951506      <Position17>
    1496         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1497         <Caret Line="21" Column="34" TopLine="1"/>
     1507        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1508        <Caret Line="45" Column="52" TopLine="26"/>
    14981509      </Position17>
    14991510      <Position18>
    1500         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1501         <Caret Line="41" Column="14" TopLine="17"/>
     1511        <Filename Value="Pages/UUserControlPage.pas"/>
     1512        <Caret Line="150" Column="98" TopLine="125"/>
    15021513      </Position18>
    15031514      <Position19>
    1504         <Filename Value="Components/CoolWeb/Common/UHtmlClasses.pas"/>
    1505         <Caret Line="725" Column="3" TopLine="711"/>
     1515        <Filename Value="Pages/UUserControlPage.pas"/>
     1516        <Caret Line="156" Column="43" TopLine="125"/>
    15061517      </Position19>
    15071518      <Position20>
    1508         <Filename Value="Components/CoolWeb/WebServer/UHTTPServerTCP.pas"/>
    1509         <Caret Line="102" Column="13" TopLine="82"/>
     1519        <Filename Value="Modules/UMainModule.pas"/>
     1520        <Caret Line="227" Column="1" TopLine="215"/>
    15101521      </Position20>
    15111522      <Position21>
    1512         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1513         <Caret Line="62" Column="21" TopLine="41"/>
     1523        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1524        <Caret Line="30" Column="20" TopLine="18"/>
    15141525      </Position21>
    15151526      <Position22>
    1516         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1517         <Caret Line="387" Column="11" TopLine="385"/>
     1527        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1528        <Caret Line="176" Column="88" TopLine="152"/>
    15181529      </Position22>
    15191530      <Position23>
    1520         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1521         <Caret Line="50" Column="1" TopLine="45"/>
     1531        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1532        <Caret Line="154" Column="65" TopLine="136"/>
    15221533      </Position23>
    15231534      <Position24>
    1524         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1525         <Caret Line="39" Column="1" TopLine="32"/>
     1535        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1536        <Caret Line="169" Column="65" TopLine="151"/>
    15261537      </Position24>
    15271538      <Position25>
    1528         <Filename Value="Modules/UMainModule.pas"/>
    1529         <Caret Line="70" Column="3" TopLine="65"/>
     1539        <Filename Value="Components/CoolWeb/Modules/UUser.pas"/>
     1540        <Caret Line="183" Column="39" TopLine="158"/>
    15301541      </Position25>
    15311542      <Position26>
    15321543        <Filename Value="Modules/UMainModule.pas"/>
    1533         <Caret Line="74" Column="22" TopLine="65"/>
     1544        <Caret Line="240" Column="30" TopLine="215"/>
    15341545      </Position26>
    15351546      <Position27>
    1536         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1537         <Caret Line="117" Column="15" TopLine="93"/>
     1547        <Filename Value="Pages/UUserControlPage.pas"/>
     1548        <Caret Line="21" Column="28" TopLine="1"/>
    15381549      </Position27>
    15391550      <Position28>
    1540         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1541         <Caret Line="285" Column="20" TopLine="267"/>
     1551        <Filename Value="Pages/UUserControlPage.pas"/>
     1552        <Caret Line="126" Column="40" TopLine="105"/>
    15421553      </Position28>
    15431554      <Position29>
    1544         <Filename Value="Components/CoolWeb/WebServer/UHTTPServer.pas"/>
    1545         <Caret Line="290" Column="46" TopLine="267"/>
     1555        <Filename Value="Pages/UUserControlPage.pas"/>
     1556        <Caret Line="50" Column="1" TopLine="32"/>
    15461557      </Position29>
     1558      <Position30>
     1559        <Filename Value="Pages/UUserControlPage.pas"/>
     1560        <Caret Line="51" Column="68" TopLine="34"/>
     1561      </Position30>
    15471562    </JumpHistory>
    15481563  </ProjectOptions>
Note: See TracChangeset for help on using the changeset viewer.