• R/O
  • SSH
  • HTTPS

dzmdbviewer: Commit


Commit MetaInfo

Révision16 (tree)
l'heure2018-08-12 20:05:47
Auteurdummzeuch

Message de Log

tag for 1.0.3 release

Change Summary

Modification

--- tags/1.0.3/src/dzmdbviewer_version.ini (nonexistent)
+++ tags/1.0.3/src/dzmdbviewer_version.ini (revision 16)
@@ -0,0 +1,21 @@
1+[Version Info]
2+AutoIncBuild=0
3+Build=221
4+MajorVer=1
5+MinorVer=0
6+Release=3
7+Revision=0
8+
9+[Version Info Keys]
10+FileVersion=1.0.3.221
11+ProductVersion={today}
12+FileDescription=dzMdbViewer
13+OriginalFilename=dzMdbViewer.exe
14+Comments=
15+CompanyName=dummzeuch.de
16+InternalName=dzMdbViewer
17+LegalCopyright=Thomas Mueller, 2014-{ThisYear}
18+LegalTrademarks=T. Mueller
19+ProductName=dzMdbViewer
20+BuildDateTime={today}
21+
--- tags/1.0.3/src/w_AccessDbView.pas (nonexistent)
+++ tags/1.0.3/src/w_AccessDbView.pas (revision 16)
@@ -0,0 +1,361 @@
1+unit w_AccessDbView;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ Menus,
16+ StdCtrls,
17+ ComCtrls,
18+ DB,
19+ ADODB,
20+ u_dzTranslator,
21+ wf_MdbFile;
22+
23+const
24+ WM_HandleParameters = 4711;
25+
26+type
27+ Tf_AccessDbView = class(TForm)
28+ TheMainMenu: TMainMenu;
29+ mi_File: TMenuItem;
30+ mi_FileOpen: TMenuItem;
31+ mi_FileExit: TMenuItem;
32+ N1: TMenuItem;
33+ ThePageControl: TPageControl;
34+ mi_Help: TMenuItem;
35+ mi_About: TMenuItem;
36+ mi_View: TMenuItem;
37+ mi_ViewData: TMenuItem;
38+ mi_ViewFields: TMenuItem;
39+ procedure mi_FileOpenClick(Sender: TObject);
40+ procedure mi_FileExitClick(Sender: TObject);
41+ procedure mi_AboutClick(Sender: TObject);
42+ procedure ThePageControlMouseDown(Sender: TObject;
43+ Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
44+ procedure ThePageControlMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
45+ procedure ThePageControlMouseLeave(Sender: TObject);
46+ procedure ThePageControlMouseUp(Sender: TObject;
47+ Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
48+ procedure ThePageControlDrawTab(Control: TCustomTabControl; tabindex: Integer;
49+ const Rect: TRect; Active: Boolean);
50+ procedure mi_ViewDataClick(Sender: TObject);
51+ procedure mi_ViewFieldsClick(Sender: TObject);
52+ procedure mi_ViewClick(Sender: TObject);
53+ private
54+ FDropHandler: TObject;
55+ FCloseButtonsRect: array of TRect;
56+ FCloseButtonMouseDownIndex: Integer;
57+ FCloseButtonShowPushed: Boolean;
58+ procedure HandleFilesDropped(_Sender: TObject; _Files: TStrings);
59+ procedure OpenMdbFile(const _fn: string);
60+ procedure UpdateTabCloseButtons;
61+ function TryGetActiveMdbFile(out _Frame: Tfr_MdbFile): Boolean;
62+ procedure WmHandleParameters(var _Msg: TMessage); message WM_HandleParameters;
63+ public
64+ constructor Create(_Owner: TComponent); override;
65+ destructor Destroy; override;
66+ end;
67+
68+var
69+ f_AccessDbView: Tf_AccessDbView;
70+
71+implementation
72+
73+{$R *.dfm}
74+
75+uses
76+ Themes,
77+ UxTheme,
78+ u_dzDialogUtils,
79+ u_dzVclUtils,
80+ u_dzVersionInfo,
81+ w_dzDialog,
82+ u_dzFileUtils,
83+ u_dzGetOpt;
84+
85+constructor Tf_AccessDbView.Create(_Owner: TComponent);
86+begin
87+ inherited;
88+
89+ TranslateComponent(Self);
90+ TForm_AppendVersion(Self);
91+
92+ ThePageControl.TabWidth := 150;
93+ ThePageControl.OwnerDraw := True;
94+
95+ FDropHandler := TWinControl_ActivateDropFiles(Self, HandleFilesDropped);
96+
97+ if ParamCount > 0 then
98+ PostMessage(Self.Handle, WM_HandleParameters, 0, 0);
99+end;
100+
101+destructor Tf_AccessDbView.Destroy;
102+begin
103+ FreeAndNil(FDropHandler);
104+ inherited;
105+end;
106+
107+procedure Tf_AccessDbView.HandleFilesDropped(_Sender: TObject; _Files: TStrings);
108+var
109+ i: Integer;
110+ fn: string;
111+ Ext: string;
112+begin
113+ for i := 0 to _Files.Count - 1 do begin
114+ fn := _Files[i];
115+ Ext := TFileSystem.ExtractFileExtLast(fn);
116+ if SameText(Ext, '.mdb') or SameText(Ext, '.accdb') then
117+ OpenMdbFile(fn)
118+ else
119+ raise Exception.Create(_('You can only drop MS Access .MDB or .ACCDB files on this form.'));
120+ end;
121+end;
122+
123+procedure Tf_AccessDbView.mi_AboutClick(Sender: TObject);
124+var
125+ VerInfo: IFileInfo;
126+begin
127+ VerInfo := TApplicationInfo.Create;
128+ VerInfo.AllowExceptions := False;
129+ Tf_dzDialog.ShowMessage(mtInformation, Format('%s %s %s'#13#10'© %s',
130+ [VerInfo.FileDescription, VerInfo.FileVersionStr, VerInfo.ProductVersion, VerInfo.LegalCopyRight]),
131+ [dbeOK], Self);
132+end;
133+
134+procedure Tf_AccessDbView.mi_FileExitClick(Sender: TObject);
135+begin
136+ Close;
137+end;
138+
139+procedure Tf_AccessDbView.mi_FileOpenClick(Sender: TObject);
140+var
141+ fn: string;
142+begin
143+ if TOpenDialog_Execute(Self, _('Open Access Database'), FileFilterBuilder.AddMdb.Filter, fn) then
144+ OpenMdbFile(fn);
145+end;
146+
147+function Tf_AccessDbView.TryGetActiveMdbFile(out _Frame: Tfr_MdbFile): Boolean;
148+var
149+ ts: TTabSheet;
150+ i: Integer;
151+begin
152+ Result := False;
153+ ts := ThePageControl.ActivePage;
154+ if not Assigned(ts) then
155+ Exit;
156+ for i := 0 to ts.ControlCount - 1 do
157+ if ts.Controls[i] is Tfr_MdbFile then begin
158+ _Frame := ts.Controls[i] as Tfr_MdbFile;
159+ Result := True;
160+ end;
161+end;
162+
163+procedure Tf_AccessDbView.mi_ViewClick(Sender: TObject);
164+var
165+ Frame: Tfr_MdbFile;
166+ CurrentView: Tfr_MdbFile.TMdbView;
167+begin
168+ if TryGetActiveMdbFile(Frame) then
169+ CurrentView := Frame.CurrentView
170+ else
171+ CurrentView := mvData;
172+ mi_ViewData.Checked := (CurrentView = mvData);
173+ mi_ViewFields.Checked := (CurrentView = mvFields);
174+end;
175+
176+procedure Tf_AccessDbView.mi_ViewDataClick(Sender: TObject);
177+var
178+ Frame: Tfr_MdbFile;
179+begin
180+ if not TryGetActiveMdbFile(Frame) then
181+ Exit;
182+ Frame.CurrentView := mvData;
183+end;
184+
185+procedure Tf_AccessDbView.mi_ViewFieldsClick(Sender: TObject);
186+var
187+ Frame: Tfr_MdbFile;
188+begin
189+ if not TryGetActiveMdbFile(Frame) then
190+ Exit;
191+ Frame.CurrentView := mvFields;
192+end;
193+
194+procedure Tf_AccessDbView.OpenMdbFile(const _fn: string);
195+var
196+ fr: Tfr_MdbFile;
197+ ts: TTabSheet;
198+begin
199+ fr := Tfr_MdbFile.Create(Self);
200+ try
201+ fr.Name := '';
202+ fr.OpenMdb(_fn);
203+ except
204+ FreeAndNil(fr);
205+ raise;
206+ end;
207+ ts := TPageControl_AddTabSheet(ThePageControl, ExtractFileName(_fn));
208+ ts.Width := 150;
209+ fr.Parent := ts;
210+ fr.Align := alClient;
211+
212+ UpdateTabCloseButtons;
213+end;
214+
215+procedure Tf_AccessDbView.ThePageControlDrawTab(Control: TCustomTabControl; tabindex: Integer;
216+ const Rect: TRect; Active: Boolean);
217+var
218+ CloseBtnSize: Integer;
219+ PageControl: TPageControl;
220+ TabCaption: TPoint;
221+ CloseBtnRect: TRect;
222+ CloseBtnDrawState: Cardinal;
223+ CloseBtnDrawDetails: TThemedElementDetails;
224+begin
225+ PageControl := Control as TPageControl;
226+
227+ if (tabindex >= 0) and (tabindex < Length(FCloseButtonsRect)) then begin
228+ CloseBtnSize := 14;
229+ TabCaption.Y := Rect.Top + 3;
230+
231+ if Active then begin
232+ CloseBtnRect.Top := Rect.Top + 4;
233+ CloseBtnRect.Right := Rect.Right - 5;
234+ TabCaption.X := Rect.Left + 6;
235+ end else begin
236+ CloseBtnRect.Top := Rect.Top + 3;
237+ CloseBtnRect.Right := Rect.Right - 5;
238+ TabCaption.X := Rect.Left + 3;
239+ end;
240+
241+ CloseBtnRect.Bottom := CloseBtnRect.Top + CloseBtnSize;
242+ CloseBtnRect.Left := CloseBtnRect.Right - CloseBtnSize;
243+ FCloseButtonsRect[tabindex] := CloseBtnRect;
244+
245+ PageControl.Canvas.FillRect(Rect);
246+ PageControl.Canvas.TextOut(TabCaption.X, TabCaption.Y, PageControl.Pages[tabindex].Caption);
247+
248+ if not UseThemes then begin
249+ if (FCloseButtonMouseDownIndex = tabindex) and FCloseButtonShowPushed then
250+ CloseBtnDrawState := DFCS_CAPTIONCLOSE + DFCS_PUSHED
251+ else
252+ CloseBtnDrawState := DFCS_CAPTIONCLOSE;
253+
254+ Windows.DrawFrameControl(PageControl.Canvas.Handle,
255+ FCloseButtonsRect[tabindex], DFC_CAPTION, CloseBtnDrawState);
256+ end else begin
257+ Dec(FCloseButtonsRect[tabindex].Left);
258+
259+ if (FCloseButtonMouseDownIndex = tabindex) and FCloseButtonShowPushed then
260+ CloseBtnDrawDetails := StyleServices.GetElementDetails(twCloseButtonPushed)
261+ else
262+ CloseBtnDrawDetails := StyleServices.GetElementDetails(twCloseButtonNormal);
263+
264+ StyleServices.DrawElement(PageControl.Canvas.Handle, CloseBtnDrawDetails,
265+ FCloseButtonsRect[tabindex]);
266+ end;
267+ end;
268+end;
269+
270+procedure Tf_AccessDbView.ThePageControlMouseDown(Sender: TObject;
271+ Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
272+var
273+ i: Integer;
274+begin
275+ if Button = mbLeft then begin
276+ for i := 0 to Length(FCloseButtonsRect) - 1 do begin
277+ if PtInRect(FCloseButtonsRect[i], Point(X, Y)) then begin
278+ FCloseButtonMouseDownIndex := i;
279+ FCloseButtonShowPushed := True;
280+ ThePageControl.Repaint;
281+ end;
282+ end;
283+ end;
284+end;
285+
286+procedure Tf_AccessDbView.ThePageControlMouseLeave(Sender: TObject);
287+begin
288+ FCloseButtonShowPushed := False;
289+ ThePageControl.Repaint;
290+end;
291+
292+procedure Tf_AccessDbView.ThePageControlMouseMove(Sender: TObject;
293+ Shift: TShiftState; X, Y: Integer);
294+var
295+ Inside: Boolean;
296+begin
297+ if (ssLeft in Shift) and (FCloseButtonMouseDownIndex >= 0) then begin
298+ Inside := PtInRect(FCloseButtonsRect[FCloseButtonMouseDownIndex], Point(X, Y));
299+
300+ if FCloseButtonShowPushed <> Inside then begin
301+ FCloseButtonShowPushed := Inside;
302+ ThePageControl.Repaint;
303+ end;
304+ end;
305+end;
306+
307+procedure Tf_AccessDbView.ThePageControlMouseUp(Sender: TObject;
308+ Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
309+var
310+ tabindex: Integer;
311+begin
312+ if Button = mbMiddle then begin
313+ tabindex := ThePageControl.IndexOfTabAt(X, Y);
314+ if tabindex >= 0 then begin
315+ ThePageControl.Pages[tabindex].Free;
316+ UpdateTabCloseButtons;
317+ end
318+ end else if Button = mbLeft then begin
319+ if FCloseButtonMouseDownIndex >= 0 then begin
320+ if PtInRect(FCloseButtonsRect[FCloseButtonMouseDownIndex], Point(X, Y)) then begin
321+ ThePageControl.Pages[FCloseButtonMouseDownIndex].Free;
322+ FCloseButtonMouseDownIndex := -1;
323+ UpdateTabCloseButtons;
324+ ThePageControl.Repaint;
325+ end;
326+ end;
327+ end;
328+end;
329+
330+procedure Tf_AccessDbView.UpdateTabCloseButtons;
331+begin
332+ SetLength(FCloseButtonsRect, ThePageControl.PageCount);
333+end;
334+
335+procedure Tf_AccessDbView.WmHandleParameters(var _Msg: TMessage);
336+var
337+ Opt: TGetOpt;
338+ sl: TStringList;
339+ i: Integer;
340+begin
341+ sl := TStringList.Create;
342+ Opt := TGetOpt.Create;
343+ try
344+ Opt.RegisterParam('accessdb', _('MS Access database'), 1, -1);
345+ Opt.Parse;
346+
347+ if Opt.ParamPassed('accessdb', sl) > 0 then begin
348+ for i := 0 to sl.Count - 1 do begin
349+ Self.OpenMdbFile(sl[i]);
350+ end;
351+ end;
352+ finally
353+ FreeAndNil(sl);
354+ FreeAndNil(Opt);
355+ end;
356+end;
357+
358+initialization
359+ ReportMemoryLeaksOnShutdown := True;
360+end.
361+
--- tags/1.0.3/src/dzMdbViewer.dpr (nonexistent)
+++ tags/1.0.3/src/dzMdbViewer.dpr (revision 16)
@@ -0,0 +1,35 @@
1+program dzMdbViewer;
2+
3+uses
4+ Vcl.Forms,
5+ w_AccessDbView in 'w_AccessDbView.pas' {f_AccessDbView},
6+ u_dzVclUtils in '..\libs\dzlib\src\u_dzVclUtils.pas',
7+ u_dzDialogUtils in '..\libs\dzlib\src\u_dzDialogUtils.pas',
8+ u_dzFileTypes in '..\libs\dzlib\src\u_dzFileTypes.pas',
9+ wf_MdbFile in 'wf_MdbFile.pas' {fr_MdbFile: TFrame},
10+ wf_MdbDisplay in 'wf_MdbDisplay.pas' {fr_MdbDisplay: TFrame},
11+ u_dzSortProvider in '..\libs\dzlib\src\u_dzSortProvider.pas',
12+ u_dzQuicksort in '..\libs\dzlib\src\u_dzQuicksort.pas',
13+ u_dzVersionInfo in '..\libs\dzlib\src\u_dzVersionInfo.pas',
14+ w_dzDialog in '..\libs\dzlib\forms\w_dzDialog.pas' {f_dzDialog},
15+ wf_MdbData in 'wf_MdbData.pas' {fr_MdbData: TFrame},
16+ wf_MdbFields in 'wf_MdbFields.pas' {fr_MdbFields: TFrame},
17+ u_dzDbCreatorReadAccessDb in '..\libs\dzlib\dbcreator\u_dzDbCreatorReadAccessDb.pas',
18+ u_dzDbCreatorDescription in '..\libs\dzlib\dbcreator\u_dzDbCreatorDescription.pas',
19+ u_dzDbCreatorCreateAccess in '..\libs\dzlib\dbcreator\u_dzDbCreatorCreateAccess.pas',
20+ u_dzDbCreatorBase in '..\libs\dzlib\dbcreator\u_dzDbCreatorBase.pas',
21+ adodb_tlb in '..\libs\dzlib\adodb\adodb_tlb.pas',
22+ adox_tlb in '..\libs\dzlib\adodb\adox_tlb.pas',
23+ u_dzVariableDescList in '..\libs\dzlib\dbcreator\u_dzVariableDescList.pas',
24+ DAO_TLB in '..\libs\dzlib\adodb\DAO_TLB.pas';
25+
26+{$R *_version.res}
27+{$R *_icon.res}
28+{$R *_manifest.res}
29+
30+begin
31+ Application.Initialize;
32+ Application.MainFormOnTaskbar := True;
33+ Application.CreateForm(Tf_AccessDbView, f_AccessDbView);
34+ Application.Run;
35+end.
--- tags/1.0.3/src/dzMdbViewer.dproj (nonexistent)
+++ tags/1.0.3/src/dzMdbViewer.dproj (revision 16)
@@ -0,0 +1,243 @@
1+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+ <PropertyGroup>
3+ <ProjectGuid>{084DB767-5A1C-497D-8B7B-15F78E8245AB}</ProjectGuid>
4+ <ProjectVersion>13.4</ProjectVersion>
5+ <FrameworkType>VCL</FrameworkType>
6+ <MainSource>dzMdbViewer.dpr</MainSource>
7+ <Base>True</Base>
8+ <Config Condition="'$(Config)'==''">Debug</Config>
9+ <Platform Condition="'$(Platform)'==''">Win32</Platform>
10+ <TargetedPlatforms>1</TargetedPlatforms>
11+ <AppType>Application</AppType>
12+ </PropertyGroup>
13+ <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
14+ <Base>true</Base>
15+ </PropertyGroup>
16+ <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
17+ <Base_Win64>true</Base_Win64>
18+ <CfgParent>Base</CfgParent>
19+ <Base>true</Base>
20+ </PropertyGroup>
21+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
22+ <Base_Win32>true</Base_Win32>
23+ <CfgParent>Base</CfgParent>
24+ <Base>true</Base>
25+ </PropertyGroup>
26+ <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
27+ <Cfg_1>true</Cfg_1>
28+ <CfgParent>Base</CfgParent>
29+ <Base>true</Base>
30+ </PropertyGroup>
31+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
32+ <Cfg_1_Win32>true</Cfg_1_Win32>
33+ <CfgParent>Cfg_1</CfgParent>
34+ <Cfg_1>true</Cfg_1>
35+ <Base>true</Base>
36+ </PropertyGroup>
37+ <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''">
38+ <Cfg_2>true</Cfg_2>
39+ <CfgParent>Base</CfgParent>
40+ <Base>true</Base>
41+ </PropertyGroup>
42+ <PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win32)'!=''">
43+ <Cfg_2_Win32>true</Cfg_2_Win32>
44+ <CfgParent>Cfg_2</CfgParent>
45+ <Cfg_2>true</Cfg_2>
46+ <Base>true</Base>
47+ </PropertyGroup>
48+ <PropertyGroup Condition="'$(Base)'!=''">
49+ <DCC_Define>no_jvcl;$(DCC_Define)</DCC_Define>
50+ <PreBuildEvent><![CDATA[call ..\buildtools\prebuild.cmd $(PROJECTPATH)
51+$(PreBuildEvent)]]></PreBuildEvent>
52+ <PostBuildEvent><![CDATA[call ..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)
53+$(PostBuildEvent)]]></PostBuildEvent>
54+ <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
55+ <Manifest_File>None</Manifest_File>
56+ <VerInfo_Locale>2057</VerInfo_Locale>
57+ <DCC_UsePackage>IPIndyImpl;dbexpress;bindcompfmx;CustomIPTransport;dsnap;rtl;dbrtl;IndyCore;IndySystem;bindcomp;inetdb;DbxClientDriver;DBXInterBaseDriver;inet;xmlrtl;IndyProtocols;inetdbxpress;DbxCommonDriver;DBXMySQLDriver;dbxcds;bindengine;soaprtl;$(DCC_UsePackage)</DCC_UsePackage>
58+ <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
59+ <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
60+ <DCC_DcuOutput>..\dcus\$(Platform)\$(Config)</DCC_DcuOutput>
61+ <DCC_ExeOutput>..</DCC_ExeOutput>
62+ <DCC_E>false</DCC_E>
63+ <DCC_N>false</DCC_N>
64+ <DCC_S>false</DCC_S>
65+ <DCC_F>false</DCC_F>
66+ <DCC_K>false</DCC_K>
67+ </PropertyGroup>
68+ <PropertyGroup Condition="'$(Base_Win64)'!=''">
69+ <DCC_UsePackage>bindcompvcl;vclie;vcltouch;websnap;VclSmp;vcl;dsnapcon;vclx;vclimg;webdsnap;vclactnband;vcldb;vcldsnap;$(DCC_UsePackage)</DCC_UsePackage>
70+ </PropertyGroup>
71+ <PropertyGroup Condition="'$(Base_Win32)'!=''">
72+ <DCC_SYMBOL_PLATFORM>false</DCC_SYMBOL_PLATFORM>
73+ <DCC_UNIT_PLATFORM>false</DCC_UNIT_PLATFORM>
74+ <DCC_UnitSearchPath>..\libs\dzlib\src;..\libs\jcl\source\common;..\libs\jcl\source\vcl;..\libs\jcl\source\windows;..\libs\jcl\source\include\jedi;..\libs\dzlib\templates;..\libs\jcl\source\include;..\libs\dxgettext\lib;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
75+ <DCC_UsePackage>bindcompvcl;vclie;vcltouch;websnap;vcldbx;VclSmp;vcl;CloudService;vclib;dsnapcon;inetdbbde;vclx;svnui;ibxpress;svn;vclimg;webdsnap;bdertl;vclactnband;adortl;vcldb;vcldsnap;$(DCC_UsePackage)</DCC_UsePackage>
76+ <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
77+ <VerInfo_Locale>1033</VerInfo_Locale>
78+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
79+ </PropertyGroup>
80+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
81+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
82+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
83+ <DCC_Optimize>false</DCC_Optimize>
84+ <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
85+ <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
86+ <DCC_RemoteDebug>true</DCC_RemoteDebug>
87+ </PropertyGroup>
88+ <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
89+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
90+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
91+ <VerInfo_Locale>1033</VerInfo_Locale>
92+ <DCC_RemoteDebug>false</DCC_RemoteDebug>
93+ </PropertyGroup>
94+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
95+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
96+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
97+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
98+ <DCC_DebugInformation>false</DCC_DebugInformation>
99+ </PropertyGroup>
100+ <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
101+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
102+ <VerInfo_Locale>1033</VerInfo_Locale>
103+ </PropertyGroup>
104+ <ItemGroup>
105+ <DelphiCompile Include="$(MainSource)">
106+ <MainSource>MainSource</MainSource>
107+ </DelphiCompile>
108+ <DCCReference Include="w_AccessDbView.pas">
109+ <Form>f_AccessDbView</Form>
110+ <FormType>dfm</FormType>
111+ </DCCReference>
112+ <DCCReference Include="..\libs\dzlib\src\u_dzVclUtils.pas"/>
113+ <DCCReference Include="..\libs\dzlib\src\u_dzDialogUtils.pas"/>
114+ <DCCReference Include="..\libs\dzlib\src\u_dzFileTypes.pas"/>
115+ <DCCReference Include="wf_MdbFile.pas">
116+ <Form>fr_MdbFile</Form>
117+ <FormType>dfm</FormType>
118+ <DesignClass>TFrame</DesignClass>
119+ </DCCReference>
120+ <DCCReference Include="wf_MdbDisplay.pas">
121+ <Form>fr_MdbDisplay</Form>
122+ <FormType>dfm</FormType>
123+ <DesignClass>TFrame</DesignClass>
124+ </DCCReference>
125+ <DCCReference Include="..\libs\dzlib\src\u_dzSortProvider.pas"/>
126+ <DCCReference Include="..\libs\dzlib\src\u_dzQuicksort.pas"/>
127+ <DCCReference Include="..\libs\dzlib\src\u_dzVersionInfo.pas"/>
128+ <DCCReference Include="..\libs\dzlib\forms\w_dzDialog.pas">
129+ <Form>f_dzDialog</Form>
130+ </DCCReference>
131+ <DCCReference Include="wf_MdbData.pas">
132+ <Form>fr_MdbData</Form>
133+ <FormType>dfm</FormType>
134+ <DesignClass>TFrame</DesignClass>
135+ </DCCReference>
136+ <DCCReference Include="wf_MdbFields.pas">
137+ <Form>fr_MdbFields</Form>
138+ <FormType>dfm</FormType>
139+ <DesignClass>TFrame</DesignClass>
140+ </DCCReference>
141+ <DCCReference Include="..\libs\dzlib\dbcreator\u_dzDbCreatorReadAccessDb.pas"/>
142+ <DCCReference Include="..\libs\dzlib\dbcreator\u_dzDbCreatorDescription.pas"/>
143+ <DCCReference Include="..\libs\dzlib\dbcreator\u_dzDbCreatorCreateAccess.pas"/>
144+ <DCCReference Include="..\libs\dzlib\dbcreator\u_dzDbCreatorBase.pas"/>
145+ <DCCReference Include="..\libs\dzlib\adodb\adodb_tlb.pas"/>
146+ <DCCReference Include="..\libs\dzlib\adodb\adox_tlb.pas"/>
147+ <DCCReference Include="..\libs\dzlib\dbcreator\u_dzVariableDescList.pas"/>
148+ <DCCReference Include="..\libs\dzlib\adodb\DAO_TLB.pas"/>
149+ <BuildConfiguration Include="Release">
150+ <Key>Cfg_2</Key>
151+ <CfgParent>Base</CfgParent>
152+ </BuildConfiguration>
153+ <BuildConfiguration Include="Base">
154+ <Key>Base</Key>
155+ </BuildConfiguration>
156+ <BuildConfiguration Include="Debug">
157+ <Key>Cfg_1</Key>
158+ <CfgParent>Base</CfgParent>
159+ </BuildConfiguration>
160+ </ItemGroup>
161+ <ProjectExtensions>
162+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
163+ <Borland.ProjectType/>
164+ <BorlandProject>
165+ <Delphi.Personality>
166+ <VersionInfo>
167+ <VersionInfo Name="IncludeVerInfo">False</VersionInfo>
168+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
169+ <VersionInfo Name="MajorVer">1</VersionInfo>
170+ <VersionInfo Name="MinorVer">0</VersionInfo>
171+ <VersionInfo Name="Release">0</VersionInfo>
172+ <VersionInfo Name="Build">0</VersionInfo>
173+ <VersionInfo Name="Debug">False</VersionInfo>
174+ <VersionInfo Name="PreRelease">False</VersionInfo>
175+ <VersionInfo Name="Special">False</VersionInfo>
176+ <VersionInfo Name="Private">False</VersionInfo>
177+ <VersionInfo Name="DLL">False</VersionInfo>
178+ <VersionInfo Name="Locale">2057</VersionInfo>
179+ <VersionInfo Name="CodePage">1252</VersionInfo>
180+ </VersionInfo>
181+ <VersionInfoKeys>
182+ <VersionInfoKeys Name="CompanyName"/>
183+ <VersionInfoKeys Name="FileDescription"/>
184+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
185+ <VersionInfoKeys Name="InternalName"/>
186+ <VersionInfoKeys Name="LegalCopyright"/>
187+ <VersionInfoKeys Name="LegalTrademarks"/>
188+ <VersionInfoKeys Name="OriginalFilename"/>
189+ <VersionInfoKeys Name="ProductName"/>
190+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
191+ <VersionInfoKeys Name="Comments"/>
192+ </VersionInfoKeys>
193+ <Source>
194+ <Source Name="MainSource">dzMdbViewer.dpr</Source>
195+ </Source>
196+ <Excluded_Packages>
197+ <Excluded_Packages Name="$(BDSBIN)\dcloffice2k160.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
198+ <Excluded_Packages Name="$(BDSBIN)\dclofficexp160.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
199+ </Excluded_Packages>
200+ </Delphi.Personality>
201+ <Deployment/>
202+ <Platforms>
203+ <Platform value="Win64">False</Platform>
204+ <Platform value="Win32">True</Platform>
205+ </Platforms>
206+ </BorlandProject>
207+ <ProjectFileVersion>12</ProjectFileVersion>
208+ </ProjectExtensions>
209+ <Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
210+ <Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
211+ <PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win64'">
212+ <PreBuildEvent>call ..\buildtools\prebuild.cmd $(PROJECTPATH)</PreBuildEvent>
213+ <PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
214+ <PreLinkEvent/>
215+ <PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
216+ <PostBuildEvent>call ..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)</PostBuildEvent>
217+ <PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
218+ </PropertyGroup>
219+ <PropertyGroup Condition="'$(Config)'=='Debug' And '$(Platform)'=='Win32'">
220+ <PreBuildEvent>call ..\buildtools\prebuild.cmd $(PROJECTPATH)</PreBuildEvent>
221+ <PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
222+ <PreLinkEvent/>
223+ <PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
224+ <PostBuildEvent>call ..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)</PostBuildEvent>
225+ <PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
226+ </PropertyGroup>
227+ <PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win64'">
228+ <PreBuildEvent>call ..\buildtools\prebuild.cmd $(PROJECTPATH)</PreBuildEvent>
229+ <PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
230+ <PreLinkEvent/>
231+ <PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
232+ <PostBuildEvent>call ..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)</PostBuildEvent>
233+ <PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
234+ </PropertyGroup>
235+ <PropertyGroup Condition="'$(Config)'=='Release' And '$(Platform)'=='Win32'">
236+ <PreBuildEvent>call ..\buildtools\prebuild.cmd $(PROJECTPATH)</PreBuildEvent>
237+ <PreBuildEventIgnoreExitCode>False</PreBuildEventIgnoreExitCode>
238+ <PreLinkEvent/>
239+ <PreLinkEventIgnoreExitCode>False</PreLinkEventIgnoreExitCode>
240+ <PostBuildEvent>call ..\buildtools\postbuild.cmd $(OUTPUTDIR)$(OUTPUTNAME)</PostBuildEvent>
241+ <PostBuildEventIgnoreExitCode>False</PostBuildEventIgnoreExitCode>
242+ </PropertyGroup>
243+ </Project>
--- tags/1.0.3/src/dzmdbviewer.manifest.in (nonexistent)
+++ tags/1.0.3/src/dzmdbviewer.manifest.in (revision 16)
@@ -0,0 +1,50 @@
1+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+<!--
3+ This manifest tells Windows Vista (and Windows 7/8) not to virtualize any file
4+ or registry access. Also, it disables themes support.
5+ -->
6+ <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
7+ <assemblyIdentity version="1.0.0.0"
8+ processorArchitecture="*"
9+ name="template from dzlib build tools"
10+ type="win32"/>
11+<!-- We do not want themes support
12+ <dependency>
13+ <dependentassembly>
14+ <assemblyidentity type="win32"
15+ name="Microsoft.Windows.Common-Controls"
16+ version="6.0.0.0"
17+ publickeytoken="6595b64144ccf1df"
18+ language="*" processorarchitecture="*">
19+ </assemblyidentity>
20+ </dependentassembly>
21+ <dependency>
22+ -->
23+ <description>This application was built using buildtools from dzlib</description>
24+ <!-- COMPATIBILITY SECTION SPECIFIES IF APP IS COMPLIANT
25+ DISABLES PCA IF SPECIFIED -->
26+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
27+ <application>
28+ <!-- We support Windows Vista -->
29+ <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
30+ <!-- We support Windows 7 -->
31+ <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
32+ <!-- We support Windows 8 -->
33+ <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
34+ <!-- We support Windows 8.1 -->
35+ <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
36+ </application>
37+ </compatibility>
38+
39+ <!-- TRUSTINFO SECTION SPECIFIES REQUESTED PERMISSIONS AND
40+ UIPI DISABLEMENT (SPECIAL CONDITIONS APPLY TO UIPI DISABLEMENT)-->
41+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
42+ <security>
43+ <requestedPrivileges>
44+ <requestedExecutionLevel
45+ level="asInvoker"
46+ uiAccess="false"/>
47+ </requestedPrivileges>
48+ </security>
49+ </trustInfo>
50+</assembly>
\ No newline at end of file
--- tags/1.0.3/src/wf_MdbData.pas (nonexistent)
+++ tags/1.0.3/src/wf_MdbData.pas (revision 16)
@@ -0,0 +1,58 @@
1+unit wf_MdbData;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ DB,
16+ Grids,
17+ DBGrids,
18+ ADODB,
19+ wf_MdbDisplay;
20+
21+type
22+ Tfr_MdbData = class(Tfr_MdbDisplay)
23+ TheDbGrid: TDBGrid;
24+ ds_Tab: TDataSource;
25+ adt_Tab: TADOTable;
26+ private
27+ FConnection: TADOConnection;
28+ public
29+ procedure Init(_Connection: TADOConnection; const _Filename: string); override;
30+ procedure SetTable(const _Tablename: string); override;
31+ end;
32+
33+implementation
34+
35+{$R *.dfm}
36+
37+uses
38+ u_dzVclUtils;
39+
40+{ Tfr_MdbData }
41+
42+procedure Tfr_MdbData.Init(_Connection: TADOConnection; const _Filename: string);
43+begin
44+ inherited;
45+ FConnection := _Connection;
46+ adt_Tab.Connection := FConnection;
47+end;
48+
49+procedure Tfr_MdbData.SetTable(const _Tablename: string);
50+begin
51+ adt_Tab.Close;
52+ adt_Tab.TableName := _Tablename;
53+ adt_Tab.Open;
54+ TDbGrid_Resize(TheDbGrid, [roReduceMinWidth]);
55+end;
56+
57+end.
58+
--- tags/1.0.3/src/wf_MdbDisplay.pas (nonexistent)
+++ tags/1.0.3/src/wf_MdbDisplay.pas (revision 16)
@@ -0,0 +1,42 @@
1+unit wf_MdbDisplay;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ ADODB;
16+
17+type
18+ Tfr_MdbDisplay = class(TFrame)
19+ private
20+ public
21+ procedure Init(_Connection: TADOConnection; const _Filename: string); virtual;
22+ procedure SetTable(const _Tablename: string); virtual;
23+ end;
24+
25+implementation
26+
27+{$R *.dfm}
28+
29+{ Tfr_MdbDisplay }
30+
31+procedure Tfr_MdbDisplay.Init(_Connection: TADOConnection; const _Filename: string);
32+begin
33+ // do nothing
34+end;
35+
36+procedure Tfr_MdbDisplay.SetTable(const _Tablename: string);
37+begin
38+ // do nothing
39+end;
40+
41+end.
42+
--- tags/1.0.3/src/wf_MdbFields.pas (nonexistent)
+++ tags/1.0.3/src/wf_MdbFields.pas (revision 16)
@@ -0,0 +1,84 @@
1+unit wf_MdbFields;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ ADODB,
16+ ComCtrls,
17+ wf_MdbDisplay,
18+ u_dzDbCreatorDescription;
19+
20+type
21+ Tfr_MdbFields = class(Tfr_MdbDisplay)
22+ lv_FieldDefs: TListView;
23+ private
24+ FDescription: IdzDbDescription;
25+ public
26+ destructor Destroy; override;
27+ procedure Init(_Connection: TADOConnection; const _Filename: string); override;
28+ procedure SetTable(const _Tablename: string); override;
29+ end;
30+
31+implementation
32+
33+uses
34+ DB,
35+ u_dzDbCreatorReadAccessDb;
36+
37+{$R *.dfm}
38+
39+{ Tfr_MdbFields }
40+
41+destructor Tfr_MdbFields.Destroy;
42+begin
43+ FDescription := nil;
44+ inherited;
45+end;
46+
47+procedure Tfr_MdbFields.Init(_Connection: TADOConnection; const _Filename: string);
48+begin
49+ inherited;
50+ FDescription := nil;
51+ FDescription := TdzDbDescription.Create(ChangeFileExt(ExtractFileName(_Filename), ''), '');
52+ TAccessDbReader.ReadAccess(_Filename, '', FDescription, False, False, False);
53+end;
54+
55+procedure Tfr_MdbFields.SetTable(const _Tablename: string);
56+var
57+ TblDesc: IdzDbTableDescription;
58+ i: Integer;
59+ Column: IdzDbColumnDescription;
60+ li: TListItem;
61+begin
62+ lv_FieldDefs.Items.BeginUpdate;
63+ try
64+ lv_FieldDefs.Items.Clear;
65+ TblDesc := FDescription.TableByName(_Tablename);
66+ if Assigned(TblDesc) then begin
67+ for i := 0 to TblDesc.ColumnCount - 1 do begin
68+ Column := TblDesc.Columns[i];
69+ li := lv_FieldDefs.Items.Add;
70+ if Column.IsPrimaryKey then
71+ li.Caption := '*';
72+ li.SubItems.Add(Column.Name);
73+ li.SubItems.Add(DataTypeToString(Column.DataType));
74+ li.SubItems.Add(IntToStr(Column.Size));
75+// li.SubItems.Add(IntToStr(Column.Precision));
76+ end;
77+ end;
78+ finally
79+ lv_FieldDefs.Items.EndUpdate;
80+ end;
81+end;
82+
83+end.
84+
--- tags/1.0.3/src/wf_MdbFile.pas (nonexistent)
+++ tags/1.0.3/src/wf_MdbFile.pas (revision 16)
@@ -0,0 +1,170 @@
1+unit wf_MdbFile;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ DB,
16+ ADODB,
17+ ComCtrls,
18+ ExtCtrls,
19+ wf_MdbDisplay;
20+
21+type
22+ TListView = class(ComCtrls.TListView)
23+ protected
24+ function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
25+ function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
26+ end;
27+
28+type
29+ Tfr_MdbFile = class(TFrame)
30+ adc_Tab: TADOConnection;
31+ lv_Tables: TListView;
32+ TheSplitter: TSplitter;
33+ procedure lv_TablesSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
34+ public
35+ type
36+ TMdbView = (mvData, mvFields);
37+ private
38+ FData: Tfr_MdbDisplay;
39+ FFields: Tfr_MdbDisplay;
40+ function GetCurrentView: TMdbView;
41+ procedure SetCurrentView(const _Value: TMdbView);
42+ public
43+ constructor Create(_Owner: TComponent); override;
44+ destructor Destroy; override;
45+ procedure OpenMdb(const _fn: string);
46+ property CurrentView: TMdbView read GetCurrentView write SetCurrentView;
47+ end;
48+
49+implementation
50+
51+uses
52+ wf_MdbData,
53+ wf_MdbFields,
54+ u_dzFileUtils;
55+
56+{$R *.dfm}
57+
58+{ TListView }
59+
60+function TListView.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean;
61+var
62+ Item: TListItem;
63+ Idx: Integer;
64+begin
65+ Item := Selected;
66+ if Assigned(Item) then begin
67+ Idx := Item.Index + 1;
68+ if Idx < Items.Count then
69+ Selected := Items[Idx];
70+ end;
71+ Result := True;
72+end;
73+
74+function TListView.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;
75+var
76+ Item: TListItem;
77+ Idx: Integer;
78+begin
79+ Item := Selected;
80+ if Assigned(Item) then begin
81+ Idx := Item.Index - 1;
82+ if Idx >= 0 then
83+ Selected := Items[Idx];
84+ end;
85+ Result := True;
86+end;
87+
88+{ Tfr_MdbFile }
89+
90+constructor Tfr_MdbFile.Create(_Owner: TComponent);
91+begin
92+ inherited;
93+ FData := Tfr_MdbData.Create(Self);
94+ FData.Parent := Self;
95+ FData.Align := alClient;
96+
97+ FFields := Tfr_MdbFields.Create(Self);
98+ FFields.Parent := Self;
99+ FFields.Align := alClient;
100+ FFields.Visible := False;
101+end;
102+
103+destructor Tfr_MdbFile.Destroy;
104+begin
105+ if Assigned(adc_Tab) then
106+ adc_Tab.Close;
107+ inherited;
108+end;
109+
110+procedure Tfr_MdbFile.OpenMdb(const _fn: string);
111+const
112+ MdbCstr = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False';
113+ AccDbCstr = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s';
114+var
115+ Ext: string;
116+ sl: TStringList;
117+ i: Integer;
118+begin
119+ adc_Tab.Close;
120+ Ext := TFileSystem.ExtractFileExtLast(_fn);
121+ if SameText('.mdb', Ext) then
122+ adc_Tab.ConnectionString := Format(MdbCstr, [_fn])
123+ else if SameText('.accdb', Ext) then
124+ adc_Tab.ConnectionString := Format(AccDbCstr, [_fn]);
125+ adc_Tab.Open();
126+
127+ FData.Init(adc_Tab, _fn);
128+ FFields.Init(adc_Tab, _fn);
129+
130+ sl := TStringList.Create;
131+ try
132+ adc_Tab.GetTableNames(sl);
133+ lv_Tables.Items.BeginUpdate;
134+ try
135+ lv_Tables.Items.Clear;
136+ for i := 0 to sl.Count - 1 do
137+ lv_Tables.Items.Add.Caption := sl[i];
138+ finally
139+ lv_Tables.Items.EndUpdate;
140+ end;
141+ finally
142+ FreeAndNil(sl);
143+ end;
144+end;
145+
146+function Tfr_MdbFile.GetCurrentView: TMdbView;
147+begin
148+ if FData.Visible then
149+ Result := mvData
150+ else
151+ Result := mvFields;
152+end;
153+
154+procedure Tfr_MdbFile.lv_TablesSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
155+begin
156+ if not Assigned(Item) then
157+ Exit;
158+
159+ FData.SetTable(Item.Caption);
160+ FFields.SetTable(Item.Caption);
161+end;
162+
163+procedure Tfr_MdbFile.SetCurrentView(const _Value: TMdbView);
164+begin
165+ FData.Visible := (_Value = mvData);
166+ FFields.Visible := (_Value = mvFields);
167+end;
168+
169+end.
170+
--- tags/1.0.3/src/wf_Mdbbla.pas (nonexistent)
+++ tags/1.0.3/src/wf_Mdbbla.pas (revision 16)
@@ -0,0 +1,46 @@
1+unit wf_Mdbbla;
2+
3+interface
4+
5+uses
6+ Windows,
7+ Messages,
8+ SysUtils,
9+ Variants,
10+ Classes,
11+ Graphics,
12+ Controls,
13+ Forms,
14+ Dialogs,
15+ StdCtrls,
16+ DB,
17+ ADODB,
18+ Grids,
19+ DBGrids,
20+ ComCtrls;
21+
22+type
23+ Tfr_Mdbbla = class(TFrame)
24+ private
25+ public
26+ procedure SetTable(_Table: TADOTable);
27+ end;
28+
29+implementation
30+
31+{$R *.dfm}
32+
33+uses
34+ Math,
35+ u_dzVclUtils;
36+
37+{ Tfr_AccessDb }
38+
39+procedure Tfr_Mdbbla.SetTable(_Table: TADOTable);
40+begin
41+ ds_Tab.DataSet := _Table;
42+ TDbGrid_Resize(TheDbGrid, [roReduceMinWidth]);
43+end;
44+
45+end.
46+
--- tags/1.0.3/translations/de/default.po (nonexistent)
+++ tags/1.0.3/translations/de/default.po (revision 16)
@@ -0,0 +1,65 @@
1+# SOME DESCRIPTIVE TITLE.
2+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3+# This file is distributed under the same license as the PACKAGE package.
4+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5+#
6+msgid ""
7+msgstr ""
8+"Project-Id-Version: PACKAGE VERSION\n"
9+"POT-Creation-Date: 2014-03-27 22:31\n"
10+"PO-Revision-Date: 2014-03-27 22:31\n"
11+"Last-Translator: Somebody <your.email@address.com>\n"
12+"MIME-Version: 1.0\n"
13+"Content-Type: text/plain; charset=UTF-8\n"
14+"Content-Transfer-Encoding: 8bit\n"
15+"X-Generator: dxgettext 1.3.0\n"
16+"Language-Team: <>\n"
17+"X-Poedit-Language: German\n"
18+
19+#. f_AccessDbView..Caption
20+#: w_AccessDbView.dfm:4
21+msgid "dzMdbViewer"
22+msgstr "dzMdbViewer"
23+
24+# Label: ignore
25+#. f_AccessDbView..Font.Name
26+#. fr_AccessDb..TheDbGrid..TitleFont.Name
27+#: w_AccessDbView.dfm:11 wf_AccessDb.dfm:29
28+msgid "Tahoma"
29+msgstr ""
30+
31+#. f_AccessDbView..TheMainMenu..mi_File..Caption
32+#: w_AccessDbView.dfm:29
33+msgid "&File"
34+msgstr "&Datei"
35+
36+#. f_AccessDbView..TheMainMenu..mi_File..mi_FileOpen..Caption
37+#: w_AccessDbView.dfm:31
38+msgid "&Open ..."
39+msgstr "Ö&ffnen ..."
40+
41+# Label: ignore
42+#. f_AccessDbView..TheMainMenu..mi_File..N1..Caption
43+#: w_AccessDbView.dfm:35
44+msgid "-"
45+msgstr ""
46+
47+#. f_AccessDbView..TheMainMenu..mi_File..mi_FileExit..Caption
48+#: w_AccessDbView.dfm:38
49+msgid "E&xit"
50+msgstr "B&eenden"
51+
52+#. f_AccessDbView..TheMainMenu..Help1..Caption
53+#: w_AccessDbView.dfm:43
54+msgid "&Help"
55+msgstr "&Hilfe"
56+
57+#. f_AccessDbView..TheMainMenu..Help1..About1..Caption
58+#: w_AccessDbView.dfm:45
59+msgid "&About..."
60+msgstr "&Info ..."
61+
62+#: w_AccessDbView.pas:89
63+msgid "Open Access Database"
64+msgstr "Access-Datenbank öffnen"
65+
--- tags/1.0.3/translations/en/default.po (nonexistent)
+++ tags/1.0.3/translations/en/default.po (revision 16)
@@ -0,0 +1,65 @@
1+# SOME DESCRIPTIVE TITLE.
2+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3+# This file is distributed under the same license as the PACKAGE package.
4+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5+#
6+msgid ""
7+msgstr ""
8+"Project-Id-Version: PACKAGE VERSION\n"
9+"POT-Creation-Date: 2014-03-27 22:31\n"
10+"PO-Revision-Date: 2014-03-27 22:31\n"
11+"Last-Translator: Somebody <your.email@address.com>\n"
12+"MIME-Version: 1.0\n"
13+"Content-Type: text/plain; charset=UTF-8\n"
14+"Content-Transfer-Encoding: 8bit\n"
15+"X-Generator: dxgettext 1.3.0\n"
16+"Language-Team: <>\n"
17+"X-Poedit-Language: English\n"
18+
19+#. f_AccessDbView..Caption
20+#: w_AccessDbView.dfm:4
21+msgid "dzMdbViewer"
22+msgstr "dzMdbViewer"
23+
24+# Label: ignore
25+#. f_AccessDbView..Font.Name
26+#. fr_AccessDb..TheDbGrid..TitleFont.Name
27+#: w_AccessDbView.dfm:11 wf_AccessDb.dfm:29
28+msgid "Tahoma"
29+msgstr ""
30+
31+#. f_AccessDbView..TheMainMenu..mi_File..Caption
32+#: w_AccessDbView.dfm:29
33+msgid "&File"
34+msgstr "&File"
35+
36+#. f_AccessDbView..TheMainMenu..mi_File..mi_FileOpen..Caption
37+#: w_AccessDbView.dfm:31
38+msgid "&Open ..."
39+msgstr "&Open ..."
40+
41+# Label: ignore
42+#. f_AccessDbView..TheMainMenu..mi_File..N1..Caption
43+#: w_AccessDbView.dfm:35
44+msgid "-"
45+msgstr ""
46+
47+#. f_AccessDbView..TheMainMenu..mi_File..mi_FileExit..Caption
48+#: w_AccessDbView.dfm:38
49+msgid "E&xit"
50+msgstr "E&xit"
51+
52+#. f_AccessDbView..TheMainMenu..Help1..Caption
53+#: w_AccessDbView.dfm:43
54+msgid "&Help"
55+msgstr "&Help"
56+
57+#. f_AccessDbView..TheMainMenu..Help1..About1..Caption
58+#: w_AccessDbView.dfm:45
59+msgid "&About..."
60+msgstr "&About..."
61+
62+#: w_AccessDbView.pas:89
63+msgid "Open Access Database"
64+msgstr "Open Access Database"
65+
--- tags/1.0.3/translations/fr_off.txt (nonexistent)
+++ tags/1.0.3/translations/fr_off.txt (revision 16)
@@ -0,0 +1 @@
1+french is turned off
Afficher sur ancien navigateur de dépôt.