Inicio > Delphi > miguecrack > hola!procedimiento

hola!procedimiento

Experto:
Usuario:
Fecha: 05/12/2008
Valoración: (5,00 sobre 5) Categoría: Delphi
05/12/2008
carloscon, usuario preguntando en Delphi
Usuario
quiero escribir un procedimento en el cual el texto de un tedit lo paso a una variable y luego con showmessage(variable); mostrar lo que le asigne a la varieble, esbribo lo de abajo y me salen puros errores, por ejmplo que no esta la variable memo1, siendo que inserte el memo1 en el formulario. lo declaro y despues me dice que no puede ser inicializado, como lo hago????




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

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
mirar();
end;

procedure mirar();
var
edit1:tedit;
fras:string;
begin
fras:=edit1.text;
ShowMessage(fras);
end;
end.
05/12/2008
carloscon, experto respondiendo en Delphi
Experto
Hola. El código que me has enviado tiene varios errores. Lo que me comentas del memo1 es un poco extraño ya que según el código no tienes ningún componente memo. Asegúrate que en la Form solo tienes los componentes que me comentas (para este trozo de código). Puesto que has declarado la variable edit1 de tipo tedit en mirar() esta se comportará como local al procedimiento. No declares esta variable ya que el componente lo puedes utilizar como global.
Tampoco es necesario que declares una variable para acceder al texto que has introducido en el tedit ya que en programación orientada a objetos cada componente (objeto) tiene sus métodos definidos o los que tu definas. Con edit1.Text tendrás el texto que hay en tedit (igual que has hecho con fras. Pero si lo quieres hacer como propones el código correcto sería este:

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

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.mirar(Sender: TObject);
var
fras:string;
begin
fras:=Edit1.text;
ShowMessage(fras);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
mirar(Sender);
end;

end.

Fíjate que aunque mirar se declara como procedure mirar(Sender: TObject) a la hora de implementarla se hace como TForm1.mirar(-----) ya que se trata de una función de dicha Form.

Espero haberte ayudado en algo. Un saludo.
05/12/2008
carloscon, usuario preguntando en Delphi
Usuario
Excelente. Una fantástica solución.
Más opciones
Enlaces patrocinados