Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 10:55:38 +03:00
commit 2f59024385
1271 changed files with 820556 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

View File

@@ -0,0 +1,70 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="gridtreeview.scx" CPID="1250" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS dataenvironment AS dataenvironment
*< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" />
*<PropValue>
DataSource = .NULL.
Height = 0
Left = 0
Name = "Dataenvironment"
Top = 0
Width = 0
*</PropValue>
ENDDEFINE
DEFINE CLASS form1 AS form
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Gridtreeview1" UniqueID="" Timestamp="" />
*<PropValue>
Caption = "Form1"
DoCreate = .T.
Name = "Form1"
*</PropValue>
ADD OBJECT 'Gridtreeview1' AS gridtreeview WITH ;
Anchor = 15, ;
cexplicatie = info, ;
cid = id, ;
cseparator = \, ;
Height = 228, ;
Left = 24, ;
Name = "Gridtreeview1", ;
Panel = 1, ;
RecordSource = "cInfo", ;
Top = 12, ;
Width = 320, ;
ColumnTV.ControlSource = "", ;
ColumnTV.Header1.Name = "Header1", ;
ColumnTV.Name = "ColumnTV", ;
ColumnTV.Text1.Name = "Text1", ;
ColumnTV.Width = 296
*< END OBJECT: ClassLib="gridtreeview.vcx" BaseClass="grid" />
PROCEDURE Load
lcDir = JUSTPATH(SYS(16,0))
lcDir = SUBSTR(lcDir, AT(':', lcDir)-1)
SET DEFAULT TO (lcDir)
SET CLASSLIB TO gridtreeview.vcx ADDITIVE
USE IN (SELECT('cInfo'))
CREATE CURSOR cinfo(id i, info c(100))
INSERT INTO cinfo (id, info) VALUES (1,'Nod 1')
INSERT INTO cinfo (id, info) VALUES (2,'Nod 1\1')
INSERT INTO cinfo (id, info) VALUES (3,'Nod 1\2')
INSERT INTO cinfo (id, info) VALUES (4,'Nod 1\1\x')
INSERT INTO cinfo (id, info) VALUES (5,'Nod 1\2\x')
GO TOP
ENDPROC
ENDDEFINE

View File

@@ -0,0 +1,374 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="gridtreeview.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS element AS _container OF "..\..\clase\_baza.vcx"
*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="imagine1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="imagine2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="explicatie" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="nivel" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*m: do_aranjeaza && Aranjeaza obiectele din container in functie de nivel.
*m: nodeclick
*p: cexplicatie && Numele campului care contine explicatia.
*p: nexplicatie
*p: nimagine1
*p: nimagine2
*p: ntip && 0 - nod neterminal, 1 - nod terminal
*p: _memberdata && XML Metadata for customizable properties
*</DefinedPropArrayMethod>
*<PropValue>
Anchor = 10
BorderWidth = 0
cexplicatie =
Height = 24
Name = "element"
nexplicatie = 0
nimagine1 = 0
nimagine2 = 0
ntip = 0
Width = 400
_memberdata = <VFPData>
<memberdata name="cexplicatie" type="Property" favorites="True"/>
<memberdata name="nexplicatie" type="Property" favorites="True"/>
<memberdata name="nimagine1" type="Property" favorites="True"/>
<memberdata name="nimagine2" type="Property" favorites="True"/>
<memberdata name="ntip" type="Property" favorites="True"/>
</VFPData>
*</PropValue>
ADD OBJECT 'explicatie' AS _txbase WITH ;
Anchor = 10, ;
BackStyle = 0, ;
BorderStyle = 0, ;
DisabledBackColor = 255,255,255, ;
DisabledForeColor = 0,0,0, ;
Enabled = .F., ;
FontBold = .T., ;
Height = 21, ;
Left = 33, ;
Name = "explicatie", ;
ReadOnly = .T., ;
SpecialEffect = 1, ;
Top = 0, ;
Width = 375
*< END OBJECT: ClassLib="..\..\clase\_tx_base.vcx" BaseClass="textbox" />
ADD OBJECT 'imagine1' AS _image WITH ;
BackStyle = 0, ;
Left = 1, ;
Name = "imagine1", ;
Top = 2, ;
Visible = .F., ;
Width = 17
*< END OBJECT: ClassLib="..\..\clase\_baza.vcx" BaseClass="image" />
ADD OBJECT 'imagine2' AS _image WITH ;
BackStyle = 0, ;
Left = 18, ;
Name = "imagine2", ;
Top = 2, ;
Width = 17
*< END OBJECT: ClassLib="..\..\clase\_baza.vcx" BaseClass="image" />
ADD OBJECT 'nivel' AS _txbase WITH ;
Alignment = 3, ;
Anchor = 10, ;
ControlSource = "nivel", ;
Enabled = .F., ;
Height = 21, ;
Left = 352, ;
Name = "nivel", ;
ReadOnly = .T., ;
SpecialEffect = 1, ;
Top = 0, ;
Value = 1, ;
Visible = .F., ;
Width = 48
*< END OBJECT: ClassLib="..\..\clase\_tx_base.vcx" BaseClass="textbox" />
PROCEDURE DblClick
This.nodeClick()
ENDPROC
PROCEDURE do_aranjeaza && Aranjeaza obiectele din container in functie de nivel.
lnNivel = This.nivel.Value
This.imagine1.Left = This.nimagine1 + 15 * lnNivel
This.imagine2.Left = This.nimagine2 + 15 * lnNivel
This.explicatie.Left = This.nexplicatie + 15 * lnNivel
ENDPROC
PROCEDURE Init
Lparameters tnTip,tcExplicatie
*!* tnTip
*!* 0 - frunza
*!* 1 - inchis
*!* 2 - deschis
Local lnTip
lnTip = Nvl(tnTip,0)
With This
.ntip = lnTip
.cExplicatie = Iif(Empty(Nvl(tcExplicatie,[])),[explicatie],tcExplicatie)
Do Case
Case .ntip = 2
.imagine1.Picture = [GTV_MINUS.bmp]
.imagine1.Visible = .T.
.imagine2.Picture = [GTV_DESCHIS.bmp]
Case .ntip = 1
.imagine1.Picture = [GTV_PLUS.bmp]
.imagine1.Visible = .T.
.imagine2.Picture = [GTV_INCHIS.bmp]
Otherwise
.imagine2.Picture = [GTV_FRUNZA.bmp]
Endcase
.nimagine1 = .imagine1.Left
.nimagine2 = .imagine2.Left
.nexplicatie = .explicatie.Left
.explicatie.ControlSource = .cExplicatie
Endwith
ENDPROC
PROCEDURE nodeclick
If This.ntip <> 0
This.Parent.Parent.nodeclick()
Endif
ENDPROC
PROCEDURE explicatie.DblClick
This.Parent.nodeClick
ENDPROC
PROCEDURE imagine1.MouseDown
Lparameters nButton, nShift, nXCoord, nYCoord
If nButton=1
This.Parent.nodeClick
Endif
ENDPROC
PROCEDURE imagine2.DblClick
This.Parent.nodeClick
ENDPROC
PROCEDURE nivel.DblClick
This.Parent.nodeclick()
ENDPROC
ENDDEFINE
DEFINE CLASS gridtreeview AS _grdbase OF "..\..\clase\_grd_base.vcx"
*< CLASSDATA: Baseclass="grid" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="ColumnTV.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ColumnTV.Text1" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*m: do_initializeaza
*m: dynamic
*m: nodeclick
*p: cexplicatie && Denumirea campului care contine explicatia.
*p: cid && Denumirea campului care contine id-ul.
*p: crgbbackcolor
*p: cseparator && Caracterul / caracterele folosite ca separator pentru campul tata.
*p: ldeschise && .T. daca toate ramurile sunt deschise, .F. daca sunt inchise
*p: nrecno
*p: _memberdata && XML Metadata for customizable properties
*</DefinedPropArrayMethod>
*<PropValue>
AllowHeaderSizing = .F.
AllowRowSizing = .F.
cexplicatie =
cid =
ColumnCount = 1
crgbbackcolor = 255,255,255
cseparator =
DeleteMark = .F.
FontName = "Arial Narrow"
GridLineColor = 128,128,128
Highlight = .F.
HighlightStyle = 1
Name = "gridtreeview"
nrecno = 0
RecordMark = .F.
_memberdata = <VFPData>
<memberdata name="cexplicatie" type="Property" favorites="True"/>
<memberdata name="cid" type="Property" favorites="True"/>
<memberdata name="cseparator" type="Property" favorites="True"/>
</VFPData>
Column1.FontName = "Arial Narrow"
Column1.Name = "ColumnTV"
Column1.ReadOnly = .T.
Column1.Sparse = .F.
Column1.Width = 150
*</PropValue>
ADD OBJECT 'ColumnTV.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Header1", ;
FontName = "Arial Narrow", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'ColumnTV.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
FontName = "Arial Narrow", ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1", ;
ReadOnly = .T.
*< END OBJECT: BaseClass="textbox" />
PROCEDURE AfterRowColChange
Lparameters nColIndex
If Inlist(This.RowColChange,0,1,3)
This.nRecno=Recno(This.RecordSource)
This.Refresh
Endif
ENDPROC
PROCEDURE Destroy
lcCursor = This.RecordSource
If Used(lcCursor)
Select (lcCursor)
Set Filter To
Endif
ENDPROC
PROCEDURE do_initializeaza
*!* daca tlGridSalvat = .F., atunci salvarea se face aici
*!* daca tlGridSalvat = .T., atunci salvarea a fost facuta deja, iar tcCursor trebuie sa aiba o valoare
Lparameters tlGridSalvat,tcCursor
*!* Campuri obligatorii in cursor :
*!* id ( in this.cid )
*!* cheie ( in this.cexplicatie )
*!* nivel
*!* cale ( toata calea de la primul nod pana la tatal nodului actual separate prin this.cseparator )
*!* tip ( 0 = nod , 1 = frunza )
_Screen.LockScreen = .T.
If !tlGridSalvat
lcCursor = This.RecordSource
Else
lcCursor = tcCursor
Endif
lcColoanaExplicatie = [a.]+This.cexplicatie
lcSeparator = This.cseparator
If !tlGridSalvat
save_grid_tag(This)
Endif
Select Alltrim(Nvl(a.cale,''))+lcSeparator As crtordine,a.*,Iif(a.tip=1,"X",Iif(This.ldeschise,"D","N")) As deschis,;
IIF(This.ldeschise,.T.,Iif(a.nivel=1,.T.,.F.)) As vizibil From (lcCursor) a Order By 1 ;
INTO Cursor (lcCursor) Readwrite
Select (lcCursor)
Set Filter To vizibil
Go Top
If !tlGridSalvat
restore_grid_tag(This)
Endif
With This.columntv
.DynamicCurrentControl = ["tip"+ALLTRIM(CHRTRAN(]+lcCursor+[.deschis,"DNX","di"))]
.DynamicBackColor=[this.dynamic()]
Endwith
_Screen.LockScreen = .F.
ENDPROC
PROCEDURE dynamic
With Evaluate("this.columnTV."+ Evaluate(This.columnTV.DynamicCurrentControl))
.do_aranjeaza()
lcRgb = This.Objects(2).DynamicBackColor
*!* If Recno(This.RecordSource)=This.nRecno
*!* lcRgb = [RGB(]+Alltrim(This.crgbbackcolor)+[)]
*!* Else
*!* lcRgb = [Rgb(255,255,255)]
*!* Endif
*!* With .explicatie
*!* .BackColor = &lcRgb
*!* .Refresh()
*!* Endwith
Endwith
Return &lcRgb
ENDPROC
PROCEDURE Init
lcCursor = This.RecordSource
With This.ColumnTv
If Vartype(.text1)="O"
.RemoveObject("text1")
Endif
.AddObject("tip","element",0,This.cexplicatie)
.AddObject("tipi","element",1,This.cexplicatie)
.AddObject("tipd","element",2,This.cexplicatie)
Endwith
ENDPROC
PROCEDURE nodeclick
Local lnTip,lcCheie,lnNivel,lnNivelStop,lnNivelPrec, lnNivelMaxim
lnNivelMaxim = 50
Dimension laVizibil(lnNivelMaxim)
lcColoanaID = This.cid
*!* lcColoanaCheie = This.cexplicatie
*!* lcSeparator = This.cseparator
lnNivelStop = lnNivelMaxim
Select (This.RecordSource)
If !Empty(deschis)
Thisform.LockScreen = .T.
lnId = &lcColoanaID
*!* lcCheie = Lower(Alltrim(cale)+Alltrim(&lcColoanaCheie)+ALLTRIM(lcSeparator)+[*])
lcCheie = LOWER(ALLTRIM(crtordine)+[*])
If deschis = "D"
Replace deschis With "N"
Replace vizibil With .F. For Like(lcCheie,Lower(cale))
Else
Set Filter To
Replace deschis With "D"
laVizibil(nivel+1) = .T.
lnNivelPrec = nivel
Skip
Scan Rest For Like(lcCheie,Lower(cale))
If nivel <= lnNivelStop
lnNivelStop = lnNivelMaxim
If lnNivelPrec > nivel
For i = nivel + 1 To lnNivelPrec
laVizibil(i) = .F.
Endfor
Else
lnNivelPrec = nivel
Endif
Replace vizibil With laVizibil(nivel)
If Alltrim(deschis) = "D"
laVizibil(nivel+1) = .T.
Endif
If Alltrim(deschis) = "N"
lnNivelStop = nivel
Endif
Endif
Endscan
Endif
Set Filter To vizibil
Locate For &lcColoanaID = lnId
This.columnTV.DynamicCurrentControl=This.columnTV.DynamicCurrentControl
This.Refresh
Thisform.LockScreen = .F.
Endif
Release laVizibil
ENDPROC
ENDDEFINE