Thor
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
# we use the exclude-all-include-special approach, easier then excluding any odd stuff later
|
||||
#exclude general
|
||||
*.bak
|
||||
*.tmp
|
||||
|
||||
@@ -19,8 +19,31 @@ Supported formats are: PJX, PJM, SCX, VCX, FRX, LBX, MNX, DBC, DBF, FKY, MEM
|
||||
|
||||
Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
|
||||
|
||||
Change History -------------------------------------------------------------
|
||||
Change History-------------------------------------------------------------
|
||||
************
|
||||
2021-03-22 v1.19.60
|
||||
- Enhancement: FoxBin2Prg template and debug output: Completed and ordered, order synched, grouped and groups named at template. (LScheffler)
|
||||
- Enhancement: Option BackgroundImage was read, but not in template (LScheffler)
|
||||
- Enhancement: -cC options learned to create default FoxBin2Prg._cfg file (LScheffler)
|
||||
- Enhancement: -t Option learned to create default \<tablename\>._cfg file, if table is open. (LScheffler)
|
||||
- Enhancement: Handling of additional non structural index per DBF in Bin2Text and Text2Bin. See [Config per DBF](./FoxBin2Prg_Internals.md#configuration-per-table). (LScheffler)
|
||||
- Enhancement: Debug-Logging for Index (LScheffler)
|
||||
- Bug Fix: DBF_Conversion_Condition was read, but never used (LScheffler)
|
||||
- Bug Fix: DBF_Conversion_Order sets an index that later would be stored as structural index (LScheffler)
|
||||
- Bug Fix: config options with text value fail, if line comment is set (LScheffler)
|
||||
- Bug Fix: issue #53 Variable lnFileCount in get_filesfromdirectory (LScheffler)
|
||||
|
||||
2021-03-09 v1.19.59
|
||||
- Feature: Logging of settings as settings object passed to execute method (Option debug > 0) (LScheffler)
|
||||
- Feature: Added option to create config file template based on current values of a directory (LScheffler)
|
||||
- Bug Fix: RedirectClassType = 2, Path was set wrong in special config (LScheffler)
|
||||
- Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed (LScheffler)
|
||||
- Doc: Improved, Better description of ClassPerFileCheck, tcOutputFolder. (LScheffler)
|
||||
|
||||
2021-03-04 v1.19.58
|
||||
- Feature: Added support for writing to a different folder than the source code using a new tcOutputFolder parameter (Doug Hennig)
|
||||
- Feature: Added a configuration option: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes) (Doug Hennig)
|
||||
|
||||
2021-03-05 v1.19.57.0
|
||||
- Bug Fix: RedirectClassType = 2 mixed up PATH (LScheffler)
|
||||
- Doc: improved (LScheffler)
|
||||
|
||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
lparameters toUpdateObject
|
||||
local ldDate
|
||||
ldDate = date()
|
||||
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.59' + ;
|
||||
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.60' + ;
|
||||
'-update-' + dtoc(ldDate, 1)
|
||||
return toUpdateObject
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
appName = FoxBin2Prg
|
||||
appID = FoxBin2Prg
|
||||
majorVersion = 1.19.59
|
||||
majorVersion = 1.19.60
|
||||
excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private., .gitignore, *.pui. *.prj*
|
||||
excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test*
|
||||
|
||||
@@ -30,7 +30,7 @@ _**Note:** you can click on the version number for downloading this version from
|
||||
|
||||
| Rel.Date | Developer | Version | Details |
|
||||
| - | - | - | - |
|
||||
| 2021/xx/xx | LScheffler | [v1.19.60](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.60) | **Enhancement**: FoxBin2Prg template and debug output: Completed and ordered, order synched, grouped and groups named at template. |
|
||||
| 2021/03/22 | LScheffler | [v1.19.60](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.60) | **Enhancement**: FoxBin2Prg template and debug output: Completed and ordered, order synched, grouped and groups named at template. |
|
||||
| | | | **Enhancement**: Option BackgroundImage was read, but not in template |
|
||||
| | | | **Enhancement**: -cC options learned to create default FoxBin2Prg._cfg file |
|
||||
| | | | **Enhancement**: -t Option learned to create default \<tablename\>._cfg file, if table is open. |
|
||||
@@ -387,4 +387,4 @@ _**Note:** you can click on the version number for downloading this version from
|
||||
This project is part of [VFPX](https://vfpx.github.io/).
|
||||
|
||||
----
|
||||
Last changed: _2021/03/20_ 
|
||||
Last changed: _2021/03/22_ 
|
||||
@@ -1,120 +1,96 @@
|
||||
*################################################################################################################
|
||||
*FOXBIN2PRG.CFG Konfigurations-Optionen: (Wird die Option nicht aufgef<65>hrt, ist der Wert im Beispiel der Default)
|
||||
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
|
||||
*Version: v1.19.60
|
||||
*Optionen f<>r Verzeichnis e:\se\vfpx\foxbin2prg, gelesen am 2021/03/21 18:15:54
|
||||
*****************************************************************************************************************
|
||||
|
||||
* Achtung, die Konfigurationsdateien werden vererbt.
|
||||
* 1. Defaultwerte
|
||||
* 2., optional FOXBIN2PRG.CFG im Vereichnis aus dem FOXBIN2PRG.EXE startet
|
||||
* 3., optional FOXBIN2PRG.CFG in der Wurzel des Arbeitsverzeichnises
|
||||
* 4., optional FOXBIN2PRG.CFG in jedem Verzeichnis bis zum Arbeitsverzeichnis
|
||||
* 5., optional Es k<>nnen spezielle Einstellungen f<>r einzelne DBF's erzeugt werden (Syntax: <Tabellenname>.dbf.cfg im Verzeichnis der Tabelle)
|
||||
* 6., Parameter des Aufrufs von FOXBIN2PRG.EXE.
|
||||
|
||||
* Einige Parameter im Aufruf von FOXBIN2PRG.EXE <20>bersteueren diese Vorgaben (bis auf die Defaults)
|
||||
*****************************************************************************************************************
|
||||
|
||||
*Interne Einstellungen
|
||||
Language: (auto) && Sprache f<>r Anzeigen und Logs. EN=English, FR=Fran<61>ais, ES=Espa<70>ol, DE=Deutsch, Nicht definiert = Automatisch [DEFAULT]
|
||||
ShowProgressbar: 1 && 0=Zeige Fortschrittsfenster, 1=Zeige es nicht, 2= Zeige Fortschrittsfenster nur, wen mehrere Dateien konvertiert werden.
|
||||
DontShowErrors: 0 && 0=Zeige Fehler an, 1=Zeige keine Fehler an
|
||||
ExtraBackupLevels: 1 && Anzahl der Backup-Ebenen der Bin<69>rdateien 0=kein Backup, 1=<Datei>.BAK, n>1= n-Backup-Ebenen, <Datei>.n.BAK
|
||||
Debug: 0 && 0=Individuelles Logging ist aus 1= Individuelles Log per Datei <Datei>.Log
|
||||
BackgroundImage: E:\SE\VFPX\FOXBIN2PRG\foxbin2prg.jpg && Hintergrundbild f<>r das Formular zur Fortschrittsanzeige.
|
||||
HomeDir: 1 && 0 = Die Eigenschaft HomeDir wird nicht in die PJ2 gespeichert, [1 = Die Eigenschaft wird gespeichert]
|
||||
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
*-- Konvertierungs Optionen:
|
||||
PJX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
VCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
SCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
FRX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
LBX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
MNX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
DBC_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Bin<69>rdatei (Merge)
|
||||
DBF_Conversion_Support: 1 && 0=Aus
|
||||
* && 1=Erzeuge Textdatei nur f<>r Struktur (Diff)
|
||||
* && 2=Erzeuge Text- und Bin<69>rdatei nur f<>r Struktur (Merge)
|
||||
* && 4=Erzeuge Textdatei nur f<>r Struktur und Daten (Diff)
|
||||
* && 8=Erzeuge Text- und Bin<69>rdatei nur f<>r Struktur und Daten (Merge)
|
||||
FKY_Conversion_Support: 1 && 0=Aus, 1=Erzeuge nur Textdatei (Diff)
|
||||
MEM_Conversion_Support: 1 && 0=Aus, 1=Erzeuge nur Textdatei (Diff)
|
||||
*-- Settings for internal work, not processing
|
||||
*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC [DEFAULT]
|
||||
*ShowProgressbar: 1 && 0=Don't show, 1=Allways show, 2= Show only for multi-file processing
|
||||
*DontShowErrors: 0 && Show message errors by default
|
||||
*ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none
|
||||
*Debug: 0 && Don't Activate individual <file>.Log by default
|
||||
*BackgroundImage: <cFile> && Backgroundimage for process form. Empty for empty Background. File not found uses default.
|
||||
*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
* ------Einstellungen f<>r Container-Dateien (not pjx)
|
||||
*-- Optionen f<>r CLASS und FORM
|
||||
*- Optionen f<>r Datei per Klasse (UseClassPerFile: 1) (f<>r VCX: vc2, f<>r SCX: sc2)
|
||||
UseClassPerFile: 0 && 0=Eine Textdatei pro VCX/SCX, 1=Mehrere Dateien <Dateiname>.KlassenName.vc2 files, 2=Mehrere Dateien <Dateiname>.Basisklasse.KlassenName.vc2
|
||||
* && F<>r 1, 2 wird jeweils auch ein Headerdatei <Dateiname>.vc2 erzeugt
|
||||
RedirectClassPerFileToMain: 0 && 0=Keine Umlenkung, 1=Klassen (und Objekte) werden in die VCX/SCX geschrieben wenn eine Datei <Dateiname>[.Basisklasse].KlassenName.vc2 gew<65>hlt wurde
|
||||
* && RedirectClassType: 1 hat Vorrang
|
||||
RedirectClassType: 0 && F<>r Textdateien die mit UseClassPerFile>0 in der Form file[.baseclass].class.tx2 erstellt wurden.
|
||||
* && diese Dateien k<>nnen als file.tx2::Class::import oder als file[.baseclass].class.tx2 importiert werden.
|
||||
* && F<EFBFBD>r die zweite Form gilt:
|
||||
* && 0 Aus file[.baseclass].class.tx2 wird file.VCX und alle dclassen dieser Bibliothek werden neu gelesen
|
||||
* && 1 Aus file[.baseclass].class.tx2 wird file[.baseclass].class.VCX, die Bibliothek file.VCX wird ignoriert
|
||||
* && 2 Aus file[.baseclass].class.tx2 wird file.VCX aber alle anderen Klassen bleiben unver<65>ndert
|
||||
ClassPerFileCheck: 0 && 0=Aus, 1=Teste, ob die Datei einbezogen <Dateiname>[.Basisklasse].KlassenName.vc2 wurde
|
||||
* && Nur f<>r die file[.baseclass].class.tx2 Syntax
|
||||
* && Wird f<>r RedirectClassType: 2 ignoriert
|
||||
*-- Conversion operation by type
|
||||
*PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*VCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*SCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*FRX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
|
||||
*DBF_Conversion_Support: 1 && 0=No support, 1=Generate Header TXT only (Diff), 2=Generate Header TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data)
|
||||
*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
|
||||
*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff)
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Setting for container files (not pjx)
|
||||
*-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX)
|
||||
*- Class per file options (UseClassPerFile: 1)
|
||||
*UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files
|
||||
*RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2
|
||||
* && RedirectClassType: 1 precedes
|
||||
*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2
|
||||
* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2
|
||||
* && For the second form:
|
||||
* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library
|
||||
* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX
|
||||
* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX
|
||||
*ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
|
||||
* && Only used if import file is in file[.baseclass].class.tx2 syntax
|
||||
* && Ignored for RedirectClassType: 2
|
||||
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
*-- Optionen f<>r DBC
|
||||
*- Optionen f<>r Datei per DBC options (UseFilesPerDBC: 1)
|
||||
OldFilesPerDBC: 1 && 1=Die unten stehenden DBC Optionen werden aktiviert, 0=Die UseClassPerFile settings werden genutzt.
|
||||
* && Die unten stehenden Optionen werden nur gelesen, wenn OldFilesPerDBC vorher 1 ist!
|
||||
* && Wird OldFilesPerDBC wieder auf 0 gesetzt, gehen diese Einstellungen verloren.
|
||||
UseFilesPerDBC: 0 && 0=Erzeuge eine dc2 Datei, 1=Erzeuge mehrfache Dateien.*.*.dc2
|
||||
* && 0 Erzeugt eine Datei <Datenbank>.db2 mit allem Inhalt der DBC
|
||||
* && 1 Erzeugt eine Datei <Datenbank>.dc2 mit den Eigenschaften der Datenbank
|
||||
* && und zus<EFBFBD>tzlich eine Datei f<>r jedes Item der Datenbank (Gespeicherte Prozeduren, Tabellen, Views, ..)
|
||||
* && Achtung! Diese Dateien werden nur dann in die Bin<69>datei einbezogen, wenn RedirectFilePerDBCToMain 1 ist
|
||||
*RedirectFilePerDBCToMain 0 && Originale Dokumntation: 0=Keine Umlenkung, 1=Erzeuge <Datenbank>.dbc, wenn <Datenbank>.item.*.dc2 gew<65>hlt wurde
|
||||
* && Die Bin<69>r-Datenbank wird nur dann automatisch zusammen gef<65>gt, wenn diese Option 1 ist!
|
||||
ItemPerDBCCheck: 0 && 0=Aus, 1=Teste, ob <Datenbank>.item.*.dc2 einbezogen wird.
|
||||
*-- DBC options
|
||||
*- File per DBC options (UseFilesPerDBC: 1)
|
||||
*OldFilesPerDBC: 0 && 1=Turns the File per DBC options on, 0 uses the old UseClassPerFile etc settings.
|
||||
* && Options below will only read if OldFilesPerDBC is set 1 before!
|
||||
* && If OldFilesPerDBC is set 0 later, alle setting will be lost
|
||||
*UseFilesPerDBC: 0 && 0=One database dc2 file, 1=Multiple file.*.*.dc2 files
|
||||
* && 0 creates only a file.dc2 with all DBC (file) data
|
||||
* && 1 creates a file.dc2 with DBC properties
|
||||
* && and additional DBC files per DBC item (stored-proc, table, ..)
|
||||
* && Note: recration only if RedirectFilePerDBCToMain is 1
|
||||
*RedirectFilePerDBCToMain 0 && 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2
|
||||
*ItemPerDBCCheck: 0 && 0=Don't check file.item.*.dc2 inclusion, 1=Check file.item.*.dc2 inclusion
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Allgemeine Dateien
|
||||
NoTimestamps: 1 && 0=Zeitstempel einiger Dateiarten werden nicht gel<65>scht 1=Zeitstempel werden zum Minimieren der Text-Datei-Unterschiede gel<65>scht
|
||||
ClearUniqueID: 1 && 0=Erhalte die Unique ID in den Text-Dateien, 1=L<>sche Unique ID. N<EFBFBD>tzlich f<EFBFBD>r Diff und Merge
|
||||
OptimizeByFilestamp: 0 && 0=Aus, 1=Optimierte Erzeugung der Bin<69>rdateien in Abh<62>ngigkeit vom Zeitstempel. Gef<65>hrlich beim Arbeiten mit Zweigen!
|
||||
RemoveNullCharsFromCode: 1 && 0=Aus 1=L<>sche NULL (CHR(0)) Zeichen aus dem Quellcode
|
||||
RemoveZOrderSetFromProps: 0 && 0=Aus, 1=Entferne ZOrderSet Eigenschaft von Objekten
|
||||
PRG_Compat_Level: 0 && [0=Legacy], 1=Nutze HELPSTRING als Class Procedure Kommentar
|
||||
*-- General files
|
||||
*NoTimestamps: 1 && Clear timestamps of several file types by default for minimize text-file differences
|
||||
*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge
|
||||
*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches!
|
||||
*RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code
|
||||
*RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object
|
||||
*PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*-- speziell PJX
|
||||
BodyDevInfo: 0 && 0=DevInfo im body-pjx-Datensatz wird nicht erhalten], 1=DevInfo wird erhalten
|
||||
*-- PJX special
|
||||
*BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*-- speziell DBF
|
||||
ClearDBFLastUpdate: 1 && 0=Erhalte DBF LastUpdate, 1=L<EFBFBD>sche DBF LastUpdate. N<EFBFBD>tzlich f<EFBFBD>r Diff und Merge
|
||||
ExcludeDBFAutoincNextval: 0 && 0=Aus, 1=Entferne diesen Wert aus der Textdate der Datenbank (db2)
|
||||
DBF_Conversion_Included: * && F<EFBFBD>r DBF_Conversion_Support: 4 kann eine mehrfache Dateimaske zum Einbeziehen angegeben werden, z.B.: www,fb2p_free.dbf
|
||||
* && *=Alle, Die Maske darf Wildcards (*,?) enthalten
|
||||
* && Diese Option kann auch per Tabelle gesetzt werden.
|
||||
DBF_Conversion_Excluded: && F<>r DBF_Conversion_Support: 4 kann eine mehrfache Dateimaske zum Ausschlie<69>en angegeben werden, z.B.: www,fb2p_free.dbf
|
||||
* && Leer=Keine Datei auschlie<69>en
|
||||
DBF_BinChar_Base64: 1 && F<>r Felder mit Zeichen Typ (C,V,M), wenn NoCPTrans, dann 0=nicht transform,ieren, 1=F<>hre Base64 Transformation aus (default)
|
||||
* && Dies entspricht dem Flag 4096 in CursorToXML()
|
||||
* && Diese Option kann auch per Tabelle gesetzt werden.
|
||||
DBF_IncludeDeleted: 0 && 0=Ohne gel<65>schte Datens<6E>tze (default), 1=Mit gel<65>schten Datens<6E>tzen
|
||||
* && Diese Option kann auch per Tabelle gesetzt werden.
|
||||
*-- DBF special
|
||||
*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff.
|
||||
*ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2
|
||||
*DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
|
||||
*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
|
||||
*DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)
|
||||
*DBF_IncludeDeleted: 0 && 0=Do not include deleted records (default), 1=Include deleted records
|
||||
*----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*-- Text-Datei Endungen
|
||||
*extension: tx2=newext && Umdefinition der Dateiendung der Textdateien. Die vordefinierten Endungen enden mit '2' (Beispiel siehe Ende dieser Datei)
|
||||
*-- Beispiel f<>r ge<67>nderte Textdatei Endungen, hier f<EFBFBD>r SourceSafe Kompatibilt<EFBFBD>t:
|
||||
extension: pj2=PJ2 && Text Datei f<>r PJX
|
||||
extension: vc2=VC2 && Text Datei f<>r VCX
|
||||
extension: sc2=SC2 && Text Datei f<>r SCX
|
||||
extension: fr2=FR2 && Text Datei f<>r FRX
|
||||
extension: lb2=LB2 && Text Datei f<>r LBX
|
||||
extension: mn2=MN2 && Text Datei f<>r MNX
|
||||
extension: db2=DB2 && Text Datei f<>r DBF
|
||||
extension: dc2=DC2 && Text Datei f<>r DBC
|
||||
*-- Zus<EFBFBD>tzliche Endungen
|
||||
extension: fk2=FK2 && Text Datei f<>r FKY
|
||||
extension: me2=ME2 && Text Datei f<>r MEM
|
||||
*
|
||||
*-- Text file extensions
|
||||
*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom)
|
||||
*-- Example configuration for SourceSafe compatibility:
|
||||
*extension: pj2=pja && Text file to PJX
|
||||
*extension: vc2=vca && Text file to VCX
|
||||
*extension: sc2=sca && Text file to SCX
|
||||
*extension: fr2=fra && Text file to FRX
|
||||
*extension: lb2=lba && Text file to LBX
|
||||
*extension: mn2=mna && Text file to MNX
|
||||
*extension: db2=dba && Text file to DBF
|
||||
*extension: dc2=dca && Text file to DBC
|
||||
*-- Additional extensions
|
||||
*extension: fk2=fkx && Text file to FKY
|
||||
*extension: me2=fkx && Text file to MEM
|
||||
*
|
||||
@@ -1,21 +1,12 @@
|
||||
*################################################################################################################
|
||||
*-- Individual DBF configuration file (Syntax: <Tabellenname>.dbf.cfg im Verzeichnis der Tabelle) Defaults siehe FoxBin2prg.cfg
|
||||
*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg
|
||||
*Version: v1.19.60
|
||||
*****************************************************************************************************************
|
||||
|
||||
*DBF_Conversion_Support: <1,2,4,8> && 0=Aus
|
||||
* && 1=Erzeuge Textdatei nur f<>r Struktur (Diff)
|
||||
* && 2=Erzeuge Text- und Bin<69>rdatei nur f<>r Struktur (Merge)
|
||||
* && 4=Erzeuge Textdatei nur f<>r Struktur und Daten (Diff)
|
||||
* && 8=Erzeuge Text- und Bin<69>rdatei nur f<>r Struktur und Daten (Merge)
|
||||
*DBF_Conversion_Order: <c_Expression> && Optional, Reihenfolge der Datens<6E>tze. Ausdruck f<>r INDEX ON. ie: name+str(age,3)
|
||||
* && leer: normale Reihenfolge
|
||||
*DBF_Conversion_Condition: <c_Expression> && Optional, Ausdruck f<>r SELECT FOR. ie: age > 10 AND NOT DELETED()
|
||||
* && leer: Alle, au<61>er DBF_IncludeDeleted
|
||||
*DBF_IndexList: <cFile_List> && Kommagetrennte Liste von Dateien. Zus<75>tzliche Index - Dateien. CDX oder IDX. Nicht der Strukturelle Index
|
||||
*DBF_BinChar_Base64: <0,1> && F<>r Felder mit Zeichen Typ (C,V,M), wenn NoCPTrans, dann 0=nicht transform,ieren, 1=F<>hre Base64 Transformation aus
|
||||
* && Dies entspricht dem Flag 4096 in CursorToXML()
|
||||
* && Diese Option kann auch per Tabelle gesetzt werden.
|
||||
*DBF_IncludeDeleted: <0,1> && 0=Ohne gel<65>schte Datens<6E>tze, 1=Mit gel<65>schten Datens<6E>tzen
|
||||
* && Diese Option kann auch per Tabelle gesetzt werden.
|
||||
*DBF_Conversion_Support: <0,1,2,4,8> && 0=No support, 1=Generate Header TXT only (Diff), 2=Generate Header TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data)
|
||||
*DBF_Conversion_Order: <c_Expression> && Field expresion. ie: name+str(age,3)
|
||||
*DBF_Conversion_Condition: <c_Expression> && Logical expression. ie: age > 10 AND NOT DELETED()
|
||||
*DBF_IndexList: <cFile_List> && comma delimited list of additonal non structural index files, cdx or idx
|
||||
*DBF_BinChar_Base64: <0,1> && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform
|
||||
*DBF_IncludeDeleted: <0,1> && 0=Do not include deleted records, 1=Include deleted records
|
||||
*
|
||||
@@ -26,14 +26,14 @@ _LegalTrademark = "MIT License"
|
||||
_ProductName = "FOXBIN2PRG"
|
||||
_MajorVer = "1"
|
||||
_MinorVer = "19"
|
||||
_Revision = "51"
|
||||
_Revision = "60"
|
||||
_LanguageID = "1034"
|
||||
_AutoIncrement = "0"
|
||||
*</DevInfo>
|
||||
|
||||
|
||||
*<BuildProj>
|
||||
*<.HomeDir = 'c:\desa\foxbin2prg' />
|
||||
*<.HomeDir = 'e:\se\vfpx\foxbin2prg' />
|
||||
|
||||
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||
loProject.Close()
|
||||
|
||||
130
foxbin2prg.prg
130
foxbin2prg.prg
@@ -255,18 +255,16 @@
|
||||
* 09/03/2021 LScheffler v1.19.59 Enhancement: Added option to create config file template based on current values of a directory
|
||||
* 09/03/2021 LScheffler v1.19.59 Enhancement: Log settings object handed to execute (Debug > 0)
|
||||
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: -cC options learned to create default FoxBin2Prg._cfg file
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: -t Option learned to create default <tablename>._cfg file, if table is open.
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: Handling of additional non structural index per DBF in Bin2Text and Text2Bin see config per DBF
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: Debug-Logging for Index
|
||||
* xx/xx/2021 LScheffler v1.19.60 Bug Fix: DBF_Conversion_Condition was read, but never used
|
||||
* xx/xx/2021 LScheffler v1.19.60 Bug Fix: DBF_Conversion_Order sets an index that later would be stored as structural index
|
||||
* xx/xx/2021 LScheffler v1.19.60 Bug Fix: config options with text value fail, if line comment is set
|
||||
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: FoxBin2Prg template and debug output ordered and completed, order synched, grouped and groups named
|
||||
* xx/xx/2021 LScheffler v1.19.60 Enhancement: Option BackgroundImage was read, but not in template
|
||||
* xx/xx/2021 LScheffler v1.19.60 Bug Fix: issue #53 Variable lnFileCount in get_filesfromdirectory
|
||||
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: -cC options learned to create default FoxBin2Prg._cfg file
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: -t Option learned to create default <tablename>._cfg file, if table is open.
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: Handling of additional non structural index per DBF in Bin2Text and Text2Bin see config per DBF
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: Debug-Logging for Index
|
||||
* 22/03/2021 LScheffler v1.19.60 Bug Fix: DBF_Conversion_Condition was read, but never used
|
||||
* 22/03/2021 LScheffler v1.19.60 Bug Fix: DBF_Conversion_Order sets an index that later would be stored as structural index
|
||||
* 22/03/2021 LScheffler v1.19.60 Bug Fix: config options with text value fail, if line comment is set
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: FoxBin2Prg template and debug output ordered and completed, order synched, grouped and groups named
|
||||
* 22/03/2021 LScheffler v1.19.60 Enhancement: Option BackgroundImage was read, but not in template
|
||||
* 22/03/2021 LScheffler v1.19.60 Bug Fix: issue #53 Variable lnFileCount in get_filesfromdirectory
|
||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
@@ -718,10 +716,10 @@ Do Case
|
||||
Case Pcount()=1 And tcType == '-t' And !Empty( Dbf() )
|
||||
tc_InputFile = Dbf() + '._cfg'
|
||||
|
||||
Case Pcount()=1 And UPPER( tcType ) =='-C'
|
||||
Case Pcount()=1 And Upper( tcType ) =='-C'
|
||||
tc_InputFile = 'FoxBin2PRG._cfg'
|
||||
|
||||
Case Pcount()#2 And ( UPPER( tcType ) =='-C' OR tcType =='-t' )
|
||||
Case Pcount()#2 And ( Upper( tcType ) =='-C' Or tcType =='-t' )
|
||||
tc_InputFile = ""
|
||||
tcType = ""
|
||||
|
||||
@@ -2387,7 +2385,7 @@ Define Class c_foxbin2prg As Session
|
||||
|
||||
*settings for internal work, not processing
|
||||
* Depricated:
|
||||
Case Left( laConfig(m.I), 17 ) == Lower('DontShowProgress:')
|
||||
Case Left( laConfig(m.I), 17 ) == Lower('DontShowProgress:')
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 18 ) )
|
||||
If Not Inlist( Transform(tcDontShowProgress), '0', '1', '2' ) And Inlist( lcValue, '0', '1', '2' ) Then
|
||||
tcDontShowProgress = lcValue
|
||||
@@ -2397,7 +2395,7 @@ Define Class c_foxbin2prg As Session
|
||||
|
||||
Case Left( laConfig(m.I), 9 ) == Lower('Language:')
|
||||
*-- CASO ESPECIAL: El lenguaje no se guarda en lo_CFG, porque es un seteo Global.
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 10 , AT('&'+'&',laConfig(m.I)) - 10 ) )
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 10 , At('&'+'&',laConfig(m.I)) - 10 ) )
|
||||
.changeLanguage(lcValue)
|
||||
lo_CFG.c_Language_In = m.lcValue
|
||||
.writeLog( C_TAB + Justfname(lcConfigFile) + ' > Language: ' + Transform(lcValue) + ' (' + .c_Language + ')' )
|
||||
@@ -2687,14 +2685,14 @@ Define Class c_foxbin2prg As Session
|
||||
Endif
|
||||
|
||||
Case Left( laConfig(m.I), 24 ) == Lower('DBF_Conversion_Included:')
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 25 , AT('&'+'&',laConfig(m.I)) - 25 ) )
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 25 , At('&'+'&',laConfig(m.I)) - 25 ) )
|
||||
If Not Empty(lcValue) Then
|
||||
lo_CFG.c_DBF_Conversion_Included = lcValue
|
||||
.writeLog( C_TAB + Justfname(lcConfigFile) + ' > DBF_Conversion_Included: ' + Transform(lo_CFG.c_DBF_Conversion_Included) )
|
||||
Endif
|
||||
|
||||
Case Left( laConfig(m.I), 24 ) == Lower('DBF_Conversion_Excluded:')
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 25 , AT('&'+'&',laConfig(m.I)) - 25 ) )
|
||||
lcValue = Alltrim( Substr( laConfig(m.I), 25 , At('&'+'&',laConfig(m.I)) - 25 ) )
|
||||
If Not Empty(lcValue) Then
|
||||
lo_CFG.DBF_Conversion_Excluded = lcValue
|
||||
.writeLog( C_TAB + Justfname(lcConfigFile) + ' > DBF_Conversion_Excluded: ' + Transform(lo_CFG.DBF_Conversion_Excluded) )
|
||||
@@ -2716,7 +2714,7 @@ Define Class c_foxbin2prg As Session
|
||||
|
||||
*Text file extensions
|
||||
Case Left( laConfig(m.I), 10 ) == Lower('Extension:')
|
||||
lcConfData = Alltrim( Substr( laConfig(m.I), 11 , AT('&'+'&',laConfig(m.I)) - 11 ) )
|
||||
lcConfData = Alltrim( Substr( laConfig(m.I), 11 , At('&'+'&',laConfig(m.I)) - 11 ) )
|
||||
lcExt = Alltrim( Getwordnum( lcConfData, 1, '=' ) )
|
||||
lcProp = 'c_' + lcExt
|
||||
If Pemstatus( lo_CFG, lcProp, 5 )
|
||||
@@ -3017,7 +3015,7 @@ Define Class c_foxbin2prg As Session
|
||||
lnFileCount = Adir(laDirFile, lcTableCFG)
|
||||
|
||||
If lnFileCount = 1
|
||||
|
||||
|
||||
to_out_DBF_CFG = Createobject("CL_DBF_CFG")
|
||||
|
||||
If tlGenerateLog Then
|
||||
@@ -3039,13 +3037,13 @@ Define Class c_foxbin2prg As Session
|
||||
Endif
|
||||
|
||||
Case Left( lcConfigItem, 21 ) == Lower('DBF_Conversion_Order:')
|
||||
to_out_DBF_CFG.DBF_Conversion_Order = Alltrim( Substr( laConfig(m.I), 22 , AT('&'+'&',laConfig(m.I)) - 22 ) )
|
||||
to_out_DBF_CFG.DBF_Conversion_Order = Alltrim( Substr( laConfig(m.I), 22 , At('&'+'&',laConfig(m.I)) - 22 ) )
|
||||
If tlGenerateLog Then
|
||||
This.writeLog(' ' + Justfname(lcTableCFG) + ' > DBF_Conversion_Order: ' + to_out_DBF_CFG.DBF_Conversion_Order )
|
||||
Endif
|
||||
|
||||
Case Left( lcConfigItem, 25 ) == Lower('DBF_Conversion_Condition:')
|
||||
to_out_DBF_CFG.DBF_Conversion_Condition = Alltrim( Substr( laConfig(m.I), 26 , AT('&'+'&',laConfig(m.I)) - 26 ) )
|
||||
to_out_DBF_CFG.DBF_Conversion_Condition = Alltrim( Substr( laConfig(m.I), 26 , At('&'+'&',laConfig(m.I)) - 26 ) )
|
||||
If tlGenerateLog Then
|
||||
This.writeLog(' ' + Justfname(lcTableCFG) + ' > DBF_Conversion_Condition: ' + to_out_DBF_CFG.DBF_Conversion_Condition )
|
||||
Endif
|
||||
@@ -3055,7 +3053,7 @@ Define Class c_foxbin2prg As Session
|
||||
* additional options controlling
|
||||
* - new operations of DBF, additional list of non structural index files
|
||||
Case Left( lcConfigItem, 14 ) == Lower('DBF_IndexList:')
|
||||
to_out_DBF_CFG.DBF_IndexList = Substr( laConfig(m.I), 15 , AT('&'+'&',laConfig(m.I)) - 15 )
|
||||
to_out_DBF_CFG.DBF_IndexList = Substr( laConfig(m.I), 15 , At('&'+'&',laConfig(m.I)) - 15 )
|
||||
If tlGenerateLog Then
|
||||
This.writeLog(' ' + Justfname(lcTableCFG) + ' >DBF_IndexList: ' + Transform(to_out_DBF_CFG.DBF_IndexList) )
|
||||
Endif
|
||||
@@ -3480,9 +3478,9 @@ Define Class c_foxbin2prg As Session
|
||||
* n_RedirectClassType = 0 will import all classes of file.VCX (as just handing file.vc2)
|
||||
* n_RedirectClassType = 1 will import the class to single lib file[.baseclass].class.VCX
|
||||
Do Case
|
||||
Case LOWER(m.lcType)=='-c'
|
||||
Case Lower(m.lcType)=='-c'
|
||||
* not handled
|
||||
Case m.lcType=='-t'
|
||||
Case m.lcType=='-t'
|
||||
* not handled
|
||||
Case .n_RedirectClassType # 2
|
||||
* not handled
|
||||
@@ -3539,12 +3537,12 @@ Define Class c_foxbin2prg As Session
|
||||
*!* Changed by: Lutz Scheffler 15.2.2021
|
||||
*!* change date="{^2021-02-15,18:44:00}"
|
||||
* added option to create config files
|
||||
Case m.lcType=='-t' And ( Vartype( m.tc_InputFile )='C' AND !EMPTY( m.tc_InputFile ) )
|
||||
Case m.lcType=='-t' And ( Vartype( m.tc_InputFile )='C' And !Empty( m.tc_InputFile ) )
|
||||
loLang = _Screen.o_FoxBin2Prg_Lang
|
||||
Strtofile( Strtran( Strtran( '*' + m.loLang.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_tab_cfg, 0h0D0A, 0h0D0A + '*'), 0h0D0A + '*' + 0h0D0A, 0h0D0A0D0A), m.tc_InputFile )
|
||||
|
||||
Case m.lcType=='-c'
|
||||
tc_InputFile = IIF( Vartype( m.tc_InputFile )='C' AND !EMPTY( m.tc_InputFile ), m.tc_InputFile, 'FoxBin2Prg._cfg' )
|
||||
Case m.lcType=='-c'
|
||||
tc_InputFile = Iif( Vartype( m.tc_InputFile )='C' And !Empty( m.tc_InputFile ), m.tc_InputFile, 'FoxBin2Prg._cfg' )
|
||||
loLang = _Screen.o_FoxBin2Prg_Lang
|
||||
Strtofile( Strtran( '*' + Strtran( m.loLang.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg, 0h0D0A, 0h0D0A + '*'), 0h0D0A + '*' + 0h0D0A, 0h0D0A0D0A), m.tc_InputFile )
|
||||
*!* /Changed by: Lutz Scheffler 15.2.2021
|
||||
@@ -3568,7 +3566,7 @@ Define Class c_foxbin2prg As Session
|
||||
laLines(1),;
|
||||
laOptions(m.lnOptions,3)
|
||||
|
||||
tc_InputFile = IIF( Vartype( m.tc_InputFile )='C' AND !EMPTY( m.tc_InputFile ), m.tc_InputFile, 'FoxBin2Prg._cfg' )
|
||||
tc_InputFile = Iif( Vartype( m.tc_InputFile )='C' And !Empty( m.tc_InputFile ), m.tc_InputFile, 'FoxBin2Prg._cfg' )
|
||||
loLang = _Screen.o_FoxBin2Prg_Lang
|
||||
lcText = Strtran( '*' + Strtran( m.loLang.C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg, 0h0D0A, 0h0D0A + '*'), 0h0D0A + '*' + 0h0D0A, 0h0D0A0D0A)
|
||||
lnLines = Alines(laLines,m.lcText)
|
||||
@@ -3739,17 +3737,17 @@ Define Class c_foxbin2prg As Session
|
||||
|
||||
Case m.laOptions( m.lnOption, 3 ) = 4
|
||||
lcReturn = ' ' + Transform( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = Padr( m.lcReturn , MAX( LEN ( m.lcReturn )+1, Len( m.lcValue ) + 1 ) )
|
||||
lcReturn = Padr( m.lcReturn , Max( Len ( m.lcReturn )+1, Len( m.lcValue ) + 1 ) )
|
||||
|
||||
Case m.laOptions( m.lnOption, 3 ) = 5
|
||||
IF Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = ' *'
|
||||
|
||||
Else &&Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = ' ' + Transform( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
If Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = ' *'
|
||||
|
||||
Endif &&Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = Padr( m.lcReturn , MAX( LEN ( m.lcReturn )+1, Len( m.lcValue ) + 1 ) )
|
||||
Else &&Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = ' ' + Transform( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
|
||||
Endif &&Empty( Evaluate( m.laOptions( m.lnOption, 2 ) ) )
|
||||
lcReturn = Padr( m.lcReturn , Max( Len ( m.lcReturn )+1, Len( m.lcValue ) + 1 ) )
|
||||
|
||||
Case m.laOptions( m.lnOption, 3 ) = 6
|
||||
If Lower( Justfname ( Evaluate( m.laOptions( m.lnOption, 2 ) ) ) ) == 'foxbin2prg.jpg' Then
|
||||
@@ -13720,13 +13718,13 @@ Define Class c_conversor_prg_a_dbf As c_conversor_prg_a_bin
|
||||
, loDBFUtils As CL_DBF_UTILS Of 'FOXBIN2PRG.PRG' ;
|
||||
, loLang As CL_LANG Of 'FOXBIN2PRG.PRG' ;
|
||||
, ldLastUpdate ;
|
||||
, lcIndexFile
|
||||
|
||||
, lcIndexFile
|
||||
|
||||
With This As c_conversor_prg_a_dbf Of 'FOXBIN2PRG.PRG'
|
||||
Store Null To loIndex
|
||||
Store 0 To lnCodError
|
||||
Store '' To lcIndex
|
||||
Store .NULL. To lcIndexFile
|
||||
Store .Null. To lcIndexFile
|
||||
|
||||
If toTable._Indexes.Count # 0 Then
|
||||
loDBFUtils = Createobject('CL_DBF_UTILS')
|
||||
@@ -13738,27 +13736,27 @@ Define Class c_conversor_prg_a_dbf As c_conversor_prg_a_bin
|
||||
|
||||
*-- Regenero los índices
|
||||
For Each loIndex In toTable._Indexes FoxObject
|
||||
DO CASE
|
||||
CASE ISNULL ( m.lcIndexFile ) AND EMPTY (m.loIndex._IndexFile)
|
||||
Do Case
|
||||
Case Isnull ( m.lcIndexFile ) And Empty (m.loIndex._IndexFile)
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2BIN_STRUCTURAL_LOC )
|
||||
toFoxBin2Prg.writeLog( ' ' + Replicate('- ', 49) )
|
||||
|
||||
CASE ISNULL ( m.lcIndexFile ) AND m.loIndex._StandAlone
|
||||
Case Isnull ( m.lcIndexFile ) And m.loIndex._StandAlone
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2BIN_STANDALONE_LOC + m.loIndex._IndexFile )
|
||||
|
||||
CASE ISNULL ( m.lcIndexFile )
|
||||
Case Isnull ( m.lcIndexFile )
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2BIN_COMPOUND_LOC + m.loIndex._IndexFile )
|
||||
toFoxBin2Prg.writeLog( ' ' + Replicate('- ', 59) )
|
||||
|
||||
CASE ! m.lcIndexFile == m.loIndex._IndexFile AND m.loIndex._StandAlone
|
||||
Case ! m.lcIndexFile == m.loIndex._IndexFile And m.loIndex._StandAlone
|
||||
toFoxBin2Prg.writeLog( ' ' + Replicate('-', 98) )
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2BIN_STANDALONE_LOC + m.loIndex._IndexFile )
|
||||
|
||||
CASE ! m.lcIndexFile == m.loIndex._IndexFile
|
||||
Case ! m.lcIndexFile == m.loIndex._IndexFile
|
||||
toFoxBin2Prg.writeLog( ' ' + Replicate('-', 98) )
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2BIN_COMPOUND_LOC + m.loIndex._IndexFile )
|
||||
toFoxBin2Prg.writeLog( ' ' + Replicate('- ', 59) )
|
||||
ENDCASE
|
||||
Endcase
|
||||
lcIndexFile = m.loIndex._IndexFile
|
||||
|
||||
lcIndex = 'INDEX ON ' + loIndex._Key
|
||||
@@ -13805,7 +13803,7 @@ Define Class c_conversor_prg_a_dbf As c_conversor_prg_a_bin
|
||||
|
||||
toFoxBin2Prg.updateProcessedFile()
|
||||
Endif &&toTable._Indexes.COUNT # 0
|
||||
toFoxBin2Prg.writeLog( Replicate('+', 100) )
|
||||
toFoxBin2Prg.writeLog( Replicate('+', 100) )
|
||||
Endwith && THIS
|
||||
|
||||
|
||||
@@ -25186,14 +25184,14 @@ Define Class CL_DBF_TABLE As CL_CUS_BASE
|
||||
Endcase
|
||||
|
||||
* Lutz Scheffler 18.03.2021 added handling DBF_IndexList:
|
||||
If lnFileCount = 1
|
||||
lc_DBF_IndexList = loDBF_CFG.DBF_IndexList
|
||||
If Not Empty(lc_DBF_IndexList)
|
||||
toFoxBin2Prg.writeLog(' > Using non structural index files: ' + lc_DBF_IndexList)
|
||||
Endif
|
||||
|
||||
If lnFileCount = 1
|
||||
lc_DBF_IndexList = loDBF_CFG.DBF_IndexList
|
||||
If Not Empty(lc_DBF_IndexList)
|
||||
toFoxBin2Prg.writeLog(' > Using non structural index files: ' + lc_DBF_IndexList)
|
||||
Endif
|
||||
|
||||
Endif
|
||||
|
||||
* Lutz Scheffler 18.03.2021 moved index to get Settings per DBF
|
||||
*-- Indexes
|
||||
loIndexes = This._Indexes
|
||||
@@ -25650,7 +25648,7 @@ Define Class CL_DBF_INDEXES As CL_COL_BASE
|
||||
llBloqueEncontrado = .T.
|
||||
|
||||
lcFile = Strextract(m.tcLine,C_CDX_File_,'"',1)
|
||||
llStandAlone = Strextract(m.tcLine,C_CDX_Type_,'"',1) == C_CDX_Type_IDX
|
||||
llStandAlone = Strextract(m.tcLine,C_CDX_Type_,'"',1) == C_CDX_Type_IDX
|
||||
With This As CL_DBF_INDEXES Of 'FOXBIN2PRG.PRG'
|
||||
For I = m.I + 1 To tnCodeLines
|
||||
.set_Line( @tcLine, @taCodeLines, m.I )
|
||||
@@ -25817,7 +25815,7 @@ Define Class CL_DBF_INDEXES As CL_COL_BASE
|
||||
*!* </change>
|
||||
*!* </pdm>
|
||||
lcIndexFile = Juststem( Dbf() ) + '.CDX'
|
||||
|
||||
|
||||
* If Tagcount() > 0
|
||||
If Tagcount( m.lcIndexFile ) > 0
|
||||
lcIndexType = C_CDX_Type_Struct
|
||||
@@ -25890,11 +25888,11 @@ Define Class CL_DBF_INDEXES As CL_COL_BASE
|
||||
Endif &&TAGCOUNT( m.lcIndexFile ) > 0
|
||||
|
||||
Catch To m.loEx When m.loEx.ErrorNo = 1
|
||||
*File Not found
|
||||
*File Not found
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2TXT_NOFILE_LOC + m.lcIndexFile)
|
||||
|
||||
Catch To m.loEx When m.loEx.ErrorNo=114
|
||||
*INDEX does not match
|
||||
*INDEX does not match
|
||||
toFoxBin2Prg.writeLog( loLang.C_INDEX2TXT_NOTTHISTABLE_LOC + m.lcIndexFile)
|
||||
|
||||
Catch To m.loEx
|
||||
@@ -25920,7 +25918,7 @@ Define Class CL_DBF_INDEXES As CL_COL_BASE
|
||||
Endif &&!EMPTY(m.lcText)
|
||||
|
||||
toFoxBin2Prg.writeLog( Replicate('+', 100)+0h0D0A )
|
||||
* /SF
|
||||
* /SF
|
||||
|
||||
Catch To loEx
|
||||
If This.n_Debug > 0 And _vfp.StartMode = 0
|
||||
@@ -30203,7 +30201,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>-C creates a config-file <OutFileName> (like FOXBIN2PRG.CFG) with current options of folder of <OutFileName>
|
||||
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
|
||||
<<>>-t creates a template table-config-file <OutFileName> (like <Tablename>.dbf.cfg)
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>>
|
||||
<<>>
|
||||
ENDTEXT
|
||||
@@ -30253,7 +30251,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
|
||||
<<>> && Only used if import file is in file[.baseclass].class.tx2 syntax
|
||||
<<>> && Ignored for RedirectClassType: 2
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>
|
||||
<<>>-- DBC options
|
||||
<<>>- File per DBC options (UseFilesPerDBC: 1)
|
||||
@@ -30454,7 +30452,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>-C creates a config-file <OutFileName> (like FOXBIN2PRG.CFG) with current options of folder of <OutFileName>
|
||||
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
|
||||
<<>>-t creates a template table-config-file <OutFileName> (like <Tablename>.dbf.cfg)
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>>
|
||||
ENDTEXT
|
||||
*** DH 2021-03-04: added HomeDir to text
|
||||
@@ -30503,7 +30501,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
|
||||
<<>> && Only used if import file is in file[.baseclass].class.tx2 syntax
|
||||
<<>> && Ignored for RedirectClassType: 2
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>
|
||||
<<>>-- DBC options
|
||||
<<>>- File per DBC options (UseFilesPerDBC: 1)
|
||||
@@ -30770,7 +30768,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>ClassPerFileCheck: 0 && 0=Aus, 1=Teste, ob die Datei einbezogen <Dateiname>[.Basisklasse].KlassenName.vc2 wurde
|
||||
<<>> && Nur für die file[.baseclass].class.tx2 Syntax
|
||||
<<>> && Wird für RedirectClassType: 2 ignoriert
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>
|
||||
<<>>-- Optionen für DBC
|
||||
<<>>- Optionen für Datei per DBC options (UseFilesPerDBC: 1)
|
||||
@@ -30988,7 +30986,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>-C creates a config-file <OutFileName> (like FOXBIN2PRG.CFG) with current options of folder of <OutFileName>
|
||||
<<>> If OutFileName is not given a FoxBin2Prg._cfg config file will be created at default folder
|
||||
<<>>-t creates a template table-config-file <OutFileName> (like <Tablename>.dbf.cfg)
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>> If OutFileName is not given, and a table is open a <Tablename>.dbf._cfg config file will be created at table folder.
|
||||
<<>>
|
||||
<<>>
|
||||
ENDTEXT
|
||||
@@ -31038,7 +31036,7 @@ Define Class CL_LANG As Custom
|
||||
<<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
|
||||
<<>> && Only used if import file is in file[.baseclass].class.tx2 syntax
|
||||
<<>> && Ignored for RedirectClassType: 2
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
<<>>
|
||||
<<>>-- DBC options
|
||||
<<>>- File per DBC options (UseFilesPerDBC: 1)
|
||||
|
||||
Reference in New Issue
Block a user