Como fazer um contador ?
29/01/2010
0
Estou usando Delphi 2009 + DBX 4 + FB 2.0.
Minha dúvida é o seguinte eu tenho 2 combobox que é preenchido com um Numero Inicial e o outro com Numero Final, a questão é como eu faço para cadastrar automaticamente a sequencia entre eles no banco de dados.
Exemplo:
Combo Inicial = 10
Combo Final = 20
Então preciso que ao confirmar que ele grave os numeros 10,11,12,13,14,15,16,17,18,19,20 no banco de dados.
Alguem pode me ajduar em como faço isto ?
Obrigado.
Osvaldo Domênico
Posts
29/01/2010
Alison Bissoli
cboini é o combo de número inicial.
cbofim é o combo de número final.
abaixo, o código para gerar a string que deverá ser gravada.
procedure TForm2.btnGravarClick(Sender: TObject);
var
strGravar : string;
I: Integer;
begin
if cboini.Text = '' then
begin
showmessage('Informe o número inicial');
exit
end;
if cbofim.text = '' then
begin
showmessage('Informe o número final');
exit
end;
if StrToInt(cboini.text) > strtoint(cbofim.text) then
begin
showmessage('Número inicial não deve ser maior que número final');
exit;
end;
for I := strtoint(cboini.text) to strtoint(cbofim.Text) do
begin
if strgravar '' then strgravar := strgravar + ',';
strgravar := strgravar + inttostr(I);
end;
//Grave o valor de strgravar
end;
Espero ter ajudado.
Garoto Desktop - 100% Delphi
http:\\garotodesktop.blogspot.com
29/01/2010
Osvaldo Domênico
31/01/2010
Emerson Nascimento
se é para gravar num banco de dados, publique a estrutura das tabelas envolvidas.
31/01/2010
Osvaldo Domênico
procedure TfrmTabelaComissao.btnCalcularClick(Sender: TObject); var vInicio,vFinal,nContador: Integer; Resultado : String; begin vInicio := StrToInt(dbePlanoINI.Text); vFinal := StrToInt(dbePlanoFIN.Text); If dbePlanoINI.Text = EmptyStr then begin showmessage('Informe o Plano Inicial'); exit; end; If dbePlanoFIN.Text = EmptyStr then begin showmessage('Informe o Plano final'); exit; end; If StrToInt(dbePlanoINI.Text) > strtoint(dbePlanoFIN.Text) then begin showmessage('O Plano Inicial não deve ser maior que Plano Final'); exit; end; for nContador := vInicio to vFinal do begin Resultado := Resultado+IntToStr(nContador); Edit1.Text := Resultado; end; end;
31/01/2010
Osvaldo Domênico
var
vInicio,vFinal,nContador: Integer;
Resultado : String;
begin
vInicio := StrToInt(dbePlanoINI.Text);
vFinal := StrToInt(dbePlanoFIN.Text); If dbePlanoINI.Text = EmptyStr then
begin
MessageDlg('Informe o Plano Inicial',mtinformation,[mbok],0);
exit;
end; If dbePlanoFIN.Text = EmptyStr then
begin
MessageDlg('Informe o Plano Final',mtinformation,[mbok],0);
exit;
end; If StrToInt(dbePlanoINI.Text) > strtoint(dbePlanoFIN.Text) then
begin
MessageDlg('O Plano Inicial não deve ser maior que Plano Final',mtinformation,[mbok],0);
exit;
end; for nContador := vInicio to vFinal do
begin
DMPrincipal.cdsComissaoPlanos.Insert;
DMPrincipal.cdsComissaoPlanosPLANOS.AsInteger := nContador;
end; end; O meu muito obrigadoooooooooooooooooo !!! Abraços.
01/02/2010
Ricardo Araujo
esta solução esta correta e funciona.
procedure TfrmTabelaComissao.btnAtribuirPlanosClick(Sender: TObject);
var
vInicio,vFinal,nContador: Integer;
Resultado : String;
begin
vInicio := StrToInt(dbePlanoINI.Text);
vFinal := StrToInt(dbePlanoFIN.Text); If dbePlanoINI.Text = EmptyStr then
begin
MessageDlg('Informe o Plano Inicial',mtinformation,[mbok],0);
exit;
end; If dbePlanoFIN.Text = EmptyStr then
begin
MessageDlg('Informe o Plano Final',mtinformation,[mbok],0);
exit;
end; If StrToInt(dbePlanoINI.Text) > strtoint(dbePlanoFIN.Text) then
begin
MessageDlg('O Plano Inicial não deve ser maior que Plano Final',mtinformation,[mbok],0);
exit;
end; for nContador := vInicio to vFinal do
begin
DMPrincipal.cdsComissaoPlanos.Insert;
DMPrincipal.cdsComissaoPlanosPLANOS.AsInteger := nContador; DMPrincipal.cdsComissaoPlanos.post; // só incluir o post
end; end;
Clique aqui para fazer login e interagir na Comunidade :)