border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 26-05-2005, 23:49:36
Gran Participación en el Foro
 
Registrado: ene 2005
Posts: 113
Juan Francisco Valoración +2
Predeterminado Como se utiliza la instruccion Format()

Creo que molesto mucho, ya me disculpe por lo del file DLL y la escritura en mayuscula. Una ultima pregunta para retirarme del foro y no molestar.
Estoy utilizando la Instruccion Format() pero no puedo lograr que los valores cuadren columnalmente Ejemplo:
Printer.Print "TOTAL DE EFECTIVO $: "; Format(valEfe, "#,#0.00")
Printer.CurrentX = 0.5
Printer.CurrentY = 5
Printer.Print "TOTAL CHEQUE $: "; Format(valCh, "#,#0.00")

El resultado es el siguiente:
TOTAL DE EFECTIVO $: 12,354.00
TOTAL CHEQUE $: 23.98

Como se puede hacer para cada valor se imprima de manera columnal de la siguiente manera.
TOTAL DE EFECTIVO $: 12,354.00
TOTAL CHEQUE $: 23.98

Asi de esta manera, Saludos desde Panama

Gracias por la ayuda brinda, y disculpe mi manera como he expresado mis ideas, espero no tener que incomodar al foro.

Gracias :smt006
Responder Con Cita
  #2 (permalink)  
Antiguo 27-05-2005, 01:16:50
Avatar de imported_chiaravel
Administrator
 
Registrado: dic 2002
Ubicación: Buenos Aires - Argentina
Posts: 2.281
imported_chiaravel Valoración +2
Predeterminado Re: Como se utiliza la instruccion Format()

Cita:
Empezado por Juan Francisco
Creo que molesto mucho, ya me disculpe por lo del file DLL y la escritura en mayuscula. Una ultima pregunta para retirarme del foro y no molestar.
Estoy utilizando la Instruccion Format() pero no puedo lograr que los valores cuadren columnalmente Ejemplo:
Printer.Print "TOTAL DE EFECTIVO $: "; Format(valEfe, "#,#0.00")
Printer.CurrentX = 0.5
Printer.CurrentY = 5
Printer.Print "TOTAL CHEQUE $: "; Format(valCh, "#,#0.00")

El resultado es el siguiente:
TOTAL DE EFECTIVO $: 12,354.00
TOTAL CHEQUE $: 23.98

Como se puede hacer para cada valor se imprima de manera columnal de la siguiente manera.
TOTAL DE EFECTIVO $: 12,354.00
TOTAL CHEQUE $: 23.98

Asi de esta manera, Saludos desde Panama

Gracias por la ayuda brinda, y disculpe mi manera como he expresado mis ideas, espero no tener que incomodar al foro.

Gracias :smt006
Amigo !!! bienvenido al mundo de las TrueType.

El espacio no ocupa el mismo "espacio" que una letra O y la letra O no ocupa el mismo espacio que la I.

Realmente es todo un problema, si estas usando un reporteador eso esta resuelto ya que cada campo se encolumna, pero si envias directamente a la impresora, solo te quedara una solucion.

USA EL FONT "TERMINAL" o el "OCR xxxx" (no recuerdo el nombre completo)

Suerte y no te vayas que nadie te ha echado.
Responder Con Cita
  #3 (permalink)  
Antiguo 27-05-2005, 03:24:59
Avatar de MiguelPG
Gran Participación en el Foro
 
Registrado: dic 2002
Ubicación: Santander
Posts: 171
MiguelPG Valoración +2
Predeterminado

Hola Juan Francisco.
Bienvenido al foro y como te ha dicho el jefe supremo, no te vayas.
Voy a tratar de ayudarte en tu pregunta por el método más "asqueroso" que hay para generar informes que es el objeto printer.
Como te decía Chiaravel, lo mejor es utilizar un reporteador, pero si quieres trabajar un poco, ahí te va el rollo:

'Crea una constante como la siguiente

Const TW As Integer = 567 'Este valor viene a representar aproximadamente el valor de 1 cm en el papel

Dim Y as Integer

Printer.CurrentY = 5 * TW

Y=Printer.currentY 'almacenamos en esta variable el valor de Printer.CurrentY

Printer.Current x= 0.5 * TW
Printer.Print "TOTAL DE EFECTIVO $:"

'Cada vez que haces un Printer.Print el valor de Printer.CurrentY cambia para tomar el de la siguiente línea
'Tenemos que controlar que el valor de Y permanezca igual para que el texto, en este caso "TOTAL DE EFECTIVO $:"
'y el valor formateado Format(valEfe, "#,#0.00") estén en la misma línea, por ello es MUY IMPORTANTE que inmediatamente
'después de la instrucción Printer.Print anterior pongamos la siguiente instrucción

Printer.CurrentY = Y 'de este modo conseguiremos que el valor de Printer.CurrentY no se incremente,

'Supongamos que quieres que las cantidades queden alineadas a 20 cm del margen izquierdo:

Printer.CurrentX = 20 * TW - Printer.TextWidth(Format(valEfe, "#,#0.00"))
Printer.Print Format(valEfe, "#,#0.00")

Y=Printer.CurrentY 'recogemos el nuevo valor de Y para la siguiente línea

Printer.CurrentX = 0.5 * TW
Printer.Print "TOTAL CHEQUE $:"
Printer.CurrentY = Y 'forzamos que el valor de Printer,CurrentY no se incremente para un nueva línea, como te dije antes
Printer.CurrentX = 20 * TW - Printer.TextWidth(Format(valch, "#,#0.00"))
Printer.Print Format(valch, "#,#0.00")

Espero que no haya ningún error de sintáxis en las instrucciones, pués las he hecho con el block de notas y no las he comprobado en VB.
Si fuera así, me lo dices y lo arreglamos.

Ojalá te sea de utilidad.
Saludos
__________________
Miguel Peña
Santander - España

Corrije a un sabio y le harás más sabio.
Corrije a un necio y le harás tu enemigo.
Responder Con Cita
Respuesta


Herramientas
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
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
COMO CONTROLO EL LA INSTRUCCION LOADPICTURE() Juan Francisco Visual Basic 6.00 1 21-06-2005 01:02:00
Alguien utiliza estos componentes para Net? Ronald_Leon_Madrid ComponentONE Suite 7 15-06-2005 23:19:57
Como se utiliza el DoEvents Claudia Visual Basic 6.00 5 21-03-2005 13:42:03
Format javier Visual Basic 6.00 1 19-03-2005 10:50:16
Format Cblackx Visual Basic 6.00 4 26-09-2004 23:58:54


La franja horaria es GMT. Ahora son las 08:25:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right