En este ejemplo veremos cómo alinear el texto de un ticket con las funciones
- PadL(cadenaTexto,Longitud). Rellena de espacios a la izquierda; Alineación a la Derecha
- PadR(cadenaTexto,Longitud). Rellena de espacios a la derecha; Alineación a la Izquierda
- PadC(cadenaTexto,Longitud). Rellena de espacios al centro; Alineación Centrado
Alinear Texto con PadL, PadR y PadC
Para lograrlo, crearemos tres funciones, aunque PadL ya viene por default, aquí la colocaremos.
Sub Main()
'La letra posterior a PAD es el lado que se rellenará de espacios
a = padL ("Frase de prueba",40) 'Relleno IZQUIERDO. Alinea a la derecha
b = PadC ("Frase de prueba",40) 'Ambos lados. Alinear al centro
c = PadR ("Frase de prueba",40) 'Relleno DERECHO. Alineación a la izquierda
mymessage "PadL: '" & a & "'" & vbcrlf & _
"PadC: '" & b & "'" & vbcrlf &_
"PadR: '" & c & "'"
End Sub
'PADL() Alineación a la DERECHA inserta los caracteres de relleno a la Izquierda
Function PadL(cadena,nLongitud)
dim clen
dim temp
dim char
char = " " 'espacio en blanco
on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n=1 to nLongitud
char = char & " "
Next
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = mid(char,1,nLongitud - clen) & temp 'Alineación a la Derecha
end if
PadL = temp
end function
'PADR() Alineación a la IZQUIERDA inserta los caracteres de relleno a la derecha
Function PadR(cadena,nLongitud)
dim clen
dim temp
char = " " 'espacio en blanco
on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n=1 to nLongitud
char = char & " "
Next
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = temp & mid(char,1,nLongitud - clen) 'Alineación a la Izquierda
end if
PadR = temp
end function
'PADC() Alineación al CENTRO inserta los caracteres de relleno a ambos lados
Function PadC(cadena,nLongitud)
dim clen
dim temp
char = " " 'espacio en blanco
'on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n = 1 to nLongitud
char = char & " "
Next
'Espacios al lado Izquierdo
nEspaciosA = formato((nLongitud - clen)/2 , "#.0")
DondeEstaElPunto = clAt( ".", nEspaciosA ) - 1
'Espacios al lado derecho
nEspaciosA = mid(nEspaciosA,1,DondeEstaElPunto)
nEspaciosB = nLongitud -clen - nEspaciosA
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = mid(char,1,nEspaciosA) & _
temp & _
mid(char,1,nEspaciosB) 'Alineación a la Izquierda
end if
PadC = temp
end function
Espero sea de utilidad estas funciones que dejo a su disposición en espera de que correspondan con un pomo para seguir inspirados.
Saludos
José Félix
como puedo alinear los precios del subtotal y total , que me queden sobre la misma linea vertival. y se vea como una suma.
CANT. DESCRIPCION SUBTOTAL TOTAL
1 COCA COLA RETORNABL 20.00 20.00
1 COCA COLA 600 ML 10.00 10.00
1 CLAVO DE 3″ 20.00 20.00
Importe: 50.00
Impuesto: 0.00
Importe: 50.00
Redondeo: 0.000
3 —- TOTALES — $50.00
Pago en EFE $50.00
Cambio: $0.00
CINCUENTA PESOS 00/100 M.N.
i
Buenas noches
Le puedo ofrecer el editor de ticket a cambio de un pomo de $700
http://helpmybusinesspos.info/editor-ticket/
Si no le interesa comprar, puede desarrollar su formato con los ejemplos de ticket, con alineación a la derecha y al centro, que se encuentran en esta liga:
http://helpmybusinesspos.info/?s=ticket
http://helpmybusinesspos.info/12012-2/
Saludos
José Félix
Que tal, me interesaría un formato de ticket que ya esté alineado conforme están las descripciones:
Código Descripción Precio
1 Blusa de flores $269.00
con manga
1 Pantalon de Mez $329.00
clilla con piedras
sería ese formato, cuanto me cuesta? Me urge
Buen dia señor. Le puedo ofrecer el editor de ticket en 700
http://helpmybusinesspos.info/editor-ticket/
Apoyeme y envie una foto del comprobante a jofelchez@gmail.com para responder con el codigo de descarga
Saludos
Jose Felix