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 30-01-2006
Chompiras Chompiras is offline
Miembro
 
Registrado: ene 2006
Ubicación: La plata, Argentina
Posts: 37
Poder: 0
Chompiras Va por buen camino
Arrow 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)
Responder Con Cita
  #2  
Antiguo 30-01-2006
Avatar de eliash
eliash eliash is offline
Miembro
 
Registrado: nov 2005
Ubicación: Galicia, España
Posts: 38
Poder: 0
eliash Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 31-01-2006
Chompiras Chompiras is offline
Miembro
 
Registrado: ene 2006
Ubicación: La plata, Argentina
Posts: 37
Poder: 0
Chompiras Va por buen camino
ok eliash, era masomenos lo que yo pensaba. Muchas gracias por responder!!!
Responder Con Cita
  #4  
Antiguo 01-02-2006
cuburu cuburu is offline
Miembro
 
Registrado: mar 2005
Posts: 63
Poder: 20
cuburu Va por buen camino
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:

Código Delphi [-]
var
  //Este arreglo podrá almacenar información desde la posición 0 a la 5.
  Array_estatico: array[0..5] of Integer;

y para un arreglo dinamico:

Código Delphi [-]
var
  {Solo definimos el "esqueleto" de nuesto arreglo pero no podemos declarar
nada hasta darle un tamaño}.
  Array_dinamico: array of Integer;

  {Para darle un tamaño determinado se utiliza la sentencia SetLength como te dijo eliash, esto sería algo asi:}
  SetLength(Array_dinamico, 5);

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.

Código Delphi [-]
var
  Cont: Integer;
begin
  for Cont = Low(Array_dinamico) to Hight(Array_dinamico) do
  begin
    ShowMessage('El valor es: ' + IntToStr(Array_dinamico[Cont]))
  end;
end;

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.
Responder Con Cita
  #5  
Antiguo 01-02-2006
Avatar de eliash
eliash eliash is offline
Miembro
 
Registrado: nov 2005
Ubicación: Galicia, España
Posts: 38
Poder: 0
eliash Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 04-02-2006
Chompiras Chompiras is offline
Miembro
 
Registrado: ene 2006
Ubicación: La plata, Argentina
Posts: 37
Poder: 0
Chompiras Va por buen camino
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.
Responder Con Cita
  #7  
Antiguo 04-02-2006
Avatar de Thales
Thales Thales is offline
Miembro
 
Registrado: ago 2005
Posts: 48
Poder: 0
Thales Va por buen camino
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 20:44:45.
Responder Con Cita
  #8  
Antiguo 04-02-2006
Chompiras Chompiras is offline
Miembro
 
Registrado: ene 2006
Ubicación: La plata, Argentina
Posts: 37
Poder: 0
Chompiras Va por buen camino
Gracias thales. Es verdad, el ejemplo de la ayuda de delphi me saco todas las dudas. Gracias de nuevo!!!
Responder Con Cita
  #9  
Antiguo 14-07-2015
cipce22 cipce22 is offline
Miembro
NULL
 
Registrado: may 2015
Posts: 22
Poder: 0
cipce22 Va por buen camino
Perfecto

Muchas gracias, es todo lo que se necesita : D

Cita:
Empezado por cuburu Ver Mensaje
quizas esto pueda complementarse con lo que explico eliash

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.
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
Arrays dinámicos con Delphi.NET mamen .NET 0 25-11-2004 15:21:35
Problema con vectores dinámicos aluduena Varios 2 28-09-2004 00:09:19
Regiones y arreglos dinámicos yusnerqui Varios 2 02-09-2004 20:23:03
Liberar Arrays altp OOP 3 27-05-2004 16:39:12
Arrays Dinamicos mauro Varios 4 05-07-2003 22:14:29


La franja horaria es GMT +2. Ahora son las 14:19:55.


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