Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 21-10-2007
julian_ch julian_ch is offline
Miembro
 
Registrado: jun 2003
Posts: 18
Poder: 0
julian_ch Va por buen camino
Definir array en diseño

Hola, estoy cargando un array de Tedits en diseño y me dice que no existe el identificador, creo que esta bien, a ver si le notais algo raro
Código Delphi [-]
const
  ArrayX: Array[1..94] of TEdit = (edtAX,edtBX,edtCX,edt011X,edt012X,edt013X,edt023X,edt022X)
                                     edt021X,edt024X,edt031X,edt032X,edt060X,edt050X,edt081X,edt082X,
                                     edt083X,edt084X,edt085X,edt141X,edt143X,edt142X,edt17aX,edt15aX,
                                     edt181X,edt190X,edt203X,edt202X,edt201X,edt222X,edt221X,edt212X,
                                     edt224X,edt242X,edt250X,edt290X,edt300X,edt311X,edt313X,edt312X,
                                     edt314X,edt315X,edt316X,edt317X,edt320X,edt331X,edt332X,edt333X,
                                     edt334X,edt335X,edt341X,edt350X,edt360X,edt371X,edt372X,edt342X,
                                     edt410X,edt400X,edt390X,edt380X,edt420X,edt441X,edt442X,edt443X,
                                     edt44coX,edt450X,edt460X,edt540X,edtJ4X,edtJ3X,edtJ2X,edtJ1X,
                                     edt471ClaX,edt471BasX,edt471TipX,edt471ImpX,edt472ClaX,
                                     edt472ImpX,edt472TipX,edt472BasX,edt473ClaX,edt473ImpX,
                                     edt473TipX,edt473BasX,edt474ClaX,edt474ImpX,edt474TipX,
                                     edt474BasX,edt475ClaX,edt475ImpX,edt475TipX,edt475BasX,
                                     edt47TotalX,edt47MPX);

Gracias!!
Responder Con Cita
  #2  
Antiguo 22-10-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Estás intentando meter objetos TEdit en una lista? No es necesario. ¿Para qué quieres hacerlo?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 22-10-2007
julian_ch julian_ch is offline
Miembro
 
Registrado: jun 2003
Posts: 18
Poder: 0
julian_ch Va por buen camino
Es para un formulario que lee unos datos de un fichero y los carga en los edits y cuando se acepta hace lo contrario, lo habia pensado para recoger y guardar todos los datos con un simple bucle.
Responder Con Cita
  #4  
Antiguo 22-10-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Lo primero que se me ocurre es que estas definiendo en tu vector variables que no existen pues todos esos TEdits deben estar dentro de una clase de formulario... talvez debiese funcionar así:

Código Delphi [-]
const
  ArrayX: Array[1..94] of TEdit = (Form1.edtAX,Form1.edtBX,Form1.edtCX...

pero eso tampoco te funcionaría pues no son constantes, son objetos de valor variable. Tales valores variables son 0 y al ser creados toman un valor que apunta a la dirección de memoria que contiene el objeto, yo aconsejo:

Código Delphi [-]
var ArrayX: array [1..94] of TEdit;
 
procedure TForm1.FormCreate(Sender: TObject);
var Index: Cardinal;
begin
 Index := ComponentCount;
 repeat Dec(Index);
  if Components[Index] is TEdit then
   if Components[Index].Tag <> 0 then
    ArrayX[Components[Index].Tag] := (Components[Index] as TEdit);
 until Index = 0;
end;

0j0: cada objeto será definido en tiempo de diseño con un "Tag <> 0" que definirá su índice en el vector (tambien se podría usar TabOrder)

Saludos
Responder Con Cita
  #5  
Antiguo 22-10-2007
julian_ch julian_ch is offline
Miembro
 
Registrado: jun 2003
Posts: 18
Poder: 0
julian_ch Va por buen camino
Tienes razon, el fallo es que los componentes no exsten hasta que no se crea el formulario, la solucion que me has dado me funciona pero me carga todos los edits, cuando yo quiero cargar algunos en un array y otros en otro. Lo he solucionado añadiendolos asi
Código Delphi [-]
   arrayX[1]:=edtAX;
   arrayX[2]:=edtBX;
   arrayX[3]:=edtCX;
   arrayX[4]:=edt011X;
   arrayX[5]:=edt012X;
   arrayX[6]:=edt013X;
   arrayX[7]:=edt023X;
   arrayX[8]:=edt022X;
   ......

   arrayY[1]:=edtAY;
   arrayY[2]:=edtBY;
   arrayY[3]:=edtCY;
   arrayY[4]:=edt011Y;
   arrayY[5]:=edt012Y;
   arrayY[6]:=edt013Y;
   arrayY[7]:=edt023Y;
   .......

Gracias de todas formas por todo.
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
Definir impresora Carliviris Varios 6 11-01-2008 04:12:17
Problemas al definir UDF (Funciones en una DLL) pcicom Firebird e Interbase 2 21-06-2006 06:49:15
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 18:39:51
Definir el tamaño de la página gatosoft Impresión 1 28-04-2004 08:08:24
Definir columnas dbgrid Letty Conexión con bases de datos 3 15-12-2003 21:04:57


La franja horaria es GMT +2. Ahora son las 19:30: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