diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d974614..26d3412 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -40,6 +40,7 @@ Stuff is a bit scattered, so this is where to look up. 4. Create a template _foxbin2prg.cfg.txt_ for general settings or _foxbin2prg.dbf.cfg.txt_ for the settings per table. - Do this even if no change to the setting to change the version number inside this files. - Or change version number in those files manually + - **Note**. If you are not on an English comp, set in the value _Language: EN_ in your local _foxbin2prg.cfg_ to create English files. 5. If a change to the parameters is made, change _C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_ properties. 4. For changed functionality, add descriptive text on the appropriate _.md_ file. 2. Alter the version number for the EXE to the version used above. @@ -62,4 +63,4 @@ In special: Thanks ---- -Last changed: _2021/08/30_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2022/02/23_ ![Picture](../docs/pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/docs/FoxBin2Prg_Changes.md b/docs/FoxBin2Prg_Changes.md index e85d472..662c806 100644 --- a/docs/FoxBin2Prg_Changes.md +++ b/docs/FoxBin2Prg_Changes.md @@ -27,6 +27,9 @@ _**Note:** you can click on the version number for downloading this version from | Rel.Date | Developer | Version | Details | | - | - | - | - | +| 2022/02/23 | LScheffler | [v1.19.69](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.69) | **Bug Fix**: Recreating a class while an object with same name exists in VCX fails (bjornhoeksel) | +| | | | **Enhancement**: Template configuration files FOXBIN2PRG.DBF.TXT and FOXBIN2PRG.DBF.CFG.TXT in English | +| | | | **Enhancement**: Notice in contribution file to creating files above in English | | 2022/01/18 | LScheffler | [v1.19.68](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.68) | **Bug Fix**: Converting MN2 to MNX ignores the programmer-defined "Pad Name" found in "Prompt Options" screen (Jimrnelson) | | | | | **Enhancement**: Minor links in readme.html | | 2021/08/20 | LScheffler | [v1.19.67](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.67) | **Bug Fix**: Double classes in VCX (LScheffler) | @@ -399,4 +402,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: _2022/01/17_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file +Last changed: _2022/02/23_ ![Picture](./pictures/vfpxpoweredby_alternative.gif) \ No newline at end of file diff --git a/foxbin2prg.cfg.txt b/foxbin2prg.cfg.txt index 540ac6e..6f5035c 100644 --- a/foxbin2prg.cfg.txt +++ b/foxbin2prg.cfg.txt @@ -1,129 +1,105 @@ *################################################################################################################ -*FOXBIN2PRG.CFG Konfigurations-Optionen: (Wird die Option nicht aufgeführt, ist der Wert im Beispiel der Default) -*Version: v1.19.68 +*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) +*Version: v1.19.69 ***************************************************************************************************************** -* 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: .dbf.cfg im Verzeichnis der Tabelle) -* 6., Parameter des Aufrufs von FOXBIN2PRG.EXE. - -* Einige Parameter im Aufruf von FOXBIN2PRG.EXE übersteueren diese Vorgaben (bis auf die Defaults) -***************************************************************************************************************** - -*Interne Einstellungen -*Language: (auto) && Sprache für Anzeigen und Logs. EN=English, FR=Français, ES=Español, DE=Deutsch, Nicht definiert = Automatisch [DEFAULT] -*ShowProgressbar: 1 && 0=Zeige Fortschrittsfenster, 1=Zeige es nicht, 2= Zeige Fortschrittsfenster nur, wenn mehrere Dateien konvertiert werden. -*DontShowErrors: 0 && 0=Zeige Fehler an, 1=Zeige keine Fehler an -*ExtraBackupLevels: 1 && Anzahl der Backup-Ebenen der Binärdateien 0=kein Backup, 1=.BAK, n>1= n-Backup-Ebenen, .n.BAK -*Debug: 0 && 0=Individuelles Logging ist aus 1= Individuelles Log per Datei .Log -*BackgroundImage: && Hintergrundbild für das Formular zur Fortschrittsanzeige. -* && Leer erzeugt kein Hintergrundbild. Wird die Datei nicht gefunden, wird der Standardhintergrund verwendet. -*HomeDir: 1 && Speichern der HomeDir Eigenschaft in die PJX -* && 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ärdatei (Merge) -*VCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*SCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*FRX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*LBX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*MNX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*DBC_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) -*DBF_Conversion_Support: 1 && 0=Aus -* && 1=Erzeuge Textdatei nur für Struktur (Diff) -* && 2=Erzeuge Text- und Binärdatei nur für Struktur (Merge) -* && 4=Erzeuge Textdatei nur für Struktur und Daten (Diff) -* && 8=Erzeuge Text- und Binä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ñ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 .Log by default +*BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. +*HomeDir: 1 && Home Directory in PJX +* && 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 && Bestimmt wie die Klassen einer Bibliothek oder die objekte eines Formulars behandelt werden -* && 0 Eine Textdatei pro VCX/SCX -* && 1 Mehrere Dateien .KlassenName.vc2 files -* && 2 Mehrere Dateien .Basisklasse.KlassenName.vc2 -* && Für 1, 2 wird jeweils auch ein Headerdatei .vc2 erzeugt -*RedirectClassPerFileToMain: 0 && Bestimmt beim Erzeugen von Binardateien für Klassenbibliotheken und Formulare die Zieldatei -* && 0 Keine Umlenkung -* && 1 Klassen (und Objekte) werden in die VCX/SCX geschrieben wenn eine Datei [.Basisklasse].KlassenName.tx2 gewählt wurde -* && RedirectClassType: 1 hat Vorrang -*RedirectClassType: 0 && Für Textdateien die mit UseClassPerFile>0 in der Form [.Basisklasse].KlassenName.tx2 erstellt wurden. -* && diese Dateien können als Dateiname.tx2::KlassenName::import oder als [.Basisklasse].KlassenName.tx2 importiert werden. -* && Für die zweite Form gilt (jeweils VCX oder SCX ): -* && 0 Aus [.Basisklasse].KlassenName.tx2 wird .VCX und alle Klassen dieser Bibliothek werden neu gelesen -* && 1 Aus [.Basisklasse].KlassenName.tx2 wird [.Basisklasse].KlassenName.VCX, die Bibliothek file.VCX wird ignoriert -* && 2 Aus [.Basisklasse].KlassenName.tx2 wird .VCX aber alle anderen Klassen bleiben unverändert -*ClassPerFileCheck: 0 && Test, ob dateien aus die in der Basisdatei definert wurden, einbezogen wurden. -* && 0 Kein Test -* && 1 Teste, ob die Datei [.Basisklasse].KlassenName.tx2 einbezogen wurde -* && Nur für die [.Basisklasse].KlassenName.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 && Determines how a library (or form) will handle included class (or, for forms, objects) +* && 0 One library.tx2 file +* && 1 Multiple file.class.tx2 files +* && 2 Multiple file.baseclass.class.tx2 files +*RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file +* && 0 Don't redirect to file.tx2 +* && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 +* && RedirectClassType: 1 has precedence +*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 && Check, if files listed in the main file of a library or form will be included +* && 0 Don't check file inclusion +* && 1 Check file[.baseclass].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: 0 && 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 .db2 mit allem Inhalt der DBC -* && 1 Erzeugt eine Datei .dc2 mit den Eigenschaften der Datenbank -* && und zusätzlich eine Datei für jedes Item der Datenbank (Gespeicherte Prozeduren, Tabellen, Views, ..) -* && Achtung! Diese Dateien werden nur dann in die Binädatei einbezogen, wenn RedirectFilePerDBCToMain 1 ist -*RedirectFilePerDBCToMain: 0 && Originale Dokumentation: 0=Keine Umlenkung, 1=Erzeuge .dbc, wenn .item.*.dc2 gewählt wurde -* && Die Binär-Datenbank wird nur dann automatisch zusammen gefügt, wenn diese Option 1 ist! -*ItemPerDBCCheck: 0 && 0=Aus, 1=Teste, ob .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öscht 1=Zeitstempel werden zum Minimieren der Text-Datei-Unterschiede gelöscht -*ClearUniqueID: 1 && 0=Erhalte die Unique ID in den Text-Dateien, 1=Lösche Unique ID. Nützlich für Diff und Merge -*OptimizeByFilestamp: 0 && 0=Aus, 1=Optimierte Erzeugung der Binärdateien in Abhängigkeit vom Zeitstempel. Gefä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ösche DBF LastUpdate. Nützlich für Diff und Merge -*ExcludeDBFAutoincNextval: 0 && 0=Aus, 1=Entferne diesen Wert aus der Textdate der Datenbank (db2) -*DBF_Conversion_Included: * && Fü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ßen angegeben werden, z.B.: www,fb2p_free.dbf -* && Leer=Keine Datei auschließ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öschte Datensätze (default), 1=Mit gelöschten Datensä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änderte Textdatei Endungen, hier für SourceSafe Kompatibiltät: -*extension: pj2=pja && Text Datei für PJX -*extension: vc2=vca && Text Datei für VCX -*extension: sc2=sca && Text Datei für SCX -*extension: fr2=fra && Text Datei für FRX -*extension: lb2=lba && Text Datei für LBX -*extension: mn2=mna && Text Datei für MNX -*extension: db2=dba && Text Datei für DBF -*extension: dc2=dca && Text Datei für DBC -*-- Zusätzliche Endungen -*extension: fk2=fkx && Text Datei für FKY -*extension: me2=fkx && 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 * \ No newline at end of file diff --git a/foxbin2prg.dbf.cfg.txt b/foxbin2prg.dbf.cfg.txt index 6a0bf4e..6f5035c 100644 --- a/foxbin2prg.dbf.cfg.txt +++ b/foxbin2prg.dbf.cfg.txt @@ -1,21 +1,105 @@ *################################################################################################################ -*-- Individual DBF configuration file (Syntax: .dbf.cfg im Verzeichnis der Tabelle) Defaults siehe FoxBin2prg.cfg -*Version: v1.19.68 +*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) +*Version: v1.19.69 ***************************************************************************************************************** -*DBF_Conversion_Support: <1,2,4,8> && 0=Aus -* && 1=Erzeuge Textdatei nur für Struktur (Diff) -* && 2=Erzeuge Text- und Binärdatei nur für Struktur (Merge) -* && 4=Erzeuge Textdatei nur für Struktur und Daten (Diff) -* && 8=Erzeuge Text- und Binärdatei nur für Struktur und Daten (Merge) -*DBF_Conversion_Order: && Optional, Reihenfolge der Datensätze. Ausdruck für INDEX ON. ie: name+str(age,3) -* && leer: normale Reihenfolge -*DBF_Conversion_Condition: && Optional, Ausdruck für SELECT FOR. ie: age > 10 AND NOT DELETED() -* && leer: Alle, außer DBF_IncludeDeleted -*DBF_IndexList: && Kommagetrennte Liste von Dateien. Zusä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öschte Datensätze, 1=Mit gelöschten Datensätzen -* && Diese Option kann auch per Tabelle gesetzt werden. +*-- Settings for internal work, not processing +*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Españ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 .Log by default +*BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. +*HomeDir: 1 && Home Directory in PJX +* && 0 don't save HomeDir in PJ2 +* && 1 save HomeDir in PJ2 +*---------------------------------------------------------------------------------------------------------------- + +*-- 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 && Determines how a library (or form) will handle included class (or, for forms, objects) +* && 0 One library.tx2 file +* && 1 Multiple file.class.tx2 files +* && 2 Multiple file.baseclass.class.tx2 files +*RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file +* && 0 Don't redirect to file.tx2 +* && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 +* && RedirectClassType: 1 has precedence +*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 && Check, if files listed in the main file of a library or form will be included +* && 0 Don't check file inclusion +* && 1 Check file[.baseclass].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) +*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 +*---------------------------------------------------------------------------------------------------------------- + +*-- 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 +*---------------------------------------------------------------------------------------------------------------- + +*-- PJX special +*BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo +*---------------------------------------------------------------------------------------------------------------- + +*-- 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 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 * \ No newline at end of file diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 0dc432e..c9d39b6 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index e71313f..60f1688 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 8fe2347..f16ae2f 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index a29d32a..3b49ec6 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -280,10 +280,12 @@ * 12/04/2021 LScheffler v1.19.67 Docu: examples and template for config files reworked * 18/01/2022 LScheffler v1.19.68 Docu: Minor links in readme.html * 18/01/2022 LScheffler v1.19.68 Bug Fix: Converting MN2 to MNX ignores the programmer-defined "Pad Name" found in "Prompt Options" screen +* 23/02/2022 LScheffler v1.19.69 Bug Fix: Creating a class, when an object is named equal to this class * * *--------------------------------------------------------------------------------------------------- * +* 23/02/2022 bjornhoeksel Bug REPORT v1.19.69 Creating a class, when an object is named equal to this class * 18/01/2022 Jimrnelson BUG REPORT v1.19.67 Converting MN2 to MNX ignores the programmer-defined "Pad Name" found in "Prompt Options" screen * 05/11/2021 LScheffler BUG REPORT v1.19.66 Double classes in VCX * 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect version number shown. @@ -953,7 +955,7 @@ Define Class c_foxbin2prg As Session Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess *-- n_FB2PRG_Version = 1.19 - c_FB2PRG_Version_Real = '1.19.68' + c_FB2PRG_Version_Real = '1.19.69' *-- c_Language = '' && EN, FR, ES, DE c_Language_In = '(auto)' @@ -11586,8 +11588,21 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin *!* SELECT TABLABIN +*!* Changed by: SF 23.02.2022 +*!* +*!* Changed by: SF
+*!* https://github.com/fdbozzo/foxbin2prg/issues/77 / If a classname is used as objectname too, an error is reported +*!* A class is Objname with empty parent field, while an object has parent filled. +*!*
+*!*
+ +* LOCATE; +* FOR OBJNAME==loClase._ObjName LOCATE; - FOR OBJNAME==loClase._ObjName + FOR OBJNAME==loClase._ObjName; + AND EMPTY(Parent) + +*!* /Changed by SF 07.12.2021 IF FOUND() THEN *SF 20211207 *SET STEP ON