Fórum Como no vb? Parte2.... #154512

13/04/2003

0

gostaria que observassem o seguinte codigo:
procedure TForm1.Button2Click(Sender: TObject);
var
a:integer;

begin
teste.Insert;
for a:= 0 to componentcount-1 do begin;
if components[a] is tedit then
teste.Fields[a].Text:=tedit(components[a]).Text;
end;
teste.Post;
teste.Updaterecord;

end;


e levassem em conta que no form há 6 objetos (sendo 4 edite e dois command buttons)e na tabela 4 campos. Pela minha lógica(que para variar deve estar furada) ele devia contar os componentes selecionar os edits e colocar o valor delas dentro dos campos da tabela e atualizar o registro certo?
Mas ocorre o seguinte ele passa por cima da quantidade dos edits e conta também os cmb, e quando ele faz isso ocorre um erro e o programa para.
O porque do erro eu encontrei. como há seis objetos e apenas quatro campos a tabela retorna um valor de index não existente pois ela só possui quatro campos e o programa diz que ela tem 6.
A pergunta é a seguinte: como faço para ele me contar só os edit do form, sem que eu tenha que em cada form dizer a ele quantos edit tenha manualmente, pois gostaria de colocar esta rotina em um modulo e chamala sempre que necessário.
E aproveitando a pergunta gostaria de saber se no delphi a um modulo como no vb? :?:


Cal

Cal

Responder

Posts

13/04/2003

Data

A tua lógica tá errada até no erro meu.
Tente o código corrigido abaixo e veja se não dá certo.

procedure TForm1.Button2Click(Sender: TObject);
var
a, b:integer;
begin
b := 0;
teste.Insert;
for a:= 0 to componentcount-1 do
begin;
if components[a] is tedit then
begin
teste.Fields[b].Text:=tedit(components[a]).Text;
inc(b);
end;
end;
teste.Post;
teste.Updaterecord;
end;

´Ninguém sabe tão pouco que não possa ensinar. Ninguém sabe tanto que não possa aprender.´

Espero ter ajudado.


Responder

Gostei + 0

13/04/2003

Aroldo Zanela

E aproveitando a pergunta gostaria de saber se no delphi a um modulo como no vb? :?:


File -> New -> Unit (Considero equivalentes, pois o módulo do VB fica só código sem formulário e a Unit fica só código Object Pascal).


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar