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 08-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Delphi es un lenguaje de programación altamente tipificado, esto es, los tipos pasados por parámetros deben coincidir exactamente para que deje compilar.

Esto te obliga a usar buenas prácticas de programación como ha hecho coso
Código Delphi [-]
type TRegArray = array of TReg;

Al crear el tipo de datos en la zona interface, ya puedes usar ese tipo en todos los procedimientos de la unidad, y como el tipo de datos es el mismo, delphi te deja compilar perfectamente.

Incluso te ayuda a no cometer errores, es decir, en un lado del programa defines un array de una forma, y después intentas pasarle un array de otra forma distinta, eso provocaría errores en ejecución. Si delphi fuerza a que declares los tipos iguales, minimiza los errores de tu programa.

En cuanto a punteros y direcciones, debes saber que un array es ya un puntero a la primera posición de tu tabla, igual que tu "Form1" es un puntero a tu ventana TForm1. Delphi usa mucho los punteros, aunque los camufla de una forma elegante .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 08-11-2008
eLYaN eLYaN is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
eLYaN Va por buen camino
Muchisimas gracias, ha funcionado a la perfección.

Saludos.
Responder Con Cita
  #3  
Antiguo 08-11-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola a todos!

Un par de cosas:

No es necesario llamar al procedimiento SetLength con una longitud de 0 cuando la variable de arreglo dinámico todavía no tiene asignación de memoria alguna. Aunque se trate de variables locales, Delphi inicializa en ceros / Nil todas las variables que usan contadores de referencia, como es el caso de las cadenas largas y los arreglos dinámicos.

Por otra parte, también podría definirse la rutina del ejemplo a manera de función en lugar de procedimiento:
Código Delphi [-]
Function TForm1.MiFuncion :TRegArray;
Begin
  SetLength (Result, 2);  //2 registros
  Result [0].X := '0';
  Result [1].X := '1';
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
  Reg :TRegArray;
begin
  Reg := MiFuncion;
  ShowMessage (Reg [0].X + ', ' + Reg [1].X);
end;

Saludos.

Al González.
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
Funcion Array Dinamico??? franss Varios 4 28-08-2008 21:33:23
Array Dinamico Gizhe JAVA 4 04-07-2008 20:39:46
Array Dinamico VRO Varios 6 14-06-2005 12:40:16
Inicializar array dinamico senpiterno Varios 2 08-09-2004 03:17:34
Array Dinamico senpiterno Varios 4 22-07-2004 18:37:06


La franja horaria es GMT +2. Ahora son las 15:00:07.


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