Ir para conteúdo
Fórum Script Brasil

MartinsBios

Membros
  • Total de itens

    45
  • Registro em

  • Última visita

Posts postados por MartinsBios

  1. 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:

    user posted image

    Tela de lançamento dos eventos manualmente, nada de INSS/IRRF/FGTS

    user posted image

    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.

    user posted image

    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.

  2. 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

  3. 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!

  4. Bom, alguma coisa você deve ter conseguido fazer. wink.gif 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...

  5. 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!.

  6. 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.

  7. 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 

    .

  8. 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].

  9. 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...

  10. 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!!!

×
×
  • Criar Novo...