Domingo 22 de Diciembre de 2024, 07:50
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual FoxPro
(Moderador:
arielb
) »
Calcular Ancho De Textos
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Calcular Ancho De Textos (Leído 3795 veces)
Widark
Miembro MUY activo
Mensajes: 246
Calcular Ancho De Textos
«
en:
Sábado 24 de Septiembre de 2005, 00:11 »
0
Como les baila?
Quisiera saber como puedo calcular el ancho de los textos dependiendo el tamaño del campo
, es como lo que ocurre cuando se arrastran los campos desde el DataEnvironmet al formulario, que vienen con el Width segun el campo que le corresponde. He visto la funcion TXTWIDTH() y FONTMETRIC(), pero no entiendo (mi ingles definitivamente no esta nada bien) bien su finalidad pienso que alguna combinacion de ellos puede dar lo que busco, pero
. Cualquier comentario, guia, referencia lo agradecere mucho.
Tweet
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion
,
c
,
c++
,
C#
,
java
,
linux
,
videojuegos
,
directX
,
.NET
,
allegro
,
asm
,
codigo
NoSolocodigo
--> Blog de Articulos
DrakerDG
Miembro activo
Mensajes: 72
Re: Calcular Ancho De Textos
«
Respuesta #1 en:
Sábado 24 de Septiembre de 2005, 15:03 »
0
Copie esto del help en español:
Código: Text
TXTWIDTH( ) (Función)
Devuelve la longitud de una expresión de caracteres con respecto al ancho promedio de carácter de una fuente.
Sintaxis
TXTWIDTH(cExpresión [, cNombreFuente, nTamañoFuente [, cEstiloFuente]])
Tipos devueltos
Numeric
Argumentos
cExpresión
Especifica una expresión de tipo carácter cuya longitud devuelve TXTWIDTH( ). Si sólo incluye cExpresión, se devuelve la longitud de la expresión de tipo Character para la fuente actual de la ventana principal de Visual FoxPro o de la ventana de resultado activa. Una fuente no proporcional siempre devuelve un valor igual al número de caracteres de cExpresión.
Incluya los argumentos opcionales cNombreFuente, nTamañoFuente y cEstiloFuente para determinar la longitud de una expresión de caracteres con una fuente, un tamaño de fuente o un estilo de fuente específicos.
cNombreFuente
Especifica el nombre de la fuente. Incluya cNombreFuente para devolver la longitud de una expresión de caracteres con una fuente específica.
nTamañoFuente
Especifica el número que corresponde al tamaño en puntos de la fuente. Incluya nTamañoFuente para devolver la longitud de una expresión de caracteres con un tamaño de fuente concreto.
cEstiloFuente
Especifica un estilo especial de fuente para la expresión de caracteres. cEstiloFuente es un código de estilo de fuente especificado por un carácter o un conjunto de caracteres. Se utilizará el estilo de fuente Normal si no se incluye cEstiloFuente. Éstos son los caracteres para cada estilo de fuente:
Carácter Estilo de fuente
B Negrita
I Cursiva
N Normal
O Contorno
Q Opaco
S Sombra
- Tachado
T Transparente
U Subrayado
Puede incluir más de un carácter para especificar una combinación de estilos de fuente. Por ejemplo, BI especifica un estilo de fuente Negrita y Cursiva.
El comando siguiente muestra un mensaje con la fuente Courier normal de 24 puntos, centrado sobre la ventana principal de Visual FoxPro.
@ 25,(WCOLS( )-TXTWIDTH(¡Hola!','Courier ',24)*;
FONTMETRIC(6,'Courier ',24)/FONTMETRIC(6))/2 ;
SAY '¡Hola!' FONT 'Courier ',24
Comentarios
TXTWIDTH( ) devuelve el número de caracteres que ocupa una expresión de caracteres cExpresión, basando en el ancho promedio de carácter de una fuente especificada (el ancho promedio de carácter de una fuente se llama fóxel). Utilice FONTMETRIC(6) para determinar el ancho promedio de carácter de una fuente.
Si no incluye una fuente en TXTWIDTH( ), el valor que devuelve TXTWIDTH( ) está determinado por la fuente actual de la ventana principal de Visual FoxPro si el resultado se dirige a la ventana principal de Visual FoxPro cuando se ejecuta TXTWIDTH( ). Si el resultado se está dirigiendo a una ventana definida por el usuario, el valor devuelto viene determinado por la fuente actual de la ventana.
Código: Text
FONTMETRIC( ) (Función)
Devuelve los atributos de fuente de las fuentes instaladas actualmente en el sistema operativo.
Sintaxis
FONTMETRIC(nAtributo [, cNombreFuente, nTamañoFuente [, cEstiloFuente]])
Tipos devueltos
Numeric
Argumentos
nAtributo
Determina el atributo de fuente devuelto por FONTMETRIC( ). Si omite cNombreFuente, nTamañoFuente y cEstiloFuente, FONTMETRIC( ) devolverá un atributo para la fuente actual de la ventana de resultado activa.
La tabla siguiente muestra los valores de nAtributo y los atributos de fuente correspondientes devueltos.
nAtributo Atributo
1 Altura del carácter en píxeles
2 Elevación del carácter (unidades sobre la línea base) en píxeles
3 Caída del carácter (unidades bajo la línea base) en píxeles
4 Interlineado (separación entre líneas) en píxeles
5 Interlineado extra en píxeles
6 Ancho promedio del carácter en píxeles
7 Ancho máximo del carácter en píxeles
8 Peso de la fuente
9 Cursiva (0 = no, distinto de cero = sí)
10 Subrayado (0 = no, distinto de cero = sí)
11 Tachado (0 = no, distinto de cero = sí)
12 Primer carácter definido en la fuente
13 Último carácter definido en la fuente
14 Carácter predeterminado (sustituido por los caracteres que no estén en la fuente)
15 Carácter para dividir palabras
16 Densidad y familia
17 Juego de caracteres
18 Saliente (ancho extra agregado)
19 Aspecto horizontal para dispositivo de fuente
20 Aspecto vertical para dispositivo de fuente
Para obtener más información sobre los valores numéricos devueltos por FONTMETRIC( ), consulte la función TEXTMETRIC en la Referencia del programador de Microsoft Windows.
cNombreFuente
Especifique el nombre de una fuente instalada.
nTamañoFuente
Especifique el tamaño del punto de la fuente especificada con cNombreFuente.
cEstiloFuente
Especifique un código de estilo de fuente para la fuente especificada con cNombreFuente. Si omite cEstiloFuente, FONTMETRIC( ) devolverá el atributo para el estilo de fuente Normal.
cEstiloFuente puede ser un carácter o una combinación de caracteres mostrada en la tabla de estilo de fuente siguiente. Por ejemplo, la combinación BI indica el estilo de fuente Cursiva Negrita.
Carácter Estilo de fuente
B Negrita
I Cursiva
N Normal
O Esquema
Q Hueco
S Sombra
- Tachado
T Transparente
U Subrayado
Comentarios
FONTMETRIC( ) devuelve atributos de fuente para la fuente actual en la ventana de resultado activa. WFONT( ) se puede utilizar para determinar la fuente de la ventana actual.
Incluí esta tambien:
Código: Text
WFONT( ) (Función)
Devuelve el nombre, el tamaño o el estilo de la fuente actual de una ventana en Visual FoxPro para Windows.
Sintaxis
WFONT(nAtributoFuente [, NombreVentana])
Tipos devueltos
Character y Numeric
Argumentos
nAtributoFuente
Especifica el atributo de fuente que desea devolver.
Si nAtributoFuente es 1, WFONT( ) devolverá el nombre de la fuente actual para la ventana activa o la especificada.
Si nAtributoFuente es 2, WFONT( ) devolverá el tamaño de la fuente.
Si nAtributoFuente es 3, WFONT( ) devolverá un código que identifica el estilo de fuente.
El código de estilo de fuente es un carácter o un conjunto de caracteres que corresponde al estilo de fuente actual. Por ejemplo, si el estilo de fuente actual es Negrita Cursiva, WFONT(3) devolverá BI.
En la siguiente tabla se muestran los códigos de cada estilo de fuente:
Carácter Estilo de fuente
B Negrita
I Cursiva
N Normal
O Contorno
Q Opaco
S Sombra
- Tachado
T Transparente
U Subrayado
NombreVentana
Especifica el nombre de la ventana cuya fuente, tamaño de fuente o estilo de fuente actuales desea determinar. En Visual FoxPro, también puede incluir el nombre de una barra de herramientas. Incluya la cadena vacía para devolver la fuente, el tamaño de fuente o el estilo de fuente actuales de la ventana principal de Visual FoxPro.
NombreVentana puede ser el nombre de una ventana definida por el usuario creada con DEFINE WINDOW o una ventana de edición de texto o memo.
También puede incluir el nombre de una ventana del sistema (Sesión de datos, Seguimiento, Depuración, etc.). WFONT( ) puede devolver atributos de fuente únicamente para una ventana del sistema que se haya abierto y esté actualmente visible u oculta. Si la ventana del sistema especificada está cerrada, Visual FoxPro genera un mensaje de error.
WFONT( ) devuelve la fuente, el tamaño de fuente o el estilo de fuente actuales de la ventana de resultado activa si se omite NombreVentana.
Y un ejemplo:
Código: Text
Ejemplo de WFONT( ) (Función)
En el ejemplo siguiente se crea una ventana definida por el usuario llamada wFontChar. La ventana se activa y se muestran las características de su fuente en la ventana. Las características de la fuente se muestran luego en la ventana principal de Visual FoxPro.
CLEAR
DEFINE WINDOW wFontChar;
FROM 1,1 TO 3,35;
FONT 'MS SANS SERIF',8;
STYLE 'BI' && Define la ventana con fuente y estilo.
ACTIVATE WINDOW wFontChar
? WFONT(1), WFONT(2), WFONT(3) && Ventana wFontChar.
ACTIVATE SCREEN
?
?
?
? ' Características de fuente para la ventana wFontChar'
?
?
? WFONT(1,''), WFONT(2,''), WFONT(3,'') && Ventana principal de Visual FoxPro.
?
? 'Características de fuente para la ventana principal de Visual FoxPro'
WAIT WINDOW
RELEASE WINDOW wFontChar
CLEAR
Espero te sea útil
Saludos desde Guatemala, C. A.
Electrobotics
Widark
Miembro MUY activo
Mensajes: 246
Re: Calcular Ancho De Textos
«
Respuesta #2 en:
Sábado 24 de Septiembre de 2005, 17:43 »
0
DrakerDG!
Con lo que posteste hize lo siguiente:
Código: Text
loTObjeto = PADC("", FSIZE(ALLTRIM(loCamposFijos(I,1))) + 3, "O") &&Relleno una variabla con el tamaño del campo
ThisForm.&loObjeto..Width = TXTWIDTH(loTObjeto,"Tahoma",8) * FONTMETRIC(6,"Tahoma",8) &&Calculo el ancho del
Aunque no parece nada del otro mundo, pero padeci por esto, muchas gracias.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion
,
c
,
c++
,
C#
,
java
,
linux
,
videojuegos
,
directX
,
.NET
,
allegro
,
asm
,
codigo
NoSolocodigo
--> Blog de Articulos
DrakerDG
Miembro activo
Mensajes: 72
Re: Calcular Ancho De Textos
«
Respuesta #3 en:
Domingo 25 de Septiembre de 2005, 01:32 »
0
Es un placer
Saludos desde Guatemala, C. A.
Electrobotics
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual FoxPro
(Moderador:
arielb
) »
Calcular Ancho De Textos