Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2008
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 18
cslbcn Va por buen camino
Explico mi caso particular.
Se trata de un calendario. Usando un datetimepicker se selecciona una fecha (06/08/2008), por ejemplo.

Cuando la fecha ha sido seleccionada, se pulsa un botón y cuando se pulsa el botón debe ejecutar este código (en PHP):

Código PHP:
for ($iPos=1;$iPos<10;$iPos++) 

    echo 
"<input type='text' name='textbox.$iPos'"

Este código significa que iPos=1 y mientra iPos sea inferior a 10, la variable IPos valdrá +1 en cada ejecución del FOR. Si la condición se cumple, en la pantalla veremos aparecer un <input type='text' name="iPos"> con el nombre del objeto sujeto a la variable.

>Se inicia el programa. Hace el primer input y sale un cuadro que se llama 1.
Como que 1 es inferior a 10 me crea otro cuadro que se llama 2...

No creo que en delphi varie mucho a PHP. Algo como:
Código Delphi [-]
begin
  for i := 0 to 10 do begin
      TEdit.Name + IntToStr(i);
  end;
  end;

end;

no serviría?


P.D: faltan los controladores para que haga el salto de linea cuando llegue a domingo.
Responder Con Cita
  #2  
Antiguo 06-08-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Supongo que querrás algo como esto..... dinos algo

Código:
procedure TForm1.Button1Click(Sender: TObject);
var i,cizq,ctop:integer;
begin
 cizq:=10;
 ctop:=10;
 for i:=0 to 10 do
  begin
   with TEdit.Create(Self) do
    begin
     Parent := form1;
     Top := ctop;
     Left := cizq;
     Width := 100;
     Name := 'Edit' + inttostr(i);
     Text := 'Dentro Edit ' + inttostr(i);
     ctop:=ctop +(Height+15);
    end;
  end;
end;
Responder Con Cita
  #3  
Antiguo 06-08-2008
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 18
cslbcn Va por buen camino
with TEdit.Create(Self) do

Dice que el Self: Undeclared Indentifier
Responder Con Cita
  #4  
Antiguo 06-08-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
es muy raro que Self no te lo reconozca.... bueno cambialo por el nombre de tu formulario por ejemplo ...

Código:
with TEdit.Create(form1) do
Responder Con Cita
  #5  
Antiguo 06-08-2008
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 18
cslbcn Va por buen camino
Excelente! Funciona a la perfeccion!

Muchisimas gracias de nuevo amigo.
Creo que te voy a contratar
Responder Con Cita
  #6  
Antiguo 07-08-2008
cslbcn cslbcn is offline
Miembro
 
Registrado: jul 2008
Posts: 60
Poder: 18
cslbcn Va por buen camino
!!!!!!!
Hola. El código funciona correctamente, pero hoy estaba haciendo el calendario para mas de un mes y me ha salido un error.
Cuando se crean los Edit en el primer mes, los Name de cada cajon se quedan guardados en memoria, entonces cuando selecciono el segundo mes, me sale un error y dice que Edit1 ya existe. Los nombres se quedan grabados y no deja repetirlos.

Esto se puede solucionar liberando la memoria o algo parecido?
Responder Con Cita
  #7  
Antiguo 07-08-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Logicamente si están creados no puedes crear otros con el mismo nombre. Como realmente no se lo que haces tampoco te puedo orientar.... pero puedes hacer lo siguiente; Buscar el componente si esta creado no lo creas y si no lo está lo creas.

Código Delphi [-]
  
//donde editx es el nombre de tu componente..
if form1.ContainsControl(Tedit(findcomponent('editx'))) then 
 showmessage('está')
else 
 showmessage('no está');

Para destruir un edit pues sencillo....

Código Delphi [-]
form1.controls[x].destroy; // donde x es el número de componente creado
Responder Con Cita
Respuesta



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
cual seria el motherboard perfecto kurono Debates 24 19-05-2008 15:35:14
¿El uso de firebird como una base seria no es tan correcto? IVAND Firebird e Interbase 31 18-12-2007 21:42:45
cual seria el componente correcto? DM2005 Varios 0 04-07-2006 21:55:39
Cual seria lo ideal? Coco_jac Gráficos 1 10-06-2005 01:38:42
¿Qué seria el mundo sin la Microsoft? Sasuke_Cub Debates 10 21-04-2005 07:39:43


La franja horaria es GMT +2. Ahora son las 07:35:45.


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