Jump to content
Fivewin Brasil

Ale SB

Membros
  • Posts

    1,653
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Ale SB

  1. Colega, força a atualizaçao com o Update, caso nao esteja usando... oSay:Refresh(), oDlg:Update()... @braços Ale
  2. Blz Tio; veja se ajuda: http://fivewin.com.br/index.php?/topic/13808-dica-fastreport-com-array/?hl=fastreport#entry26550 @braços Ale
  3. Blz Alex; O caminho das pedras seria +- isso...veja se ajuda: DrawRotated( ::hDC, ::cTitle, ::nTopTitle, ::nLeftTitle, ::nClrTitle, , ::oFtTitle ) if ::l3D DrawRotated( ::hDC, ::cTitle, ::nTopTitle+2, ::nLeftTitle+2, RGB( 128, 128, 128 ),, ::oFtTitle ) endif ******************************************************************************** function DrawRotated( hDC, cPrompt, nRow, nCol, nClrText, nClrPane, oFont ) //////////////////////////////////////////////////////////////////////////////// // Autor..........: nao sei // // Modificaçoes...: Ale SB - Soft Camus // // Descricao......: Inserir um Texto em um local especificado. // // Parametros ==> // // - hDC : Objeto q recebe o Texto. // // - cPrompt : Texto // // - nRow : Coorden. Linha. // // - nCol : Coorden. Coluna. // // - nClrText : Cor do Texto. // // - nClrPane : Cor de Fundo. // // - oFont : Estilo da Fonte // // Retorno ==> nil // //////////////////////////////////////////////////////////////////////////////// ******************************************************************************** local hOldFont, nOldMode, nOldClrText, nOldClrPane nOldClrText := SetTextColor( hDC, nClrText ) if nClrPane == nil nOldBkMode := SetBkMode( hDC, 1 ) else nOldClrPane := SetBkColor( hDC, nClrPane ) endif hOldFont := SelectObject( hDC, oFont:hFont ) TextOut( hDC, nRow, nCol, cPrompt, Len(cPrompt) ) SelectObject( hDC, hOldFont ) if nClrPane == nil SetBkMode( hDC, nOldBkMode ) else SetBkColor( hDC, nOldClrPane ) endif SetTextColor( hDC, nOldClrText ) return
  4. Amigo, vc precisa da Lib png...o mesmo acontecia com a 1304, pegue aki: http://forums.fivetechsupport.com/viewtopic.php?f=6&t=26324&p=144834&hilit=fivehc.lib+fwpng#p144836 @braços Ale
  5. Trocar Cores, faça assim: REDEFINE ComboBox oCbx VAR cTipo ID 4003 OF oDlg UPDATE oCbx:aItems := {"CRÉDITO","DÉBITO"} oCbx:bChange:={|| oSay:Varput(cTipo),; If(oCbx:nAt==1, oSay:SetColor(CLR_BLUE,GetSysColor(15)), ; oSay:SetColor(CLR_RED, GetSysColor(15))), oSay:Refresh()} REDEFINE Say oSay ID 4004 OF oDlg Update oSay:oFont := oSayFnt @braços Ale
  6. Ueh...tem coisa estranha ai Gabrieis.... Vc esta usando alguma Lib/.Prg do xBrowse mais atual q sua versao ? Pq na Versao 7.8 o xBrowse deve ter em torno de 5000 Linhas e pelo seu erro ele indica a linha 11365 do xBrowse ( Called from: .\source\classes\XBROWSE.PRG => XBROWSENEW(11365) ) q eh onde encontra-se a Funçao XBROWSENEW, q na sua versao deve estar na entre as linhas 4500/4700. Esta classe do xBrowse deve ser da versao 10.11 pelo jeito....da uma conferida ai ... e soluçao para este Problema eh como eu passei no Link, vc tem q usar o Setarray no objeto e nao no redefine. oList:Setarray(aArray) qq coisa passa ai o Erro.log pra gente ver certinho. Dica -> sempre usei Array com o xBrowse; Trabalhando direto no Objeto e nunca Tive problemas, acho q eh mais pratico e mais Limpo o Codigo. @braços Ale
  7. Amigo, use assim, q Funciona certinho...: local cTipo DEFINE FONT oSayFnt NAME "Arial" SIZE 0, -18 BOLD ITALIC DEFINE DIALOG oDlg RESOURCE....... REDEFINE ComboBox oCbx VAR cTipo ID 4003 OF oDlg UPDATE oCbx:aItems := {"CRÉDITO","DÉBITO"} oCbx:bChange:={|| oSay:Varput(cTipo), oSay:Refresh()} REDEFINE Say oSay ID 4004 OF oDlg Update oSay:oFont := oSayFnt oSay:SetColor( CLR_RED, GetSysColor(15) ) ACTIVATE DIALOG oDlg......... @braços Ale
  8. @Kapiaba, isso nao tem nada Haver com o compilador [x]Hb ou Hb. pelo jeito a declaraçao do Array deve ser feito de outra forma...veja aki: http://forums.fivetechsupport.com/viewtopic.php?f=3&t=26124&start=0&hilit=XBROWSENEW @Gabrieis300, Ajudaria muito se vc Postar as ferramentas e versoes q usa... @braços Ale
  9. Arthur, use a SetProperty(...) ...alguns recursos..: ******************************************************************************** function Teste_3() ******************************************************************************** local oFrPrn oFrPrn:=frReportManager():New( ) oFrPrn:NewReport("Nome_Pagina") oFrPrn:AddBand("Minha_Banda", "Nome_Pagina", frxHeader) oFrPrn:AddMemo("Minha_Banda", "Nome_Memo","TO AKI" , 20, 0, 200, 24) oFrPrn:SetProperty("Nome_Memo.Font", "Style", "[fsBold]" ) oFrPrn:SetProperty("Nome_Memo.Font", "Color", CLR_RED ) oFrPrn:SetProperty("Nome_Memo.Font", "Name", 'MS Sans Serif' ) oFrPrn:SetProperty("Nome_Memo", "Color", CLR_BLUE ) //oFrPrn:SetProperty("Nome_Memo.Memo", "Text", "novo_texto" ) oFrPrn:DesignReport() return @braços Ale
  10. Arthur eh o nome da banda mesmo o <cParent>......Compila este exemplo ai....veja...funciona certinho. ******************************************************************************** function Teste_2() ******************************************************************************** local oFrPrn oFrPrn:=frReportManager():New( ) oFrPrn:NewReport("Nome_Pagina") oFrPrn:AddBand("Minha_Banda", "Nome_Pagina", frxHeader) oFrPrn:AddMemo("Minha_Banda", "Nome_Memo","TO AKI" , 20, 0, 200, 24) oFrPrn:DesignReport() return @braços Ale
  11. Ola Giba; Da maneira q vc ker fazer nao daria certo, veja: Listas como argumentos de comandos: O operador macro (&) nao irao substituir ou compilar completamente uma lista como um argumento da maioria dos comandos. Em especial, estes sao comandos onde uma lista de argumentos é processada em um vetor ou um bloco de código. Exemplos disto sao argumentos da cláusula FIELDS e SET INDEX. Uma exceçao é o comando SET COLOR, que pré-processa a lista de cores em uma cadeia de caracteres simples e a passa para a funçao SETCFOLOR(). Em ambos os casos, argumentos de lista sempre devem ser especificados como expressoes estendidas sendo cada argumento de lista especificado: LOCAL xcIndex := { "Ntx1", "Ntx2" } SET INDEX TO (xcIndex[1]), (xcIndex[2]) Vc teria q fazer assim cFields := {"CodigFpg", "Tipo_Fpg"} Append From "&cOldField" FIELDS (cFields[1]), (cFields[2]) Ok.. @braços Ale
  12. Veja Joao, eh do exemplo do samples\listbar2.prg... @braços Ale
  13. Blz Joao; Olha ele eh apenas um Menu, a finalidade pode ser mais Visual do q alguma mudança funcional, fica a criterio da sua sua Criatividade. Para ver os Itens do Menu, vc tem q clicar na Setinha do Item para ele abrir o DropDown, nao adianta clicar na Palavra q ele nao abre...talvez seja por isso q vc viu q ele nao fez nada, eu acho. Mas resumindo eh apenas uma mudança Visual, para deixar o sistema mais Aviadado, nada de Anormal...(coisa de Curintiano...rssss!!!) @braços Ale
  14. Ola Ana; Olha a TExplorerList Nao ordena os Itens, oq acontece eh q ela Add os Itens de Baixo para Cima e o exemplo esta em Ordem Inversa, por isso parece estar ordenado, teste ai : oItem = oExplorerList:AddItem( "A N A" ) oSubItem = oItem:AddItem( "C" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "A" ) oSubItem:lNoMini = .t. oSubItem = oItem:AddItem( "T" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "A" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "C" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "O" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "M" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "B" ) oSubItem:lNoMini = .T. oSubItem = oItem:AddItem( "S" ) oSubItem:lNoMini = .T. OK... @braços Ale
  15. Foi para o email... @Gilmer tem algumas dicas q eu tb nao consigo baixar, da o mesmo erro de permissao, mesmo Logado. @braços Ale
  16. Ta na mao, Joao.. http://alanart.net/fivewin/index.php?/files/file/1084-xmate-pt/ @braços Ale
  17. Eh Sim, bem simples...mas vc teria q mexer nos scripts dele, ele ta meio desatualizado. eu tenho uma versao em portugues aqui com alguns scripts prontos para FW q eu montei. caso lhe interesse, envio para vc.... Obs.: Ainda acho a xDev, Insuperavel !!! @braços Ale
  18. Bom Dia galera; To querendo trocar minha Banda Larga, hoje da GVT (Plano 5M, mas, nunca chega a esta velocidade), por a da NET ( plano 10M ), por questao de preço. Apesar da NET ter Franquia, acredito q mesmo assim 80GB da e sobra...eu acho ?! ...minha duvida eh saber se a NET tem uma Boa estabilidade no Sinal, se eu vou ter muita dor de cabeça com ela....enfim... alguem usa a Banda Larga da NET ? esta satisfeito ? @braços Ale
  19. Aew galera... Feliz natal....e um Otimo 2013 p/ todos da Comunidade Wine.... @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
  20. Nao sei se tendi direito, mas, se vc ker executar ele 2x, antes de abrir a Dlg..seria assim: bBuild := {|| BuildTree( oTree ) } . . DEFINE DIALOG oDlg... . . ON INIT ( BuildTree( oTree ), Eval(bBuild) ) id=code>id=code>ou para Executar antes de abrir a Dlg e executar depois de Abrir a Dlg: bBuild := {|| BuildTree( oTree ) } . . DEFINE DIALOG oDlg... . . oDlg:bStart := {|| Eval(bBuild)} . . ON INIT ( BuildTree( oTree ) ) id=code>id=code>@braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red> Editado por - Ale SB on 19/12/2012 22:06:39
  21. O que sempre nos diferenciou das outras comunidades, foi o comprometimento sem obrigaçao. Fizemos deste forum, algo q nao existe em outros, temos paixao por nossas Ferramentas e assim criamos afinidades com pessoas q nunca vimos ou veremos na vida...sempre eh um prazer em poder ajudar! Quantos foruns vc vê Caras, q sao capazes de para o serviço dele para ficar tentando ajudar o amigo, com dicas, exemplos, aulas.... A verdade eh uma soh...perdemos a nossa essência aqui no forum. Fala-se D+, Muitos fazem muito pouco...e poucos fazem Muito para manter Vivo algo q esta se perdendo...mas chega uma hora q tudo cansa..por isso muita gente ta sumindo ou se omitindo. Pessoal nao eh as Palestras eh o "Conjunto da Obra", Nao vai dar para organizar Palestras, nao temos muita Novidade...bora entao se reunir em algum algum Lugar, rever amigos, conhecer os Novos, firmar os contatos. Eu Nao vou Viajar 1000 Km para tomar Cerveja....Vou Viajar 1000 Km para apertar a Mão dos Amigos e dar a Mão para os Novos.id=blue> "Quando a Vida estiver passando pelos meus Olhos nao quero me arrepender pelo que eu Fiz, e sim das coisas tao simples q eu nao Fiz!" @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
  22. As Libs do FW para esta versao foram compiladas para esta versao do xHB: http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17684 Se quiser usar uma versao mais atual do xHb com o FW 6.12, tera q recompilar as Libs. Sugiro, usar o xhB do Link. @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
  23. Eu uso a GVT aqui em Campo Grande/MS...Nao tenho reclamaçao nao...e sempre vc pode chorar alguns descontos com ela... O Suporte tecnico dela eh Nota 10,Fizeram toda a Instalaçao aqui em casa da Rua ate dentro de casa, sem remendos. ( coisa q a telefonica de SP nao faz ). Tb ja precisei trocar o modem, em 24 horas os caras vieram. A velociade oscila sim um poko, mas, isso acontence com todas..no horario de Piko. Na avaliaçao total Nota 08...com a Vivo/Telefonica eu daria nota 04. @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
  24. Luiz; oFrPrn:SetMasterDetail(...) oFrPrn:SetResyncPair(... ) Sao apenas para relaçao usando DBF. Com Array eh desta Forma aqui : METHOD Rel_Compra() CLASS TPdCompra_sb local cNomeRel := "RelCompra_Ls" local cTitulo := "Relatório Analítico de Compras" local oFrPrn private aComp_A := {}, aComp_B := {} private a1 := 1, a2 := 1 //--> Meus Arrays Ja estao Montados. //--> Iniciar Codigo para IDE da Fast. oFrPrn:=frReportManager():new() oFrPrn:SetIcon(1) oFrPrn:SetTitle( cTitulo ) //--> Cabeçalho de Compra oFrPrn:SetUserDataSet("aComp_AAlias","tPedInPc;tDtEntPc;tFornePc;tTotalPc", ; {||a1 := 1}, ; //--> bGoTop {||a1 := a1 + 1}, ; //--> bSkipPlus {||a1 := a1 - 1}, ; //--> bSkipMinus {||a1 > Len(aComp_A)}, ; //--> bCheckEOF {|aField| nCol := IIF( aField == "tPedInPc", ; 1, ; IIF( aField == "tDtEntPc", ; 2, ; IIF( aField == "tFornePc", ; 3, 4 ))), aComp_A[a1, nCol] } ) id=red> //--> Itens de Compra - ammarado por numero de pedido. ( 1º Item do Array ) oFrPrn:SetUserDataSet("aComp_BAlias","tPedInPi;tCdProPi;tQtdadPi;tVlrUnPi", ; {||a2 := Ascan(aComp_B,{ |y| y[1] == aComp_A[a1,1] } )}, ; //--> bGoTop {||a2 := a2 + 1}, ; //--> bSkipPlus {||a2 := a2 - 1}, ; //--> bSkipMinus {|| (a2==0) .or. ( a2 >= Len(aComp_) .or. (aComp_A[a1, 1] <> aComp_B[a2, 1])},; {|aField| nCol := IIF( aField == "tPedInPi", ; 1, ; IIF( aField == "tCdProPi", ; 2, ; IIF( aField == "tQtdadPi", ; 3, 4 ))), aComp_B[a2, nCol] } ) id=blue> oFrPrn:LoadFromFile( oVar:cDirRepor +"\"+ cNomeRel + ".fr3" ) oFrPrn:DesignReport() oFrPrn:ClearDataSets() oFrPrn:DestroyFR() return id=code> id=code>Esta Imagem aqui eh do relatorio todo feito em Array, usando este codigo q eu postei: http://img29.imageshack.us/img29/7100/fastalesb.jpg Pronto ta provado que eh possivel fazer relaçao pai e filho na Fast com array... qq coisa grita aew!!! @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
  25. Luiz, Gabrieis... vcs viram esta minha Dica ? http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=14356 depois dos Array's montados, vc ira usar o Alias dele na Fast igual um DBF normal, com masterdata, Detalhado..... @braços Ale Quem Trabalha não tem tempo de ganhar Dinheiro.id=red>
×
×
  • Create New...