Jump to content
Fivewin Brasil

Erciley Junior

Membros
  • Posts

    599
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Erciley Junior

  1. Oi Luiz, acho que entendi, acho ^^ O nFootBmpNo, é uma propriedade para setar o número da imagem a ser exibida, não há em nenhuma parte da classe fazendo um aEval esperando um bloco de código. Se entendi bem, você teria que fazer um FOR no seu vetor oBrw:aCols[01]:nFootBmpno:=0 oBrw:aCols[02]:nFootBmpno:=0 oBrw:aCols[03]:nFootBmpno:=0 oBrw:aCols[04]:nFootBmpno:=0 oBrw:aCols[05]:nFootBmpno:=0 FOR WX:=1 TO LEN(aVetor) nCol01:=aVetor[WX,01] nCol02:=aVetor[WX,02] nCol03:=aVetor[WX,03] nCol04:=aVetor[WX,04] nCol05:=aVetor[WX,05] IF nCol01 > 0 oBrw:aCols[01]:nFootBmpno:=1 ENDIF IF nCol02 > 0 oBrw:aCols[02]:nFootBmpno:=1 ENDIF IF nCol03 > 0 oBrw:aCols[03]:nFootBmpno:=1 ENDIF IF nCol04 > 0 oBrw:aCols[04]:nFootBmpno:=1 ENDIF IF nCol05 > 0 oBrw:aCols[05]:nFootBmpno:=1 ENDIF NEXT
  2. Não vou participar do congresso, ponto final, e mesmo assim, discordo totalmente do assunto "fechar as inscrições". Talvez algumas pessoas ainda não se pré-inscreveram pois vocês já estão fazendo cálculos com esses números, e talvez seja incerto para alguns dizer se vai ou se não vai, ou seja, acho como muitos aqui, que não há porque fechar as inscrições após atingir e se atingir 50 interessados/participantes. Apenas uma opinião de quem está acompanhando o tópico, e boa sorte a todos no evento.
  3. Gibaf..... com esse objetos, para ficar "transparente" o fundo, é só você adicionar a uma DLL e deixar todo o fundo que quer como transparente da mesma cor do primeiro pixel (primeiro pixel da parte de acima, a esquerda) essa cor do primeiro pixel é ignorada....... aqui sempre funciona com esses objetos pelo menos DEFINE BUTTON RESOURCE "IMPRE2" OF oBar MESSAGE "Configurações de Dispositivos" ; NOBORDER; TOOLTIP "Printer Setup"; ACTION CFGDISP() DEFINE ICON oICON RESOURCE "VIcon" (imagens em PNG e JPG, em 99% dos casos, o preto de fundo, ou qualquer outra cor, fica com inúmeras tonalidades, o que faz "ZICAR" esse "método") espero ter ajudado
  4. Uma vez ouvi falar sobre esse componente bancário... GAS Tecnologia Filter driver http://forum.clubedohardware.com.br/processo-tnslsnr-ocupando/1072069?p=5705377
  5. Olá Ana. É exatamente essa versão que uso do Fivewin FW 8.01 e xHarbour 1.10. Estranho, muito estranho. ^^ Digo isso pois dou até pirueta com os vetores, refaço select, faço esquemas de "expansão" de itens dentro do próprio browse, etc.... Única diferença é que não tenho nem idéia doq é esse GTWWW ^^ Mas se o nLen resolveu, menos mal, pois não vejo isso como gambiarra, único problema é ficar sem saber "o porque" de algo, isso deixa alguns loucos, hehehe
  6. É isso que eu ia perguntar ^^ deve ter algum controle nesse browse que esteja alterando as propriedades do vetor ou pode ser algum bug realmente. Uso muito browses com vetor (tcbrowse e xbrowse principalmente), aliás, evito em 95% dos casos usar browses com ALIAS (só uso vetor pra falar a vdd ^^), e nunca passei por isso, por isso penso que seja alguma modificação que você fez na classe ou algo que você esteja fazendo em um bchange por exemplo. Difícil falar.
  7. Ana, faça assim e veja se resolve.... (não é gambiarra pelo menos ^^) LOCAL nLen:=len(mOriginal) ?nLen for nImg := 1 to nLen sysrefresh() AADD(mArraTmp , { mOriginal[nImg][1]; ,mOriginal[nImg][2]; ,mOriginal[nImg][3]; ,mOriginal[nImg][4]; ,mOriginal[nImg][5]; ,mOriginal[nImg][6]; }) next
  8. Bom, só coletando as respostas do Yury e da Ana, você pode alterar seu código sem nem pensar por: for i=1 to len(aPlano7) if aPlano7[i,9]<>0 if aPlano7[i,7]<>aPlano7[i,9] if aPlano7[i,1]='010000014' ? 'não passa por aqui' endif ADEL(aPlano7,i,.T.) i-- endif endif next
  9. O erro do cDbf...... não deveria estar !(&(cDbf)->(RLock())) ? Quanto ao erro do PPFtProdut Será que a linha não foi no Select PPFtProdut ? Coloque uma mensagem antes de dar este erro para ver os Alias abertos ?valtoprg( aGetWorkAreas() )
  10. Como a Ana falou, use APENAS o SetText no objeto SAY e NÃO use Refresh após isso que funciona, pelo menos é dessa forma que trabalhamos e não temos nenhum problema, como tínhamos antigamente quando não usávamos SetText. obs.: não sei pq quando usa settext e refresh, acaba não atualizando, vai entender (use só o settext).
  11. Olá, posso estar muito enganado (mas não estou ^^), mas é só vc fazer oq falei, adicionar \ antes de cada \ e \ antes de cada ' STRTRAN( cString , "'" , "\'") STRTRAN( cString , "\" , "\\")
  12. Entendi o problema agora. O que o Emotta falou acho que é o melhor mesmo, mas se insistir, de um jeito na base da POG ^^ LOCAL cSQL LOCAL cString:=cSenha cString:=STRTRAN(cString,"'",'$#*') cString:=STRTRAN(cString,'"','¥#@') cSQL:='INSERT INTO TABELA (NOME) VALUES ( REPLACE( REPLACE( '+SQLSTR(cString)+' , '+SQLSTR('$#*')+' , '+SQLSTR("'")+' ) , '+SQLSTR('¥#@')+' , '+SQLSTR('"')+' )' sqlExecute(cSQL) Não testei, mas acho que funfa, mesmo sendo algo tosco ^^
  13. Não entendi bem seu problema, mas duas dicas caracteres como aspas simples e barra invertida, são caracteres especiais para o banco, e para uma string ser salva com esses valores, deve se por uma barra invertida antes (problema de diretório) Nome: José D'agua C:\TEMP da Silva Gravar como: José D\'agua C:\\TEMP da Silva Outra coisa, em campos de senha, você poderia utilizar a função de criptografia de senhas que o mysql utiliza para as senhas de usuários, que seria PASSWORD(), só não sei se tem como pegar esse valor e fazer o processo inverso, mas em certos casos, é até bom que não se tenha (você não recupera, apenas cria outra).
  14. Olá, após ler um XML e teoricamente finalizar o objeto, execute: HB_GCAll(.T.) Teste e veja se resolveu.
  15. Está na pasta do xHb1.10.00. Este exemplo usa tTable.CH, e esta utiliza a função TableNew, que só encontrei aqui: https://github.com/vszakats/harbour-core/blob/master/contrib/xhb/ttable.prg Resumindo: pra mim, isso tudo não serve de muita coisa, huahuahua, é só uma classe pra criar tabelas DBF pelo que entendi. ^^ #include 'ttable.ch' request Dbfcdx PROCEDURE main LOCAL x := 1 LOCAL oTable := nil RDDSETDEFAULT( 'dbfcdx') doData() /*Open An Table With Table Class */ DEFINE TABLE oTable FILE tsttable NEW /*Adding an Index to This Table */ DEFINE ORDER ON KEY "nome" TAG _1 IN oTable /* Force the index Creating*/ oTable:Reindex() WHILE x <= 100 oTable:ReadBlank() oTable:name := Str( x, 20 ) oTable:street := Str( x + 1, 20 ) oTable:city := Str( x + 2, 20 ) oTable:code := x oTable:today := Date() oTable:pay := ( x % 2 ) == 0 oTable:Append() oTable:Write() x ++ ENDDO USE RETURN PROCEDURE dodata() LOCAL oTable IF !FILE( 'tsttable.dbf' ) /* Create An Table using Table Classe Syntax */ CREATE DATABASE oTable FILE tsttable.dbf FIELD NAME name TYPE CHARACTER LEN 40 DEC 0 OF oTable FIELD NAME street TYPE CHARACTER LEN 40 DEC 0 OF oTable FIELD NAME city TYPE CHARACTER LEN 40 DEC 0 OF oTable FIELD NAME code TYPE NUMERIC LEN 5 DEC 0 OF oTable FIELD NAME today TYPE DATE LEN 8 DEC 0 OF oTable FIELD NAME pay TYPE LOGICAL LEN 1 DEC 0 OF oTable BUILD TABLE oTable ENDIF RETURN
  16. Aqui na versão 8.01 do Fivewin FUSCA AMARELO TIPO CAMARO (põe do lado da ferrari vermelha que não vai dar nem pega), tem o TSTTABLE.PRG, que tem um exemplo.
  17. ou você definiu um outro objeto com o mesmo nome ou em cima deste, por isso não executa
  18. Se alguém quiser testar o bug que falei/falamos/falam referente a INNODB+SQLLIB, é só testar com esse arquivo aqui: (é um programinha simples, nele terá todas as instruções de como usar e testar) https://www.dropbox.com/s/uxf8wan9omn746o/sqllib%20e%20InnoDB.rar Nota: só estou postando para tirar dúvidas e exemplificar como um fato ocorre, e não para falar mal ou bem da ferramenta A ou B.
  19. @Luiz, aqui está o tópico que você citou, que eu havia criado há um tempo atrás http://fivewin.com.br/index.php?/topic/20612-problemas-sqllib-innodb/#entry246
  20. Não adianta fazer DISABLE nos objetos se o bloco de código bWhen dos objetos estiver definido além do disable, tem que "desativar" o bWhen emotta e yury já responderam corretamente, é só ajustar ao que precisa agora, colocar um IF aqui, um parâmetro ali.........
  21. Olá Jaspion. Qual o problema na sua conexão? Tá dando algum erro? Qual? Basicamente você tem que fazer assim: #INCLUDE 'FIVEWIN.CH' #INCLUDE 'SQLLIB.CH' * * * * FUNCTION INICIO() LOCAL cHost := 'localhost' LOCAL nPorta := 3306 LOCAL cDataBase := 'seubanco' LOCAL cUser := 'root' LOCAL cPass := '' LOCAL cLib := 'MySQL' REQUEST SQLLIB REQUEST MYSQL SQL CONNECT ON cHost ; PORT nPorta ; DATABASE cDataBase ; USER cUser ; PASSWORD cPass ; LIB cLib IF SQLErrorNO() > 0 ?'Não conectou, verificar configuração com o banco' RETURN ENDIF ?'Conectado com sucesso, eeeeeeee \o/' CONTINUAR() RETURN * * * * FUNCTION CONTINUAR() .... .... RETURN
  22. Olá Jaspion. Essa rotina é de inclusão, alteração, ou pode ser as duas opções? Está usando SQLLIB? Já estará conectado no banco de dados nesse momento certo? Bom, basicamente seria: FUNCTION essa_gravacao(lInclusao) LOCAL cSQL DEFAULT lInclusao:=.F. repl lograd with vlograd repl cidade with vcidade repl bairro with vbairro repl estado with vestado repl abrevi with vabrevi dbcommit() IF lInclusao cSQL:='INSERT INTO sua_tabela (lograd,cidade,bairro,estado,abrevi) VALUES'+; '(' + SQLSTR(lograd)+; ',' + SQLSTR(cidade)+; ',' + SQLSTR(bairro)+; ',' + SQLSTR(estado)+; ',' + SQLSTR(abrevi)+; ')' sqlExecute(cSQL) ELSE cSQL:='UPDATE sua_tabela SET lograd = '+SQLSTR(lograd)+; ',cidade = '+SQLSTR(cidade)+; ',bairro = '+SQLSTR(bairro)+; ',estado = '+SQLSTR(estado)+; ',abrevi = '+SQLSTR(abrevi)+; ' WHERE campo_chave = ?????' sqlExecute(cSQL) ENDIF /* se campo for caracter, usar sqlstr se campo for numérico, usar sqlntrim se campo for data, usar sqldate */ RETURN
  23. Como o Alessandro falou, utilize a cláusula PIXEL. Eu criei duas funções, como abaixo: FUNCTION Row(nPar) RETURN nPar * SAY_CHARPIX_H FUNCTION Col(nPar) RETURN nPar * SAY_CHARPIX_W E uso elas assim: @ Row(01),Col(01) SAY ...... OF oDlg PIXEL @ Row(02),Col(01) SAY ...... OF oDlg PIXEL @ Row(03),Col(01) SAY ...... OF oDlg PIXEL @ Row(04),Col(01) SAY ...... OF oDlg PIXEL Ou seja, nas funções Row e Col, defini uma variável de linha, que representaria UM (1) espaço entre objetos, o mesmo vale para a coluna ou seja ^^.... é melhor fazer isso, do que ficar digitando o valor real do pixel: (minha opinião) @ 050,10 SAY ...... OF oDlg PIXEL @ 100,10 SAY ...... OF oDlg PIXEL @ 150,10 SAY ...... OF oDlg PIXEL @ 200,10 SAY ...... OF oDlg PIXEL
  24. Muito obrigado Gilmer, tá 100% agora ^^
×
×
  • Create New...