FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como guardar una array en una base datos?
Hola a todos!!!
Veréis, estoy haciendo un programa ligado con tablas de una base de datos, y entre estas tablas hay una en que guardo las caracteristicas de la fuente utilizada para los quickreports para las cabeceras de facturas, clientes, etc. Hay un apartado en mi programa en que puedes configurar el tipo de fuente y despues de haber hecho los cambios los guardo en la tabla (en un campo guardo el tipo de fuente, el tamaño y el color., Pero todo iva bien cuando me encontré el problema de guardar una variable de tipo TFONTSTYLES en una base de datos para el estilo de fuente (cursiva, negrita, etc...), como: table1.fields[0].as?????:=fontdialog1.font.style; Podrias ayudarme a encontrar alguna solución para poder guardar el estilo de la fuente en la base de datos? Gracias anticipadas |
#2
|
||||
|
||||
Aclaremos que TFontStyles no es un array, es un "set of" muchas veces nombrados como "conjuntos".
Lo que podrías hacer es descomponer este "conjunto", e ir agregando valores a una variable, y a la inversa por ejemplo: Código:
function FontStyleToInteger(AStyle: TFontStyles): Integer; begin Result := 0; if fsBold in AStyle Then Result := Result or $1; if fsItalic in AStyle Then Result := Result or $2; if fsUnderline in AStyle Then Result := Result or $4; if fsStrikeOut in AStyle Then Result := Result or $8; end; function IntegerToFontStyle(Value: Integer): TFontStyles; begin Result := []; if (Value and $1) = $1 Then Include(Result, fsBold); if (Value and $2) = $2 Then Include(Result, fsItalic); if (Value and $4) = $4 Then Include(Result, fsUnderline); if (Value and $8) = $8 Then Include(Result, fsStrikeOut); end; Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Me uno a la Sugerencia de Delphi.com.ar añadiendo que se guarde en la base de datos como un String con el siguiente formato:
Tipo de fuente:tamaño de fuente : opciones de negrita y demás Ejemplo: Times New Roman:12:5 Lo guardas como un String en la base de datos, y despues al recuperarlo, usas un StringList en el que cargas la linea al completo, usando como separador los dos puntos ":" Código:
MiStringList.delimitedChar := ':'; MiStringList.delimitedText:= <Linea de la base de datos> nombre := MiStringList[0]; tamaño := MiStringList[1]; opciones:= MiStringList[2]; Última edición por Lepe fecha: 10-02-2004 a las 19:49:00. |
#4
|
|||
|
|||
Saludos cordiales....!!!
Gracias por responderme, seguro que de una u otra forma me saldrá bien!!
Saludos!!! |
|
|
|