From 16c56282f55950bb3117ab0df9de217d37c5126e Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 23 Jul 2026 16:26:11 +0300 Subject: [PATCH 1/5] frm_rulaje: coloana Valoare achizitie fara TVA + coloane noi valoare achizitie cu TVA / vanzare / vanzare cu TVA Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01AShi6L9LPRYfik7ucXduNB --- clase/rulaje.vc2 | 162 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 123 insertions(+), 39 deletions(-) diff --git a/clase/rulaje.vc2 b/clase/rulaje.vc2 index 1d43e39..b743be5 100644 --- a/clase/rulaje.vc2 +++ b/clase/rulaje.vc2 @@ -385,12 +385,18 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoare.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareTva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretv.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cTvav.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cPretvtva.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareV.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareV.Text1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareVTva.Header1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cValoareVTva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Header1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cProc_tva.Text1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="pgframe.Page1.grdrulaje.cUtil.Header1" UniqueID="" Timestamp="" /> @@ -810,7 +816,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" *< END OBJECT: ClassLib="_cb_base.vcx" BaseClass="combobox" /> ADD OBJECT 'pgframe.Page1.grdrulaje' AS _grdrow WITH ; - ColumnCount = 63, ; + ColumnCount = 66, ; DeleteMark = .F., ; GridLineColor = 128,128,128, ; Height = 351, ; @@ -892,7 +898,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column10.Name = "cCont", ; Column10.ReadOnly = .T., ; Column10.Width = 46, ; - Column11.ColumnOrder = 62, ; + Column11.ColumnOrder = 65, ; Column11.ControlSource = "cod", ; Column11.FontName = "Arial", ; Column11.Name = "cCod", ; @@ -956,21 +962,21 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column19.ReadOnly = .T., ; Column19.Width = 75, ; Column20.ColumnOrder = 27, ; - Column20.ControlSource = "round((cant+cante)*(pret+tva),gnPc)", ; + Column20.ControlSource = "round((cant+cante)*pret,gnPc)", ; Column20.FontName = "Arial", ; Column20.Format = "R", ; Column20.InputMask = (get_mask(12,gnPa)), ; Column20.Name = "cValoare", ; Column20.ReadOnly = .T., ; Column20.Width = 93, ; - Column21.ColumnOrder = 29, ; + Column21.ColumnOrder = 30, ; Column21.ControlSource = "pretv", ; Column21.FontName = "Arial", ; Column21.Format = "R", ; Column21.InputMask = (get_mask(14,gnPPretV)), ; Column21.Name = "cPretv", ; Column21.ReadOnly = .T., ; - Column22.ColumnOrder = 30, ; + Column22.ColumnOrder = 31, ; Column22.ControlSource = "tvav", ; Column22.FontName = "Arial", ; Column22.Format = "R", ; @@ -978,7 +984,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column22.Name = "cTvav", ; Column22.ReadOnly = .T., ; Column22.Width = 109, ; - Column23.ColumnOrder = 31, ; + Column23.ColumnOrder = 32, ; Column23.ControlSource = "pretv+tvav", ; Column23.FontName = "Arial", ; Column23.Format = "R", ; @@ -986,7 +992,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column23.Name = "cPretvtva", ; Column23.ReadOnly = .T., ; Column23.Width = 111, ; - Column24.ColumnOrder = 32, ; + Column24.ColumnOrder = 35, ; Column24.ControlSource = "proc_tvav", ; Column24.FontName = "Arial", ; Column24.Format = "R", ; @@ -994,55 +1000,55 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column24.Name = "cProc_tva", ; Column24.ReadOnly = .T., ; Column24.Width = 54, ; - Column25.ColumnOrder = 49, ; + Column25.ColumnOrder = 52, ; Column25.ControlSource = "util", ; Column25.FontName = "Arial", ; Column25.Name = "cUtil", ; Column25.ReadOnly = .T., ; Column25.Width = 117, ; - Column26.ColumnOrder = 50, ; + Column26.ColumnOrder = 53, ; Column26.ControlSource = "dataora", ; Column26.FontName = "Arial", ; Column26.Name = "cDataora", ; Column26.ReadOnly = .T., ; Column26.Width = 112, ; - Column27.ColumnOrder = 33, ; + Column27.ColumnOrder = 36, ; Column27.ControlSource = "sectie", ; Column27.FontName = "Arial", ; Column27.Name = "cSectie", ; Column27.ReadOnly = .T., ; Column27.Width = 127, ; - Column28.ColumnOrder = 34, ; + Column28.ColumnOrder = 37, ; Column28.ControlSource = "datain", ; Column28.FontName = "Arial", ; Column28.Name = "cDatain", ; Column28.ReadOnly = .T., ; Column28.Width = 96, ; - Column29.ColumnOrder = 35, ; + Column29.ColumnOrder = 38, ; Column29.ControlSource = "dataout", ; Column29.FontName = "Arial", ; Column29.Name = "cDataOut", ; Column29.ReadOnly = .T., ; Column29.Width = 95, ; - Column30.ColumnOrder = 36, ; + Column30.ColumnOrder = 39, ; Column30.ControlSource = "nresp", ; Column30.FontName = "Arial", ; Column30.Name = "cNresp", ; Column30.ReadOnly = .T., ; Column30.Width = 137, ; - Column31.ColumnOrder = 37, ; + Column31.ColumnOrder = 40, ; Column31.ControlSource = "cgestc", ; Column31.FontName = "Arial", ; Column31.Name = "cGestC", ; Column31.ReadOnly = .T., ; Column31.Width = 127, ; - Column32.ColumnOrder = 38, ; + Column32.ColumnOrder = 41, ; Column32.ControlSource = "nrespc", ; Column32.FontName = "Arial", ; Column32.Name = "cNrespC", ; Column32.ReadOnly = .T., ; Column32.Width = 126, ; - Column33.ColumnOrder = 46, ; + Column33.ColumnOrder = 49, ; Column33.ControlSource = "tip_rulaj", ; Column33.FontName = "Arial", ; Column33.Name = "cTipRulaj", ; @@ -1060,7 +1066,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column35.Name = "Column35", ; Column35.ReadOnly = .T., ; Column35.Width = 35, ; - Column36.ColumnOrder = 39, ; + Column36.ColumnOrder = 42, ; Column36.ControlSource = "grupa", ; Column36.FontName = "Arial", ; Column36.Name = "cGrupa", ; @@ -1072,19 +1078,19 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column37.Name = "cNract", ; Column37.ReadOnly = .T., ; Column37.Width = 76, ; - Column38.ColumnOrder = 40, ; + Column38.ColumnOrder = 43, ; Column38.ControlSource = "subgrupa", ; Column38.FontName = "Arial", ; Column38.Name = "cSubgrupa", ; Column38.ReadOnly = .T., ; Column38.Width = 114, ; - Column39.ColumnOrder = 51, ; + Column39.ColumnOrder = 54, ; Column39.ControlSource = "utils", ; Column39.FontName = "Arial", ; Column39.Name = "cUtils", ; Column39.ReadOnly = .T., ; Column39.Width = 100, ; - Column40.ColumnOrder = 52, ; + Column40.ColumnOrder = 55, ; Column40.ControlSource = "dataoras", ; Column40.FontName = "Arial", ; Column40.Name = "cDataoras", ; @@ -1102,7 +1108,7 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column42.Name = "cNume_val", ; Column42.ReadOnly = .T., ; Column42.Width = 52, ; - Column43.ColumnOrder = 28, ; + Column43.ColumnOrder = 29, ; Column43.ControlSource = "round((cant+cante)*(pretd),gnPval)", ; Column43.FontName = "Arial", ; Column43.Name = "Column43", ; @@ -1113,88 +1119,88 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column44.Name = "cSerie_act", ; Column44.ReadOnly = .T., ; Column44.Width = 56, ; - Column45.ColumnOrder = 41, ; + Column45.ColumnOrder = 44, ; Column45.ControlSource = "codmatf", ; Column45.FontName = "Arial", ; Column45.Name = "cCodmatF", ; Column45.ReadOnly = .T., ; - Column46.ColumnOrder = 42, ; + Column46.ColumnOrder = 45, ; Column46.ControlSource = "lot", ; Column46.FontName = "Arial", ; Column46.Name = "cLot", ; Column46.ReadOnly = .T., ; - Column47.ColumnOrder = 43, ; + Column47.ColumnOrder = 46, ; Column47.ControlSource = "adata_expirare", ; Column47.FontName = "Arial", ; Column47.Name = "cDataExpirare", ; Column47.ReadOnly = .T., ; Column47.Width = 125, ; - Column48.ColumnOrder = 48, ; + Column48.ColumnOrder = 51, ; Column48.ControlSource = "sucursala", ; Column48.FontName = "Arial", ; Column48.Name = "cSucursala", ; Column48.ReadOnly = .T., ; Column48.Width = 146, ; - Column49.ColumnOrder = 44, ; + Column49.ColumnOrder = 47, ; Column49.ControlSource = "part_rez", ; Column49.FontName = "Arial", ; Column49.Name = "cPart_rez", ; Column49.ReadOnly = .T., ; Column49.Width = 117, ; - Column50.ColumnOrder = 45, ; + Column50.ColumnOrder = 48, ; Column50.ControlSource = "nrord_rez", ; Column50.FontName = "Arial", ; Column50.Name = "cNrord_rez", ; Column50.ReadOnly = .T., ; Column50.Width = 120, ; - Column51.ColumnOrder = 53, ; + Column51.ColumnOrder = 56, ; Column51.ControlSource = "id_articol", ; Column51.FontName = "Arial", ; Column51.Name = "cIdArticol", ; Column51.ReadOnly = .T., ; Column51.Width = 96, ; - Column52.ColumnOrder = 54, ; + Column52.ColumnOrder = 57, ; Column52.ControlSource = "codbare", ; Column52.FontName = "Arial", ; Column52.Name = "cCodBare", ; Column52.ReadOnly = .T., ; Column52.Width = 130, ; - Column53.ColumnOrder = 55, ; + Column53.ColumnOrder = 58, ; Column53.ControlSource = "furnizor", ; Column53.FontName = "Arial", ; Column53.Name = "cFurnizor", ; Column53.ReadOnly = .T., ; Column53.Width = 186, ; - Column54.ColumnOrder = 56, ; + Column54.ColumnOrder = 59, ; Column54.ControlSource = "id_furnizor", ; Column54.FontName = "Arial", ; Column54.Name = "cIdFurnizor", ; Column54.ReadOnly = .T., ; - Column55.ColumnOrder = 57, ; + Column55.ColumnOrder = 60, ; Column55.ControlSource = "codnc8", ; Column55.Name = "cCodNC8", ; Column55.ReadOnly = .T., ; Column55.Width = 159, ; - Column56.ColumnOrder = 58, ; + Column56.ColumnOrder = 61, ; Column56.ControlSource = "greutate", ; Column56.Name = "cGreutate", ; Column56.ReadOnly = .T., ; - Column57.ColumnOrder = 59, ; + Column57.ColumnOrder = 62, ; Column57.ControlSource = "tara_origine", ; Column57.Name = "cTaraOrigine", ; Column57.ReadOnly = .T., ; Column57.Width = 167, ; - Column58.ColumnOrder = 60, ; + Column58.ColumnOrder = 63, ; Column58.ControlSource = "explicatie_tva", ; Column58.Name = "cExplicatieTVA", ; Column58.ReadOnly = .T., ; Column58.Width = 146, ; - Column59.ColumnOrder = 61, ; + Column59.ColumnOrder = 64, ; Column59.ControlSource = "taxname", ; Column59.Name = "cTaxName", ; Column59.ReadOnly = .T., ; Column59.Width = 156, ; - Column60.ColumnOrder = 47, ; + Column60.ColumnOrder = 50, ; Column60.ControlSource = "id_set", ; Column60.Name = "cIdSet", ; Column60.ReadOnly = .T., ; @@ -1211,10 +1217,34 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" Column62.ReadOnly = .F., ; Column62.Sparse = .F., ; Column62.Width = 28, ; - Column63.ColumnOrder = 63, ; + Column63.ColumnOrder = 66, ; Column63.ControlSource = "id_fact", ; Column63.Name = "cIdFact", ; - Column63.ReadOnly = .T. + Column63.ReadOnly = .T., ; + Column64.ColumnOrder = 28, ; + Column64.ControlSource = "round((cant+cante)*(pret+tva),gnPc)", ; + Column64.FontName = "Arial", ; + Column64.Format = "R", ; + Column64.InputMask = (get_mask(12,gnPa)), ; + Column64.Name = "cValoareTva", ; + Column64.ReadOnly = .T., ; + Column64.Width = 93, ; + Column65.ColumnOrder = 33, ; + Column65.ControlSource = "round((cant+cante)*pretv,gnPc)", ; + Column65.FontName = "Arial", ; + Column65.Format = "R", ; + Column65.InputMask = (get_mask(12,gnPa)), ; + Column65.Name = "cValoareV", ; + Column65.ReadOnly = .T., ; + Column65.Width = 93, ; + Column66.ColumnOrder = 34, ; + Column66.ControlSource = "round((cant+cante)*(pretv+tvav),gnPc)", ; + Column66.FontName = "Arial", ; + Column66.Format = "R", ; + Column66.InputMask = (get_mask(12,gnPa)), ; + Column66.Name = "cValoareVTva", ; + Column66.ReadOnly = .T., ; + Column66.Width = 100 *< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" /> ADD OBJECT 'pgframe.Page1.grdrulaje.cAcont.Header1' AS header WITH ; @@ -2341,6 +2371,60 @@ DEFINE CLASS frm_rulaje AS _frmbase OF "_frm_base.vcx" SelectedBackColor = 100,185,255 *< END OBJECT: BaseClass="textbox" /> + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare achizitie cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareV.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareV.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareVTva.Header1' AS header WITH ; + Alignment = 2, ; + Caption = "Valoare vanzare cu TVA", ; + FontSize = 10, ; + Name = "Header1" + *< END OBJECT: BaseClass="header" /> + + ADD OBJECT 'pgframe.Page1.grdrulaje.cValoareVTva.Text1' AS textbox WITH ; + BackColor = 255,255,255, ; + BorderStyle = 0, ; + FontName = "Arial", ; + ForeColor = 0,0,0, ; + Margin = 0, ; + Name = "Text1", ; + ReadOnly = .T., ; + SelectedBackColor = 100,185,255 + *< END OBJECT: BaseClass="textbox" /> + ADD OBJECT 'pgframe.Page1.Label1' AS _label WITH ; Anchor = 9, ; AutoSize = .T., ; From cafe03fdb3861b1be130de6c26b8319203262919 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 23 Jul 2026 17:19:44 +0300 Subject: [PATCH 2/5] reguli --- docs/reguli_lucru.md | 4 +++- docs/scripturi-migrare-db.md | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 docs/scripturi-migrare-db.md diff --git a/docs/reguli_lucru.md b/docs/reguli_lucru.md index 4412e9c..e7462e5 100644 --- a/docs/reguli_lucru.md +++ b/docs/reguli_lucru.md @@ -23,4 +23,6 @@ - scrii cod cu `GO` pe un `Recno()` capturat sau primit ca parametru -> `conventie_go_recno.md`; - `ALTER TABLE` pe cursorul intors de `goExecutor.oExecute()` -> `conventie_goexecutor_alter_table.md`; - testare UI / prin MCP -> `testare-ui-vfp.md`, `testare-vfp-mcp.md`; - - export date din Oracle -> `oracle_export.md`. + - export date din Oracle -> `oracle_export.md`; + - modifici schema Oracle (tabele/view-uri/pachete) -> `scripturi-migrare-db.md` + (unde stau scripturile de migrare si modelele pentru scripturi noi). diff --git a/docs/scripturi-migrare-db.md b/docs/scripturi-migrare-db.md new file mode 100644 index 0000000..c93332f --- /dev/null +++ b/docs/scripturi-migrare-db.md @@ -0,0 +1,7 @@ +# Scripturi migrare baza de date Oracle + +Scripturile de migrare a schemei (si modelele pentru scripturi noi) sunt in +`DATABASE\SCRIPTURI_CLAR` de sub radacina suitei ROA (folderul parinte al aplicatiei, +`gcDirMare`/`dirgen` — ex. `D:\ROA\DATABASE\SCRIPTURI_CLAR`). +Sursa SVN: `http://svnroa:3001/svn/ROA/DATABASE/Branches/RB-1.00`. +Pentru un script nou, urmeaza formatul/conventiile celor recente de acolo. From 73992f0977db530f000a25c8994be124e7aa23c8 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 23 Jul 2026 20:16:51 +0300 Subject: [PATCH 3/5] reguli_lucru: comentarii doar la functionalitati (nu la bugfix), changelog minimal pe limba utilizatorului Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_018H9za5A9Tk6wcLFof6seds --- docs/reguli_lucru.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/reguli_lucru.md b/docs/reguli_lucru.md index e7462e5..e29738c 100644 --- a/docs/reguli_lucru.md +++ b/docs/reguli_lucru.md @@ -3,8 +3,11 @@ 1. Modificari de cod: livreaza FISIER de diff `docs\diff_runda_.patch` (`git diff --no-index `), nu diff in terminal. Write-back in binar (txt2vcx) si commit DOAR dupa aprobarea patch-ului de catre utilizator. -2. Comentarii in cod: max o linie `*!* DD.MM.YYYY autor - motiv scurt`. +2. Comentarii in cod: max o linie `*!* DD.MM.YYYY autor - motiv scurt`, DOAR la + functionalitati noi/schimbate. La rezolvari de erori NU se adauga comentarii. Explicatiile merg in docs/ sau in mesajul de commit, nu in cod. + Changelog (`changelog_.txt`): text minimal, pe limba utilizatorului, + nu tehnic - o fraza scurta per intrare `:nou:`/`:modificare:`/`:eroare:`. 3. Modificari minime: doar ce s-a cerut; fara refactorizari sau curatenie din oficiu. 4. Testare headless (fara IDE): `vfp9.exe -A -T "" ` din PowerShell, logare cu STRTOFILE, `ON ERROR` care logheaza si continua, QUIT la final. From 9040f802e4a51d3f9db31c9546a6da857fbd30e8 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 23 Jul 2026 20:18:44 +0300 Subject: [PATCH 4/5] clase: wincrypt.h (include cerut de _crypt.vcx, copiat din ROACRYPT) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_018H9za5A9Tk6wcLFof6seds --- clase/wincrypt.h | 1092 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1092 insertions(+) create mode 100644 clase/wincrypt.h diff --git a/clase/wincrypt.h b/clase/wincrypt.h new file mode 100644 index 0000000..49cf076 --- /dev/null +++ b/clase/wincrypt.h @@ -0,0 +1,1092 @@ +#INCLUDE foxpro.h + +*** Microsoft Windows Crypt API Constansts + +*** +*** Algorithm Classes +*** +#DEFINE dnALG_CLASS_ANY 0 +#DEFINE dnALG_CLASS_SIGNATURE BITLSHIFT(1,13) +#DEFINE dnALG_CLASS_MSG_ENCRYPT BITLSHIFT(2,13) +#DEFINE dnALG_CLASS_DATA_ENCRYPT BITLSHIFT(3,13) +#DEFINE dnALG_CLASS_HASH BITLSHIFT(4,13) +#DEFINE dnALG_CLASS_KEY_EXCHANGE BITLSHIFT(5,13) + +*** +*** Algorithm Types +*** +#DEFINE dnALG_TYPE_ANY 0 +#DEFINE dnALG_TYPE_DSS BITLSHIFT(1,9) +#DEFINE dnALG_TYPE_RSA BITLSHIFT(2,9) +#DEFINE dnALG_TYPE_BLOCK BITLSHIFT(3,9) +#DEFINE dnALG_TYPE_STREAM BITLSHIFT(4,9) + +*** +*** Generic Sub-ID +*** +#DEFINE dnALG_SID_ANY 0 + +*** +*** Some RSA sub-ids +*** +#DEFINE dnALG_SID_RSA_ANY 0 +#DEFINE dnALG_SID_RSA_PKCS 1 +#DEFINE dnALG_SID_RSA_MSATWORK 2 +#DEFINE dnALG_SID_RSA_ENTRUST 3 +#DEFINE dnALG_SID_RSA_PGP 4 + +*** +*** Some DSS sub-ids +*** +#DEFINE dnALG_SID_DSS_ANY 0 +#DEFINE dnALG_SID_DSS_PKCS 1 +#DEFINE dnALG_SID_DSS_DMS 2 + +*** +*** Block cipher sub ids +*** DES sub_ids +*** +#DEFINE dnALG_SID_DES 1 +#DEFINE dnALG_SID_3DES 3 +#DEFINE dnALG_SID_DESX 4 +#DEFINE dnALG_SID_IDEA 5 +#DEFINE dnALG_SID_CAST 6 +#DEFINE dnALG_SID_SAFERSK64 7 +#DEFINE dnALD_SID_SAFERSK128 8 + +*** +*** KP_MODE +*** +#DEFINE dnCRYPT_MODE_CBCI 6 && ANSI CBC Interleaved +#DEFINE dnCRYPT_MODE_CFBP 7 && ANSI CFB Pipelined +#DEFINE dnCRYPT_MODE_OFBP 8 && ANSI OFB Pipelined +#DEFINE dnCRYPT_MODE_CBCOFM 9 && ANSI CBC + OF Masking +#DEFINE dnCRYPT_MODE_CBCOFMI 10 && ANSI CBC + OFM Interleaved + +*** +*** RC2 sub-ids +*** +#DEFINE dnALG_SID_RC2 2 + +*** +*** Stream cipher sub-ids +*** +#DEFINE dnALG_SID_RC4 1 +#DEFINE dnALG_SID_SEAL 2 + +*** +*** Hash sub ids +*** +#DEFINE dnALG_SID_MD2 1 +#DEFINE dnALG_SID_MD4 2 +#DEFINE dnALG_SID_MD5 3 +#DEFINE dnALG_SID_SHA 4 +#DEFINE dnALG_SID_MAC 5 +#DEFINE dnALG_SID_RIPEMD 6 +#DEFINE dnALG_SID_RIPEMD160 7 +#DEFINE dnALG_SID_SSL3SHAMD5 8 + +*** +*** algorithm identifier definitions +*** +#DEFINE dnCALG_MD2 BITOR(BITOR(dnALG_CLASS_HASH,dnALG_TYPE_ANY),dnALG_SID_MD2) +#DEFINE dnCALG_MD4 BITOR(BITOR(dnALG_CLASS_HASH,dnALG_TYPE_ANY),dnALG_SID_MD4) +#DEFINE dnCALG_MD5 BITOR(BITOR(dnALG_CLASS_HASH,dnALG_TYPE_ANY),dnALG_SID_MD5) +#DEFINE dnCALG_SHA BITOR(BITOR(dnALG_CLASS_HASH,dnALG_TYPE_ANY),dnALG_SID_SHA) +#DEFINE dnCALG_MAC BITOR(BITOR(dnALG_CLASS_HASH,dnALG_TYPE_ANY),dnALG_SID_MAC) +#DEFINE dnCALG_RSA_SIGN BITOR(BITOR(dnALG_CLASS_SIGNATURE,dnALG_TYPE_RSA),dnALG_SID_RSA_ANY) +#DEFINE dnCALG_DSS_SIGN BITOR(BITOR(dnALG_CLASS_SIGNATURE,dnALG_TYPE_DSS),dnALG_SID_DSS_ANY) +#DEFINE dnCALG_RSA_KEYX BITOR(BITOR(dnALG_CLASS_KEY_EXCHANGE,dnALG_TYPE_RSA),dnALG_SID_RSA_ANY) +#DEFINE dnCALG_DES BITOR(BITOR(dnALG_CLASS_DATA_ENCRYPT,dnALG_TYPE_BLOCK),dnALG_SID_DES) +#DEFINE dnCALG_RC2 BITOR(BITOR(dnALG_CLASS_DATA_ENCRYPT,dnALG_TYPE_BLOCK),dnALG_SID_RC2) +#DEFINE dnCALG_RC4 BITOR(BITOR(dnALG_CLASS_DATA_ENCRYPT,dnALG_TYPE_STREAM),dnALG_SID_RC4) +#DEFINE dnCALG_SEAL BITOR(BITOR(dnALG_CLASS_DATA_ENCRYPT,dnALG_TYPE_STREAM),dnALG_SID_SEAL) + +*** +*** dwFlags definitions for CryptAquireContext +*** +#DEFINE dnCRYPT_VERIFYCONTEXT 0xF0000000 +#DEFINE dnCRYPT_NEWKEYSET 0x8 +#DEFINE dnCRYPT_DELETEKEYSET 0x10 + +*** +*** dwFlag definitions for CryptGenKey +*** +#DEFINE dnCRYPT_EXPORTABLE 0x00000001 +#DEFINE dnCRYPT_USER_PROTECTED 0x00000002 +#DEFINE dnCRYPT_CREATE_SALT 0x00000004 +#DEFINE dnCRYPT_UPDATE_KEY 0x00000008 + +*** +*** exported key blob definitions +*** +#DEFINE dnSIMPLEBLOB 0x1 +#DEFINE dnPUBLICKEYBLOB 0x6 +#DEFINE dnPRIVATEKEYBLOB 0x7 + +#DEFINE dnAT_KEYEXCHANGE 1 +#DEFINE dnAT_SIGNATURE 2 + +#DEFINE dnCRYPT_USERDATA 1 + +*** +*** dwParam +*** +#DEFINE dnKP_IV 1 && Initialization vector +#DEFINE dnKP_SALT 2 && Salt value +#DEFINE dnKP_PADDING 3 && Padding values +#DEFINE dnKP_MODE 4 && Mode of the cipher +#DEFINE dnKP_MODE_BITS 5 && Number of bits to feedback +#DEFINE dnKP_PERMISSIONS 6 && Key permissions DWORD +#DEFINE dnKP_ALGID 7 && Key algorithm +#DEFINE dnKP_BLOCKLEN 8 && Block size of the cipher + +*** +*** KP_PADDING +*** +#DEFINE dnPKCS5_PADDING 1 && PKCS 5 (sec 6.2) padding method + +*** +*** KP_MODE +*** +#DEFINE dnCRYPT_MODE_CBC 1 && Cipher block chaining +#DEFINE dnCRYPT_MODE_ECB 2 && Electronic code book +#DEFINE dnCRYPT_MODE_OFB 3 && Output feedback mode +#DEFINE dnCRYPT_MODE_CFB 4 && Cipher feedback mode +#DEFINE dnCRYPT_MODE_CTS 5 && Ciphertext stealing mode + +*** +*** KP_PERMISSIONS +*** +#DEFINE dnCRYPT_ENCRYPT 0x0001 && Allow encryption +#DEFINE dnCRYPT_DECRYPT 0x0002 && Allow decryption +#DEFINE dnCRYPT_EXPORT 0x0004 && Allow key to be exported +#DEFINE dnCRYPT_READ 0x0008 && Allow parameters to be read +#DEFINE dnCRYPT_WRITE 0x0010 && Allow parameters to be set +#DEFINE dnCRYPT_MAC 0x0020 && Allow MACs to be used with key + +#DEFINE dnHP_ALGID 0x0001 && Hash algorithm +#DEFINE dnHP_HASHVAL 0x0002 && Hash value +#DEFINE dnHP_HASHSIZE 0x0004 && Hash value size + +*** +*** CryptGetProvParam +*** +#DEFINE dnPP_ENUMALGS 1 +#DEFINE dnPP_ENUMCONTAINERS 2 +#DEFINE dnPP_IMPTYPE 3 +#DEFINE dnPP_NAME 4 +#DEFINE dnPP_VERSION 5 +#DEFINE dnPP_CONTAINER 6 + +#DEFINE dnCRYPT_FIRST 1 +#DEFINE dnCRYPT_NEXT 2 + +#DEFINE dnCRYPT_IMPL_HARDWARE 1 +#DEFINE dnCRYPT_IMPL_SOFTWARE 2 +#DEFINE dnCRYPT_IMPL_MIXED 3 +#DEFINE dnCRYPT_IMPL_UNKNOWN 4 + +*** +*** CryptSetProvParam +*** +#DEFINE dnPP_CLIENT_HWND 1 + +#DEFINE dnPROV_RSA_FULL 1 +#DEFINE dnPROV_RSA_SIG 2 +#DEFINE dnPROV_DSS 3 +#DEFINE dnPROV_FORTEZZA 4 +#DEFINE dnPROV_MS_EXCHANGE 5 +#DEFINE dnPROV_SSL 6 + +*** +***STT defined Providers +*** +#DEFINE dnPROV_STT_MER 7 +#DEFINE dnPROV_STT_ACQ 8 +#DEFINE dnPROV_STT_BRND 9 +#DEFINE dnPROV_STT_ROOT 10 +#DEFINE dnPROV_STT_ISS 11 + + +#DEFINE dsMS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0" + +#DEFINE dnMAXUIDLEN 64 + +#DEFINE dnCUR_BLOB_VERSION 2 + +*** Format Message Constants (Part of Window.h) +#DEFINE dnFORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 +#DEFINE dnFORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 +#DEFINE dnFORMAT_MESSAGE_FROM_STRING 0x00000400 +#DEFINE dnFORMAT_MESSAGE_FROM_HMODULE 0x00000800 +#DEFINE dnFORMAT_MESSAGE_FROM_SYSTEM 0x00001000 +#DEFINE dnFORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 +#DEFINE dnFORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF + +#DEFINE dcCREATECRYPTKEYS_ERR_LOC 'Cryptographic Service Provider could not be found or'+chr(13)+chr(10)+'Failed to Create Key Container or'+chr(13)+chr(10)+'Failed to Create Keys in CSP Container' +#DEFINE dcB 'B' +#DEFINE dcBR 'BR' +#DEFINE dcCompleted 'Completed' +#DEFINE dcCRYPTINITIALIZE_ERR_LOC 'Crypt Service Provider Failed to Acquire' +#DEFINE dcCRYPTSIGGENKEY_ERR_LOC 'Crypt Service Provider Failed to Create an Signature Key Container' +#DEFINE dcCRYPTSIGGETKEY_ERR_LOC 'Crypt Service Provider Failed to Return an Signature Key Container' +#DEFINE dcCRYPTEXCGENKEY_ERR_LOC 'Crypt Service Provider Failed to Create an Exchange Key Container' +#DEFINE dcCRYPTEXCGETKEY_ERR_LOC 'Crypt Service Provider Failed to Return an Exchange Key Container' +#DEFINE dcCRYPTPROVTYP_ERR_LOC 'Crypt Service Provider Not Installed or Not Found' +#DEFINE dcCRYPTNEWKEYCONTAINER_ERR_LOC 'New Crypt Key Container Could not be Created' +#DEFINE dcCRYPTDELETEKEYCONTAINER_ERR_LOC 'Crypt Key Container Could not be Deleted' +#DEFINE dcCRYPTUSEKEYCONTAINER_ERR_LOC 'Crypt Key Container Could not be Opened for Use' +#DEFINE dcDecryptSessionFileParameter_ERR_LOC 'Must Enter an Encrypted File Name and a Decrypted File Name and'+chr(13)+chr(10)+'a Password'+chr(13)+chr(10)+'in a parameter of this Function' +#DEFINE dcDecryptSessionFileNoFile_ERR_LOC 'Encrypted File Could Not be Opened'+chr(13)+chr(10)+'Please Enter a File that Exists and is Not Already Open' +#DEFINE dcDecryptSessionFileExists_ERR_LOC 'Decrypted File Exists' + chr(13)+chr(10) + 'Do you wish to OverWrite it?' +#DEFINE dcDecryptSessionFileCreate_ERR_LOC 'Decrypted File Could not be Created/Overwritten' +#DEFINE dcDecryptSessionFileWrite_ERR_LOC 'Error Occured During Write of Decryption File' +#DEFINE dcDecryptSessionFileComplete_LOC 'File Decryption Completed' +#DEFINE dcEmpty '' +#DEFINE dcEncryptSessionFileParameter_ERR_LOC 'Must Enter a Decrypted File Name and an Encrypted File Name and'+chr(13)+chr(10)+'a Password'+chr(13)+chr(10)+'in a parameter of this Function' +#DEFINE dcEncryptSessionFileNoFile_ERR_LOC 'Decrypted File Could Not be Opened'+chr(13)+chr(10)+'Please Enter a File that Exists and is Not Already Open' +#DEFINE dcEncryptSessionFileExists_ERR_LOC 'Encrypted File Exists' + chr(13)+chr(10) + 'Do you wish to OverWrite it?' +#DEFINE dcEncryptSessionFileCreate_ERR_LOC 'Encrypted File Could not be Created/Overwritten' +#DEFINE dcEncryptSessionFileWrite_ERR_LOC 'Error Occured During Write of Encryption File' +#DEFINE dcEncryptSessionFileComplete_LOC 'File Encryption Completed' +#DEFINE dcError 'ERROR' +#DEFINE dcErrorCode 'Error Facility - ' +#DEFINE dcErrorFacility 'Error Facility - ' +#DEFINE dcErrorIn 'Error in ' +#DEFINE dcErrorSeverity 'Error Severity - ' +#DEFINE dcErrorSigningData 'Error Signing Data' +#DEFINE dcFileExists 'File Exists' +#DEFINE dcFOXPRO_APP 'FOXPRO_APP' +#DEFINE dcgetcryptsessionkeyhandleparam 'B,S,BR,SR' +#DEFINE dcgetcryptsessionkeyhandleERR_LOC " must be called with parameter picType = 'B' or 'S' or 'BR' or 'SR'" +#DEFINE dcSignFileParamter_ERR_LOC 'Must Enter a Signature Reference, a Decrypted File Name, and'+chr(13)+chr(10)+'a password'+chr(13)+chr(10)+'as a parameter to This Function' +#DEFINE dcSignFileDecryptedFile_ERR_LOC 'Decrypted File Could not be Opened' +#DEFINE dcSignFileHashObjcet_ERR_LOC 'Error Creating Hash Object for Signature' +#DEFINE dcSignFileHashing_ERR_LOC 'Error Hashing Data' +#DEFINE dcS 'S' +#DEFINE dcSR 'SR' + +************************************************************************************ +************************************************************************************ +** ** +** ================ =========== ** +** == === == == ** +** == = == == ** +** == == == ** +** == === ===== ===== == == === ==== === ** +** ===== == == == == ========= == == == == == ** +** == == == == == == === == == ** +** == == == === == == == == ** +** == == == == == == == == == ** +** == == == == == == == == == ** +** ======= === ===== ==== ====== ====== === ** +** ** +************************************************************************************ +************************************************************************************ + +************************************************************************************ +************************************************************************************ +** ** +** Visual FoxPro Named Constant File ** +** This file contains named constants for most Visual FoxPro functions ** +** ** +************************************************************************************ +************************************************************************************ + +*-- General +*--ZOrder Method +#DEFINE ZORDER_BRINGTOFRONT 0 +#DEFINE ZORDER_SENDTOBACK 1 + +*-- TYPE() tags +#DEFINE T_CHARACTER "C" +#DEFINE T_NUMERIC "N" +#DEFINE T_DOUBLE "B" +#DEFINE T_DATE "D" +#DEFINE T_DATETIME "T" +#DEFINE T_MEMO "M" +#DEFINE T_GENERAL "G" +#DEFINE T_OBJECT "O" +#DEFINE T_SCREEN "S" +#DEFINE T_LOGICAL "L" +#DEFINE T_CURRENCY "Y" +#DEFINE T_UNDEFINED "U" +#DEFINE T_INTEGER "N" +#DEFINE T_VARCHAR "C" +#DEFINE T_VARBINARY "Q" +#DEFINE T_BLOB "W" + +*-- QueryUnload +#DEFINE FORM_CONTROLMENU 0 +#DEFINE FORM_CODE 1 +#DEFINE APP_WINDOWS 2 +#DEFINE APP_TASKMANAGER 3 +#DEFINE FORM_MDIFORM 4 + +*-- Columns in array returned by AVCXCLASSES() +#DEFINE AVCX_CLASS 1 && OBJNAME field +#DEFINE AVCX_BASECLASS 2 && BASECLASS field +#DEFINE AVCX_PARENTCLASS 3 && CLASS field +#DEFINE AVCX_PARENTCLASSLIB 4 && CLASSLOC field +#DEFINE AVCX_CLASSICON 5 && RESERVED4 field +#DEFINE AVCX_CONTAINERICON 6 && RESERVED5 field +#DEFINE AVCX_SCALEMODE 7 && RESERVED6 field +#DEFINE AVCX_CLASSDESCRIPTION 8 && RESERVED7 field +#DEFINE AVCX_INCLUDEFILE 9 && RESERVED8 field +#DEFINE AVCX_USERINFO 10 && USER field +#DEFINE AVCX_OLEPUBLIC 11 && RESERVED2 field + + +*-- Active Document +*-- CommandTargetQuery Command Options +#DEFINE CMDF_NOTSUPPORTED 0 && The command is not supported by this object +#DEFINE CMDF_SUPPORTED 1 && The command is supported by this object +#DEFINE CMDF_ENABLED 2 && The command is available and enabled +#DEFINE CMDF_LATCHED 4 && The command is an on-off toggle and is currently on +#DEFINE CMDF_NINCHED 8 && The command state is indeterminate + +*-- CommandTargetQuery CommandTextFlag values +#DEFINE CMDTEXTF_NONE 0 && No extra information is requested +#DEFINE CMDTEXTF_NAME 1 && Object should provide the localized name of the command +#DEFINE CMDTEXTF_STATUS 2 && Object should provide a localized status string for the command + +*-- CommandTarget Command IDs +#DEFINE CMDID_OPEN 1 && File menu, Open command +#DEFINE CMDID_NEW 2 && File menu, New command +#DEFINE CMDID_SAVE 3 && File menu, Save command +#DEFINE CMDID_SAVEAS 4 && File menu, Save As command +#DEFINE CMDID_SAVECOPYAS 5 && File menu, Save Copy As command +#DEFINE CMDID_PRINT 6 && File menu, Print command +#DEFINE CMDID_PRINTPREVIEW 7 && File menu, Print Preview command +#DEFINE CMDID_PAGESETUP 8 && File menu, Page Setup command +#DEFINE CMDID_SPELL 9 && Tools menu, Spelling command +#DEFINE CMDID_PROPERTIES 10 && File menu, Properties command +#DEFINE CMDID_CUT 11 && Edit menu, Cut command (from Host) +#DEFINE CMDID_COPY 12 && Edit menu, Copy command (from Host) +#DEFINE CMDID_PASTE 13 && Edit menu, Paste command (from Host) +#DEFINE CMDID_PASTESPECIAL 14 && Edit menu, Paste Special command (from Host) +#DEFINE CMDID_UNDO 15 && Edit menu, Undo command (from Host) +#DEFINE CMDID_REDO 16 && Edit menu, Redo command (from Host) +#DEFINE CMDID_SELECTALL 17 && Edit menu, Select All command (from Host) +#DEFINE CMDID_CLEARSELECTION 18 && Edit menu, Clear command (from Host) +#DEFINE CMDID_ZOOM 19 && View menu, Zoom command +#DEFINE CMDID_GETZOOMRANGE 20 && Retrieves zoom range applicable to View Zoom +#DEFINE CMDID_UPDATECOMMANDS 21 && Informs the Active Document of state changes +#DEFINE CMDID_REFRESH 22 && Asks the Active Document to refresh its display +#DEFINE CMDID_STOP 23 && Asks the Active Document to stop all current processing +#DEFINE CMDID_HIDETOOLBARS 24 && Asks the Active Document to hide its toolbars +#DEFINE CMDID_SETPROGRESSMAX 25 && Sets the maximum value of a progress indicator +#DEFINE CMDID_SETPROGRESSPOS 26 && Sets the current value of a progress indicator +#DEFINE CMDID_SETPROGRESSTEXT 27 && Sets the text contained in a progress indicator +#DEFINE CMDID_SETTITLE 28 && Sets the title bar text +#DEFINE CMDID_SETDOWNLOADSTATE 29 && Sent by host when its download state changes +#DEFINE CMDID_STOPDOWNLOAD 30 && Stops the download when executed +#DEFINE CMDID_ONTOOLBARACTIVATED 31 && One of the container's toolbars has received the focus +#DEFINE CMDID_ENABLE_INTERACTION 36 && Asks the Active Document to either pause or resume multimedia +#DEFINE CMDID_ONUNLOAD 37 && Sent by the Active Document host before navigation to another + && site is initiated or the host is closed + +*-- CommantTargetExec nExecOption parameter +#DEFINE CMDEXECOPT_DODEFAULT 0 && Use the default behavior +#DEFINE CMDEXECOPT_PROMPTUSER 1 && Execute the command after obtaining user input +#DEFINE CMDEXECOPT_DONTPROMPTUSER 2 && Execute the command without prompting the user +#DEFINE CMDEXECOPT_SHOWHELP 3 && Show help for the corresponding command + +*-- CommandTargetExec Return Values +#DEFINE CMD_OK 0 && Command handled okay by the Active Document +#DEFINE CMD_NOTSUPPORTED 1 && Command is not supported by the Active Document +#DEFINE CMD_DISABLED 2 && Command is disabled for the Active Document +#DEFINE CMD_NOHELP 3 && No help is available for the command from the Active Document +#DEFINE CMD_CANCELED 4 && The user canceled the execution of the command + + +*-- Project Hooks +*-- Build Actions +#DEFINE BUILDACTION_REBUILD 1 && Rebuild Project +#DEFINE BUILDACTION_BUILDAPP 2 && Build APP +#DEFINE BUILDACTION_BUILDEXE 3 && Build EXE +#DEFINE BUILDACTION_BUILDDLL 4 && Build DLL +#DEFINE BUILDACTION_BUILDMTDLL 5 && Build MTDLL + +*-- File Object SCCStatus Property +#DEFINE SCCFILE_NOTCONTROLLED 0 && File is not source controlled +#DEFINE SCCFILE_NOTCHECKEDOUT 1 && File is controlled but not checked out to anyone +#DEFINE SCCFILE_CHECKEDOUTCU 2 && File is checked out to the current user only +#DEFINE SCCFILE_CHECKEDOUTOU 3 && File is checked out to someone other than the current user +#DEFINE SCCFILE_MERGECONFLICT 4 && File has a merge conflict +#DEFINE SCCFILE_MERGE 5 && File has been merged without conflict +#DEFINE SCCFILE_CHECKEDOUTMU 6 && File is checked out to multiple users + +*-- File Object Type Property +#DEFINE FILETYPE_DATABASE "d" && Database (.DBC) +#DEFINE FILETYPE_FREETABLE "D" && Free table (.DBF) +#DEFINE FILETYPE_QUERY "Q" && Query (.QPR) +#DEFINE FILETYPE_FORM "K" && Form (.SCX) +#DEFINE FILETYPE_REPORT "R" && Report (.FRX) +#DEFINE FILETYPE_LABEL "B" && Label (.LBX) +#DEFINE FILETYPE_CLASSLIB "V" && Class Library (.VCX) +#DEFINE FILETYPE_PROGRAM "P" && Program (.PRG) +#DEFINE FILETYPE_APILIB "L" && API Library (.FLL) +#DEFINE FILETYPE_APPLICATION "Z" && Application (.APP) +#DEFINE FILETYPE_MENU "M" && Menu (.MNX) +#DEFINE FILETYPE_TEXT "T" && Text (.TXT, .H., etc.) +#DEFINE FILETYPE_OTHER "x" && Other file types not enumerated above + +*-- Server Object Instancing Property +#DEFINE SERVERINSTANCE_NOTCREATABLE 0 && Instances creatable only inside Visual FoxPro +#DEFINE SERVERINSTANCE_SINGLEUSE 1 && Single use server +#DEFINE SERVERINSTANCE_MULTIUSE 2 && Multi-use server + + +*-- Drag and Drop +*-- OLE Drag and Drop: Drop Effects +#DEFINE DROPEFFECT_NONE 0 +#DEFINE DROPEFFECT_COPY 1 +#DEFINE DROPEFFECT_MOVE 2 +#DEFINE DROPEFFECT_LINK 4 + +*-- OLE Drag and Drop: Drop Modes +#DEFINE DROP_DISABLED 0 +#DEFINE DROP_ENABLED 1 +#DEFINE DROP_PASSTOCONTAINER 2 + +*-- OLE Drag and Drop: OLEDropHasData settings +#DEFINE DROPHASDATA_VFPDETERMINE -1 +#DEFINE DROPHASDATA_NOTUSEFUL 0 +#DEFINE DROPHASDATA_USEFUL 1 + +*-- Clipboard formats (Global) +#DEFINE CF_TEXT 1 && Text +#DEFINE CF_BITMAP 2 && Bitmap +#DEFINE CF_METAFILEPICT 3 && Handle of a metafile picture format +#DEFINE CF_SYLK 4 && Microsoft Symbolic Link format +#DEFINE CF_DIF 5 && Software Arts' Data Interchange Format +#DEFINE CF_TIFF 6 && Tagged-image file format +#DEFINE CF_OEMTEXT 7 && Text format containing characters in the OEM character set +#DEFINE CF_DIB 8 && Device-independent bitmap +#DEFINE CF_PALETTE 9 && Handle of a color palette +#DEFINE CF_PENDATA 10 && Data for the pen extensions to the Microsoft Windows for Pen Computing +#DEFINE CF_RIFF 11 && Represents complex audio data +#DEFINE CF_WAVE 12 && Audio data in one of the standard wave formats +#DEFINE CF_UNICODETEXT 13 && Windows NT only: Unicode text format +#DEFINE CF_ENHMETAFILE 14 && A handle of an enhanced metafile +#DEFINE CF_FILES 15 && A list of files +#DEFINE CF_HDROP 15 && A list of files +#DEFINE CF_LOCALE 16 && A handle to the locale identifier +#DEFINE CF_MAX 17 + +*-- Other Miscellaneous Clipboard formats +#DEFINE CFSTR_HYPERLINK "Hyperlink" && A Hyperlink +#DEFINE CFSTR_BIFF "Biff" && Microsoft Excel version 2.x +#DEFINE CFSTR_BIFF3 "Biff3" && Microsoft Excel version 3.0 +#DEFINE CFSTR_BIFF4 "Biff4" && Microsoft Excel version 4.0 +#DEFINE CFSTR_BIFF5 "Biff5" && Microsoft Excel version 5.0 +#DEFINE CFSTR_BIFF7 "Biff7" && Microsoft Excel version 7.0 +#DEFINE CFSTR_BIFF8 "Biff8" && Microsoft Excel version 8.0 +#DEFINE CFSTR_XLTABLE "XlTable" && Microsoft Excel fast table format. +#DEFINE CFSTR_CSV "CSV" && Comma separated values +#DEFINE CFSTR_WK1 "Wk1" && Lotus 1-2-3 Release 2.01 and Release 2.2 format +#DEFINE CFSTR_URL "UniformResourceLocator" && URL + +#DEFINE CFSTR_RTF "Rich Text Format" +#DEFINE CFSTR_RTFNOOBJS "Rich Text Format Without Objects" +#DEFINE CFSTR_RETEXTOBJ "RichEdit Text and Objects" + +*-- Clipboard formats (Private to VFP) +#DEFINE CFSTR_OLEVARIANTARRAY "OLE Variant Array" && VFP array +#DEFINE CFSTR_OLEVARIANT "OLE Variant" && Data in variant form +#DEFINE CFSTR_VFPSOURCEOBJECT "VFP Source Object" && A reference to the VFP source object + +*-- DragMode +#DEFINE DRAG_MANUAL 0 && 0 - Manual +#DEFINE DRAG_AUTOMATIC 1 && 1 - Automatic + +*-- DragOver +#DEFINE DRAG_ENTER 0 +#DEFINE DRAG_LEAVE 1 +#DEFINE DRAG_OVER 2 + +*-- Drag (controls) +#DEFINE DRAG_CANCEL 0 +#DEFINE DRAG_BEGIN 1 +#DEFINE DRAG_END 2 + + +*-- Properties +*-- Colors +#DEFINE COLOR_WHITE 16777215 +#DEFINE COLOR_BLACK 0 +#DEFINE COLOR_GRAY 12632256 +#DEFINE COLOR_DARK_GRAY 8421504 +#DEFINE COLOR_RED 255 +#DEFINE COLOR_DARK_BLUE 8388608 +#DEFINE COLOR_CYAN 16776960 +#DEFINE COLOR_DARK_CYAN 8421376 +#DEFINE COLOR_GREEN 65280 +#DEFINE COLOR_DARK_GREEN 32768 +#DEFINE COLOR_YELLOW 65535 +#DEFINE COLOR_DARK_YELLOW 32896 +#DEFINE COLOR_BLUE 16711680 +#DEFINE COLOR_DARK_RED 128 +#DEFINE COLOR_MAGENTA 16711935 +#DEFINE COLOR_DARK_MAGENTA 8388736 + +*-- MousePointer +#DEFINE MOUSE_DEFAULT 0 && 0 - Default +#DEFINE MOUSE_ARROW 1 && 1 - Arrow +#DEFINE MOUSE_CROSSHAIR 2 && 2 - Cross +#DEFINE MOUSE_IBEAM 3 && 3 - I-Beam +#DEFINE MOUSE_ICON_POINTER 4 && 4 - Icon +#DEFINE MOUSE_SIZE_POINTER 5 && 5 - Size +#DEFINE MOUSE_SIZE_NE_SW 6 && 6 - Size NE SW +#DEFINE MOUSE_SIZE_N_S 7 && 7 - Size N S +#DEFINE MOUSE_SIZE_NW_SE 8 && 8 - Size NW SE +#DEFINE MOUSE_SIZE_W_E 9 && 9 - Size W E +#DEFINE MOUSE_UP_ARROW 10 && 10 - Up Arrow +#DEFINE MOUSE_HOURGLASS 11 && 11 - Hourglass +#DEFINE MOUSE_NO_DROP 12 && 12 - No drop +#DEFINE MOUSE_HIDE_POINTER 13 && 13 - Hide Pointer +#DEFINE MOUSE_ARROW2 14 && 14 - Arrow +#DEFINE MOUSE_CUSTOM 99 && 99 - Custom + +*-- ScrollBars +#DEFINE SCROLLBARS_NONE 0 && 0 - None (Default) +#DEFINE SCROLLBARS_HORIZONTAL 1 && 1 - Horizontal +#DEFINE SCROLLBARS_VERTICAL 2 && 2 - Vertical +#DEFINE SCROLLBARS_BOTH 3 && 3 - Both + +*-- DrawMode +#DEFINE DRAWMODE_BLACKNESS 1 && 1 - Blackness +#DEFINE DRAWMODE_NOT_MERGE_PEN 2 && 2 - Not Merge Pen +#DEFINE DRAWMODE_MASK_NOT_PEN 3 && 3 - Mask Not Pen +#DEFINE DRAWMODE_NOT_COPY_PEN 4 && 4 - Not Copy Pen +#DEFINE DRAWMODE_MASK_PEN_NOT 5 && 5 - Mask Pen Not +#DEFINE DRAWMODE_INVERT 6 && 6 - Invert +#DEFINE DRAWMODE_XOR_PEN 7 && 7 - Xor Pen +#DEFINE DRAWMODE_NOT_MASK_PEN 8 && 8 - Not Mask Pen +#DEFINE DRAWMODE_MASK_PEN 9 && 9 - Mask Pen +#DEFINE DRAWMODE_NOT_XOR_PEN 10 && 10 - Not Xor Pen +#DEFINE DRAWMODE_NOP 11 && 11 - Nop +#DEFINE DRAWMODE_MERGE_NOT_PEN 12 && 12 - Merge Not Pen +#DEFINE DRAWMODE_COPY_PEN 13 && 13 - Copy Pen +#DEFINE DRAWMODE_MERGE_PEN_NOT 14 && 14 - Merge Pen Not +#DEFINE DRAWMODE_MERGE_PEN 15 && 15 - Merge Pen +#DEFINE DRAWMODE_WHITENESS 16 && 16 - Whiteness + +*-- DrawStyle +#DEFINE DRAWSTYLE_SOLID 0 && 0 - Solid +#DEFINE DRAWSTYLE_DASH 1 && 1 - Dash +#DEFINE DRAWSTYLE_DOT 2 && 2 - Dot +#DEFINE DRAWSTYLE_DASH_DOT 3 && 3 - Dash-Dot +#DEFINE DRAWSTYLE_DASH_DOT_DOT 4 && 4 - Dash-Dot-Dot +#DEFINE DRAWSTYLE_INVISIBLE 5 && 5 - Invisible +#DEFINE DRAWSTYLE_INSIDE_SOLID 6 && 6 - Inside Solid + +*-- FillStyle +#DEFINE FILLSTYLE_SOLID 0 && 0 - Solid +#DEFINE FILLSTYLE_TRANSPARENT 1 && 1 - Transparent +#DEFINE FILLSTYLE_HORIZONTAL_LINE 2 && 2 - Horizontal Line +#DEFINE FILLSTYLE_VERTICAL_LINE 3 && 3 - Vertical Line +#DEFINE FILLSTYLE_UPWARD_DIAGONAL 4 && 4 - Upward Diagonal +#DEFINE FILLSTYLE_DOWNWARD_DIAGONAL 5 && 5 - Downward Diagonal +#DEFINE FILLSTYLE_CROSS 6 && 6 - Cross +#DEFINE FILLSTYLE_DIAGONAL_CROSS 7 && 7 - Diagonal Cross + +*-- ScaleMode +#DEFINE SCALEMODE_PIXELS 3 && 3 - Pixel +#DEFINE SCALEMODE_FOXELS 0 && 0 - Foxels + +*-- WindowState +#DEFINE WINDOWSTATE_NORMAL 0 && 0 - Normal +#DEFINE WINDOWSTATE_MINIMIZED 1 && 1 - Minimized +#DEFINE WINDOWSTATE_MAXIMIZED 2 && 2 - Maximized + +*-- Window Borders +#DEFINE BORDER_NONE 0 +#DEFINE BORDER_SINGLE 1 +#DEFINE BORDER_DOUBLE 2 +#DEFINE BORDER_SYSTEM 3 + +*-- Toolbar and Form Docking Positions +#DEFINE TOOL_NOTDOCKED -1 +#DEFINE TOOL_TOP 0 +#DEFINE TOOL_LEFT 1 +#DEFINE TOOL_RIGHT 2 +#DEFINE TOOL_BOTTOM 3 +#DEFINE TOOL_TAB 4 +#DEFINE TOOL_LINK 5 + +*-- Button parameter masks +#DEFINE BUTTON_LEFT 1 +#DEFINE BUTTON_RIGHT 2 +#DEFINE BUTTON_MIDDLE 4 + +*-- Function Parameters +*-- MessageBox parameters +#DEFINE MB_OK 0 && OK button only +#DEFINE MB_OKCANCEL 1 && OK and Cancel buttons +#DEFINE MB_ABORTRETRYIGNORE 2 && Abort, Retry, and Ignore buttons +#DEFINE MB_YESNOCANCEL 3 && Yes, No, and Cancel buttons +#DEFINE MB_YESNO 4 && Yes and No buttons +#DEFINE MB_RETRYCANCEL 5 && Retry and Cancel buttons + +#DEFINE MB_ICONSTOP 16 && Critical message +#DEFINE MB_ICONQUESTION 32 && Warning query +#DEFINE MB_ICONEXCLAMATION 48 && Warning message +#DEFINE MB_ICONINFORMATION 64 && Information message + +#DEFINE MB_APPLMODAL 0 && Application modal message box +#DEFINE MB_DEFBUTTON1 0 && First button is default +#DEFINE MB_DEFBUTTON2 256 && Second button is default +#DEFINE MB_DEFBUTTON3 512 && Third button is default +#DEFINE MB_SYSTEMMODAL 4096 && System Modal + +*-- MsgBox return values +#DEFINE IDOK 1 && OK button pressed +#DEFINE IDCANCEL 2 && Cancel button pressed +#DEFINE IDABORT 3 && Abort button pressed +#DEFINE IDRETRY 4 && Retry button pressed +#DEFINE IDIGNORE 5 && Ignore button pressed +#DEFINE IDYES 6 && Yes button pressed +#DEFINE IDNO 7 && No button pressed +#DEFINE IDTIMEOUT -1 && Timeout occurs + + +*-- Low Level File Constants +#DEFINE F_READONLY 0 +#DEFINE F_WRITEONLY 1 +#DEFINE F_READWRITE 2 +#DEFINE F_READONLY_UNBUFF 10 +#DEFINE F_WRITEONLY_UNBUFF 11 +#DEFINE F_READWRITE_UNBUFF 12 + +*-- PRTINFO() Constants +*-- PRTINFO() Valid types to pass +#DEFINE PRT_ORIENTATION 1 +#DEFINE PRT_PAPERSIZE 2 +#DEFINE PRT_PAPERLENGTH 3 +#DEFINE PRT_PAPERWIDTH 4 +#DEFINE PRT_SCALE 5 +#DEFINE PRT_COPIES 6 +#DEFINE PRT_DEFASOURCE 7 +#DEFINE PRT_PRINTQUAL 8 +#DEFINE PRT_COLOR 9 +#DEFINE PRT_DUPLEX 10 +#DEFINE PRT_YRESOLUTION 11 +#DEFINE PRT_TTOPTION 12 +#DEFINE PRT_COLLATE 13 + +*--PRTINFO() Return types +*-- Paper sizes +#define PRTPAPER_LETTER 1 && Letter 8 1/2 x 11 in +#define PRTPAPER_LETTERSMALL 2 && Letter Small 8 1/2 x 11 in +#define PRTPAPER_TABLOID 3 && Tabloid 11 x 17 in +#define PRTPAPER_LEDGER 4 && Ledger 17 x 11 in +#define PRTPAPER_LEGAL 5 && Legal 8 1/2 x 14 in +#define PRTPAPER_STATEMENT 6 && Statement 5 1/2 x 8 1/2 in +#define PRTPAPER_EXECUTIVE 7 && Executive 7 1/4 x 10 1/2 in +#define PRTPAPER_A3 8 && A3 297 x 420 mm +#define PRTPAPER_A4 9 && A4 210 x 297 mm +#define PRTPAPER_A4SMALL 10 && A4 Small 210 x 297 mm +#define PRTPAPER_A5 11 && A5 148 x 210 mm +#define PRTPAPER_B4 12 && B4 250 x 354 +#define PRTPAPER_B5 13 && B5 182 x 257 mm +#define PRTPAPER_FOLIO 14 && Folio 8 1/2 x 13 in +#define PRTPAPER_QUARTO 15 && Quarto 215 x 275 mm +#define PRTPAPER_10X14 16 && 10x14 in +#define PRTPAPER_11X17 17 && 11x17 in +#define PRTPAPER_NOTE 18 && Note 8 1/2 x 11 in +#define PRTPAPER_ENV_9 19 && Envelope #9 3 7/8 x 8 7/8 +#define PRTPAPER_ENV_10 20 && Envelope #10 4 1/8 x 9 1/2 +#define PRTPAPER_ENV_11 21 && Envelope #11 4 1/2 x 10 3/8 +#define PRTPAPER_ENV_12 22 && Envelope #12 4 \276 x 11 +#define PRTPAPER_ENV_14 23 && Envelope #14 5 x 11 1/2 +#define PRTPAPER_CSHEET 24 && C size sheet +#define PRTPAPER_DSHEET 25 && D size sheet +#define PRTPAPER_ESHEET 26 && E size sheet +#define PRTPAPER_ENV_DL 27 && Envelope DL 110 x 220mm +#define PRTPAPER_ENV_C5 28 && Envelope C5 162 x 229 mm +#define PRTPAPER_ENV_C3 29 && Envelope C3 324 x 458 mm +#define PRTPAPER_ENV_C4 30 && Envelope C4 229 x 324 mm +#define PRTPAPER_ENV_C6 31 && Envelope C6 114 x 162 mm +#define PRTPAPER_ENV_C65 32 && Envelope C65 114 x 229 mm +#define PRTPAPER_ENV_B4 33 && Envelope B4 250 x 353 mm +#define PRTPAPER_ENV_B5 34 && Envelope B5 176 x 250 mm +#define PRTPAPER_ENV_B6 35 && Envelope B6 176 x 125 mm +#define PRTPAPER_ENV_ITALY 36 && Envelope 110 x 230 mm +#define PRTPAPER_ENV_MONARCH 37 && Envelope Monarch 3.875 x 7.5 in +#define PRTPAPER_ENV_PERSONAL 38 && 6 3/4 Envelope 3 5/8 x 6 1/2 in +#define PRTPAPER_FANFOLD_US 39 && US Std Fanfold 14 7/8 x 11 in +#define PRTPAPER_FANFOLD_STD_GERMAN 40 && German Std Fanfold 8 1/2 x 12 in +#define PRTPAPER_FANFOLD_LGL_GERMAN 41 && German Legal Fanfold 8 1/2 x 13 in + +*-- Paper bins +#define PRTBIN_UPPER 1 +#define PRTBIN_ONLYONE 1 +#define PRTBIN_LOWER 2 +#define PRTBIN_MIDDLE 3 +#define PRTBIN_MANUAL 4 +#define PRTBIN_ENVELOPE 5 +#define PRTBIN_ENVMANUAL 6 +#define PRTBIN_AUTO 7 +#define PRTBIN_TRACTOR 8 +#define PRTBIN_SMALLFMT 9 +#define PRTBIN_LARGEFMT 10 +#define PRTBIN_LARGECAPACITY 11 +#define PRTBIN_CASSETTE 14 +#define PRTBIN_AUTOSELECT 15 + +*-- Print qualities +#define PRTRES_DRAFT -1 +#define PRTRES_LOW -2 +#define PRTRES_MEDIUM -3 +#define PRTRES_HIGH -4 + +*-- Color printer +#define PRTCOLOR_MONOCHROME 1 +#define PRTCOLOR_COLOR 2 + +*-- Duplexing +#define PRTDUP_SIMPLEX 1 +#define PRTDUP_VERTICAL 2 +#define PRTDUP_HORIZONTAL 3 + +*-- True Type fonts +#define PRTTT_BITMAP 1 && Print True Type fonts as graphics +#define PRTTT_DOWNLOAD 2 && Download True Type fonts as soft fonts +#define PRTTT_SUBDEV 3 && Substitute device fonts for True Type + +*-- FontMetric() +#DEFINE TM_HEIGHT 1 +#DEFINE TM_ASCENT 2 +#DEFINE TM_DESCENT 3 +#DEFINE TM_INTERNALLEADING 4 +#DEFINE TM_EXTERNALLEADING 5 +#DEFINE TM_AVECHARWIDTH 6 +#DEFINE TM_MAXCHARWIDTH 7 +#DEFINE TM_WEIGHT 8 +#DEFINE TM_ITALIC 9 +#DEFINE TM_UNDERLINED 10 +#DEFINE TM_STRUCKOUT 11 +#DEFINE TM_FIRSTCHAR 12 +#DEFINE TM_LASTCHAR 13 +#DEFINE TM_DEFAULTCHAR 14 +#DEFINE TM_BREAKCHAR 15 +#DEFINE TM_PITCHANDFAMILY 16 +#DEFINE TM_CHARSET 17 +#DEFINE TM_OVERHANG 18 +#DEFINE TM_ASPECTX 19 +#DEFINE TM_ASPECTY 20 + +*-- Sysmetric() parameter values +#DEFINE SYSMETRIC_SCREENWIDTH 1 && Screen width +#DEFINE SYSMETRIC_SCREENHEIGHT 2 && Screen width +#DEFINE SYSMETRIC_SIZINGBORDERWIDTH 3 && Width of the sizing border around a resizable window +#DEFINE SYSMETRIC_SIZINGBORDERHEIGHT 4 && Height of the sizing border around a resizable window +#DEFINE SYSMETRIC_VSCROLLBARWIDTH 5 && Width of a vertical scroll bar +#DEFINE SYSMETRIC_VSCROLLBARHEIGHT 6 && Height of the arrow bitmap on a vertical scroll bar +#DEFINE SYSMETRIC_HSCROLLBARWIDTH 7 && Width of the arrow bitmap on a horizontal scroll bar +#DEFINE SYSMETRIC_HSCROLLBARHEIGHT 8 && Height of a horizontal scroll bar +#DEFINE SYSMETRIC_WINDOWTITLEHEIGHT 9 && Height of window title (caption) area +#DEFINE SYSMETRIC_WINDOWBORDERWIDTH 10 && Width of a window border +#DEFINE SYSMETRIC_WINDOWBORDERHEIGHT 11 && Height of a window border +#DEFINE SYSMETRIC_WINDOWFRAMEWIDTH 12 && Width of the frame around the perimeter of a window + && that has a caption but is not sizable +#DEFINE SYSMETRIC_WINDOWFRAMEHEIGHT 13 && Height of the frame around the perimeter of a window + && that has a caption but is not sizable +#DEFINE SYSMETRIC_THUMBBOXWIDTH 14 && Width of the thumb box in a horizontal scroll bar +#DEFINE SYSMETRIC_THUMBBOXHEIGHT 15 && Height of the thumb box in a vertical scroll bar +#DEFINE SYSMETRIC_ICONWIDTH 16 && Width of an icon +#DEFINE SYSMETRIC_ICONHEIGHT 17 && Height of an icon +#DEFINE SYSMETRIC_CURSORWIDTH 18 && Width of a cursor +#DEFINE SYSMETRIC_CURSORHEIGHT 19 && Height of a cursor +#DEFINE SYSMETRIC_MENUBAR 20 && Height of a single-line menu bar +#DEFINE SYSMETRIC_CLIENTWIDTH 21 && Width of the client area for a full-screen window +#DEFINE SYSMETRIC_CLIENTHEIGHT 22 && Height of the client area for a full-screen window +#DEFINE SYSMETRIC_KANJIWINHEIGHT 23 && Height of the Kanji window at the bottom of the screen in DBCS versions +#DEFINE SYSMETRIC_MINDRAGWIDTH 24 && Minimum tracking width of a window. (The user cannot drag the window frame to a size smaller than this) +#DEFINE SYSMETRIC_MINDRAGHEIGHT 25 && Minimum tracking height of a window. (The user cannot drag the window frame to a size smaller than this) +#DEFINE SYSMETRIC_MINWINDOWWIDTH 26 && Minimum width of a window +#DEFINE SYSMETRIC_MINWINDOWHEIGHT 27 && Minimum height of a window +#DEFINE SYSMETRIC_TITLEBARBUTTONWIDTH 28 && Width of a title bar button +#DEFINE SYSMETRIC_TITLEBARBUTTONHEIGHT 29 && Height of a title bar button +#DEFINE SYSMETRIC_MOUSEPRESENT 30 && Is mouse present? 1 => mouse is installed, 0 => no mouse is installed +#DEFINE SYSMETRIC_DEBUGVERSION 31 && Is this a debug version? 1 => debug version, 0 => retail version +#DEFINE SYSMETRIC_MOUSEBUTTONSWAP 32 && Are mouse buttons swapped? 1 => Yes, 0 => No +#DEFINE SYSMETRIC_HALFHEIGHTBUTTONWIDTH 33 && Width of a button in a half-height title bar +#DEFINE SYSMETRIC_HALFHEIGHTBUTTONHEIGHT 34 && Height of a button in a half-height title bar + +*-- Windows GetSysMetric() defines +#DEFINE SM_CXSCREEN 0 +#DEFINE SM_CYSCREEN 1 +#DEFINE SM_CXVSCROLL 2 +#DEFINE SM_CYHSCROLL 3 +#DEFINE SM_CYCAPTION 4 +#DEFINE SM_CXBORDER 5 +#DEFINE SM_CYBORDER 6 +#DEFINE SM_CXDLGFRAME 7 +#DEFINE SM_CYDLGFRAME 8 +#DEFINE SM_CYVTHUMB 9 +#DEFINE SM_CXHTHUMB 10 +#DEFINE SM_CXICON 11 +#DEFINE SM_CYICON 12 +#DEFINE SM_CXCURSOR 13 +#DEFINE SM_CYCURSOR 14 +#DEFINE SM_CYMENU 15 +#DEFINE SM_CXFULLSCREEN 16 +#DEFINE SM_CYFULLSCREEN 17 +#DEFINE SM_CYKANJIWINDOW 18 +#DEFINE SM_MOUSEPRESENT 19 +#DEFINE SM_CYVSCROLL 20 +#DEFINE SM_CXHSCROLL 21 +#DEFINE SM_DEBUG 22 +#DEFINE SM_SWAPBUTTON 23 +#DEFINE SM_RESERVED1 24 +#DEFINE SM_RESERVED2 25 +#DEFINE SM_RESERVED3 26 +#DEFINE SM_RESERVED4 27 +#DEFINE SM_CXMIN 28 +#DEFINE SM_CYMIN 29 +#DEFINE SM_CXSIZE 30 +#DEFINE SM_CYSIZE 31 +#DEFINE SM_CXFRAME 32 +#DEFINE SM_CYFRAME 33 +#DEFINE SM_CXMINTRACK 34 +#DEFINE SM_CYMINTRACK 35 +#DEFINE SM_CMETRICS 36 + +*-- Cursor buffering modes +#DEFINE DB_BUFOFF 1 +#DEFINE DB_BUFLOCKRECORD 2 +#DEFINE DB_BUFOPTRECORD 3 +#DEFINE DB_BUFLOCKTABLE 4 +#DEFINE DB_BUFOPTTABLE 5 + +*-- Update types for views/cursors +#DEFINE DB_UPDATE 1 +#DEFINE DB_DELETEINSERT 2 + +*-- WHERE clause types for views/cursors +#DEFINE DB_KEY 1 +#DEFINE DB_KEYANDUPDATABLE 2 +#DEFINE DB_KEYANDMODIFIED 3 +#DEFINE DB_KEYANDTIMESTAMP 4 + +*-- Remote connection login prompt options +#DEFINE DB_PROMPTCOMPLETE 1 +#DEFINE DB_PROMPTALWAYS 2 +#DEFINE DB_PROMPTNEVER 3 + +*-- Remote transaction modes +#DEFINE DB_TRANSAUTO 1 +#DEFINE DB_TRANSMANUAL 2 + +*-- Source Types for CursorGetProp() +#DEFINE DB_SRCLOCALVIEW 1 +#DEFINE DB_SRCREMOTEVIEW 2 +#DEFINE DB_SRCTABLE 3 + +*-- Language IDs. +* +* A language ID is a 16 bit value which is the combination of a +* primary language ID and a secondary language ID. The bits are +* allocated as follows: +* +* +-----------------------+-------------------------+ +* | Sublanguage ID | Primary Language ID | +* +-----------------------+-------------------------+ +* 15 10 9 0 bit +* +* +* The following three combinations of primary language ID and +* sublanguage ID have special semantics: +* +* Primary Language ID Sublanguage ID Result +* ------------------- --------------- ------------------------ +* LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral +* LANG_NEUTRAL SUBLANG_DEFAULT User default language +* LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language +* + +* +* Primary language IDs. +* + +#DEFINE LANG_NEUTRAL 0x00 + +#DEFINE LANG_AFRIKAANS 0x36 +#DEFINE LANG_ALBANIAN 0x1c +#DEFINE LANG_ARABIC 0x01 +#DEFINE LANG_BASQUE 0x2d +#DEFINE LANG_BELARUSIAN 0x23 +#DEFINE LANG_BULGARIAN 0x02 +#DEFINE LANG_CATALAN 0x03 +#DEFINE LANG_CHINESE 0x04 +#DEFINE LANG_CROATIAN 0x1a +#DEFINE LANG_CZECH 0x05 +#DEFINE LANG_DANISH 0x06 +#DEFINE LANG_DUTCH 0x13 +#DEFINE LANG_ENGLISH 0x09 +#DEFINE LANG_ESTONIAN 0x25 +#DEFINE LANG_FAEROESE 0x38 +#DEFINE LANG_FARSI 0x29 +#DEFINE LANG_FINNISH 0x0b +#DEFINE LANG_FRENCH 0x0c +#DEFINE LANG_GERMAN 0x07 +#DEFINE LANG_GREEK 0x08 +#DEFINE LANG_HEBREW 0x0d +#DEFINE LANG_HUNGARIAN 0x0e +#DEFINE LANG_ICELANDIC 0x0f +#DEFINE LANG_INDONESIAN 0x21 +#DEFINE LANG_ITALIAN 0x10 +#DEFINE LANG_JAPANESE 0x11 +#DEFINE LANG_KOREAN 0x12 +#DEFINE LANG_LATVIAN 0x26 +#DEFINE LANG_LITHUANIAN 0x27 +#DEFINE LANG_NORWEGIAN 0x14 +#DEFINE LANG_POLISH 0x15 +#DEFINE LANG_PORTUGUESE 0x16 +#DEFINE LANG_ROMANIAN 0x18 +#DEFINE LANG_RUSSIAN 0x19 +#DEFINE LANG_SERBIAN 0x1a +#DEFINE LANG_SLOVAK 0x1b +#DEFINE LANG_SLOVENIAN 0x24 +#DEFINE LANG_SPANISH 0x0a +#DEFINE LANG_SWEDISH 0x1d +#DEFINE LANG_THAI 0x1e +#DEFINE LANG_TURKISH 0x1f +#DEFINE LANG_UKRAINIAN 0x22 +#DEFINE LANG_VIETNAMESE 0x2a + +* +* Sublanguage IDs. +* +* The name immediately following SUBLANG_ dictates which primary +* language ID that sublanguage ID can be combined with to form a +* valid language ID. +* + +#DEFINE SUBLANG_NEUTRAL 0x0000 && language neutral +#DEFINE SUBLANG_DEFAULT 0x0400 && user default +#DEFINE SUBLANG_SYS_DEFAULT 0x0800 && system default + +#DEFINE SUBLANG_ARABIC_SAUDI_ARABIA 0x0400 && Arabic (Saudi Arabia) +#DEFINE SUBLANG_ARABIC_IRAQ 0x0800 && Arabic (Iraq) +#DEFINE SUBLANG_ARABIC_EGYPT 0x0C00 && Arabic (Egypt) +#DEFINE SUBLANG_ARABIC_LIBYA 0x1000 && Arabic (Libya) +#DEFINE SUBLANG_ARABIC_ALGERIA 0x1400 && Arabic (Algeria) +#DEFINE SUBLANG_ARABIC_MOROCCO 0x1800 && Arabic (Morocco) +#DEFINE SUBLANG_ARABIC_TUNISIA 0x1C00 && Arabic (Tunisia) +#DEFINE SUBLANG_ARABIC_OMAN 0x2000 && Arabic (Oman) +#DEFINE SUBLANG_ARABIC_YEMEN 0x2400 && Arabic (Yemen) +#DEFINE SUBLANG_ARABIC_SYRIA 0x2800 && Arabic (Syria) +#DEFINE SUBLANG_ARABIC_JORDAN 0x2C00 && Arabic (Jordan) +#DEFINE SUBLANG_ARABIC_LEBANON 0x3000 && Arabic (Lebanon) +#DEFINE SUBLANG_ARABIC_KUWAIT 0x3400 && Arabic (Kuwait) +#DEFINE SUBLANG_ARABIC_UAE 0x3800 && Arabic (U.A.E) +#DEFINE SUBLANG_ARABIC_BAHRAIN 0x3C00 && Arabic (Bahrain) +#DEFINE SUBLANG_ARABIC_QATAR 0x4000 && Arabic (Qatar) +#DEFINE SUBLANG_CHINESE_TRADITIONAL 0x0400 && Chinese (Taiwan) +#DEFINE SUBLANG_CHINESE_SIMPLIFIED 0x0800 && Chinese (PR China) +#DEFINE SUBLANG_CHINESE_HONGKONG 0x0C00 && Chinese (Hong Kong S.A.R) +#DEFINE SUBLANG_CHINESE_SINGAPORE 0x1000 && Chinese (Singapore) +#DEFINE SUBLANG_DUTCH 0x0400 && Dutch +#DEFINE SUBLANG_DUTCH_BELGIAN 0x0800 && Dutch (Belgian) +#DEFINE SUBLANG_ENGLISH_US 0x0400 && English (USA) +#DEFINE SUBLANG_ENGLISH_UK 0x0800 && English (UK) +#DEFINE SUBLANG_ENGLISH_AUS 0x0C00 && English (Australian) +#DEFINE SUBLANG_ENGLISH_CAN 0x1000 && English (Canadian) +#DEFINE SUBLANG_ENGLISH_NZ 0x1400 && English (New Zealand) +#DEFINE SUBLANG_ENGLISH_EIRE 0x1800 && English (Irish) +#DEFINE SUBLANG_ENGLISH_SOUTH_AFRICA 0x1C00 && English (South Africa) +#DEFINE SUBLANG_ENGLISH_JAMAICA 0x2000 && English (Jamaica) +#DEFINE SUBLANG_ENGLISH_CARIBBEAN 0x2400 && English (Caribbean) +#DEFINE SUBLANG_ENGLISH_BELIZE 0x2800 && English (Belize) +#DEFINE SUBLANG_ENGLISH_TRINIDAD 0x2C00 && English (Trinidad) +#DEFINE SUBLANG_FRENCH 0x0400 && French +#DEFINE SUBLANG_FRENCH_BELGIAN 0x0800 && French (Belgian) +#DEFINE SUBLANG_FRENCH_CANADIAN 0x0C00 && French (Canadian) +#DEFINE SUBLANG_FRENCH_SWISS 0x1000 && French (Swiss) +#DEFINE SUBLANG_FRENCH_LUXEMBOURG 0x1400 && French (Luxembourg) +#DEFINE SUBLANG_GERMAN 0x0400 && German +#DEFINE SUBLANG_GERMAN_SWISS 0x0800 && German (Swiss) +#DEFINE SUBLANG_GERMAN_AUSTRIAN 0x0C00 && German (Austrian) +#DEFINE SUBLANG_GERMAN_LUXEMBOURG 0x1000 && German (Luxembourg) +#DEFINE SUBLANG_GERMAN_LIECHTENSTEIN 0x1400 && German (Liechtenstein) +#DEFINE SUBLANG_ITALIAN 0x0400 && Italian +#DEFINE SUBLANG_ITALIAN_SWISS 0x0800 && Italian (Swiss) +#DEFINE SUBLANG_KOREAN 0x0400 && Korean (Extended Wansung) +#DEFINE SUBLANG_KOREAN_JOHAB 0x0800 && Korean (Johab) +#DEFINE SUBLANG_NORWEGIAN_BOKMAL 0x0400 && Norwegian (Bokmal) +#DEFINE SUBLANG_NORWEGIAN_NYNORSK 0x0800 && Norwegian (Nynorsk) +#DEFINE SUBLANG_PORTUGUESE 0x0800 && Portuguese +#DEFINE SUBLANG_PORTUGUESE_BRAZILIAN 0x0400 && Portuguese (Brazilian) +#DEFINE SUBLANG_SERBIAN_LATIN 0x0800 && Serbian (Latin) +#DEFINE SUBLANG_SERBIAN_CYRILLIC 0x0C00 && Serbian (Cyrillic) +#DEFINE SUBLANG_SPANISH 0x0400 && Spanish (Castilian) +#DEFINE SUBLANG_SPANISH_MEXICAN 0x0800 && Spanish (Mexican) +#DEFINE SUBLANG_SPANISH_MODERN 0x0C00 && Spanish (Modern) +#DEFINE SUBLANG_SPANISH_GUATEMALA 0x1000 && Spanish (Guatemala) +#DEFINE SUBLANG_SPANISH_COSTA_RICA 0x1400 && Spanish (Costa Rica) +#DEFINE SUBLANG_SPANISH_PANAMA 0x1800 && Spanish (Panama) +#DEFINE SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x1C00 && Spanish (Dominican Republic) +#DEFINE SUBLANG_SPANISH_VENEZUELA 0x2000 && Spanish (Venezuela) +#DEFINE SUBLANG_SPANISH_COLOMBIA 0x2400 && Spanish (Colombia) +#DEFINE SUBLANG_SPANISH_PERU 0x2800 && Spanish (Peru) +#DEFINE SUBLANG_SPANISH_ARGENTINA 0x2C00 && Spanish (Argentina) +#DEFINE SUBLANG_SPANISH_ECUADOR 0x3000 && Spanish (Ecuador) +#DEFINE SUBLANG_SPANISH_CHILE 0x3400 && Spanish (Chile) +#DEFINE SUBLANG_SPANISH_URUGUAY 0x3800 && Spanish (Uruguay) +#DEFINE SUBLANG_SPANISH_PARAGUAY 0x3C00 && Spanish (Paraguay) +#DEFINE SUBLANG_SPANISH_BOLIVIA 0x4000 && Spanish (Bolivia) +#DEFINE SUBLANG_SPANISH_EL_SALVADOR 0x4400 && Spanish (El Salvador) +#DEFINE SUBLANG_SPANISH_HONDURAS 0x4800 && Spanish (Honduras) +#DEFINE SUBLANG_SPANISH_NICARAGUA 0x4C00 && Spanish (Nicaragua) +#DEFINE SUBLANG_SPANISH_PUERTO_RICO 0x5000 && Spanish (Puerto Rico) +#DEFINE SUBLANG_SWEDISH 0x0400 && Swedish +#DEFINE SUBLANG_SWEDISH_FINLAND 0x0800 && Swedish (Finland) + +*-- DBC Events constants +#DEFINE DBCEVENTS_NULLTYPE 0 +#DEFINE DBCEVENTS_DATABASE 1 +#DEFINE DBCEVENTS_TABLE 2 +#DEFINE DBCEVENTS_COLUMN 3 +#DEFINE DBCEVENTS_INDEX 4 +#DEFINE DBCEVENTS_TAG 4 +#DEFINE DBCEVENTS_RELATION 5 +#DEFINE DBCEVENTS_CONNECTION 6 +#DEFINE DBCEVENTS_VIEW 7 +#DEFINE DBCEVENTS_LASTTYPE 8 +#DEFINE DBCEVENTS_STPROCS 9 + +*-- AFields() Constants +#define AFIELDS_NAME 1 +#define AFIELDS_TYPE 2 +#define AFIELDS_WIDTH 3 +#define AFIELDS_PRECISION 4 +#define AFIELDS_NULL 5 +#define AFIELDS_CODEPAGE_XLATE 6 +#define AFIELDS_VALID_EXPRESSION 7 +#define AFIELDS_VALID_TEXT 8 +#define AFIELDS_DEFAULT 9 +#define AFIELDS_TABLE_VALID_EXPRESSION 10 +#define AFIELDS_TABLE_VALID_TEXT 11 +#define AFIELDS_TABLE_LONG_NAME 12 +#define AFIELDS_INSERT_TRIGGER 13 +#define AFIELDS_UPDATE_TRIGGER 14 +#define AFIELDS_DELETE_TRIGGER 15 +#define AFIELDS_TABLE_COMMENT 16 +#define AFIELDS_AUTOINC_NEXT_VALUE 17 +#define AFIELDS_AUTOINC_STEP 18 + +* UCS Transformation Format byte order marks. +#DEFINE ENCODE_UTF16 CHR(0xFF) + CHR(0xFE) +#DEFINE ENCODE_UTF8 "" + +* COM_Attrib flag settings for Type Library attributes support +#DEFINE COMATTRIB_RESTRICTED 0x1 && The property/method should not be accessible from macro languages. +#DEFINE COMATTRIB_HIDDEN 0x40 && The property/method should not be displayed to the user, although it exists and is bindable. +#DEFINE COMATTRIB_NONBROWSABLE 0x400 && The property/method appears in an object browser, but not in a properties browser. +#DEFINE COMATTRIB_READONLY 0x100000 && The property is read-only (applies only to Properties). +#DEFINE COMATTRIB_WRITEONLY 0x200000 && The property is write-only (applies only to Properties). From 15e13cc333291f73b5152941b8911fc3274b2a8f Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Thu, 23 Jul 2026 20:50:35 +0300 Subject: [PATCH 5/5] reguli_lucru: patch-urile de review nu se comit niciodata (doar local, in .gitignore) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_018H9za5A9Tk6wcLFof6seds --- docs/reguli_lucru.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/reguli_lucru.md b/docs/reguli_lucru.md index e29738c..4b58b41 100644 --- a/docs/reguli_lucru.md +++ b/docs/reguli_lucru.md @@ -3,6 +3,8 @@ 1. Modificari de cod: livreaza FISIER de diff `docs\diff_runda_.patch` (`git diff --no-index `), nu diff in terminal. Write-back in binar (txt2vcx) si commit DOAR dupa aprobarea patch-ului de catre utilizator. + Patch-urile sunt intermediare de review: NU se comit NICIODATA in git (sunt in + .gitignore ca `docs/diff_runda*.patch`); raman doar local, pe disc. 2. Comentarii in cod: max o linie `*!* DD.MM.YYYY autor - motiv scurt`, DOAR la functionalitati noi/schimbate. La rezolvari de erori NU se adauga comentarii. Explicatiile merg in docs/ sau in mesajul de commit, nu in cod.