Entrada de dados em um único campo
06/03/2016
0
Eu sou relativamente novo do Delphi e estou tentando fazer uma aplicação que necessita entrada de mais de um valor em uma unica caixa, como na img.
[img]http://arquivo.devmedia.com.br/forum/imagem/476122-20160306-185935.jpg[/img]
No caso eu preciso que nos campos força e distancia seja inserido um valor, quando o usuário pressionar o botão "ok", os campos se limpam e ele pode inserir outro valor e assim por diante.
Seria possível fazer isso sem banco de dados? Em um numero limitado, por exemplo, em 10 entradas.
Emanuel
Posts
07/03/2016
Rafael Bosco
procedure LimpaCampos; begin EdtForca.Text := EmptyStr; EdtDistancia.Text := EmptyStr; end;
07/03/2016
Raimundo Pereira
Var Qt_entradas: integer;
Declare a procedure
procedure LimpaCampos;
begin
EdtForca.Text := EmptyStr;
EdtDistancia.Text := EmptyStr;
Showmessage('Quantidade de Entradas atingido!')
end;
Coloque no Button OK
begin
if Qt_entradas=10 then
begin
LimpaCampos(self);
end
else
begin
Qt_entradas:=Qt_entradas+1;
>> Realiza o procedimento da entrada.
end;
end;
No on creat do form1
Qt_entradas:=0;
07/03/2016
Natanael Ferreira
dessa forma o acesso aos elementos do vetor pode ser feita através de um índice.
Um exemplo de como usar:
Crie estas duas variáveis globais (Forca e Cont):
var Form1: TForm1; Forca: array [1 .. 10] of string; Cont: Integer = 0;
No seu botão 'Ok' para armanezamento ficaria assiim:
begin if Cont < 10 then begin if Edit2.Text <> EmptyStr then begin Forca[Cont + 1] := Edit2.Text; Inc(Cont); Edit2.Clear; end end else ShowMessage('As 10 forças já foram preenchidas'); end;
Veja este artigo sobre Array para melhor entendimento:
http://www.johnidouglas.com.br/uso-de-estruturas-com-vetores-no-delphi/
07/03/2016
Emanuel
dessa forma o acesso aos elementos do vetor pode ser feita através de um índice.
Um exemplo de como usar:
Crie estas duas variáveis globais (Forca e Cont):
var Form1: TForm1; Forca: array [1 .. 10] of string; Cont: Integer = 0;
No seu botão 'Ok' para armanezamento ficaria assiim:
begin if Cont < 10 then begin if Edit2.Text <> EmptyStr then begin Forca[Cont + 1] := Edit2.Text; Inc(Cont); Edit2.Clear; end end else ShowMessage('As 10 forças já foram preenchidas'); end;
Veja este artigo sobre Array para melhor entendimento:
http://www.johnidouglas.com.br/uso-de-estruturas-com-vetores-no-delphi/
Deu certo desse jeito, obrigado pela ajuda.
Só mais uma duvida, para criar o botão calcular como eu vou pegar estes valores?
por exemplo no botão calcular eu preciso que a equação seja preenchida.
m= momento;
f1, f2, f3 ... f10 = força;
d1, d2, d3 ... d10 = distancia;
momento := força * distancia;
no caso eu posso ter ate 10 forças e 10 distancias,
então eu teria que calcular:
m := ((f1*d1)+(f2*d2)+...(f10*d10)) / distanciatotal;
Eu preciso criar 10 variáveis para força e 10 para distancia? e como eu pego estes dados?
07/03/2016
Natanael Ferreira
Exemplo:
Forca: array [1 .. 10] of string; Distancia: array[1..10] of string;
Você atribui os valores assim:
Forca[1]:= 1; Forca[2]:= 2; Forca[3]:= 3; ...... Forca[10]:= 10;
E para recuperar, por exemplo, o valor da força da posição 8 você faz:
Forca[8];
O seu botão ficaria mais ou menos assim:
m := ((Forca[1]*Distancia[1])+(Forca[2]*Distancia[2])+...(Forca[10]*Distancia[10])) / distanciatotal;
07/03/2016
Natanael Ferreira
http://www.4shared.com/zip/K_TKJFyDba/Array.html
Baixe e veja se te ajuda.
07/03/2016
Emanuel
http://www.4shared.com/zip/K_TKJFyDba/Array.html
Baixe e veja se te ajuda.
Vai ajudar demais, exatamente o que eu estou precisando. Muito obrigado pela ajuda Natanael.
Clique aqui para fazer login e interagir na Comunidade :)