Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Claro de esto ultimo se trata, hacerlo un arreglo de nodos, y que de cada nodo salga una lista enlazada. Lo q no entiendo muy bien es como enlazar los nodos del arreglo con sus listas enlazadas.

EDIT: Comenzar con este encabezado sería factible?

interface
type
pServicios = ^nodoServicios;

nodoServicios = record
info: string;
pSig: pServicios;
end;

cClientes = Class
pClientes: Array[1..100] of pServicios;
inicio: pServicios;
Constructor Crea;
__________________
Tengo que pasar .... y lo voy a lograr.

Última edición por davitcito fecha: 27-05-2005 a las 20:19:32.
Responder Con Cita
  #2  
Antiguo 28-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Hola davitcito,

usa el estilo Delphi, para que tu codigo se entienda mejor.

Te recomendaria usa el TList, para no limitarte al numero de servicios. Puedes hacer algo asi:

Código Delphi [-]
type

  nodoServicios = record
    nombre: string;
    masinfo: string;
  end;
  pServicios = ^nodoServicios;

  Servicios: TList;   // o TThreadList;


luego para crear la lista o ingresar usuarios, haces:

Código Delphi [-]

var
  Servicio: pServicios
begin
  new(Servicio);
  Servicio.info := "algo";
  Servicio.masinfo := "algo mas";
  Servicios.Add(Servicio);

lo mismo puedes hacer con la lista de clientes, en donde uno de los atributos es la lista de servicios.

En realidad, el TThreadList lo podes usar para la lista de clientes y el TList para la lista de servicios

Suerte
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 30-05-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Gracias por el dato, el problema es q aun no usamos el TList, por lo q no entiendo muy bien como funciona, mas bien mi pregunta va a como puedo unir el arreglo de nodos (cada elemento) con una lista enlazada. Es decir, cual sería el código a usar. Espero me ayuden. Gracias.
__________________
Tengo que pasar .... y lo voy a lograr.
Responder Con Cita
  #4  
Antiguo 30-05-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Gracias por el dato, el problema es q aun no usamos el TList, por lo q no entiendo muy bien como funciona, mas bien mi pregunta va a como puedo unir el arreglo de nodos (cada elemento) con una lista enlazada. Es decir, cual sería el código a usar. Espero me ayuden. Gracias.
__________________
Tengo que pasar .... y lo voy a lograr.
Responder Con Cita
  #5  
Antiguo 30-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
muy parecido:

Los servicios declaralos como vos decias
Código Delphi [-]
Servicios: Array[1..100] of pServicios;

en mi ejemplo reemplazá el Servicios.Add(Servicio); por

Código Delphi [-]
Servicios[1]= Servicio;

suerte
__________________
[Crandel]
Responder Con Cita
  #6  
Antiguo 30-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Recuerda que los elementos elementos creados con "new" despues depues deben ser eliminados con "Dispose".
__________________
[Crandel]
Responder Con Cita
  #7  
Antiguo 30-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
si te da error haciendo

Servicio.info := "algo";

proba con esta línea

Servicio^.info := "algo";

me entro la duda.

Probá
__________________
[Crandel]
Responder Con Cita
  #8  
Antiguo 31-05-2005
mminorm mminorm is offline
Miembro
 
Registrado: may 2005
Posts: 23
Poder: 0
mminorm Va por buen camino
Me imagino ke lo ke necesitas es implementar todo a mano, es algo complicado de explicar todo por aki, pero mas o menos t dare la idea:
Primero declaras la lista, luego le dices al vector ke sera de n cantidad de campos y ke cada campo sera un salto a la lista ke declaraste, por ejemplo:

Tlista = record
.
{declaracion de los datos para el registro de la lista}
.
End;

LMilista= ^Nodo;{declaracion de la lista}
Nodo=record
info:Tlista;
Sig,Ant:LMilista;
End;

Tvectorlista=record{declaracion de un registro ke tendra cada posicion del vector y ke adema tendra el salto a la lista}
salto:LMilista;
End;

Elementos:Array[1..X] of Tvectorlista;{declaración del vector}

End;

asi declaras un vector donde cada campo es un salto a la lista declarada de ahi en adelante lo ke haces es acceder a las diferentes listas ke tienes mediante el subindice del arreglo y luego a la lista. Con esta declaración se facilita todo ya ke para insertar, eliminar, o lo ke sea ke tengas ke hacer, solamente pasas el salto ke tiene cada posición del vector y la tratas como una lista comun y corriente[ejem: insertar(V[n].salto, registro)], eso si acuerdate de inicializar cada salto del vector en nil, porke si no se t arma un problema. Rspero t sirva esta mini explicación de listas salteadas cualkier cosa me escribes

Última edición por mminorm fecha: 31-05-2005 a las 08:58:48.
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


La franja horaria es GMT +2. Ahora son las 08:33:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi