Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Post Tengo un problema con delphi

No sabia si postearlo por aca, soy novato en el foro y en delphi, tengo poco tiempo de estar usandolo, Trabajo con delphi 2010(Embarcadero).

El problema es el siguiente: estoy elaborando una aplicacion en la cual tengo 3 procedures, ( procedure proceso1(), procedure proceso2(),procedure proceso3() ) adjunto el codigo:
Código Delphi [-]
var
  Form2: TForm2;

implementation

{$R *.dfm}
procedure proceso3();
var I:Integer;
begin
for I := 1 to 100 do
Begin
  Form2.Proceso2.Caption:= 'Proceso3';
End;

end;
procedure proceso2();
var I:Integer;
begin
for I := 1 to 100 do
Begin
  Form2.Proceso1.Caption:= 'Proceso2';
End;
 Form2.Proceso1.Caption:= '';
end;
procedure proceso1();
var I:Integer;
begin
for I := 1 to 100 do
Begin
  Form2.Proceso1.Caption:= 'Proceso1';
End;
 Form2.Proceso3.Caption:= '';
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
proceso1();

end;

end.

El problema es que necesito hacer una llamada infinita de estos procedimientos de tal forma que:

El dentro del proceso1 pueda llamar al proceso2, dentro del proceso2 pueda llamar al proceso3 y dentro del proceso3 llame al proceso1, representando un ciclo infinito.

Entonces.. logro hacer que un procedimiento llame a otro que previamente haya sido definido, pero no logro hacerlo cuando este no ha sido posteriormente, de forma mas concreta, en el proceso1 llamo al proceso2, en proceso2 llamo al proceso3, pero cuando intento llamar al proceso1, dentro del proceso3, me dice un mensaje de que proceso1 no se ha declarado, intente colocar el procedura en public, pero no me ha funcionado.

Espero puedan ayudarme con esto, de antemano, gracias.

Última edición por marcoszorrilla fecha: 17-07-2011 a las 11:27:03.
Responder Con Cita
  #2  
Antiguo 17-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues bienvenido a clubdelphi, no olvides leer nuestra guía de estilo, donde se explica cosas como que hay que poner un título descriptivo a las preguntas (muy importante), encerrar el código entre etiquetas, etc.





.
Responder Con Cita
  #3  
Antiguo 17-07-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Ya logre la recursividad

Por medio de un forward donde defino el procedimiento, despues puedo invocarlo sin ningun problema, pero ahora me tope con otro problema, el cual expongo, espero puedan ayudarme, por cierto, gracias por los consejos de Diseño los tomare en cuenta de ahora en adelante.

Codigo Fuente

Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Proceso1: TLabel;
    Proceso2: TLabel;
    Proceso3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public

  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}
 procedure proceso2;forward;

 procedure proceso1;
 var
 I:Integer;
 begin
  Form2.Proceso2.Caption:='';
 for I := 1 to 100 do
   Begin
     Form2.Proceso1.Caption:='proceso1';
   End;
  proceso2;
 end;

 procedure proceso2;
 var
 I:Integer;
  begin
  Form2.Proceso1.Caption:='';
 for I := 1 to 100 do
   Begin
     Form2.Proceso2.Caption:='proceso2';
   End;
proceso1;
 end;


 procedure TForm2.Button1Click(Sender: TObject);
begin
proceso1;
end;

end.

como podran ver tengo dos procedures, proceso1 llama a proceso2, y proceso2 llama a proceso1... bueno hasta ahi todo bien.

El problema radica en que cuando carga el Form tengo un Button, sobre el cual quiero cargar el proceso1, al precionarlo inicie este ciclo, pero me encuentro con un error de tipos de datos.

Al parece(no estoy muy seguro de esto, aun sigo investigado) existe un problema con Form2.Ellabel.Caption:='el texto que quiero'; donde Ellabel = cualquier label que tengo definido, de momento Proceso1 a Proceso3.

Cuando llamo al proceso1 dentro del procedure del Button, me topo con este error:

[DCC Error] Unit2.pas(56): E2014 Statement expected, but expression of type 'TLabel' found

Estoy buscando informacion en google, pero solo encuentro relaciones con tipos Integer, String y similares, nada con un TLabel, he estado pensando cambiar los procedures por Function, pero no se que tanto pueda ser util.

Bueno, espero puedan ayudarme con esto, de antemano muchas gracias.
Responder Con Cita
  #4  
Antiguo 17-07-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Me parece o has nombrado los procedure igual que los label?
Responder Con Cita
  #5  
Antiguo 17-07-2011
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Gracias por responder..

Hola, gracias por responder, exactamente esa era la solucion, cambiar de nombre a los procedures, no sabia que Delphi no diferencia entre mayusculas y minusculas, bueno lo tendre en cuenta para las proximas aplicaciones que elabore, muchas gracias por la ayuda
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Houston tengo un problema .... Jesús Pena Varios 4 02-02-2008 00:45:34
Tengo un Problema con el DecimalSeparator andiget Varios 2 20-06-2007 21:21:36
Tengo un problema con una expresion en delphi 6 mp3968 Internet 1 17-05-2007 20:25:12
Tengo un problema con una consulta sql en delphi ElDioni SQL 2 11-07-2005 18:36:39
tengo un problema con el comando VAL perudelphi OOP 8 08-12-2004 04:31:30


La franja horaria es GMT +2. Ahora son las 13:37:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi