
DiabloX3
Membros-
Total de itens
143 -
Registro em
-
Última visita
Tudo que DiabloX3 postou
-
Vou verificar essas duas possibilidades. Quando tiver uma resposta volto a postar. Obrigado Jhonas
-
Amigos, tenho um cliente que tem uma impressora dessa e tenho um problema na hora de imprimir arquivos. Necessito imprimir vários arquivo de uma única vez e utilizando o Delphi executo um RLReport1.Print para cada arquivo. Se eu tiver 50 arquivos (pedidos de vendas) para imprimir então no spool da impressora fica com 50 linhas (1 p/ cada). O problema é que essa impressora desliga a cada arquivo impresso passando uma impressao de 2min se fosse impresso tudo de uma vez para 30min por causa desse problema. Pensei se teria como gerar 1 único arquivo no spool contendo 50 páginas por assim acredito que a impressão seria instantanea e demoraria seus 2 min. Alguém sabe me dizer? abraço
-
Listar maquinas na rede
pergunta respondeu ao Antonio Maucyr Pasqualli F de DiabloX3 em Delphi, Kylix
Link Primeiro link que pesquisei no Google. abraço -
Imprimir titleBand e Detail Band em todas as paginas
pergunta respondeu ao nicolasbraz de DiabloX3 em Delphi, Kylix
Não sei que relatório é esse que você usa, eu uso aqui o Fortes e nele tem as bandas Header(cabeçalho) e ColumnHeader(cabeçalho da coluna) e elas se repetem em cada página de relatório. o Title só na primeira página, agora se der pra voce colcoar um ColumnHeader dentro de uma banda Detail, então essa banda também vai se repetir pra cada iten. Se precisa repetir em todas as páginas não adianta usar Title, experimente outra, assim como summary só mostra no fim e Footer mostra em todas as páginas no fim. abraço -
Imprimir titleBand e Detail Band em todas as paginas
pergunta respondeu ao nicolasbraz de DiabloX3 em Delphi, Kylix
A banda Title não se repete, teria que ser um Header ou ColumnHeader. -
Caramba, trabalhar com isso é delicado e pode ser complicado mesmo ein ehehe Eu testei aqui e realmente funciona Jhonas porém eu acabei descobrindo o seguinte (que até deixa a aplicação mais clara): Separei em 3 partes total_parcelas := qryPagto.FieldByName('PARCELA').AsFloat*100; total_parcelas := Trunc(total_parcelas); total_parcelas := total_parcelas/100; Quando utilizo tudo numa linha ele retorna o valor errado, mas separando dessa forma consegui tirar a 3ª casa decimal e operar com o valor exato da minha parcela. Obrigado pela sua resposta também. abraço
-
eu entendo que essas linhas parecem estar falando sobre coisas diferentes. Primeiro ele fala que o SQLMonitor monitora instruções definidas no TraceFlags do IBDataBase e depois fala que o SQLMonitor (deve ser de outra palheta) não tem acesso nativo ao Interbase então usa-se o IBSQLMonitor para otimizar. Mas o que seria esse otimizar se no começo ele fala que serve pra nós vermos só o que aconteceu quando demos um insert numa tabela? aqui ele não comenta também sobre apagar a 3ª linha do Read_Commited e deixar sem nada, ao contrario, fala pra usar nowait. na apostila também é freezado as duas primeiras linhas apenas - modo de leitura e o rec_version apenas. Ainda não consegui fazer uma associação de tudo isso. Não percebi o meu ganho em usar traceflags, ibsqlmonitor e qual modo de espera seria o mais correto (na vdd o por que de não ter nenhum, só read_commited e rec_version). abraço
-
(Resolvido) Problemas ao criar checkbox dinamicamente
pergunta respondeu ao rickayron de DiabloX3 em Delphi, Kylix
Você está usando DBGrid? Infelizmente eu só utilizei listados um abaixo do outro como você vem fazendo. Do lado assim não imagino como fazer. -
Obrigado pela resposta e pelos comentários Jhonas. abraço
-
aah ta. Bom, se é assim considere o tópico como resolvido ;) valeu mais uma vez
-
Sim, existe vários tópicos já criados sobre isso, mas todos que vi falam de arredondamentos simples, ou tudo pra baixo ou pra cima. Eu vejo o meu um pouco diferente. Primeiro: tenho um select que vai me retornar o valor das parcelas SELECT SUM(V.VEN_TOTAL / F.PAR_NUM) AS PARCELA FROM CONTAS_RECEBER WHERE CODIGO_PEDIDO = :CODIGO O valor de retorno para uma divisão de R$ 254,40 é R$84,80. Correto. A questão agora é a seguinte. Tivemos que usar aqui uma função para não arredondar a 3 casa decimal e optaram por usar int da unit System, sendo então que R$ 251,367 iria retornar 251,36 e é isso que preciso, que ignore a 3ª casa mesmo sendo 9 e pegue as 2 casas fixas sem arredondar nem pra cima nem pra baixo. Pelo menos nesse formuláro de nota esta funcionando. Então pegamos e colocamos na geração das parcelas também mas daí acontece um erro que eu não descobri o motivo. O valor retornado da PARCELA é 84,80 só que quando passa pelo parcela := int(qryPagto.FieldByName('PARCELA').AsFloat*100)/100; O valor de retorno é 84,79! Daonde vem esse valor pra baixo? Eu vi esse post do Micheus e fez entender as funções Tópico só que não posso usar Trunc porque preciso das duas decimais... não posso usar round nem formatfloat porque ele arredonda pra cima e o int está me retornando esse problema. Como resolvo? edit parcela := Trunc(qryPagto.FieldByName('PARCELA').AsFloat*100 Mesmo exemplo com a Trunc. O valor da PARCELA = 84,8 quando multiplico por 100 e passo pelo trunc ele devolve 8479 ...
-
Malz Jhonas, devia ter dito que já estava colocando o evento nos Edits procedure Tfrm_cad_cli.edtCliNomeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key = VK_TAB then edtCliEnd.SetFocus; end; procedure Tfrm_cad_cli.edtCliNomeKeyPress(Sender: TObject; var Key: Char); begin if key =#13 then begin if rdg_tipo.ItemIndex = 0 then edtRG.SetFocus; if rdg_tipo.ItemIndex = 1 then edtNomeFantasia.SetFocus; end; end; Quando o foco está no edtNomeCli e aperto TAB ele não joga o foco pro edtCliEnd (nem entra no evento keydown, tentei com o keyup também) Coloquei o KeyPress mas acredito que não tenha interferência.
-
Não sei qual seu banco no VB mas para conversão de tabelas de um sistema para o outro acredito que o mais convencional é fazer um programinha conversor no Delphi. Lá você coloca 2 componentes table ligados a suas respectivas tabelas, 1 para a tabela local e outra para a de destino. Depois você faz um laço do começo ao fim da tabela passando os Fields de uma tabela para outra.
-
(Resolvido) Problemas ao criar checkbox dinamicamente
pergunta respondeu ao rickayron de DiabloX3 em Delphi, Kylix
É de acordo com que critério para serem criados? Por exemplo, depois de inserts numa tabela mas você não sabe quantos inserts você vai dar. -
no computador pois tem uma pasta que alguns usuarios acessam em um determinado computador gostaria de saber quem esta acessando Você não especificou se é uma rede bloqueada ou não. Se for poderia seguir o que o Rafazuhdo falou, senão daria pra ver pelo que o Jhonas falou. Aqui na facul por exemplo não ta habilitada a aba Usuários.
-
Eu tinha testado no keydown também, esqueci de mencionar. No cadastro de cliente, por exemplo, tanto no keydown como no keyup eu coloquei do jeito que você passsou, key = vk_tab mas quando a pressiono não executa o evento. Experimentei comentar o KeyPress para ver se não estava sobrescrevendo o evento e também tentei colocar key = $09 mas ambos os testes não entrou no debug e não deu o setfocus aonde eu queria.
-
Você disse bem: vários cursos. Eu tenho uma impressao, talvez você(s) possa(m) me esclarecer(corrigir). Curso > faculadde. Eu não vejo nenhuma faculdade, seja ela pública ou particular com métodos de ensino atualizados para o que a gente deseja. Talvez o foco seja uma pós ou cursos a parte mesmo. Não sei se estou certo, ainda estou me formando mas é essa a ideia que tenho. Eu só fiquei curioso pela aquela faculdade FIAP de Sampa. Não sei se conhecem mas me pareceu bem atualizada. Alguém se formou lá? :P abraço
-
(Resolvido) Colocar um checkbox em um DBGrid
pergunta respondeu ao Halan Lopes de DiabloX3 em Delphi, Kylix
Descobri meu erro Jhonas. Eu não uso no meu sistema os componentes clientdataset nem datasetprovider. Dai coloquei eles e deu certo. Grato Jhonas. a propósito, isso seria uma simples opção ou um erro? desconheço a boa (ou não) utilidade desses 2 componentes. -
Eu tinha visto isso já e iria procurar mais a respeito porque não sei o por que não funciona como explicado. Sendo a tecla TAB = #8 então um keypress com [se key =#8 faça] deveria entrar nessa linha quando pressionado tab mas o delphi simplesmente ignora, como se não conhecesse. Imagino que o TAB não seria um Keypress e já que tocaram nesse assunto queria saber o porquê. abraço
-
(Resolvido) RSS no Delphi é Possivel
pergunta respondeu ao William - TI de DiabloX3 em Delphi, Kylix
Veja se esse artigo ajuda XML Delphi (RSS) -
(Resolvido) Colocar um checkbox em um DBGrid
pergunta respondeu ao Halan Lopes de DiabloX3 em Delphi, Kylix
Bom, fiz como voce falou, mas continuo com problema. Até consegui mostrar os campos T como checked e F como unchecked só que não estou conseguindo dar o SaveBoolean pra armazenar a minha opção de selecionado. procedure Tfrm_faturamento.grdFaturamentoCellClick(Column: TColumn); begin if grdFaturamento.SelectedField.DataType = ftBoolean then SaveBoolean(); end; Agora o DataType aí está marcando ftString. CREATE TABLE ... FATURADO DM_BOOLEAN /* DM_BOOLEAN = CHAR(1) */ CREATE DOMAIN DM_BOOLEAN AS CHAR(1) CHARACTER SET NONE COLLATE NONE Esse foi o domínio que criei pro campo FATURADO e não consigo pegar ele na grid. Fiz um teste básico para ver se funcionava. SELECT VEN_COD_PEDIDO, VEN_TOTAL, VEN_DATA, FATURADO FROM VENDAS ORDER BY VEN_COD_PEDIDO No botão pesquisar eu dou um Open nessa query e me mostra os resultados. o CheckBox está ligado ao mesmo DataSource da grid que está ligado a query. O DataField do Check tá marcado com o campo FATURADO. As propriedades ValueChecked tá como True e Unchecked como False. Detalhe: mesmo eu forçando entrar no SaveBoolean colocando ftString, quando executa a procedure dá erro de Read-Only dataset. Acredito que é porque estou manipulando um dataset que está sendo ali visualizado apenas como leitura. Teria que ter outro com instruções UPDATE? motivo edit: Acrescentar o Detalhe -
Só para completar, problema resolvido. O que aconteceu foi que minha rede onboard do pc entrou em curto e queimou o modem. Coloquei uma placa de rede offboard e troquei o modem.
-
Olá. Peguei uma função na internet mas não compreendi com exatidão como que ela funciona, aliás, gostaria de saber também se tem um jeito de interpretá-las por si só, tipo, onde pesquisar pra entender o que cada coisa está fazendo. Porém também me pergunto se precisamos sempre saber tudo o que acontece na função/procedure para colocarmos no sistema? Por exemplo, quando peguei o código que desabilita o X da janela, não entendi muito bem aquele esquema dos manipuladores e tal, mas coloquei no código, rodei e ele desabilitou sem mesmo eu saber "como" ... //Copia arquivo function TForm1.FileCopy(source,dest: String): Boolean; var fSrc,fDst,len: Integer; size: Longint; buffer: packed array [0..2047] of Byte; begin if source <> dest then begin fSrc := FileOpen(source,fmOpenRead); if fSrc >= 0 then begin size := FileSeek(fSrc,0,2); FileSeek(fSrc,0,0); fDst := FileCreate(dest); if fDst >= 0 then begin while size > 0 do begin len := FileRead(fSrc,buffer,sizeof(buffer)); FileWrite(fDst,buffer,len); size := size - len; end; FileSetDate(fDst,FileGetDate(fSrc)); FileClose(fDst); FileSetAttr(dest,FileGetAttr(source)); Result := True; end else begin ShowMessage('OPS!'); Result := False; end; FileClose(fSrc); end; end; end; Quando vou passar o debug no while alí, tem umas variáveis que recebem o array (acho que o len), é uns valores meio cabulosos ehehe e é ruim não saber pra que eles servem. o mesmo acontece com a variável buffer: packed array [0..2047] of Byte; packed array? O que muda para o simples array? E essas 2047 posições é um valor padrão? O ideal é mantê-la ou posso diminuir pra ocupar menos espaço? Ou até depende do tamanho do arquivo que estou tentando copiar? Gostaria de saber também se esse pode ser um método de copiar arquivo de banco de dados como sendo um backup ou se não é aconselhável e por quê.
-
(Resolvido) Colocar um checkbox em um DBGrid
pergunta respondeu ao Halan Lopes de DiabloX3 em Delphi, Kylix
Eu acho que entendi como que funciona, mas não consegui testar justamente por causa de passar o Column.Field.DataType para ftBoolean. Quando vejo seu valor aqui é sempre ftInter. Procurei tanto na grid quanto no field do dataset mas não achei essa propriedade. Acho que o primeiro passo seria converter int para boolean mas não descobri como fazer isso ... -
aah muito bom então obrigado aqui também hahah