Fórum Passar esta Função por Parametros : #237193
10/06/2004
0
Ola tenho esta função e tentei passar por estes parametros só que nao deu certo.
Código:
function verparcelas( mesano_ini, mesano_fim: string ):integer;
var
difparc, ia, id, fa, fd:integer;
begin
result:=0;
id:=strtoint( copy( mesano_ini , 1 , 2) ); //transf.o dia em integer
fd:=strtoint( copy( mesano_fim, 1 , 2) );
ia:=strtoint( copy( mesano_ini , 3 , 4) ); //transf. o ano em integer
fa:=strtoint( copy( mesano_fim, 3 , 4) );
while (id < fd) and (ia<=fa) do begin
result:=result+1;
id:=id+1
if id>12 then begin
id:=1;
ia:=ia+1;
end;
end;
end;
A função acima retornaria a quantidade de parcelas que o valor seria dividido.
Para saber a data correta você poderia fazer o seguinte:
O parametro usado na função abaixo é um valor inteiro representando o dia da semana. Por exemplo domingo=1, segunda=2, etc.
A função abaixo retorna a data em que cair o dia da semana escolhido, no caso, o primeiro dia.
Exemplo: retdata(2,m), retornaria a data da primeira segunda do mes m
Código:
func retdata( dia:integer; mesano:string ):date;
var
i:integer;
d:string
begin
i:=1;
d:=inttostr(i)+´/´+copy(mesano,1,2)+´/´+copy(mesano,3,4);
while dayofweek(strtodate(d))<>dia do begin
i:=i+1;
d:=inttostr(i)+´/´+copy(mesano,1,2)+´/´+copy(mesano,3,4);
end;
result:=strtodate(d);
end;
Agora queria que passa - se por estes parametros
Procedure TForm1.Button1click(Sender:Tobject);
begin
showmessage(datetostr(verparcelas(strtodate(TDateTimePicker1.date),strtoint(TDateTimePicker2.date)));
e
Showmessage(datetostr(redata(strtodate(TDateTimePicker3.date))));
end;
Código:
function verparcelas( mesano_ini, mesano_fim: string ):integer;
var
difparc, ia, id, fa, fd:integer;
begin
result:=0;
id:=strtoint( copy( mesano_ini , 1 , 2) ); //transf.o dia em integer
fd:=strtoint( copy( mesano_fim, 1 , 2) );
ia:=strtoint( copy( mesano_ini , 3 , 4) ); //transf. o ano em integer
fa:=strtoint( copy( mesano_fim, 3 , 4) );
while (id < fd) and (ia<=fa) do begin
result:=result+1;
id:=id+1
if id>12 then begin
id:=1;
ia:=ia+1;
end;
end;
end;
A função acima retornaria a quantidade de parcelas que o valor seria dividido.
Para saber a data correta você poderia fazer o seguinte:
O parametro usado na função abaixo é um valor inteiro representando o dia da semana. Por exemplo domingo=1, segunda=2, etc.
A função abaixo retorna a data em que cair o dia da semana escolhido, no caso, o primeiro dia.
Exemplo: retdata(2,m), retornaria a data da primeira segunda do mes m
Código:
func retdata( dia:integer; mesano:string ):date;
var
i:integer;
d:string
begin
i:=1;
d:=inttostr(i)+´/´+copy(mesano,1,2)+´/´+copy(mesano,3,4);
while dayofweek(strtodate(d))<>dia do begin
i:=i+1;
d:=inttostr(i)+´/´+copy(mesano,1,2)+´/´+copy(mesano,3,4);
end;
result:=strtodate(d);
end;
Agora queria que passa - se por estes parametros
Procedure TForm1.Button1click(Sender:Tobject);
begin
showmessage(datetostr(verparcelas(strtodate(TDateTimePicker1.date),strtoint(TDateTimePicker2.date)));
e
Showmessage(datetostr(redata(strtodate(TDateTimePicker3.date))));
end;
Pellegrini
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)