Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2008
Drago26 Drago26 is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
Drago26 Va por buen camino
Question generar arrays automaticamente

hola soy nuevo en esto, quiesiera saber si alguien me puede ayudar con los arrays ya que tengo q trabajar con vectores en un trabajo del colegio. lo principal q quiero saber es si se puede generar vectores actumaticamente mediante un procedure. lo que tengo q hacer es trabajar con varios arrays a la vez, pero no se cuanto voy a necesitar, por eso quiero saber si se pueden generar automaticamente mediante el programita q estoy haciendo. el ejercicio es de camino critico de una materia llamada operativa, el tema de la materia es redes de proyecto, si pudiera ayudarme te lo agradeceria.

Última edición por Drago26 fecha: 25-09-2008 a las 15:00:43.
Responder Con Cita
  #2  
Antiguo 25-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Drago26 Ver Mensaje
hola soy nuevo en esto, quiesiera saber si alguien me puede ayudar con los arrays ya que tengo q trabajar con vectores en un trabajo del colegio. lo principal q quiero saber es si se puede generar vectores actumaticamente mediante un procedure
Hola Drago26,
Bienvenido a clubdelphi.

Como eres nuevo te pediría que por favor te tomes unos minutos para leer la guia de estilo.

Con respecto a tu duda, ¿Podrías ser más explícito por favor? ¿A que te refieres con generar vectores automáticamente?
Si nos describieras con más detalles tu problema te podremos ser de más ayuda.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 25-09-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
En programación hay gente que no sabe de física, e incluso sabiendo no vamos a ayudarte en ella. Este foro es de programación, y la ayuda sobre la programación es esta:

Generar arrays automáticamente está mal dicho, lo que se hace es declarar un array dinámico, osea, que puede cambiar el tamaño mediante procedimientos. Imagina que necesitas hacer un array de números pero no sabes cuantos números necesitas, deberías hacer esto:

Código Delphi [-]
Var
ArrayDinamico: Array of integer
//como puedes ver no se le da tamaño al array

Begin
SetLength(ArrayDinamico,1);//Con esto le cambias el tamaño
ArrayDinamico[0]:=20;//Y así le das valor a esa variable.
End.

Nota: Al cambiar darle valor a un array tienes que tener en cuenta que se empieza contando de 0. Si declaras tamaño 3, tendrás los arrays 0,1 y 2. También puedes saber su tamaño con Length(ArrayDinamico).
Responder Con Cita
  #4  
Antiguo 25-09-2008
Drago26 Drago26 is offline
Registrado
 
Registrado: sep 2008
Posts: 4
Poder: 0
Drago26 Va por buen camino
te lo agradezco voy a probar a ver que sale, saludos
Responder Con Cita
  #5  
Antiguo 26-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por rauros Ver Mensaje
En programación hay gente que no sabe de física, e incluso sabiendo no vamos a ayudarte en ella. Este foro es de programación, y la ayuda sobre la programación es esta:

Generar arrays automáticamente está mal dicho, lo que se hace es declarar un array dinámico, osea, que puede cambiar el tamaño mediante procedimientos. Imagina que necesitas hacer un array de números pero no sabes cuantos números necesitas, deberías hacer esto:

Código Delphi [-]Var ArrayDinamico: Array of integer //como puedes ver no se le da tamaño al array Begin SetLength(ArrayDinamico,1);//Con esto le cambias el tamaño ArrayDinamico[0]:=20;//Y así le das valor a esa variable. End.


Nota: Al cambiar darle valor a un array tienes que tener en cuenta que se empieza contando de 0. Si declaras tamaño 3, tendrás los arrays 0,1 y 2. También puedes saber su tamaño con Length(ArrayDinamico).
El problema no es que esté mal dicho, sino que la palabra que no es, a mi modo de ver, correctamente empleada es "automáticamente".
El verbo no es el problema. El leer generar, me lleva a interpretar de que deseaba declarar un array.
El lio, disculpenme si molesto a alguien con mis siguientes palabras, es como ya he mencionado: la palabra automáticamente.

NO necesariamente debe ser dinámico. Tranquilamente puede interpretarse a dicha palabra en un marco "temporal". Por poner un ejemplo, a lo mejor se desea declarar un array de 10 (supongamos que siempre es de 10) cuando se llame a un procedimiento, y/o cuando se cumpla cierta condición.

Mi primera impresión me llevó a pensar que tal vez se refería a arrays dinámicos, pero por las dudas preferí pedir amablemente de que explicase mejor.
Además señalo que el decir "pero no se cuanto voy a necesitar" da la idea de que no sabe cuantos arrays necesita, y no de que "tamaño" los necesita.

Me alegro rauros que hayas aparecido a la ayuda de Drago26, he estado fuera unas cuantas horas. He vuelto un tanto idiota, e intuyo que se ve reflejado en la forma en que me he expresado.

Disculpenme que haya señalado esos errores semanticos. No es muy correcto lo que hice, mi intensión es demostrar que el post de Drago26 puede interpretarse de muchas maneras.
Muy posiblemente rauros haya acertado a la duda. Más yo quiero pedir a Drago26 que por favor, en una próxima oportunidad, sea un tanto más explícito.
No le digo que sea Cervantes, pero al menos haber ordenado las ideas de otro modo evitaría las malas interpretaciones.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 26-09-2008
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Hey hey... amigos no olviden algo importante...!!!

LIBERAR LOS RECURSOS

Oye Drago26... cuando termines de utilizar tu array haz lo siguiente:

Código Delphi [-]
  ArrayDinamico := nil;

Bueno esta es una de las pocas ocasiones en las que se libera memoria de este modo... el otro caso que conozco es en los timage

Código Delphi [-]
  Image1.Picture := nil;

No se si alguien conozca otro caso.

Solo por curiosidad:

En general para liberar memoria de tus objetos debes hacer

Código Delphi [-]
  Objeto.free;

Yo siempre he considerado que el caso de Image1.Picture:= nil es un Bug ... por que dentro de la lógica, lo que haces cuando apuntas una variable tipo Objeto o Tipo Puntero (que al final son lo mismo), es perder la direccion de memoria donde está alojado tu objeto, mas no liberandolo

Entonces, es correcto

Objeto.Free;
Objeto:=nil;

Incorrecto:

Objeto:=nil;
Objeto.Free;

Por que en este segundo caso pierdes la direccion de memoria y cuando vayas a hacer Object.Free no va a encontrar un objeto que liberar...

Para el caso de trabajar directamente con apuntadores... debes utilizar metodos de separacion y liberacion de memoria (como New y Dispose) y al final si haces Puntero.=nil;

Saludo,
Responder Con Cita
  #7  
Antiguo 26-09-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
He vuelto un tanto idiota, e intuyo que se ve reflejado en la forma en que me he expresado.
pues no. Te has expresado como siempre....

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 26-09-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Cita:
Da la idea de que no sabe cuantos arrays necesita, y no de que "tamaño" los necesita.
Yo de ahí entiendo que lo que quiere drago26 es un montón de arrays. En ese caso lo que tienes que hacer es un array dinámico de arrays ...

Código Delphi [-]
Type 
  ArrayInteger = Array [especificar tamaño] of integer
End;

Var
 ArrayDinámico: Array of ArrayInteger;

Begin
SetLength(ArrayDinamico, especificar tamaño);
ArrayDinámico[Seleccionar Array][Seleccionar integer]:=Un Integer;
End;
Responder Con Cita
Respuesta



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 dinamicos Chompiras Varios 8 14-07-2015 22:49:51
Generar Còdigos automaticamente megaredoxk Conexión con bases de datos 3 05-12-2007 15:58:20
Generar automaticamente número de factura efelix OOP 3 03-04-2007 18:28:20
arrays nenufer Varios 7 13-05-2006 21:44:51
Arrays asociativos Bauhaus1975 Varios 2 27-04-2006 11:25:23


La franja horaria es GMT +2. Ahora son las 12:09:11.


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