FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
arrays dinamicos
¿Alguien seria capaz de explicarme algo sobre arrays dinamicos?. (por favor traten de explicarlo de la manera mas simple posible, ya que recien estoy empezando con delphi y no se mucho todavia de esto)
|
#2
|
||||
|
||||
Es como un array común, solo que puedes variar el numero de valores (simplemente no tienes que declararlo)
para ello se utilizan la funcion: setlength También se utilizan, en el trabajo con arrays, estas otras: low high length copy Slice |
#3
|
|||
|
|||
ok eliash, era masomenos lo que yo pensaba. Muchas gracias por responder!!!
|
#4
|
|||
|
|||
quizas esto pueda complementarse con lo que explico eliash
Un array no es más que una tabla, digamos de 2x2 que almacena información en cada campo que tiene, por ejemplo, en el array anterior podemos almacenar 4 datos que es la multiplicación de 2x2. La forma de almacenamiento es por medio de filas x columnas. Lógicamente éste tipo de arreglos se llaman estáticos debido a que tienen un tamaño fijo. Ahora, los arreglos dinamicos tienen la misma filosofía que los arreglos estaticos pero la diferencia es que no tienen declarado un tamaño fijo, éste se va creando conforme se agregen o eliminen datos de éste. para declarar un arraglo estático se utiliza algo como esto:
y para un arreglo dinamico:
De esta forma estamos declarando al arreglo dinamico de 5 posiciones. Si deseamos volver a redimensionar el arreglo volvemos a utilizar el SetLength y colocamos el nuevo valor. NOTA: Si redimensionamos el arreglo a un tamaño menor al anterior los valores que se encuentren dentro del rango eliminado seran borrados. Es decir, si el arreglo era de 5 y lo redimensionamos a 3 los valores en las posiciones 4 y 5 se perderán. Ya por último y para no hacertela tan larga y cansada si necesitamos extraer la información de un arreglo normalmente utilizaríamos una variable que almacenara el inicio del arreglo y otra que manejará el final.... eso es para simples mortales. Existe una forma más sencillas de saber de donde tenemos que empezar a buscar, por ejemplo si nuestro arreglo es de 5 posiciones pero no lo recordamos utilicemos a Delphi para que los busque por nosotros.
Las funciones Low y Higth hacen toda la chamba por nosotros, localizan donde existen valores almacenados y nos los devuelven. Bueno, espero que te halla servido esta explicación un poco más a fondo pero sencilla de lo que es una transacción dinamica y estática, hay muchas más cosas que aprender pero creo que con esto puedes empezar a trabajar. Suerte. |
#5
|
||||
|
||||
Buff, eso sí que es una explicación... me asombra la paciencia que teneis algunos para poneros a escribir con tantos datos y detalles.. y que aun por en cima se entienda y resulte coherente. Yo no podría
|
#6
|
|||
|
|||
Pregunta que me esta volando la mente:
¿¿Con el setlenght se setea tanto el ancho como el largo del arreglo?? ¿¿Como hago para setearlos por separado?? Pd: Cuburu te pasaste con la explicacion. Igual se poco de delphi, pero de pascal se bastante. |
#7
|
||||
|
||||
Mira en la ayuda de Delphi
En efecto, se puede definir la dimensíón de cada fila por separado.
Busca en la ayuda "multidimensional dynamic arrays" y encontrarás un ejemplo de ello. Un saludo Última edición por Thales fecha: 04-02-2006 a las 19:44:45. |
#8
|
|||
|
|||
Gracias thales. Es verdad, el ejemplo de la ayuda de delphi me saco todas las dudas. Gracias de nuevo!!!
|
#9
|
|||
|
|||
Perfecto
Muchas gracias, es todo lo que se necesita : D
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Arrays dinámicos con Delphi.NET | mamen | .NET | 0 | 25-11-2004 14:21:35 |
Problema con vectores dinámicos | aluduena | Varios | 2 | 27-09-2004 23:09:19 |
Regiones y arreglos dinámicos | yusnerqui | Varios | 2 | 02-09-2004 19:23:03 |
Liberar Arrays | altp | OOP | 3 | 27-05-2004 15:39:12 |
Arrays Dinamicos | mauro | Varios | 4 | 05-07-2003 21:14:29 |
|