Delphi - Para quienes sepan de arreglos

 
Vista:

Para quienes sepan de arreglos

Publicado por Rafael Fernández (34 intervenciones) el 25/07/2003 01:34:00
Bueno esta es una pregunta que no se si alguien me la pueda contestar, pero ahi va: ¿Alguien sabrá como cambiarle el numero de dimensiones a un arreglo?, no me refiero al numero de elementos que conforman a una dimension, lo cual se cambia con la sentencia setlength.
Bueno espero que me responda alguien si sabe.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Para quienes sepan de arreglos

Publicado por Lorym (10 intervenciones) el 25/07/2003 09:09:16
Quizás no te haya entendido, pero por si acaso...
Con la funcion SetLength puedes cambiar tanto su dimension como profundidad o longuitud. Por ejemplo:

type TtablaMensajes = array of array of string;
var tMgs: Ttablamensajes;
...
SetLength(tMgs,I,J);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para quienes sepan de arreglos

Publicado por Rafael Fernandez (34 intervenciones) el 27/07/2003 00:18:38
OK Hermano pero, para ejecutar setlength(TMSG,I,J), tuviste que declarar TMSG como "array of array of string", es decir que tuviste que declarar el arreglo inicialmente con dos dimensiones, es decir en forma estatica ; el problema radica cuando quieres agregarle dinamicamente una dimension mas, por ejemplo, con la misma declaración que hiciste realizar la funcion setlength(TMSG,I,J,K), es decir agregarle una dimension mas (ladimension k) en runtime. bueno si averigua alguien espero me diga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no es respuesta

Publicado por Jnrz (16 intervenciones) el 27/07/2003 01:18:03
esto no es una respuesta pero..
un array es solo un bloque de memoria.
el programador, es el que lo indentidica como array de dimenciones
por ejemplo
[x][x] (0,0)(0,1)
[x]]x] (1,0)(1,1)
[x][x] (2,0)(2,1)
en memoria es igual a [x][x][x][x][x][x] (0,0) .. (0,5)
solo la forma en la que se accede solo cambia
no resuelve tu problema pero solo queria aclarar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para quienes sepan de arreglos

Publicado por Lorym (10 intervenciones) el 28/07/2003 10:37:08
Disculpa no te entendí pues. En ese caso yo usaría punteros, para poder cambiar dinamicamente en tiempo de ejecucion.
PD: Soy hermana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Para quienes sepan de arreglos

Publicado por Rafael Fernández (34 intervenciones) el 30/07/2003 00:09:03
Primero que nada disculpame ¡hermana!..., pero precisamente esa es mi icognita, como te has podido dar cuenta, estoy comenzando en esto de la programación y aunque he avanzado ciertamente aun no soy muy diestro en el manejo de punteros, y no se cambiar dinamicamente la memoria que ocupa el vector y por ende sus dimensiones de esa forma, precisamente esa es mi interrogante no se si me podrías ayudar, bueno nuevamente disculpame, y espero tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar