Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda com intervalo entre datas


flavioavilela

Pergunta

bom dia a todos...

seguinte, eu tenho um sistema de fazenda e preciso da ajuda de vocês.. preciso que, em um relatório, me de o intervalo entre um parto e outro da vaca.... mas, obvio, me dando o intervalo da ultima parição com a penultima e os demais intervalos de parições que ela já teve...

alguém pode ajudar...???

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

eu sei utilizar intervalo entre datas, eu só não estou sabendo a lógica saca... como foi fazer pra armazenar essas informações de parições passadas para depois fazer as comparações entre um parto e outro, vaca por vaca... sacou??? como usar as funções de intervalos de datas eu sei....

Link para o comentário
Compartilhar em outros sites

  • 0
eu sei utilizar intervalo entre datas, eu só não estou sabendo a lógica saca... como foi fazer pra armazenar essas informações de parições passadas para depois fazer as comparações entre um parto e outro, vaca por vaca... sacou??? como usar as funções de intervalos de datas eu sei....

Ok ... a lógica deve seguir a maneira de como esse procedimento é realizado na fazenda.

veja um exemplo: PRIMEIROS PASSOS PARA COMEÇAR A CONTROLAR O SEU GADO E SUA PROPRIEDADE COM AUXÍLIO DO COMPUTADOR

http://www.webrural.com.br/webrural/artigo...tgado.htm#DICAS

OBS: Isso vai te dar a noção básica de como coletar os dados necessarios

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

tipo, eu sei o funcionamento de uma fazenda, já morei e frequento fazenda até hoje pelo menos 3 vezes por semana saca rsrs, eu imagino que sei até onde o computador pode ajudar na propriedade e tudo mais... o que eu queria era, tipo, que alguém me ajudasse na lógica dessa questão... se criar uma tabela pra armazenar o codigo do animal e os partos funcionaria... eu tive pensando nisso, mas, como vou comparar pra saber se é o ultimo e o penultimo e subtrair... depois o antepenultimo com o anteantepenultimo rsrsrs, ta ligado???

Link para o comentário
Compartilhar em outros sites

  • 0

certo, suponha que uma vaca acabou de parir hoje, dia 30/12/09... ai daqui 10 meses ela pare novamente... 30/10/2010... ai depois 10 meses novamente ela parece novamente... 30/08/2011... ai, eu preciso pegar o que agente chama de intervalo entre parto, que o tempo que ela gastou pra parir novamente... tipo, pegar 30/10/2010 - 30/12/2010, daria o intervalo do último parto dela.... ai, caso o usuário queira saber o intervalo do penúltimo parto dela, seria né 30/08/2011 - 30/10/2010, daria o intervalo da penúltima parição da vaca... e assim por diante, vaca por vaca...

eu imaginei criar uma tabela que armazenasse o animal, a data da parição dela, ai, sempre que eu lançar um parto de uma vaca, ele alimenta essa tabela... só que, no fritar dos ovos, eu teria, por exemplo:

VACA 1 - 30/12/2009
VACA 1 - 30/10/2010
VACA 1 - 30/08/2011

só que ai, eu não sei como eu faria para verificar a ordem do parto da vaca, o ultimo com o penultimo, o penultimo com o antepenultimo... sacou????

Link para o comentário
Compartilhar em outros sites

  • 0
eu imaginei criar uma tabela que armazenasse o animal, a data da parição dela, ai, sempre que eu lançar um parto de uma vaca, ele alimenta essa tabela... só que, no fritar dos ovos, eu teria, por exemplo:
VACA 1 - 30/12/2009

VACA 1 - 30/10/2010

VACA 1 - 30/08/2011

só que ai, eu não sei como eu faria para verificar a ordem do parto da vaca, o ultimo com o penultimo, o penultimo com o antepenultimo... sacou????

Isso é um exemplo bem simples, mas já dará a voce uma ideia de como fazer

OBS: Joguei os valores em um Memo, mas poderia ser a leitura de um registro em uma tabela

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function DifDias(DataFim:TDate; DataIni:TDate): String;  // função para dar a diferença de dias entre duas datas
Var Data: TDateTime;
    dia, mes, ano: Word;
begin
  if DataIni < DataFim then
     begin
        Result := 'A data inicial não pode ser menor que a data final';
     end
  else
     begin
        Data := DataIni - DataFim;
        DecodeDate( Data, ano, mes, dia);
        Result := FloatToStr(Data)+' Dias';
     end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var datai, dataf :TDate; i,j: integer;
begin
   j := 1;
   for i := 0 to Memo1.Lines.Count-1 do
      begin
         if i = 0 then
            begin
               datai := strtodate(copy(memo1.Lines.Strings[i],10,10));
               showmessage('data do parto '+ inttostr(j) + ' ' + datetostr(datai));
            end
         else
            begin
               inc(j);
               dataf := strtodate(copy(memo1.Lines.Strings[i],10,10));

               showmessage('data do parto '+ inttostr(j) + ' ' + datetostr(dataf));
               showmessage('diferença em dias entre partos ' + DifDias(datai, dataf));

               datai := dataf;
            end;
      end;

end;

end.
Esse código irá ler os valores das datas e irá mostras a diferença de dias entre o primeiro parto e o segundo .... depois do segundo para o terceiro e assim por diante. Com isso voce pode bolar algo mais ... a idéia preliminar seria essa. OBS: No lugar da função voce poderia usar outro recurso do delphi 7
Var Dia:Integer; 
Begin 
   Dia:=DaysBetween(StrToDate(MaskEdit1.Text),StrToDate(MaskEdit2.Text)); 
End;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...