Jump to content
Fivewin Brasil

leo@lhsistemas.com

Membros
  • Posts

    99
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by leo@lhsistemas.com

  1. Ana, boa tarde.

    Como assim em "templates", exemplifique por favor, pois, também utiizo o xDev a pouco tempo e gostaria de aprimorar mais nele.

    Outra coisa, como faço para compilar um código puro-clipper via xDev para rodar via GTWW(acho que é isso).

    Abraços.

  2. Erciley, boa tarde.

    Quando compilo o mesmo código por linha de comando para 16bits, funciona numa boa.

    O meu problema é que esotu querendo migrar para 32bits(sDevStudio/FW 11.03/PellesC/xHb) dá este erro conforme postei acima.

    O estranho é que compilo somente o meu PRG e a janela(.res), sem informar nenhuma biblioteca adicional ou de terceiros.

    No meu FW nem tem este código-fonte(.\source\classes\TTREEVIE.PRG), assim, não tenho como saber a linha.

    Me ajudem por favor.

  3. Luiz, boa tarde.

    Faço a compilação nativa,porém, ocorre o seguinte erro abaixo:

    Application
    ===========
    Path and name: D:\CLIPPER\PAFECF\LHACESSO.EXE (32 bits)
    Size: 1,731,584 bytes
    Time from start: 0 hours 0 mins 0 secs
    Error occurred at: 17/10/2013, 18:01:23
    Error description: Error BASE/1066 Argument error: conditional
    Args:
    [ 1] = A { ... }

    Stack Calls
    ===========
    Called from: .\source\classes\TTREEVIE.PRG => TTREEVIEW:NEW(149)
    Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => CREATREE(463)
    Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => (b)CHILDTREE(445)
    Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE(985)
    Called from: .\source\classes\MDICHILD.PRG => TMDICHILD:ACTIVATE(245)
    Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => CHILDTREE(445)
    Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => (B)_CACESSOS(366)
    Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE(985)
    Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => _CACESSOS(366)

    System
    ======
    CPU type: AMD E-300 APU with Radeon HD Graphics 1300 Mhz
    Hardware memory: 1771 megs

    Free System resources: 90 %
    GDI resources: 90 %
    User resources: 90 %

    Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20130117)
    Windows version: 6.1, Build 7600

    Windows total applications running: 48
    1 MSCTFIME UI
    2 Default IME
    3 Alternância de tarefas
    4 Iniciar
    5 Voltar para Programação
    6 CreateFence
    7 Leonardo
    8 Menu Iniciar
    9 View Available Networks (Tooltip)
    10 Network Flyout
    11 CiceroUIWndFrame
    12 TF_FloatingLangBar_WndTitle
    13 Control de Acessos dos Usuarios do Sistema - [banco de Dados do Usuario S]
    14 Gerenciador de Ajuda
    15 Preview de Impressão
    16 Page Setup
    17 HintInfoWindow
    18 Ir para
    19 Lista de Funções
    20 String Editor
    21 Editor
    22 Localizar em Arquivo(s)
    23 Confirmar Substituição
    24 xDev Studio v0.70 - [D:\CLIPPER\PAFECF\LHACESSO.PRG]
    25 MCI command handling window
    26 Preciso da Tree32.lib - Programação - Fivewin Brasil - Mozilla Firefox
    27 WOWExec
    28 nsAppShell:EventWindow
    29 AMD:CCC-AEMCapturingWindow
    30 DDE Server Window
    31 GDI+ Window
    32 .NET-BroadcastEventWindow.2.0.0.0.33c0d9d.0
    33 MS_WebcheckMonitor
    34 Advanced Controls: WOW® HD
    35 SRS Audio Sandbox
    36 BluetoothNotificationAreaIconWindowClass
    37 HiddenFaxWindow
    38 Medidor de Bateria
    39 Microsoft Security Essentials
    40 TouchPad object helper window
    41 Touchpad driver tray icon window
    42 Touchpad driver backward compatibility window
    43 Touchpad driver helper window
    44 Lista de Atalhos
    45 Task Host Window
    46 AMD EEU Client
    47 DWM Notification Window
    48 Program Manager

    Variables in use
    ================
    Procedure Type Value
    ==========================
    TTREEVIEW:NEW
    Param 1: N 0
    Param 2: N 0
    Param 3: N 0
    Param 4: N 0
    Param 5: O Class: TMDICHILD
    Param 6: A Len: 13
    Param 7: L .F.
    Param 8: N 150
    Param 9: B {|| ... }
    Param 10: U
    Param 11: L .F.
    Param 12: O Class: TTREEVIEW
    Param 13: C "[_NTOP]"
    Param 14: O Class: TTREEVIEW
    Param 15: A Len: 13
    Param 16: U
    Param 17: U
    Param 18: C "[ERRORSYS]"
    CREATREE
    Param 1: O Class: TMDICHILD
    Local 1: U
    Local 2: U
    Local 3: U
    Local 4: U
    (b)CHILDTREE
    Param 1: O Class: TMDICHILD
    TWINDOW:ACTIVATE
    Param 1: C "NORMAL"
    Param 2: U
    Param 3: U
    Param 4: U
    Param 5: U
    Param 6: U
    Param 7: U
    Param 8: B {|| ... }
    Param 9: U
    Param 10: U
    Param 11: U
    Param 12: U
    Param 13: U
    Param 14: U
    Param 15: U
    Param 16: U
    Param 17: U
    Local 1: U
    Local 2: U
    Local 3: O Class: TMDICHILD
    Local 4: U
    Local 5: U
    TMDICHILD:ACTIVATE
    Param 1: U
    Param 2: U
    Param 3: U
    Param 4: U
    Param 5: U
    Param 6: U
    Param 7: U
    Param 8: B {|| ... }
    Param 9: U
    Param 10: U
    Param 11: U
    Param 12: U
    Param 13: U
    Param 14: U
    Param 15: U
    Param 16: U
    Param 17: U
    Param 18: O Class: TMDICHILD
    Param 19: C "[ACTIVATE]"
    CHILDTREE
    Local 1: O Class: TBAR
    Local 2: O Class: TMDICHILD
    Local 3: U
    (B)_CACESSOS
    Param 1: O Class: TMDIFRAME
    TMDIFRAME:ACTIVATE
    Param 1: C "NORMAL"
    Param 2: U
    Param 3: U
    Param 4: U
    Param 5: U
    Param 6: U
    Param 7: U
    Param 8: B {|| ... }
    Param 9: U
    Param 10: U
    Param 11: U
    Param 12: U
    Param 13: U
    Param 14: U
    Param 15: U
    Param 16: U
    Param 17: B {|| ... }
    Param 18: U
    Param 19: U
    Local 1: O Class: TMDIFRAME
    Local 2: U
    Local 3: U
    _CACESSOS
    Local 1: C "¦"
    Local 2: N 1
    Local 3: C "01"
    Local 4: U

    Linked RDDs
    ===========
    DBF
    DBFFPT
    DBFBLOB
    DBFNTX

    DataBases in use
    ================

    1: CORES RddName: DBFNTX
    ==============================
    RecNo RecCount BOF EOF
    1 2 .F. .F.

    Indexes in use TagName
    => usuario CORESA

    Relations in use

    2: => ULT01 RddName: DBFNTX
    ==============================
    RecNo RecCount BOF EOF
    1 1 .F. .F.

    Indexes in use TagName

    Relations in use

    Classes in use:
    ===============
    1 ERROR
    2 HASHENTRY
    3 HBCLASS
    4 HBOBJECT
    5 TWINDOW
    6 TMDIFRAME
    7 TMENU
    8 TMENUITEM
    9 TBRUSH
    10 TMDICLIENT
    11 TFONT
    12 TMSGBAR
    13 TRECT
    14 TMSGITEM
    15 TTIMER
    16 TMDICHILD
    17 TCONTROL
    18 TICON
    19 TBAR
    20 TBTNBMP
    21 TTREEVIEW
    22 TREG32

    Memory Analysis
    ===============
    126 Static variables

    Dynamic memory consume:
    Actual Value: 0 bytes
    Highest Value: 0 bytes

  4. Kapiaba, boa tarde.

    Segue abaixo código:

    #include "fivewin.ch"
    #include "treeview.ch"
    #include "FileIO.ch"
    STATIC oWnd

    FUNCTION _CAcessos(cUsu,cModo,cEmpresa)
    LOCAL oBarra
    Private aMatVar := {}

    SET 3D LOOK ON
    set epoch to 1960
    set date to british
    set bell on
    set console off
    set deleted on
    set exclusive off
    set scoreboard off
    set cursor off
    set century on
    setblink(.F.)
    sethandlecount(255)

    IF cUsu = Nil
    MsgInfo("Informe o Usuario !!!","Erro !")
    Return(Nil)
    ENDIF

    cEmpresa:= If(cEmpresa=NIL,"01",cEmpresa)
    cModo := If(cModo=Nil,1,Val(cModo))

    cArqConf := cUsu

    cUsu := Cript(Left(Alltrim(cUsu+Space(20)),20),1)

    Aadd(aMatVar,{3,"CORES->Cada1","",;
    'If(cTpLj$"2_7",scl1111_(),'+;
    'If(cTpLj="3",scl1113_(),'+;
    'If(cTpLj="5",scl1112_(),scl1110_())))'})

    Aadd(aMatVar,{4,"CORES->Cada2","",;
    'If(cTpLj$"2_7",scl1111_(,"A"),'+;
    'If(cTpLj="3",scl1113_(,"A"),'+;
    'If(cTpLj="5",scl1112_(,"A"),scl1110_(,"A"))))'})

    Aadd(aMatVar,{6,"CORES->Cada3a","","scl113d_()"})
    Aadd(aMatVar,{7,"CORES->Cada3b","","scl1134_()"})
    Aadd(aMatVar,{8,"CORES->Cada3c","","scl113e_()"})
    Aadd(aMatVar,{10,"CORES->Cadb1","","scl1210_()"})
    Aadd(aMatVar,{11,"CORES->Cadb2","","scl1210_(,'A')"})
    Aadd(aMatVar,{12,"CORES->Cadb3","","scl1220_()"})
    Aadd(aMatVar,{13,"CORES->Cadc1","","scl1310_()"})
    Aadd(aMatVar,{14,"CORES->Cadc2","","scl1320_()"})
    Aadd(aMatVar,{15,"CORES->Cadc3a","","scl1330_()"})
    Aadd(aMatVar,{16,"CORES->Cadd","","scl1400_()"})
    Aadd(aMatVar,{17,"CORES->Cade","","scl1500_()"})
    Aadd(aMatVar,{18,"CORES->Cadn","","scl1f00_()"})
    Aadd(aMatVar,{19,"CORES->Cadp","","scl1i00_()"})
    Aadd(aMatVar,{20,"CORES->Esta1","","scl1610_()"})
    Aadd(aMatVar,{21,"CORES->Esta2","","scl1610_(,'A')"})
    Aadd(aMatVar,{22,"CORES->Esta5e","","scl164E_()"})
    Aadd(aMatVar,{23,"CORES->Esta7","","scl16a0_()"})
    Aadd(aMatVar,{24,"CORES->Esta5a","","scl164a_()"})
    Aadd(aMatVar,{25,"CORES->Esta8","","scl164f_()"})
    Aadd(aMatVar,{26,"CORES->Esta9","","scl164g_()"})
    Aadd(aMatVar,{27,"CORES->Esta10","","_GeraBToledo()"})
    Aadd(aMatVar,{28,"CORES->Cadg","","scl1700_()"})
    Aadd(aMatVar,{29,"CORES->Cadk","","scl1d00_()"})
    Aadd(aMatVar,{30,"CORES->Cadl","","scl1E00_()"})
    Aadd(aMatVar,{31,"CORES->Cadm","","scl1h00_()"})
    Aadd(aMatVar,{32,"CORES->Cado","","scl1g00_()"})
    Aadd(aMatVar,{33,"CORES->Cadi","","scl1b00_()"})
    Aadd(aMatVar,{34,"CORES->Cadj","","scl1c00_()"})
    Aadd(aMatVar,{35,"CORES->UltH","","scl6b00_()"})
    Aadd(aMatVar,{36,"CORES->Ultn","","scl1510_()"})
    Aadd(aMatVar,{37,"CORES->estb1","","scl2110_()"})
    Aadd(aMatVar,{38,"CORES->estb5a","","scl2171_(,oWndPrinc)"})
    Aadd(aMatVar,{39,"CORES->Fina1","","SCL3110_()"})
    Aadd(aMatVar,{40,"CORES->Fina2","","SCL3110_('A')"})
    Aadd(aMatVar,{41,"CORES->Fina3","","SCL3110_('E')"})
    Aadd(aMatVar,{42,"CORES->Fina4","","SCL3140_()"})
    Aadd(aMatVar,{43,"CORES->Finb1","","SCL3210_()"})
    Aadd(aMatVar,{44,"CORES->Finb2","","SCL3210_('A')"})
    Aadd(aMatVar,{45,"CORES->Finb3","","SCL3210_('E')"})
    Aadd(aMatVar,{46,"CORES->Finb4","","SCL3240_()"})
    Aadd(aMatVar,{47,"CORES->Finb6","","SCL3250_()"})
    Aadd(aMatVar,{48,"CORES->Bana","","SCL4100_(1)"})
    Aadd(aMatVar,{49,"CORES->Banb","","SCL4100_(2)"})
    Aadd(aMatVar,{50,"CORES->Banc","","SCL4100_(3)"})
    Aadd(aMatVar,{51,"CORES->esta3","","SCL1630_()"})
    Aadd(aMatVar,{52,"CORES->esta3e","","scl1637_()"})
    Aadd(aMatVar,{53,"CORES->esta3i","","SCL163b_()"})
    Aadd(aMatVar,{54,"CORES->cadc3c","","SCL163d_()"})
    Aadd(aMatVar,{55,"CORES->esta3g","","SCL163b1_()"})
    Aadd(aMatVar,{56,"CORES->esta3h","","_EmitSVDav()"})
    Aadd(aMatVar,{57,"CORES->esta8n","","SCL1684_()"})
    Aadd(aMatVar,{58,"CORES->esta8d","","SCL1683_()"})
    Aadd(aMatVar,{59,"CORES->esta8j","","SCL168B_()"})
    Aadd(aMatVar,{60,"CORES->esta8b","","SCL1682_()"})
    Aadd(aMatVar,{61,"CORES->Fina5","","SCL3151_()"})
    Aadd(aMatVar,{62,"CORES->Finb5","","scl3251_()"})
    Aadd(aMatVar,{63,"CORES->Estc1","","scl212s_()"})
    Aadd(aMatVar,{64,"CORES->Estc2","","scl212x_()"})
    Aadd(aMatVar,{65,"CORES->Ultb1","",;
    'If(MsgYesNo("Confirma Manutencao ?",'+;
    '"Reorganizar Arquivos !!!"),_CriaArq(0,2),.F.)'})

    Aadd(aMatVar,{66,"CORES->UltJ","","scl6900_() "})
    Aadd(aMatVar,{67,"CORES->Ultc","","_Acessos() "})
    Aadd(aMatVar,{68,"CORES->Estb4a","",;
    "MsgInfo('Apenas no Modulo de Vendas !!!','Alerta !!!')"})

    Aadd(aMatVar,{69,"CORES->Estb4d","",;
    "MsgInfo('Apenas no Modulo de Vendas !!!','Alerta !!!')"})

    Aadd(aMatVar,{70,"CORES->Estb4f","",;
    "MsgInfo('Apenas no Modulo de Vendas !!!','Alerta !!!')"})

    Aadd(aMatVar,{71,"CORES->Estb4g","",;
    "MsgInfo('Apenas no Modulo de Vendas !!!','Alerta !!!')"})

    Aadd(aMatVar,{72,"CORES->Estb4h","",;
    "MsgInfo('Apenas no Modulo de Vendas !!!','Alerta !!!')"})

    Aadd(aMatVar,{73,"CORES->Estb4i","","scl2120_()"})
    Aadd(aMatVar,{90,"CORES->Estc1","",""})

    Aadd(aMatVar,{91,"CORES->Estc2","",""})

    Aadd(aMatVar,{92,"CORES->esta3s","","SCL163b2_()"})
    Aadd(aMatVar,{93,"CORES->esta8a","","SCL1681_()"})
    Aadd(aMatVar,{94,"CORES->ultb2","","scl6200_(1)"})
    Aadd(aMatVar,{95,"CORES->ultb3","","scl6200_(2)"})
    Aadd(aMatVar,{96,"CORES->ultd1","",""})

    Aadd(aMatVar,{97,"CORES->ultd2","",""})

    Aadd(aMatVar,{98,"CORES->ultd3","",""})

    Aadd(aMatVar,{99,"CORES->ultd4","",""})

    Aadd(aMatVar,{100,"CORES->ultd6","",""})

    Aadd(aMatVar,{101,"CORES->exc_it","",""})

    Aadd(aMatVar,{102,"CORES->lib_ds","",""})

    Aadd(aMatVar,{103,"CORES->esta3j","","SCL163e_()"})
    Aadd(aMatVar,{104,"CORES->imp_dv","",""})

    Aadd(aMatVar,{105,"CORES->en_ex","",""})

    Aadd(aMatVar,{106,"CORES->esta3k","","SCL163b3_()"})
    Aadd(aMatVar,{107,"CORES->esta3ij","","SCL163c_()"})

    Aadd(aMatVar,{1107,"CORES->esta3ij","","SCL163i_()"})

    Aadd(aMatVar,{108,"CORES->estb5g","","scl2179_()"})
    Aadd(aMatVar,{109,"CORES->pr_al","",""})
    Aadd(aMatVar,{110,"CORES->pr_ex","",""})

    Aadd(aMatVar,{111,"CORES->can_cp","",""})

    Aadd(aMatVar,{112,"CORES->estd16","","scl164h_()"})
    Aadd(aMatVar,{113,"CORES->cadb4a","","scl1241_()"})
    Aadd(aMatVar,{114,"CORES->cadb4b","","scl1242_()"})
    Aadd(aMatVar,{115,"CORES->cadb4c","","scl1243_()"})
    Aadd(aMatVar,{116,"CORES->Finb5f","","scl3257_()"})
    Aadd(aMatVar,{117,"CORES->Cadc3n","","scl1k00_()"})
    Aadd(aMatVar,{118,"CORES->Cadc3m","",""})

    Aadd(aMatVar,{119,"CORES->cl_bl","",""})

    Aadd(aMatVar,{120,"CORES->finb7","","SCL3270_()"})
    Aadd(aMatVar,{121,"CORES->finb5d","","SCL3280_()"})
    Aadd(aMatVar,{122,"CORES->esta3l","","SCL163b4_()"})
    Aadd(aMatVar,{123,"CORES->nt_in","",""})
    Aadd(aMatVar,{124,"CORES->nt_al","",""})
    Aadd(aMatVar,{125,"CORES->nt_ex","",""})
    Aadd(aMatVar,{126,"CORES->Estb4i","","scl2121_()"})
    Aadd(aMatVar,{127,"CORES->finb5e","","SCL3290_()"})
    Aadd(aMatVar,{128,"CORES->cl_al","",""})
    Aadd(aMatVar,{129,"CORES->cl_ex","",""})
    Aadd(aMatVar,{130,"CORES->fo_al","",""})
    Aadd(aMatVar,{131,"CORES->fo_ex","",""})
    Aadd(aMatVar,{132,"CORES->fo_hi","",""})
    Aadd(aMatVar,{133,"CORES->fo_lu","",""})
    Aadd(aMatVar,{134,"CORES->Cadb4","","scl1230_()"})
    Aadd(aMatVar,{135,"CORES->pa_al","",""})
    Aadd(aMatVar,{136,"CORES->rc_al","",""})
    Aadd(aMatVar,{137,"CORES->esta3m","","SCL163f_()"})
    Aadd(aMatVar,{138,"CORES->En_Al","",""})
    Aadd(aMatVar,{139,"CORES->En_Ex","",""})
    Aadd(aMatVar,{140,"CORES->Pr_Pr","",""})
    Aadd(aMatVar,{141,"CORES->Esta8k","",""})
    Aadd(aMatVar,{142,"CORES->Finc","","SCL329A_()"})
    Aadd(aMatVar,{143,"CORES->cadb4d","",""})
    Aadd(aMatVar,{144,"CORES->cadb4d1","","scl1244_()"})
    Aadd(aMatVar,{145,"CORES->cadb4d2","",""})
    Aadd(aMatVar,{146,"CORES->cadb4d3","",""})
    Aadd(aMatVar,{147,"CORES->esta3r","","scl1j00_()"})
    Aadd(aMatVar,{148,"CORES->esta3s","","SCL163b2_()"})
    Aadd(aMatVar,{149,"CORES->esta4","","scl16b0_()"})
    Aadd(aMatVar,{150,"CORES->esta5","","SCL217E_()"})
    Aadd(aMatVar,{151,"CORES->Find","","SCL329B_()"})
    Aadd(aMatVar,{152,"CORES->esta3n","","SCL163g_()"})
    Aadd(aMatVar,{153,"CORES->esta3o","","SCL163h_()"})
    Aadd(aMatVar,{154,"CORES->his_in","",""})
    Aadd(aMatVar,{155,"CORES->his_al","",""})
    Aadd(aMatVar,{156,"CORES->his_ex","",""})
    Aadd(aMatVar,{157,"CORES->Fina4a","","SCL3140_()"})
    Aadd(aMatVar,{158,"CORES->Finb4a","","SCL3240_()"})
    Aadd(aMatVar,{159,"CORES->esta3p","","SCL163j_()"})
    Aadd(aMatVar,{160,"CORES->cadc3d","","SCL163k_()"})
    Aadd(aMatVar,{161,"CORES->finb5o","","SCL314A_()"})
    Aadd(aMatVar,{162,"CORES->esta6","","scl16b1_()"})
    Aadd(aMatVar,{163,"CORES->Al_Sd","",""})
    Aadd(aMatVar,{164,"CORES->Pr_Pt","",""})
    Aadd(aMatVar,{165,"CORES->Cla_in","",""})
    Aadd(aMatVar,{166,"CORES->Cla_al","",""})
    Aadd(aMatVar,{167,"CORES->Cla_ex","",""})
    Aadd(aMatVar,{168,"CORES->Pr_Ve","",""})
    Aadd(aMatVar,{169,"CORES->Pr_Pc","",""})
    Aadd(aMatVar,{170,"CORES->ulte","","scl6460_()"})
    Aadd(aMatVar,{171,"CORES->Finb5g","","scl3259_()"})

    cur_dir := "\"+curdir()
    mat_seg := directory("\HL_FLJ.INI","H")
    nsalto_print := 60
    cporta_fis :="COM2"

    if len(mat_seg) = 0
    setcolor("")
    clear

    MsgAlert("O arquivo de configuracao nao foi encontrado","Erro !!!")

    clear all
    quit
    else
    texto = memoread("\HL_FLJ.INI")
    Texto_2= alltrim(memoline(texto,80,2))
    texto_2= alltrim(cript(texto_2,2))
    endif

    cpath_dll :=texto_2+"\DLL"

    set default to &texto_2
    set path to &texto_2
    path_2 = texto_2

    if ! file("EMP01.DBF") .or. ! file("EMP01A.NTX")
    MsgAlert("Execute LHCONFIG.EXE !!!","Erro !!!")
    clear all
    quit
    endif

    lEGrade:=.T.
    cTpAT :="1"

    Use EMP01 Alias EMP01 Shared New
    Set Index To EMP01A

    Seek cEmpresa

    texto_2 :=alltrim(emp01->path_emp)
    path :=texto_2+"\TMP\"

    set default to &texto_2
    set path to &texto_2

    firma :=emp01->nome_fan

    If ! Empty(EMP01->Layout)
    Firma := EMP01->Layout
    EndIf

    DbCloseAll()

    If cModo = 2
    aMatAcesso := {}

    oFile = TTxtFile():New( texto_2+"\"+Alltrim(Left(cArqConf,8))+".LHC" )

    while ! oFile:lEof()
    cLine = oFile:cLine

    cMenu := Left(cLine,At("|",cLine)-1)
    cLine := SubStr(cLine,At("|",cLine)+1)
    cAcesso := Left(cLine,At("|",cLine)-1)
    cChama := SubStr(cLine,At("|",cLine)+1)

    Aadd(aMatAcessos,cAcesso)

    oFile:Skip()
    enddo

    oFile:Close()

    Use CORES Shared New Alias ATUAL
    Set Index To CORESA
    cStruct := ATUAL->( DbStruct())

    DbCreate(Alltrim(Left(cArqConf,8))+".DBF",cStruct)
    Use (Alltrim(Left(cArqConf,8))+".DBF") Exclusive New Alias CORES
    Index On CORES->usuario To (Alltrim(Left(cArqConf,8)))

    If ATUAL->( Dbseek(cUsu))
    CORES->( DbAppend())

    CORES->Usuario := ATUAL->USuario

    For nI := 1 to Len(aMAtAcessos)
    cVar := aMatAcessos[nI]
    &CVar := .T.
    Next

    EndIf

    ATUAL->( DbCloseArea())
    Else
    Use CORES Shared New
    Set Index To CORESA
    EndIf

    seek cUsu

    Use ULT01 Shared New

    cTpLj:=ULT01->TComer
    cCRes:="N"

    If ULT01->Grade = "N" .or. ULT01->Grade = "1"
    lEGrade:=.F.
    EndIf

    If ULT01->Reserva = "S"
    cCRes:="S"
    Endif

    cTpAt:= ULT01->TpAtend

    #ifdef __CLIPPER__
    Set Resources To cpath_dll+"\PAFECF2.DLL"
    #endif

    If cModo = 1
    DEFINE WINDOW oWnd FROM 0,0 TO 400,600 PIXEL ;
    TITLE "Control de Acessos dos Usuarios do Sistema" ;
    MDI Menu MenuPrincipal()
    Else
    DEFINE WINDOW oWnd FROM 0,0 TO 400,600 PIXEL ;
    TITLE "CADASTRAMENTO DE ACESSO PERSONALIZADOS" ;
    MDI Menu MenuPrincipal()
    EndIf

    DEFINE FONT oFont NAME "MS Sans Serif" SIZE 0,16


    SET MESSAGE OF oWnd KEYBOARD NOINSET FONT oFont
    SET FONT OF oWnd TO oFont

    ACTIVATE WINDOW oWnd ;
    On Init ChildTree() VALID ;
    MsgYesNo( "Deseja Encerrar Controle de Usuarios ?", "Selecione uma Opcao !" )

    If File(cArqConf)
    FErase(cArqConf)
    EndIf

    If cModo = 2
    cArqConf := Texto_2+"\"+Alltrim(cArqConf)+".LHC"
    nIHdl := fcreate( cArqConf,0 )

    nPos := AScan(aMAtVar,{|x| x[1] = 107 })

    If nPos > 0 .and. ! Empty(aMAtVar[nPos,3])
    cTexto := aMatVar[nPos,3]

    nPos := AScan(aMAtVar,{|x| x[1] = 1107 })

    If nPos > 0
    aMAtVar[nPos,3] := cTexto
    Endif

    Endif

    If ! lEGrade
    nPos := AScan(aMAtVar,{|x| x[1] = 37 })

    If nPos > 0 .and. ! Empty(aMAtVar[nPos,3])
    aMAtVar[nPos,4] := "scl2111_()"
    EndIf

    EndIf

    For nX := 1 to Len(aMatVar)

    If ! Empty(aMatVar[nX,3]) .and. &(aMatVar[nX,2]) .and. ;
    ! Empty(aMatVar[nX,4])
    FWrite( nIHdl, aMatVar[nX,3]+"|"+aMatVar[nX,2]+"|"+aMatVar[nX,4] + CRLF )
    EndIf

    Next

    FClose( nIHdl )
    EndIf

    DbCloseAll()

    If cModo =2
    cArqConf := StrTran(cArqConf,".LHC","")

    If File(cArqConf+".DBF")
    FErase(cArqConf+".DBF")
    FErase(cArqConf+".NTX")
    EndIf

    Endif

    RETURN nil

    FUNCTION ChildTree()

    LOCAL oBarra
    LOCAL oChild
    LOCAL oTree

    DEFINE WINDOW oChild FROM 0,0 TO 400,600 PIXEL ;
    TITLE "Banco de Dados do Usuario "+;
    Alltrim(Cript(CORES->Usuario,2)) MDICHILD ICON "Database"

    DEFINE BUTTONBAR oBarra OF oChild SIZE 28,29 _3D

    DEFINE BUTTON RESOURCE "Atualizar" OF oBarra ;
    MESSAGE "Atualizar Base de Dados ..." ACTION ( oTree:End(),;
    oChild:Refresh(.T.) ,;
    oTree := CreaTree(oChild) ) ;
    NOBORDER TOOLTIP "Atualizar Base de Datos ..."

    SET MESSAGE OF oChild NOINSET
    DEFINE MSGITEM OF oChild:oMsgBar PROMPT "Controlando Acessos do Usuario" SIZE 250

    ACTIVATE WINDOW oChild ON INIT (oChild:Maximize(),oTree := CreaTree(oChild))

    RETURN NIL

    FUNCTION CreaTree(oChild)

    LOCAL oTree
    LOCAL oRoot
    LOCAL oLink

    LOCAL nStep

    @ 0, 0 TREE oTree OF oChild ;
    SIZE 0, 0 PIXEL ;
    BITMAPS { "Paper","FoldClose","FoldOpen", "BookClose", "BookOpen",;
    "Tabla", "Procedimiento", "Usuario", "Server", "Ejecutivo",;
    "Respaldo","selected","unselected" } ;
    TREE STYLE nOr( TVS_HASLINES, TVS_HASBUTTONS ) ;
    ON DBLCLICK ClickTree(oTree)

    oChild:SetControl(oTree)

    oRoot := oTree:GetRoot()
    oRoot2:= oTree:GetRoot()
    oRoot3:= oTree:GetRoot()

    // Acessos Sistema de Retaguarda //

    oRoot:=oRoot:AddLastChild( "Controle de Acessos LH Retaguarda", 9, 8 )
    oLink:=oRoot:AddLastChild( "Cadastros", 3, 2 )
    oBloq1:=oLink:AddLastChild( "Clientes" , 3, 2 )
    oBloq1:AddLastChild( "Inclusao" ,,_VAMenu2(3,1,"ClientesInclusao") )
    oBloq1:AddLastChild( "Consulta/Alteracao/Exclusao" ,,_VAMenu2(4,1,"ClientesConsulta/Alteracao/Exclusao"))
    oBloq1:AddLastChild( "Altera Clientes" ,,_VAMenu2(128,1,"ClientesAltera Clientes"))
    oBloq1:AddLastChild( "Exclui Clientes" ,,_VAMenu2(129,1,"ClientesExclui Clientes"))
    oBloq1:AddLastChild( "Libera Clientes Bloqueados" ,,_VAMenu2(119,1,"ClientesLibera Clientes Bloqueados"))
    oBloq11:=oBloq1:AddLastChild( "Relatorios de Clientes" , 3, 2 )
    oBloq11:AddLastChild( "Completo" ,,_VAMenu2(6,1,"Relatorios de ClientesCompleto"))
    oBloq11:AddLastChild( "Aniversario" ,,_VAMenu2(7,1,"Relatorios de ClientesAniversario"))
    oBloq11:AddLastChild( "Planos" ,,_VAMenu2(8,1,"Relatorios de ClientesPlanos"))
    oBloq2:=oLink:AddLastChild( "Fornecedores" , 3, 2 )
    oBloq2:AddLastChild( "Inclusao" ,,_VAMenu2(10,1,"FornecedoresInclusao"))
    oBloq2:AddLastChild( "Consulta/Alteracao/Exclusao" ,,_VAMenu2(11,1,"FornecedoresConsulta/Alteracao/Exclusao"))
    oBloq2:AddLastChild( "Altera Fornecedor" ,,_VAMenu2(130,1,"FornecedoresAltera Fornecedor"))
    oBloq2:AddLastChild( "Exclui Fornecedor" ,,_VAMenu2(131,1,"FornecedoresExclui Fornecedor"))
    oBloq2:AddLastChild( "Alterar Historico" ,,_VAMenu2(132,1,"FornecedoresAlterar Historico"))
    oBloq2:AddLastChild( "Dados Comerciais" ,,_VAMenu2(133,1,"FornecedoresDados Comerciais"))
    oBloq2:AddLastChild( "Relatorios" ,,_VAMenu2(12,1,"FornecedoresRelatorios"))
    oBloq2:AddLastChild( "Conexao com Fornecedores" ,,_VAMenu2(134,1,"FornecedoresConexao com Fornecedores"))
    oBloq40:=oBloq2:AddLastChild( "Compras", 3, 2 )
    oBloq40:AddLastChild("Comprador" ,,_VAMenu2(117,1,"ComprasComprador"))
    oBloq40:AddLastChild("Lancamento" ,,_VAMenu2(113,1,"ComprasLancamento"))
    oBloq40:AddLastChild("Alteracao" ,,_VAMenu2(114,1,"ComprasAlteracao"))
    oBloq40:AddLastChild("Tabela de Autorizacao",,_VAMenu2(115,1,"ComprasTabela de Autorizacao"))
    oBloq41:=oBloq40:AddLastChild("Relatorios" ,3,2)
    oBloq41:AddLastChild("Emite Pedido de Compras" ,,_VAMenu2(144,1,"RelatoriosEmite Pedido de Compras"))
    oBloq41:AddLastChild("Emite Saldo dos Pedidos de Compras" ,,_VAMenu2(145,1,"RelatoriosEmite Saldo dos Pedidos de Compras"))
    oBloq41:AddLastChild("Comparacao com Tabela de Autorizacao Mensal" ,,_VAMenu2(146,1,"RelatoriosComparacao com Tabela de Autorizacao Mensal"))

    If cTpLj = "7"
    oBloq3:=oLink:AddLastChild( "Funcionario" , 3, 2 )
    oBloq3:AddLastChild( "Inclusao" ,,_VAMenu2(13,1,"FuncionarioInclusao"))
    oBloq3:AddLastChild( "Consulta/Alteracao/Exclusao" ,,_VAMenu2(14,1,"FuncionarioConsulta/Alteracao/Exclusao"))
    oBloq3:AddLastChild( "Relatorios" ,,_VAMenu2(15,1,"FuncionarioRelatorios"))
    Else
    oBloq3:=oLink:AddLastChild( "Vendedor" , 3, 2 )
    oBloq3:AddLastChild( "Inclusao" ,,_VAMenu2(13,1,"VendedorInclusao"))
    oBloq3:AddLastChild( "Consulta/Alteracao/Exclusao" ,,_VAMenu2(14,1,"VendedorConsulta/Alteracao/Exclusao"))
    oBloq3:AddLastChild( "Relatorios" ,,_VAMenu2(15,1,"VendedorRelatorios"))
    EndIf

    oBloq4:=oLink:AddLastChild( "Grupos" ,,_VAMenu2(16,1,"CadastrosGrupos"))
    oBloq5:=oLink:AddLastChild( "Sub-Grupos" ,,_VAMenu2(17,1,"CadastrosSub-Grupos"))
    oBloq6:=oLink:AddLastChild( "Multi-Grupos",,_VAMenu2(18,1,"CadastrosMulti-Grupos"))
    oBloq7:=oLink:AddLastChild( "Marca" ,,_VAMenu2(19,1,"CadastrosMarca"))
    oBloq8:=oLink:AddLastChild( "Produto" , 3, 2 )
    oBloq8:AddLastChild( "Inclusao" ,,_VAMenu2(20,1,"ProdutoInclusao"))
    oBloq8:AddLastChild( "Consulta/Alteracao/Exclusao" ,,_VAMenu2(21,1,"ProdutoConsulta/Alteracao/Exclusao"))
    oBloq8:AddLastChild( "Alterar Produtos" ,,_VAMenu2(109,1,"ProdutoAlterar Produtos"))
    oBloq8:AddLastChild( "Excluir Produtos" ,,_VAMenu2(110,1,"ProdutoExcluir Produtos"))
    oBloq8:AddLastChild( "Alterar Preco de Custo" ,,_VAMenu2(169,1,"ProdutoAlterar Preco de Custo"))
    oBloq8:AddLastChild( "Alterar Preco de Venda" ,,_VAMenu2(168,1,"ProdutoAlterar Preco de Venda"))
    oBloq8:AddLastChild( "Alterar Preco de Promocao" ,,_VAMenu2(140,1,"ProdutoAlterar Preco de Promocao"))
    oBloq8:AddLastChild( "Alterar Local na Prateleira" ,,_VAMenu2(164,1,"ProdutoAlterar Local na Prateleira"))
    oBloq8:AddLastChild( "Gera Codigo de Barras" ,,_VAMenu2(22,1,"ProdutoGera Codigo de Barras"))

    If lEGrade
    oBloq8:AddLastChild( "Grades" ,,_VAMenu2(23,1,"ProdutoGrades"))
    EndIf

    oBloq8:AddLastChild( "Altera Codigo de Produtos" ,,_VAMenu2(24,1,"ProdutoAltera Codigo de Produtos"))

    If ! lEGrade
    oBloq8:AddLastChild( "Familia de Produtos" ,,_VAMenu2(25,1,"ProdutoFamilia de Produtos"))
    EndIf

    If cTpLj = "3" .or. ULT01->Producao = "S"
    oBloq8:AddLastChild( "Composicao" ,,_VAMenu2(26,1,"ProdutoComposicao"))
    EndIf

    If cTpLj = "1"
    oBloq8:AddLastChild( "Produtos em Falta",,_VAMenu2(112,1,"ProdutoProdutos em Falta"))
    Endif

    oBloq8:AddLastChild( "Gera Codigo para Balanca" ,,_VAMenu2(27,1,"ProdutoGera Codigo para Balanca"))
    oBloq8:AddLastChild( "Ajuste de Precos" ,,_VAMenu2(149,1,"ProdutoAjuste de Precos"))

    If cTpLj = "7"
    oBloq8:AddLastChild( "Ajuste de Precos por Fator" ,,_VAMenu2(162,1,"ProdutoAjuste de Precos por Fator"))
    EndIf

    oBloq26 :=oLink:AddLastChild( "Classificacao Fiscal" , 3, 2 )
    oBloq26:AddLastChild( "Inclusao" ,,_VAMenu2(165,1,"Classificacao FiscalInclusao"))
    oBloq26:AddLastChild( "Alteracao" ,,_VAMenu2(166,1,"Classificacao FiscalAlteracao"))
    oBloq26:AddLastChild( "Exclusao" ,,_VAMenu2(167,1,"Classificacao FiscalExclusao"))

    oBloq9 :=oLink:AddLastChild( "Natureza de Operacao" , 3, 2 )
    oBloq9:AddLastChild( "Consulta" ,,_VAMenu2(28,1,"Natureza de OperacaoConsulta"))
    oBloq9:AddLastChild( "Inclusao" ,,_VAMenu2(123,1,"Natureza de OperacaoInclusao"))
    oBloq9:AddLastChild( "Alteracao" ,,_VAMenu2(124,1,"Natureza de OperacaoAlteracao"))
    oBloq9:AddLastChild( "Exclusao" ,,_VAMenu2(125,1,"Natureza de OperacaoExclusao"))
    oBloq10:=oLink:AddLastChild( "Condicao de Pagamento" ,,_VAMenu2(29,1,"CadastrosCondicao de Pagamento"))
    oBloq11:=oLink:AddLastChild( "Transportadoras" ,,_VAMenu2(30,1,"CadastrosTransportadoras"))
    oBloq12:=oLink:AddLastChild( "Portador" ,,_VAMenu2(31,1,"CadastrosPortador"))
    oBloq12:=oLink:AddLastChild( "Planos Comerciais" ,,_VAMenu2(32,1,"CadastrosPlanos Comerciais"))
    oBloq12:=oLink:AddLastChild( "Ramo de Atividade" ,,_VAMenu2(147,1,"CadastrosRamo de Atividade"))
    oBloq12:=oLink:AddLastChild( "Rede de Clientes" ,,_VAMenu2(148,1,"CadastrosRede de Clientes"))
    oBloq13:=oLink:AddLastChild( "Conta" ,,_VAMenu2(33,1,"CadastrosConta"))
    oBloq14:=oLink:AddLastChild( "Sub-Conta" ,,_VAMenu2(34,1,"CadastrosSub-Conta"))
    oBloq15:=oLink:AddLastChild( "Lojas" ,,_VAMenu2(35,1,"CadastrosLojas"))
    oBloq16:=oLink:AddLastChild( "Cadastro do Contabilista" ,,_VAMenu2(36,1,"CadastrosCadastro do Contabilista"))
    oBloq17:=oLink:AddLastChild( "Cadastro Situacao da Conta Cliente" ,,_VAMenu2(118,1,"CadastrosCadastro Situacao da Conta Cliente"))
    oBloq42 :=oLink:AddLastChild( "Historico Contabil" , 3, 2 )
    oBloq42:AddLastChild( "Inclusao" ,,_VAMenu2(154,1,"Historico ContabilInclusao"))
    oBloq42:AddLastChild( "Alteracao" ,,_VAMenu2(155,1,"Historico ContabilAlteracao"))
    oBloq42:AddLastChild( "Exclusao" ,,_VAMenu2(156,1,"Historico ContabilExclusao"))

    oLink:=oRoot:AddLastChild( "Movimentacao", 3, 2 )
    oBloq17:=oLink:AddLastChild("Entradas",,_VAMenu2(37,1,"MovimentacaoEntradas"))
    oBloq17:=oLink:AddLastChild("Alterar Notas",,_VAMenu2(138,1,"MovimentacaoAlterar Notas"))
    oBloq17:=oLink:AddLastChild("Excluir Notas",,_VAMenu2(139,1,"MovimentacaoExcluir Notas"))
    oBloq18:=oLink:AddLastChild("Balanco" ,,_VAMenu2(38,1,"MovimentacaoBalanco"))
    oBloq18:=oLink:AddLastChild("Nota Fiscal de Devolucao/Reentrada" ,,_VAMenu2(126,1,"MovimentacaoNota Fiscal de Devolucao/Reentrada"))

    If ULT01->Producao = "S"
    oBloq19:=oLink:AddLastChild("Ordem de Fabricacao" ,,_VAMenu2(108,1,"MovimentacaoOrdem de Fabricacao"))
    EndIf

    If ULT01->CFrete = "S"
    oBloq19:=oLink:AddLastChild("Conhecimento de Frete" ,,;
    _VAMenu2(150,1,"MovimentacaoConhecimento de Frete"))
    EndIf

    oLink:=oRoot:AddLastChild( "Financas", 3, 2 )
    oBloq19:=oLink:AddLastChild("Contas a Pagar",3,2)
    oBloq19:AddLastChild("Inclusao" ,,_VAMenu2(39,1,"Contas a PagarInclusao"))
    oBloq19:AddLastChild("Consulta/Alteracao" ,,_VAMenu2(40,1,"Contas a PagarConsulta/Alteracao"))
    oBloq19:AddLastChild("Alteracao de Contas" ,,_VAMenu2(135,1,"Contas a PagarAlteracao de Contas"))
    oBloq19:AddLastChild("Exclusao" ,,_VAMenu2(41,1,"Contas a PagarExclusao"))
    oBloq19:AddLastChild("Quita" ,,_VAMenu2(42,1,"Contas a PagarQuita"))
    oBloq19:AddLastChild("Estorna" ,,_VAMenu2(157,1,"Contas a PagarEstorna"))
    oBloq19:AddLastChild("Fatura a Pagar",,_VAMenu2(151,1,"Contas a PagarFatura a Pagar"))
    oBloq19:AddLastChild("Gerar Despesas Fixas",,_VAMenu2(161,1,"Contas a PagarGerar Despesas Fixas"))
    oBloq20:=oLink:AddLastChild("Contas a Receber",3,2)
    oBloq20:AddLastChild("Inclusao" ,,_VAMenu2(43,1,"Contas a ReceberInclusao"))
    oBloq20:AddLastChild("Consulta/Alteracao" ,,_VAMenu2(44,1,"Contas a ReceberConsulta/Alteracao"))
    oBloq20:AddLastChild("Alteracao de Contas" ,,_VAMenu2(136,1,"Contas a ReceberAlteracao de Contas"))
    oBloq20:AddLastChild("Exclusao" ,,_VAMenu2(45,1,"Contas a ReceberExclusao"))
    oBloq20:AddLastChild("Quita" ,,_VAMenu2(46,1,"Contas a ReceberQuita"))
    oBloq20:AddLastChild("Estorna" ,,_VAMenu2(158,1,"Contas a ReceberEstorna"))
    oBloq20:AddLastChild("Ficha de Cliente" ,,_VAMenu2(47,1,"Contas a ReceberFicha de Cliente"))
    oBloq20:AddLastChild("Boleto Bancario" ,,_VAMenu2(120,1,"Contas a ReceberBoleto Bancario"))
    oBloq20:AddLastChild("Duplicata" ,,_VAMenu2(121,1,"Contas a ReceberDuplicata"))
    oBloq20:AddLastChild("Previa de Recebimento",,_VAMenu2(127,1,"Contas a ReceberPrevia de Recebimento"))
    oBloq20:AddLastChild("Fatura a Receber",,_VAMenu2(142,1,"Contas a ReceberFatura a Receber"))
    oBloq20:AddLastChild("Nota de Debito",,_VAMenu2(161,1,"Contas a ReceberNota de Debito"))
    oBloq21:=oLink:AddLastChild("Bancario",3,2)
    oBloq21:AddLastChild("Contas" ,,_VAMenu2(48,1,"BancarioContas"))
    oBloq21:AddLastChild("Movimentacao" ,,_VAMenu2(49,1,"BancarioMovimentacao"))
    oBloq21:AddLastChild("Extratos" ,,_VAMenu2(50,1,"BancarioExtratos"))
    oLink:=oRoot:AddLastChild( "Relatorios", 3, 2 )
    oBloq22:=oLink:AddLastChild("Produtos x Estoque" ,,_VAMenu2(51,1,"RelatoriosProdutos x Estoque"))
    oBloq23:=oLink:AddLastChild("Etiquetas Cod.Barras" ,,_VAMenu2(52,1,"RelatoriosEtiquetas Cod.Barras"))
    oBloq24:=oLink:AddLastChild("Vendas" ,,_VAMenu2(53,1,"RelatoriosVendas"))
    oBloq24:=oLink:AddLastChild("Vendas Canceladas" ,,_VAMenu2(152,1,"RelatoriosVendas Canceladas"))
    oBloq24:=oLink:AddLastChild("Devolucoes" ,,_VAMenu2(153,1,"RelatoriosDevolucoes"))
    oBloq24:=oLink:AddLastChild("Sugestao de Compras" ,,_VAMenu2(122,1,"RelatoriosSugestao de Compras"))
    oBloq24:=oLink:AddLastChild("Produtos Comprados",,_VAMenu2(137,1,"RelatoriosProdutos Comprados"))
    oBloq24:=oLink:AddLastChild("Produtos nao Movimentados",,_VAMenu2(159,1,"RelatoriosProdutos nao Movimentados"))
    oBloq25:=oLink:AddLastChild("Comissao" ,,_VAMenu2(54,1,"RelatoriosComissao"))

    If cTpLj = "7"
    oBloq25:=oLink:AddLastChild("Comissao por Pagamento" ,,_VAMenu2(160,1,"RelatoriosComissao por Pagamento"))
    Endif

    If cTpAt >= "3"
    oBloq26:=oLink:AddLastChild("Movimento de DAV" ,,_VAMenu2(55,1,"RelatoriosMovimento de DAV"))
    oBloq27:=oLink:AddLastChild("Segunda Via do DAV" ,,_VAMenu2(56,1,"RelatoriosSegunda Via do DAV"))

    If cTpLj = "6"
    oBloq33:=oLink:AddLastChild("Emitir Varias Copias DAV",,_VAMenu2(104,1,"RelatoriosEmitir Varias Copias DAV"))
    EndIf

    oBloq34:=oLink:AddLastChild("Relatorio de Reservas",,_VAMenu2(92,1,"RelatoriosRelatorio de Reservas"))
    EndIf

    oBloq28:=oLink:AddLastChild("Notas Emitidas" ,,_VAMenu2(57,1,"RelatoriosNotas Emitidas"))
    oBloq29:=oLink:AddLastChild("Total Por ICMS" ,,_VAMenu2(58,1,"RelatoriosTotal Por ICMS"))
    oBloq30:=oLink:AddLastChild("Fiscal/Sintegra",,_VAMenu2(59,1,"RelatoriosFiscal/Sintegra"))
    oBloq31:=oLink:AddLastChild("Inventario Estoque" ,,_VAMenu2(60,1,"RelatoriosInventario Estoque"))
    oBloq33:=oLink:AddLastChild("Ficha Cardex",,_VAMenu2(93,1,"RelatoriosFicha Cardex"))

    If ! cTpLj $ "34"
    oBloq34:=oLink:AddLastChild("Vendas Apuracao PIS/COFINS" ,,_VAMenu2(103,1,"RelatoriosVendas Apuracao PIS/COFINS"))
    EndIf

    If cTpAt >= "3"
    oBloq35:=oLink:AddLastChild("Controle DAV/RPV" ,,_VAMenu2(106,1,"RelatoriosControle DAV/RPV"))
    EndIf

    oBloq36:=oLink:AddLastChild("Ranking de Vendas" ,,_VAMenu2(107,1,"RelatoriosRanking de Vendas"))
    oBloq37:=oLink:AddLastChild("SPED PIS/COFINS",,_VAMenu2(141,1,"RelatoriosSPED PIS/COFINS"))

    oBloq32:=oLink:AddLastChild("Relatorio Financeiro" ,3,2)
    oBloq32:AddLastChild( "Contas a Pagar" ,,_VAMenu2(61,1,"Relatorio FinanceiroContas a Pagar"))
    oBloq32:AddLastChild( "Contas a Receber" ,,_VAMenu2(62,1,"Relatorio FinanceiroContas a Receber"))
    oBloq32:AddLastChild( "Posicao Financeira" ,,_VAMenu2(116,1,"Relatorio FinanceiroPosicao Financeira"))
    oBloq32:AddLastChild( "Boletim Financeiro" ,,_VAMenu2(171,1,"Relatorio FinanceiroBoletim Financeiro"))
    oLink:=oRoot:AddLastChild( "Comunicacao", 3, 2 )
    oBloq22:=oLink:AddLastChild("Exporta Cadastros" ,,_VAMenu2(63,1,"ComunicacaoExporta Cadastros"))
    oBloq23:=oLink:AddLastChild("Importa Movimento" ,,_VAMenu2(64,1,"ComunicacaoImporta Movimento"))
    oLink:=oRoot:AddLastChild( "Utilitarios", 3, 2 )
    oBloq24:=oLink:AddLastChild("Manutencao" ,,_VAMenu2(65,1,"UtilitariosManutencao"))
    oBloq27:=oLink:AddLastChild("Conferencia Produto",,_VAMenu2(94,1,"UtilitariosConferencia Produto"))
    oBloq28:=oLink:AddLastChild("Conferencia Estoque Geral",,_VAMenu2(95,1,"UtilitariosConferencia Estoque GeralConferencia Estoque Geral"))
    oBloq25:=oLink:AddLastChild("Parametros" ,,_VAMenu2(66,1,"UtilitariosParametros"))
    oBloq26:=oLink:AddLastChild("Controle de Usuarios" ,3,2)
    oBloq26:AddLastChild( "Consulta Usuarios",,_VAMenu2(67,1,"Controle de UsuariosConsulta Usuarios"))
    oBloq26:AddLastChild( "Cadastrar Novo Usuario",,_VAMenu2(96,1,"Controle de UsuariosCadastrar Novo Usuario"))
    oBloq26:AddLastChild( "Alterar Senha",,_VAMenu2(97,1,"Controle de UsuariosAlterar Senha"))
    oBloq26:AddLastChild( "Alterar Acessos",,_VAMenu2(98,1,"Controle de UsuariosAlterar Acessos"))
    oBloq26:AddLastChild( "Excluir Usuario",,_VAMenu2(99,1,"Controle de UsuariosExcluir Usuario"))
    oBloq26:AddLastChild( "Copiar Acessos de Usuario",,_VAMenu2(100,1,"Controle de UsuariosCopiar Acessos de Usuario"))
    oBloq27:=oLink:AddLastChild("Auditoria" ,,_VAMenu2(170,1,"UtilitariosAuditoria"))

    // Acessos Sistema de Vendas //

    oRoot2:=oRoot2:AddLastChild( "Controle de Acessos LH VENDAS", 9, 8 )
    oLink:=oRoot2:AddLastChild( "Vendas", 3, 2 )
    oBloq24:=oLink:AddLastChild("Venda Direta" ,,_VAMenu2(68,1,"VendasVenda Direta"))
    oBloq24:=oLink:AddLastChild("Relatorios Fiscais" ,,_VAMenu2(69,1,"VendasRelatorios Fiscais"))
    oBloq24:=oLink:AddLastChild("Cancelamento de Vendas" ,,_VAMenu2(70,1,"VendasCancelamento de Vendas"))

    If ULT01->SCan = "S"
    oBloq24:=oLink:AddLastChild("Permissao para Cancelamento" ,,_VAMenu2(111,1,"VendasPermissao para Cancelamento"))
    EndIf

    oBloq24:=oLink:AddLastChild("Caixa" ,,_VAMenu2(71,1,"VendasCaixa"))

    If At("LAND",Firma) != 0 .or. cTpLj = "1"
    oBloq24:=oLink:AddLastChild("Troca de Mercadoria" ,,_VAMenu2(72,1,"VendasTroca de Mercadoria"))
    EndIf

    oBloq24:=oLink:AddLastChild("Nota Fiscal Manual" ,,_VAMenu2(73,1,"VendasNota Fiscal Manual"))
    oBloq24:=oLink:AddLastChild("Exclui Item na Venda (ECF)" ,,_VAMenu2(101,1,"VendasExclui Item na Venda (ECF)"))
    oBloq24:=oLink:AddLastChild("Desconto Acima do limite",,_VAMenu2(102,1,"VendasDesconto Acima do limite"))
    oBloq24:=oLink:AddLastChild("Cancelamento Nota Fiscal",,_VAMenu2(105,1,"VendasCancelamento Nota Fiscal"))
    oBloq24:=oLink:AddLastChild("Informar Saldo Inicial Caixa",,_VAMenu2(163,1,"VendasInformar Saldo Inicial Caixa"))
    oLink:=oRoot2:AddLastChild( "Comunicacao", 3, 2 )
    oBloq25:=oLink:AddLastChild("Importa Cadastros" ,,_VAMenu2(90,1,"ComunicacaoImporta Cadastros"))
    oBloq25:=oLink:AddLastChild("Exporta Movimento" ,,_VAMenu2(91,1,"ComunicacaoExporta Movimento"))


    /* // Acessos Sistema de Compras //
    oRoot3:=oRoot3:AddLastChild( "Controle de Acessos LH COMPRAS", 9, 8 )
    oLink:=oRoot3:AddLastChild( "Compras", 3, 2 )
    oBloq24:=oLink:AddLastChild("Comprador" ,,_VAMenu2(117,1,"ComprasComprador"))
    oBloq24:=oLink:AddLastChild("Lancamento" ,,_VAMenu2(113,1,"ComprasLancamento"))
    oBloq24:=oLink:AddLastChild("Alteracao" ,,_VAMenu2(114,1,"ComprasAlteracao"))
    oBloq24:=oLink:AddLastChild("Tabela de Autorizacao",,_VAMenu2(115,1,"ComprasTabela de Autorizacao"))
    oBloq24:=oLink:AddLastChild("Relatorios" ,3,2)
    oBloq24:AddLastChild("Emite Pedido de Compras" ,,_VAMenu2(144,1,"RelatoriosEmite Pedido de Compras"))
    oBloq24:AddLastChild("Emite Saldo dos Pedidos de Compras" ,,_VAMenu2(145,1,"RelatoriosEmite Saldo dos Pedidos de Compras"))
    oBloq24:AddLastChild("Comparacao com Tabela de Autorizacao Mensal" ,,_VAMenu2(146,1,"RelatoriosComparacao com Tabela de Autorizacao Mensal"))
    */

    oTree:UpdateTV()
    oTree:Expand(0)
    oTree:Expand(7)
    //oTree:Expand(10)
    oTree:SetFocus()

    RETURN oTree
    **************************************************************************
    Function ClickTree( oTree )
    LOCAL oLink := oTree:GetLinkAt( oTree:GetCursel() )
    LOCAL cPrompt := oLink:TreeItem:cPrompt
    LOCAL cParent, nPos,nPos2

    If At( Left(cPrompt,19) , "Controle de Acessos" ) > 0
    Else
    nPos := oTree:GetCursel()
    cParent := oLink:ParentLink:TreeItem:cPrompt
    nPos2 := AScan(aMatVar,{|x| x[3] = cParent+cPrompt })

    If nPos2 > 0
    cVar := aMatVar[nPos2,2]

    Do While CORES->(! RLock()); EndDo

    &cVar. := ! &cVar.

    CORES->( DbUnlock())

    If &cVar.
    oTree:Modify( nPos, cPrompt, , 12 )
    Else
    oTree:Modify( nPos, cPrompt, , 13 )
    EndIf

    EndIf

    EndIf

    Return(Nil)
    *********************************************************************************
    Static Function MenuPrincipal()
    local oMenu

    Menu oMenu
    MenuItem "&Sair do Sistema" ;
    Action oWnd:End()
    EndMenu

    return oMenu
    ********************************************************************************
    Function _VAMenu2(nVar,Modo,cTexto)
    Local Ret,cArea:=Alias()
    Local lCores:=Select("CORES")==0,nPos

    Modo := If(Modo=Nil,1,Modo)

    nPos := AScan(aMatVar,{|x| x[1] = nVar })

    If Modo = 1
    Ret := 13
    Else
    Ret := .F.
    Endif

    If nPos <= 0
    Else

    If Empty(aMatVar[nPos,3])
    aMatVar[nPos,3]:=cTexto
    EndIf

    cVar := aMatVar[nPos,2]

    If &cVar.

    If Modo = 1
    Ret := 12
    Else
    Ret := .T.
    Endif

    Endif

    EndIf

    If ! empty(cArea)
    Select (cArea)
    Endif

    Return(Ret)
    ****************************************************************************
    Function cript(mvar,modo)
    local tam:=len(mvar)
    local i
    local var1,var2:=""

    if modo = 1 // criptografa

    for i = 1 to tam
    var1 = substr(mvar,i,1)
    var2+= (chr(asc(var1)+81+(i*2)))
    next

    elseif modo = 2

    for i = 1 to tam
    var1 = substr(mvar,i,1)
    var2+= (chr(asc(var1)-81-(i*2)))
    next

    endif

    return(var2)

  5. 001 - Valdir - Jundiaí/SP

    002 - Ana - Cianorte/PR

    003 - Cesar - Cianorte/PR

    004 - EMotta Sistemas - Nova Odessa/SP

    005 - EMotta Sistemas - Nova Odessa/SP

    006 - EMotta Sistemas - Nova Odessa/SP

    007 - EMotta Sistemas - Nova Odessa/SP
    008 - EMotta Sistemas - Nova Odessa/SP
    009 - Império

    010 - Evandro - Curvelo/MG

    011 - Dorneles

    012 - Dorneles

    013 - Kleyber Derick / MA

    014 - Geraldo (gbsilva)

    015 - Fnl - Jorge (SP)

    016 - - Fnl - Aum (SP)

    017 - Rubens (SP)

    018 - Cleber Conde - Caratinga/MG

    019- Sebastião de Oliveira Pessoa (TiaoFw) / Contagem - MG

    020 - Luiz Roberto Servulo / Diadema/SP

    021 - Jackson Douglas C. Brito - Boa Vista (RR)

    022 - Alexandre Pereira (alex2002) - Belo Horizonte / MG

    023 - Leonardo Machado(Sygecom ) - Alvorada / RS
    024 - Gilmer Luiz Orro Tavares (fivewin.com.br) - Sorocaba / SP
    025 - Herberson Carlos Gontijo (Ponteware Informática) - Belo Horizonte / MG
    026 - André Emerenciano dos Santos (Ponteware Informática) - Belo Horizonte / MG

    027 - Carlos Eduardo Leÿendecker (decker) - São Paulo - SP

    028 - José Eduardo Chamon - São Paulo
    029 - Vailton Renato - São Paulo
    030 - José Manoel - São Paulo
    031 - Rodrigo Portugal - São Paulo
    032 - Wesley Rodrigues - São Paulo

    033 - Júnior (WebNet) - São Paulo

    034 - Everton Battiston - Chapecó - SC

    035 - Marcio Eduardo Teixeira - Visconde do Rio Branco - MG

    036 - LHSISTEMAS - Vitória ES

    037 - LHSISTEMAS - Vitória ES

  6. Boa tarde.

     

    Tenho rodando(16bits) um módulo no meu software para definir o controle de acesso a determinadas rotinas para os usuários,

    Porém, ao migrar para 32 bits, dá erro ao criar a árvore Tree, um tal de "argument error conditional".

    O que é isto ?

  7. Sergio, bom dia.

     

    SIm, pode-se vincular vários cupons numa mesma NFe, cabe ao software administrar isto.

    Quanto aos CFOP´s devem ser:

     

    VENDA 5102    DEVOLUÇÃO 1202

    VENDA 5405    DEVOLUÇÃO 1411

     

    CST do ICMS mantem-se os mesmos.

    CST PIS/COFINS deve ser o como na saída, ou seja, veja na tabela de CST PIS/COFINS e código para a entrada.

     

    Espero ter ajudado.

     

    Abraços.

     

    Léo.

  8. Bobkolho1, boa noite.

     

    Já passei por problemas, assim, na empresa do cliente a rede tinha 32 estações e 2 servidores.

    Depois de muito tempo, detectei que havia uma placa de rede que estava causando problemas, pois, sempre que aquele usuário fazia alguma gravação/atualização no banco, o sistema dava "pau" nos "indices". Daí tinha que para o financeiro e realizar nova indexação. Daí optei por trocar a placa de rede por conta própria e desativar a LAN on-board, nunca mais tive este tipo de problema. Há também casos de cabeamento ruim, placa de rede(principalmente on-board) e até porta de switch queimando. Um técnico disse-me que o Switch queima de 4 e 4 portas e não uma só.

     

    Espero ter ajudado.

  9. João, bom dia.

     

    O site www.sqllib.com.br está fora do ar.

     

    Mais uma pergunta, em qualquer versão do MySQL isto funciona, ou existe uma versão definida "fixa".

     

    Abraços,

     

    Leonardo.

  10. Bom dia.

     

    Onde consigo a SQLLIB e a SQLRDD, onde no código-fonte "seto" que vou utilizar MYSQL.

     

    OBS: Se puder exibir um trecho do código-fonte serie de bom agrado.

     

    Abraços,

     

    Leonardo

  11. Theotokos, boa tarde.

     

    Segue um exemplo abaixo:

     

       oFile := TTxtFile():New(cFileCMD)  // Arquivo TXT a ler
       
       Define Dialog oDlgWait RESOURCE "AGUARDA" of oWndExcel Title "Gerando Arquivo MS-Excel"

       nPercent := 0
       nLinhas  := oFile:LastRec()  // Pega a quantidade de linhas no arquivo TXT

       Redefine Progress oPercent ID 101 OF oDlgWait

       Activate Dialog oDlgWait Centered NoWait

       oPercent:SetRange( 1, nLinhas )

       oPercent:SetStep(1)

       oExcel:= TExcelScript():New()
       oExcel:Visible := .F.
       oExcel:Open( cDestino ) // abre o documento vazio que utilizo como modelo(template)

       Do While ! oFile:lEof()
           oPercent:SetPos( oFile:nRecno() )

           cLinhaTXT := Alltrim(oFile:cLine)  // Le a linha do arquivo TXT

          If ! Empty(cLinhaTXT)
             oExcel:Eval( cLinhaTXT )
          EndIf

          oFile:Skip( 1 )  // Salta uma linha no arquivo TXT(vai para a próxima linha)
       ENDDO

       oExcel:Save()
       oExcel:End(.T.)
       oFile:End()
     

    É como trabalhar com arquivo DBF.

     

    Abraços,

    Léo.

  12. Theotokos, boa tarde.

     

    Leia o conteúdo do campo memo e grave num arquivo(TXT) qualquer, daí use a classe TXTFILE para leer linha a linha e formatar a linha que deseja.

     

    Abraços,

    Léo.

  13. Ercilei, novamente abaixo a TREEVIEW.CH

     

    // TreeView for FiveWin for Clipper / FiveWin for Harbour / FiveWin++

    #ifndef _TREEVIEW_CH
    #define _TREEVIEW_CH

    #define WM_SETREDRAW    11

    #define TVS_HASBUTTONS           1
    #define TVS_HASLINES           2
    #define TVS_LINESATROOT        4
    #define TVS_EDITLABELS           8
    #define TVS_SHOWSELALWAYS      32

    #define TIS_NORMAL    0
    #define TIS_FIRST     1
    #define TIS_LAST      2
    #define TIS_PARENT    4
    #define TIS_OPEN      8

    // insert styles
    #define IS_FIRST      1
    #define IS_LAST       2
    #define IS_AFTER      3
    #define IS_FIRSTCHILD      4
    #define IS_LASTCHILD      5

    // get styles
    #define TVGN_ROOT      0
    #define TVGN_NEXT      1
    #define TVGN_PREVIOUS      2
    #define TVGN_PARENT      3
    #define TVGN_CHILD      4
    #define TVGN_CARET      5

    // expand styles
    #define TVE_COLLAPSE      0
    #define TVE_EXPAND      1
    #define TVE_TOGGLE      2

    #xcommand @ <nRow>, <nCol> TREE <oTree> ;
             [ SIZE <nWidth>, <nHeight> ] ;
             [ ON CHANGE <uChange> ] ;
                 [ ON [ LEFT ] DBLCLICK <uLDblClick> ] ;
             [ <of: OF, WINDOW, DIALOG > <oWnd> ] ;
                 [ VALID <uValid> ] ;
             [ <color: COLOR,COLORS> <nClrFore> [,<nClrBack>] ] ;
             [ FONT <oFont> ] ;
             [ BITMAPS <aBitmaps> ] ;
             [ MASKS <aMasks> ] ;
             [ <help:HELP, HELPID, HELP ID> <nHelpId> ] ;
                 [ MESSAGE <cMsg> ] ;
                 [ WHEN <uWhen> ] ;
             [ <pixel: PIXEL> ] ;
             [ TREE STYLE <nTreeStyle> ] ;
                 [ <lNoBorder: NO BORDER, NOBORDER> ] ;
                 [ <lNoVScroll: NO VSCROLL, NOVSCROLL> ] ;
                 [ <lNoHScroll: NO HSCROLL, NOHSCROLL> ] ;
        => ;
               <oTree> := TTreeView():New( <nRow>, <nCol>, <nWidth>, <nHeight>, <oWnd>, ;
                  <aBitmaps>, <aMasks>, <{uChange}>, <{uLDblClick}>, <{uValid}>, <nHelpId>, ;
                          <nClrFore>, <nClrBack>, <oFont>, <cMsg>, <{uWhen}>, <.pixel.>, <nTreeStyle>,;
                          [<.lNoBorder.>], [<.lNoVScroll.>], [<.lNoHScroll.>] )
                           

    #xcommand REDEFINE TREE <oTree> ID <nId> ;
             [ ON CHANGE <uChange> ] ;
                 [ ON [ LEFT ] DBLCLICK <uLDblClick> ] ;
             [ <of: OF, WINDOW, DIALOG > <oWnd> ] ;
                 [ VALID <uValid> ] ;
             [ <color: COLOR,COLORS> <nClrFore> [,<nClrBack>] ] ;
             [ FONT <oFont> ] ;
             [ BITMAPS <aBitmaps> ] ;
             [ MASKS <aMasks> ] ;
             [ <help:HELP, HELPID, HELP ID> <nHelpId> ] ;
                 [ MESSAGE <cMsg> ] ;
                 [ WHEN <uWhen> ] ;
             [ TREE STYLE <nTreeStyle> ] ;
        => ;
               <oTree> := TTreeView():Redefine( <nId>, <oWnd>, <aBitmaps>, <aMasks>, ;
                  [\{|oLink|<uChange>\}], <{uLDblClick}>, <{uValid}>, <nHelpId>, ;
                  <nClrFore>, <nClrBack>, <oFont>, <cMsg>, <{uWhen}>, <nTreeStyle> )

    #endif

    #ifdef __XPP__
       #xtranslate TTreeView():New( <params,...> ) => ;
                   TTreeView():New():_New( <params> )

       #xtranslate TTreeView():Redefine( <params,...> ) => ;
                   TTreeView():New():Redefine( <params> )

       #xtranslate TVItem():New( <params,...> ) => ;
                   TVItem():New():_New( <params> )

       #xtranslate TVItem():Redefine( <params,...> ) => ;
                   TVItem():New():Redefine( <params> )

       #xtranslate TTreeLink():New( <params,...> ) => ;
                   TTreeLink():New():_New( <params> )

       #xtranslate TTreeLink():Redefine( <params,...> ) => ;
                   TTreeLink():New():Redefine( <params> )

       #xtranslate TTreeItem():New( <params,...> ) => ;
                   TTreeItem():New():_New( <params> )

       #xtranslate TTreeItem():Redefine( <params,...> ) => ;
                   TTreeItem():New():Redefine( <params> )

    #endif
     

  14. Ercilei, boa tarde.


    Segue abaixo a Tree.CH;

     

    // Trees for FiveWin

    #ifndef _TREE_CH
    #define _TREE_CH

    #xcommand TREE [<oTree>] ;
                 [ BITMAPS <cBmpOpen>, <cBmpClose> ] ;
           => ;
              [<oTree>:=] TreeBegin( <cBmpOpen>, <cBmpClose> )

    #xcommand TREEITEM [<oItem> PROMPT ] <cLabel> ;
                 [ RESOURCE <cResName1> [, <cResName2> ] ] ;
                 [ FILENAME <cBmpOpen> [, <cBmpClose> ] ] ;
                 [ <lOpened: OPENED, OPEN> ] ;
                 [ ACTION <uAction> ] ;
                 [ CARGO <uCargo> ] ;
           => ;
              [<oItem> :=] _TreeItem( <cLabel>, <cResName1>, <cResName2>,;
                                      <cBmpOpen>, <cBmpClose>, <.lOpened.>, ;
                                      <{uAction}>, <uCargo> )

    #xcommand ENDTREE => TreeEnd()

    #endif
     

×
×
  • Create New...