• R/O
  • SSH
  • HTTPS

brutaldelphi: Commit


Commit MetaInfo

Revision4 (tree)
Time2022-01-08 10:12:00
Authorderekwildstar

Log Message

Padronização inicial em TBRDMasterNavigator
Pasta de Demos adicionada

Change Summary

Incremental Difference

--- trunk/dmo/prj/BrutalDelphi.dpr (nonexistent)
+++ trunk/dmo/prj/BrutalDelphi.dpr (revision 4)
@@ -0,0 +1,14 @@
1+program BrutalDelphi;
2+
3+uses
4+ Vcl.Forms,
5+ UFormPrincipal in '..\src\UFormPrincipal.pas' {Form1};
6+
7+{$R *.res}
8+
9+begin
10+ Application.Initialize;
11+ Application.MainFormOnTaskbar := True;
12+ Application.CreateForm(TForm1, Form1);
13+ Application.Run;
14+end.
--- trunk/dmo/prj/BrutalDelphi.dproj (nonexistent)
+++ trunk/dmo/prj/BrutalDelphi.dproj (revision 4)
@@ -0,0 +1,975 @@
1+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+ <PropertyGroup>
3+ <ProjectGuid>{13C4C989-C962-47D5-82F2-B749109AD271}</ProjectGuid>
4+ <ProjectVersion>18.8</ProjectVersion>
5+ <FrameworkType>VCL</FrameworkType>
6+ <MainSource>BrutalDelphi.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)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
17+ <Base_Win32>true</Base_Win32>
18+ <CfgParent>Base</CfgParent>
19+ <Base>true</Base>
20+ </PropertyGroup>
21+ <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
22+ <Base_Win64>true</Base_Win64>
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_DcuOutput>..\bin\dcu</DCC_DcuOutput>
50+ <DCC_ExeOutput>..\bin</DCC_ExeOutput>
51+ <DCC_E>false</DCC_E>
52+ <DCC_N>false</DCC_N>
53+ <DCC_S>false</DCC_S>
54+ <DCC_F>false</DCC_F>
55+ <DCC_K>false</DCC_K>
56+ <DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)</DCC_Namespace>
57+ <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
58+ <UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44>
59+ <UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150>
60+ <SanitizedProjectName>BrutalDelphi</SanitizedProjectName>
61+ <VerInfo_Locale>1046</VerInfo_Locale>
62+ <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
63+ </PropertyGroup>
64+ <PropertyGroup Condition="'$(Base_Win32)'!=''">
65+ <DCC_UsePackage>DBXSqliteDriver;bindcompdbx;RESTComponents;GR32_D;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;IndyIPCommon;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;CEF4Delphi;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;FireDACIBDriver;fmx;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;vclib;rtl;Tee;DbxClientDriver;GR32_R;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;officeXPrt;FireDACCommon;IndyIPClient;bindcompvcl;BrutalDelphiR;RESTBackendComponents;KRKLib;TeeUI;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;PNGComponentsR;FireDACConnR;ADOConnR;UserControlR;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;IndyProtocols;DBXConnR;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
66+ <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
67+ <BT_BuildType>Debug</BT_BuildType>
68+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
69+ <VerInfo_Locale>1033</VerInfo_Locale>
70+ <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
71+ </PropertyGroup>
72+ <PropertyGroup Condition="'$(Base_Win64)'!=''">
73+ <DCC_UsePackage>DBXSqliteDriver;bindcompdbx;RESTComponents;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;IndyIPCommon;vclFireDAC;IndySystem;tethering;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;FireDAC;vcltouch;vcldb;bindcompfmx;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;CEF4Delphi;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;FireDACIBDriver;fmx;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;vclib;rtl;Tee;DbxClientDriver;GR32_R;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;officeXPrt;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;TeeUI;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;PNGComponentsR;FireDACConnR;ADOConnR;UserControlR;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;inetdbxpress;IndyProtocols;DBXConnR;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage)</DCC_UsePackage>
74+ </PropertyGroup>
75+ <PropertyGroup Condition="'$(Cfg_1)'!=''">
76+ <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
77+ <DCC_DebugDCUs>true</DCC_DebugDCUs>
78+ <DCC_Optimize>false</DCC_Optimize>
79+ <DCC_GenerateStackFrames>true</DCC_GenerateStackFrames>
80+ <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>
81+ <DCC_RemoteDebug>true</DCC_RemoteDebug>
82+ </PropertyGroup>
83+ <PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
84+ <DCC_RemoteDebug>false</DCC_RemoteDebug>
85+ <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
86+ <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
87+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
88+ <VerInfo_Locale>1033</VerInfo_Locale>
89+ </PropertyGroup>
90+ <PropertyGroup Condition="'$(Cfg_2)'!=''">
91+ <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
92+ <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
93+ <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
94+ <DCC_DebugInformation>0</DCC_DebugInformation>
95+ </PropertyGroup>
96+ <PropertyGroup Condition="'$(Cfg_2_Win32)'!=''">
97+ <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
98+ <AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
99+ <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
100+ <VerInfo_Locale>1033</VerInfo_Locale>
101+ </PropertyGroup>
102+ <ItemGroup>
103+ <DelphiCompile Include="$(MainSource)">
104+ <MainSource>MainSource</MainSource>
105+ </DelphiCompile>
106+ <DCCReference Include="..\src\UFormPrincipal.pas">
107+ <Form>Form1</Form>
108+ <FormType>dfm</FormType>
109+ </DCCReference>
110+ <BuildConfiguration Include="Release">
111+ <Key>Cfg_2</Key>
112+ <CfgParent>Base</CfgParent>
113+ </BuildConfiguration>
114+ <BuildConfiguration Include="Base">
115+ <Key>Base</Key>
116+ </BuildConfiguration>
117+ <BuildConfiguration Include="Debug">
118+ <Key>Cfg_1</Key>
119+ <CfgParent>Base</CfgParent>
120+ </BuildConfiguration>
121+ </ItemGroup>
122+ <ProjectExtensions>
123+ <Borland.Personality>Delphi.Personality.12</Borland.Personality>
124+ <Borland.ProjectType>Application</Borland.ProjectType>
125+ <BorlandProject>
126+ <Delphi.Personality>
127+ <Source>
128+ <Source Name="MainSource">BrutalDelphi.dpr</Source>
129+ </Source>
130+ </Delphi.Personality>
131+ <Deployment Version="3">
132+ <DeployFile LocalName="Win32\Debug\BrutalDelphi.exe" Configuration="Debug" Class="ProjectOutput">
133+ <Platform Name="Win32">
134+ <RemoteName>BrutalDelphi.exe</RemoteName>
135+ <Overwrite>true</Overwrite>
136+ </Platform>
137+ </DeployFile>
138+ <DeployClass Name="AdditionalDebugSymbols">
139+ <Platform Name="iOSSimulator">
140+ <Operation>1</Operation>
141+ </Platform>
142+ <Platform Name="OSX32">
143+ <RemoteDir>Contents\MacOS</RemoteDir>
144+ <Operation>1</Operation>
145+ </Platform>
146+ <Platform Name="Win32">
147+ <Operation>0</Operation>
148+ </Platform>
149+ </DeployClass>
150+ <DeployClass Name="AndroidClassesDexFile">
151+ <Platform Name="Android">
152+ <RemoteDir>classes</RemoteDir>
153+ <Operation>1</Operation>
154+ </Platform>
155+ <Platform Name="Android64">
156+ <RemoteDir>classes</RemoteDir>
157+ <Operation>1</Operation>
158+ </Platform>
159+ </DeployClass>
160+ <DeployClass Name="AndroidFileProvider">
161+ <Platform Name="Android">
162+ <RemoteDir>res\xml</RemoteDir>
163+ <Operation>1</Operation>
164+ </Platform>
165+ <Platform Name="Android64">
166+ <RemoteDir>res\xml</RemoteDir>
167+ <Operation>1</Operation>
168+ </Platform>
169+ </DeployClass>
170+ <DeployClass Name="AndroidGDBServer">
171+ <Platform Name="Android">
172+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
173+ <Operation>1</Operation>
174+ </Platform>
175+ </DeployClass>
176+ <DeployClass Name="AndroidLibnativeArmeabiFile">
177+ <Platform Name="Android">
178+ <RemoteDir>library\lib\armeabi</RemoteDir>
179+ <Operation>1</Operation>
180+ </Platform>
181+ <Platform Name="Android64">
182+ <RemoteDir>library\lib\armeabi</RemoteDir>
183+ <Operation>1</Operation>
184+ </Platform>
185+ </DeployClass>
186+ <DeployClass Name="AndroidLibnativeArmeabiv7aFile">
187+ <Platform Name="Android64">
188+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
189+ <Operation>1</Operation>
190+ </Platform>
191+ </DeployClass>
192+ <DeployClass Name="AndroidLibnativeMipsFile">
193+ <Platform Name="Android">
194+ <RemoteDir>library\lib\mips</RemoteDir>
195+ <Operation>1</Operation>
196+ </Platform>
197+ <Platform Name="Android64">
198+ <RemoteDir>library\lib\mips</RemoteDir>
199+ <Operation>1</Operation>
200+ </Platform>
201+ </DeployClass>
202+ <DeployClass Name="AndroidServiceOutput">
203+ <Platform Name="Android">
204+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
205+ <Operation>1</Operation>
206+ </Platform>
207+ <Platform Name="Android64">
208+ <RemoteDir>library\lib\arm64-v8a</RemoteDir>
209+ <Operation>1</Operation>
210+ </Platform>
211+ </DeployClass>
212+ <DeployClass Name="AndroidServiceOutput_Android32">
213+ <Platform Name="Android64">
214+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
215+ <Operation>1</Operation>
216+ </Platform>
217+ </DeployClass>
218+ <DeployClass Name="AndroidSplashImageDef">
219+ <Platform Name="Android">
220+ <RemoteDir>res\drawable</RemoteDir>
221+ <Operation>1</Operation>
222+ </Platform>
223+ <Platform Name="Android64">
224+ <RemoteDir>res\drawable</RemoteDir>
225+ <Operation>1</Operation>
226+ </Platform>
227+ </DeployClass>
228+ <DeployClass Name="AndroidSplashStyles">
229+ <Platform Name="Android">
230+ <RemoteDir>res\values</RemoteDir>
231+ <Operation>1</Operation>
232+ </Platform>
233+ <Platform Name="Android64">
234+ <RemoteDir>res\values</RemoteDir>
235+ <Operation>1</Operation>
236+ </Platform>
237+ </DeployClass>
238+ <DeployClass Name="AndroidSplashStylesV21">
239+ <Platform Name="Android">
240+ <RemoteDir>res\values-v21</RemoteDir>
241+ <Operation>1</Operation>
242+ </Platform>
243+ <Platform Name="Android64">
244+ <RemoteDir>res\values-v21</RemoteDir>
245+ <Operation>1</Operation>
246+ </Platform>
247+ </DeployClass>
248+ <DeployClass Name="Android_Colors">
249+ <Platform Name="Android">
250+ <RemoteDir>res\values</RemoteDir>
251+ <Operation>1</Operation>
252+ </Platform>
253+ <Platform Name="Android64">
254+ <RemoteDir>res\values</RemoteDir>
255+ <Operation>1</Operation>
256+ </Platform>
257+ </DeployClass>
258+ <DeployClass Name="Android_DefaultAppIcon">
259+ <Platform Name="Android">
260+ <RemoteDir>res\drawable</RemoteDir>
261+ <Operation>1</Operation>
262+ </Platform>
263+ <Platform Name="Android64">
264+ <RemoteDir>res\drawable</RemoteDir>
265+ <Operation>1</Operation>
266+ </Platform>
267+ </DeployClass>
268+ <DeployClass Name="Android_LauncherIcon144">
269+ <Platform Name="Android">
270+ <RemoteDir>res\drawable-xxhdpi</RemoteDir>
271+ <Operation>1</Operation>
272+ </Platform>
273+ <Platform Name="Android64">
274+ <RemoteDir>res\drawable-xxhdpi</RemoteDir>
275+ <Operation>1</Operation>
276+ </Platform>
277+ </DeployClass>
278+ <DeployClass Name="Android_LauncherIcon36">
279+ <Platform Name="Android">
280+ <RemoteDir>res\drawable-ldpi</RemoteDir>
281+ <Operation>1</Operation>
282+ </Platform>
283+ <Platform Name="Android64">
284+ <RemoteDir>res\drawable-ldpi</RemoteDir>
285+ <Operation>1</Operation>
286+ </Platform>
287+ </DeployClass>
288+ <DeployClass Name="Android_LauncherIcon48">
289+ <Platform Name="Android">
290+ <RemoteDir>res\drawable-mdpi</RemoteDir>
291+ <Operation>1</Operation>
292+ </Platform>
293+ <Platform Name="Android64">
294+ <RemoteDir>res\drawable-mdpi</RemoteDir>
295+ <Operation>1</Operation>
296+ </Platform>
297+ </DeployClass>
298+ <DeployClass Name="Android_LauncherIcon72">
299+ <Platform Name="Android">
300+ <RemoteDir>res\drawable-hdpi</RemoteDir>
301+ <Operation>1</Operation>
302+ </Platform>
303+ <Platform Name="Android64">
304+ <RemoteDir>res\drawable-hdpi</RemoteDir>
305+ <Operation>1</Operation>
306+ </Platform>
307+ </DeployClass>
308+ <DeployClass Name="Android_LauncherIcon96">
309+ <Platform Name="Android">
310+ <RemoteDir>res\drawable-xhdpi</RemoteDir>
311+ <Operation>1</Operation>
312+ </Platform>
313+ <Platform Name="Android64">
314+ <RemoteDir>res\drawable-xhdpi</RemoteDir>
315+ <Operation>1</Operation>
316+ </Platform>
317+ </DeployClass>
318+ <DeployClass Name="Android_NotificationIcon24">
319+ <Platform Name="Android">
320+ <RemoteDir>res\drawable-mdpi</RemoteDir>
321+ <Operation>1</Operation>
322+ </Platform>
323+ <Platform Name="Android64">
324+ <RemoteDir>res\drawable-mdpi</RemoteDir>
325+ <Operation>1</Operation>
326+ </Platform>
327+ </DeployClass>
328+ <DeployClass Name="Android_NotificationIcon36">
329+ <Platform Name="Android">
330+ <RemoteDir>res\drawable-hdpi</RemoteDir>
331+ <Operation>1</Operation>
332+ </Platform>
333+ <Platform Name="Android64">
334+ <RemoteDir>res\drawable-hdpi</RemoteDir>
335+ <Operation>1</Operation>
336+ </Platform>
337+ </DeployClass>
338+ <DeployClass Name="Android_NotificationIcon48">
339+ <Platform Name="Android">
340+ <RemoteDir>res\drawable-xhdpi</RemoteDir>
341+ <Operation>1</Operation>
342+ </Platform>
343+ <Platform Name="Android64">
344+ <RemoteDir>res\drawable-xhdpi</RemoteDir>
345+ <Operation>1</Operation>
346+ </Platform>
347+ </DeployClass>
348+ <DeployClass Name="Android_NotificationIcon72">
349+ <Platform Name="Android">
350+ <RemoteDir>res\drawable-xxhdpi</RemoteDir>
351+ <Operation>1</Operation>
352+ </Platform>
353+ <Platform Name="Android64">
354+ <RemoteDir>res\drawable-xxhdpi</RemoteDir>
355+ <Operation>1</Operation>
356+ </Platform>
357+ </DeployClass>
358+ <DeployClass Name="Android_NotificationIcon96">
359+ <Platform Name="Android">
360+ <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
361+ <Operation>1</Operation>
362+ </Platform>
363+ <Platform Name="Android64">
364+ <RemoteDir>res\drawable-xxxhdpi</RemoteDir>
365+ <Operation>1</Operation>
366+ </Platform>
367+ </DeployClass>
368+ <DeployClass Name="Android_SplashImage426">
369+ <Platform Name="Android">
370+ <RemoteDir>res\drawable-small</RemoteDir>
371+ <Operation>1</Operation>
372+ </Platform>
373+ <Platform Name="Android64">
374+ <RemoteDir>res\drawable-small</RemoteDir>
375+ <Operation>1</Operation>
376+ </Platform>
377+ </DeployClass>
378+ <DeployClass Name="Android_SplashImage470">
379+ <Platform Name="Android">
380+ <RemoteDir>res\drawable-normal</RemoteDir>
381+ <Operation>1</Operation>
382+ </Platform>
383+ <Platform Name="Android64">
384+ <RemoteDir>res\drawable-normal</RemoteDir>
385+ <Operation>1</Operation>
386+ </Platform>
387+ </DeployClass>
388+ <DeployClass Name="Android_SplashImage640">
389+ <Platform Name="Android">
390+ <RemoteDir>res\drawable-large</RemoteDir>
391+ <Operation>1</Operation>
392+ </Platform>
393+ <Platform Name="Android64">
394+ <RemoteDir>res\drawable-large</RemoteDir>
395+ <Operation>1</Operation>
396+ </Platform>
397+ </DeployClass>
398+ <DeployClass Name="Android_SplashImage960">
399+ <Platform Name="Android">
400+ <RemoteDir>res\drawable-xlarge</RemoteDir>
401+ <Operation>1</Operation>
402+ </Platform>
403+ <Platform Name="Android64">
404+ <RemoteDir>res\drawable-xlarge</RemoteDir>
405+ <Operation>1</Operation>
406+ </Platform>
407+ </DeployClass>
408+ <DeployClass Name="Android_Strings">
409+ <Platform Name="Android">
410+ <RemoteDir>res\values</RemoteDir>
411+ <Operation>1</Operation>
412+ </Platform>
413+ <Platform Name="Android64">
414+ <RemoteDir>res\values</RemoteDir>
415+ <Operation>1</Operation>
416+ </Platform>
417+ </DeployClass>
418+ <DeployClass Name="DebugSymbols">
419+ <Platform Name="iOSSimulator">
420+ <Operation>1</Operation>
421+ </Platform>
422+ <Platform Name="OSX32">
423+ <RemoteDir>Contents\MacOS</RemoteDir>
424+ <Operation>1</Operation>
425+ </Platform>
426+ <Platform Name="Win32">
427+ <Operation>0</Operation>
428+ </Platform>
429+ </DeployClass>
430+ <DeployClass Name="DependencyFramework">
431+ <Platform Name="OSX32">
432+ <RemoteDir>Contents\MacOS</RemoteDir>
433+ <Operation>1</Operation>
434+ <Extensions>.framework</Extensions>
435+ </Platform>
436+ <Platform Name="OSX64">
437+ <RemoteDir>Contents\MacOS</RemoteDir>
438+ <Operation>1</Operation>
439+ <Extensions>.framework</Extensions>
440+ </Platform>
441+ <Platform Name="Win32">
442+ <Operation>0</Operation>
443+ </Platform>
444+ </DeployClass>
445+ <DeployClass Name="DependencyModule">
446+ <Platform Name="iOSDevice32">
447+ <Operation>1</Operation>
448+ <Extensions>.dylib</Extensions>
449+ </Platform>
450+ <Platform Name="iOSDevice64">
451+ <Operation>1</Operation>
452+ <Extensions>.dylib</Extensions>
453+ </Platform>
454+ <Platform Name="iOSSimulator">
455+ <Operation>1</Operation>
456+ <Extensions>.dylib</Extensions>
457+ </Platform>
458+ <Platform Name="OSX32">
459+ <RemoteDir>Contents\MacOS</RemoteDir>
460+ <Operation>1</Operation>
461+ <Extensions>.dylib</Extensions>
462+ </Platform>
463+ <Platform Name="OSX64">
464+ <RemoteDir>Contents\MacOS</RemoteDir>
465+ <Operation>1</Operation>
466+ <Extensions>.dylib</Extensions>
467+ </Platform>
468+ <Platform Name="Win32">
469+ <Operation>0</Operation>
470+ <Extensions>.dll;.bpl</Extensions>
471+ </Platform>
472+ </DeployClass>
473+ <DeployClass Required="true" Name="DependencyPackage">
474+ <Platform Name="iOSDevice32">
475+ <Operation>1</Operation>
476+ <Extensions>.dylib</Extensions>
477+ </Platform>
478+ <Platform Name="iOSDevice64">
479+ <Operation>1</Operation>
480+ <Extensions>.dylib</Extensions>
481+ </Platform>
482+ <Platform Name="iOSSimulator">
483+ <Operation>1</Operation>
484+ <Extensions>.dylib</Extensions>
485+ </Platform>
486+ <Platform Name="OSX32">
487+ <RemoteDir>Contents\MacOS</RemoteDir>
488+ <Operation>1</Operation>
489+ <Extensions>.dylib</Extensions>
490+ </Platform>
491+ <Platform Name="OSX64">
492+ <RemoteDir>Contents\MacOS</RemoteDir>
493+ <Operation>1</Operation>
494+ <Extensions>.dylib</Extensions>
495+ </Platform>
496+ <Platform Name="Win32">
497+ <Operation>0</Operation>
498+ <Extensions>.bpl</Extensions>
499+ </Platform>
500+ </DeployClass>
501+ <DeployClass Name="File">
502+ <Platform Name="Android">
503+ <Operation>0</Operation>
504+ </Platform>
505+ <Platform Name="Android64">
506+ <Operation>0</Operation>
507+ </Platform>
508+ <Platform Name="iOSDevice32">
509+ <Operation>0</Operation>
510+ </Platform>
511+ <Platform Name="iOSDevice64">
512+ <Operation>0</Operation>
513+ </Platform>
514+ <Platform Name="iOSSimulator">
515+ <Operation>0</Operation>
516+ </Platform>
517+ <Platform Name="OSX32">
518+ <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
519+ <Operation>0</Operation>
520+ </Platform>
521+ <Platform Name="OSX64">
522+ <RemoteDir>Contents\Resources\StartUp\</RemoteDir>
523+ <Operation>0</Operation>
524+ </Platform>
525+ <Platform Name="Win32">
526+ <Operation>0</Operation>
527+ </Platform>
528+ </DeployClass>
529+ <DeployClass Name="iPad_Launch1024x768">
530+ <Platform Name="iOSDevice32">
531+ <Operation>1</Operation>
532+ </Platform>
533+ <Platform Name="iOSDevice64">
534+ <Operation>1</Operation>
535+ </Platform>
536+ <Platform Name="iOSSimulator">
537+ <Operation>1</Operation>
538+ </Platform>
539+ </DeployClass>
540+ <DeployClass Name="iPad_Launch1536x2048">
541+ <Platform Name="iOSDevice32">
542+ <Operation>1</Operation>
543+ </Platform>
544+ <Platform Name="iOSDevice64">
545+ <Operation>1</Operation>
546+ </Platform>
547+ <Platform Name="iOSSimulator">
548+ <Operation>1</Operation>
549+ </Platform>
550+ </DeployClass>
551+ <DeployClass Name="iPad_Launch1668">
552+ <Platform Name="iOSDevice32">
553+ <Operation>1</Operation>
554+ </Platform>
555+ <Platform Name="iOSDevice64">
556+ <Operation>1</Operation>
557+ </Platform>
558+ <Platform Name="iOSSimulator">
559+ <Operation>1</Operation>
560+ </Platform>
561+ </DeployClass>
562+ <DeployClass Name="iPad_Launch1668x2388">
563+ <Platform Name="iOSDevice32">
564+ <Operation>1</Operation>
565+ </Platform>
566+ <Platform Name="iOSDevice64">
567+ <Operation>1</Operation>
568+ </Platform>
569+ <Platform Name="iOSSimulator">
570+ <Operation>1</Operation>
571+ </Platform>
572+ </DeployClass>
573+ <DeployClass Name="iPad_Launch2048x1536">
574+ <Platform Name="iOSDevice32">
575+ <Operation>1</Operation>
576+ </Platform>
577+ <Platform Name="iOSDevice64">
578+ <Operation>1</Operation>
579+ </Platform>
580+ <Platform Name="iOSSimulator">
581+ <Operation>1</Operation>
582+ </Platform>
583+ </DeployClass>
584+ <DeployClass Name="iPad_Launch2048x2732">
585+ <Platform Name="iOSDevice32">
586+ <Operation>1</Operation>
587+ </Platform>
588+ <Platform Name="iOSDevice64">
589+ <Operation>1</Operation>
590+ </Platform>
591+ <Platform Name="iOSSimulator">
592+ <Operation>1</Operation>
593+ </Platform>
594+ </DeployClass>
595+ <DeployClass Name="iPad_Launch2224">
596+ <Platform Name="iOSDevice32">
597+ <Operation>1</Operation>
598+ </Platform>
599+ <Platform Name="iOSDevice64">
600+ <Operation>1</Operation>
601+ </Platform>
602+ <Platform Name="iOSSimulator">
603+ <Operation>1</Operation>
604+ </Platform>
605+ </DeployClass>
606+ <DeployClass Name="iPad_Launch2388x1668">
607+ <Platform Name="iOSDevice32">
608+ <Operation>1</Operation>
609+ </Platform>
610+ <Platform Name="iOSDevice64">
611+ <Operation>1</Operation>
612+ </Platform>
613+ <Platform Name="iOSSimulator">
614+ <Operation>1</Operation>
615+ </Platform>
616+ </DeployClass>
617+ <DeployClass Name="iPad_Launch2732x2048">
618+ <Platform Name="iOSDevice32">
619+ <Operation>1</Operation>
620+ </Platform>
621+ <Platform Name="iOSDevice64">
622+ <Operation>1</Operation>
623+ </Platform>
624+ <Platform Name="iOSSimulator">
625+ <Operation>1</Operation>
626+ </Platform>
627+ </DeployClass>
628+ <DeployClass Name="iPad_Launch768x1024">
629+ <Platform Name="iOSDevice32">
630+ <Operation>1</Operation>
631+ </Platform>
632+ <Platform Name="iOSDevice64">
633+ <Operation>1</Operation>
634+ </Platform>
635+ <Platform Name="iOSSimulator">
636+ <Operation>1</Operation>
637+ </Platform>
638+ </DeployClass>
639+ <DeployClass Name="iPhone_Launch1125">
640+ <Platform Name="iOSDevice32">
641+ <Operation>1</Operation>
642+ </Platform>
643+ <Platform Name="iOSDevice64">
644+ <Operation>1</Operation>
645+ </Platform>
646+ <Platform Name="iOSSimulator">
647+ <Operation>1</Operation>
648+ </Platform>
649+ </DeployClass>
650+ <DeployClass Name="iPhone_Launch1136x640">
651+ <Platform Name="iOSDevice32">
652+ <Operation>1</Operation>
653+ </Platform>
654+ <Platform Name="iOSDevice64">
655+ <Operation>1</Operation>
656+ </Platform>
657+ <Platform Name="iOSSimulator">
658+ <Operation>1</Operation>
659+ </Platform>
660+ </DeployClass>
661+ <DeployClass Name="iPhone_Launch1242">
662+ <Platform Name="iOSDevice32">
663+ <Operation>1</Operation>
664+ </Platform>
665+ <Platform Name="iOSDevice64">
666+ <Operation>1</Operation>
667+ </Platform>
668+ <Platform Name="iOSSimulator">
669+ <Operation>1</Operation>
670+ </Platform>
671+ </DeployClass>
672+ <DeployClass Name="iPhone_Launch1242x2688">
673+ <Platform Name="iOSDevice32">
674+ <Operation>1</Operation>
675+ </Platform>
676+ <Platform Name="iOSDevice64">
677+ <Operation>1</Operation>
678+ </Platform>
679+ <Platform Name="iOSSimulator">
680+ <Operation>1</Operation>
681+ </Platform>
682+ </DeployClass>
683+ <DeployClass Name="iPhone_Launch1334">
684+ <Platform Name="iOSDevice32">
685+ <Operation>1</Operation>
686+ </Platform>
687+ <Platform Name="iOSDevice64">
688+ <Operation>1</Operation>
689+ </Platform>
690+ <Platform Name="iOSSimulator">
691+ <Operation>1</Operation>
692+ </Platform>
693+ </DeployClass>
694+ <DeployClass Name="iPhone_Launch1792">
695+ <Platform Name="iOSDevice32">
696+ <Operation>1</Operation>
697+ </Platform>
698+ <Platform Name="iOSDevice64">
699+ <Operation>1</Operation>
700+ </Platform>
701+ <Platform Name="iOSSimulator">
702+ <Operation>1</Operation>
703+ </Platform>
704+ </DeployClass>
705+ <DeployClass Name="iPhone_Launch2208">
706+ <Platform Name="iOSDevice32">
707+ <Operation>1</Operation>
708+ </Platform>
709+ <Platform Name="iOSDevice64">
710+ <Operation>1</Operation>
711+ </Platform>
712+ <Platform Name="iOSSimulator">
713+ <Operation>1</Operation>
714+ </Platform>
715+ </DeployClass>
716+ <DeployClass Name="iPhone_Launch2436">
717+ <Platform Name="iOSDevice32">
718+ <Operation>1</Operation>
719+ </Platform>
720+ <Platform Name="iOSDevice64">
721+ <Operation>1</Operation>
722+ </Platform>
723+ <Platform Name="iOSSimulator">
724+ <Operation>1</Operation>
725+ </Platform>
726+ </DeployClass>
727+ <DeployClass Name="iPhone_Launch2688x1242">
728+ <Platform Name="iOSDevice32">
729+ <Operation>1</Operation>
730+ </Platform>
731+ <Platform Name="iOSDevice64">
732+ <Operation>1</Operation>
733+ </Platform>
734+ <Platform Name="iOSSimulator">
735+ <Operation>1</Operation>
736+ </Platform>
737+ </DeployClass>
738+ <DeployClass Name="iPhone_Launch320">
739+ <Platform Name="iOSDevice32">
740+ <Operation>1</Operation>
741+ </Platform>
742+ <Platform Name="iOSDevice64">
743+ <Operation>1</Operation>
744+ </Platform>
745+ <Platform Name="iOSSimulator">
746+ <Operation>1</Operation>
747+ </Platform>
748+ </DeployClass>
749+ <DeployClass Name="iPhone_Launch640">
750+ <Platform Name="iOSDevice32">
751+ <Operation>1</Operation>
752+ </Platform>
753+ <Platform Name="iOSDevice64">
754+ <Operation>1</Operation>
755+ </Platform>
756+ <Platform Name="iOSSimulator">
757+ <Operation>1</Operation>
758+ </Platform>
759+ </DeployClass>
760+ <DeployClass Name="iPhone_Launch640x1136">
761+ <Platform Name="iOSDevice32">
762+ <Operation>1</Operation>
763+ </Platform>
764+ <Platform Name="iOSDevice64">
765+ <Operation>1</Operation>
766+ </Platform>
767+ <Platform Name="iOSSimulator">
768+ <Operation>1</Operation>
769+ </Platform>
770+ </DeployClass>
771+ <DeployClass Name="iPhone_Launch750">
772+ <Platform Name="iOSDevice32">
773+ <Operation>1</Operation>
774+ </Platform>
775+ <Platform Name="iOSDevice64">
776+ <Operation>1</Operation>
777+ </Platform>
778+ <Platform Name="iOSSimulator">
779+ <Operation>1</Operation>
780+ </Platform>
781+ </DeployClass>
782+ <DeployClass Name="iPhone_Launch828">
783+ <Platform Name="iOSDevice32">
784+ <Operation>1</Operation>
785+ </Platform>
786+ <Platform Name="iOSDevice64">
787+ <Operation>1</Operation>
788+ </Platform>
789+ <Platform Name="iOSSimulator">
790+ <Operation>1</Operation>
791+ </Platform>
792+ </DeployClass>
793+ <DeployClass Name="ProjectAndroidManifest">
794+ <Platform Name="Android">
795+ <Operation>1</Operation>
796+ </Platform>
797+ <Platform Name="Android64">
798+ <Operation>1</Operation>
799+ </Platform>
800+ </DeployClass>
801+ <DeployClass Name="ProjectiOSDeviceDebug">
802+ <Platform Name="iOSDevice32">
803+ <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
804+ <Operation>1</Operation>
805+ </Platform>
806+ <Platform Name="iOSDevice64">
807+ <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
808+ <Operation>1</Operation>
809+ </Platform>
810+ </DeployClass>
811+ <DeployClass Name="ProjectiOSDeviceResourceRules">
812+ <Platform Name="iOSDevice32">
813+ <Operation>1</Operation>
814+ </Platform>
815+ <Platform Name="iOSDevice64">
816+ <Operation>1</Operation>
817+ </Platform>
818+ </DeployClass>
819+ <DeployClass Name="ProjectiOSEntitlements">
820+ <Platform Name="iOSDevice32">
821+ <RemoteDir>..\</RemoteDir>
822+ <Operation>1</Operation>
823+ </Platform>
824+ <Platform Name="iOSDevice64">
825+ <RemoteDir>..\</RemoteDir>
826+ <Operation>1</Operation>
827+ </Platform>
828+ </DeployClass>
829+ <DeployClass Name="ProjectiOSInfoPList">
830+ <Platform Name="iOSDevice32">
831+ <Operation>1</Operation>
832+ </Platform>
833+ <Platform Name="iOSDevice64">
834+ <Operation>1</Operation>
835+ </Platform>
836+ <Platform Name="iOSSimulator">
837+ <Operation>1</Operation>
838+ </Platform>
839+ </DeployClass>
840+ <DeployClass Name="ProjectiOSResource">
841+ <Platform Name="iOSDevice32">
842+ <Operation>1</Operation>
843+ </Platform>
844+ <Platform Name="iOSDevice64">
845+ <Operation>1</Operation>
846+ </Platform>
847+ <Platform Name="iOSSimulator">
848+ <Operation>1</Operation>
849+ </Platform>
850+ </DeployClass>
851+ <DeployClass Name="ProjectOSXDebug">
852+ <Platform Name="OSX64">
853+ <RemoteDir>..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF</RemoteDir>
854+ <Operation>1</Operation>
855+ </Platform>
856+ </DeployClass>
857+ <DeployClass Name="ProjectOSXEntitlements">
858+ <Platform Name="OSX32">
859+ <RemoteDir>..\</RemoteDir>
860+ <Operation>1</Operation>
861+ </Platform>
862+ <Platform Name="OSX64">
863+ <RemoteDir>..\</RemoteDir>
864+ <Operation>1</Operation>
865+ </Platform>
866+ </DeployClass>
867+ <DeployClass Name="ProjectOSXInfoPList">
868+ <Platform Name="OSX32">
869+ <RemoteDir>Contents</RemoteDir>
870+ <Operation>1</Operation>
871+ </Platform>
872+ <Platform Name="OSX64">
873+ <RemoteDir>Contents</RemoteDir>
874+ <Operation>1</Operation>
875+ </Platform>
876+ </DeployClass>
877+ <DeployClass Name="ProjectOSXResource">
878+ <Platform Name="OSX32">
879+ <RemoteDir>Contents\Resources</RemoteDir>
880+ <Operation>1</Operation>
881+ </Platform>
882+ <Platform Name="OSX64">
883+ <RemoteDir>Contents\Resources</RemoteDir>
884+ <Operation>1</Operation>
885+ </Platform>
886+ </DeployClass>
887+ <DeployClass Required="true" Name="ProjectOutput">
888+ <Platform Name="Android">
889+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
890+ <Operation>1</Operation>
891+ </Platform>
892+ <Platform Name="Android64">
893+ <RemoteDir>library\lib\arm64-v8a</RemoteDir>
894+ <Operation>1</Operation>
895+ </Platform>
896+ <Platform Name="iOSDevice32">
897+ <Operation>1</Operation>
898+ </Platform>
899+ <Platform Name="iOSDevice64">
900+ <Operation>1</Operation>
901+ </Platform>
902+ <Platform Name="iOSSimulator">
903+ <Operation>1</Operation>
904+ </Platform>
905+ <Platform Name="Linux64">
906+ <Operation>1</Operation>
907+ </Platform>
908+ <Platform Name="OSX32">
909+ <RemoteDir>Contents\MacOS</RemoteDir>
910+ <Operation>1</Operation>
911+ </Platform>
912+ <Platform Name="OSX64">
913+ <RemoteDir>Contents\MacOS</RemoteDir>
914+ <Operation>1</Operation>
915+ </Platform>
916+ <Platform Name="Win32">
917+ <Operation>0</Operation>
918+ </Platform>
919+ </DeployClass>
920+ <DeployClass Name="ProjectOutput_Android32">
921+ <Platform Name="Android64">
922+ <RemoteDir>library\lib\armeabi-v7a</RemoteDir>
923+ <Operation>1</Operation>
924+ </Platform>
925+ </DeployClass>
926+ <DeployClass Name="ProjectUWPManifest">
927+ <Platform Name="Win32">
928+ <Operation>1</Operation>
929+ </Platform>
930+ <Platform Name="Win64">
931+ <Operation>1</Operation>
932+ </Platform>
933+ </DeployClass>
934+ <DeployClass Name="UWP_DelphiLogo150">
935+ <Platform Name="Win32">
936+ <RemoteDir>Assets</RemoteDir>
937+ <Operation>1</Operation>
938+ </Platform>
939+ <Platform Name="Win64">
940+ <RemoteDir>Assets</RemoteDir>
941+ <Operation>1</Operation>
942+ </Platform>
943+ </DeployClass>
944+ <DeployClass Name="UWP_DelphiLogo44">
945+ <Platform Name="Win32">
946+ <RemoteDir>Assets</RemoteDir>
947+ <Operation>1</Operation>
948+ </Platform>
949+ <Platform Name="Win64">
950+ <RemoteDir>Assets</RemoteDir>
951+ <Operation>1</Operation>
952+ </Platform>
953+ </DeployClass>
954+ <ProjectRoot Platform="iOSDevice64" Name="$(PROJECTNAME).app"/>
955+ <ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
956+ <ProjectRoot Platform="iOSDevice32" Name="$(PROJECTNAME).app"/>
957+ <ProjectRoot Platform="Linux64" Name="$(PROJECTNAME)"/>
958+ <ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
959+ <ProjectRoot Platform="OSX32" Name="$(PROJECTNAME).app"/>
960+ <ProjectRoot Platform="Android" Name="$(PROJECTNAME)"/>
961+ <ProjectRoot Platform="OSX64" Name="$(PROJECTNAME).app"/>
962+ <ProjectRoot Platform="iOSSimulator" Name="$(PROJECTNAME).app"/>
963+ <ProjectRoot Platform="Android64" Name="$(PROJECTNAME)"/>
964+ </Deployment>
965+ <Platforms>
966+ <Platform value="Win32">True</Platform>
967+ <Platform value="Win64">False</Platform>
968+ </Platforms>
969+ </BorlandProject>
970+ <ProjectFileVersion>12</ProjectFileVersion>
971+ </ProjectExtensions>
972+ <Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
973+ <Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
974+ <Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
975+</Project>
--- trunk/dmo/src/UFormPrincipal.pas (nonexistent)
+++ trunk/dmo/src/UFormPrincipal.pas (revision 4)
@@ -0,0 +1,24 @@
1+unit UFormPrincipal;
2+
3+interface
4+
5+uses
6+ Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7+ Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
8+
9+type
10+ TForm1 = class(TForm)
11+ private
12+ { Private declarations }
13+ public
14+ { Public declarations }
15+ end;
16+
17+var
18+ Form1: TForm1;
19+
20+implementation
21+
22+{$R *.dfm}
23+
24+end.
--- trunk/prj/BrutalDelphi.groupproj (revision 3)
+++ trunk/prj/BrutalDelphi.groupproj (revision 4)
@@ -9,6 +9,9 @@
99 <Projects Include="BrutalDelphiD.dproj">
1010 <Dependencies/>
1111 </Projects>
12+ <Projects Include="..\dmo\prj\BrutalDelphi.dproj">
13+ <Dependencies/>
14+ </Projects>
1215 </ItemGroup>
1316 <ProjectExtensions>
1417 <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -35,14 +38,23 @@
3538 <Target Name="BrutalDelphiD:Make">
3639 <MSBuild Projects="BrutalDelphiD.dproj" Targets="Make"/>
3740 </Target>
41+ <Target Name="BrutalDelphi">
42+ <MSBuild Projects="..\dmo\prj\BrutalDelphi.dproj"/>
43+ </Target>
44+ <Target Name="BrutalDelphi:Clean">
45+ <MSBuild Projects="..\dmo\prj\BrutalDelphi.dproj" Targets="Clean"/>
46+ </Target>
47+ <Target Name="BrutalDelphi:Make">
48+ <MSBuild Projects="..\dmo\prj\BrutalDelphi.dproj" Targets="Make"/>
49+ </Target>
3850 <Target Name="Build">
39- <CallTarget Targets="BrutalDelphiR;BrutalDelphiD"/>
51+ <CallTarget Targets="BrutalDelphiR;BrutalDelphiD;BrutalDelphi"/>
4052 </Target>
4153 <Target Name="Clean">
42- <CallTarget Targets="BrutalDelphiR:Clean;BrutalDelphiD:Clean"/>
54+ <CallTarget Targets="BrutalDelphiR:Clean;BrutalDelphiD:Clean;BrutalDelphi:Clean"/>
4355 </Target>
4456 <Target Name="Make">
45- <CallTarget Targets="BrutalDelphiR:Make;BrutalDelphiD:Make"/>
57+ <CallTarget Targets="BrutalDelphiR:Make;BrutalDelphiD:Make;BrutalDelphi:Make"/>
4658 </Target>
4759 <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
4860 </Project>
--- trunk/prj/BrutalDelphiD.dproj (revision 3)
+++ trunk/prj/BrutalDelphiD.dproj (revision 4)
@@ -18,6 +18,11 @@
1818 <CfgParent>Base</CfgParent>
1919 <Base>true</Base>
2020 </PropertyGroup>
21+ <PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
22+ <Base_Win64>true</Base_Win64>
23+ <CfgParent>Base</CfgParent>
24+ <Base>true</Base>
25+ </PropertyGroup>
2126 <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
2227 <Cfg_1>true</Cfg_1>
2328 <CfgParent>Base</CfgParent>
@@ -64,7 +69,11 @@
6469 <BT_BuildType>Debug</BT_BuildType>
6570 <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
6671 <VerInfo_Locale>1033</VerInfo_Locale>
72+ <DCC_UsePackage>rtl;BrutalDelphiR;$(DCC_UsePackage)</DCC_UsePackage>
6773 </PropertyGroup>
74+ <PropertyGroup Condition="'$(Base_Win64)'!=''">
75+ <DCC_UsePackage>rtl;$(DCC_UsePackage)</DCC_UsePackage>
76+ </PropertyGroup>
6877 <PropertyGroup Condition="'$(Cfg_1)'!=''">
6978 <DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
7079 <DCC_DebugDCUs>true</DCC_DebugDCUs>
--- trunk/src/BRD.MasterNavigator.pas (revision 3)
+++ trunk/src/BRD.MasterNavigator.pas (revision 4)
@@ -7,45 +7,56 @@
77
88 type
99 TChangeDataLink = class(TDataLink)
10- protected
11- mOnStateChange: TNotifyEvent;
12- procedure ActiveChanged; override;
13- procedure EditingChanged; override;
14- public
15- property StateChange: TNotifyEvent read mOnStateChange write mOnStateChange;
10+ private
11+ FOnStateChange: TNotifyEvent;
12+ protected
13+ procedure ActiveChanged; override;
14+ procedure EditingChanged; override;
15+ public
16+ property StateChange: TNotifyEvent read FOnStateChange write FOnStateChange;
1617 end;
1718
18-type TMsgPergunta = procedure(Msg: string; var Resposta: boolean) of object;
19+ TMsgPergunta = procedure(AMsg: string; var AResposta: boolean) of object;
1920
20-type
21- TMasterNavigator = class(TComponent)
21+ TBRDMasterNavigator = class(TComponent)
2222 private
2323 { Private declarations }
24- Link: TChangeDataLink;
25- mbtnNovo,mbtnEditar,mbtnCancelar,mbtnGravar,mbtnExcluir: TCustomButton;
26- eventoNovo,eventoEditar,eventoCancelar,eventoGravar,eventoExcluir: TNotifyEvent;
27- mSN_Excluir, mSN_Editar, mSN_Incluir: Boolean;
28- mFocusComp: TWinControl;
29- mMensagemErro: TGetStrProc;
30- mConfirmacao: TMsgPergunta;
24+ FLink: TChangeDataLink;
25+ FBtnNovo: TCustomButton;
26+ FBtnEditar: TCustomButton;
27+ FBtnCancelar: TCustomButton;
28+ FBtnGravar: TCustomButton;
29+ FBtnExcluir: TCustomButton;
30+ FEventoNovo: TNotifyEvent;
31+ FEventoEditar: TNotifyEvent;
32+ FEventoCancelar: TNotifyEvent;
33+ FEventoGravar: TNotifyEvent;
34+ FEventoExcluir: TNotifyEvent;
35+ FSN_Excluir: Boolean;
36+ FSN_Editar: Boolean;
37+ FSN_Incluir: Boolean;
38+ FFocusComp: TWinControl;
39+ FMensagemErro: TGetStrProc;
40+ FConfirmacao: TMsgPergunta;
3141 function GetDataSource: TDataSource;
32- procedure SetDataSource(const Value: TDataSource);
33- procedure setbtnCancelar(const Value: TCustomButton);
34- procedure setbtnEditar(const Value: TCustomButton);
35- procedure setbtnExcluir(const Value: TCustomButton);
36- procedure setbtnGravar(const Value: TCustomButton);
37- procedure setbtnNovo(const Value: TCustomButton);
38- procedure setSN_Editar(const Value: Boolean);
39- procedure setSN_Excluir(const Value: Boolean);
40- procedure setSN_Incluir(const Value: Boolean);
41- procedure onChange;
42+ procedure SetDataSource(const AValue: TDataSource);
43+ procedure SetBtnCancelar(const AValue: TCustomButton);
44+ procedure setBtnEditar(const AValue: TCustomButton);
45+ procedure setBtnExcluir(const AValue: TCustomButton);
46+ procedure setBtnGravar(const AValue: TCustomButton);
47+ procedure setBtnNovo(const AValue: TCustomButton);
48+ procedure SetSN_Editar(const AValue: Boolean);
49+ procedure SetSN_Excluir(const AValue: Boolean);
50+ procedure SetSN_Incluir(const AValue: Boolean);
51+ procedure UpdateGUI;
4252
43- procedure acaoNovo(Sender: TObject);
44- procedure acaoEditar(Sender: TObject);
45- procedure acaoCancelar(Sender: TObject);
46- procedure acaoGravar(Sender: TObject);
47- procedure acaoExcluir(Sender: TObject);
48- procedure TrySetFocus(Comp: TWinControl);
53+ procedure AcaoNovo(ASender: TObject);
54+ procedure AcaoEditar(ASender: TObject);
55+ procedure AcaoCancelar(ASender: TObject);
56+ procedure AcaoGravar(ASender: TObject);
57+ procedure AcaoExcluir(ASender: TObject);
58+ procedure TrySetFocus(AComp: TWinControl);
59+ procedure DoStateChange(Sender: TObject);
4960 protected
5061 { Protected declarations }
5162 public
@@ -53,447 +64,479 @@
5364 constructor Create(AOwner: TComponent); override;
5465 destructor Destroy; override;
5566
56- procedure StatusChange(Sender: TObject);
5767 published
5868 { Published declarations }
59- property btnNovo : TCustomButton read mbtnNovo write setbtnNovo;
60- property btnEditar : TCustomButton read mbtnEditar write setbtnEditar;
61- property btnCancelar : TCustomButton read mbtnCancelar write setbtnCancelar;
62- property btnGravar : TCustomButton read mbtnGravar write setbtnGravar;
63- property btnExcluir : TCustomButton read mbtnExcluir write setbtnExcluir;
64- property SN_Excluir : Boolean read mSN_Excluir write setSN_Excluir default True;
65- property SN_Editar : Boolean read mSN_Editar write setSN_Editar default True;
66- property SN_Incluir : Boolean read mSN_Incluir write setSN_Incluir default True;
67- property DataSource : TDataSource read GetDataSource write SetDataSource;
68- property FocusComp : TWinControl read mFocusComp write mFocusComp;
69- property OnError : TGetStrProc read mMensagemErro write mMensagemErro;
70- property OnConfirmation : TMsgPergunta read mConfirmacao write mConfirmacao;
69+ property BtnNovo: TCustomButton read FBtnNovo write setBtnNovo;
70+ property BtnEditar: TCustomButton read FBtnEditar write setBtnEditar;
71+ property BtnCancelar: TCustomButton read FBtnCancelar write SetBtnCancelar;
72+ property BtnGravar: TCustomButton read FBtnGravar write setBtnGravar;
73+ property BtnExcluir: TCustomButton read FBtnExcluir write setBtnExcluir;
74+ property SN_Excluir: Boolean read FSN_Excluir write SetSN_Excluir default True;
75+ property SN_Editar: Boolean read FSN_Editar write SetSN_Editar default True;
76+ property SN_Incluir: Boolean read FSN_Incluir write SetSN_Incluir default True;
77+ property DataSource: TDataSource read GetDataSource write SetDataSource;
78+ property FocusComp: TWinControl read FFocusComp write FFocusComp;
79+ property OnError: TGetStrProc read FMensagemErro write FMensagemErro;
80+ property OnConfirmation: TMsgPergunta read FConfirmacao write FConfirmacao;
7181 end;
7282
7383 implementation
7484
75-uses VCL.Dialogs,Vcl.Buttons;
85+uses
86+ WinApi.Windows, Vcl.Forms, Vcl.Buttons;
7687
7788 { TMasterNavigator }
7889
79-procedure TMasterNavigator.acaoCancelar(Sender: TObject);
90+procedure TBRDMasterNavigator.AcaoCancelar(ASender: TObject);
8091 begin
81- if Assigned(eventoCancelar) then
82- eventoCancelar(Sender);
92+ if Assigned(FEventoCancelar) then
93+ FEventoCancelar(ASender);
8394
84- Link.DataSet.Cancel;
85-
95+ FLink.DataSet.Cancel;
8696 end;
8797
88-procedure TMasterNavigator.acaoEditar(Sender: TObject);
98+procedure TBRDMasterNavigator.AcaoEditar(ASender: TObject);
8999 begin
90- if Assigned(eventoEditar) then
91- eventoEditar(Sender);
100+ if Assigned(FEventoEditar) then
101+ FEventoEditar(ASender);
92102
93- Link.DataSet.Edit;
103+ FLink.DataSet.Edit;
104+
94105 if Assigned(FocusComp) then
95106 TrySetFocus(FocusComp);
96107 end;
97108
98-procedure TMasterNavigator.acaoExcluir(Sender: TObject);
99-var mApaga: Boolean;
109+procedure TBRDMasterNavigator.AcaoExcluir(ASender: TObject);
110+var
111+ Apaga: Boolean;
100112 begin
101- if Assigned(eventoExcluir) then
102- eventoExcluir(Sender);
113+ if Assigned(FEventoExcluir) then
114+ FEventoExcluir(ASender);
103115
104- if Link.DataSet.IsEmpty then
116+ if FLink.DataSet.IsEmpty then
105117 begin
106- TrySetFocus(btnExcluir);
107- if Assigned(mMensagemErro) then
108- mMensagemErro('Não existem registros para serem excluídos.')
118+ TrySetFocus(BtnExcluir);
119+
120+ if Assigned(FMensagemErro) then
121+ FMensagemErro('Não existem registros para serem excluídos.')
109122 else
110- MessageDlg('Não existem registros para serem excluídos.',mtError,[mbOk],0);
123+ Application.MessageBox('Não existem registros para serem excluídos','Erro',MB_ICONERROR);
124+
111125 Abort;
112126 end;
113127
114- mApaga := False;
115- if Assigned(mConfirmacao) then
116- mConfirmacao('Deseja realmente excluir o registro?',mApaga)
128+ Apaga := False;
129+
130+ if Assigned(FConfirmacao) then
131+ FConfirmacao('Deseja realmente excluir o registro?',Apaga)
117132 else
118- mApaga := MessageDlg('Deseja realmente excluir o registro?',mtConfirmation,[mbYes,mbNo],0,mbNo) = mrYes;
133+ Apaga := Application.MessageBox('Deseja realmente excluir o registro?','Favor decidir',MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON2) = IDYES;
119134
120135
121- if mApaga then
122- Link.DataSet.Delete;
123-
136+ if Apaga then
137+ FLink.DataSet.Delete;
124138 end;
125139
126-procedure TMasterNavigator.acaoGravar(Sender: TObject);
140+procedure TBRDMasterNavigator.AcaoGravar(ASender: TObject);
127141 begin
128- if Assigned(eventoGravar) then
129- eventoGravar(Sender);
142+ if Assigned(FEventoGravar) then
143+ FEventoGravar(ASender);
130144
131- Link.DataSet.Post;
132- if Assigned(btnNovo) then
133- TrySetFocus(btnNovo);
145+ FLink.DataSet.Post;
146+
147+ if Assigned(BtnNovo) then
148+ TrySetFocus(BtnNovo);
134149 end;
135150
136-procedure TMasterNavigator.acaoNovo(Sender: TObject);
151+procedure TBRDMasterNavigator.AcaoNovo(ASender: TObject);
137152 begin
138- if Assigned(eventoNovo) then
139- eventoNovo(Sender);
153+ if Assigned(FEventoNovo) then
154+ FEventoNovo(ASender);
140155
141- Link.DataSet.Append;
156+ FLink.DataSet.Append;
157+
142158 if Assigned(FocusComp) then
143159 TrySetFocus(FocusComp);
144160 end;
145161
146-constructor TMasterNavigator.Create(AOwner: TComponent);
162+constructor TBRDMasterNavigator.Create(AOwner: TComponent);
147163 begin
148164 inherited;
149- Link := TChangeDataLink.Create;
150- Link.StateChange := StatusChange;
151- mSN_Excluir := True;
152- mSN_Editar := True;
153- mSN_Incluir := True;
154- mFocusComp := nil;
155- mbtnNovo := nil;
156- mbtnEditar := nil;
157- mbtnCancelar := nil;
158- mbtnGravar := nil;
159- mbtnExcluir := nil;
160- eventoNovo := nil;
161- eventoEditar := nil;
162- eventoCancelar := nil;
163- eventoGravar := nil;
164- eventoExcluir := nil;
165- mMensagemErro := nil;
166- mConfirmacao := nil;
165+
166+ FLink := TChangeDataLink.Create;
167+ FLink.StateChange := DoStateChange;
168+
169+ FSN_Excluir := True;
170+ FSN_Editar := True;
171+ FSN_Incluir := True;
172+ FFocusComp := nil;
173+ FBtnNovo := nil;
174+ FBtnEditar := nil;
175+ FBtnCancelar := nil;
176+ FBtnGravar := nil;
177+ FBtnExcluir := nil;
178+ FEventoNovo := nil;
179+ FEventoEditar := nil;
180+ FEventoCancelar := nil;
181+ FEventoGravar := nil;
182+ FEventoExcluir := nil;
183+ FMensagemErro := nil;
184+ FConfirmacao := nil;
167185 end;
168186
169-destructor TMasterNavigator.Destroy;
187+destructor TBRDMasterNavigator.Destroy;
170188 begin
171- FreeAndNil(Link);
189+ FLink.Free;
190+
172191 inherited;
173192 end;
174193
175-function TMasterNavigator.GetDataSource: TDataSource;
194+function TBRDMasterNavigator.GetDataSource: TDataSource;
176195 begin
177- Result := Link.DataSource;
196+ Result := FLink.DataSource;
178197 end;
179198
180-procedure TMasterNavigator.onChange;
181-var EditInsert : Boolean;
199+procedure TBRDMasterNavigator.UpdateGUI;
200+// Subrotinas (INÍCIO) ---------------------------------------------------------
201+procedure SetEnabled(AButton: TCustomButton; AEnabled: Boolean);
202+begin
203+ if Assigned(AButton) then
204+ begin
205+ AButton.Enabled := AEnabled;
182206
183- procedure setEnabled(btn: TCustomButton; Enabled: Boolean);
184- begin
185- if Assigned(btn) then
186- begin
187- btn.Enabled := Enabled;
188- if Enabled then
189- btn.Cursor := crHandPoint
190- else
191- btn.Cursor := crNo;
192- end;
207+ if AEnabled then
208+ AButton.Cursor := crHandPoint
209+ else
210+ AButton.Cursor := crNo;
193211 end;
194-
212+end;
213+// Subrotinas (FIM) ------------------------------------------------------------
214+var
215+ EditInsert: Boolean;
195216 begin
196217 inherited;
197- if Link.Active then
218+
219+ if FLink.Active then
198220 begin
199- EditInsert := Link.Editing;
200- setEnabled(btnGravar,EditInsert);
201- setEnabled(btnCancelar,EditInsert);
221+ EditInsert := FLink.Editing;
222+
223+ SetEnabled(FBtnGravar,EditInsert);
224+ SetEnabled(FBtnCancelar,EditInsert);
225+
202226 if not EditInsert then
203- setEnabled(btnEditar,(not Link.DataSet.IsEmpty) and SN_Editar)
227+ SetEnabled(FBtnEditar,(not FLink.DataSet.IsEmpty) and SN_Editar)
204228 else
205- setEnabled(btnEditar,False);
206- setEnabled(btnNovo,not EditInsert and SN_Incluir);
207- setEnabled(btnExcluir,not EditInsert and SN_Excluir);
229+ SetEnabled(FBtnEditar,False);
230+
231+ SetEnabled(FBtnNovo,not EditInsert and SN_Incluir);
232+ SetEnabled(FBtnExcluir,not EditInsert and SN_Excluir);
208233 end
209234 else
210235 begin
211- setEnabled(btnGravar,False);
212- setEnabled(btnCancelar,False);
213- setEnabled(btnEditar,False);
214- setEnabled(btnNovo,False);
215- setEnabled(btnExcluir,False);
236+ SetEnabled(FBtnGravar,False);
237+ SetEnabled(FBtnCancelar,False);
238+ SetEnabled(FBtnEditar,False);
239+ SetEnabled(FBtnNovo,False);
240+ SetEnabled(FBtnExcluir,False);
216241 end;
217242 end;
218243
219-procedure TMasterNavigator.setbtnCancelar(const Value: TCustomButton);
220-var btn: TButton;
221-bitBtn: TBitBtn;
244+{ Os métodos SetBtnXXX a seguir, são executados quando o usuário atribui botões
245+externos às propriedades BtnXXX. Basicmente há um desvio do evento OnClick de
246+cada um destes botões, isto é, caso um botão sendo associado contenha um
247+manipulador para seu evento OnClick, este manipulador será salvo na variável
248+privada FEventoXXX e o manipulador do evento OnClick deste botão passará a ser
249+AcaoXXX, o qual, internamente, executa o evento original que agora está em
250+FEventoXXX e depois executa a operação customizada definida para o botão na
251+classe atual. Para ententer melhor, veja os métodos AcaoXXX. Quando se remove a
252+associação das propriedades BtnXXX, o manipulador do evento original do botão é
253+recuperado a partir de FEventoXXX }
254+
255+procedure TBRDMasterNavigator.SetBtnCancelar(const AValue: TCustomButton);
256+var
257+ Button: TButton;
258+ BitBtn: TBitBtn;
222259 begin
223- if Value = mbtnCancelar then // não mudou nada.
260+ if AValue = FBtnCancelar then // não mudou nada.
224261 Exit;
225262
226- if not (csDesigning in Self.ComponentState) then //em design a gente não faz nada
227- if Assigned(Value) then //estou selecionando um componente
263+ if not (csDesigning in ComponentState) then //em design a gente não faz nada
264+ if Assigned(AValue) then //estou selecionando um componente
228265 begin
229- if Value is TButton then
266+ if AValue is TButton then
230267 begin
231- btn := (Value as TButton);
232- if Assigned(btn.OnClick) then
233- eventoCancelar := btn.OnClick;
234- btn.OnClick := acaoCancelar;
268+ Button := (AValue as TButton);
269+
270+ if Assigned(Button.OnClick) then
271+ FEventoCancelar := Button.OnClick;
272+
273+ Button.OnClick := AcaoCancelar;
235274 end
236- else
237- if Value is TBitBtn then
275+ else if AValue is TBitBtn then
238276 begin
239- bitbtn := (Value as TBitBtn);
240- if Assigned(bitbtn.OnClick) then
241- eventoCancelar := bitbtn.OnClick;
242- bitbtn.OnClick := acaoCancelar;
277+ BitBtn := (AValue as TBitBtn);
278+
279+ if Assigned(BitBtn.OnClick) then
280+ FEventoCancelar := BitBtn.OnClick;
281+
282+ BitBtn.OnClick := AcaoCancelar;
243283 end;
244284 end
245285 else
246- if Assigned(mbtnCancelar) and Assigned(eventoCancelar) then //estou desselecionando o componente e tenho um evento associado.
286+ if Assigned(FBtnCancelar) and Assigned(FEventoCancelar) then //estou desselecionando o componente e tenho um evento associado.
247287 begin
248- if mbtnCancelar is TButton then
288+ if FBtnCancelar is TButton then
249289 begin
250- btn := (mbtnCancelar as TButton);
251- btn.OnClick := eventoCancelar;
290+ Button := (FBtnCancelar as TButton);
291+ Button.OnClick := FEventoCancelar;
252292 end
253- else
254- if Value is TBitBtn then
293+ else if AValue is TBitBtn then
255294 begin
256- bitbtn := (mbtnCancelar as TBitBtn);
257- bitbtn.OnClick := eventoCancelar;
295+ BitBtn := (FBtnCancelar as TBitBtn);
296+ BitBtn.OnClick := FEventoCancelar;
258297 end;
259298
260- eventoCancelar := nil;
261-
299+ FEventoCancelar := nil;
262300 end;
263301
264- mbtnCancelar := Value;
302+ FBtnCancelar := AValue;
265303 end;
266304
267-procedure TMasterNavigator.setbtnEditar(const Value: TCustomButton);
268-var btn: TButton;
269-bitBtn: TBitBtn;
305+procedure TBRDMasterNavigator.setBtnEditar(const AValue: TCustomButton);
306+var
307+ Button: TButton;
308+ BitBtn: TBitBtn;
270309 begin
271- if Value = mbtnEditar then // não mudou nada.
310+ if AValue = FBtnEditar then // não mudou nada.
272311 Exit;
273312
274-
275-
276313 if not (csDesigning in Self.ComponentState) then //em design a gente não faz nada
277- if Assigned(Value) then //estou selecionando um componente
314+ if Assigned(AValue) then //estou selecionando um componente
278315 begin
279- if Value is TButton then
316+ if AValue is TButton then
280317 begin
281- btn := (Value as TButton);
282- if Assigned(btn.OnClick) then
283- eventoEditar := btn.OnClick;
284- btn.OnClick := acaoEditar;
318+ Button := (AValue as TButton);
319+
320+ if Assigned(Button.OnClick) then
321+ FEventoEditar := Button.OnClick;
322+
323+ Button.OnClick := AcaoEditar;
285324 end
286- else
287- if Value is TBitBtn then
325+ else if AValue is TBitBtn then
288326 begin
289- bitbtn := (Value as TBitBtn);
290- if Assigned(bitbtn.OnClick) then
291- eventoEditar := bitbtn.OnClick;
292- bitbtn.OnClick := acaoEditar;
327+ BitBtn := (AValue as TBitBtn);
328+
329+ if Assigned(BitBtn.OnClick) then
330+ FEventoEditar := BitBtn.OnClick;
331+
332+ BitBtn.OnClick := AcaoEditar;
293333 end;
294-
295334 end
296- else
297- if Assigned(mbtnEditar) and Assigned(eventoEditar) then //estou desselecionando o componente e tenho um evento associado.
335+ else if Assigned(FBtnEditar) and Assigned(FEventoEditar) then //estou desselecionando o componente e tenho um evento associado.
298336 begin
299- if mbtnEditar is TButton then
337+ if FBtnEditar is TButton then
300338 begin
301- btn := (mbtnEditar as TButton);
302- btn.OnClick := eventoEditar;
339+ Button := (FBtnEditar as TButton);
340+ Button.OnClick := FEventoEditar;
303341 end
304342 else
305- if Value is TBitBtn then
343+ if AValue is TBitBtn then
306344 begin
307- bitbtn := (mbtnEditar as TBitBtn);
308- bitbtn.OnClick := eventoEditar;
345+ BitBtn := (FBtnEditar as TBitBtn);
346+ BitBtn.OnClick := FEventoEditar;
309347 end;
310348
311- eventoEditar := nil;
349+ FEventoEditar := nil;
312350 end;
313351
314- mbtnEditar := Value;
315-
352+ FBtnEditar := AValue;
316353 end;
317354
318-procedure TMasterNavigator.setbtnExcluir(const Value: TCustomButton);
319-var btn: TButton;
320-bitBtn: TBitBtn;
355+procedure TBRDMasterNavigator.setBtnExcluir(const AValue: TCustomButton);
356+var
357+ Button: TButton;
358+ BitBtn: TBitBtn;
321359 begin
322- if Value = mbtnExcluir then // não mudou nada.
360+ if AValue = FBtnExcluir then // não mudou nada.
323361 Exit;
324362
325363 if not (csDesigning in Self.ComponentState) then //em design a gente não faz nada
326- if Assigned(Value) then //estou selecionando um componente
364+ if Assigned(AValue) then //estou selecionando um componente
327365 begin
328- if Value is TButton then
366+ if AValue is TButton then
329367 begin
330- btn := (Value as TButton);
331- if Assigned(btn.OnClick) then
332- eventoExcluir := btn.OnClick;
333- btn.OnClick := acaoExcluir;
368+ Button := (AValue as TButton);
369+
370+ if Assigned(Button.OnClick) then
371+ FEventoExcluir := Button.OnClick;
372+
373+ Button.OnClick := AcaoExcluir;
334374 end
335- else
336- if Value is TBitBtn then
375+ else if AValue is TBitBtn then
337376 begin
338- bitbtn := (Value as TBitBtn);
339- if Assigned(bitbtn.OnClick) then
340- eventoExcluir := bitbtn.OnClick;
341- bitbtn.OnClick := acaoExcluir;
377+ BitBtn := (AValue as TBitBtn);
378+
379+ if Assigned(BitBtn.OnClick) then
380+ FEventoExcluir := BitBtn.OnClick;
381+
382+ BitBtn.OnClick := AcaoExcluir;
342383 end;
343384 end
344- else
345- if Assigned(mbtnExcluir) and Assigned(eventoExcluir) then //estou desselecionando o componente e tenho um evento associado.
385+ else if Assigned(FBtnExcluir) and Assigned(FEventoExcluir) then //estou desselecionando o componente e tenho um evento associado.
346386 begin
347- if mbtnExcluir is TButton then
387+ if FBtnExcluir is TButton then
348388 begin
349- btn := (mbtnExcluir as TButton);
350- btn.OnClick := eventoExcluir;
389+ Button := (FBtnExcluir as TButton);
390+ Button.OnClick := FEventoExcluir;
351391 end
352392 else
353- if Value is TBitBtn then
393+ if AValue is TBitBtn then
354394 begin
355- bitbtn := (mbtnExcluir as TBitBtn);
356- bitbtn.OnClick := eventoExcluir;
395+ BitBtn := (FBtnExcluir as TBitBtn);
396+ BitBtn.OnClick := FEventoExcluir;
357397 end;
358398
359- eventoExcluir := nil;
360-
399+ FEventoExcluir := nil;
361400 end;
362401
363- mbtnExcluir := Value;
402+ FBtnExcluir := AValue;
364403 end;
365404
366-procedure TMasterNavigator.setbtnGravar(const Value: TCustomButton);
367-var btn: TButton;
368-bitBtn: TBitBtn;
405+procedure TBRDMasterNavigator.setBtnGravar(const AValue: TCustomButton);
406+var
407+ Button: TButton;
408+ BitBtn: TBitBtn;
369409 begin
370- if Value = mbtnGravar then // não mudou nada.
410+ if AValue = FBtnGravar then // não mudou nada.
371411 Exit;
372412
373413 if not (csDesigning in Self.ComponentState) then //em design a gente não faz nada
374- if Assigned(Value) then //estou selecionando um componente
414+ if Assigned(AValue) then //estou selecionando um componente
375415 begin
376- if Value is TButton then
416+ if AValue is TButton then
377417 begin
378- btn := (Value as TButton);
379- if Assigned(btn.OnClick) then
380- eventoGravar := btn.OnClick;
381- btn.OnClick := acaoGravar;
418+ Button := (AValue as TButton);
419+
420+ if Assigned(Button.OnClick) then
421+ FEventoGravar := Button.OnClick;
422+
423+ Button.OnClick := AcaoGravar;
382424 end
383- else
384- if Value is TBitBtn then
425+ else if AValue is TBitBtn then
385426 begin
386- bitbtn := (Value as TBitBtn);
387- if Assigned(bitbtn.OnClick) then
388- eventoGravar := bitbtn.OnClick;
389- bitbtn.OnClick := acaoGravar;
427+ BitBtn := (AValue as TBitBtn);
428+
429+ if Assigned(BitBtn.OnClick) then
430+ FEventoGravar := BitBtn.OnClick;
431+
432+ BitBtn.OnClick := AcaoGravar;
390433 end;
391434 end
392- else
393- if Assigned(mbtnGravar) and Assigned(eventoGravar) then //estou desselecionando o componente e tenho um evento associado.
435+ else if Assigned(FBtnGravar) and Assigned(FEventoGravar) then //estou desselecionando o componente e tenho um evento associado.
394436 begin
395- if mbtnGravar is TButton then
437+ if FBtnGravar is TButton then
396438 begin
397- btn := (mbtnGravar as TButton);
398- btn.OnClick := eventoGravar;
439+ Button := (FBtnGravar as TButton);
440+ Button.OnClick := FEventoGravar;
399441 end
400442 else
401- if Value is TBitBtn then
443+ if AValue is TBitBtn then
402444 begin
403- bitbtn := (mbtnGravar as TBitBtn);
404- bitbtn.OnClick := eventoGravar;
445+ BitBtn := (FBtnGravar as TBitBtn);
446+ BitBtn.OnClick := FEventoGravar;
405447 end;
406448
407- eventoGravar := nil;
408-
449+ FEventoGravar := nil;
409450 end;
410451
411- mbtnGravar := Value;
452+ FBtnGravar := AValue;
412453 end;
413454
414-procedure TMasterNavigator.setbtnNovo(const Value: TCustomButton);
415-var btn: TButton;
416-bitBtn: TBitBtn;
455+procedure TBRDMasterNavigator.setBtnNovo(const AValue: TCustomButton);
456+var
457+ Button: TButton;
458+ BitBtn: TBitBtn;
417459 begin
418- if Value = mbtnNovo then // não mudou nada.
460+ if AValue = FBtnNovo then // não mudou nada.
419461 Exit;
420462
421463 if not (csDesigning in Self.ComponentState) then //em design a gente não faz nada
422- if Assigned(Value) then //estou selecionando um componente
464+ if Assigned(AValue) then //estou selecionando um componente
423465 begin
424- if Value is TButton then
466+ if AValue is TButton then
425467 begin
426- btn := (Value as TButton);
427- if Assigned(btn.OnClick) then
428- eventoNovo := btn.OnClick;
429- btn.OnClick := acaoNovo;
468+ Button := (AValue as TButton);
469+
470+ if Assigned(Button.OnClick) then
471+ FEventoNovo := Button.OnClick;
472+
473+ Button.OnClick := AcaoNovo;
430474 end
431- else
432- if Value is TBitBtn then
475+ else if AValue is TBitBtn then
433476 begin
434- bitbtn := (Value as TBitBtn);
435- if Assigned(bitbtn.OnClick) then
436- eventoNovo := bitbtn.OnClick;
437- bitbtn.OnClick := acaoNovo;
477+ BitBtn := (AValue as TBitBtn);
478+
479+ if Assigned(BitBtn.OnClick) then
480+ FEventoNovo := BitBtn.OnClick;
481+
482+ BitBtn.OnClick := AcaoNovo;
438483 end;
439484 end
440- else
441- if Assigned(mbtnNovo) and Assigned(eventoNovo) then //estou desselecionando o componente e tenho um evento associado.
485+ else if Assigned(FBtnNovo) and Assigned(FEventoNovo) then //estou desselecionando o componente e tenho um evento associado.
442486 begin
443- if mbtnNovo is TButton then
487+ if FBtnNovo is TButton then
444488 begin
445- btn := (mbtnNovo as TButton);
446- btn.OnClick := eventoNovo;
489+ Button := (FBtnNovo as TButton);
490+ Button.OnClick := FEventoNovo;
447491 end
448492 else
449- if Value is TBitBtn then
493+ if AValue is TBitBtn then
450494 begin
451- bitbtn := (mbtnNovo as TBitBtn);
452- bitbtn.OnClick := eventoNovo;
495+ BitBtn := (FBtnNovo as TBitBtn);
496+ BitBtn.OnClick := FEventoNovo;
453497 end;
454498
455- eventoNovo := nil;
456-
499+ FEventoNovo := nil;
457500 end;
458501
459- mbtnNovo := Value;
502+ FBtnNovo := AValue;
460503 end;
461504
462-procedure TMasterNavigator.SetDataSource(const Value: TDataSource);
505+procedure TBRDMasterNavigator.SetDataSource(const AValue: TDataSource);
463506 begin
464- Link.DataSource := Value;
507+ FLink.DataSource := AValue;
465508 end;
466509
467-procedure TMasterNavigator.setSN_Editar(const Value: Boolean);
510+procedure TBRDMasterNavigator.SetSN_Editar(const AValue: Boolean);
468511 begin
469- mSN_Editar := Value;
470- onChange;
512+ FSN_Editar := AValue;
513+ UpdateGUI;
471514 end;
472515
473-procedure TMasterNavigator.setSN_Excluir(const Value: Boolean);
516+procedure TBRDMasterNavigator.SetSN_Excluir(const AValue: Boolean);
474517 begin
475- mSN_Excluir := Value;
476- onChange;
518+ FSN_Excluir := AValue;
519+ UpdateGUI;
477520 end;
478521
479-procedure TMasterNavigator.setSN_Incluir(const Value: Boolean);
522+procedure TBRDMasterNavigator.SetSN_Incluir(const AValue: Boolean);
480523 begin
481- mSN_Incluir := Value;
482- onChange;
524+ FSN_Incluir := AValue;
525+ UpdateGUI;
483526 end;
484527
485-procedure TMasterNavigator.StatusChange(Sender: TObject);
528+procedure TBRDMasterNavigator.DoStateChange(Sender: TObject);
486529 begin
487- onChange;
530+ UpdateGUI;
488531 end;
489532
490-procedure TMasterNavigator.TrySetFocus(Comp: TWinControl);
533+procedure TBRDMasterNavigator.TrySetFocus(AComp: TWinControl);
491534 begin
492535 try
493- if Comp.CanFocus then
494- Comp.SetFocus;
536+ if AComp.CanFocus then
537+ AComp.SetFocus;
495538 except
496-
539+ { Mudinho :) }
497540 end;
498541 end;
499542
@@ -502,15 +545,17 @@
502545 procedure TChangeDataLink.ActiveChanged;
503546 begin
504547 inherited;
505- if Assigned(mOnStateChange) then
506- mOnStateChange(Self.DataSet);
548+
549+ if Assigned(FOnStateChange) then
550+ FOnStateChange(DataSet);
507551 end;
508552
509553 procedure TChangeDataLink.EditingChanged;
510554 begin
511555 inherited;
512- if Assigned(mOnStateChange) then
513- mOnStateChange(Self.DataSet);
556+
557+ if Assigned(FOnStateChange) then
558+ FOnStateChange(DataSet);
514559 end;
515560
516561 end.
--- trunk/src/BRD.Register.pas (revision 3)
+++ trunk/src/BRD.Register.pas (revision 4)
@@ -7,11 +7,11 @@
77 implementation
88
99 uses
10- BRD.SMP.MasterNavigator;
10+ System.Classes, BRD.MasterNavigator;
1111
1212 procedure Register;
1313 begin
14- RegisterComponents('Data Controls', [TMasterNavigator]);
14+ RegisterComponents('Data Controls', [TBRDMasterNavigator]);
1515 end;
1616
1717 end.
Show on old repository browser