Ver Mensaje Individual
  #2  
Antiguo 19-06-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Creo entender que quieres hacer mas o menos como contaplus y los números de cuenta.

Yo el número de la base de datos lo guardaría como un string, por aquello de los puntos. Si tienes un número 1.0.0.00.00 no tiene el mismo ancho entre puntos, o sea, en algunos sitios solo usas un dígito, y en otros 2 digitos para representar las cuentas, por tanto: Si guardas el número sin los puntos, despues ¿como te las arreglas para insertar los puntos en pantalla?.

Por otra parte, Teniendo el punto guardado en la base de datos, al mostrarlo en un TTreview, solo tendrías que recorrer la tira de caracteres y cuando encuentres un punto, añadir un subnivel al arbol. Para hacer esto, puedes crear un TstringList, y le pones :
Código Delphi [-]
  s.DelimitedChar := '.' 
  s.delimitedText:= '1.0.0.00.00';

{el stringlist quedaria de la forma:
s[0]:= '1';
s[1]:= '0';
s[2]:= '0';
s[3]:= '00';
s[1]:= '00';
}

cuentaNivel4 := s[3];  //1.0.0.00.00

Con esto tambien ganas en independencia, ya que si te dicen que añadas un dígito más a las cuentas de nivel 2 (1.0.0.00.00 solamente tienes que modificar el valor de la base de datos, todo el proceso para mostrarlo en el TTreeview te seguría funcionando.

A ver que otras sugerencias hay

Saludos
Responder Con Cita