border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 06-11-2004, 12:55:40
Avatar de Locodelcraneo
Gran Participación en el Foro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 130
Locodelcraneo Valoración +2
Contactar con Locodelcraneo a través de MSN
Predeterminado Problema con Objeto Printer

Hola queridos amigos

Estoy tratando de imprimir datos con el objeto Printer y se me presenta lo siguiente:

Al tratar de dibujar los datos de un listview en el primer listsubitem me arroja error 13 No coinciden los tipos, si quito lo correspondiente al primer subitem (Descripcion) imprime sin dramas, en que estoy chocando? tengo la cabeza cuadrada, se que es un error de colegial, les agradezco de antemano vuestra gentileza


Private Sub mnu_Imprimir_Click()

Printer.ScaleWidth = 21000
Printer.ScaleHeight = 29700
Const TOP_MARGIN = 1000
Const LEFT_MARGIN = 2000
Dim i As Integer
Dim Ancho As Long



'Detalle documento
For i = 1 To ListView1.ListItems.Count

If ListView1.ListItems.Count Then

'Descripcion
Ancho = Printer.TextWidth(Str(ListView1.ListItems(i).ListS ubItems(1)))
Printer.CurrentX = 3000 + Ancho
Printer.CurrentY = LEFT_MARGIN + (300 * i)
Printer.Print Format$(Str(ListView1.ListItems(i).ListSubItems(1) .Text), "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x")

'Cantidad
Ancho = Printer.TextWidth(Str(ListView1.ListItems(i).ListS ubItems(2).Text))
Printer.CurrentX = 2000 - Ancho
Printer.CurrentY = LEFT_MARGIN + (300 * i)
Printer.Print Format$(Str(ListView1.ListItems(i).ListSubItems(2) .Text), "###,###,###")

'Unitario Item
Ancho = Printer.TextWidth(Str(ListView1.ListItems(i).ListS ubItems(3).Text))
Printer.CurrentX = 16000 - Ancho
Printer.CurrentY = LEFT_MARGIN + (300 * i)
Printer.Print Format$(Str(ListView1.ListItems(i).ListSubItems(3) .Text), "###,###,###")

'Total Item
Ancho = Printer.TextWidth(Str(ListView1.ListItems(i).ListS ubItems(4).Text))
Printer.CurrentX = 18000 - Ancho
Printer.CurrentY = LEFT_MARGIN + (300 * i)
Printer.Print Format$(Str(ListView1.ListItems(i).ListSubItems(4) .Text), "###,###,###")


End If
Next i
'Envio a la impresora
Printer.EndDoc

End Sub


Saludos a todos

Locodelcraneo :shock:
__________________
Perverso es el hombre que en público se burla de los hombres de bién, pero en secreto los respeta y envidia
Responder Con Cita
  #2 (permalink)  
Antiguo 06-11-2004, 14:44:00
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.307
acalanto ha deshabilitado la reputación
Predeterminado

Pues te puede suceder que la función format no reconoce 'xxxxxxx' como patrón de justificación. Prueba con

Código:
format(campoalfa. '\                            \')
o

Código:
format(campoalfa. '@@@@@@@@@@@@@@@@@@')

pero aún así no te garantiza la justificación exacta, ya que las fuentes no suelen ser proporcionales.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 06-11-2004, 17:04:02
Avatar de Locodelcraneo
Gran Participación en el Foro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 130
Locodelcraneo Valoración +2
Contactar con Locodelcraneo a través de MSN
Predeterminado

El error se me produce cuando le determino el ancho

Ancho = Printer.TextWidth(Str(ListView1.ListItems(i).ListS ubItems(1)))


Curiosamente en el ListSubItems(2) y (3) no me ocurre

Pense que me podria estar jorobando la Variable Ancho, la cambie a variant y me sucede lo mismo

Que onda?
__________________
Perverso es el hombre que en público se burla de los hombres de bién, pero en secreto los respeta y envidia
Responder Con Cita
  #4 (permalink)  
Antiguo 06-11-2004, 17:12:48
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.307
acalanto ha deshabilitado la reputación
Predeterminado

Prueba a utilizar Cstr() en vez de str() y asigna antes el texto a una variable tipo String. En principio no tiene porqué dar un error, pero por si acaso vale más dejar por sentado el tipo de dato.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 06-11-2004, 17:31:14
Avatar de Locodelcraneo
Gran Participación en el Foro
 
Registrado: dic 2003
Ubicación: Chile
Posts: 130
Locodelcraneo Valoración +2
Contactar con Locodelcraneo a través de MSN
Predeterminado

Solucionado


Quedo de esta forma

'Descripcion
Ancho = Printer.TextWidth(ListView1.ListItems(i).ListSubIt ems(1))
Printer.CurrentX = 3000
Printer.CurrentY = LEFT_MARGIN + (300 * i)
Printer.Print Format$(ListView1.ListItems(i).ListSubItems(1).Tex t, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x")


Ademas donde le sumaba el ancho estaba mal porque esa linea debia quedar alineada a la Izquierda no como los otros que por ser Numeros debian alinearse a la derecha.

Gracias por tu siempre valiosa ayuda acalanto

Un abrazo del otro continente

Locodelcraneo :shock:
__________________
Perverso es el hombre que en público se burla de los hombres de bién, pero en secreto los respeta y envidia
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
AYuda con el Objeto printer _rOmMeL_ Visual Basic 6.00 2 08-02-2006 12:29:00
Objeto printer Locodelcraneo Visual Basic 6.00 3 09-12-2004 14:58:01
Previsualizar una Impresión con el objeto printer. c_gomez_c Visual Basic 6.00 1 22-03-1970 03:39:35
Objeto Printer ni11er Visual Basic 6.00 1 15-03-1970 15:34:59
Objeto Printer LaNGuiS Visual Basic 6.00 5 14-03-1970 19:07:19


La franja horaria es GMT. Ahora son las 06:21:22.

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