-
Posts
1,229 -
Joined
-
Last visited
-
Days Won
24
Posts posted by alex2002
-
-
Amigo, então é complicado porque o delimitador é o ":", creio que nenhum separador vai conseguir fazer este trabalho. Mas neste caso, vc pode alterar a função e separar apenas o que estiver dentro das aspas dupla.
-
Olá
Troque a HB_Atokens por aToken()atoken(oFile:ReadLine(), ';' )
Veja se resolve.
Um abraço
//////////////////////////////////////
Function atoken(cStr, cStr1, lVazio )
//////////////////////////////////////LOCAL nNum, nNum1, aArr := {}
LOCAL aArr1 := {}
LOCAL nNum2, nNum3Default lVazio := .f.
if cstr1 = NIL
cStr1 := " "
endifnNum2 := len(cStr1)
for nNum1 := 1 to nNum2
aadd(aArr1, substr(cStr1, nNum1, 1))
nextdo while .T.
nNum := 0
for nNum3 := 1 to nNum2
nNum1 := AT(aArr1[nNum3], cStr)
nNum := MIN(IF(nNum == 0, LEN(cStr) + 1, nNum), IF(nNum1 == 0, ;
nNum, nNum1))next
if nNum = 0
exit
endifif nNum > 1
aadd( aArr, left( cStr, nNum - 1))
elseif nNum = 1 .and. lVazio
aadd( aArr, '' )
endifcStr := substr(cStr, nNum + 1)
enddo
if len(cStr) > 0
aadd( aArr, cStr)
endifreturn aArr
-
Olá pessoal,
Queria saber se é possível mudar o alias em runtime. Possuo um executor de instruções SQL que retorna o resultado e eu jogo isso pra um alias. Acontece que pode mudar o tempo todo o resultado com colunas diferentes, daí eu queria apresentar isso. Atualmente no LISTBOX funciona de boa, mas no xBrowse ainda não consegui por pra rodar.
Alguém tem uma solução?Um abraço,
Alexandre Pereira -
Maravilha José.
Muito bom, vou olhar.
Mais uma vez, obrigado.
Alexandre Pereira -
Já é alguma coisa pra poder estudar.
Obrigado meu amigo.
Um abraço,
Alexandre Pereira -
Ninguém?
Será que estou querendo demais? rsrsrsrsrs
-
Olá pessoal,
Alguém usa o Fast sem a edição na mão do relatório?
Tenho uma pancada de relatório em RPV que são gerados dinamicamente e estou querendo passar tudo pra Fast. Mas quero mudar apenas o meu gerador de relatório para não atrapalhar os mais de 1.000 prgs que possuo hoje.
Se alguém usa, por favor, passa a senha rsrsrsrsrs
Um abraço,
Alexandre Pereira -
ah bom, legal!
ótimo que resolveu
-
Olá Márcio,
Vc teria que ter um índice bem apropriado na tabela vendas. Isso irá ajudar muito em termos de velocidade.Um abraço,
Alexandre Pereira -
Olá amigo,
Se entendi direito, vc terá que criar dois campos MÊS, no mesmo registro.
Ex:Conta C 30
Data1 D 8
Valor1 N 15,2
Data2 D 8
Valor2 N 15,2
Se é o que entendiUm abraço,
Alexandre Pereira -
Valeu Rossine,
Já resolvi, mas é bom saber que existe essa possibilidade.
Um abraço,
Alexandre Pereira -
Então Jão, eu ia salvar neste método, usando a função hb_strtoutf8(), mas não vi parametros nela para extrair o BOM. De qualquer forma vou salvar pra ver se fica igual quando salva no Notepad++.
Valeu -
Olá Galera,
Montei o arquivo .JSON na unha pra atender o cliente. Acontece que o server do lado de lá tem que receber o arquivo no formato UTF8 mas sem o BOM (Byte order mark).
Alguém gera neste formato?
Um abraço,
Alexandre Pereira -
4 horas atrás, kapiaba disse:
Isso é óbvio né Beto? Vamos esperar passar, e ver se a "biba" do Vagner Wirts consegue um alvará para vir. Dessa vez, vou cobrar uma "taxa" simbólica para as brejas, pois se a pessoa marcar e não vier, fica no prejú e quem veio, não paga a conta. Que achas?
Concordo plenamente.
-
Com a SqlLIB vc não irá conseguir.
Mas conforme falou o nosso amigo Emotta, vc acessa tranquilamente pelo ODBC. Eu fiz uma mega migração usando ODBC e levando para o MySQL.Um abraço,
-
-
Obrigado a todos, na verdade o problema não era o Json e sim o HASH() que de fato é ordenado.
A função hb_jsonencode() não muda a ordenação.
De fato para o server que vai receber o arquivo json tanto faz a ordem, mas como eu estava atrasado (ainda estou rsrsrsrs) fiz a geração na unha mesmo.
Obrigado aos amigos.
Jão, tudo tranquilo por aqui, e como estão as coisas por aí? -
Na verdade eu percebi que o problema não é na hb_jsonencode e sim no hash() que ordena as tags, agora sinceramente não sei o que fazer
-
OIá pessoal, alguém sabe me informar qual parametro uso para que na codificação do Json (hb_jsonencode()) não ordene as tags e sim deixe na ordem da criação das mesmas?
Ex://///////////////////////////////////////////////////////////////////////
hJson := hash()
hJson['campo3'] := 'teste 3'
hJson['campo1'] := 'teste 1'
hJson['campo2'] := 'teste 2'cJson := hb_jsonencode( hJson, .t. )
? cJson
resultado:
{
"campo1" : "teste 1",
"campo2" : "teste 2",
"campo3" : "teste 3"
}Sendo que eu queria que ocorresse assim:
{
"campo3" : "teste 3",
"campo1" : "teste 1",
"campo2" : "teste 2"
}Ou seja, na sequência que eu inseri
tem mais algum parametro na função hb_jsonencode() ? Não achei a documentação da mesma nem a pau
-
12 horas atrás, mkyx disse:
Pode fazer assim:
Local aCoors := GetCoors( FindWindow("Shell_TrayWnd","") )
DEFINE DIALOG oDlg FROM 0,0 TO aCoors[1]-30, aCoors[4]-7 PIXEL TITLE "TODA LA PANTALLA"
ou assim:
nCol:=GetSysMetrics(0)
nLin:=GetSysMetrics(1)DEFINE DIALOG oDlg FROM 0,0 TO nLin-20,nCol-30 title "Título do diálogo" PIXEL
Obrigado amigo,
Mas a solução não seria apenas redimensionar a dialog mas sim todo o conteúdo dentro. Exatamente a solução que o João postou (não testei ainda nos meus fontes, mas vi que é exatamente isso pelo que observei do exemplo).
O que tem acontecido é que hoje as resoluções são cada vez melhores e os monitores maiores, isso faz com que o GET, SAY, BUTTON... por exemplo fiquem nanico nestas telas e chega a ficar feio. Para podermos aumentar tudo fica complicado, teríamos que mexer em tamanho das fontes além de redimensionar tudo.
A solução que o João postou faz exatamente isso, ela redimensiona fazendo um relacionamento entre o que foi desenhado e a resolução atual. Assim que testar eu posto o parecer aqui.
Um abraço,
Alexandre Pereira -
Vou testar e te falo.
Obrigado Jão.
Alexandre Pereira -
Olá pessoal,
Tenho notado que nos micros mais novos, as dialogs estão ficando muito pequenas. Sei que no fórum aqui houve uma solução pra isso. Alguém lembra ou usa a solução?
Quero aumentar o tamanho da dialog de acordo com a resolução do windows, assim consigo fazer ficar bacana o sistema.
Mas não me lembro nem a pau onde está essa solução.
Um abraço,
Alexandre Pereira -
Olá.
Sugiro criar uma tabela (ou arquivo DBF), e colocar cada boleto como registro. Daí vc dimensiona a página com um registro (pelo masterdata) e daí cada página será um boleto.Um abraço,
Alexandre Pereira -
Blza, vou olhar e qq coisa retorno.
Obrigado
Ajuda - Validar código de barras de boletos de arrecadação
in Programação
Posted
Olá amigo,
Vou postar aqui a função que uso no caixa dos bancos que são meus clientes: