Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2008
franss franss is offline
Registrado
 
Registrado: ago 2008
Posts: 5
Poder: 0
franss Va por buen camino
array multidimensionales

Buenas a todos. Ahi va esa, a ver quien es el buen samaritano que me ilumina:


Código Delphi [-]
 
// clase B

type
TSArray= Array [0..31,0..2] of string;

TCadenas= Class
Protected
cp: TSArray;
Public
Constructor Create(Ruta, Separador:String);
Function DevDatos(const X, Y: Integer): Double;
Function TarifaM(const M: Double): Double;
Function TarifaP(const M: Double): Double;
Private
LimX,LimY : Integer;
end;

// calculos

Se accede a esta clase desde otra unidad y hasta ahi todo correcto.
El problema viene cuando intento generalizar la clase y cambiar el tipo de datos a un array multidimensional....
Array of Array of String;

No da ningun error al compilar; pero la cosa es que no carga bien los datos, siendo la clase tanto A como B la misma....( solo que la b evidentemente se tiene que redimensionar para que el array se adapte a los datos que haya)


Alguien me podria decir donde esta el problema??


Un Saludo y gracias
Responder Con Cita
  #2  
Antiguo 21-09-2008
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Hola

Lo siento, creo que entendí mal lo que preguntaban


Saludos

Última edición por Robert01 fecha: 22-09-2008 a las 01:03:47. Razón: Lo siento, creo que había escrito cualquier cosa
Responder Con Cita
  #3  
Antiguo 22-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 franss Ver Mensaje
Buenas a todos. Ahi va esa, a ver quien es el buen samaritano que me ilumina:


Código Delphi [-] // clase B type TSArray= Array [0..31,0..2] of string; TCadenas= Class Protected cp: TSArray; Public Constructor Create(Ruta, Separador:String); Function DevDatos(const X, Y: Integer): Double; Function TarifaM(const M: Double): Double; Function TarifaP(const M: Double): Double; Private LimX,LimY : Integer; end; // calculos


Se accede a esta clase desde otra unidad y hasta ahi todo correcto.
El problema viene cuando intento generalizar la clase y cambiar el tipo de datos a un array multidimensional....
Array of Array of String;

No da ningun error al compilar; pero la cosa es que no carga bien los datos, siendo la clase tanto A como B la misma....( solo que la b evidentemente se tiene que redimensionar para que el array se adapte a los datos que haya)


Alguien me podria decir donde esta el problema??


Un Saludo y gracias
Hola franss, ¿Podrías aportar más detalles sobre tu problema y/o duda?
No me queda muy claro tu duda ¿Deseas tener una clase que herede de la primera y extienda al array?

Si pudiera conocer con mejores detalles tu problema y tus necesidades te podría ser de mayor ayuda.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 22-09-2008
franss franss is offline
Registrado
 
Registrado: ago 2008
Posts: 5
Poder: 0
franss Va por buen camino
Buenas de nuevo:

Lo expuesto es solo la interface de una clase que esta en una unidad independiente de la unidad principal. La unidad principal accede a esta clase para conseguir los datos requeridos. La clase lo que hace es leer un archivo de texto y separarlo en lineas y dentro de cada linea separa los parrafor que vienen separados con un separador ( o cualquier otro; todo esto va incluido en un array multidimensional que es el que utilizamos para un calculo interno. En el metodo Create, se cargan los datos.
Tal y como esta funciona perfectamente la clase; pero el problema es que no es generalizado; es decir si cambiamos las lineas del archivo de texto no coincidiria con lo limites del array expuesto. Lo que pretendo es cambiar la segunda linea por esta otra:
TSArray= Array of Array of string
y dentro pues se va dimensionando el array. La cosa es que Delphi me permite compilarlo sin errores, pero la realidad es que no carga bien los datos en la variable 'cp'.

como es posible que siendo el mismo algoritmo y no tocando ninguna linea de la clase excepto lo del dimensionamiento, no se consiga el mismo resultado????

Lo mismo es una tonteria, pero yo no lo veo.

agradezco vuestra ayuda.


Saludos
Responder Con Cita
  #5  
Antiguo 22-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 franss Ver Mensaje
Buenas de nuevo:

Lo expuesto es solo la interface de una clase que esta en una unidad independiente de la unidad principal. La unidad principal accede a esta clase para conseguir los datos requeridos. La clase lo que hace es leer un archivo de texto y separarlo en lineas y dentro de cada linea separa los parrafor que vienen separados con un separador ( o cualquier otro; todo esto va incluido en un array multidimensional que es el que utilizamos para un calculo interno. En el metodo Create, se cargan los datos.
Tal y como esta funciona perfectamente la clase; pero el problema es que no es generalizado; es decir si cambiamos las lineas del archivo de texto no coincidiria con lo limites del array expuesto. Lo que pretendo es cambiar la segunda linea por esta otra:
TSArray= Array of Array of string
y dentro pues se va dimensionando el array. La cosa es que Delphi me permite compilarlo sin errores, pero la realidad es que no carga bien los datos en la variable 'cp'.

como es posible que siendo el mismo algoritmo y no tocando ninguna linea de la clase excepto lo del dimensionamiento, no se consiga el mismo resultado????

Lo mismo es una tonteria, pero yo no lo veo.

agradezco vuestra ayuda.


Saludos
Hola franss,
Disculpame, aún no termino de comprender el propósito de los arrays. Además no termino de comprender como es que separas el texto linea a linea y dentro de ésta por parrafo.

Te pediría que ofrecieras algo "más visual" para comprender tu idea. Algún ejemplo sencillo.

En la primera lectura de tu post me estaba imaginando emplear la clase TStrings, ya que ésta tiene los métodos suficientes para trabajar con archivos; e incluso separarlos linea a linea en base a un delimitador... Tal vez esta clase te pueda ser de ayuda.
No se, sin comprender mejor tu problema no puedo decir mucho.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
problemas con array o array noodle_ OOP 7 19-06-2008 22:30:57
Inicializar arrays multidimensionales Wellnic Varios 10 25-05-2007 19:44:52
BMP en un array lacatella Gráficos 2 27-07-2006 20:36:27
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51
Array esquerda21 Varios 7 26-02-2004 19:27:21


La franja horaria es GMT +2. Ahora son las 19:18:41.


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