Compare commits
102 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 005ad1b637 | |||
| a94bd81b86 | |||
| 3faefc433d | |||
| faae54253c | |||
| 025b5ad823 | |||
| a1d83665c2 | |||
| db942ffa79 | |||
| fde328f775 | |||
| 773bb811d3 | |||
| a5db1dab14 | |||
| 36497dc456 | |||
| 98685a8e1d | |||
| ca4e178ab5 | |||
| b1b8def6eb | |||
| 8c42ef1f80 | |||
| 2df919ad37 | |||
| 3d656d4e2b | |||
| 72c7795cb3 | |||
| 347c202cb3 | |||
| 0c1b87a136 | |||
| f053b73d66 | |||
| babfd1fe48 | |||
| c83756255b | |||
| 96c436f1d9 | |||
| d018b53431 | |||
| 1a50e8079c | |||
| 0bd6255af8 | |||
| ab106540f3 | |||
| d1cc146bae | |||
| 2c68928503 | |||
| 61996caa03 | |||
| c7e8b89e41 | |||
| 0844f2cb7d | |||
| 5d1ba11799 | |||
| 073d29872a | |||
| 73fc0f45a2 | |||
| 5d716410f0 | |||
| c41fa8eb0f | |||
| 8c8efb17fb | |||
| c25908891b | |||
| bcf82f8833 | |||
| 523de01d77 | |||
| e918358544 | |||
| 8e748ddc7f | |||
| 929485d207 | |||
| d1ff7c3690 | |||
| 46bb97ed57 | |||
| ec5e7e3b2d | |||
| 99410f0272 | |||
| 3e0bcba9e4 | |||
| b14718b5ad | |||
| 1713b2b4a9 | |||
| 8edf3d7026 | |||
| e84aca044e | |||
| 9f7d7df6d1 | |||
| fa50cd7e2a | |||
| f146ff560d | |||
| a501958189 | |||
| 27e40864a2 | |||
| 9738b2cc39 | |||
| 2c31aa24b7 | |||
| c9d18a1e39 | |||
| ab8e38d08b | |||
| 817c4fc88f | |||
| a6c0447a65 | |||
| d5b336406b | |||
| a1a08c5eb2 | |||
| 3650929caa | |||
| 964bbd18b9 | |||
| 0023eac591 | |||
| b8e251ab7e | |||
| 762c3c5ddb | |||
| c956c231cb | |||
| 563a7e002f | |||
| 1a24c7025a | |||
| 344ba18b08 | |||
| 8539f98d10 | |||
| 97a2eda409 | |||
| 0959e49c7f | |||
| a561c77e14 | |||
| d72ff121eb | |||
| 02bae8646b | |||
| d309e38ec1 | |||
| d17d0d2e9b | |||
| 05bc30f293 | |||
| 798dab2347 | |||
| dc0da91984 | |||
| ff42769703 | |||
| c88a39f2d6 | |||
| 8fb8bf219f | |||
| b83d751cc1 | |||
| 594d7d2347 | |||
| e5a936699e | |||
| 0e96cbcd47 | |||
| 5577da31e9 | |||
| afa38c6f6a | |||
| b256adc093 | |||
| e63365542f | |||
| 26d974b043 | |||
| 505300b281 | |||
| e081b58fd2 | |||
| 98b066acc1 |
BIN
Build/Build.fbl6
Normal file
BIN
Build/Build.fbl6
Normal file
Binary file not shown.
21530
Build/Build.fbp5
21530
Build/Build.fbp5
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
<variables><DELPHI><![CDATA[C:\Archivos de programa\Borland\Delphi10\bin\dcc32.exe]]></DELPHI></variables>
|
|
||||||
BIN
Build/Build.fbz6
Normal file
BIN
Build/Build.fbz6
Normal file
Binary file not shown.
BIN
Build/Installer.fbl6
Normal file
BIN
Build/Installer.fbl6
Normal file
Binary file not shown.
BIN
Build/Installer.fbz6
Normal file
BIN
Build/Installer.fbz6
Normal file
Binary file not shown.
BIN
Build/UploadFTP.fbl6
Normal file
BIN
Build/UploadFTP.fbl6
Normal file
Binary file not shown.
BIN
Build/UploadFTP.fbz6
Normal file
BIN
Build/UploadFTP.fbz6
Normal file
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
118
Installer/librerias.txt
Normal file
118
Installer/librerias.txt
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
adortl100.bpl
|
||||||
|
bdertl100.bpl
|
||||||
|
dbrtl100.bpl
|
||||||
|
dclIndyCore100.bpl
|
||||||
|
designide100.bpl
|
||||||
|
dsnap100.bpl
|
||||||
|
IndyCore100.bpl
|
||||||
|
IndyProtocols100.bpl
|
||||||
|
IndySystem100.bpl
|
||||||
|
rtl100.bpl
|
||||||
|
tee7100.bpl
|
||||||
|
teeUI7100.bpl
|
||||||
|
vcl100.bpl
|
||||||
|
vclactnband100.bpl
|
||||||
|
vcldb100.bpl
|
||||||
|
vcljpg100.bpl
|
||||||
|
vclshlctrls100.bpl
|
||||||
|
vclsmp100.bpl
|
||||||
|
vclx100.bpl
|
||||||
|
xmlrtl100.bpl
|
||||||
|
GUISDK_D10.bpl
|
||||||
|
|
||||||
|
ccpack10.bpl
|
||||||
|
cfpack_D10.bpl
|
||||||
|
cxDataD10.bpl
|
||||||
|
cxEditorsD10.bpl
|
||||||
|
cxExportD10.bpl
|
||||||
|
cxExtEditorsD10.bpl
|
||||||
|
cxGridD10.bpl
|
||||||
|
cxIntl6D10.bpl
|
||||||
|
cxIntlPrintSys3D10.bpl
|
||||||
|
cxLibraryD10.bpl
|
||||||
|
cxPageControlD10.bpl
|
||||||
|
cxTreeListD10.bpl
|
||||||
|
cxVerticalGridD10.bpl
|
||||||
|
DataAbstract_Core_D10.bpl
|
||||||
|
dclcxLibraryD10.bpl
|
||||||
|
dxBarD10.bpl
|
||||||
|
dxBarExtItemsD10.bpl
|
||||||
|
dxComnD10.bpl
|
||||||
|
dxGDIPlusD10.bpl
|
||||||
|
dxLayoutControlD10.bpl
|
||||||
|
dxPSCoreD10.bpl
|
||||||
|
dxPScxCommonD10.bpl
|
||||||
|
dxPScxGrid6LnkD10.bpl
|
||||||
|
dxPSLnksD10.bpl
|
||||||
|
dxPsPrVwAdvD10.bpl
|
||||||
|
dxThemeD10.bpl
|
||||||
|
frx10.bpl
|
||||||
|
frxe10.bpl
|
||||||
|
frxTee10.bpl
|
||||||
|
fs10.bpl
|
||||||
|
fsTee10.bpl
|
||||||
|
fqb100.bpl
|
||||||
|
tee100.bpl
|
||||||
|
teeui100.bpl
|
||||||
|
teedb100.bpl
|
||||||
|
dbexpress100.bpl
|
||||||
|
EasyListviewD10.bpl
|
||||||
|
MPCommonLibD10.bpl
|
||||||
|
|
||||||
|
midas.dll
|
||||||
|
|
||||||
|
|
||||||
|
Jcl100.bpl
|
||||||
|
JclVcl100.bpl
|
||||||
|
JSDialog100.bpl
|
||||||
|
JvAppFrmD10R.bpl
|
||||||
|
JvCmpD10R.bpl
|
||||||
|
JvCoreD10R.bpl
|
||||||
|
JvCtrlsD10R.bpl
|
||||||
|
JvCustomD10R.bpl
|
||||||
|
JvDlgsD10R.bpl
|
||||||
|
JvGlobusD10R.bpl
|
||||||
|
JvJansD10R.bpl
|
||||||
|
JvMMD10R.bpl
|
||||||
|
JvPageCompsD10R.bpl
|
||||||
|
JvStdCtrlsD10R.bpl
|
||||||
|
JvSystemD10R.bpl
|
||||||
|
pckMD5.bpl
|
||||||
|
pckUCDataConnector.bpl
|
||||||
|
pckUserControl_RT.bpl
|
||||||
|
PluginSDK_D10R.bpl
|
||||||
|
PngComponentsD10.bpl
|
||||||
|
PNG_D10.bpl
|
||||||
|
RemObjects_Core_D10.bpl
|
||||||
|
tb2k_d10.bpl
|
||||||
|
tbx_d10.bpl
|
||||||
|
|
||||||
|
dxSkinBlackD10.bpl
|
||||||
|
dxSkinBlueD10.bpl
|
||||||
|
dxSkinCaramelD10.bpl
|
||||||
|
dxSkinCoffeeD10.bpl
|
||||||
|
dxSkinGlassOceansD10.bpl
|
||||||
|
dxSkiniMaginaryD10.bpl
|
||||||
|
dxSkinLilianD10.bpl
|
||||||
|
dxSkinLiquidSkyD10.bpl
|
||||||
|
dxSkinLondonLiquidSkyD10.bpl
|
||||||
|
dxSkinMcSkinD10.bpl
|
||||||
|
dxSkinMoneyTwinsD10.bpl
|
||||||
|
dxSkinOffice2007BlackD10.bpl
|
||||||
|
dxSkinOffice2007BlueD10.bpl
|
||||||
|
dxSkinOffice2007GreenD10.bpl
|
||||||
|
dxSkinOffice2007PinkD10.bpl
|
||||||
|
dxSkinOffice2007SilverD10.bpl
|
||||||
|
dxSkinsCoreD10.bpl
|
||||||
|
dxSkinscxPCPainterD10.bpl
|
||||||
|
dxSkinscxScheduler3PainterD10.bpl
|
||||||
|
dxSkinsdxBarPainterD10.bpl
|
||||||
|
dxSkinsdxDLPainterD10.bpl
|
||||||
|
dxSkinsdxLCPainterD10.bpl
|
||||||
|
dxSkinsdxNavBar2PainterD10.bpl
|
||||||
|
dxSkinsdxRibbonPainterD10.bpl
|
||||||
|
dxSkinSilverD10.bpl
|
||||||
|
dxSkinStardustD10.bpl
|
||||||
|
dxSkinValentineD10.bpl
|
||||||
|
dxSkinXmas2008BlueD10.bpl
|
||||||
|
|
||||||
@ -214,9 +214,9 @@
|
|||||||
<Excluded_Packages Name="C:\Documents and Settings\David\Mis documentos\Borland Studio Projects\Bpl\dxGDIPlusD10.bpl">ExpressGDI+ Library by Developer Express Inc.</Excluded_Packages>
|
<Excluded_Packages Name="C:\Documents and Settings\David\Mis documentos\Borland Studio Projects\Bpl\dxGDIPlusD10.bpl">ExpressGDI+ Library by Developer Express Inc.</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=519
|
EurekaLog Version=6014
|
||||||
Activate=1
|
Activate=1
|
||||||
Activate Handle=1
|
Activate Handle=1
|
||||||
Save Log File=1
|
Save Log File=1
|
||||||
@ -530,5 +530,190 @@ Count mtSend_SuccessMsg=1
|
|||||||
mtSend_SuccessMsg0="The message was sent successfully."
|
mtSend_SuccessMsg0="The message was sent successfully."
|
||||||
Count mtSend_FailureMsg=1
|
Count mtSend_FailureMsg=1
|
||||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||||
|
ProxyURL=
|
||||||
|
ProxyUser=
|
||||||
|
ProxyPassword=
|
||||||
|
ProxyPort=8080
|
||||||
|
TrakerUser=
|
||||||
|
TrakerPassword=
|
||||||
|
TrakerAssignTo=
|
||||||
|
TrakerProject=
|
||||||
|
TrakerCategory=
|
||||||
|
TrakerTrialID=
|
||||||
|
ZipPassword=
|
||||||
|
PreBuildEvent=
|
||||||
|
PostSuccessfulBuildEvent=
|
||||||
|
PostFailureBuildEvent=
|
||||||
|
ExceptionDialogType=2
|
||||||
|
loSaveModulesAndProcessesSections=1
|
||||||
|
loSaveAssemblerAndCPUSections=1
|
||||||
|
soAppUpTime=1
|
||||||
|
soExcModuleName=1
|
||||||
|
soExcModuleVersion=1
|
||||||
|
soExcID=1
|
||||||
|
soExcCount=1
|
||||||
|
soExcStatus=1
|
||||||
|
soExcNote=1
|
||||||
|
soUserID=1
|
||||||
|
soUserName=1
|
||||||
|
soUserEmail=1
|
||||||
|
soUserPrivileges=1
|
||||||
|
soUserCompany=1
|
||||||
|
soCmpDisplayDPI=1
|
||||||
|
soCmpVideoCard=1
|
||||||
|
soCmpPrinter=1
|
||||||
|
soOSCharset=1
|
||||||
|
soCustomData=1
|
||||||
|
sndAddComputerNameInFileName=0
|
||||||
|
edoSendErrorReportChecked=1
|
||||||
|
edoShowSendErrorReportOption=1
|
||||||
|
edoShowAttachScreenshotOption=1
|
||||||
|
edoShowCustomButton=0
|
||||||
|
csoDoNotStoreProcNames=0
|
||||||
|
boHandleSafeCallExceptions=1
|
||||||
|
boCallRTLExceptionEvent=0
|
||||||
|
boCatchHandledExceptions=0
|
||||||
|
loCatchLeaks=0
|
||||||
|
loGroupsSonLeaks=1
|
||||||
|
loHideBorlandLeaks=1
|
||||||
|
loFreeAllLeaks=1
|
||||||
|
loCatchLeaksExceptions=1
|
||||||
|
cfoReduceFileSize=1
|
||||||
|
cfoCheckFileCorruption=0
|
||||||
|
Count mtErrorMsgCaption=1
|
||||||
|
mtErrorMsgCaption0="Error."
|
||||||
|
Count mtDialog_ProcessesCaption=1
|
||||||
|
mtDialog_ProcessesCaption0="Processes"
|
||||||
|
Count mtDialog_ProcessesHeader=1
|
||||||
|
mtDialog_ProcessesHeader0="Processes Information"
|
||||||
|
Count mtDialog_AsmCaption=1
|
||||||
|
mtDialog_AsmCaption0="Assembler"
|
||||||
|
Count mtDialog_AsmHeader=1
|
||||||
|
mtDialog_AsmHeader0="Assembler Information"
|
||||||
|
Count mtDialog_CustomButtonCaption=1
|
||||||
|
mtDialog_CustomButtonCaption0="%26Help"
|
||||||
|
Count mtMSDialog_ErrorMsgCaption=1
|
||||||
|
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||||
|
Count mtMSDialog_RestartCaption=1
|
||||||
|
mtMSDialog_RestartCaption0="Restart application."
|
||||||
|
Count mtMSDialog_TerminateCaption=1
|
||||||
|
mtMSDialog_TerminateCaption0="Terminate application."
|
||||||
|
Count mtMSDialog_PleaseCaption=1
|
||||||
|
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||||
|
Count mtMSDialog_DescriptionCaption=1
|
||||||
|
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||||
|
Count mtMSDialog_SeeDetailsCaption=1
|
||||||
|
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||||
|
Count mtMSDialog_SeeClickCaption=1
|
||||||
|
mtMSDialog_SeeClickCaption0="click here."
|
||||||
|
Count mtMSDialog_HowToReproduceCaption=1
|
||||||
|
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happened (optional)?"
|
||||||
|
Count mtMSDialog_EmailCaption=1
|
||||||
|
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||||
|
Count mtMSDialog_SendButtonCaption=1
|
||||||
|
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||||
|
Count mtMSDialog_NoSendButtonCaption=1
|
||||||
|
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||||
|
Count mtLog_AppUpTime=1
|
||||||
|
mtLog_AppUpTime0="Up Time"
|
||||||
|
Count mtLog_ExcModuleName=1
|
||||||
|
mtLog_ExcModuleName0="Module Name"
|
||||||
|
Count mtLog_ExcModuleVersion=1
|
||||||
|
mtLog_ExcModuleVersion0="Module Version"
|
||||||
|
Count mtLog_ExcID=1
|
||||||
|
mtLog_ExcID0="ID"
|
||||||
|
Count mtLog_ExcCount=1
|
||||||
|
mtLog_ExcCount0="Count"
|
||||||
|
Count mtLog_ExcStatus=1
|
||||||
|
mtLog_ExcStatus0="Status"
|
||||||
|
Count mtLog_ExcNote=1
|
||||||
|
mtLog_ExcNote0="Note"
|
||||||
|
Count mtLog_UserHeader=1
|
||||||
|
mtLog_UserHeader0="User"
|
||||||
|
Count mtLog_UserID=1
|
||||||
|
mtLog_UserID0="ID"
|
||||||
|
Count mtLog_UserName=1
|
||||||
|
mtLog_UserName0="Name"
|
||||||
|
Count mtLog_UserEmail=1
|
||||||
|
mtLog_UserEmail0="Email"
|
||||||
|
Count mtLog_UserCompany=1
|
||||||
|
mtLog_UserCompany0="Company"
|
||||||
|
Count mtLog_UserPrivileges=1
|
||||||
|
mtLog_UserPrivileges0="Privileges"
|
||||||
|
Count mtLog_CmpDisplayDPI=1
|
||||||
|
mtLog_CmpDisplayDPI0="Display DPI"
|
||||||
|
Count mtLog_CmpVideoCard=1
|
||||||
|
mtLog_CmpVideoCard0="Video Card"
|
||||||
|
Count mtLog_CmpPrinter=1
|
||||||
|
mtLog_CmpPrinter0="Printer"
|
||||||
|
Count mtLog_OSCharset=1
|
||||||
|
mtLog_OSCharset0="Charset"
|
||||||
|
Count mtCallStack_LeakCaption=1
|
||||||
|
mtCallStack_LeakCaption0="Memory Leak"
|
||||||
|
Count mtCallStack_LeakData=1
|
||||||
|
mtCallStack_LeakData0="Data"
|
||||||
|
Count mtCallStack_LeakType=1
|
||||||
|
mtCallStack_LeakType0="Type"
|
||||||
|
Count mtCallStack_LeakSize=1
|
||||||
|
mtCallStack_LeakSize0="Total size"
|
||||||
|
Count mtCallStack_LeakCount=1
|
||||||
|
mtCallStack_LeakCount0="Count"
|
||||||
|
Count mtSendDialog_Login=1
|
||||||
|
mtSendDialog_Login0="Login..."
|
||||||
|
Count mtSendDialog_Sent=1
|
||||||
|
mtSendDialog_Sent0="Message sent."
|
||||||
|
Count mtSendDialog_SelectProject=1
|
||||||
|
mtSendDialog_SelectProject0="Select project..."
|
||||||
|
Count mtSendDialog_Searching=1
|
||||||
|
mtSendDialog_Searching0="Searching..."
|
||||||
|
Count mtSendDialog_Modifying=1
|
||||||
|
mtSendDialog_Modifying0="Modifying..."
|
||||||
|
Count mtSendDialog_Disconnecting=1
|
||||||
|
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||||
|
Count mtSendDialog_Disconnected=1
|
||||||
|
mtSendDialog_Disconnected0="Disconnected."
|
||||||
|
Count mtProcesses_ID=1
|
||||||
|
mtProcesses_ID0="ID"
|
||||||
|
Count mtProcesses_Name=1
|
||||||
|
mtProcesses_Name0="Name"
|
||||||
|
Count mtProcesses_Description=1
|
||||||
|
mtProcesses_Description0="Description"
|
||||||
|
Count mtProcesses_Version=1
|
||||||
|
mtProcesses_Version0="Version"
|
||||||
|
Count mtProcesses_Memory=1
|
||||||
|
mtProcesses_Memory0="Memory"
|
||||||
|
Count mtProcesses_Priority=1
|
||||||
|
mtProcesses_Priority0="Priority"
|
||||||
|
Count mtProcesses_Threads=1
|
||||||
|
mtProcesses_Threads0="Threads"
|
||||||
|
Count mtProcesses_Path=1
|
||||||
|
mtProcesses_Path0="Path"
|
||||||
|
Count mtSend_BugClosedMsg=2
|
||||||
|
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||||
|
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||||
|
Count mtSend_UnknownErrorMsg=1
|
||||||
|
mtSend_UnknownErrorMsg0="Unknown error."
|
||||||
|
Count mtSend_InvalidLoginMsg=1
|
||||||
|
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||||
|
Count mtSend_InvalidSearchMsg=1
|
||||||
|
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||||
|
Count mtSend_InvalidSelectionMsg=1
|
||||||
|
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||||
|
Count mtSend_InvalidInsertMsg=1
|
||||||
|
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||||
|
Count mtSend_InvalidModifyMsg=1
|
||||||
|
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||||
|
Count mtFileCrackedMsg=2
|
||||||
|
mtFileCrackedMsg0="This file is cracked."
|
||||||
|
mtFileCrackedMsg1="The application will be closed."
|
||||||
|
Count mtException_LeakMultiFree=1
|
||||||
|
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||||
|
Count mtException_LeakMemoryOverrun=1
|
||||||
|
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||||
|
Count mtException_AntiFreeze=1
|
||||||
|
mtException_AntiFreeze0="The application seems to be frozen."
|
||||||
|
Count mtInvalidEmailMsg=1
|
||||||
|
mtInvalidEmailMsg0="Invalid email."
|
||||||
|
TextsCollection=English
|
||||||
EurekaLog Last Line -->
|
EurekaLog Last Line -->
|
||||||
</BorlandProject>
|
</BorlandProject>
|
||||||
|
|||||||
@ -45,7 +45,7 @@ requires
|
|||||||
cxExportD10,
|
cxExportD10,
|
||||||
tbx_d10,
|
tbx_d10,
|
||||||
tb2k_d10,
|
tb2k_d10,
|
||||||
cxIntl5D10,
|
cxIntl6D10,
|
||||||
vclactnband,
|
vclactnband,
|
||||||
designide,
|
designide,
|
||||||
xmlrtl,
|
xmlrtl,
|
||||||
@ -66,7 +66,7 @@ requires
|
|||||||
dxPScxCommonD10,
|
dxPScxCommonD10,
|
||||||
dxPSLnksD10,
|
dxPSLnksD10,
|
||||||
vclshlctrls,
|
vclshlctrls,
|
||||||
dxPScxGridLnkD10,
|
dxPScxGrid6LnkD10,
|
||||||
dclcxLibraryD10,
|
dclcxLibraryD10,
|
||||||
dxPsPrVwAdvD10,
|
dxPsPrVwAdvD10,
|
||||||
dxBarExtItemsD10,
|
dxBarExtItemsD10,
|
||||||
@ -78,7 +78,8 @@ requires
|
|||||||
jsDialog100,
|
jsDialog100,
|
||||||
indy,
|
indy,
|
||||||
JvDlgsD10R,
|
JvDlgsD10R,
|
||||||
JvNetD10R;
|
JvNetD10R,
|
||||||
|
dxGDIPlusD10;
|
||||||
|
|
||||||
contains
|
contains
|
||||||
uDataTableUtils in 'Utiles\uDataTableUtils.pas',
|
uDataTableUtils in 'Utiles\uDataTableUtils.pas',
|
||||||
@ -100,6 +101,10 @@ contains
|
|||||||
MD5 in 'Utiles\MD5.pas',
|
MD5 in 'Utiles\MD5.pas',
|
||||||
uPasswordUtils in 'Utiles\uPasswordUtils.pas',
|
uPasswordUtils in 'Utiles\uPasswordUtils.pas',
|
||||||
uInfoProjectUtils in 'Utiles\uInfoProjectUtils.pas',
|
uInfoProjectUtils in 'Utiles\uInfoProjectUtils.pas',
|
||||||
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas';
|
uInformeRegistryUtils in 'ClassRegistry\uInformeRegistryUtils.pas',
|
||||||
|
uStringsUtils in 'Utiles\uStringsUtils.pas',
|
||||||
|
uDataModuleImpresiones in '..\Modulos\Impresiones\Data\uDataModuleImpresiones.pas' {dmImpresiones: TDataModule},
|
||||||
|
uEMailUtils in 'Utiles\uEMailUtils.pas',
|
||||||
|
uDataModuleRegistroCorreos in '..\Modulos\Registro de correos\Data\uDataModuleRegistroCorreos.pas' {dmRegistroCorreos: TDataModule};
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -23,6 +23,8 @@ type
|
|||||||
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant);
|
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant);
|
||||||
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray);
|
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray);
|
||||||
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer);
|
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer);
|
||||||
|
procedure BeginUpdate(ADataTable: IDAStronglyTypedDataTable);
|
||||||
|
procedure EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
||||||
|
|
||||||
// procedure Copy(SMExport: TSMExportToClipboard);
|
// procedure Copy(SMExport: TSMExportToClipboard);
|
||||||
// procedure Paste;
|
// procedure Paste;
|
||||||
@ -43,8 +45,6 @@ type
|
|||||||
procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
|
procedure Renumerar(DataTable: TDADataTable; LocalizaPosicion: Integer);
|
||||||
function DesplazarNPosiciones(DataTable: TDADataTable; NumOrdenIni: Variant; NPosiciones: Variant): Integer;
|
function DesplazarNPosiciones(DataTable: TDADataTable; NumOrdenIni: Variant; NPosiciones: Variant): Integer;
|
||||||
procedure Mover(DataTable: TDADataTable; Posicion: Integer; NumPosiciones: Integer);
|
procedure Mover(DataTable: TDADataTable; Posicion: Integer; NumPosiciones: Integer);
|
||||||
procedure BeginUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
procedure EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
|
||||||
|
|
||||||
//Si en los hijos existen campos a tener en cuenta se sobreescribira este metodo
|
//Si en los hijos existen campos a tener en cuenta se sobreescribira este metodo
|
||||||
procedure validarCampos(DataTable: TDADataTable); virtual;
|
procedure validarCampos(DataTable: TDADataTable); virtual;
|
||||||
@ -71,6 +71,8 @@ type
|
|||||||
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant); virtual;
|
procedure Add(ADataTable: IDAStronglyTypedDataTable; TipoConcepto: Variant); virtual;
|
||||||
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray); virtual;
|
procedure Delete(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray); virtual;
|
||||||
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer); virtual;
|
procedure Move(ADataTable: IDAStronglyTypedDataTable; Posicion: TIntegerArray; Posiciones: Integer); virtual;
|
||||||
|
procedure BeginUpdate(ADataTable: IDAStronglyTypedDataTable);
|
||||||
|
procedure EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
||||||
|
|
||||||
// procedure Copy(SMExport: TSMExportToClipboard);
|
// procedure Copy(SMExport: TSMExportToClipboard);
|
||||||
// procedure Paste;
|
// procedure Paste;
|
||||||
@ -348,12 +350,14 @@ end;
|
|||||||
procedure TControllerDetallesBase.EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
procedure TControllerDetallesBase.EndUpdate(ADataTable: IDAStronglyTypedDataTable);
|
||||||
begin
|
begin
|
||||||
Dec(fUpdateCount);
|
Dec(fUpdateCount);
|
||||||
CalcularTotales(True, ADataTable.DataTable);
|
|
||||||
ADataTable.DataTable.EnableControls;
|
|
||||||
|
|
||||||
if fUpdateCount = 0 then
|
if fUpdateCount = 0 then
|
||||||
|
begin
|
||||||
|
CalcularTotales(True, ADataTable.DataTable);
|
||||||
AvisarObservadores(ADataTable);
|
AvisarObservadores(ADataTable);
|
||||||
|
end;
|
||||||
|
|
||||||
|
ADataTable.DataTable.EnableControls;
|
||||||
HideHourglassCursor;
|
HideHourglassCursor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -181,9 +181,9 @@
|
|||||||
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcltee100.bpl">TeeChart Components</Excluded_Packages>
|
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dcltee100.bpl">TeeChart Components</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=519
|
EurekaLog Version=6014
|
||||||
Activate=1
|
Activate=1
|
||||||
Activate Handle=1
|
Activate Handle=1
|
||||||
Save Log File=1
|
Save Log File=1
|
||||||
|
|||||||
@ -65,7 +65,7 @@ requires
|
|||||||
dxPScxCommonD10,
|
dxPScxCommonD10,
|
||||||
dxPSLnksD10,
|
dxPSLnksD10,
|
||||||
vclshlctrls,
|
vclshlctrls,
|
||||||
dxPScxGridLnkD10,
|
dxPScxGrid6LnkD10,
|
||||||
dclcxLibraryD10,
|
dclcxLibraryD10,
|
||||||
dxPsPrVwAdvD10,
|
dxPsPrVwAdvD10,
|
||||||
dxBarExtItemsD10,
|
dxBarExtItemsD10,
|
||||||
@ -82,7 +82,8 @@ requires
|
|||||||
PNG_D10,
|
PNG_D10,
|
||||||
PngComponentsD10,
|
PngComponentsD10,
|
||||||
ControllerBase,
|
ControllerBase,
|
||||||
cxIntlPrintSys3D10;
|
cxIntlPrintSys3D10,
|
||||||
|
dxGDIPlusD10;
|
||||||
|
|
||||||
contains
|
contains
|
||||||
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
||||||
@ -107,6 +108,8 @@ contains
|
|||||||
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
||||||
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
||||||
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
||||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame};
|
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame},
|
||||||
|
uDialogElegirEMail in 'uDialogElegirEMail.pas' {fDialogElegirEMail},
|
||||||
|
uDialogListaEnvioEMail in 'uDialogListaEnvioEMail.pas' {fDialogListaEnvioEMail};
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@ -18,7 +18,7 @@ uses
|
|||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg,
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils;
|
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|||||||
115
Source/Base/GUIBase/uDialogElegirEMail.dfm
Normal file
115
Source/Base/GUIBase/uDialogElegirEMail.dfm
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
inherited fDialogElegirEMail: TfDialogElegirEMail
|
||||||
|
Caption = 'Elegir direcci'#243'n de correo electr'#243'nico'
|
||||||
|
ClientHeight = 258
|
||||||
|
ClientWidth = 533
|
||||||
|
OnCloseQuery = FormCloseQuery
|
||||||
|
OnCreate = FormCreate
|
||||||
|
OnDestroy = FormDestroy
|
||||||
|
ExplicitWidth = 539
|
||||||
|
ExplicitHeight = 283
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited pnlBotones: TFlowPanel
|
||||||
|
Top = 202
|
||||||
|
Width = 533
|
||||||
|
ExplicitTop = 202
|
||||||
|
ExplicitWidth = 533
|
||||||
|
inherited Button1: TButton
|
||||||
|
Left = 437
|
||||||
|
ExplicitLeft = 437
|
||||||
|
end
|
||||||
|
inherited Button2: TButton
|
||||||
|
Left = 347
|
||||||
|
ExplicitLeft = 347
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited FlowPanel1: TFlowPanel
|
||||||
|
Width = 533
|
||||||
|
Height = 202
|
||||||
|
ExplicitWidth = 533
|
||||||
|
ExplicitHeight = 202
|
||||||
|
inherited lblInstruccion: TLabel
|
||||||
|
Width = 477
|
||||||
|
Caption = 'Indique la direcci'#243'n de correo electr'#243'nico del destinatario:'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ExplicitWidth = 477
|
||||||
|
end
|
||||||
|
inherited Label2: TLabel
|
||||||
|
Width = 490
|
||||||
|
Height = 45
|
||||||
|
Caption =
|
||||||
|
'Para enviar el correo, puede usar la direcci'#243'n administrativa (s' +
|
||||||
|
'i el cliente la tiene en su ficha) o indicar otra direcci'#243'n dist' +
|
||||||
|
'inta con la segunda opci'#243'n.'
|
||||||
|
WordWrap = True
|
||||||
|
ExplicitWidth = 490
|
||||||
|
ExplicitHeight = 45
|
||||||
|
end
|
||||||
|
object Panel1: TPanel
|
||||||
|
Left = 31
|
||||||
|
Top = 115
|
||||||
|
Width = 482
|
||||||
|
Height = 80
|
||||||
|
Align = alClient
|
||||||
|
BevelOuter = bvNone
|
||||||
|
ParentColor = True
|
||||||
|
TabOrder = 0
|
||||||
|
object rbCombo: TRadioButton
|
||||||
|
Tag = 1
|
||||||
|
Left = 10
|
||||||
|
Top = 6
|
||||||
|
Width = 170
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Usar la direcci'#243'n administrativa:'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = rbComboClick
|
||||||
|
end
|
||||||
|
object cbEMail: TComboBox
|
||||||
|
Left = 211
|
||||||
|
Top = 6
|
||||||
|
Width = 262
|
||||||
|
Height = 21
|
||||||
|
Style = csDropDownList
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object rbEdit: TRadioButton
|
||||||
|
Tag = 2
|
||||||
|
Left = 10
|
||||||
|
Top = 41
|
||||||
|
Width = 202
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Usar la siguiente direcci'#243'n de correo:'
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = rbEditClick
|
||||||
|
end
|
||||||
|
object edtEMail: TcxHyperLinkEdit
|
||||||
|
Left = 211
|
||||||
|
Top = 39
|
||||||
|
Properties.UsePrefix = upNever
|
||||||
|
Properties.ValidateOnEnter = True
|
||||||
|
Properties.Prefix = ''
|
||||||
|
Style.LookAndFeel.Kind = lfStandard
|
||||||
|
Style.LookAndFeel.NativeStyle = True
|
||||||
|
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||||
|
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleFocused.LookAndFeel.NativeStyle = True
|
||||||
|
StyleHot.LookAndFeel.Kind = lfStandard
|
||||||
|
StyleHot.LookAndFeel.NativeStyle = True
|
||||||
|
TabOrder = 3
|
||||||
|
Width = 262
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited ActionList1: TActionList
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
inherited actAceptar: TAction
|
||||||
|
OnExecute = actAceptarExecute
|
||||||
|
end
|
||||||
|
inherited actCancelar: TAction
|
||||||
|
OnExecute = actCancelarExecute
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
173
Source/Base/GUIBase/uDialogElegirEMail.pas
Normal file
173
Source/Base/GUIBase/uDialogElegirEMail.pas
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
unit uDialogElegirEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, cxControls, cxContainer,
|
||||||
|
cxEdit, cxTextEdit, cxHyperLinkEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfDialogElegirEMail = class(TfDialogBase)
|
||||||
|
Panel1: TPanel;
|
||||||
|
rbCombo: TRadioButton;
|
||||||
|
cbEMail: TComboBox;
|
||||||
|
rbEdit: TRadioButton;
|
||||||
|
edtEMail: TcxHyperLinkEdit;
|
||||||
|
procedure rbComboClick(Sender: TObject);
|
||||||
|
procedure rbEditClick(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure actAceptarExecute(Sender: TObject);
|
||||||
|
procedure actCancelarExecute(Sender: TObject);
|
||||||
|
private
|
||||||
|
FListaDirecciones: TStringList;
|
||||||
|
function GetEMailElegido: String;
|
||||||
|
procedure ActualizarOpciones;
|
||||||
|
public
|
||||||
|
property EMailElegido: String read GetEMailElegido;
|
||||||
|
property ListaDirecciones : TStringList read FListaDirecciones write FListaDirecciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function ElegirEMail(const AListaEMails : TStringList; var AEMailElegido : String): Boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
uses
|
||||||
|
uStringsUtils, uDialogUtils, uEMailUtils;
|
||||||
|
|
||||||
|
function ElegirEMail(const AListaEMails : TStringList; var AEMailElegido : String): Boolean;
|
||||||
|
var
|
||||||
|
AEditor : TfDialogElegirEMail;
|
||||||
|
begin
|
||||||
|
AEditor := TfDialogElegirEMail.Create(NIL);
|
||||||
|
try
|
||||||
|
AEditor.ListaDirecciones := AListaEMails;
|
||||||
|
Result := (AEditor.ShowModal = mrOk);
|
||||||
|
if Result then
|
||||||
|
AEMailElegido := AEditor.EMailElegido;
|
||||||
|
finally
|
||||||
|
AEditor.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{ TfDialogElegirEMail }
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.actAceptarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrOk
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.actCancelarExecute(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
ModalResult := mrCancel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.ActualizarOpciones;
|
||||||
|
begin
|
||||||
|
if rbEdit.Checked then
|
||||||
|
begin
|
||||||
|
edtEMail.Enabled := True;
|
||||||
|
rbCombo.Checked := False;
|
||||||
|
cbEMail.Enabled := False;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
if rbCombo.Enabled then
|
||||||
|
begin
|
||||||
|
cbEMail.Enabled := True;
|
||||||
|
edtEMail.Enabled := False;
|
||||||
|
rbEdit.Checked := False;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
rbEdit.Checked := True;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormCloseQuery(Sender: TObject;
|
||||||
|
var CanClose: Boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
|
||||||
|
if (ModalResult = mrOk) and rbEdit.Checked then
|
||||||
|
begin
|
||||||
|
if not EsCadenaVacia(edtEMail.Text) then
|
||||||
|
begin
|
||||||
|
if not EsDireccionEMailValida(edtEMail.Text) then
|
||||||
|
begin
|
||||||
|
ShowErrorMessage('La dirección de correo electrónica no es válida', 'Para poder continuar, compruebe que ha indicado una dirección de correo y que está bien escrita.');
|
||||||
|
edtEMail.SetFocus;
|
||||||
|
CanClose := False;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
ShowErrorMessage('Debe indicar una dirección de correo electrónico.', 'Para poder continuar debe elegir o indicar una dirección de correo electrónico.');
|
||||||
|
edtEMail.SetFocus;
|
||||||
|
CanClose := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormCreate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
//FListaDirecciones := TStringList.Create; <- La lista se da mediante la propiedad.
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
//FreeAndNIL(FListaDirecciones) <- La lista se da mediante la propiedad.
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.FormShow(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
cbEMail.Items.Clear;
|
||||||
|
cbEMail.Items := FListaDirecciones;
|
||||||
|
|
||||||
|
if cbEMail.Items.Count = 0 then
|
||||||
|
begin
|
||||||
|
cbEmail.Items.Add('Sin dirección administrativa');
|
||||||
|
cbEMail.ItemIndex := 0;
|
||||||
|
rbCombo.Enabled := False;
|
||||||
|
rbEdit.Checked;
|
||||||
|
end
|
||||||
|
else begin
|
||||||
|
cbEMail.ItemIndex := 0;
|
||||||
|
rbCombo.Checked := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfDialogElegirEMail.GetEMailElegido: String;
|
||||||
|
begin
|
||||||
|
if rbCombo.Checked then
|
||||||
|
Result := cbEMail.Text
|
||||||
|
else
|
||||||
|
Result := edtEMail.Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.rbComboClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
rbEdit.Checked := False;
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfDialogElegirEMail.rbEditClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
rbEdit.Checked := True;
|
||||||
|
ActualizarOpciones;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
29
Source/Base/GUIBase/uDialogListaEnvioEMail.dfm
Normal file
29
Source/Base/GUIBase/uDialogListaEnvioEMail.dfm
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
inherited fDialogListaEnvioEMail: TfDialogListaEnvioEMail
|
||||||
|
Caption = 'fDialogListaEnvioEMail'
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
inherited FlowPanel1: TFlowPanel
|
||||||
|
object ListView1: TListView
|
||||||
|
Left = 31
|
||||||
|
Top = 151
|
||||||
|
Width = 571
|
||||||
|
Height = 197
|
||||||
|
Align = alClient
|
||||||
|
Columns = <
|
||||||
|
item
|
||||||
|
Caption = 'Documento'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Destinatario'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Direcci'#243'n E-Mail'
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Caption = 'Estado'
|
||||||
|
end>
|
||||||
|
TabOrder = 0
|
||||||
|
ViewStyle = vsReport
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
22
Source/Base/GUIBase/uDialogListaEnvioEMail.pas
Normal file
22
Source/Base/GUIBase/uDialogListaEnvioEMail.pas
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
unit uDialogListaEnvioEMail;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TfDialogListaEnvioEMail = class(TfDialogBase)
|
||||||
|
ListView1: TListView;
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
@ -1669,7 +1669,7 @@ object fEditorBase: TfEditorBase
|
|||||||
object JvAppRegistryStorage: TJvAppRegistryStorage
|
object JvAppRegistryStorage: TJvAppRegistryStorage
|
||||||
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
||||||
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
||||||
Root = 'Software\%APPL_NAME%'
|
Root = 'Software\FactuGES'
|
||||||
SubStorages = <>
|
SubStorages = <>
|
||||||
Left = 424
|
Left = 424
|
||||||
Top = 120
|
Top = 120
|
||||||
|
|||||||
@ -116,6 +116,13 @@ begin
|
|||||||
|
|
||||||
dsDataTable.DataTable.CancelUpdates;
|
dsDataTable.DataTable.CancelUpdates;
|
||||||
|
|
||||||
|
//No funciona bien al CancelUpdates para las tablas detalle de esta forma le obligamos
|
||||||
|
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||||
|
for i := 0 to dtDetails.Count - 1 do
|
||||||
|
begin
|
||||||
|
(TDADataTable(dtDetails.Items[i])).CancelUpdates;
|
||||||
|
end;
|
||||||
|
|
||||||
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
|
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
|
||||||
inserción de una fila nueva.
|
inserción de una fila nueva.
|
||||||
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
|
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
|
||||||
|
|||||||
@ -5,7 +5,7 @@ inherited fEditorDBItem: TfEditorDBItem
|
|||||||
ClientHeight = 461
|
ClientHeight = 461
|
||||||
ClientWidth = 652
|
ClientWidth = 652
|
||||||
ExplicitWidth = 660
|
ExplicitWidth = 660
|
||||||
ExplicitHeight = 495
|
ExplicitHeight = 488
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
|
|||||||
@ -4,6 +4,7 @@ inherited fEditorGridBase: TfEditorGridBase
|
|||||||
Caption = 'fEditorGridBase'
|
Caption = 'fEditorGridBase'
|
||||||
ClientHeight = 444
|
ClientHeight = 444
|
||||||
ClientWidth = 543
|
ClientWidth = 543
|
||||||
|
OnDestroy = CustomEditorDestroy
|
||||||
ExplicitWidth = 551
|
ExplicitWidth = 551
|
||||||
ExplicitHeight = 471
|
ExplicitHeight = 471
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
@ -84,6 +85,16 @@ inherited fEditorGridBase: TfEditorGridBase
|
|||||||
ShowHint = True
|
ShowHint = True
|
||||||
ShrinkMode = tbsmNone
|
ShrinkMode = tbsmNone
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
object lblAno: TTBXLabelItem
|
||||||
|
Caption = 'A'#241'o:'
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object cbxListaAnos: TTBXComboBoxItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object sepAno: TTBXSeparatorItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
object TBXLabelItem1: TTBXLabelItem
|
object TBXLabelItem1: TTBXLabelItem
|
||||||
Caption = 'Filtrar:'
|
Caption = 'Filtrar:'
|
||||||
end
|
end
|
||||||
@ -1515,8 +1526,6 @@ inherited fEditorGridBase: TfEditorGridBase
|
|||||||
Bitmap = {}
|
Bitmap = {}
|
||||||
end
|
end
|
||||||
inherited JvFormStorage: TJvFormStorage
|
inherited JvFormStorage: TJvFormStorage
|
||||||
OnSavePlacement = JvFormStorageSavePlacement
|
|
||||||
OnRestorePlacement = JvFormStorageRestorePlacement
|
|
||||||
Left = 400
|
Left = 400
|
||||||
Top = 160
|
Top = 160
|
||||||
end
|
end
|
||||||
|
|||||||
@ -57,12 +57,13 @@ type
|
|||||||
actFiltrar: TAction;
|
actFiltrar: TAction;
|
||||||
TBXItem37: TTBXItem;
|
TBXItem37: TTBXItem;
|
||||||
TBXTMain2: TTBXToolbar;
|
TBXTMain2: TTBXToolbar;
|
||||||
|
lblAno: TTBXLabelItem;
|
||||||
|
cbxListaAnos: TTBXComboBoxItem;
|
||||||
|
sepAno: TTBXSeparatorItem;
|
||||||
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||||
procedure FormShow(Sender: TObject); override;
|
procedure FormShow(Sender: TObject); override;
|
||||||
procedure actQuitarFiltroExecute(Sender: TObject);
|
procedure actQuitarFiltroExecute(Sender: TObject);
|
||||||
procedure actDuplicarUpdate(Sender: TObject);
|
procedure actDuplicarUpdate(Sender: TObject);
|
||||||
procedure JvFormStorageSavePlacement(Sender: TObject);
|
|
||||||
procedure JvFormStorageRestorePlacement(Sender: TObject);
|
|
||||||
procedure actModificarUpdate(Sender: TObject);
|
procedure actModificarUpdate(Sender: TObject);
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
procedure actNuevoUpdate(Sender: TObject);
|
procedure actNuevoUpdate(Sender: TObject);
|
||||||
@ -70,10 +71,17 @@ type
|
|||||||
procedure actRefrescarUpdate(Sender: TObject);
|
procedure actRefrescarUpdate(Sender: TObject);
|
||||||
procedure actFiltrarExecute(Sender: TObject);
|
procedure actFiltrarExecute(Sender: TObject);
|
||||||
procedure actFiltrarUpdate(Sender: TObject);
|
procedure actFiltrarUpdate(Sender: TObject);
|
||||||
|
procedure CustomEditorDestroy(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
|
FListaAnos: TStringList;
|
||||||
FViewGrid : IViewGridBase;
|
FViewGrid : IViewGridBase;
|
||||||
|
FWhereDataTable: WideString;
|
||||||
|
function GetListaAnos: TStringList;
|
||||||
|
procedure SetListaAnos(const Value: TStringList);
|
||||||
procedure SetViewGrid(const Value : IViewGridBase); virtual;
|
procedure SetViewGrid(const Value : IViewGridBase); virtual;
|
||||||
function GetViewGrid: IViewGridBase;
|
function GetViewGrid: IViewGridBase;
|
||||||
|
function GetWhereDataTable: String;
|
||||||
|
procedure SetWhereDataTable(const Value: String);
|
||||||
procedure SetMultiSelect (AValue : Boolean);
|
procedure SetMultiSelect (AValue : Boolean);
|
||||||
function GetMultiSelect : Boolean;
|
function GetMultiSelect : Boolean;
|
||||||
|
|
||||||
@ -81,8 +89,12 @@ type
|
|||||||
procedure ConfPaginaInterno; override;
|
procedure ConfPaginaInterno; override;
|
||||||
procedure ImprimirInterno; override;
|
procedure ImprimirInterno; override;
|
||||||
procedure RefrescarInterno; override;
|
procedure RefrescarInterno; override;
|
||||||
|
function GetModified: Boolean; override;
|
||||||
|
|
||||||
public
|
public
|
||||||
|
property ListaAnos: TStringList read GetListaAnos write SetListaAnos;
|
||||||
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
|
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
|
||||||
|
property WhereDataTable: String read GetWhereDataTable write SetWhereDataTable;
|
||||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||||||
|
|
||||||
constructor Create(AOwner : TComponent); override;
|
constructor Create(AOwner : TComponent); override;
|
||||||
@ -102,9 +114,22 @@ uses
|
|||||||
destructor TfEditorGridBase.Destroy;
|
destructor TfEditorGridBase.Destroy;
|
||||||
begin
|
begin
|
||||||
FViewGrid := NIL;
|
FViewGrid := NIL;
|
||||||
|
FWhereDataTable := '';
|
||||||
|
if Assigned(FListaAnos) then
|
||||||
|
FlistaAnos.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TfEditorGridBase.GetListaAnos: TStringList;
|
||||||
|
begin
|
||||||
|
Result := FListaAnos;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TfEditorGridBase.GetModified: Boolean;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
function TfEditorGridBase.GetMultiSelect: Boolean;
|
function TfEditorGridBase.GetMultiSelect: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
@ -117,12 +142,53 @@ begin
|
|||||||
Result := FViewGrid;
|
Result := FViewGrid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TfEditorGridBase.GetWhereDataTable: String;
|
||||||
|
begin
|
||||||
|
Result := FWhereDataTable;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.ImprimirInterno;
|
procedure TfEditorGridBase.ImprimirInterno;
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
ViewGrid.Print;
|
ViewGrid.Print;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGridBase.SetListaAnos(const Value: TStringList);
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
AStringAnterior: String;
|
||||||
|
|
||||||
|
begin
|
||||||
|
AStringAnterior := '';
|
||||||
|
if Assigned(FListaAnos) then
|
||||||
|
begin
|
||||||
|
AStringAnterior := FListaAnos.ValueFromIndex[cbxListaAnos.ItemIndex];
|
||||||
|
FListaAnos.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//Se asigna el nuevo TStringList
|
||||||
|
FListaAnos := Value;
|
||||||
|
|
||||||
|
if Assigned(FListaAnos) then
|
||||||
|
begin
|
||||||
|
cbxListaAnos.Strings.BeginUpdate;
|
||||||
|
cbxListaAnos.Strings.Clear;
|
||||||
|
for i := 0 to FListaAnos.Count - 1 do
|
||||||
|
cbxListaAnos.Strings.Append(FListaAnos.Names[i]);
|
||||||
|
|
||||||
|
//Se posiciona en el elemento que habia anteriormente
|
||||||
|
if Length(AStringAnterior) > 0 then
|
||||||
|
begin
|
||||||
|
if FListaAnos.IndexOfName(AStringAnterior) <> -1 then
|
||||||
|
cbxListaAnos.ItemIndex := FListaAnos.IndexOfName(AStringAnterior)
|
||||||
|
else
|
||||||
|
cbxListaAnos.ItemIndex := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
cbxListaAnos.Strings.EndUpdate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean);
|
procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean);
|
||||||
begin
|
begin
|
||||||
if Assigned(ViewGrid) then
|
if Assigned(ViewGrid) then
|
||||||
@ -139,6 +205,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGridBase.SetWhereDataTable(const Value: String);
|
||||||
|
begin
|
||||||
|
FWhereDataTable := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||||
begin
|
begin
|
||||||
if Assigned(ViewGrid) then
|
if Assigned(ViewGrid) then
|
||||||
@ -153,10 +224,14 @@ end;
|
|||||||
procedure TfEditorGridBase.FormShow(Sender: TObject);
|
procedure TfEditorGridBase.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|
||||||
if Assigned(ViewGrid) then
|
if Assigned(ViewGrid) then
|
||||||
|
begin
|
||||||
|
ViewGrid.RestoreFromIniFile;
|
||||||
ViewGrid.ShowEmbedded(Self);
|
ViewGrid.ShowEmbedded(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
cbxListaAnos.ItemIndex := 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
|
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
|
||||||
@ -246,6 +321,14 @@ constructor TfEditorGridBase.Create(AOwner: TComponent);
|
|||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
||||||
|
FWhereDataTable := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorGridBase.CustomEditorDestroy(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Assigned(ViewGrid) then
|
||||||
|
ViewGrid.StoreToIniFile;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.actAnchoAutoExecute(Sender: TObject);
|
procedure TfEditorGridBase.actAnchoAutoExecute(Sender: TObject);
|
||||||
@ -271,13 +354,6 @@ begin
|
|||||||
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.JvFormStorageSavePlacement(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.StoreToRegistry(JvAppRegistryStorage.Root);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TfEditorGridBase.PrevisualizarInterno;
|
procedure TfEditorGridBase.PrevisualizarInterno;
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
@ -304,13 +380,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorGridBase.JvFormStorageRestorePlacement(Sender: TObject);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
if Assigned(ViewGrid) then
|
|
||||||
ViewGrid.RestoreFromRegistry(JvAppRegistryStorage.Root);
|
|
||||||
end;
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
RegisterClass(TfEditorGridBase);
|
RegisterClass(TfEditorGridBase);
|
||||||
|
|
||||||
|
|||||||
@ -5,17 +5,15 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
WindowState = wsMaximized
|
WindowState = wsMaximized
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
ExplicitWidth = 658
|
ExplicitWidth = 803
|
||||||
ExplicitHeight = 492
|
ExplicitHeight = 485
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||||
Top = 75
|
Top = 75
|
||||||
Visible = False
|
Visible = False
|
||||||
ExplicitTop = 75
|
ExplicitTop = 75
|
||||||
ExplicitWidth = 650
|
|
||||||
inherited Image1: TImage
|
inherited Image1: TImage
|
||||||
Left = 623
|
|
||||||
ExplicitLeft = 623
|
ExplicitLeft = 623
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -27,7 +25,7 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
DefaultDock = TBXDock
|
DefaultDock = TBXDock
|
||||||
Visible = False
|
Visible = False
|
||||||
ExplicitTop = 49
|
ExplicitTop = 49
|
||||||
ExplicitWidth = 242
|
ExplicitWidth = 248
|
||||||
end
|
end
|
||||||
inherited tbxMenu: TTBXToolbar
|
inherited tbxMenu: TTBXToolbar
|
||||||
DockPos = -24
|
DockPos = -24
|
||||||
@ -175,8 +173,6 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
item
|
item
|
||||||
Width = 50
|
Width = 50
|
||||||
end>
|
end>
|
||||||
ExplicitTop = 439
|
|
||||||
ExplicitWidth = 650
|
|
||||||
end
|
end
|
||||||
inherited EditorActionList: TActionList
|
inherited EditorActionList: TActionList
|
||||||
Top = 104
|
Top = 104
|
||||||
@ -847,13 +843,14 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
Bitmap = {}
|
Bitmap = {}
|
||||||
end
|
end
|
||||||
object frxReport1: TfrxReport
|
object frxReport1: TfrxReport
|
||||||
Version = '3.23.7'
|
Version = '4.3'
|
||||||
DotMatrixReport = False
|
DotMatrixReport = False
|
||||||
EngineOptions.DoublePass = True
|
EngineOptions.DoublePass = True
|
||||||
IniFile = '\Software\Fast Reports'
|
IniFile = '\Software\Fast Reports'
|
||||||
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
|
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
|
||||||
PreviewOptions.Zoom = 1.000000000000000000
|
PreviewOptions.Zoom = 1.000000000000000000
|
||||||
PrintOptions.Printer = 'Default'
|
PrintOptions.Printer = 'Default'
|
||||||
|
PrintOptions.PrintOnSheet = 0
|
||||||
ReportOptions.CreateDate = 38658.858023541660000000
|
ReportOptions.CreateDate = 38658.858023541660000000
|
||||||
ReportOptions.LastChange = 38658.858023541660000000
|
ReportOptions.LastChange = 38658.858023541660000000
|
||||||
ScriptLanguage = 'PascalScript'
|
ScriptLanguage = 'PascalScript'
|
||||||
@ -864,9 +861,6 @@ inherited fEditorPreview: TfEditorPreview
|
|||||||
StoreInDFM = False
|
StoreInDFM = False
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 200
|
Top = 200
|
||||||
Datasets = <>
|
|
||||||
Variables = <>
|
|
||||||
Style = <>
|
|
||||||
end
|
end
|
||||||
object frxBarCodeObject1: TfrxBarCodeObject
|
object frxBarCodeObject1: TfrxBarCodeObject
|
||||||
Left = 16
|
Left = 16
|
||||||
|
|||||||
@ -19,8 +19,15 @@ type
|
|||||||
property Report: TfrxReport read GetReport;
|
property Report: TfrxReport read GetReport;
|
||||||
procedure LoadFromStream(AStream : TStream);
|
procedure LoadFromStream(AStream : TStream);
|
||||||
function ExportToFile : String;
|
function ExportToFile : String;
|
||||||
procedure Print;
|
function Print: Boolean;
|
||||||
procedure Preview;
|
procedure Preview;
|
||||||
|
|
||||||
|
function GetTablaImpresion: String;
|
||||||
|
function GetIdTablaImpresion: String;
|
||||||
|
procedure SetTablaImpresion (Value: String);
|
||||||
|
procedure SetIdTablaImpresion (Value: String);
|
||||||
|
property TablaImpresion: String read GetTablaImpresion write SetTablaImpresion;
|
||||||
|
property IdTablaImpresion: String read GetIdTablaImpresion write SetIdTablaImpresion;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
||||||
@ -99,15 +106,28 @@ type
|
|||||||
procedure actPrimeraPaginaUpdate(Sender: TObject);
|
procedure actPrimeraPaginaUpdate(Sender: TObject);
|
||||||
procedure actPaginaAnteriorUpdate(Sender: TObject);
|
procedure actPaginaAnteriorUpdate(Sender: TObject);
|
||||||
private
|
private
|
||||||
|
FVariable: Boolean;
|
||||||
FPreview : TfrViewPreview;
|
FPreview : TfrViewPreview;
|
||||||
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
||||||
procedure UpdateZoom;
|
procedure UpdateZoom;
|
||||||
|
procedure OnPrint(Sender: Tobject);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
FTablaImpresion: String;
|
||||||
|
FIdTablaImpresion: String;
|
||||||
|
function GetTablaImpresion: String;
|
||||||
|
function GetIdTablaImpresion: String;
|
||||||
|
procedure SetTablaImpresion (Value: String);
|
||||||
|
procedure SetIdTablaImpresion (Value: String);
|
||||||
|
|
||||||
function GetReport: TfrxReport; virtual;
|
function GetReport: TfrxReport; virtual;
|
||||||
public
|
public
|
||||||
|
property TablaImpresion: String read GetTablaImpresion write SetTablaImpresion;
|
||||||
|
property IdTablaImpresion: String read GetIdTablaImpresion write SetIdTablaImpresion;
|
||||||
|
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
property Report: TfrxReport read GetReport;
|
property Report: TfrxReport read GetReport;
|
||||||
procedure Print;
|
function Print: Boolean;
|
||||||
procedure Preview;
|
procedure Preview;
|
||||||
procedure LoadFromStream(AStream : TStream);
|
procedure LoadFromStream(AStream : TStream);
|
||||||
function ExportToFile : String;
|
function ExportToFile : String;
|
||||||
@ -117,19 +137,29 @@ type
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
frxRes, frxUtils, frxPrinter, frxFormUtils,
|
frxRes, frxUtils, frxPrinter,
|
||||||
uCustomEditor, uSistemaFunc;
|
uCustomEditor, uSistemaFunc, uDataModuleImpresiones;
|
||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
{ TfEditorBase1 }
|
{ TfEditorBase1 }
|
||||||
|
|
||||||
|
function TfEditorPreview.GetIdTablaImpresion: String;
|
||||||
|
begin
|
||||||
|
Result := FIdTablaImpresion;
|
||||||
|
end;
|
||||||
|
|
||||||
function TfEditorPreview.GetReport: TfrxReport;
|
function TfEditorPreview.GetReport: TfrxReport;
|
||||||
begin
|
begin
|
||||||
Result := frxReport1;
|
Result := frxReport1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function TfEditorPreview.GetTablaImpresion: String;
|
||||||
|
begin
|
||||||
|
Result := FTablaImpresion;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.FormShow(Sender: TObject);
|
procedure TfEditorPreview.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
@ -284,6 +314,13 @@ begin
|
|||||||
[PageNo, Sender.PageCount]);
|
[PageNo, Sender.PageCount]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.OnPrint(Sender: Tobject);
|
||||||
|
begin
|
||||||
|
FVariable := True;
|
||||||
|
if (FTablaImpresion <> '-1') and (FIdTablaImpresion <> '-1') then
|
||||||
|
dmImpresiones.AnadirMarcaImpresion(TablaImpresion, IdTablaImpresion);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TfEditorPreview.Create(AOwner: TComponent);
|
constructor TfEditorPreview.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
@ -304,6 +341,8 @@ begin
|
|||||||
FPreview := TfrViewPreview.Create(Self);
|
FPreview := TfrViewPreview.Create(Self);
|
||||||
Report.Preview := FPreview.Preview;
|
Report.Preview := FPreview.Preview;
|
||||||
FPreview.Preview.OnPageChanged := OnPageChanged;
|
FPreview.Preview.OnPageChanged := OnPageChanged;
|
||||||
|
FTablaImpresion := '-1';
|
||||||
|
FIdTablaImpresion := '-1';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.Preview;
|
procedure TfEditorPreview.Preview;
|
||||||
@ -311,13 +350,28 @@ begin
|
|||||||
Self.ShowModal;
|
Self.ShowModal;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfEditorPreview.Print;
|
function TfEditorPreview.Print: Boolean;
|
||||||
begin
|
begin
|
||||||
|
FVariable := False;
|
||||||
|
FPreview.Preview.Report.OnPrintReport := OnPrint;
|
||||||
|
|
||||||
if not frxPrinters.HasPhysicalPrinters then
|
if not frxPrinters.HasPhysicalPrinters then
|
||||||
frxErrorMsg(frxResources.Get('clNoPrinters'))
|
frxErrorMsg(frxResources.Get('clNoPrinters'))
|
||||||
else
|
else
|
||||||
FPreview.Preview.Print;
|
FPreview.Preview.Print;
|
||||||
|
|
||||||
Enabled := True;
|
Enabled := True;
|
||||||
|
Result := FVariable;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.SetIdTablaImpresion(Value: String);
|
||||||
|
begin
|
||||||
|
FIdTablaImpresion := Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorPreview.SetTablaImpresion(Value: String);
|
||||||
|
begin
|
||||||
|
FTablaImpresion := Value;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TfEditorPreview.ExportToFile: String;
|
function TfEditorPreview.ExportToFile: String;
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
object frViewFiltroBase: TfrViewFiltroBase
|
inherited frViewFiltroBase: TfrViewFiltroBase
|
||||||
Left = 0
|
|
||||||
Top = 0
|
|
||||||
Width = 565
|
Width = 565
|
||||||
Height = 102
|
Height = 102
|
||||||
TabOrder = 0
|
|
||||||
Visible = False
|
Visible = False
|
||||||
|
ExplicitWidth = 565
|
||||||
|
ExplicitHeight = 102
|
||||||
object TBXDockablePanel1: TTBXDockablePanel
|
object TBXDockablePanel1: TTBXDockablePanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
@ -20,8 +19,6 @@ object frViewFiltroBase: TfrViewFiltroBase
|
|||||||
ShowCaptionWhenDocked = False
|
ShowCaptionWhenDocked = False
|
||||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
SupportedDocks = [dkStandardDock, dkMultiDock]
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitWidth = 128
|
|
||||||
ExplicitHeight = 98
|
|
||||||
object dxLayoutControl1: TdxLayoutControl
|
object dxLayoutControl1: TdxLayoutControl
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
@ -30,8 +27,8 @@ object frViewFiltroBase: TfrViewFiltroBase
|
|||||||
Align = alTop
|
Align = alTop
|
||||||
ParentBackground = True
|
ParentBackground = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
TabStop = False
|
||||||
AutoContentSizes = [acsWidth, acsHeight]
|
AutoContentSizes = [acsWidth, acsHeight]
|
||||||
ExplicitWidth = 128
|
|
||||||
object txtFiltroTodo: TcxTextEdit
|
object txtFiltroTodo: TcxTextEdit
|
||||||
Left = 87
|
Left = 87
|
||||||
Top = 10
|
Top = 10
|
||||||
@ -129,7 +126,6 @@ object frViewFiltroBase: TfrViewFiltroBase
|
|||||||
Margins.Left = 10
|
Margins.Left = 10
|
||||||
Align = alTop
|
Align = alTop
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ExplicitWidth = 128
|
|
||||||
object tbxBotones: TTBXToolbar
|
object tbxBotones: TTBXToolbar
|
||||||
Left = 10
|
Left = 10
|
||||||
Top = 0
|
Top = 0
|
||||||
@ -147,7 +143,6 @@ object frViewFiltroBase: TfrViewFiltroBase
|
|||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitWidth = 118
|
|
||||||
object TBXItem2: TTBXItem
|
object TBXItem2: TTBXItem
|
||||||
Action = actQuitarFiltro
|
Action = actQuitarFiltro
|
||||||
DisplayMode = nbdmImageAndText
|
DisplayMode = nbdmImageAndText
|
||||||
|
|||||||
@ -7,10 +7,10 @@ uses
|
|||||||
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
|
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
|
||||||
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
|
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
|
||||||
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
|
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
|
||||||
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList;
|
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList, uViewBase;
|
||||||
|
|
||||||
type
|
type
|
||||||
IViewFiltroBase = interface
|
IViewFiltroBase = interface (IViewBase)
|
||||||
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
|
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
|
||||||
function GetFiltrosChange: TNotifyEvent;
|
function GetFiltrosChange: TNotifyEvent;
|
||||||
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
||||||
@ -25,7 +25,7 @@ type
|
|||||||
property Texto: String read GetTexto write SetTexto;
|
property Texto: String read GetTexto write SetTexto;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TfrViewFiltroBase = class(TFrame, IViewFiltroBase)
|
TfrViewFiltroBase = class(TfrViewBase , IViewFiltroBase)
|
||||||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||||||
dxLayoutControl1: TdxLayoutControl;
|
dxLayoutControl1: TdxLayoutControl;
|
||||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||||
@ -59,6 +59,7 @@ type
|
|||||||
protected
|
protected
|
||||||
procedure LimpiarCampos; virtual;
|
procedure LimpiarCampos; virtual;
|
||||||
function ValidarCampos: Boolean; virtual;
|
function ValidarCampos: Boolean; virtual;
|
||||||
|
function GetModified: Boolean; override;
|
||||||
|
|
||||||
public
|
public
|
||||||
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
||||||
@ -78,6 +79,11 @@ begin
|
|||||||
Result := FOnFiltrosChange;
|
Result := FOnFiltrosChange;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TfrViewFiltroBase.GetModified: Boolean;
|
||||||
|
begin
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
|
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
|
||||||
begin
|
begin
|
||||||
FOnFiltrosChange := Value;
|
FOnFiltrosChange := Value;
|
||||||
|
|||||||
@ -47,7 +47,6 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
OptionsView.GridLines = glHorizontal
|
OptionsView.GridLines = glHorizontal
|
||||||
OptionsView.GroupByBox = False
|
OptionsView.GroupByBox = False
|
||||||
OptionsView.HeaderEndEllipsis = True
|
OptionsView.HeaderEndEllipsis = True
|
||||||
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
|
|
||||||
Styles.Inactive = cxStyleSelection
|
Styles.Inactive = cxStyleSelection
|
||||||
Styles.Selection = cxStyleSelection
|
Styles.Selection = cxStyleSelection
|
||||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
||||||
@ -62,8 +61,15 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
Width = 554
|
Width = 554
|
||||||
Height = 102
|
Height = 102
|
||||||
Align = alTop
|
Align = alTop
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Tahoma'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
Visible = False
|
Visible = False
|
||||||
|
ReadOnly = False
|
||||||
ExplicitWidth = 554
|
ExplicitWidth = 554
|
||||||
inherited TBXDockablePanel1: TTBXDockablePanel
|
inherited TBXDockablePanel1: TTBXDockablePanel
|
||||||
ExplicitWidth = 554
|
ExplicitWidth = 554
|
||||||
@ -108,6 +114,7 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
SupportedDocks = [dkStandardDock, dkMultiDock]
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
Visible = False
|
Visible = False
|
||||||
|
ExplicitWidth = 128
|
||||||
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
@ -155,7 +162,7 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
PrinterPage.ScaleMode = smFit
|
PrinterPage.ScaleMode = smFit
|
||||||
PrinterPage._dxMeasurementUnits_ = 0
|
PrinterPage._dxMeasurementUnits_ = 0
|
||||||
PrinterPage._dxLastMU_ = 2
|
PrinterPage._dxLastMU_ = 2
|
||||||
ReportDocument.CreationDate = 39449.781622719910000000
|
ReportDocument.CreationDate = 40259.515870208340000000
|
||||||
StyleManager = dxPrintStyleManager1
|
StyleManager = dxPrintStyleManager1
|
||||||
OptionsCards.Shadow.Depth = 0
|
OptionsCards.Shadow.Depth = 0
|
||||||
OptionsExpanding.ExpandGroupRows = True
|
OptionsExpanding.ExpandGroupRows = True
|
||||||
@ -187,6 +194,7 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
object cxStyleRepository1: TcxStyleRepository
|
object cxStyleRepository1: TcxStyleRepository
|
||||||
Left = 296
|
Left = 296
|
||||||
Top = 128
|
Top = 128
|
||||||
|
PixelsPerInch = 96
|
||||||
object cxStyleEven: TcxStyle
|
object cxStyleEven: TcxStyle
|
||||||
end
|
end
|
||||||
object cxStyleOdd: TcxStyle
|
object cxStyleOdd: TcxStyle
|
||||||
@ -241,6 +249,7 @@ inherited frViewGrid: TfrViewGrid
|
|||||||
object cxStyleRepositoryInforme: TcxStyleRepository
|
object cxStyleRepositoryInforme: TcxStyleRepository
|
||||||
Left = 368
|
Left = 368
|
||||||
Top = 160
|
Top = 160
|
||||||
|
PixelsPerInch = 96
|
||||||
object cxStyleContentInforme: TcxStyle
|
object cxStyleContentInforme: TcxStyle
|
||||||
AssignedValues = [svColor, svFont, svTextColor]
|
AssignedValues = [svColor, svFont, svTextColor]
|
||||||
Color = clWhite
|
Color = clWhite
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{*******************************************************}
|
{*******************************************************}
|
||||||
{ }
|
{ }
|
||||||
{ Administración de puntos de venta }
|
{ Administración de puntos de venta }
|
||||||
{ }
|
{ }
|
||||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||||
{ }
|
{ }
|
||||||
@ -18,10 +18,10 @@ uses
|
|||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg,
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
||||||
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
|
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
|
||||||
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg;
|
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg, uCustomView;
|
||||||
|
|
||||||
type
|
type
|
||||||
IViewGrid = interface(IViewGridBase)
|
IViewGrid = interface(IViewGridBase)
|
||||||
@ -139,18 +139,21 @@ end;
|
|||||||
procedure TfrViewGrid.actQuitarAgrupacionesExecute(Sender: TObject);
|
procedure TfrViewGrid.actQuitarAgrupacionesExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
Columna: TcxGridDBColumn;
|
Columna: TcxGridDBColumn;
|
||||||
i: Integer;
|
i,j: Integer;
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
for i := 0 to cxGridView.ColumnCount - 1 do
|
for j := 0 to cxGrid.ViewCount - 1 do
|
||||||
begin
|
begin
|
||||||
Columna := (cxGridView as TcxGridDBTableView).Columns[i];
|
for i := 0 to (cxGrid.Views[j] as tcxGridDBTableView).ColumnCount - 1 do
|
||||||
|
begin
|
||||||
|
Columna := (cxGrid.Views[j] as TcxGridDBTableView).Columns[i];
|
||||||
if not (Columna.GroupIndex < 0) then
|
if not (Columna.GroupIndex < 0) then
|
||||||
begin
|
begin
|
||||||
Columna.GroupIndex := -1;
|
Columna.GroupIndex := -1;
|
||||||
Columna.Visible := True;
|
Columna.Visible := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TfrViewGrid.actQuitarAgrupacionesUpdate(Sender: TObject);
|
procedure TfrViewGrid.actQuitarAgrupacionesUpdate(Sender: TObject);
|
||||||
|
|||||||
@ -96,6 +96,7 @@ inherited frViewGrid2Niveles: TfrViewGrid2Niveles
|
|||||||
object cxStyleRepository1: TcxStyleRepository
|
object cxStyleRepository1: TcxStyleRepository
|
||||||
Left = 296
|
Left = 296
|
||||||
Top = 128
|
Top = 128
|
||||||
|
PixelsPerInch = 96
|
||||||
object cxStyleEven: TcxStyle
|
object cxStyleEven: TcxStyle
|
||||||
end
|
end
|
||||||
object cxStyleOdd: TcxStyle
|
object cxStyleOdd: TcxStyle
|
||||||
|
|||||||
@ -18,7 +18,7 @@ uses
|
|||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg,
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
||||||
cxGridPopupMenu;
|
cxGridPopupMenu;
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ uses
|
|||||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, dxPrnDlg,
|
||||||
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils, uViewFiltroBase;
|
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils, uViewFiltroBase;
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -37,6 +37,9 @@ type
|
|||||||
procedure SaveGridStatus;
|
procedure SaveGridStatus;
|
||||||
procedure RestoreGridStatus;
|
procedure RestoreGridStatus;
|
||||||
|
|
||||||
|
procedure DesactivarGrid;
|
||||||
|
procedure ActivarGrid;
|
||||||
|
|
||||||
procedure GotoFirst;
|
procedure GotoFirst;
|
||||||
procedure GotoLast;
|
procedure GotoLast;
|
||||||
|
|
||||||
@ -49,6 +52,9 @@ type
|
|||||||
procedure StoreToRegistry (const Path : String);
|
procedure StoreToRegistry (const Path : String);
|
||||||
procedure RestoreFromRegistry (const Path : String);
|
procedure RestoreFromRegistry (const Path : String);
|
||||||
|
|
||||||
|
procedure RestoreFromIniFile;
|
||||||
|
procedure StoreToIniFile;
|
||||||
|
|
||||||
procedure SetDblClick(const Value: TNotifyEvent);
|
procedure SetDblClick(const Value: TNotifyEvent);
|
||||||
function GetDblClick: TNotifyEvent;
|
function GetDblClick: TNotifyEvent;
|
||||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
||||||
@ -93,6 +99,7 @@ type
|
|||||||
FFilter: string;
|
FFilter: string;
|
||||||
FOnFilterChanged : TNotifyEvent;
|
FOnFilterChanged : TNotifyEvent;
|
||||||
FGridStatus : TcxGridStatus;
|
FGridStatus : TcxGridStatus;
|
||||||
|
procedure BestFitAllColumns;
|
||||||
protected
|
protected
|
||||||
FOnDblClick: TNotifyEvent;
|
FOnDblClick: TNotifyEvent;
|
||||||
FPopupMenu: TPopupMenu;
|
FPopupMenu: TPopupMenu;
|
||||||
@ -136,6 +143,8 @@ type
|
|||||||
|
|
||||||
procedure SaveGridStatus;
|
procedure SaveGridStatus;
|
||||||
procedure RestoreGridStatus;
|
procedure RestoreGridStatus;
|
||||||
|
procedure DesactivarGrid;
|
||||||
|
procedure ActivarGrid;
|
||||||
|
|
||||||
procedure GotoFirst;
|
procedure GotoFirst;
|
||||||
procedure GotoLast;
|
procedure GotoLast;
|
||||||
@ -143,6 +152,9 @@ type
|
|||||||
procedure StoreToRegistry (const Path : String); virtual;
|
procedure StoreToRegistry (const Path : String); virtual;
|
||||||
procedure RestoreFromRegistry (const Path : String); virtual;
|
procedure RestoreFromRegistry (const Path : String); virtual;
|
||||||
|
|
||||||
|
procedure RestoreFromIniFile;
|
||||||
|
procedure StoreToIniFile;
|
||||||
|
|
||||||
function Locate(const AItemIndex: Integer; const AValue: String;
|
function Locate(const AItemIndex: Integer; const AValue: String;
|
||||||
const APartialCompare: Boolean = False) : Boolean;
|
const APartialCompare: Boolean = False) : Boolean;
|
||||||
|
|
||||||
@ -166,7 +178,8 @@ procedure Register;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
CCReg, uDataModuleBase, uDBSelectionListUtils;
|
CCReg, uDataModuleBase, uDBSelectionListUtils, cxGridDBDataDefinitions,
|
||||||
|
uSistemaFunc, SHFolder;
|
||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
@ -177,12 +190,52 @@ end;
|
|||||||
|
|
||||||
{ TfrViewGrid }
|
{ TfrViewGrid }
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.ActivarGrid;
|
||||||
|
begin
|
||||||
|
if Assigned(_FocusedView) then
|
||||||
|
_FocusedView.EndUpdate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.BestFitAllColumns;
|
||||||
|
var
|
||||||
|
i : Integer ;
|
||||||
|
|
||||||
|
begin
|
||||||
|
ShowHourglassCursor;
|
||||||
|
_FocusedView.BeginUpdate;
|
||||||
|
try
|
||||||
|
for i := 0 to _FocusedView.VisibleColumnCount-1 do
|
||||||
|
begin
|
||||||
|
_FocusedView.VisibleColumns[i].ApplyBestFit;
|
||||||
|
ShowMessage(Format('Width=%d, Min=%d, Max=%d', [_FocusedView.VisibleColumns[i].Width, _FocusedView.VisibleColumns[i].MinWidth, _FocusedView.VisibleColumns[i].BestFitMaxWidth]));
|
||||||
|
if (_FocusedView.VisibleColumns[i].Width < _FocusedView.VisibleColumns[i].MinWidth) then
|
||||||
|
_FocusedView.VisibleColumns[i].Width := _FocusedView.VisibleColumns[i].MinWidth
|
||||||
|
else
|
||||||
|
if (_FocusedView.VisibleColumns[i].BestFitMaxWidth > 0) and
|
||||||
|
(_FocusedView.VisibleColumns[i].Width > _FocusedView.VisibleColumns[i].BestFitMaxWidth) then
|
||||||
|
_FocusedView.VisibleColumns[i].Width := _FocusedView.VisibleColumns[i].BestFitMaxWidth;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
_FocusedView.EndUpdate;
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewGridBase.AjustarAncho;
|
procedure TfrViewGridBase.AjustarAncho;
|
||||||
begin
|
begin
|
||||||
if Assigned(_FocusedView) then
|
if Assigned(_FocusedView) then
|
||||||
_FocusedView.ApplyBestFit;
|
begin
|
||||||
|
ShowHourglassCursor;
|
||||||
|
try
|
||||||
|
_FocusedView.ApplyBestFit(nil, True, False);
|
||||||
|
//BestFitAllColumns;
|
||||||
|
finally
|
||||||
|
HideHourglassCursor;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
||||||
begin
|
begin
|
||||||
//
|
//
|
||||||
@ -300,6 +353,24 @@ begin
|
|||||||
Filter := ViewFiltros.Texto;
|
Filter := ViewFiltros.Texto;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.RestoreFromIniFile;
|
||||||
|
var
|
||||||
|
AIniFile : String;
|
||||||
|
begin
|
||||||
|
if Assigned(_FocusedView) then
|
||||||
|
begin
|
||||||
|
|
||||||
|
AIniFile := GetSpecialFolderPath(CSIDL_COMMON_APPDATA); //[All Users]\Application Data
|
||||||
|
AIniFile := AIniFile + PathDelim + 'Rodax Software' + PathDelim + 'FactuGES' + PathDelim;
|
||||||
|
|
||||||
|
if not DirectoryExists(AIniFile) then
|
||||||
|
if not ForceDirectories(AIniFile) then
|
||||||
|
raise EInOutError.Create(Format('No se ha podido crear el directorio %s', [AIniFile]));
|
||||||
|
|
||||||
|
_FocusedView.RestoreFromIniFile(AIniFile + 'grid.xml', True, False, []);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewGridBase.RestoreFromRegistry(const Path : String);
|
procedure TfrViewGridBase.RestoreFromRegistry(const Path : String);
|
||||||
begin
|
begin
|
||||||
if Assigned(_FocusedView) then
|
if Assigned(_FocusedView) then
|
||||||
@ -387,6 +458,24 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.StoreToIniFile;
|
||||||
|
var
|
||||||
|
AIniFile : String;
|
||||||
|
begin
|
||||||
|
if Assigned(_FocusedView) then
|
||||||
|
begin
|
||||||
|
|
||||||
|
AIniFile := GetSpecialFolderPath(CSIDL_COMMON_APPDATA); //[All Users]\Application Data
|
||||||
|
AIniFile := AIniFile + PathDelim + 'Rodax Software' + PathDelim + 'FactuGES' + PathDelim;
|
||||||
|
|
||||||
|
if not DirectoryExists(AIniFile) then
|
||||||
|
if not ForceDirectories(AIniFile) then
|
||||||
|
raise EInOutError.Create(Format('No se ha podido crear el directorio %s', [AIniFile]));
|
||||||
|
|
||||||
|
_FocusedView.StoreToIniFile(AIniFile + 'grid.xml', False, []);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TfrViewGridBase.StoreToRegistry(const Path : String);
|
procedure TfrViewGridBase.StoreToRegistry(const Path : String);
|
||||||
begin
|
begin
|
||||||
if Assigned(_FocusedView) then
|
if Assigned(_FocusedView) then
|
||||||
@ -431,6 +520,12 @@ begin
|
|||||||
//
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfrViewGridBase.DesactivarGrid;
|
||||||
|
begin
|
||||||
|
if Assigned(_FocusedView) then
|
||||||
|
_FocusedView.BeginUpdate;
|
||||||
|
end;
|
||||||
|
|
||||||
destructor TfrViewGridBase.Destroy;
|
destructor TfrViewGridBase.Destroy;
|
||||||
begin
|
begin
|
||||||
FOnFilterChanged := Nil;
|
FOnFilterChanged := Nil;
|
||||||
|
|||||||
@ -1076,7 +1076,7 @@ object fLoginForm: TfLoginForm
|
|||||||
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
||||||
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
||||||
StorageOptions.BooleanAsString = False
|
StorageOptions.BooleanAsString = False
|
||||||
Root = 'Software\%APPL_NAME%'
|
Root = 'Software\FactuGES'
|
||||||
SubStorages = <>
|
SubStorages = <>
|
||||||
Left = 14
|
Left = 14
|
||||||
Top = 168
|
Top = 168
|
||||||
|
|||||||
@ -302,6 +302,11 @@ begin
|
|||||||
if ASource.Active then
|
if ASource.Active then
|
||||||
ASource.Close;
|
ASource.Close;
|
||||||
|
|
||||||
|
//Si no hay elemento seleccionados filtramos para que ATarget se quede vacia
|
||||||
|
if (AObj.SelectedRecords.Count = 0) then
|
||||||
|
ASource.Filter := ASource.Filter + '(ID = ' + IntToStr(ID_NULO) + ')'
|
||||||
|
//En caso contrario filtramos por los elementos seleccionados
|
||||||
|
else
|
||||||
for i := 0 to AObj.SelectedRecords.Count - 1 do
|
for i := 0 to AObj.SelectedRecords.Count - 1 do
|
||||||
begin
|
begin
|
||||||
if (i > 0) then
|
if (i > 0) then
|
||||||
|
|||||||
457
Source/Base/Utiles/uEMailUtils.pas
Normal file
457
Source/Base/Utiles/uEMailUtils.pas
Normal file
@ -0,0 +1,457 @@
|
|||||||
|
unit uEMailUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
|
||||||
|
|
||||||
|
type
|
||||||
|
{ Introducing a new Type of Event to get the Errorcode }
|
||||||
|
TMapiErrEvent = procedure(Sender: TObject; ErrCode: Integer) of object;
|
||||||
|
|
||||||
|
TMapiControl = class(TComponent)
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
private
|
||||||
|
{ Private-Deklarationen }
|
||||||
|
FSubject: string;
|
||||||
|
FMailtext: string;
|
||||||
|
FFromName: string;
|
||||||
|
FFromAdress: string;
|
||||||
|
FTOAdr: TStrings;
|
||||||
|
FCCAdr: TStrings;
|
||||||
|
FBCCAdr: TStrings;
|
||||||
|
FAttachedFileName: TStrings;
|
||||||
|
FDisplayFileName: TStrings;
|
||||||
|
FShowDialog: Boolean;
|
||||||
|
FUseAppHandle: Boolean;
|
||||||
|
{ Error Events: }
|
||||||
|
{ FOnUserAbort: TNotifyEvent;
|
||||||
|
FOnMapiError: TMapiErrEvent;
|
||||||
|
FOnSuccess: TNotifyEvent;}
|
||||||
|
{ +> Changes by Eugene Mayevski [mailto:Mayevski@eldos.org]}
|
||||||
|
procedure SetToAddr(newValue: TStrings);
|
||||||
|
procedure SetCCAddr(newValue: TStrings);
|
||||||
|
procedure SetBCCAddr(newValue: TStrings);
|
||||||
|
procedure SetAttachedFileName(newValue: TStrings);
|
||||||
|
{ +< Changes }
|
||||||
|
protected
|
||||||
|
{ Protected-Deklarationen }
|
||||||
|
public
|
||||||
|
{ Public-Deklarationen }
|
||||||
|
ApplicationHandle: THandle;
|
||||||
|
function Sendmail: Boolean;
|
||||||
|
procedure Reset;
|
||||||
|
published
|
||||||
|
{ Published-Deklarationen }
|
||||||
|
property Subject: string read FSubject write FSubject;
|
||||||
|
property Body: string read FMailText write FMailText;
|
||||||
|
property FromName: string read FFromName write FFromName;
|
||||||
|
property FromAdress: string read FFromAdress write FFromAdress;
|
||||||
|
property Recipients: TStrings read FTOAdr write SetTOAddr;
|
||||||
|
property CopyTo: TStrings read FCCAdr write SetCCAddr;
|
||||||
|
property BlindCopyTo: TStrings read FBCCAdr write SetBCCAddr;
|
||||||
|
property AttachedFiles: TStrings read FAttachedFileName write SetAttachedFileName;
|
||||||
|
property DisplayFileName: TStrings read FDisplayFileName;
|
||||||
|
property ShowDialog: Boolean read FShowDialog write FShowDialog;
|
||||||
|
property UseAppHandle: Boolean read FUseAppHandle write FUseAppHandle;
|
||||||
|
|
||||||
|
{ Events: }
|
||||||
|
{property OnUserAbort: TNotifyEvent read FOnUserAbort write FOnUserAbort;
|
||||||
|
property OnMapiError: TMapiErrEvent read FOnMapiError write FOnMapiError;
|
||||||
|
property OnSuccess: TNotifyEvent read FOnSuccess write FOnSuccess;}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EsDireccionEMailValida(const Value: string): boolean;
|
||||||
|
function EnviarEMailMAPI(const AAsunto, ACuerpo, AFicheroAdjunto, ANombreRemitente, AEMailRemitente,
|
||||||
|
ANombreDestinatario, AEMailDestinatario: String; AEnviarDirectamente: Boolean = false) : boolean;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
MAPI;
|
||||||
|
|
||||||
|
function EsDireccionEMailValida(const Value: string): boolean;
|
||||||
|
function CheckAllowed(const s: string): boolean;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
begin
|
||||||
|
Result:= false;
|
||||||
|
for i:= 1 to Length(s) do
|
||||||
|
begin
|
||||||
|
// illegal char in s -> no valid address
|
||||||
|
if not (s[i] in ['a'..'z','A'..'Z','0'..'9','_','-','.']) then
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
Result:= true;
|
||||||
|
end;
|
||||||
|
var
|
||||||
|
i: integer;
|
||||||
|
namePart, serverPart: string;
|
||||||
|
begin // of IsValidEmail
|
||||||
|
Result:= false;
|
||||||
|
i:= Pos('@', Value);
|
||||||
|
if (i = 0) or (pos('..', Value) > 0) then
|
||||||
|
Exit;
|
||||||
|
namePart:= Copy(Value, 1, i - 1);
|
||||||
|
serverPart:= Copy(Value, i + 1, Length(Value));
|
||||||
|
if (Length(namePart) = 0) // @ or name missing
|
||||||
|
or ((Length(serverPart) < 4)) // name or server missing or
|
||||||
|
then Exit; // too short
|
||||||
|
i:= Pos('.', serverPart);
|
||||||
|
// must have dot and at least 3 places from end
|
||||||
|
if (i < 2) or (i > (Length(serverPart) - 2)) then
|
||||||
|
Exit;
|
||||||
|
Result:= CheckAllowed(namePart) and CheckAllowed(serverPart);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EnviarEMailMAPI(const AAsunto, ACuerpo, AFicheroAdjunto, ANombreRemitente, AEMailRemitente,
|
||||||
|
ANombreDestinatario, AEMailDestinatario: String; AEnviarDirectamente: Boolean = false) : boolean;
|
||||||
|
var
|
||||||
|
AMAPIControl : TMapiControl;
|
||||||
|
begin
|
||||||
|
AMAPIControl := TMapiControl.Create(NIL);
|
||||||
|
try
|
||||||
|
with AMAPIControl do
|
||||||
|
begin
|
||||||
|
Subject := AAsunto;
|
||||||
|
Body := ACuerpo;
|
||||||
|
FromName := ANombreRemitente;
|
||||||
|
FromAdress := AEMailRemitente;
|
||||||
|
|
||||||
|
Recipients.Add(AEMailDestinatario);
|
||||||
|
AttachedFiles.Add(AFicheroAdjunto);
|
||||||
|
|
||||||
|
ShowDialog := not AEnviarDirectamente;
|
||||||
|
end;
|
||||||
|
Result := AMAPIControl.Sendmail;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AMAPIControl);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{ TMapiControl }
|
||||||
|
|
||||||
|
constructor TMapiControl.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
{FOnUserAbort := nil;
|
||||||
|
FOnMapiError := nil;
|
||||||
|
FOnSuccess := nil;}
|
||||||
|
FSubject := '';
|
||||||
|
FMailtext := '';
|
||||||
|
FFromName := '';
|
||||||
|
FFromAdress := '';
|
||||||
|
FTOAdr := TStringList.Create;
|
||||||
|
FCCAdr := TStringList.Create;
|
||||||
|
FBCCAdr := TStringList.Create;
|
||||||
|
FAttachedFileName := TStringList.Create;
|
||||||
|
FDisplayFileName := TStringList.Create;
|
||||||
|
FShowDialog := False;
|
||||||
|
ApplicationHandle := Application.Handle;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ +> Changes by Eugene Mayevski [mailto:Mayevski@eldos.org]}
|
||||||
|
|
||||||
|
procedure TMapiControl.SetToAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FToAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetCCAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FCCAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetBCCAddr(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FBCCAdr.Assign(newValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMapiControl.SetAttachedFileName(newValue: TStrings);
|
||||||
|
begin
|
||||||
|
FAttachedFileName.Assign(newValue);
|
||||||
|
end;
|
||||||
|
{ +< Changes }
|
||||||
|
|
||||||
|
destructor TMapiControl.Destroy;
|
||||||
|
begin
|
||||||
|
FTOAdr.Free;
|
||||||
|
FCCAdr.Free;
|
||||||
|
FBCCAdr.Free;
|
||||||
|
FAttachedFileName.Free;
|
||||||
|
FDisplayFileName.Free;
|
||||||
|
inherited destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Reset the fields for re-use}
|
||||||
|
|
||||||
|
procedure TMapiControl.Reset;
|
||||||
|
begin
|
||||||
|
FSubject := '';
|
||||||
|
FMailtext := '';
|
||||||
|
FFromName := '';
|
||||||
|
FFromAdress := '';
|
||||||
|
FTOAdr.Clear;
|
||||||
|
FCCAdr.Clear;
|
||||||
|
FBCCAdr.Clear;
|
||||||
|
FAttachedFileName.Clear;
|
||||||
|
FDisplayFileName.Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Send the Mail via the API, this procedure composes and sends
|
||||||
|
the Email }
|
||||||
|
|
||||||
|
function TMapiControl.Sendmail: Boolean;
|
||||||
|
var
|
||||||
|
MapiMessage: TMapiMessage;
|
||||||
|
MError: Cardinal;
|
||||||
|
Sender: TMapiRecipDesc;
|
||||||
|
PRecip, Recipients: PMapiRecipDesc;
|
||||||
|
PFiles, Attachments: PMapiFileDesc;
|
||||||
|
i: Integer;
|
||||||
|
AppHandle: THandle;
|
||||||
|
begin
|
||||||
|
{ First we store the Application Handle, if not
|
||||||
|
the Component might fail to send the Email or
|
||||||
|
your calling Program gets locked up. }
|
||||||
|
AppHandle := Application.Handle;
|
||||||
|
|
||||||
|
{ Initialize the Attachment Pointer, to keep Delphi quiet }
|
||||||
|
PFiles := nil;
|
||||||
|
|
||||||
|
{ We need all recipients to alloc the memory }
|
||||||
|
MapiMessage.nRecipCount := FTOAdr.Count + FCCAdr.Count + FBCCAdr.Count;
|
||||||
|
GetMem(Recipients, MapiMessage.nRecipCount * sizeof(TMapiRecipDesc));
|
||||||
|
|
||||||
|
try
|
||||||
|
with MapiMessage do
|
||||||
|
begin
|
||||||
|
ulReserved := 0;
|
||||||
|
{ Setting the Subject: }
|
||||||
|
lpszSubject := PChar(Self.FSubject);
|
||||||
|
|
||||||
|
{ ... the Body: }
|
||||||
|
lpszNoteText := PChar(FMailText);
|
||||||
|
|
||||||
|
lpszMessageType := nil;
|
||||||
|
lpszDateReceived := nil;
|
||||||
|
lpszConversationID := nil;
|
||||||
|
flFlags := 0;
|
||||||
|
|
||||||
|
{ and the sender: (MAPI_ORIG) }
|
||||||
|
Sender.ulReserved := 0;
|
||||||
|
Sender.ulRecipClass := MAPI_ORIG;
|
||||||
|
Sender.lpszName := PChar(FromName);
|
||||||
|
Sender.lpszAddress := PChar(FromAdress);
|
||||||
|
Sender.ulEIDSize := 0;
|
||||||
|
Sender.lpEntryID := nil;
|
||||||
|
lpOriginator := @Sender;
|
||||||
|
|
||||||
|
PRecip := Recipients;
|
||||||
|
|
||||||
|
{ We have multiple recipients: (MAPI_TO)
|
||||||
|
and setting up each: }
|
||||||
|
if nRecipCount > 0 then
|
||||||
|
begin
|
||||||
|
for i := 1 to FTOAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_TO;
|
||||||
|
{ lpszName should carry the Name like in the
|
||||||
|
contacts or the adress book, I will take the
|
||||||
|
email adress to keep it short: }
|
||||||
|
PRecip^.lpszName := PChar(FTOAdr.Strings[i - 1]);
|
||||||
|
{ If you use this component with Outlook97 or 2000
|
||||||
|
and not some of Express versions you will have to set
|
||||||
|
'SMTP:' in front of each (email-) adress. Otherwise
|
||||||
|
Outlook/Mapi will try to handle the Email on itself.
|
||||||
|
Sounds strange, just erease the 'SMTP:', compile, compose
|
||||||
|
a mail and take a look at the resulting email adresses
|
||||||
|
(right click).
|
||||||
|
}
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FTOAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Same with the carbon copy recipients: (CC, MAPI_CC) }
|
||||||
|
for i := 1 to FCCAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_CC;
|
||||||
|
PRecip^.lpszName := PChar(FCCAdr.Strings[i - 1]);
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FCCAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ ... and the blind copy recipients: (BCC, MAPI_BCC) }
|
||||||
|
for i := 1 to FBCCAdr.Count do
|
||||||
|
begin
|
||||||
|
PRecip^.ulReserved := 0;
|
||||||
|
PRecip^.ulRecipClass := MAPI_BCC;
|
||||||
|
PRecip^.lpszName := PChar(FBCCAdr.Strings[i - 1]);
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip^.lpszAddress := StrNew(PChar('SMTP:' + FBCCAdr.Strings[i - 1]));
|
||||||
|
{ +< Changes }
|
||||||
|
PRecip^.ulEIDSize := 0;
|
||||||
|
PRecip^.lpEntryID := nil;
|
||||||
|
Inc(PRecip);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
lpRecips := Recipients;
|
||||||
|
|
||||||
|
{ Now we process the attachments: }
|
||||||
|
nFileCount := FAttachedFileName.Count;
|
||||||
|
if nFileCount > 0 then
|
||||||
|
begin
|
||||||
|
GetMem(Attachments, nFileCount * sizeof(TMapiFileDesc));
|
||||||
|
PFiles := Attachments;
|
||||||
|
|
||||||
|
{ Fist setting up the display names (without path): }
|
||||||
|
FDisplayFileName.Clear;
|
||||||
|
for i := 1 to FAttachedFileName.Count do
|
||||||
|
FDisplayFileName.Add(ExtractFileName(FAttachedFileName[i - 1]));
|
||||||
|
|
||||||
|
if nFileCount > 0 then
|
||||||
|
begin
|
||||||
|
{ Now we pass the attached file (their paths) to the
|
||||||
|
structure: }
|
||||||
|
for i := 1 to FAttachedFileName.Count do
|
||||||
|
begin
|
||||||
|
{ Setting the complete Path }
|
||||||
|
Attachments^.lpszPathName := PChar(FAttachedFileName.Strings[i - 1]);
|
||||||
|
{ ... and the displayname: }
|
||||||
|
Attachments^.lpszFileName := PChar(FDisplayFileName.Strings[i - 1]);
|
||||||
|
Attachments^.ulReserved := 0;
|
||||||
|
Attachments^.flFlags := 0;
|
||||||
|
{ Position has to be -1, please see the WinApi Help
|
||||||
|
for details. }
|
||||||
|
Attachments^.nPosition := Cardinal(-1);
|
||||||
|
Attachments^.lpFileType := nil;
|
||||||
|
Inc(Attachments);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
lpFiles := PFiles;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
nFileCount := 0;
|
||||||
|
lpFiles := nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Send the Mail, silent or verbose:
|
||||||
|
Verbose means in Express a Mail is composed and shown as setup.
|
||||||
|
In non-Express versions we show the Login-Dialog for a new
|
||||||
|
session and after we have choosen the profile to use, the
|
||||||
|
composed email is shown before sending
|
||||||
|
|
||||||
|
Silent does currently not work for non-Express version. We have
|
||||||
|
no Session, no Login Dialog so the system refuses to compose a
|
||||||
|
new email. In Express Versions the email is sent in the
|
||||||
|
background.
|
||||||
|
|
||||||
|
Please Note: It seems that your success on the delivery depends
|
||||||
|
on a combination of MAPI-Flags (MAPI_DIALOG, MAPI_LOGON_UI, ...)
|
||||||
|
and your used OS and Office Version. I am currently using
|
||||||
|
Win2K SP1 and Office 2K SP2 with no problems at all.
|
||||||
|
If you experience problems on another versions, please try
|
||||||
|
a different combination of flags for each purpose (Dialog or not).
|
||||||
|
I would be glad to setup a table with working flags on
|
||||||
|
each OS/Office combination, just drop me a line.
|
||||||
|
|
||||||
|
Possible combinations are also (with Dialog):
|
||||||
|
1. MAPI_DIALOG or MAPI_LOGON_UI MAPI_NEW_SESSION or MAPI_USE_DEFAULT
|
||||||
|
2. MAPI_SIMPLE_DEFAULT
|
||||||
|
|
||||||
|
See MAPI.PAS or MAPI.H (SDK) for more...
|
||||||
|
}
|
||||||
|
if FShowDialog then
|
||||||
|
MError := MapiSendMail(0, AppHandle, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0)
|
||||||
|
else
|
||||||
|
MError := MapiSendMail(0, AppHandle, MapiMessage, 0, 0);
|
||||||
|
|
||||||
|
{ Now we have to process the error messages. There are some
|
||||||
|
defined in the MAPI unit please take a look at the unit to get
|
||||||
|
familiar with it.
|
||||||
|
I decided to handle USER_ABORT and SUCCESS as special and leave
|
||||||
|
the rest to fire the "new" error event defined at the top (as
|
||||||
|
generic error)
|
||||||
|
|
||||||
|
Not treated as special (constants from mapi.pas):
|
||||||
|
|
||||||
|
MAPI_E_FAILURE = 2;
|
||||||
|
MAPI_E_LOGON_FAILURE = 3;
|
||||||
|
MAPI_E_LOGIN_FAILURE = MAPI_E_LOGON_FAILURE;
|
||||||
|
MAPI_E_DISK_FULL = 4;
|
||||||
|
MAPI_E_INSUFFICIENT_MEMORY = 5;
|
||||||
|
MAPI_E_ACCESS_DENIED = 6;
|
||||||
|
MAPI_E_TOO_MANY_SESSIONS = 8;
|
||||||
|
MAPI_E_TOO_MANY_FILES = 9;
|
||||||
|
MAPI_E_TOO_MANY_RECIPIENTS = 10;
|
||||||
|
MAPI_E_ATTACHMENT_NOT_FOUND = 11;
|
||||||
|
MAPI_E_ATTACHMENT_OPEN_FAILURE = 12;
|
||||||
|
MAPI_E_ATTACHMENT_WRITE_FAILURE = 13;
|
||||||
|
MAPI_E_UNKNOWN_RECIPIENT = 14;
|
||||||
|
MAPI_E_BAD_RECIPTYPE = 15;
|
||||||
|
MAPI_E_NO_MESSAGES = 16;
|
||||||
|
MAPI_E_INVALID_MESSAGE = 17;
|
||||||
|
MAPI_E_TEXT_TOO_LARGE = 18;
|
||||||
|
MAPI_E_INVALID_SESSION = 19;
|
||||||
|
MAPI_E_TYPE_NOT_SUPPORTED = 20;
|
||||||
|
MAPI_E_AMBIGUOUS_RECIPIENT = 21;
|
||||||
|
MAPI_E_AMBIG_RECIP = MAPI_E_AMBIGUOUS_RECIPIENT;
|
||||||
|
MAPI_E_MESSAGE_IN_USE = 22;
|
||||||
|
MAPI_E_NETWORK_FAILURE = 23;
|
||||||
|
MAPI_E_INVALID_EDITFIELDS = 24;
|
||||||
|
MAPI_E_INVALID_RECIPS = 25;
|
||||||
|
MAPI_E_NOT_SUPPORTED = 26;
|
||||||
|
}
|
||||||
|
|
||||||
|
{ case MError of
|
||||||
|
MAPI_E_USER_ABORT:
|
||||||
|
begin
|
||||||
|
if Assigned(FOnUserAbort) then
|
||||||
|
FOnUserAbort(Self);
|
||||||
|
end;
|
||||||
|
SUCCESS_SUCCESS:
|
||||||
|
begin
|
||||||
|
if Assigned(FOnSuccess) then
|
||||||
|
FOnSuccess(Self);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if Assigned(FOnMapiError) then
|
||||||
|
FOnMapiError(Self, MError);
|
||||||
|
end;
|
||||||
|
end;}
|
||||||
|
Result := (MError = 0);
|
||||||
|
|
||||||
|
finally
|
||||||
|
{ Finally we do the cleanups, the message should be on its way }
|
||||||
|
{ +> Changes by Andreas Hoerig [mailto:andreas.hoerig@sillner.com] }
|
||||||
|
PRecip := Recipients;
|
||||||
|
for i := 1 to MapiMessage.nRecipCount do
|
||||||
|
begin
|
||||||
|
StrDispose(PRecip^.lpszAddress);
|
||||||
|
Inc(PRecip)
|
||||||
|
end;
|
||||||
|
{ +< Changes }
|
||||||
|
FreeMem(Recipients, MapiMessage.nRecipCount * sizeof(TMapiRecipDesc));
|
||||||
|
{ +> Changes due to Ken Halliwell [mailto:kjhalliwell@aol.com] }
|
||||||
|
if Assigned(PFiles) then
|
||||||
|
FreeMem(PFiles, MapiMessage.nFileCount * sizeof(TMapiFileDesc));
|
||||||
|
{ +< Changes }
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
@ -3,7 +3,7 @@ unit uIntegerListUtils;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes;
|
Classes, FactuGES_Intf;
|
||||||
|
|
||||||
type
|
type
|
||||||
TIntegerList = class(TList)
|
TIntegerList = class(TList)
|
||||||
@ -14,10 +14,15 @@ type
|
|||||||
procedure Add(Value: integer); reintroduce;
|
procedure Add(Value: integer); reintroduce;
|
||||||
function Find(Value: integer; var Index: Integer): Boolean;
|
function Find(Value: integer; var Index: Integer): Boolean;
|
||||||
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
property Integers[index: integer]: integer read GetInteger write SetInteger; default;
|
||||||
|
function ToIntegerArray : TIntegerArray;
|
||||||
|
function ToString : String;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils;
|
||||||
|
|
||||||
function TIntegerList.GetInteger(Index: integer): integer;
|
function TIntegerList.GetInteger(Index: integer): integer;
|
||||||
begin
|
begin
|
||||||
result := Integer(Items[index]);
|
result := Integer(Items[index]);
|
||||||
@ -28,6 +33,30 @@ begin
|
|||||||
Items[index] := Pointer(Value);
|
Items[index] := Pointer(Value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIntegerList.ToIntegerArray: TIntegerArray;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
begin
|
||||||
|
Result := TIntegerArray.Create;
|
||||||
|
for i := 0 to Count - 1 do
|
||||||
|
Result.Add(Integers[i]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TIntegerList.ToString: String;
|
||||||
|
var
|
||||||
|
i : Integer;
|
||||||
|
AList : TStringList;
|
||||||
|
begin
|
||||||
|
AList := TStringList.Create;
|
||||||
|
try
|
||||||
|
for i := 0 to Count - 1 do
|
||||||
|
AList.Add(IntToStr(Integers[i]));
|
||||||
|
Result := AList.CommaText;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(AList);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TIntegerList.Add(Value: integer);
|
procedure TIntegerList.Add(Value: integer);
|
||||||
var
|
var
|
||||||
Index: integer;
|
Index: integer;
|
||||||
@ -59,3 +88,4 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
@ -20,33 +20,70 @@
|
|||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
===============================================================================
|
===============================================================================
|
||||||
}
|
}
|
||||||
|
|
||||||
unit uSistemaFunc;
|
unit uSistemaFunc;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses SysUtils, Classes;
|
||||||
|
|
||||||
{ Funciones del sistema }
|
{ Funciones del sistema }
|
||||||
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean) : Boolean;
|
||||||
|
procedure EscribirEnFichero (NombreFichero, Texto : string);
|
||||||
function DarRutaTemporal : String;
|
function DarRutaTemporal : String;
|
||||||
|
function DarDirectorioTemporal : String;
|
||||||
function DarFicheroTemporal : String;
|
function DarFicheroTemporal : String;
|
||||||
function DarFicheroJPGTemporal : String;
|
function DarFicheroJPGTemporal : String;
|
||||||
function DarFicheroBMPTemporal : String;
|
function DarFicheroBMPTemporal : String;
|
||||||
function DarFicheroTIFFTemporal : String;
|
function DarFicheroTIFFTemporal : String;
|
||||||
function DarFicheroExportar (var Fichero : String) : Boolean;
|
function DarFicheroHTMLTemporal : String;
|
||||||
|
function DarFicheroExcelTemporal : String;
|
||||||
|
function DarFicheroPDFTemporal : String; overload;
|
||||||
|
function DarFicheroPDFTemporal(const AFileName : String) : String; overload;
|
||||||
function DarVersionFichero (Executable : String) : String;
|
function DarVersionFichero (Executable : String) : String;
|
||||||
function DarFechaFichero (Executable : String) : String;
|
function DarFechaFichero (Executable : String) : String;
|
||||||
procedure CopiarFichero(const Origen, Destino: string);
|
procedure CopiarFichero(const Origen, Destino: string);
|
||||||
procedure DoDelTree( TheDir : String);
|
|
||||||
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
procedure Deltree(DirToKill : String; KillChoosenDir : Boolean);
|
||||||
|
function GetSpecialFolderPath(folder : integer) : string;
|
||||||
|
function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean;
|
||||||
|
function PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
|
||||||
|
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
|
||||||
|
function EscapeIllegalChars(AFileName: string): string;
|
||||||
|
function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList;
|
||||||
|
|
||||||
|
function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
SysUtils, Windows, Dialogs,
|
Windows, Variants, Dialogs, JclFileUtils,
|
||||||
|
Messages, Graphics, Controls, Forms,
|
||||||
|
StdCtrls, SHFolder, cxShellBrowserDialog,
|
||||||
|
cxLookAndFeels, uStringsUtils;
|
||||||
|
|
||||||
|
|
||||||
|
function GetSpecialFolderPath(folder : integer) : string;
|
||||||
|
const
|
||||||
|
SHGFP_TYPE_CURRENT = 0;
|
||||||
|
var
|
||||||
|
path: array [0..MAX_PATH] of char;
|
||||||
|
begin
|
||||||
|
if SUCCEEDED(SHGetFolderPath(0, folder, 0, SHGFP_TYPE_CURRENT, @path[0])) then
|
||||||
|
Result := path
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure EscribirEnFichero (NombreFichero, Texto : string);
|
||||||
|
var
|
||||||
|
FicheroAux : TextFile;
|
||||||
|
begin
|
||||||
|
SysUtils.DeleteFile(NombreFichero);
|
||||||
|
AssignFile(FicheroAux, NombreFichero);
|
||||||
|
Rewrite(FicheroAux);
|
||||||
|
WriteLn(FicheroAux, Texto);
|
||||||
|
CloseFile(FicheroAux);
|
||||||
|
end;
|
||||||
|
|
||||||
Messages, Classes, Graphics, Controls, Forms,
|
|
||||||
StdCtrls;
|
|
||||||
|
|
||||||
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
|
function Ejecutar (const LineaComando: String; Oculto, Esperar: Boolean): Boolean;
|
||||||
var
|
var
|
||||||
@ -112,6 +149,30 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'tif';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DarFicheroPDFTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'pdf';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroPDFTemporal(const AFileName : String) : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
RutaTmp : string;
|
||||||
|
begin
|
||||||
|
if not EsCadenaVacia(AFileName) then
|
||||||
|
begin
|
||||||
|
RutaTmp := DarRutaTemporal;
|
||||||
|
Cadena := ExtractFileName(AFileName);
|
||||||
|
Cadena := StringReplace(Cadena, ExtractFileExt(Cadena), '', []);
|
||||||
|
Result := RutaTmp + Cadena + '.pdf';
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Result := DarFicheroPDFTemporal;
|
||||||
|
end;
|
||||||
|
|
||||||
function DarFicheroBMPTemporal : String;
|
function DarFicheroBMPTemporal : String;
|
||||||
var
|
var
|
||||||
Cadena : String;
|
Cadena : String;
|
||||||
@ -120,6 +181,22 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DarFicheroExcelTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'xls';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarFicheroHTMLTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena : String;
|
||||||
|
begin
|
||||||
|
Cadena := DarFicheroTemporal;
|
||||||
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'html';
|
||||||
|
end;
|
||||||
|
|
||||||
function DarFicheroJPGTemporal : String;
|
function DarFicheroJPGTemporal : String;
|
||||||
var
|
var
|
||||||
Cadena : String;
|
Cadena : String;
|
||||||
@ -128,7 +205,7 @@ begin
|
|||||||
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'jpg';
|
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'jpg';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function DarFicheroExportar (var Fichero : String) : Boolean;
|
function PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
|
||||||
var
|
var
|
||||||
DialogoSalvar : TSaveDialog;
|
DialogoSalvar : TSaveDialog;
|
||||||
begin
|
begin
|
||||||
@ -149,28 +226,37 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
|
||||||
|
var
|
||||||
|
DialogoSalvar : TSaveDialog;
|
||||||
|
begin
|
||||||
|
DialogoSalvar := TSaveDialog.Create(NIL);
|
||||||
|
try
|
||||||
|
with DialogoSalvar do
|
||||||
|
begin
|
||||||
|
DefaultExt := 'xls';
|
||||||
|
Filter := 'Documento de Excel (*.xls)|*.xls';
|
||||||
|
FilterIndex := 0;
|
||||||
|
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
|
||||||
|
end;
|
||||||
|
Result := DialogoSalvar.Execute;
|
||||||
|
if Result then
|
||||||
|
Fichero := DialogoSalvar.FileName;
|
||||||
|
finally
|
||||||
|
DialogoSalvar.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
function DarVersionFichero (Executable : String) : String;
|
function DarVersionFichero (Executable : String) : String;
|
||||||
var
|
var
|
||||||
Size, Size2: DWord;
|
Obj : TJclFileVersionInfo;
|
||||||
Pt, Pt2: Pointer;
|
|
||||||
begin
|
begin
|
||||||
Size := GetFileVersionInfoSize(PChar (Executable), Size2);
|
Obj := TJclFileVersionInfo.Create(Application.ExeName);
|
||||||
if Size > 0 then
|
|
||||||
begin
|
|
||||||
GetMem (Pt, Size);
|
|
||||||
try
|
try
|
||||||
GetFileVersionInfo (PChar (Executable), 0, Size, Pt);
|
Result := Obj.FileVersion;
|
||||||
VerQueryValue (Pt, '\', Pt2, Size2);
|
|
||||||
with TVSFixedFileInfo (Pt2^) do
|
|
||||||
begin
|
|
||||||
Result:= IntToStr (HiWord (dwFileVersionMS)) + '.' +
|
|
||||||
IntToStr (LoWord (dwFileVersionMS)) + '.' +
|
|
||||||
IntToStr (HiWord (dwFileVersionLS)) + '.' +
|
|
||||||
IntToStr (LoWord (dwFileVersionLS));
|
|
||||||
end;
|
|
||||||
finally
|
finally
|
||||||
FreeMem (Pt);
|
FreeAndNil(Obj);
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -251,5 +337,127 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean;
|
||||||
|
var
|
||||||
|
cxShellBrowserDialog1: TcxShellBrowserDialog;
|
||||||
|
begin
|
||||||
|
cxShellBrowserDialog1 := TcxShellBrowserDialog.Create(NIL);
|
||||||
|
try
|
||||||
|
with cxShellBrowserDialog1 do
|
||||||
|
begin
|
||||||
|
Name := 'cxShellBrowserDialog1';
|
||||||
|
FolderLabelCaption := AComentario;
|
||||||
|
LookAndFeel.NativeStyle := True;
|
||||||
|
LookAndFeel.Kind := lfStandard;
|
||||||
|
Title := ATitulo;
|
||||||
|
|
||||||
|
Result := cxShellBrowserDialog1.Execute;
|
||||||
|
ARuta := cxShellBrowserDialog1.Path;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
FreeANDNIL(cxShellBrowserDialog1);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function EscapeIllegalChars(AFileName: string): string;
|
||||||
|
var
|
||||||
|
x: integer;
|
||||||
|
const
|
||||||
|
IllegalCharSet: set of char =
|
||||||
|
['|','<','>','\','^','+','=','?','/','[',']','"',';',',','*'];
|
||||||
|
begin
|
||||||
|
for x := 1 to Length(AFileName) do
|
||||||
|
if AFileName[x] in IllegalCharSet then
|
||||||
|
AFileName[x] := '_';
|
||||||
|
Result := AFileName;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function FindFile(const filespec: TFileName; attributes: integer): TStringList;
|
||||||
|
var
|
||||||
|
spec: string;
|
||||||
|
list: TStringList;
|
||||||
|
|
||||||
|
procedure RFindFile(const folder: TFileName);
|
||||||
|
var
|
||||||
|
SearchRec: TSearchRec;
|
||||||
|
begin
|
||||||
|
// Locate all matching files in the current
|
||||||
|
// folder and add their names to the list
|
||||||
|
if FindFirst(folder + spec, attributes, SearchRec) = 0 then begin
|
||||||
|
try
|
||||||
|
repeat
|
||||||
|
if (SearchRec.Attr and faDirectory = 0) or
|
||||||
|
(SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
|
||||||
|
list.Add(folder + SearchRec.Name);
|
||||||
|
until FindNext(SearchRec) <> 0;
|
||||||
|
except
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
end;
|
||||||
|
// Now search the subfolders
|
||||||
|
if FindFirst(folder + '*', attributes
|
||||||
|
Or faDirectory, SearchRec) = 0 then
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
repeat
|
||||||
|
if ((SearchRec.Attr and faDirectory) <> 0) and
|
||||||
|
(SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
|
||||||
|
RFindFile(folder + SearchRec.Name + '\');
|
||||||
|
until FindNext(SearchRec) <> 0;
|
||||||
|
except
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
SysUtils.FindClose(SearchRec);
|
||||||
|
end;
|
||||||
|
end; // procedure RFindFile inside of FindFile
|
||||||
|
|
||||||
|
begin // function FindFile
|
||||||
|
list := TStringList.Create;
|
||||||
|
try
|
||||||
|
spec := ExtractFileName(filespec);
|
||||||
|
RFindFile(ExtractFilePath(filespec));
|
||||||
|
Result := list;
|
||||||
|
except
|
||||||
|
list.Free;
|
||||||
|
raise;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarDirectorioTemporal : String;
|
||||||
|
var
|
||||||
|
Cadena: String;
|
||||||
|
begin
|
||||||
|
Cadena := ExtractFileName(DarFicheroTemporal);
|
||||||
|
Cadena := StringReplace(Cadena, ExtractFileExt(Cadena), '', []);
|
||||||
|
Result := DarRutaTemporal + Cadena + '\';
|
||||||
|
end;
|
||||||
|
|
||||||
|
function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant;
|
||||||
|
var
|
||||||
|
ARutaCompleta: String;
|
||||||
|
begin
|
||||||
|
Result := Null;
|
||||||
|
|
||||||
|
ARutaCompleta := ARutaIni + '\' + ADirectorio1 + '\' + ADirectorio2 + '\' + AFichero;
|
||||||
|
if FileExists(ARutaCompleta) then
|
||||||
|
Result := ARutaCompleta
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
ARutaCompleta := ARutaIni + '\' + ADirectorio1 + '\' + AFichero;
|
||||||
|
if FileExists(ARutaCompleta) then
|
||||||
|
Result := ARutaCompleta
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
ARutaCompleta := ARutaIni + '\' + AFichero;
|
||||||
|
if FileExists(ARutaCompleta) then
|
||||||
|
Result := ARutaCompleta
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
71
Source/Base/Utiles/uStringsUtils.pas
Normal file
71
Source/Base/Utiles/uStringsUtils.pas
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
unit uStringsUtils;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Classes;
|
||||||
|
|
||||||
|
const
|
||||||
|
DISPLAY_EUROS2 = '#,0.00 €';
|
||||||
|
|
||||||
|
procedure StringToStrings(Source:string; Delimiter:char; Target:TStrings);
|
||||||
|
function StringsToString(Source:TStrings; Delimiter:char):string;
|
||||||
|
function EsCadenaVacia(const S: AnsiString): Boolean; overload;
|
||||||
|
function EsCadenaVacia(const S: Variant): Boolean; overload;
|
||||||
|
function EsNumerico(Cadena: String) : Boolean;
|
||||||
|
function EscaparCadena (Cadena: String): String;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
Variants, SysUtils, JclStrings;
|
||||||
|
|
||||||
|
{ Convierte una cadena con items separados con un delimitador en un TString }
|
||||||
|
procedure StringToStrings(Source:string; Delimiter:char; Target:TStrings);
|
||||||
|
var i: integer;
|
||||||
|
begin
|
||||||
|
for i:=1 to length(Source) do
|
||||||
|
if Source[ i ] = Delimiter then Source[ i ]:=#10;
|
||||||
|
Target.Text:=Source;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ Convierte un TString en una cadena de items separados con un delimitador }
|
||||||
|
function StringsToString(Source:TStrings; Delimiter:char):string;
|
||||||
|
var i: integer;
|
||||||
|
begin
|
||||||
|
Result:='';
|
||||||
|
for i:=0 to Source.Count-1 do
|
||||||
|
Result:=Result + Delimiter + Source[ i ];
|
||||||
|
if Result<>'' then Delete(Result, 1, 1)
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EsCadenaVacia(const S: AnsiString): Boolean;
|
||||||
|
begin
|
||||||
|
Result := (Length(Trim(S)) = 0)
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EsCadenaVacia(const S: Variant): Boolean; overload;
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
if VarIsNull(S) then
|
||||||
|
Exit;
|
||||||
|
Result := EsCadenaVacia(VarToStr(S));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EsNumerico(Cadena: String) : Boolean;
|
||||||
|
var
|
||||||
|
Codigo: Integer;
|
||||||
|
Valor: Double;
|
||||||
|
begin
|
||||||
|
Val(Cadena, Valor, Codigo);
|
||||||
|
Result := (Codigo = 0)
|
||||||
|
end;
|
||||||
|
|
||||||
|
function EscaparCadena (Cadena: String): String;
|
||||||
|
begin
|
||||||
|
Result := StringReplace(Cadena, '''', '\\''', []);
|
||||||
|
Result := StrStringToEscaped(Result);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
@ -193,42 +193,111 @@ object dmBase: TdmBase
|
|||||||
object cxIntl: TcxIntl
|
object cxIntl: TcxIntl
|
||||||
Connected = True
|
Connected = True
|
||||||
cxLibrary.CantCreateRegistryKey = 'No se puede crear la llave de registro : \%s'
|
cxLibrary.CantCreateRegistryKey = 'No se puede crear la llave de registro : \%s'
|
||||||
PageControl2.ImageListIndexError = 'El '#237'ndice (%d) deber'#225' estar entre 0 y %d'
|
cxLibrary.ConverterCantCreateStyleRepository = 'No se puede crear un almac'#233'n de estilos'
|
||||||
PageControl2.NoBaseImages = 'BaseImages no est'#225' asignado'
|
PageControl.ImageListIndexError = 'El '#237'ndice (%d) deber'#225' estar entre 0 y %d'
|
||||||
PageControl2.NoRegisteredStyles = 'No hay estilos registrados'
|
PageControl.NoBaseImages = 'BaseImages no est'#225' asignado'
|
||||||
PageControl2.PageIndexError = '%d es un valor inv'#225'lido para PageIndex, debe estar entre 0 y %d'
|
PageControl.NoRegisteredStyles = 'No hay estilos registrados'
|
||||||
PageControl2.PainterClassError = 'La clase PCPainter es nula'
|
PageControl.PageIndexError = '%d es un valor inv'#225'lido para PageIndex, debe estar entre 0 y %d'
|
||||||
PageControl2.StandardStyleError = '%s es un estilo est'#225'ndar no soportado'
|
PageControl.PainterClassError = 'La clase PCPainter es nula'
|
||||||
PageControl2.StyleNameError = '%s es un nombre de estilo no registrado'
|
PageControl.StandardStyleError = '%s es un estilo est'#225'ndar no soportado'
|
||||||
PageControl2.TabCountEqualsZero = 'Tabs.Count = 0'
|
PageControl.StyleNameError = '%s es un nombre de estilo no registrado'
|
||||||
PageControl2.TabIndexError = 'El '#237'ndice de la pesta'#241'a (%d) est'#225' fuera de l'#237'mites'
|
PageControl.TabCountEqualsZero = 'Tabs.Count = 0'
|
||||||
PageControl2.TabVisibleIndexOutsOfBounds = 'Propiedad TabVisibleIndex (%d) deber'#225' estar entre 0 y %d'
|
PageControl.TabIndexError = 'El '#237'ndice de la pesta'#241'a (%d) est'#225' fuera de l'#237'mites'
|
||||||
PageControl2.VisibleTabListEmpty = 'No hay pesta'#241'as visibles'
|
PageControl.TabVisibleIndexOutsOfBounds = 'Propiedad TabVisibleIndex (%d) deber'#225' estar entre 0 y %d'
|
||||||
QuantumGrid5.GridRecursiveLevels = 'No se pueden crear niveles recursivos'
|
PageControl.VisibleTabListEmpty = 'No hay pesta'#241'as visibles'
|
||||||
QuantumGrid5.GridDeletingConfirmationCaption = 'Confirmar'
|
PageControl.PCAllowRotateError = '%s es un estilo que no soporta pesta'#241'as rotatorias'
|
||||||
QuantumGrid5.GridDeletingFocusedConfirmationText = #191'Borrar registro?'
|
QuantumGrid.GridRecursiveLevels = 'No se pueden crear niveles recursivos'
|
||||||
QuantumGrid5.GridDeletingSelectedConfirmationText = #191'Borrar todos los registros seleccionados?'
|
QuantumGrid.GridDeletingConfirmationCaption = 'Confirmar'
|
||||||
QuantumGrid5.GridNoDataInfoText = '<No hay datos a mostrar>'
|
QuantumGrid.GridDeletingFocusedConfirmationText = #191'Borrar registro?'
|
||||||
QuantumGrid5.GridNewItemRowInfoText = 'Haga click aqu'#237' para agregar una nueva l'#237'nea'
|
QuantumGrid.GridDeletingSelectedConfirmationText = #191'Borrar todos los registros seleccionados?'
|
||||||
QuantumGrid5.GridFilterIsEmpty = '<Filtro Vac'#237'o>'
|
QuantumGrid.GridNoDataInfoText = '<No hay datos a mostrar>'
|
||||||
QuantumGrid5.GridCustomizationFormCaption = 'Personalizaci'#243'n'
|
QuantumGrid.GridNewItemRowInfoText = 'Haga click aqu'#237' para agregar una nueva l'#237'nea'
|
||||||
QuantumGrid5.GridCustomizationFormColumnsPageCaption = 'Columnas'
|
QuantumGrid.GridFilterIsEmpty = '<Filtro Vac'#237'o>'
|
||||||
QuantumGrid5.GridGroupByBoxCaption = 'Arrastre una columna aqu'#237' para agrupar por dicha columna'
|
QuantumGrid.GridCustomizationFormCaption = 'Personalizaci'#243'n'
|
||||||
QuantumGrid5.GridFilterCustomizeButtonCaption = 'Personalizar...'
|
QuantumGrid.GridCustomizationFormColumnsPageCaption = 'Columnas'
|
||||||
QuantumGrid5.GridColumnsQuickCustomizationHint = 'Haga click aqu'#237' para seleccionar las columas visibles'
|
QuantumGrid.GridGroupByBoxCaption = 'Arrastre una columna aqu'#237' para agrupar por dicha columna'
|
||||||
QuantumGrid5.GridCustomizationFormBandsPageCaption = 'Bandas'
|
QuantumGrid.GridFilterCustomizeButtonCaption = 'Personalizar...'
|
||||||
QuantumGrid5.GridBandsQuickCustomizationHint = 'Haga click aqu'#237' para seleccionar las bandas visibles'
|
QuantumGrid.GridColumnsQuickCustomizationHint = 'Haga click aqu'#237' para seleccionar las columas visibles'
|
||||||
QuantumGrid5.GridCustomizationFormRowsPageCaption = 'Rows'
|
QuantumGrid.GridCustomizationFormBandsPageCaption = 'Bandas'
|
||||||
QuantumGrid5.GridConverterIntermediaryMissing = 'Omiti'#243' un componente intermediario!'
|
QuantumGrid.GridBandsQuickCustomizationHint = 'Haga click aqu'#237' para seleccionar las bandas visibles'
|
||||||
QuantumGrid5.GridConverterNotExistGrid = 'cxGrid no existe'
|
QuantumGrid.GridCustomizationFormRowsPageCaption = 'Rows'
|
||||||
QuantumGrid5.GridConverterNotExistComponent = 'El componente no existe'
|
QuantumGrid.GridConverterIntermediaryMissing = 'Omiti'#243' un componente intermediario!'
|
||||||
QuantumGrid5.ImportErrorCaption = 'Error al importar'
|
QuantumGrid.GridConverterNotExistGrid = 'cxGrid no existe'
|
||||||
QuantumGrid5.NotExistGridView = 'No existe la vista del grid'
|
QuantumGrid.GridConverterNotExistComponent = 'El componente no existe'
|
||||||
QuantumGrid5.NotExistGridLevel = 'No existe un nivel de grid activo'
|
QuantumGrid.ImportErrorCaption = 'Error al importar'
|
||||||
QuantumGrid5.CantCreateExportOutputFile = 'No se puede crear el archivo de exportaci'#243'n'
|
QuantumGrid.NotExistGridView = 'No existe la vista del grid'
|
||||||
QuantumGrid5.EditRepositoryExtLookupComboBoxItem =
|
QuantumGrid.NotExistGridLevel = 'No existe un nivel de grid activo'
|
||||||
|
QuantumGrid.CantCreateExportOutputFile = 'No se puede crear el archivo de exportaci'#243'n'
|
||||||
|
QuantumGrid.EditRepositoryExtLookupComboBoxItem =
|
||||||
'ExtLookupComboBox|Representa un ultra avanzado control de busque' +
|
'ExtLookupComboBox|Representa un ultra avanzado control de busque' +
|
||||||
'da (lookup) usando el QuantumGrid como su control de despliegue'
|
'da (lookup) usando el QuantumGrid como su control de despliegue'
|
||||||
|
QuantumGrid.GridFilterRowInfoText = 'Haga clic aqu'#237' para definir un filtro'
|
||||||
|
QuantumGrid.GridFilterApplyButtonCaption = 'Aplicar Filtro'
|
||||||
|
QuantumGrid.GridYesterday = 'Ayer'
|
||||||
|
QuantumGrid.GridToday = 'Hoy'
|
||||||
|
QuantumGrid.GridTomorrow = 'Ma'#241'ana'
|
||||||
|
QuantumGrid.GridLast30Days = #218'ltimos 30 d'#237'as'
|
||||||
|
QuantumGrid.GridLast14Days = #218'ltimos 14 d'#237'as'
|
||||||
|
QuantumGrid.GridLast7Days = #218'ltimos 7 d'#237'as'
|
||||||
|
QuantumGrid.GridNext7Days = 'Pr'#243'ximos 7 d'#237'as'
|
||||||
|
QuantumGrid.GridNext14Days = 'Pr'#243'ximos 14 d'#237'as'
|
||||||
|
QuantumGrid.GridNext30Days = 'Pr'#243'ximos 30 d'#237'as'
|
||||||
|
QuantumGrid.GridLastTwoWeeks = #218'lt. dos semanas'
|
||||||
|
QuantumGrid.GridLastWeek = 'Semana pasada'
|
||||||
|
QuantumGrid.GridThisWeek = #201'sta semana'
|
||||||
|
QuantumGrid.GridNextWeek = 'Pr'#243'xima semana'
|
||||||
|
QuantumGrid.GridNextTwoWeeks = 'Pr'#243'x. dos semanas'
|
||||||
|
QuantumGrid.GridLastMonth = #218'ltimo mes'
|
||||||
|
QuantumGrid.GridThisMonth = #201'ste mes'
|
||||||
|
QuantumGrid.GridNextMonth = 'Pr'#243'ximo mes'
|
||||||
|
QuantumGrid.GridLastYear = 'A'#241'o pasado'
|
||||||
|
QuantumGrid.GridThisYear = #201'ste a'#241'o'
|
||||||
|
QuantumGrid.GridNextYear = 'Pr'#243'ximo a'#241'o'
|
||||||
|
QuantumGrid.GridPast = 'Pasado'
|
||||||
|
QuantumGrid.GridFuture = 'Futuro'
|
||||||
|
QuantumGrid.GridMonthFormat = 'mmmm yyyy'
|
||||||
|
QuantumGrid.GridYearFormat = 'yyyy'
|
||||||
|
QuantumGrid.GridChartCategoriesDisplayText = 'Datos'
|
||||||
|
QuantumGrid.GridChartValueHintFormat = '%s para %s es %s'
|
||||||
|
QuantumGrid.GridChartPercentValueTickMarkLabelFormat = '0%'
|
||||||
|
QuantumGrid.GridChartToolBoxDataLevels = 'Niveles de Datos:'
|
||||||
|
QuantumGrid.GridChartToolBoxDataLevelSelectValue = 'seleccione valor'
|
||||||
|
QuantumGrid.GridChartToolBoxCustomizeButtonCaption = 'Personalizar Gr'#225'fico'
|
||||||
|
QuantumGrid.GridChartNoneDiagramDisplayText = 'Sin Diagrama'
|
||||||
|
QuantumGrid.GridChartColumnDiagramDisplayText = 'Diagrama de Columnas'
|
||||||
|
QuantumGrid.GridChartBarDiagramDisplayText = 'Diagrama de Barras'
|
||||||
|
QuantumGrid.GridChartLineDiagramDisplayText = 'Diagrama de L'#237'neas'
|
||||||
|
QuantumGrid.GridChartAreaDiagramDisplayText = 'Diagrama de '#193'rea'
|
||||||
|
QuantumGrid.GridChartPieDiagramDisplayText = 'Diagrama de Tarta'
|
||||||
|
QuantumGrid.GridChartCustomizationFormSeriesPageCaption = 'Series'
|
||||||
|
QuantumGrid.GridChartCustomizationFormSortBySeries = 'Ordenar Por:'
|
||||||
|
QuantumGrid.GridChartCustomizationFormNoSortedSeries = '<serie nula>'
|
||||||
|
QuantumGrid.GridChartCustomizationFormDataGroupsPageCaption = 'Grupos de Datos'
|
||||||
|
QuantumGrid.GridChartCustomizationFormOptionsPageCaption = 'Opciones'
|
||||||
|
QuantumGrid.GridChartLegend = 'Leyenda'
|
||||||
|
QuantumGrid.GridChartLegendKeyBorder = 'Marco de Clave'
|
||||||
|
QuantumGrid.GridChartPosition = 'Posici'#243'n'
|
||||||
|
QuantumGrid.GridChartPositionDefault = 'Defecto'
|
||||||
|
QuantumGrid.GridChartPositionNone = 'Ninguno'
|
||||||
|
QuantumGrid.GridChartPositionLeft = 'Izquierda'
|
||||||
|
QuantumGrid.GridChartPositionTop = 'Superior'
|
||||||
|
QuantumGrid.GridChartPositionRight = 'Derecha'
|
||||||
|
QuantumGrid.GridChartPositionBottom = 'Inferior'
|
||||||
|
QuantumGrid.GridChartAlignment = 'Alineaci'#243'n'
|
||||||
|
QuantumGrid.GridChartAlignmentDefault = 'Defecto'
|
||||||
|
QuantumGrid.GridChartAlignmentStart = 'Inicio'
|
||||||
|
QuantumGrid.GridChartAlignmentCenter = 'Centro'
|
||||||
|
QuantumGrid.GridChartAlignmentEnd = 'Final'
|
||||||
|
QuantumGrid.GridChartOrientation = 'Orientaci'#243'n'
|
||||||
|
QuantumGrid.GridChartOrientationDefault = 'Defecto'
|
||||||
|
QuantumGrid.GridChartOrientationHorizontal = 'Horizontal'
|
||||||
|
QuantumGrid.GridChartOrientationVertical = 'Vertical'
|
||||||
|
QuantumGrid.GridChartBorder = 'Marco'
|
||||||
|
QuantumGrid.GridChartTitle = 'T'#237'tulo'
|
||||||
|
QuantumGrid.GridChartToolBox = 'Caja de Herramientas'
|
||||||
|
QuantumGrid.GridChartDiagramSelector = 'Selector de Diagramas'
|
||||||
|
QuantumGrid.GridChartOther = 'Otro'
|
||||||
|
QuantumGrid.GridChartValueHints = 'Valores de Ayuda'
|
||||||
Navigator.NavigatorHint_First = 'Primer registro'
|
Navigator.NavigatorHint_First = 'Primer registro'
|
||||||
Navigator.NavigatorHint_Prior = 'Registro anterior'
|
Navigator.NavigatorHint_Prior = 'Registro anterior'
|
||||||
Navigator.NavigatorHint_PriorPage = 'P'#225'gina anterior'
|
Navigator.NavigatorHint_PriorPage = 'P'#225'gina anterior'
|
||||||
@ -237,6 +306,7 @@ object dmBase: TdmBase
|
|||||||
Navigator.NavigatorHint_Last = #218'ltimo registro'
|
Navigator.NavigatorHint_Last = #218'ltimo registro'
|
||||||
Navigator.NavigatorHint_Insert = 'Insertar registro'
|
Navigator.NavigatorHint_Insert = 'Insertar registro'
|
||||||
Navigator.NavigatorHint_Delete = 'Borrar registro'
|
Navigator.NavigatorHint_Delete = 'Borrar registro'
|
||||||
|
Navigator.NavigatorHint_Append = 'Append record'
|
||||||
Navigator.NavigatorHint_Edit = 'Editar registro'
|
Navigator.NavigatorHint_Edit = 'Editar registro'
|
||||||
Navigator.NavigatorHint_Post = 'Grabar edici'#243'n'
|
Navigator.NavigatorHint_Post = 'Grabar edici'#243'n'
|
||||||
Navigator.NavigatorHint_Cancel = 'Cancelar edici'#243'n'
|
Navigator.NavigatorHint_Cancel = 'Cancelar edici'#243'n'
|
||||||
@ -245,127 +315,167 @@ object dmBase: TdmBase
|
|||||||
Navigator.NavigatorHint_GotoBookmark = 'Volver a Marca'
|
Navigator.NavigatorHint_GotoBookmark = 'Volver a Marca'
|
||||||
Navigator.NavigatorHint_Filter = 'Filtrar datos'
|
Navigator.NavigatorHint_Filter = 'Filtrar datos'
|
||||||
Navigator.Navigator_DeleteRecordQuestion = #191'Desea borrar este el registro?'
|
Navigator.Navigator_DeleteRecordQuestion = #191'Desea borrar este el registro?'
|
||||||
Editors5.EditDateConvertError = 'El valor no se puede convertir a fecha'
|
Editors.EditButtonCancel = 'Cancelar'
|
||||||
Editors5.EditInvalidRepositoryItem = 'Elemento de repositorio no v'#225'lido'
|
Editors.EditButtonOK = 'Aceptar'
|
||||||
Editors5.EditNumericValueConvertError = 'No se puede convertir a valor num'#233'rico'
|
Editors.EditDateConvertError = 'El valor no se puede convertir a fecha'
|
||||||
Editors5.EditPopupCircularReferencingError = 'Referencia circular no permitida'
|
Editors.EditInvalidRepositoryItem = 'Elemento de repositorio no v'#225'lido'
|
||||||
Editors5.EditPostError = 'Ocurri'#243' un error durante el grabado del valor de edici'#243'n'
|
Editors.EditNumericValueConvertError = 'No se puede convertir a valor num'#233'rico'
|
||||||
Editors5.EditTimeConvertError = 'No se puede convertir a valor de tiempo'
|
Editors.EditPopupCircularReferencingError = 'Referencia circular no permitida'
|
||||||
Editors5.EditValidateErrorText = 'Valor inv'#225'lido. Use la tecla de escape para cancelar cambios'
|
Editors.EditPostError = 'Ocurri'#243' un error durante el grabado del valor de edici'#243'n'
|
||||||
Editors5.EditValueOutOfBounds = 'Valor fuera de l'#237'mites'
|
Editors.EditTimeConvertError = 'No se puede convertir a valor de tiempo'
|
||||||
Editors5.EditCheckBoxChecked = 'True'
|
Editors.EditValidateErrorText = 'Valor inv'#225'lido. Use la tecla de escape para cancelar cambios'
|
||||||
Editors5.EditCheckBoxUnchecked = 'False'
|
Editors.EditValueOutOfBounds = 'Valor fuera de l'#237'mites'
|
||||||
Editors5.TextTrue = 'True'
|
Editors.EditCheckBoxChecked = 'True'
|
||||||
Editors5.TextFalse = 'False'
|
Editors.EditCheckBoxUnchecked = 'False'
|
||||||
Editors5.BlobButtonOK = '&Aceptar'
|
Editors.TextTrue = 'True'
|
||||||
Editors5.BlobButtonCancel = '&Cancelar'
|
Editors.TextFalse = 'False'
|
||||||
Editors5.BlobButtonClose = '&Cerrar'
|
Editors.BlobButtonOK = '&Aceptar'
|
||||||
Editors5.BlobMemo = '(MEMO)'
|
Editors.BlobButtonCancel = '&Cancelar'
|
||||||
Editors5.BlobMemoEmpty = '(memo)'
|
Editors.BlobButtonClose = '&Cerrar'
|
||||||
Editors5.BlobPicture = '(IM'#193'GEN)'
|
Editors.BlobMemo = '(MEMO)'
|
||||||
Editors5.BlobPictureEmpty = '(im'#225'gen)'
|
Editors.BlobMemoEmpty = '(memo)'
|
||||||
Editors5.MenuItemCaptionCut = 'Cor&tar'
|
Editors.BlobPicture = '(IM'#193'GEN)'
|
||||||
Editors5.MenuItemCaptionCopy = '&Copiar'
|
Editors.BlobPictureEmpty = '(im'#225'gen)'
|
||||||
Editors5.MenuItemCaptionPaste = '&Pegar'
|
Editors.MenuItemCaptionCut = 'Cor&tar'
|
||||||
Editors5.MenuItemCaptionDelete = '&Borrar'
|
Editors.MenuItemCaptionCopy = '&Copiar'
|
||||||
Editors5.MenuItemCaptionLoad = '&Leer...'
|
Editors.MenuItemCaptionPaste = '&Pegar'
|
||||||
Editors5.MenuItemCaptionSave = 'Guardar &Como...'
|
Editors.MenuItemCaptionDelete = '&Borrar'
|
||||||
Editors5.DatePopupClear = 'Limpiar'
|
Editors.MenuItemCaptionLoad = '&Leer...'
|
||||||
Editors5.DatePopupNow = 'Ahora'
|
Editors.MenuItemCaptionSave = 'Guardar &Como...'
|
||||||
Editors5.DatePopupOK = 'Aceptar'
|
Editors.DatePopupClear = 'Limpiar'
|
||||||
Editors5.DatePopupToday = 'Hoy'
|
Editors.DatePopupNow = 'Ahora'
|
||||||
Editors5.DateError = 'Fecha inv'#225'lida'
|
Editors.DatePopupOK = 'Aceptar'
|
||||||
Editors5.DateToday = 'hoy'
|
Editors.DatePopupToday = 'Hoy'
|
||||||
Editors5.DateYesterday = 'ayer'
|
Editors.DateError = 'Fecha inv'#225'lida'
|
||||||
Editors5.DateTomorrow = 'ma'#241'ana'
|
Editors.DateToday = 'hoy'
|
||||||
Editors5.DateSunday = 'Domingo'
|
Editors.DateYesterday = 'ayer'
|
||||||
Editors5.DateMonday = 'Lunes'
|
Editors.DateTomorrow = 'ma'#241'ana'
|
||||||
Editors5.DateTuesday = 'Martes'
|
Editors.DateSunday = 'Domingo'
|
||||||
Editors5.DateWednesday = 'Mi'#233'rcoles'
|
Editors.DateMonday = 'Lunes'
|
||||||
Editors5.DateThursday = 'Jueves'
|
Editors.DateTuesday = 'Martes'
|
||||||
Editors5.DateFriday = 'Viernes'
|
Editors.DateWednesday = 'Mi'#233'rcoles'
|
||||||
Editors5.DateSaturday = 'S'#225'bado'
|
Editors.DateThursday = 'Jueves'
|
||||||
Editors5.DateFirst = 'Primero'
|
Editors.DateFriday = 'Viernes'
|
||||||
Editors5.DateSecond = 'segundo'
|
Editors.DateSaturday = 'S'#225'bado'
|
||||||
Editors5.DateThird = 'tercero'
|
Editors.DateFirst = 'Primero'
|
||||||
Editors5.DateFourth = 'Cuarto'
|
Editors.DateSecond = 'segundo'
|
||||||
Editors5.DateFifth = 'Quinto'
|
Editors.DateThird = 'tercero'
|
||||||
Editors5.DateSixth = 'sexto'
|
Editors.DateFourth = 'Cuarto'
|
||||||
Editors5.DateSeventh = 's'#233'ptimo'
|
Editors.DateFifth = 'Quinto'
|
||||||
Editors5.DateBOM = 'bom'
|
Editors.DateSixth = 'sexto'
|
||||||
Editors5.DateEOM = 'eom'
|
Editors.DateSeventh = 's'#233'ptimo'
|
||||||
Editors5.DateNow = 'ahora'
|
Editors.DateBOM = 'bom'
|
||||||
Editors5.CalcError = 'Error'
|
Editors.DateEOM = 'eom'
|
||||||
Editors5.HyperLinkPrefix = 'http://'
|
Editors.DateNow = 'ahora'
|
||||||
Editors5.HyperLinkDoubleSlash = '//'
|
Editors.CalcError = 'Error'
|
||||||
Editors5.EditRepositoryBlobItem = 'BlobEdit|Representa el editor de BLOB'
|
Editors.HyperLinkPrefix = 'http://'
|
||||||
Editors5.EditRepositoryButtonItem =
|
Editors.HyperLinkDoubleSlash = '//'
|
||||||
|
Editors.EditRepositoryBlobItem = 'BlobEdit|Representa el editor de BLOB'
|
||||||
|
Editors.EditRepositoryButtonItem =
|
||||||
'ButtonEdit|Representa un control de edici'#243'n con controles incrus' +
|
'ButtonEdit|Representa un control de edici'#243'n con controles incrus' +
|
||||||
'tados'
|
'tados'
|
||||||
Editors5.EditRepositoryCalcItem =
|
Editors.EditRepositoryCalcItem =
|
||||||
'CalcEdit|Representa un control de edici'#243'n con una ventana de cal' +
|
'CalcEdit|Representa un control de edici'#243'n con una ventana de cal' +
|
||||||
'culadora desplegable'
|
'culadora desplegable'
|
||||||
Editors5.EditRepositoryCheckBoxItem =
|
Editors.EditRepositoryCheckBoxItem =
|
||||||
'CheckBox|Representa un control de caja de marca que permite sele' +
|
'CheckBox|Representa un control de caja de marca que permite sele' +
|
||||||
'ccionar una opci'#243'n'
|
'ccionar una opci'#243'n'
|
||||||
Editors5.EditRepositoryComboBoxItem = 'ComboBox|Representa el editor de la caja combo'
|
Editors.EditRepositoryComboBoxItem = 'ComboBox|Representa el editor de la caja combo'
|
||||||
Editors5.EditRepositoryCurrencyItem =
|
Editors.EditRepositoryCurrencyItem =
|
||||||
'CurrencyEdit|Representa un editor que habilita la edici'#243'n de val' +
|
'CurrencyEdit|Representa un editor que habilita la edici'#243'n de val' +
|
||||||
'ores monetarios'
|
'ores monetarios'
|
||||||
Editors5.EditRepositoryDateItem =
|
Editors.EditRepositoryDateItem =
|
||||||
'DateEdit|Representa un control de edici'#243'n con un calendario desp' +
|
'DateEdit|Representa un control de edici'#243'n con un calendario desp' +
|
||||||
'legable'
|
'legable'
|
||||||
Editors5.EditRepositoryHyperLinkItem = 'HyperLink|Representa un editor de texto de hiperv'#237'nculos'
|
Editors.EditRepositoryHyperLinkItem = 'HyperLink|Representa un editor de texto de hiperv'#237'nculos'
|
||||||
Editors5.EditRepositoryImageComboBoxItem =
|
Editors.EditRepositoryImageComboBoxItem =
|
||||||
'ImageComboBox|Representa un editor que muestra una lista de im'#225'g' +
|
'ImageComboBox|Representa un editor que muestra una lista de im'#225'g' +
|
||||||
'enes y texto en la ventana desplegable'
|
'enes y texto en la ventana desplegable'
|
||||||
Editors5.EditRepositoryImageItem = 'Image|Representa un editor de im'#225'genes'
|
Editors.EditRepositoryImageItem = 'Image|Representa un editor de im'#225'genes'
|
||||||
Editors5.EditRepositoryLookupComboBoxItem = 'LookupComboBox|Representa una caja de b'#250'squeda'
|
Editors.EditRepositoryLookupComboBoxItem = 'LookupComboBox|Representa una caja de b'#250'squeda'
|
||||||
Editors5.EditRepositoryMaskItem = 'MaskEdit|Representa un control de edici'#243'n gen'#233'rico con m'#225'scara'
|
Editors.EditRepositoryMaskItem = 'MaskEdit|Representa un control de edici'#243'n gen'#233'rico con m'#225'scara'
|
||||||
Editors5.EditRepositoryMemoItem =
|
Editors.EditRepositoryMemoItem =
|
||||||
'Memo|Representa un control de edici'#243'n que permite editar datos m' +
|
'Memo|Representa un control de edici'#243'n que permite editar datos m' +
|
||||||
'emo'
|
'emo'
|
||||||
Editors5.EditRepositoryMRUItem =
|
Editors.EditRepositoryMRUItem =
|
||||||
'MRUEdit|Representa un editor de texto mostrando la lista de los ' +
|
'MRUEdit|Representa un editor de texto mostrando la lista de los ' +
|
||||||
'elementos m'#225's recientemente usados (MRU) en una ventana desplega' +
|
'elementos m'#225's recientemente usados (MRU) en una ventana desplega' +
|
||||||
'ble'
|
'ble'
|
||||||
Editors5.EditRepositoryPopupItem =
|
Editors.EditRepositoryPopupItem =
|
||||||
'PopupEdit|Representa un control de edici'#243'n con una lista despleg' +
|
'PopupEdit|Representa un control de edici'#243'n con una lista despleg' +
|
||||||
'able'
|
'able'
|
||||||
Editors5.EditRepositorySpinItem = 'SpinEdit|Representa un editor de incrementos/decrementos (spin)'
|
Editors.EditRepositorySpinItem = 'SpinEdit|Representa un editor de incrementos/decrementos (spin)'
|
||||||
Editors5.EditRepositoryRadioGroupItem = 'RadioGroup|Represents a group of radio buttons'
|
Editors.EditRepositoryRadioGroupItem = 'RadioGroup|Represents a group of radio buttons'
|
||||||
Editors5.EditRepositoryTextItem = 'TextEdit|Representa un editor de texto de l'#237'nea sencilla'
|
Editors.EditRepositoryTextItem = 'TextEdit|Representa un editor de texto de l'#237'nea sencilla'
|
||||||
Editors5.EditRepositoryTimeItem = 'TimeEdit|Representa un editor mostrando valores de tiempo'
|
Editors.EditRepositoryTimeItem = 'TimeEdit|Representa un editor mostrando valores de tiempo'
|
||||||
Editors5.RegExprLine = 'L'#237'nea'
|
Editors.EditRepositoryColorComboBoxItem = 'ColorComboBox |Represents a editor with color functionality'
|
||||||
Editors5.RegExprChar = 'Char'
|
Editors.EditRepositoryFontNameComboBoxItem = 'FontNameComboBox |Represents a editor with font functionality'
|
||||||
Editors5.RegExprNotAssignedSourceStream = 'No se ha asignado el stream fuente'
|
Editors.EditRepositoryLabelItem = 'Label|Represents a Label'
|
||||||
Editors5.RegExprEmptySourceStream = 'El stream or'#237'gen est'#225' vac'#237'o'
|
Editors.EditRepositoryProgressBarItem = 'ProgressBar|Represents a ProgressBar'
|
||||||
Editors5.RegExprCantUsePlusQuantifier = 'El cuantificador '#39'+'#39' no puede aplicarse aqu'#237
|
Editors.EditRepositoryTrackBarItem = 'TrackBar|Represents a TrackBar'
|
||||||
Editors5.RegExprCantUseStarQuantifier = 'El cuantificador '#39'*'#39' no puede aplicarse aqu'#237
|
Editors.EditRepositorySpinButtonItem = 'SpinButton|Represents a SpinButton'
|
||||||
Editors5.RegExprCantCreateEmptyAlt = 'La alternativa no debe estar vac'#237'a'
|
Editors.EditRepositoryCheckComboBox = 'CheckComboBox|Represents a CheckComboBox'
|
||||||
Editors5.RegExprCantCreateEmptyBlock = 'El bloque no debe estar vac'#237'o'
|
Editors.EditRepositoryShellComboBoxItem =
|
||||||
Editors5.RegExprIllegalSymbol = 'S'#237'mbolo no permitido '#39'%s'#39
|
'ShellComboBox|Represents a combo box with a dropdown shell tree ' +
|
||||||
Editors5.RegExprIllegalQuantifier = 'Cuantificador no permitido '#39'%s'#39
|
'view'
|
||||||
Editors5.RegExprNotSupportQuantifier = 'El par'#225'metro cuantificador no es soportado'
|
Editors.EditRepositoryCheckGroupItem = 'CheckGroup|Represents a group of check boxes'
|
||||||
Editors5.RegExprIllegalIntegerValue = 'Valor entero no permitido'
|
Editors.EditRepositoryRichEditItem = 'RichEdit|RichEdit control'
|
||||||
Editors5.RegExprTooBigReferenceNumber = 'N'#250'mero de referencia demasiado grande'
|
Editors.EditCheckGroupCaptionStateDelimiter = ': '
|
||||||
Editors5.RegExprCantCreateEmptyEnum = 'No puedo crear enumeraci'#243'n vac'#237'a'
|
Editors.EditCheckGroupFilterColumnSeparator = '; '
|
||||||
Editors5.RegExprSubrangeOrder = 'El caracter de inicio del subrango debe ser menor al de fin'
|
Editors.EditCheckGroupChecked = 'Checked'
|
||||||
Editors5.RegExprHexNumberExpected0 = 'Se esperaba n'#250'mero Hexadecimal'
|
Editors.EditCheckGroupGrayed = 'Grayed'
|
||||||
Editors5.RegExprHexNumberExpected = 'N'#250'mero Hexadecimal esperado pero encontr'#243' '#39'%s'#39
|
Editors.EditCheckGroupUnchecked = 'Unchecked'
|
||||||
Editors5.RegExprMissing = 'Falta '#39'%s'#39
|
Editors.CheckComboBoxStatesItemsPropertyDlgCaption = 'cxCheckComboBox - CheckStates editor'
|
||||||
Editors5.RegExprUnnecessary = 'Innecesario '#39'%s'#39
|
Editors.CheckGroupStatesItemsPropertyDlgCaption = 'cxCheckGroup - CheckStates editor'
|
||||||
Editors5.RegExprIncorrectSpace = 'Espacio incorrecto despu'#233's de '#39'\'#39
|
Editors.CheckComboBoxEmptySelectionText = 'None selected'
|
||||||
Editors5.RegExprNotCompiled = 'Expresi'#243'n regular no compila'
|
Editors.ColorComboBoxDefaultDescription = 'Color not selected'
|
||||||
Editors5.RegExprIncorrectParameterQuantifier = 'Cuantificador de par'#225'metros incorrecto'
|
Editors.EditRichEditLibraryError = 'Cannot load a RichEdit library'
|
||||||
Editors5.RegExprCantUseParameterQuantifier = 'The parameter quantifier cannot be applied here'
|
Editors.EditRichEditLineInsertionError = 'RichEdit line insertion error'
|
||||||
Editors5.MaskEditRegExprError = 'Errores en expresiones regulares:'
|
Editors.EditRichEditLoadFail = 'Failed to Load Stream'
|
||||||
Editors5.MaskEditInvalidEditValue = 'El valor de edici'#243'n es inv'#225'lido'
|
Editors.EditRichEditSaveFail = 'Failed to Save Stream'
|
||||||
Editors5.MaskEditNoMask = 'Ninguno'
|
Editors.EditRichEditUndoCaption = '&Undo'
|
||||||
Editors5.MaskEditIllegalFileFormat = 'Formato de archivo ilegal'
|
Editors.EditRichEditRedoCaption = '&Redo'
|
||||||
Editors5.MaskEditEmptyMaskCollectionFile = 'El archivo de colecci'#243'n de m'#225'scaras est'#225' vac'#237'o'
|
Editors.EditRichEditCutCaption = 'Cu&t'
|
||||||
Editors5.MaskEditMaskCollectionFiles = 'Archivos de colecci'#243'n de m'#225'scaras'
|
Editors.EditRichEditCopyCaption = '&Copy'
|
||||||
Editors5.SpinEditInvalidNumericValue = 'Valor num'#233'rico no v'#225'lido'
|
Editors.EditRichEditPasteCaption = '&Paste'
|
||||||
|
Editors.EditRichEditDeleteCaption = '&Delete'
|
||||||
|
Editors.EditRichEditSelectAllCaption = 'Select &All'
|
||||||
|
Editors.RegExprLine = 'L'#237'nea'
|
||||||
|
Editors.RegExprChar = 'Char'
|
||||||
|
Editors.RegExprNotAssignedSourceStream = 'No se ha asignado el stream fuente'
|
||||||
|
Editors.RegExprEmptySourceStream = 'El stream or'#237'gen est'#225' vac'#237'o'
|
||||||
|
Editors.RegExprCantUsePlusQuantifier = 'El cuantificador '#39'+'#39' no puede aplicarse aqu'#237
|
||||||
|
Editors.RegExprCantUseStarQuantifier = 'El cuantificador '#39'*'#39' no puede aplicarse aqu'#237
|
||||||
|
Editors.RegExprCantCreateEmptyAlt = 'La alternativa no debe estar vac'#237'a'
|
||||||
|
Editors.RegExprCantCreateEmptyBlock = 'El bloque no debe estar vac'#237'o'
|
||||||
|
Editors.RegExprIllegalSymbol = 'S'#237'mbolo no permitido '#39'%s'#39
|
||||||
|
Editors.RegExprIllegalQuantifier = 'Cuantificador no permitido '#39'%s'#39
|
||||||
|
Editors.RegExprNotSupportQuantifier = 'El par'#225'metro cuantificador no es soportado'
|
||||||
|
Editors.RegExprIllegalIntegerValue = 'Valor entero no permitido'
|
||||||
|
Editors.RegExprTooBigReferenceNumber = 'N'#250'mero de referencia demasiado grande'
|
||||||
|
Editors.RegExprCantCreateEmptyEnum = 'No puedo crear enumeraci'#243'n vac'#237'a'
|
||||||
|
Editors.RegExprSubrangeOrder = 'El caracter de inicio del subrango debe ser menor al de fin'
|
||||||
|
Editors.RegExprHexNumberExpected0 = 'Se esperaba n'#250'mero Hexadecimal'
|
||||||
|
Editors.RegExprHexNumberExpected = 'N'#250'mero Hexadecimal esperado pero encontr'#243' '#39'%s'#39
|
||||||
|
Editors.RegExprMissing = 'Falta '#39'%s'#39
|
||||||
|
Editors.RegExprUnnecessary = 'Innecesario '#39'%s'#39
|
||||||
|
Editors.RegExprIncorrectSpace = 'Espacio incorrecto despu'#233's de '#39'\'#39
|
||||||
|
Editors.RegExprNotCompiled = 'Expresi'#243'n regular no compila'
|
||||||
|
Editors.RegExprIncorrectParameterQuantifier = 'Cuantificador de par'#225'metros incorrecto'
|
||||||
|
Editors.RegExprCantUseParameterQuantifier = 'The parameter quantifier cannot be applied here'
|
||||||
|
Editors.UDAssociated = ' is already associated with '
|
||||||
|
Editors.HotZoneStyleMediaPlayer9 = 'MediaPlayer9'
|
||||||
|
Editors.HotZoneStyleMediaPlayer8 = 'MediaPlayer8'
|
||||||
|
Editors.HotZoneStyleXPTaskBar = 'XPTaskBar'
|
||||||
|
Editors.HotZoneStyleSimple = 'Simple'
|
||||||
|
Editors.LoadingFonts = 'Loading ...'
|
||||||
|
Editors.MaskEditRegExprError = 'Errores en expresiones regulares:'
|
||||||
|
Editors.MaskEditInvalidEditValue = 'El valor de edici'#243'n es inv'#225'lido'
|
||||||
|
Editors.MaskEditNoMask = 'Ninguno'
|
||||||
|
Editors.MaskEditIllegalFileFormat = 'Formato de archivo ilegal'
|
||||||
|
Editors.MaskEditEmptyMaskCollectionFile = 'El archivo de colecci'#243'n de m'#225'scaras est'#225' vac'#237'o'
|
||||||
|
Editors.MaskEditMaskCollectionFiles = 'Archivos de colecci'#243'n de m'#225'scaras'
|
||||||
|
Editors.SpinEditInvalidNumericValue = 'Valor num'#233'rico no v'#225'lido'
|
||||||
Datacontroller.DataReadError = 'Error de lectura en or'#237'gen de datos'
|
Datacontroller.DataReadError = 'Error de lectura en or'#237'gen de datos'
|
||||||
Datacontroller.DataWriteError = 'Error de escritura en or'#237'gen de datos (stream)'
|
Datacontroller.DataWriteError = 'Error de escritura en or'#237'gen de datos (stream)'
|
||||||
Datacontroller.DataItemExistError = 'El elemento ya existe'
|
Datacontroller.DataItemExistError = 'El elemento ya existe'
|
||||||
@ -402,6 +512,16 @@ object dmBase: TdmBase
|
|||||||
Filter.FilterOperatorNextWeek = 'es semana siguiente'
|
Filter.FilterOperatorNextWeek = 'es semana siguiente'
|
||||||
Filter.FilterOperatorNextMonth = 'es mes siguiente'
|
Filter.FilterOperatorNextMonth = 'es mes siguiente'
|
||||||
Filter.FilterOperatorNextYear = 'es a'#241'o pr'#243'ximo'
|
Filter.FilterOperatorNextYear = 'es a'#241'o pr'#243'ximo'
|
||||||
|
Filter.FilterOperatorLast7Days = #218'ltimos 7 d'#237'as'
|
||||||
|
Filter.FilterOperatorLast14Days = #218'ltimos 14 d'#237'as'
|
||||||
|
Filter.FilterOperatorLastTwoWeeks = #218'ltimas 2 semanas'
|
||||||
|
Filter.FilterOperatorLast30Days = #218'ltimos 30 d'#237'as'
|
||||||
|
Filter.FilterOperatorPast = 'Pasado'
|
||||||
|
Filter.FilterOperatorNext7Days = 'Pr'#243'ximos 7 d'#237'as'
|
||||||
|
Filter.FilterOperatorNext14Days = 'Pr'#243'ximos 14 d'#237'as'
|
||||||
|
Filter.FilterOperatorNextTwoWeeks = 'Pr'#243'ximas 2 semanas'
|
||||||
|
Filter.FilterOperatorNext30Days = 'Pr'#243'ximos 30 d'#237'as'
|
||||||
|
Filter.FilterOperatorFuture = 'Futuro'
|
||||||
Filter.FilterAndCaption = 'y'
|
Filter.FilterAndCaption = 'y'
|
||||||
Filter.FilterOrCaption = 'o'
|
Filter.FilterOrCaption = 'o'
|
||||||
Filter.FilterNotCaption = 'no'
|
Filter.FilterNotCaption = 'no'
|
||||||
@ -417,17 +537,17 @@ object dmBase: TdmBase
|
|||||||
Filter.FilterBoxAllCaption = '(Todos)'
|
Filter.FilterBoxAllCaption = '(Todos)'
|
||||||
Filter.FilterBoxCustomCaption = '(Personalizado...)'
|
Filter.FilterBoxCustomCaption = '(Personalizado...)'
|
||||||
Filter.FilterBoxBlanksCaption = '(Vac'#237'os)'
|
Filter.FilterBoxBlanksCaption = '(Vac'#237'os)'
|
||||||
Filter.FilterBoxNonBlanksCaption = '(No vac'#237'os)'
|
Filter.FilterBoxNonBlanksCaption = '(NoVac'#237'os)'
|
||||||
Filter.FilterBoolOperatorAnd = 'AND'
|
Filter.FilterBoolOperatorAnd = 'Y'
|
||||||
Filter.FilterBoolOperatorOr = 'OR'
|
Filter.FilterBoolOperatorOr = 'O'
|
||||||
Filter.FilterBoolOperatorNotAnd = 'NOT AND'
|
Filter.FilterBoolOperatorNotAnd = 'NO Y'
|
||||||
Filter.FilterBoolOperatorNotOr = 'NOT OR'
|
Filter.FilterBoolOperatorNotOr = 'NO O'
|
||||||
Filter.FilterRootButtonCaption = 'Filtro'
|
Filter.FilterRootButtonCaption = 'Filtro'
|
||||||
Filter.FilterAddCondition = 'Agregar &Condici'#243'n'
|
Filter.FilterAddCondition = 'Agregar &Condici'#243'n'
|
||||||
Filter.FilterAddGroup = 'Agregar &Grupo'
|
Filter.FilterAddGroup = 'Agregar &Grupo'
|
||||||
Filter.FilterRemoveRow = '&Remover Fila'
|
Filter.FilterRemoveRow = '&Remover Fila'
|
||||||
Filter.FilterClearAll = 'Limpiar &Todo'
|
Filter.FilterClearAll = 'Limpiar &Todo'
|
||||||
Filter.FilterFooterAddCondition = 'Agregar una nueva condici'#243'n'
|
Filter.FilterFooterAddCondition = 'presione el bot'#243'n para agregar una nueva condici'#243'n'
|
||||||
Filter.FilterGroupCaption = 'aplica a las siguientes condiciones'
|
Filter.FilterGroupCaption = 'aplica a las siguientes condiciones'
|
||||||
Filter.FilterRootGroupCaption = '<ra'#237'z>'
|
Filter.FilterRootGroupCaption = '<ra'#237'z>'
|
||||||
Filter.FilterControlNullString = '<vac'#237'o>'
|
Filter.FilterControlNullString = '<vac'#237'o>'
|
||||||
@ -454,7 +574,7 @@ object dmBase: TdmBase
|
|||||||
GridPopupMenu.GridNone = 'Ninguno'
|
GridPopupMenu.GridNone = 'Ninguno'
|
||||||
GridPopupMenu.GridSortColumnAsc = 'Ordenar Ascendente'
|
GridPopupMenu.GridSortColumnAsc = 'Ordenar Ascendente'
|
||||||
GridPopupMenu.GridSortColumnDesc = 'Ordenar Descendente'
|
GridPopupMenu.GridSortColumnDesc = 'Ordenar Descendente'
|
||||||
GridPopupMenu.GridClearSorting = 'Clear Sorting'
|
GridPopupMenu.GridClearSorting = 'Eliminar Ordenaci'#243'n'
|
||||||
GridPopupMenu.GridGroupByThisField = 'Agrupar por este campo'
|
GridPopupMenu.GridGroupByThisField = 'Agrupar por este campo'
|
||||||
GridPopupMenu.GridRemoveThisGroupItem = 'Remover del grupo'
|
GridPopupMenu.GridRemoveThisGroupItem = 'Remover del grupo'
|
||||||
GridPopupMenu.GridGroupByBox = 'Panel "Agrupar por"'
|
GridPopupMenu.GridGroupByBox = 'Panel "Agrupar por"'
|
||||||
@ -474,6 +594,9 @@ object dmBase: TdmBase
|
|||||||
GridPopupMenu.GridCountMenuItem = 'Contar'
|
GridPopupMenu.GridCountMenuItem = 'Contar'
|
||||||
GridPopupMenu.GridAvgMenuItem = 'Promedio'
|
GridPopupMenu.GridAvgMenuItem = 'Promedio'
|
||||||
GridPopupMenu.GridNoneMenuItem = 'Ninguno'
|
GridPopupMenu.GridNoneMenuItem = 'Ninguno'
|
||||||
|
GridPopupMenu.GridSortByGroupValues = 'Sort by Group Value'
|
||||||
|
GridPopupMenu.GridSortBySummaryCaption = 'Sort by Group Summary:'
|
||||||
|
GridPopupMenu.GridSortBySummary = '%s for %s'
|
||||||
GridExport.UnsupportedExport = 'Tipo de exportaci'#243'n no soportado: %1'
|
GridExport.UnsupportedExport = 'Tipo de exportaci'#243'n no soportado: %1'
|
||||||
GridExport.StyleManagerKill =
|
GridExport.StyleManagerKill =
|
||||||
'El administrador de estilo esta siendo utilizado y no puede ser ' +
|
'El administrador de estilo esta siendo utilizado y no puede ser ' +
|
||||||
@ -496,15 +619,15 @@ object dmBase: TdmBase
|
|||||||
GridExport.BoolTrue = 'True'
|
GridExport.BoolTrue = 'True'
|
||||||
GridExport.BoolFalse = 'False'
|
GridExport.BoolFalse = 'False'
|
||||||
Translate.cxLibrary = True
|
Translate.cxLibrary = True
|
||||||
Translate.PageControl2 = False
|
Translate.PageControl = False
|
||||||
Translate.QuantumGrid5 = True
|
Translate.QuantumGrid = False
|
||||||
Translate.Editors5 = True
|
Translate.Editors = False
|
||||||
Translate.Datacontroller = True
|
Translate.Datacontroller = True
|
||||||
Translate.Filter = True
|
Translate.Filter = True
|
||||||
Translate.GridPopupMenu = True
|
Translate.GridPopupMenu = True
|
||||||
Translate.GridExport = True
|
Translate.GridExport = True
|
||||||
Translate.Navigator = True
|
Translate.Navigator = True
|
||||||
Version = '5.0'
|
Version = '6.29'
|
||||||
Left = 104
|
Left = 104
|
||||||
Top = 16
|
Top = 16
|
||||||
end
|
end
|
||||||
@ -1617,7 +1740,7 @@ object dmBase: TdmBase
|
|||||||
KiloBytes = 'KB'
|
KiloBytes = 'KB'
|
||||||
MegaBytes = 'MB'
|
MegaBytes = 'MB'
|
||||||
GigaBytes = 'GB'
|
GigaBytes = 'GB'
|
||||||
Left = 224
|
Left = 184
|
||||||
Top = 16
|
Top = 16
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -38,7 +38,8 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
uDataModuleConexion, Dialogs, TBX, TBXThemes, Forms, Windows,
|
uDataModuleConexion, Dialogs, TBX, TBXThemes, Forms, Windows,
|
||||||
JclFileUtils, cxControls, SysUtils, uDataModuleConfiguracion;
|
JclFileUtils, cxControls, SysUtils, uDataModuleConfiguracion,
|
||||||
|
uDataModuleImpresiones;
|
||||||
|
|
||||||
{
|
{
|
||||||
*********************************** TdmBase ************************************
|
*********************************** TdmBase ************************************
|
||||||
@ -47,6 +48,7 @@ procedure TdmBase.DAClientDataModuleCreate(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
dmConexion := TdmConexion.Create(NIL);
|
dmConexion := TdmConexion.Create(NIL);
|
||||||
dmConfiguracion := TdmConfiguracion.Create(NIL);
|
dmConfiguracion := TdmConfiguracion.Create(NIL);
|
||||||
|
dmImpresiones := TDataModuleImpresiones.Create(NIL);
|
||||||
|
|
||||||
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
TBXSwitcher.OnThemeChange := OnTBXThemeChange;
|
||||||
TBXSetTheme('Office2003');
|
TBXSetTheme('Office2003');
|
||||||
@ -114,6 +116,7 @@ procedure TdmBase.DataModuleDestroy(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
FreeANDNIL(dmConfiguracion);
|
FreeANDNIL(dmConfiguracion);
|
||||||
FreeAndNil(dmConexion);
|
FreeAndNil(dmConexion);
|
||||||
|
FreeAndNil(dmImpresiones);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
|||||||
@ -126,7 +126,7 @@
|
|||||||
<Directories Name="SearchPath">..\Lib;..\Modulos\Lib</Directories>
|
<Directories Name="SearchPath">..\Lib;..\Modulos\Lib</Directories>
|
||||||
<Directories Name="Packages">PluginSDK_D10R;GUISDK_D10;DataAbstract_D10;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model;rtl</Directories>
|
<Directories Name="Packages">PluginSDK_D10R;GUISDK_D10;DataAbstract_D10;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin;Empresas_controller;Empresas_model;rtl</Directories>
|
||||||
<Directories Name="Conditionals">_VER6;</Directories>
|
<Directories Name="Conditionals">_VER6;</Directories>
|
||||||
<Directories Name="DebugSourceDirs">E:\Codigo (Luis Leon)\Source\Modulos\Pedidos de cliente\Controller\;E:\Componentes\jvcl\run</Directories>
|
<Directories Name="DebugSourceDirs">C:\Codigo Luis Leon\Source\Modulos\Articulos\Model\</Directories>
|
||||||
<Directories Name="UsePackages">True</Directories>
|
<Directories Name="UsePackages">True</Directories>
|
||||||
</Directories>
|
</Directories>
|
||||||
<Parameters>
|
<Parameters>
|
||||||
@ -147,9 +147,9 @@
|
|||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
<VersionInfo Name="MajorVer">2</VersionInfo>
|
<VersionInfo Name="MajorVer">3</VersionInfo>
|
||||||
<VersionInfo Name="MinorVer">4</VersionInfo>
|
<VersionInfo Name="MinorVer">3</VersionInfo>
|
||||||
<VersionInfo Name="Release">0</VersionInfo>
|
<VersionInfo Name="Release">7</VersionInfo>
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
@ -162,22 +162,22 @@
|
|||||||
<VersionInfoKeys>
|
<VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
|
<VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="FileVersion">2.4.0.0</VersionInfoKeys>
|
<VersionInfoKeys Name="FileVersion">3.3.7.0</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys>
|
<VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="ProductVersion">2.3.9.0</VersionInfoKeys>
|
<VersionInfoKeys Name="ProductVersion">3.3.7.0</VersionInfoKeys>
|
||||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||||
</VersionInfoKeys> <Excluded_Packages>
|
</VersionInfoKeys> <Excluded_Packages>
|
||||||
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\EasyListviewD10.bpl">Muststang Peak EasyListview Runtime Package</Excluded_Packages>
|
<Excluded_Packages Name="C:\Documents and Settings\Usuario\Mis documentos\Borland Studio Projects\Bpl\EasyListviewD10.bpl">Muststang Peak EasyListview Runtime Package</Excluded_Packages>
|
||||||
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
|
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
|
||||||
</Excluded_Packages>
|
</Excluded_Packages>
|
||||||
</Delphi.Personality>
|
</Delphi.Personality>
|
||||||
<!-- EurekaLog First Line
|
<!-- EurekaLog First Line
|
||||||
[Exception Log]
|
[Exception Log]
|
||||||
EurekaLog Version=519
|
EurekaLog Version=6014
|
||||||
Activate=0
|
Activate=0
|
||||||
Activate Handle=1
|
Activate Handle=1
|
||||||
Save Log File=1
|
Save Log File=1
|
||||||
@ -491,5 +491,190 @@ Count mtSend_SuccessMsg=1
|
|||||||
mtSend_SuccessMsg0="The message was sent successfully."
|
mtSend_SuccessMsg0="The message was sent successfully."
|
||||||
Count mtSend_FailureMsg=1
|
Count mtSend_FailureMsg=1
|
||||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||||
|
ProxyURL=
|
||||||
|
ProxyUser=
|
||||||
|
ProxyPassword=
|
||||||
|
ProxyPort=8080
|
||||||
|
TrakerUser=
|
||||||
|
TrakerPassword=
|
||||||
|
TrakerAssignTo=
|
||||||
|
TrakerProject=
|
||||||
|
TrakerCategory=
|
||||||
|
TrakerTrialID=
|
||||||
|
ZipPassword=
|
||||||
|
PreBuildEvent=
|
||||||
|
PostSuccessfulBuildEvent=
|
||||||
|
PostFailureBuildEvent=
|
||||||
|
ExceptionDialogType=2
|
||||||
|
loSaveModulesAndProcessesSections=1
|
||||||
|
loSaveAssemblerAndCPUSections=1
|
||||||
|
soAppUpTime=1
|
||||||
|
soExcModuleName=1
|
||||||
|
soExcModuleVersion=1
|
||||||
|
soExcID=1
|
||||||
|
soExcCount=1
|
||||||
|
soExcStatus=1
|
||||||
|
soExcNote=1
|
||||||
|
soUserID=1
|
||||||
|
soUserName=1
|
||||||
|
soUserEmail=1
|
||||||
|
soUserPrivileges=1
|
||||||
|
soUserCompany=1
|
||||||
|
soCmpDisplayDPI=1
|
||||||
|
soCmpVideoCard=1
|
||||||
|
soCmpPrinter=1
|
||||||
|
soOSCharset=1
|
||||||
|
soCustomData=1
|
||||||
|
sndAddComputerNameInFileName=0
|
||||||
|
edoSendErrorReportChecked=1
|
||||||
|
edoShowSendErrorReportOption=1
|
||||||
|
edoShowAttachScreenshotOption=1
|
||||||
|
edoShowCustomButton=0
|
||||||
|
csoDoNotStoreProcNames=0
|
||||||
|
boHandleSafeCallExceptions=1
|
||||||
|
boCallRTLExceptionEvent=0
|
||||||
|
boCatchHandledExceptions=0
|
||||||
|
loCatchLeaks=0
|
||||||
|
loGroupsSonLeaks=1
|
||||||
|
loHideBorlandLeaks=1
|
||||||
|
loFreeAllLeaks=1
|
||||||
|
loCatchLeaksExceptions=1
|
||||||
|
cfoReduceFileSize=1
|
||||||
|
cfoCheckFileCorruption=0
|
||||||
|
Count mtErrorMsgCaption=1
|
||||||
|
mtErrorMsgCaption0="Error."
|
||||||
|
Count mtDialog_ProcessesCaption=1
|
||||||
|
mtDialog_ProcessesCaption0="Processes"
|
||||||
|
Count mtDialog_ProcessesHeader=1
|
||||||
|
mtDialog_ProcessesHeader0="Processes Information"
|
||||||
|
Count mtDialog_AsmCaption=1
|
||||||
|
mtDialog_AsmCaption0="Assembler"
|
||||||
|
Count mtDialog_AsmHeader=1
|
||||||
|
mtDialog_AsmHeader0="Assembler Information"
|
||||||
|
Count mtDialog_CustomButtonCaption=1
|
||||||
|
mtDialog_CustomButtonCaption0="%26Help"
|
||||||
|
Count mtMSDialog_ErrorMsgCaption=1
|
||||||
|
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||||
|
Count mtMSDialog_RestartCaption=1
|
||||||
|
mtMSDialog_RestartCaption0="Restart application."
|
||||||
|
Count mtMSDialog_TerminateCaption=1
|
||||||
|
mtMSDialog_TerminateCaption0="Terminate application."
|
||||||
|
Count mtMSDialog_PleaseCaption=1
|
||||||
|
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||||
|
Count mtMSDialog_DescriptionCaption=1
|
||||||
|
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||||
|
Count mtMSDialog_SeeDetailsCaption=1
|
||||||
|
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||||
|
Count mtMSDialog_SeeClickCaption=1
|
||||||
|
mtMSDialog_SeeClickCaption0="click here."
|
||||||
|
Count mtMSDialog_HowToReproduceCaption=1
|
||||||
|
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happened (optional)?"
|
||||||
|
Count mtMSDialog_EmailCaption=1
|
||||||
|
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||||
|
Count mtMSDialog_SendButtonCaption=1
|
||||||
|
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||||
|
Count mtMSDialog_NoSendButtonCaption=1
|
||||||
|
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||||
|
Count mtLog_AppUpTime=1
|
||||||
|
mtLog_AppUpTime0="Up Time"
|
||||||
|
Count mtLog_ExcModuleName=1
|
||||||
|
mtLog_ExcModuleName0="Module Name"
|
||||||
|
Count mtLog_ExcModuleVersion=1
|
||||||
|
mtLog_ExcModuleVersion0="Module Version"
|
||||||
|
Count mtLog_ExcID=1
|
||||||
|
mtLog_ExcID0="ID"
|
||||||
|
Count mtLog_ExcCount=1
|
||||||
|
mtLog_ExcCount0="Count"
|
||||||
|
Count mtLog_ExcStatus=1
|
||||||
|
mtLog_ExcStatus0="Status"
|
||||||
|
Count mtLog_ExcNote=1
|
||||||
|
mtLog_ExcNote0="Note"
|
||||||
|
Count mtLog_UserHeader=1
|
||||||
|
mtLog_UserHeader0="User"
|
||||||
|
Count mtLog_UserID=1
|
||||||
|
mtLog_UserID0="ID"
|
||||||
|
Count mtLog_UserName=1
|
||||||
|
mtLog_UserName0="Name"
|
||||||
|
Count mtLog_UserEmail=1
|
||||||
|
mtLog_UserEmail0="Email"
|
||||||
|
Count mtLog_UserCompany=1
|
||||||
|
mtLog_UserCompany0="Company"
|
||||||
|
Count mtLog_UserPrivileges=1
|
||||||
|
mtLog_UserPrivileges0="Privileges"
|
||||||
|
Count mtLog_CmpDisplayDPI=1
|
||||||
|
mtLog_CmpDisplayDPI0="Display DPI"
|
||||||
|
Count mtLog_CmpVideoCard=1
|
||||||
|
mtLog_CmpVideoCard0="Video Card"
|
||||||
|
Count mtLog_CmpPrinter=1
|
||||||
|
mtLog_CmpPrinter0="Printer"
|
||||||
|
Count mtLog_OSCharset=1
|
||||||
|
mtLog_OSCharset0="Charset"
|
||||||
|
Count mtCallStack_LeakCaption=1
|
||||||
|
mtCallStack_LeakCaption0="Memory Leak"
|
||||||
|
Count mtCallStack_LeakData=1
|
||||||
|
mtCallStack_LeakData0="Data"
|
||||||
|
Count mtCallStack_LeakType=1
|
||||||
|
mtCallStack_LeakType0="Type"
|
||||||
|
Count mtCallStack_LeakSize=1
|
||||||
|
mtCallStack_LeakSize0="Total size"
|
||||||
|
Count mtCallStack_LeakCount=1
|
||||||
|
mtCallStack_LeakCount0="Count"
|
||||||
|
Count mtSendDialog_Login=1
|
||||||
|
mtSendDialog_Login0="Login..."
|
||||||
|
Count mtSendDialog_Sent=1
|
||||||
|
mtSendDialog_Sent0="Message sent."
|
||||||
|
Count mtSendDialog_SelectProject=1
|
||||||
|
mtSendDialog_SelectProject0="Select project..."
|
||||||
|
Count mtSendDialog_Searching=1
|
||||||
|
mtSendDialog_Searching0="Searching..."
|
||||||
|
Count mtSendDialog_Modifying=1
|
||||||
|
mtSendDialog_Modifying0="Modifying..."
|
||||||
|
Count mtSendDialog_Disconnecting=1
|
||||||
|
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||||
|
Count mtSendDialog_Disconnected=1
|
||||||
|
mtSendDialog_Disconnected0="Disconnected."
|
||||||
|
Count mtProcesses_ID=1
|
||||||
|
mtProcesses_ID0="ID"
|
||||||
|
Count mtProcesses_Name=1
|
||||||
|
mtProcesses_Name0="Name"
|
||||||
|
Count mtProcesses_Description=1
|
||||||
|
mtProcesses_Description0="Description"
|
||||||
|
Count mtProcesses_Version=1
|
||||||
|
mtProcesses_Version0="Version"
|
||||||
|
Count mtProcesses_Memory=1
|
||||||
|
mtProcesses_Memory0="Memory"
|
||||||
|
Count mtProcesses_Priority=1
|
||||||
|
mtProcesses_Priority0="Priority"
|
||||||
|
Count mtProcesses_Threads=1
|
||||||
|
mtProcesses_Threads0="Threads"
|
||||||
|
Count mtProcesses_Path=1
|
||||||
|
mtProcesses_Path0="Path"
|
||||||
|
Count mtSend_BugClosedMsg=2
|
||||||
|
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||||
|
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||||
|
Count mtSend_UnknownErrorMsg=1
|
||||||
|
mtSend_UnknownErrorMsg0="Unknown error."
|
||||||
|
Count mtSend_InvalidLoginMsg=1
|
||||||
|
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||||
|
Count mtSend_InvalidSearchMsg=1
|
||||||
|
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||||
|
Count mtSend_InvalidSelectionMsg=1
|
||||||
|
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||||
|
Count mtSend_InvalidInsertMsg=1
|
||||||
|
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||||
|
Count mtSend_InvalidModifyMsg=1
|
||||||
|
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||||
|
Count mtFileCrackedMsg=2
|
||||||
|
mtFileCrackedMsg0="This file is cracked."
|
||||||
|
mtFileCrackedMsg1="The application will be closed."
|
||||||
|
Count mtException_LeakMultiFree=1
|
||||||
|
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||||
|
Count mtException_LeakMemoryOverrun=1
|
||||||
|
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||||
|
Count mtException_AntiFreeze=1
|
||||||
|
mtException_AntiFreeze0="The application seems to be frozen."
|
||||||
|
Count mtInvalidEmailMsg=1
|
||||||
|
mtInvalidEmailMsg0="Invalid email."
|
||||||
|
TextsCollection=English
|
||||||
EurekaLog Last Line -->
|
EurekaLog Last Line -->
|
||||||
</BorlandProject>
|
</BorlandProject>
|
||||||
|
|||||||
@ -13,8 +13,6 @@ uses
|
|||||||
uMainMenuController in 'uMainMenuController.pas',
|
uMainMenuController in 'uMainMenuController.pas',
|
||||||
uClienteUtils in 'Utiles\uClienteUtils.pas';
|
uClienteUtils in 'Utiles\uClienteUtils.pas';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
|
|
||||||
var
|
var
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
MAINICON ICON "c:\Codigo Luis Leon\Source\Iconos\Factuges.ico"
|
MAINICON ICON "c:\Codigo Luis Leon\Source\Iconos\Factuges.ico"
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 2,4,0,0
|
FILEVERSION 3,3,7,0
|
||||||
PRODUCTVERSION 2,4,0,0
|
PRODUCTVERSION 3,3,7,0
|
||||||
FILEFLAGSMASK 0x3FL
|
FILEFLAGSMASK 0x3FL
|
||||||
FILEFLAGS 0x00L
|
FILEFLAGS 0x00L
|
||||||
FILEOS 0x40004L
|
FILEOS 0x40004L
|
||||||
@ -13,9 +13,9 @@ BEGIN
|
|||||||
BLOCK "0C0A04E4"
|
BLOCK "0C0A04E4"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Rodax Software S.L.\0"
|
VALUE "CompanyName", "Rodax Software S.L.\0"
|
||||||
VALUE "FileVersion", "2.4.0.0\0"
|
VALUE "FileVersion", "3.3.7.0\0"
|
||||||
VALUE "InternalName", "FactuGES\0"
|
VALUE "InternalName", "FactuGES\0"
|
||||||
VALUE "ProductVersion", "2.3.9.0\0"
|
VALUE "ProductVersion", "3.3.7.0\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|||||||
Binary file not shown.
@ -2,7 +2,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Left = 358
|
Left = 358
|
||||||
Top = 250
|
Top = 250
|
||||||
Caption = 'Pantalla principal'
|
Caption = 'Pantalla principal'
|
||||||
ClientHeight = 662
|
ClientHeight = 681
|
||||||
ClientWidth = 559
|
ClientWidth = 559
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@ -23,7 +23,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 559
|
Width = 559
|
||||||
Height = 640
|
Height = 659
|
||||||
Margins.Left = 5
|
Margins.Left = 5
|
||||||
Margins.Top = 5
|
Margins.Top = 5
|
||||||
Margins.Right = 5
|
Margins.Right = 5
|
||||||
@ -31,11 +31,12 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
ParentColor = True
|
ParentColor = True
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitHeight = 640
|
||||||
object JvSyncSplitter1: TJvSyncSplitter
|
object JvSyncSplitter1: TJvSyncSplitter
|
||||||
Left = 215
|
Left = 215
|
||||||
Top = 5
|
Top = 5
|
||||||
Width = 5
|
Width = 5
|
||||||
Height = 630
|
Height = 649
|
||||||
ResizeStyle = rsPattern
|
ResizeStyle = rsPattern
|
||||||
ExplicitLeft = 210
|
ExplicitLeft = 210
|
||||||
ExplicitHeight = 570
|
ExplicitHeight = 570
|
||||||
@ -44,7 +45,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Left = 5
|
Left = 5
|
||||||
Top = 5
|
Top = 5
|
||||||
Width = 210
|
Width = 210
|
||||||
Height = 630
|
Height = 649
|
||||||
ActivePage = pagInicio
|
ActivePage = pagInicio
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
AutoHeaders = True
|
AutoHeaders = True
|
||||||
@ -85,11 +86,12 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
NavPanelHotTrackFont.Style = []
|
NavPanelHotTrackFont.Style = []
|
||||||
SmallImages = ModulesSmallImageList
|
SmallImages = ModulesSmallImageList
|
||||||
OnChange = JvNavigationPaneChange
|
OnChange = JvNavigationPaneChange
|
||||||
|
ExplicitHeight = 630
|
||||||
object pagInicio: TJvNavPanelPage
|
object pagInicio: TJvNavPanelPage
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 208
|
Width = 208
|
||||||
Height = 557
|
Height = 576
|
||||||
Background.Stretch = False
|
Background.Stretch = False
|
||||||
Background.Proportional = False
|
Background.Proportional = False
|
||||||
Background.Center = False
|
Background.Center = False
|
||||||
@ -97,15 +99,17 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Background.Transparent = False
|
Background.Transparent = False
|
||||||
Caption = 'Inicio'
|
Caption = 'Inicio'
|
||||||
ImageIndex = 0
|
ImageIndex = 0
|
||||||
|
ExplicitHeight = 557
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 471
|
Top = 490
|
||||||
Width = 208
|
Width = 208
|
||||||
Height = 86
|
Height = 86
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
ParentBackground = False
|
ParentBackground = False
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
ExplicitTop = 471
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 38
|
Left = 38
|
||||||
Top = 29
|
Top = 29
|
||||||
@ -153,19 +157,21 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Left = 220
|
Left = 220
|
||||||
Top = 5
|
Top = 5
|
||||||
Width = 334
|
Width = 334
|
||||||
Height = 630
|
Height = 649
|
||||||
BoundColor = clActiveCaption
|
BoundColor = clActiveCaption
|
||||||
BoundLines = [blLeft, blTop, blRight, blBottom]
|
BoundLines = [blLeft, blTop, blRight, blBottom]
|
||||||
Caption = 'pnlBorde'
|
Caption = 'pnlBorde'
|
||||||
Align = alClient
|
Align = alClient
|
||||||
|
ExplicitHeight = 630
|
||||||
object pnlMain: TTBXAlignmentPanel
|
object pnlMain: TTBXAlignmentPanel
|
||||||
Left = 1
|
Left = 1
|
||||||
Top = 1
|
Top = 1
|
||||||
Width = 332
|
Width = 332
|
||||||
Height = 628
|
Height = 647
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
ExplicitHeight = 628
|
||||||
object lblBienvenido: TLabel
|
object lblBienvenido: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 8
|
Top = 8
|
||||||
@ -202,7 +208,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
end
|
end
|
||||||
object TBXStatusBar1: TTBXStatusBar
|
object TBXStatusBar1: TTBXStatusBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 640
|
Top = 659
|
||||||
Width = 559
|
Width = 559
|
||||||
Images = StatusPanelImageList
|
Images = StatusPanelImageList
|
||||||
Panels = <
|
Panels = <
|
||||||
@ -224,6 +230,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
Tag = 0
|
Tag = 0
|
||||||
end>
|
end>
|
||||||
UseSystemFont = False
|
UseSystemFont = False
|
||||||
|
ExplicitTop = 640
|
||||||
end
|
end
|
||||||
object XPManifest1: TXPManifest
|
object XPManifest1: TXPManifest
|
||||||
Left = 248
|
Left = 248
|
||||||
@ -494,7 +501,7 @@ object fPantallaPrincipal: TfPantallaPrincipal
|
|||||||
object JvAppRegistryStorage: TJvAppRegistryStorage
|
object JvAppRegistryStorage: TJvAppRegistryStorage
|
||||||
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
|
||||||
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
|
||||||
Root = 'Software\%APPL_NAME%'
|
Root = 'Software\FactuGES'
|
||||||
SubStorages = <>
|
SubStorages = <>
|
||||||
Left = 504
|
Left = 504
|
||||||
Top = 128
|
Top = 128
|
||||||
|
|||||||
@ -8,9 +8,7 @@
|
|||||||
<Option Name="GUID">{897CD5E4-3D47-418F-BD7A-AD0C0C4FDE6A}</Option>
|
<Option Name="GUID">{897CD5E4-3D47-418F-BD7A-AD0C0C4FDE6A}</Option>
|
||||||
</Option>
|
</Option>
|
||||||
</PersonalityInfo>
|
</PersonalityInfo>
|
||||||
<Default.Personality>
|
<Default.Personality> <Projects>
|
||||||
|
|
||||||
<Projects>
|
|
||||||
<Projects Name="DataAbstract_D10.bpl">DataAbstract_D10\DataAbstract_D10.bdsproj</Projects>
|
<Projects Name="DataAbstract_D10.bpl">DataAbstract_D10\DataAbstract_D10.bdsproj</Projects>
|
||||||
<Projects Name="Base.bpl">Base\Base.bdsproj</Projects>
|
<Projects Name="Base.bpl">Base\Base.bdsproj</Projects>
|
||||||
<Projects Name="ControllerBase.bpl">Base\ControllerBase\ControllerBase.bdsproj</Projects>
|
<Projects Name="ControllerBase.bpl">Base\ControllerBase\ControllerBase.bdsproj</Projects>
|
||||||
@ -21,11 +19,6 @@
|
|||||||
<Projects Name="Usuarios.bpl">Base\Usuarios\Usuarios.bdsproj</Projects>
|
<Projects Name="Usuarios.bpl">Base\Usuarios\Usuarios.bdsproj</Projects>
|
||||||
<Projects Name="Empresas_view.bpl">Modulos\Empresas\Views\Empresas_view.bdsproj</Projects>
|
<Projects Name="Empresas_view.bpl">Modulos\Empresas\Views\Empresas_view.bdsproj</Projects>
|
||||||
<Projects Name="Empresas_plugin.bpl">Modulos\Empresas\Plugin\Empresas_plugin.bdsproj</Projects>
|
<Projects Name="Empresas_plugin.bpl">Modulos\Empresas\Plugin\Empresas_plugin.bdsproj</Projects>
|
||||||
<Projects Name="TiposIVA_model.bpl">Modulos\Tipos de IVA\Model\TiposIVA_model.bdsproj</Projects>
|
|
||||||
<Projects Name="TiposIVA_data.bpl">Modulos\Tipos de IVA\Data\TiposIVA_data.bdsproj</Projects>
|
|
||||||
<Projects Name="TiposIVA_controller.bpl">Modulos\Tipos de IVA\Controller\TiposIVA_controller.bdsproj</Projects>
|
|
||||||
<Projects Name="TiposIVA_view.bpl">Modulos\Tipos de IVA\Views\TiposIVA_view.bdsproj</Projects>
|
|
||||||
<Projects Name="TiposIVA_plugin.bpl">Modulos\Tipos de IVA\Plugin\TiposIVA_plugin.bdsproj</Projects>
|
|
||||||
<Projects Name="Contactos_model.bpl">Modulos\Contactos\Model\Contactos_model.bdsproj</Projects>
|
<Projects Name="Contactos_model.bpl">Modulos\Contactos\Model\Contactos_model.bdsproj</Projects>
|
||||||
<Projects Name="Contactos_data.bpl">Modulos\Contactos\Data\Contactos_data.bdsproj</Projects>
|
<Projects Name="Contactos_data.bpl">Modulos\Contactos\Data\Contactos_data.bdsproj</Projects>
|
||||||
<Projects Name="Contactos_controller.bpl">Modulos\Contactos\Controller\Contactos_controller.bdsproj</Projects>
|
<Projects Name="Contactos_controller.bpl">Modulos\Contactos\Controller\Contactos_controller.bdsproj</Projects>
|
||||||
@ -49,8 +42,6 @@
|
|||||||
<Projects Name="RemesasCliente_model.bpl">Modulos\Remesas de cliente\Model\RemesasCliente_model.bdsproj</Projects>
|
<Projects Name="RemesasCliente_model.bpl">Modulos\Remesas de cliente\Model\RemesasCliente_model.bdsproj</Projects>
|
||||||
<Projects Name="RemesasCliente_data.bpl">Modulos\Remesas de cliente\Data\RemesasCliente_data.bdsproj</Projects>
|
<Projects Name="RemesasCliente_data.bpl">Modulos\Remesas de cliente\Data\RemesasCliente_data.bdsproj</Projects>
|
||||||
<Projects Name="RemesasCliente_controller.bpl">Modulos\Remesas de cliente\Controller\RemesasCliente_controller.bdsproj</Projects>
|
<Projects Name="RemesasCliente_controller.bpl">Modulos\Remesas de cliente\Controller\RemesasCliente_controller.bdsproj</Projects>
|
||||||
<Projects Name="BancaElectronica_controller.bpl">Modulos\Banca electronica\Controller\BancaElectronica_controller.bdsproj</Projects>
|
|
||||||
<Projects Name="BancaElectronica_view.bpl">Modulos\Banca electronica\Views\BancaElectronica_view.bdsproj</Projects>
|
|
||||||
<Projects Name="RemesasCliente_view.bpl">Modulos\Remesas de cliente\Views\RemesasCliente_view.bdsproj</Projects>
|
<Projects Name="RemesasCliente_view.bpl">Modulos\Remesas de cliente\Views\RemesasCliente_view.bdsproj</Projects>
|
||||||
<Projects Name="RemesasCliente_plugin.bpl">Modulos\Remesas de cliente\Plugin\RemesasCliente_plugin.bdsproj</Projects>
|
<Projects Name="RemesasCliente_plugin.bpl">Modulos\Remesas de cliente\Plugin\RemesasCliente_plugin.bdsproj</Projects>
|
||||||
<Projects Name="PedidosCliente_model.bpl">Modulos\Pedidos de cliente\Model\PedidosCliente_model.bdsproj</Projects>
|
<Projects Name="PedidosCliente_model.bpl">Modulos\Pedidos de cliente\Model\PedidosCliente_model.bdsproj</Projects>
|
||||||
@ -92,8 +83,7 @@
|
|||||||
<Projects Name="Comisiones_controller.bpl">Modulos\Comisiones\Controller\Comisiones_controller.bdsproj</Projects>
|
<Projects Name="Comisiones_controller.bpl">Modulos\Comisiones\Controller\Comisiones_controller.bdsproj</Projects>
|
||||||
<Projects Name="Comisiones_view.bpl">Modulos\Comisiones\Views\Comisiones_view.bdsproj</Projects>
|
<Projects Name="Comisiones_view.bpl">Modulos\Comisiones\Views\Comisiones_view.bdsproj</Projects>
|
||||||
<Projects Name="Comisiones_plugin.bpl">Modulos\Comisiones\Plugin\Comisiones_plugin.bdsproj</Projects>
|
<Projects Name="Comisiones_plugin.bpl">Modulos\Comisiones\Plugin\Comisiones_plugin.bdsproj</Projects>
|
||||||
<Projects Name="AlbCli_FacCli_relation.bpl">Modulos\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.bdsproj</Projects>
|
<Projects Name="Targets">DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe Comisiones_model.bpl Comisiones_data.bpl Comisiones_controller.bpl Comisiones_view.bpl Comisiones_plugin.bpl</Projects>
|
||||||
<Projects Name="Targets">DataAbstract_D10.bpl Base.bpl ControllerBase.bpl GUIBase.bpl Empresas_model.bpl Empresas_data.bpl Empresas_controller.bpl Usuarios.bpl Empresas_view.bpl Empresas_plugin.bpl TiposIVA_model.bpl TiposIVA_data.bpl TiposIVA_controller.bpl TiposIVA_view.bpl TiposIVA_plugin.bpl Contactos_model.bpl Contactos_data.bpl Contactos_controller.bpl Contactos_view.bpl Contactos_plugin.bpl Almacenes_model.bpl Almacenes_data.bpl Almacenes_controller.bpl Almacenes_view.bpl Almacenes_plugin.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl Articulos_plugin.bpl RecibosCliente_model.bpl RecibosCliente_data.bpl RecibosCliente_controller.bpl RecibosCliente_view.bpl RecibosCliente_plugin.bpl RemesasCliente_model.bpl RemesasCliente_data.bpl RemesasCliente_controller.bpl BancaElectronica_controller.bpl BancaElectronica_view.bpl RemesasCliente_view.bpl RemesasCliente_plugin.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl AlbaranesCliente_model.bpl AlbaranesCliente_data.bpl AlbaranesCliente_controller.bpl FacturasCliente_model.bpl FacturasCliente_data.bpl FacturasCliente_controller.bpl PedidosProveedor_model.bpl PedidosProveedor_data.bpl PedidosProveedor_controller.bpl Inventario_model.bpl Inventario_data.bpl Inventario_controller.bpl AlbaranesProveedor_model.bpl AlbaranesProveedor_data.bpl AlbaranesProveedor_controller.bpl PedCli_PedProv_relation.bpl PedCli_AlbCli_relation.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl AlbaranesCliente_view.bpl AlbaranesCliente_plugin.bpl FacturasCliente_view.bpl FacturasCliente_plugin.bpl Inventario_view.bpl Inventario_plugin.bpl PedidosProveedor_view.bpl PedidosProveedor_plugin.bpl AlbaranesProveedor_view.bpl AlbaranesProveedor_plugin.bpl FactuGES.exe FactuGES_Server.exe Comisiones_model.bpl Comisiones_data.bpl Comisiones_controller.bpl Comisiones_view.bpl Comisiones_plugin.bpl AlbCli_FacCli_relation.bpl</Projects>
|
|
||||||
</Projects>
|
</Projects>
|
||||||
<Dependencies/>
|
<Dependencies/>
|
||||||
</Default.Personality>
|
</Default.Personality>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Source/Iconos/Generales/16x16/Mail.png
Normal file
BIN
Source/Iconos/Generales/16x16/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 592 B |
Binary file not shown.
BIN
Source/Iconos/Generales/16x16/header_email.png
Normal file
BIN
Source/Iconos/Generales/16x16/header_email.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Source/Iconos/Generales/16x16/header_printer.png
Normal file
BIN
Source/Iconos/Generales/16x16/header_printer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Source/Iconos/Generales/24x24/Mail.png
Normal file
BIN
Source/Iconos/Generales/24x24/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 775 B |
Binary file not shown.
BIN
Source/Iconos/Generales/28x28/Mail.png
Normal file
BIN
Source/Iconos/Generales/28x28/Mail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 976 B |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user