Jump to content
Fivewin Brasil

Erciley Junior

Membros
  • Posts

    599
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Erciley Junior

  1. Nesta função que você seleciona as opções, cadê a criação da DIALOG? Deve ser este seu problema..... Posta este trecho todo, modificado para vermos (passando a variável como referência), se for o caso...
  2. Olá Everton. No ou nos pontos onde chama a função Ini_oForm_Choise( Ret_Func.....), você está fazendo isso também? ou seja Ini_oForm_Choise( @Ret_Func...........)
  3. Olá, se entendi bem..... Em todo lugar que você passa a variável Ret_Func como parâmetro, você deve passá-la como "referência". Ou seja: Troque isso: Ret( Ret_Func , oForm_Choise,4) por isso: Ret( @Ret_Func , oForm_Choise,4)
  4. Erro de Lost Connection pode ser várias "coisas". Geralmente ocorre quando uma instrução fica na fila do banco (o seu insert por exemplo), e por algum motivo, a tabela está "locada" e aí ocorre o erro de time out. Creio que pode ser devido o tamanho da imagem, e blablabla. Há variável para controlar o time out também, para aumentar o tempo de espera. Procure aí: variável time out mysql
  5. Olha, uso a versão 08.01 e funciona perfeitamente de qualquer forma. Mistério do além, alebaba. o:=oBrw:AddCol() o:cHeader := 'Item' o:bStrData :={|| TRANS( oBRW:nArrayAT , '999,999') } o:bEditValue :=o:bStrData o:cEditPicture := '999,999' o:nWidth:=50 ou ADD COLUMN TO XBROWSE oBrw DATA oBrw:nArrayAT PICT '9,999,999' SIZE 050 HEADER 'Item' edit (usando addcol ou comando, tanto faz) https://drive.google.com/file/d/0B50iyj6vdaocQ01GYnI0UlpvZGc/edit?usp=sharing
  6. Array é de Deus, DBF não é, hehehe Estou usando Array sim. ^^ O código que usei foi exatamente oq postei acima...... =/ [edit] posta aí como está fazendo qualquer coisa, q aí dou uma olhada...
  7. Olá Ana, veja esta minha tela que tem um esquiminha de expansão dos dados. Não tive que fazer absolutamente nada para a coluna "Item" exibir a posição do item no browse (o mesmo vale para o final do browse)
  8. Olá Ana. Discordo, hehehe. Na verdade não teria que fazer nada, ao adicionar um item, o valor de nArrayAT já apareceria atualizado de forma automática pelo próprio xBrowse. Não testei, mas fazendo isso com certeza daria certo: ADD COLUMN TO XBROWSE oBrw DATA oBrw:nArrayAT PICT '9,999,999' SIZE 050 HEADER 'Item'
  9. Faz isso aqui Márcio, e depois me fala se deu certo. SET @maximo_em_mb:=20; SET global MAX_ALLOWED_PACKET:= GREATEST( 1024*1024*@maximo_em_mb , @@NET_BUFFER_LENGTH ) ; caso NÃO dê certo, fala o tamanho em mega da sua imagem veja que o primeiro SET é pra você definir qual será o máximo em mega bytes que suas imagens irão ter obs.: fiz um edit, veja o 1024*1024 : fiz isso para você converter mega bytes para kbytes para bytes...
  10. Márcio, você leu o que escrevi? É só você mudar o limite da variável, não precisa de malabarismo nenhum pra isso...
  11. Uma coisa você sempre tem que fazer: - Verificar o valor de max_allowed_packet e ver se o tamanho da imagem enviada é menor que este valor, caso NÃO seja, inserir mensagem de bloqueio no sistema. Outra coisa que se tem que fazer, talvez, seja aumentar o valor dessa variável, pois creio que o padrão seja apenas 1Mb. Aumentando o tamanho dela, não significa que não terá que fazer o teste acima. Para alterar o valor dela (a variável), tem várias formas: http://stackoverflow.com/questions/8062496/how-to-change-max-allowed-packet-size
  12. Se for só exibição esse número de item simplesmente crie uma coluna AddCol() e exiba ALLTRIM(STR(oBrw:nArrayAT)) com isso não precisa de cálculo algum para quando o usuário apagar algum item, só precisará de um Refresh no browse (se é q entendi seu problema)
  13. Marcio, o problema é a variável do MYSQL max_allowed_packet se o tamanho do pacote enviado ultrapassar esse valor (tamanho da imagem MAIS valor dos outros campos), você não conseguirá gravar o registro valor do pacote = tamanho do insert max_allowed_packet = valor em bytes (se não me engano)
  14. Eroni, esse SetSize está certo? Fazendo o simples com @Say não funciona também? @ 01.0,01.0 GET o_GET VAR c_GET MEMO OF oDlg SIZE 200,50 ?? Bom, espero q consiga, abraço.
  15. Seu problema deve ser em relação a posição do objeto Crie ele em uma dialog vazia na linha 01 coluna 01, passando a cláusula lPIXEL como .T. Seu problema pode ser isso, posicionamento.
  16. "C:\Program Files (x86)\Windows Live\Mail\wlmail.exe"
  17. Como disseram, .xml geralmente é "UMA" grande linha cheia de tags, ou seja, a função funciona sim ^^ Não funciona a forma q vcs gostariam. O que vocês querem realmente é que tenha uma função que conte a quantidade de tags, o que seria teoricamente, o total de linha do .XML quando este está aberto no Chrome por exemplo. Usando o TXmlDocument parece ser fácil isso, ou até mesmo contando o fechamento de tags (/>)
  18. Luiz, poste o SELECT que você fez, e fale qual registro você quer que seja retornado e qual está sendo retornado. Isso me parece algo muito simples, deve ser algum detalhe bobo que está passando despercebido. obs.: Não entendi nada do que você escreveu sobre o registro 345, 344, 343, hehehe
  19. Segue um exemplo muito simples de como usar, espero que ajude. #INCLUDE 'FIVEWIN.CH' * * Autor Erciley Junior * Data 18/10/2013 * Objetivo Testar utilização da TreeView * FUNCTION TESTE_TREE() LOCAL oDlg LOCAL oTree LOCAL oImageList DEFINE DIALOG oDlg FROM 00.0,00.0 TO 600,600 PIXEL TITLE 'Teste TREE' oDlg:SetColor( CLR_BLACK, CLR_WHITE ) oImageList:= TImageList():New() oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_01') ) oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_02') ) oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_03') ) oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_04') ) oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_05') ) oImageList:Add( TBitmap():New( 0,0,0,0,'resource_da_dll_06') ) oTree:=TTreeView():New(00.5,00.5,oDlg,0,GetSysColor( 5 ),,,100,100) ACTIVATE DIALOG oDlg CENTERED ON INIT TESTE_TREE_A(oTree,oImageList) RETURN * * * Erciley Junior 18/10/2013 * FUNCTION TESTE_TREE_A(oTree,oImageList) LOCAL o_subnivel oTree:SetImageList( oImageList ) oTree:Add('Teste imagem 01',0) //o número 0 indica a imagem a ser usada (primeira imagem é a ZERO (0) e não a UM (1)) o_subnivel:=oTree:Add('Teste imagem 02',1) o_subnivel:Add('Teste imagem 05',2) //sub-nível o_subnivel:Add('Teste imagem 06',3) //sub-nível oTree:Add('Teste imagem 03',4) oTree:Add('Teste imagem 04',5) RETURN
  20. Olá Leo. Erro de "Argumento Condicional" é porque você passou um TIPO DE DADO númerico ou caracter onde deveria ser um parâmetro LÓGICO. Neste PRG nesta linha, é onde você está criando a TTree passando um parâmetro incorreto Called from: D:\CLIPPER\PAFECF\LHACESSO.PRG => CREATREE(463) Nesta linha da classe TTree, é onde está dando o erro, é só analisar as linhas que verá o erro. Called from: .\source\classes\TTREEVIE.PRG => TTREEVIEW:NEW(149)
  21. Você colocou o #INCLUDE 'SQLLIB.CH' ?????Caso tenha colocado, descreva qual o erro está dando. Abraço.
  22. Bom, caso queira descobrir como usa dessa forma a título de curiosidade e acabar com esse erro, só perguntar.
  23. Respondendo o primeiro post SQL CONNECT ON cHost ; PORT nPorta ; DATABASE cDataBase ; USER cUser ; PASSWORD cPass ; LIB cLib IF SQLErrorNO() > 0 ?'Não foi possível se conectar ao banco de dados, verifique.' EXIT ENDIF
  24. #INCLUDE 'INKEY.CH' #define K_UP 5 /* Up arrow, Ctrl-E */ #define K_DOWN 24 /* Down arrow, Ctrl-X */ #define K_LEFT 19 /* Left arrow, Ctrl-S */ #define K_RIGHT 4 /* Right arrow, Ctrl-D */
  25. É isso aí. Aqui o Menu é cadastrável, ou seja, montamos em tempo de execução de acordo com o cadastro dele (leitura em tabela) Ao escolher um programa no MENU, salvamos que programa foi esse depois em um LOOP, é usado os comando de Keybd_event para ir navegando até posicionar onde havia sido clicado antes da chamada do programa a rotina aqui é muito particular pra postar tudo, mas é basicamente isso (difícil até eu entender sem uns debugs) If WX = 1 Keybd_event(18,,0,0) //Foco no menu -- tecla menu Keybd_event( Asc(cLet),,0 ) //Tecla uma letra específica para posicionar no menu Keybd_event(32,,0) //space para "abrir" For WX2 = 1 to nPos Keybd_event(nLado,,0) Keybd_event(32,,0) Next Else nPos:= nBaixo(aAux[WX]) For WX2 = 1 to (nPos-1) Keybd_event(40,,0) //tecla seta para baixo Keybd_event(32,,0) //space para abrir Next If empty(aAux[WX,1]) Keybd_event(39,,0) //tecla seta para direita Keybd_event(32,,0) //space EndIf EndIf Acho que com isso dá pra ter uma ideia que o negócio eh feita usando o teclado via programação ^^ não sei se ajudei ou se confundi mais
×
×
  • Create New...