Changeset 5 for trunk


Ignore:
Timestamp:
Nov 14, 2012, 8:53:05 AM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Uchování nastavení spojení v registrech.
Location:
trunk
Files:
43 added
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        11Dochazka.lps
         2Dochazka.dbg
         3Dochazka.exe
         4heaptrclog.trc
         5lib
  • trunk/Dochazka.lpi

    r4 r5  
    1212    </General>
    1313    <i18n>
    14       <EnableI18N LFM="False"/>
     14      <EnableI18N Value="True"/>
     15      <OutDir Value="Languages"/>
    1516    </i18n>
    1617    <VersionInfo>
    1718      <StringTable ProductVersion=""/>
    1819    </VersionInfo>
    19     <BuildModes Count="1">
    20       <Item1 Name="Default" Default="True"/>
     20    <BuildModes Count="2">
     21      <Item1 Name="Debug" Default="True"/>
     22      <Item2 Name="Release">
     23        <CompilerOptions>
     24          <Version Value="11"/>
     25          <Target>
     26            <Filename Value="Dochazka"/>
     27          </Target>
     28          <SearchPaths>
     29            <IncludeFiles Value="$(ProjOutDir)"/>
     30            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     31          </SearchPaths>
     32          <Parsing>
     33            <SyntaxOptions>
     34              <SyntaxMode Value="Delphi"/>
     35            </SyntaxOptions>
     36          </Parsing>
     37          <CodeGeneration>
     38            <SmartLinkUnit Value="True"/>
     39            <Optimizations>
     40              <OptimizationLevel Value="3"/>
     41            </Optimizations>
     42          </CodeGeneration>
     43          <Linking>
     44            <Debugging>
     45              <GenerateDebugInfo Value="False"/>
     46            </Debugging>
     47            <LinkSmart Value="True"/>
     48            <Options>
     49              <Win32>
     50                <GraphicApplication Value="True"/>
     51              </Win32>
     52            </Options>
     53          </Linking>
     54          <Other>
     55            <CompilerMessages>
     56              <MsgFileName Value=""/>
     57            </CompilerMessages>
     58            <CompilerPath Value="$(CompPath)"/>
     59          </Other>
     60        </CompilerOptions>
     61      </Item2>
    2162    </BuildModes>
    2263    <PublishOptions>
     
    3172      </local>
    3273    </RunParams>
    33     <RequiredPackages Count="2">
     74    <RequiredPackages Count="3">
    3475      <Item1>
     76        <PackageName Value="Common"/>
     77      </Item1>
     78      <Item2>
    3579        <PackageName Value="CoolWeb"/>
    3680        <DefaultFilename Value="Packages/CoolWeb/CoolWeb.lpk" Prefer="True"/>
    37       </Item1>
    38       <Item2>
     81      </Item2>
     82      <Item3>
    3983        <PackageName Value="LCL"/>
    40       </Item2>
     84      </Item3>
    4185    </RequiredPackages>
    42     <Units Count="5">
     86    <Units Count="6">
    4387      <Unit0>
    4488        <Filename Value="Dochazka.lpr"/>
     
    4791      </Unit0>
    4892      <Unit1>
    49         <Filename Value="UFormMain.pas"/>
     93        <Filename Value="Forms/UFormMain.pas"/>
    5094        <IsPartOfProject Value="True"/>
    51         <ComponentName Value="Form1"/>
     95        <ComponentName Value="FormMain"/>
    5296        <HasResources Value="True"/>
    5397        <ResourceBaseClass Value="Form"/>
     
    71115        <IsPartOfProject Value="True"/>
    72116      </Unit4>
     117      <Unit5>
     118        <Filename Value="Forms/UFormSetting.pas"/>
     119        <IsPartOfProject Value="True"/>
     120        <ComponentName Value="FormSetting"/>
     121        <HasResources Value="True"/>
     122        <ResourceBaseClass Value="Form"/>
     123        <UnitName Value="UFormSetting"/>
     124      </Unit5>
    73125    </Units>
    74126  </ProjectOptions>
     
    80132    <SearchPaths>
    81133      <IncludeFiles Value="$(ProjOutDir)"/>
     134      <OtherUnitFiles Value="Forms"/>
    82135      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
    83136    </SearchPaths>
     
    87140      </SyntaxOptions>
    88141    </Parsing>
     142    <CodeGeneration>
     143      <Checks>
     144        <IOChecks Value="True"/>
     145        <RangeChecks Value="True"/>
     146        <OverflowChecks Value="True"/>
     147        <StackChecks Value="True"/>
     148      </Checks>
     149    </CodeGeneration>
    89150    <Linking>
     151      <Debugging>
     152        <UseHeaptrc Value="True"/>
     153        <UseExternalDbgSyms Value="True"/>
     154      </Debugging>
    90155      <Options>
    91156        <Win32>
     
    98163        <MsgFileName Value=""/>
    99164      </CompilerMessages>
     165      <CustomOptions Value="-dDEBUG"/>
    100166      <CompilerPath Value="$(CompPath)"/>
    101167    </Other>
  • trunk/Dochazka.lpr

    r4 r5  
    88  {$ENDIF}{$ENDIF}
    99  Interfaces, // this includes the LCL widgetset
    10   Forms, UFormMain, UCore, UAttendance, CoolWeb
     10  Forms, UFormMain, UCore, UAttendance, CoolWeb, Common, UFormSetting, SysUtils
    1111  { you can add units after this };
    1212
    1313{$R *.res}
    1414
     15{$IFDEF DEBUG}
     16const
     17  HeapTraceLog = 'heaptrclog.trc';
     18{$ENDIF}
     19
    1520begin
     21  {$IFDEF DEBUG}
     22  // Heap trace
     23  DeleteFile(ExtractFilePath(ParamStr(0)) + HeapTraceLog);
     24  SetHeapTraceOutput(ExtractFilePath(ParamStr(0)) + HeapTraceLog);
     25  {$ENDIF}
     26
    1627  RequireDerivedFormResource := True;
    1728  Application.Initialize;
    1829  Application.CreateForm(TCore, Core);
    19   Application.CreateForm(TForm1, Form1);
     30  Application.CreateForm(TFormMain, FormMain);
     31  Application.CreateForm(TFormSetting, FormSetting);
    2032  Application.Run;
    2133end.
  • trunk/UAttendance.pas

    r3 r5  
    3030  end;
    3131
     32  TTerminalProtocol = class
     33    Name: string;
     34  end;
     35
    3236  TTerminal = class
    3337    Id: string;
     
    3539    IPAddress: string;
    3640    Port: string;
    37     Protocol: TProtocol;
    38   end;
    39 
    40   TTerminalProtocol = class
    41     Name: string;
     41    Protocol: TTerminalProtocol;
    4242  end;
    4343
  • trunk/UCore.lfm

    r3 r5  
    11object Core: TCore
     2  OnCreate = DataModuleCreate
    23  OldCreateOrder = False
    34  Height = 323
     
    56  VerticalOffset = 197
    67  Width = 324
     8  object ApplicationInfo1: TApplicationInfo
     9    Identification = 1
     10    VersionMajor = 1
     11    VersionMinor = 0
     12    VersionBugFix = 0
     13    VersionSuffix = 'alfa'
     14    CompanyName = 'Chronosoft'
     15    AuthorsName = 'Chronos'
     16    EmailContact = 'robie@centrum.cz'
     17    AppName = 'Docházka'
     18    ReleaseDate = 41227
     19    RegistryKey = '\Software\Chronosoft\Dochazka'
     20    RegistryRoot = rrKeyCurrentUser
     21    left = 88
     22    top = 72
     23  end
     24  object Database: TSqlDatabase
     25    Connected = False
     26    Port = 3306
     27    Encoding = 'utf8'
     28    left = 203
     29    top = 71
     30  end
    731end
  • trunk/UCore.pas

    r4 r5  
    66
    77uses
    8   Classes, SysUtils, FileUtil, USqlDatabase;
     8  Registry, Classes, SysUtils, FileUtil, USqlDatabase, URegistry, UApplicationInfo;
    99
    1010type
     
    1313
    1414  TCore = class(TDataModule)
     15    ApplicationInfo1: TApplicationInfo;
     16    Database: TSqlDatabase;
     17    procedure DataModuleCreate(Sender: TObject);
    1518  private
    1619  public
    17     Database: TSQLDatabase;
     20    procedure Init;
     21    procedure Done;
    1822    procedure InitData;
     23    procedure Connect;
     24    procedure LoadFromRegistry(Context: TRegistryContext);
     25    procedure SaveToRegistry(Context: TRegistryContext);
    1926  end;
    2027
     
    2835{ TCore }
    2936
     37procedure TCore.DataModuleCreate(Sender: TObject);
     38begin
     39end;
     40
     41procedure TCore.Init;
     42begin
     43  LoadFromRegistry(RegContext(HKEY(ApplicationInfo1.RegistryRoot), ApplicationInfo1.RegistryKey));
     44  Connect;
     45end;
     46
     47procedure TCore.Done;
     48begin
     49  SaveToRegistry(RegContext(HKEY(ApplicationInfo1.RegistryRoot), ApplicationInfo1.RegistryKey));
     50end;
     51
    3052procedure TCore.InitData;
     53var
     54  DbRows: TDbRows;
    3155begin
    3256  try
     
    3862end;
    3963
     64procedure TCore.Connect;
     65begin
     66  Database.Connect;
     67end;
     68
     69procedure TCore.LoadFromRegistry(Context: TRegistryContext);
     70begin
     71  with TRegistryEx.Create do
     72  try
     73    RootKey := Context.RootKey;
     74    OpenKey(Context.Key, True);
     75    Database.HostName := ReadStringWithDefault('HostName', 'localhost');
     76    Database.Database := ReadStringWithDefault('Schema', 'dochazka');
     77    Database.UserName := ReadStringWithDefault('UserName', 'dochazka');
     78    Database.Password := ReadStringWithDefault('Password', '');
     79  finally
     80    Free;
     81  end;
     82end;
     83
     84procedure TCore.SaveToRegistry(Context: TRegistryContext);
     85begin
     86  with TRegistryEx.Create do
     87  try
     88    RootKey := Context.RootKey;
     89    OpenKey(Context.Key, True);
     90    WriteString('HostName', Database.HostName);
     91    WriteString('Schema', Database.Database);
     92    WriteString('UserName', Database.UserName);
     93    WriteString('Password', Database.Password);
     94  finally
     95    Free;
     96  end;
     97end;
     98
    4099end.
    41100
Note: See TracChangeset for help on using the changeset viewer.