Ir al contenido


Foto

Arrays Dinámicos


  • Por favor identifícate para responder
3 respuestas en este tema

#1 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 29 enero 2009 - 03:41

Holas a todos !

Aquí de nuevo con dudas existenciales:

Estoy haciendo algo así:



delphi
  1. type
  2.     TRegistro = record
  3.       Id:Integer;
  4.       Razon:String;
  5.     end;
  6.  
  7. var
  8.   Form1: TForm1;
  9.  
  10.   Arreglo_Registros: array of TRegistro;



... y me gustaría saber qué diferencia existe entre crear un tipo registro llamado TRegistro y después declarar una Variable que sea un Array Dinámico de tipo TRegistro a hacer esto otro:



delphi
  1. type
  2.     TRegistro = record
  3.       Id:Integer;
  4.       Razon:String;
  5.     end;
  6.  
  7. type Arreglo_Registros: array of TRegistro;
  8.  
  9. var
  10.   Form1: TForm1;
  11.  
  12.   ArregloReg: Arreglo_Registros;



... donde el Array Dinámico se declara también como tipo de dato Arreglo_Registros y después se declara una variable de tipo Arreglo_Registros...

Grax !  :D
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 29 enero 2009 - 03:59

no le veo diferencia alguna solo que ya tienes un tipo de dato declarado y te ahorras el Array of...
pero bueno a lo mejor si hayan diferencias mas importantes...
  • 0

#3 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 29 enero 2009 - 04:03

Pues yo tampoco le veo gran diferencia... a menos que cómo dices, se vayan a crear varios Arreglos del mismo tipo, esperemos lo que digan los demás  :)

Gracias eduarcol...  :D
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 29 enero 2009 - 04:24

¡Hola!

A simple vista no vemos diferencia, pero seguramente debe haber alguna diferencia. Internamente, el compilador capaz que haga una u otra cosa. No estoy seguro... pero sabiendo que Pascal y Delphi son fuertemente tipificados, no es lo mismo esto:



delphi
  1. type TArreglo1: array of [1..10] of integer;



que esto:



delphi
  1. type TArreglo2: array of [1..10] of integer;



De modo que si tenemos una variable para el primer tipo y otra para el segundo, una operación como ésta:



delphi
  1. var var1: TArreglo1; var2: TArreglo2;
  2. ...
  3. var1 := var2;



No funciona.

Incluso, no es lo mismo tener dos variables declaradas como array en vez de type:


delphi
  1. var
  2.   var1: array[1..10] of integer;
  3.   var2: array[1..10] of integer;



Por lo que tampoco va a funcionar el paso de una a otra:



delphi
  1. var1 := var2;



Por ello es que me digo que algo de distinto debe haber. Algo interno, forma de localizar la memoria... la verdad es que desconozco en donde puede haber la diferencia.

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.