Jump to content
Fivewin Brasil

ram_bh

Membros
  • Posts

    285
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by ram_bh

  1. Prezados,

    Estou a procura de uma classe para tratar texto com suporte a alguns recursos, como: negrito, itálico, fontes e lista numerada.

    Alguém conhece ou pode indicar? Estou testando o GET com TEXT, mas preciso de mais recursos...

    Obrigado e um abraço!

    Rodrigo Melo

    Belo Horizonte

  2. Prezados,

    Obrigado pelas postagens.

    Fiz da seguinte maneira: criei dois xbrowse e o primeiro faz refresh() no segundo ao movimentar o primeiro.

    Assim:

    @ 02.8,00 xBrowse oBrwRec Of oComRec ;
    ...
    On Change (oBrwRei:Refresh(),oBrwRec:SetFocus())
    @ (22.8),00 xBrowse oBrwRei Of oComRec ;
    ...
    oBrwRec:CreateFromCode()
    oBrwRei:CreateFromCode()
    Activate Window oComRec Maximized On Init (oBrwRec:Setfocus()) Valid (oComRec:=Nil,.T.)
    Um abraço!
    Rodrigo Melo
    Belo Horizonte / MG
  3. Prezados,

    Estou precisando mostrar em uma Window dois xBrowse: um com a relação de pedidos e outro com os itens dos pedidos.

    É possível? Acredito que sim... Alguém pode postar parte de um exemplo em código?

    Obrigado!

    Rodrigo Melo

    Belo Horizonte

  4. Nobres Colegas,

    Em uma Windows eu defino um item na barra de mensagens para uma função que realiza a conexão com o banco de dados.

    Quero alterar o texto (tooltip) informando se o banco está ou não conectado.

    Define MsgItem oMsg Of oWnd:oMsgBar ;
    BitMap (cUniSer+cDirImg+"\organice.bmp") ;
    ToolTip "Conectar Banco de Dados" Action Conectar()
    Ao conectar o banco de dados quero alterar o texto para "Banco de dados conectado".
    Tentei oMsg:Tooltip := "Conectado" e outros testes mais e nada...
    Tem solução para isso!?
    Obrigado!
    Rodrigo Melo
    Belo Horizonte
  5. Um breve relato:

    Estou migrando um sistema que usa DBF desde 1996 para Firebird.

    Mas antes de escolher qual gerenciador de banco de dados (SGBD) utilizar, refiz o modelo de dados do sistema levando em consideração a migração de DBF para SQL. Algumas relações entre tabelas foram modificadas sem prejudicar os processos. Vai te facilitar muito entender o negócio e o que você precisa fazer...

    Primeiro você deve entender como funciona um SGBD e como são realizadas as operações entre as tabelas (relembre as operações entre conjuntos da matemática). Só assim você vai estar preparado para o trabalho de migração e adaptação dos programas.

    Em relação aos programas, sem muita dificuldade. Agora trato melhor as mensagens de retorno do SGBD nas manipulações de dados, pois o SGBD vai manter a integridade das tabelas quando você sinalizar as PK, FK e índices.

    E por que Firebird!? Resolvi usar por ser mais leve... E até agora está dando conta do recado... E se você escrever corretamente, e com padrão, as operações com o SGBD, se precisar migrar para outro não será problema.

    Se precisar de ajuda, pode me procurar.

    Um abraço!

    Rodrigo Melo

    Belo Horizonte / MG

  6. Olás!

    Estou com um problema ao exibir uma matriz de dados com xbrowse numa dialog.

    Na primeira escolha do combobox tudo funciona perfeitamente.

    A partir da segunda escolha, após exibir a nova matriz de dados, ao clicar sobre a linha do registro, o xbrowse exibe a lista anterior.

    //
    Function Ver_Est()

    Private oDlg, oEst, oCon, oSai, oGra, oTip_Est, cTip_Est, aTip_Est, aEst, aLst

    aEst := {}
    aLst := {}
    cTip_Est := "Data"
    aTip_Est := { "Data", "Hora", "Endereço IP", "Endereço Internet" }

    If ! Abrir_DBF(cUniSer + cDirBas + "\TB_EST.DBF","TB_EST",.t.,"DBFCDX")
    Return(.f.)
    EndIf
    TB_EST->(DBSetOrder(1))

    Define Dialog oDlg Of oWnd Title "Estatística" Font oFonte From 0,0 To 434,700 Pixel

    @ 005,005 Say "Tipo:" Of oDlg Pixel
    @ 005,025 ComboBox oTip_Est Var cTip_Est Items aTip_Est Size 64,100 Of oDlg Pixel ;
    Message "Informe o tipo da estatísitica"

    @ 020,005 Say Space(1) Of oDlg Box Size 340,05 Pixel

    @ 002,250 BTNBMP oCon Size 16,16 Of oDlg Font oFonte 2007 Pixel ToolTip "Atualizar dados" ;
    Action (Atu_Est(cTip_Est)) File (cUniSer + cDirImg + "\prop.bmp")

    @ 002,290 BTNBMP oGra Size 16,16 Of oDlg Font oFonte 2007 Pixel ToolTip "Mostrar gráfico" ;
    Action (MsgInfo("Exibir gráfico","Em breve...")) File (cUniSer + cDirImg + "\graph.bmp")

    @ 002,330 BTNBMP oSai Size 16,16 Of oDlg Font oFonte 2007 Pixel ToolTip "Retornar" ;
    Action (oDlg:End()) File (cUniSer + cDirImg + "\quit.bmp") Default Cancel

    oDlg:lHelpIcon := .f.

    Activate Dialog oDlg Centered On Init (oTip_Est:SetFocus())

    TB_EST->(DBCloseArea())

    Return(Nil)
    //
    Function Atu_Est(cTip)

    Local cRef, cEst, i := 0

    If Empty(cTip)
    MsgAlert("Deve ser informado um tipo de estatística","Aviso")
    Return(Nil)
    EndIf

    aLst := {}
    cRef := Str(aScan(aTip_Est,AllTrim(cTip)),1)

    TB_EST->(DBSeek(cRef,.f.))

    While ! TB_EST->(EOF()) .And. TB_EST->Tip_Est = cRef
    aEst := {}
    cEst := TB_EST->Ref_Est
    While ! TB_EST->(EOF()) .And. TB_EST->Tip_Est = cRef .And. TB_EST->Ref_Est = cEst
    AAdd( aEst, { TB_EST->Ref_Est, TB_EST->Des_Est, TB_EST->Tot_Est } )
    TB_EST->(DBSkip())
    EndDo
    ASort( aEst ,,, {|x,y| x[3] > y[3] } )
    For i := 1 To Len( aEst )
    If cRef = "4"
    If i < 21
    AAdd( aLst, { aEst[i,1], aEst[i,2], aEst[i,3] } )
    Else
    Exit
    EndIf
    Else
    If i < 6
    AAdd( aLst, { aEst[i,1], aEst[i,2], aEst[i,3] } )
    Else
    Exit
    EndIf
    EndIf
    Next
    EndDo

    @ 055,000 xBrowse oEst Of oDlg Columns 1,2,3 ;
    ColSizes 80,510,60 Pictures "@!","@A","999,999,999" Array aLst Pixel Size 700,382 Font oFonte

    oEst:nMarqueeStyle = MARQSTYLE_HIGHLROW

    oEst:nRowDividerStyle := 3
    oEst:nColDividerStyle := 2

    oEst:aCols[1]:nDataStrAlign := 2

    oEst:aCols[1]:nHeadStrAlign := 2
    oEst:aCols[2]:nHeadStrAlign := 0

    If cRef = "1"
    oEst:aCols[1]:cHeader = "Data"
    oEst:aCols[1]:Show()
    ElseIf cRef = "2"
    oEst:aCols[1]:cHeader = "Hora"
    oEst:aCols[1]:Show()
    ElseIf cRef = "3"
    oEst:aCols[1]:cHeader = "IP"
    oEst:aCols[1]:Show()
    ElseIf cRef = "4"
    oEst:aCols[1]:cHeader = "Referência"
    oEst:aCols[1]:Hide()
    EndIf

    oEst:CreateFromCode()

    oEst:Refresh()
    oEst:SetFocus()

    Return(Nil)
    //

    Alguém pode ajudar?

    Obrigado!



    Rodrigo Melo

  7. Olás!

    Tenho uma aplicação que capta os registros de acesso do Proxy+ e gera uma estatística.

    Preciso exibir um gráfico dos endereços mais acessados.

    Alguém pode indicar um exemplo de como gerar um gráfico de barra?

    Obrigado!

    Rodrigo Melo

    Belo Horizonte / MG

×
×
  • Create New...