MartinsBios
-
Total de itens
45 -
Registro em
-
Última visita
Posts postados por MartinsBios
-
-
Não sei se é o lugra certo para isso, mas talvez aqui consiga mais ajuda do que no forum para demais bancos.
é o seguinte:
vejam minha SP, ela funciona e atende a uma de minhas necessidades, mas tenho problemas para transformar em SP um código Delhpi q faz o q é mostrado nas figuras logo abaixo.
CREATE PROCEDURE MOVIMENTO ( CODIGO INTEGER) RETURNS ( PROVENTOS NUMERIC(15,2), DESCONTOS NUMERIC(15,2), LIQUIDO NUMERIC(15,2), VLRINSS NUMERIC(15,2)) AS DECLARE VARIABLE INSS NUMERIC(15,2); DECLARE VARIABLE IRRF NUMERIC(15,2); DECLARE VARIABLE INSS2 NUMERIC(15,2); DECLARE VARIABLE ALIQ NUMERIC(15,2); DECLARE VARIABLE ALIQ2 NUMERIC(15,2); begin PROVENTOS = 0; DESCONTOS = 0; LIQUIDO = 0; INSS = 0; IRRF = 0; /* ACUMULA OS PROVENTOS*/ SELECT SUM(VALOR) FROM DIGITA WHERE (CODFUN=:CODIGO) and (TIPO='P') INTO :PROVENTOS; /* ACUMULAR DESCONTOS */ SELECT SUM(VALOR) FROM DIGITA WHERE (CODFUN =:CODIGO) AND (TIPO='D') INTO :DESCONTOS; SELECT VALOR,ALIQ, VALOR2, ALIQ2 FROM TABELAS INTO :INSS, :ALIQ, :INSS2, :ALIQ2; if (INSS IS NULL) then INSS = 0; if (IRRF IS NULL) then IRRF = 0; if (Proventos <= INSS2) then begin VLRINSS=(PROVENTOS*ALIQ)/100; end else begin VLRINSS=(PROVENTOS*ALIQ2)/100; end DESCONTOS = DESCONTOS + VLRINSS; LIQUIDO = (PROVENTOS - DESCONTOS); SUSPEND; end
Agora vejam o q quero, quero uma SP em Interbase, q me faça os calculos para q fique igual as imagens abaixo:
Tela de lançamento dos eventos manualmente, nada de INSS/IRRF/FGTS
Tela com os funcionários e os eventos lançados manualmente e um evento calculado pelo sistema, isso foi feito via código 100% Delphi, quero q uma SP faça isso tb, mas não consigo ter uma idéia de como fazer isso.
Aqui é o comprovante de pagamento com todos os calculos feitos pelo sistema, com códigos Delphi, fiz legal, mas quero rodar dentro do BD, em uma SP, pois ficará mais rápido.
Se alguém puder me ajudar.
-
Michelle,
Talvez poucos de nós aqui desse espaço tenhamos tido contato com o VB, eu o tive, e não gostei muito, não me senti bem com ele, até tentei, mas não deu, talvez dê para aprender o C#, pois o D2005 vem com ele tb, tudo para o beneficio da plataforma .NET, a linguagem de programação deve ser aquela q você se sentir melhor, q tiver mais facilidade de compreender, e por favor não esqueça de estudar "Lógica de Programação", pois sem ela, não será muito proveitosa sua vida como desenvolvedora, você poderia testar exemplos bem simples em VB(basic) e Delphi (Pascal), e ver em qual das duas você mais se senti a vontade.
Mas para ajudar-lhe quanto ao titulo do tópico, veja este link.
http://www.timaster.com.br/revista/artigos....asp?codigo=889
Espero ter lhe ajudado.
Martins
-
Qual BD você usa?
- você pode escrever uma query para selecionar o registro q deseja.
- você pode criar um agrupamento, assim, em cada página só será impresso os dados de um cliente, por exemplo: pagina 1 - dados do cliente 1, página 2 - dados do cliente 2, etc...
Qualquer coisa, estamos aqui.!
-
Dá uma olhada no site: www.firebase.com.br, deve ter algo lá!
-
Ao fechar o programa ele e liberado da memória, descarregado, veja isso, pois pode ser o motivo de sua dor de cabeça, tenta algo lá em OnClose do Form (main) Action:=CaFree;
Pode ser q funcione.
Até mais!
-
e ai galera por favor de uma olhada no codigo abaixo esta dando um erro no 'OF'
o erro é o seguinte: [Error] Unit1.pas(48): Ordinal type required
me ajudem por favor!!!!!!!!!!!!
estou desesperado!!!!!!!!
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
var v:string;
begin
case combodia.text of
segunda : i:=0;
terça : i:=4;
end;
end;
Olha só, do jeito q você está usando o case of, acho q não vai dar certo, pelo q eu sei não se pode trabalhar com string, ele trabalha com variáveis do tipo: integer, byte, Word, por isso acho melhor você rever sua rotina.
qualquer coisa, estamos aqui!
-
Simples essa sua colocação....
você poderia ser mais especifico, tipo os dados q deseja separa, em q ordem, essas coisas, pois aí poderia lhe indicar como fazer um agrupamento....
Pense nisso...
-
Nunca usei este aplicativo, mas conheço o trabalho do Velasco, e ele é muito bom no q faz...
Espero q esse não seja igual ao Lock Folder.... pois não dá segurança de nada...
Não para quem realmente conhece um pouco sobre Informática. Principalmente DOS...
-
Bom, alguma coisa você deve ter conseguido fazer. Então, no que, exatamente, você está tendo dificuldades?
Abraços,
Graymalkin
Concordo com o colega...
você deve ter escrito algo, diga exatamente onde tem dúvida para q possamos lhe ajudar...
-
Sugiro q você pesquise algo sobre: "Pegando a data e Hora do Servidor".... de posse dessa função, você pode implementar o q deseja....
Boa Sorte...
-
Sendo assim....
Só se ele exportar para PDF....
Procure no Google um componente Delphi q permita exportar um Report para PDF, deve existir....
-
você está trabalhando com data e hora nesse seu aplicativo?
-
Uso o Quickreport, já usei outros como Crystal, Fast..., ReportBuilder. Mas sempre voltei pro velho e bom Quick, eu e ele nos damos bem.
Boa Sorte.
-
Uso a classe TRegistry do Delphi, porque?
-
Olá pessoal!
Alguém aqui trabalha com o Registro de Sistema do Windows (Registry), sei criar chaves, excluir, alterar, essas coisas básicas, gostaria mesmo é de saber como posso fazer uma instrução q pesquise todas as chaves do windows em busca de um valor, consigo pegar o valor, mas somente se especificar a chave, quero algo parecido com a função de localizar do prórpio registro do windows, se alguém souber e quiser compartilhar, agradeço!.
-
Eu tenho uma tabela onde é gerado o carnê.
Esse carnê é gerado automaticamente a partir do form vendas.
Se eu colocar os campos que você sugeriu abaixo:
nparcela | totparcelas
como faço para que ele exiba o nro da parcela?
Se os campos citados forem preenchidos pelo programa na hora de gerar as parcelas, você deverá pegar e colocar eles no seu gerador de relatórios, quick, rave, cristal, fastreport, report builder, etc...
É só colocar os campos +/- assim: nparcela / totparcelas
ficaria algo como
parcela: 1/4, por exemplo.
-
mas acho que você não entendeu a questão, não quero que o usuário veja nenhum msgm, nem que o exe expire, mas sim que ele seja executado automaticamente, sozinho numa data determinada num arquivo de txt, colocado no diretorio do programa.
ex: hoje são...01/11/2004, vou programar meu exe para se autoexecutar dia 10/11/2004...
quando a data do sistema for 10/11/2004, buuum!!!! o programa roda!!! oculto é claro!
entendeu!!!! apenas isso!
Cara o q você quer fazer, é algo parecido com o q fazem certos vírus, para isso, você teria as seguintes opções, ter um mini-aplicativo com poucas linhas de código, invisivel, localizado no registro do Windows, q fosse carregado juntamente com os demais aplicativos da inicialização, e q verificasse essa data para vc, sem retornar nenhuma msg, quando a data for verdadeira, esse seu programa teria q startar / run no aplicativo q você deseja.
A outra opção seria, você colocar uma especie de código dentro de um dos arquivos q fazem parte da inicialização do Windows, usando C ou Assembler para isso, e esse código verificaria a data e quando a data for a escolhida, execute seu aplicativo. Até mesmo com uma chamada
Start Aplicativo.exe
.
-
mas acho que você não entendeu a questão, não quero que o usuário veja nenhum msgm, nem que o exe expire, mas sim que ele seja executado automaticamente, sozinho numa data determinada num arquivo de txt, colocado no diretorio do programa.
ex: hoje são...01/11/2004, vou programar meu exe para se autoexecutar dia 10/11/2004...
quando a data do sistema for 10/11/2004, buuum!!!! o programa roda!!! oculto é claro!
entendeu!!!! apenas isso!
Cara o q você quer fazer, é algo parecido com o q fazem certos vírus, para isso, você teria as seguintes opções, ter um mini-aplicativo com poucas linhas de código, invisivel, localizado no registro do Windows, q fosse carregado juntamente com os demais aplicativos da inicialização, e q verificasse essa data para vc, sem retornar nenhuma msg, quando a data for verdadeira, esse seu programa teria q startar / run no aplicativo q você deseja.
A outra opção seria, você colocar uma especie de código dentro de um dos arquivos q fazem parte da inicialização do Windows, usando C ou Assembler para isso, e esse código verificaria a data e quando a data for a escolhida, execute seu aplicativo. Até mesmo com uma chamada
Start Aplicativo.exe [/cod].
-
Se você disser o q deseja, podemos tentar lhe ajudar...
-
Cara você tá trabalhando com BD, talvez query, só q do jeito q você postou não dá para deduzir o q seja, seja mais claro, então tentaremos lhe ajudar...
boa sorte!!
-
Desculpe por não ter logado antes...
eu postei a idéia acima...
vamos lá pessoal outras opções para o colega...
-
Kara, sei não mas acho q você vai precisar da ajuda de alguém q trabalhe com eletrônica digital, até mesmo para te auxiliar na implementação das rotinas do seu sistema, para ter certeza d q ele não vai apresentar nenhum equivoco e trazer constragimentos para o Cliente e o Desenvolvedor.
Boa sorte...
-
Eu precisava fazer o seguinte:
Mostar as vendas entre duas datas. Eu coloquei dois componentes MaskEdit no formulário. E fiz a programação para filtrar a consulta. O problema surge quando eu permito o usuário digitar apenas uma data, mostrando apenas as vendas de um determinado dia. Quando o segundo MaskEdit fica vazio é levantada uma exceção a qual diz que " / / " não é um valor válido.
Como eu faço para permitir que um MaskEdit fique vazio.
Acho q para as vendas de um determinado dia, você poderia definir algo do tipo, Data_ini(MaskEdit1) e Data_Fim(MaskEdit2)=Data_ini.
Deu pra entender?
Espero q ajude...
-
você pode mudar sim...
peguei esse código a algum tempo no Dicas e truques Delphi.
Pegar o Nome da Impressora...
function GetDefaultPrinterName : string; // // Retorna o nome da impressora padrão do Windows // begin if(Printer.PrinterIndex >= 0)then begin Result := Printer.Printers[Printer.PrinterIndex]; end else begin Result := 'Nenhuma impressora Padrão foi detectada'; end; end;
Mudar a impressora padrão pelo Nome.procedure SetDefaultPrinter(PrinterName: String); var I: Integer; Device : PChar; Driver : Pchar; Port : Pchar; HdeviceMode: Thandle; aPrinter : TPrinter; begin Printer.PrinterIndex := -1; getmem(Device, 255); getmem(Driver, 255); getmem(Port, 255); aPrinter := TPrinter.create; for I := 0 to Printer.printers.Count-1 do begin if Printer.printers[i] = PrinterName then begin aprinter.printerindex := i; aPrinter.getprinter (device, driver, port, HdeviceMode); StrCat(Device, ','); StrCat(Device, Driver ); StrCat(Device, Port ); WriteProfileString('windows', 'device', Device); StrCopy( Device, 'windows' ); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, Longint(@Device)); end; end; Freemem(Device, 255); Freemem(Driver, 255); Freemem(Port, 255); aPrinter.Free; end;
Espero q lhe ajude!!!
Stored Procedure
em Delphi, Kylix
Postado
E Então pessoal, ninguém aqui pode me ajudar com essa questão, Stored Procedure para IB/FB.
Aguardando!