Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Imprimir Fotos con Visual Basic

Estas en el tema de Imprimir Fotos con Visual Basic en el foro de Visual Basic clásico en Foros del Web. Hola. Se poco de Visual Basic. Tengo que imprimir varias fotos que estan en distintas carpetas. Para empezar hice un programita muy sencillo em VB ...
  #1 (permalink)  
Antiguo 01/08/2008, 01:00
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo Imprimir Fotos con Visual Basic

Hola. Se poco de Visual Basic. Tengo que imprimir varias fotos que estan en distintas carpetas. Para empezar hice un programita muy sencillo em VB pero no logro que ande bien, tal vez ustedes puedan ayudarme.

Private Sub Form_Load()
Dim Matriz(3)
Dim Imagen01 As Picture

Matriz(1) = "c:\fotos\01.jpg"
Matriz(2) = "c:\fotos\02.jpg"
Matriz(3) = "c:\fotos\03.jpg"

For i = 1 To 3
Set Imagen = LoadPicture(Matriz(i))
Printer.PaintPicture Imagen, 450, 450, 1041, 1547
Printer.Print Matriz(i)
Next i
Printer.EndDoc

End Sub

Este codigo para mi tendria que imprimirme las fotos 01,02 y 03, peor solo me imprime la foto 03.jpg y no se a que atribuirlo. Para cerciorarme que el for next anda, hice variar a i, puse el comando Printer.Print Matriz(i) con lo cual se imprimen las tres rutas guardadas en la matriz. No entiendo como es que solo me imprime una sola foto y la ultima. Se me ocurre que imprime lo ultimo que queda en el buffer pero no se y busque informacion y no logro dar con ella. La idea es guardar en una matriz varias rutas de fotos y luego mandarlas por impresora. Pense que era facil pero se me complico. Gracias.
  #2 (permalink)  
Antiguo 01/08/2008, 01:05
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Imprimir Fotos con Visual Basic

Hola,

La instrucción Printer.EndDoc la tienes que poner antes de cerrar el bucle:

Printer.Print Matriz(i)
Printer.EndDoc
Next i


  #3 (permalink)  
Antiguo 01/08/2008, 01:33
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Imprimir Fotos con Visual Basic

Impresionante, lo probe y al toque lo solucione. Gracias.
Abuso de tu sabiduria. Dos cosas
1)Como leo datos desde un txt?
2)Como busco dentro de una carpeta (que tengo en el windows) datos que tengo en este txt.
Todo esto lo necesito para imprir fotos que tengo en varias carpetas, como hago para buscar esos numeros dentro de las carpetas los nombres que me vienen de excel? En windows pongo buscar y listo, pero desde VB como es?
Mil Gracias nuevamente.
  #4 (permalink)  
Antiguo 01/08/2008, 01:55
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Imprimir Fotos con Visual Basic

Cita:
Iniciado por alekula Ver Mensaje
Impresionante, lo probe y al toque lo solucione. Gracias.
Abuso de tu sabiduria. Dos cosas
1)Como leo datos desde un txt?
2)Como busco dentro de una carpeta (que tengo en el windows) datos que tengo en este txt.
Todo esto lo necesito para imprir fotos que tengo en varias carpetas, como hago para buscar esos numeros dentro de las carpetas los nombres que me vienen de excel? En windows pongo buscar y listo, pero desde VB como es?
Mil Gracias nuevamente.
A la primera pregunta: Este ejemplo lee los datops de un txt y los escribe en un TextBox

Código:
Dim sLinea As String, sArchivo As String
    sArchivo = App.Path & "\Prueba.txt"
    Open sArchivo For Input As #1
    Text1.Text = ""
    Do While Not EOF(1)
        Line Input #1, sLinea
        Text1.Text = Text1.Text & sLinea
    Loop
    Close #1
La segunda no la he captado; ¿buscar datos del txt en una carpeta, o buscar los archivos?
¿Los archivos vienen de Excel, cómo?

  #5 (permalink)  
Antiguo 01/08/2008, 02:30
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Imprimir Fotos con Visual Basic

Tengo que imprimir fotos de paisajes. Y diariamente me vienen pedidos por lo cual tengo que armar la cola de diario. Estoy tratando de hacer un programa que me resuelva todo esto. El pedido me viene en exel con este formato.

numero nombre cantidad

023 Cataratas 2
204 Lujan 1
741 Misiones 6
821 Basilica 4

Donde el primer numero corresponde al numero de la foto, el segundo es el nombre y el tercero es la cantidad.
Grabadas en un txt desde el excel con separacion de tabuladores asi despues las leia dsde VB con lo cual me armaba la cola, con lo que antes me ayudastes.
Osea la idea era armar un array apartir del txt que me genera el excel. Las fotos las tengo guardas en una carpeta la cual contiene varias otras carpetas cuyos nombres se componen de el numero y nombre por ej
023 Cataratas es el nombre de una carpeta en la cual adentro esta 0023 Cataratas.jpg. Osea lo que queria es buscar dentro de la carpeta fotos la foto 023 Cataratas.jpg y mandarla a la cola de impresion y como en este caso la cantidad es 2 hacer dos impresiones. Es muy complicado. Si no se me entiende me sigo explicando. Gracias
  #6 (permalink)  
Antiguo 01/08/2008, 03:26
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Imprimir Fotos con Visual Basic

Creo que ahora lo entendí, mira he preparado un pequeño ejemplo a ver si te sirve:


Código:
Dim a() As String, carpeta As String, unidades As Integer
    Open sArchivo For Input As #1
    Text1.Text = ""
    Do While Not EOF(1)
        Line Input #1, sLinea
        ' metemos cada línea en un array, separando por espacio
        a = Split(sLinea, " ")      ' resultado: a(0) = 023, a(1) = Cataratas, a(2) = 2
        carpeta = a(0) & " " & a(1) ' resultado: Carpeta = "023 Cataratas"
        unidades = Val(a(2))        ' resultado: unidades = 2
        ' llamamos a la función de imprimir pasándole los parámetros anteriores
        Call ImprimirFoto(carpeta, unidades)
    Loop
    Close #1
El procedimiento imprimir foto sería algo así:

Código:
Private Sub ImprimirFoto(ByVal Directorio As String, Cantidad As Integer)
Dim LaFoto As String, i As Integer

LaFoto = "c:\" & Directorio & "\" & Directorio & ".jpg" ' resultado: LaFoto = "c:\023 Cataratas\023 Cataratas.jpg"
' imprimimos la foto tantas veces como indique la variable 'Cantidad'
For i = 1 To Cantidad
    Set Imagen = LoadPicture(LaFoto)
    Printer.PaintPicture Imagen, 450, 450, 1041, 1547
    Printer.Print LaFoto
    Printer.EndDoc
Next i
' y volvemos a por la siguiente línea del txt
End Sub
  #7 (permalink)  
Antiguo 04/08/2008, 02:19
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Imprimir Fotos con Visual Basic

Avellaneda Gracias por todo. Estos desde que me respondistes tratando de aprender porque me da error y no logro sacarlo. Yo quiero trabajar con el codigo y viendo el resultado por el ver el resultado por el inmediato y solo pude verlo imprimiendo lo en la impresora(mal lo mio). Mas o menos manejo el PHP pero para este tipo de sistema que pretendo hacer es mejor el visual me parece. Al entender poco, copie y pegue el codigo que me hicistes y me da ERROR DE COMPILACION: EL PROCEDIMIENTO NO ES VALIDO en la variable sArchivo
Apartir de ahi trato de modificar varias cosas pero sin resultados. Por ejemplo tratar de declarar la variable sArchivo como string pero con los mismo resultados.
Lo que me escribistes lo leo y esta perfectamente explicado y se que es para que entienda y cambie algunas cosas y declare lo que haya que declar pero la verdad me travo. Si me decis que puedo hacer para que por lo menos pueda leer el txt y lo guarde en un dim sin que me error es un comienzo. Bueno gracias nuevamente. Saludos
  #8 (permalink)  
Antiguo 04/08/2008, 02:48
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Imprimir Fotos con Visual Basic

Cita:
Iniciado por alekula Ver Mensaje
Avellaneda Gracias por todo. Estos desde que me respondistes tratando de aprender porque me da error y no logro sacarlo. Yo quiero trabajar con el codigo y viendo el resultado por el ver el resultado por el inmediato y solo pude verlo imprimiendo lo en la impresora(mal lo mio). Mas o menos manejo el PHP pero para este tipo de sistema que pretendo hacer es mejor el visual me parece. Al entender poco, copie y pegue el codigo que me hicistes y me da ERROR DE COMPILACION: EL PROCEDIMIENTO NO ES VALIDO en la variable sArchivo
Apartir de ahi trato de modificar varias cosas pero sin resultados. Por ejemplo tratar de declarar la variable sArchivo como string pero con los mismo resultados.
Lo que me escribistes lo leo y esta perfectamente explicado y se que es para que entienda y cambie algunas cosas y declare lo que haya que declar pero la verdad me travo. Si me decis que puedo hacer para que por lo menos pueda leer el txt y lo guarde en un dim sin que me error es un comienzo. Bueno gracias nuevamente. Saludos
Hola,

la variable sArchivo es la ruta completa y el nombre del archivo (incluida la extensión) donde se guardan los pedidos, esos que vienen de Excel.
Y por supuesto, la tienes que declarar como String.

un saludo
  #9 (permalink)  
Antiguo 19/08/2008, 06:05
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Imprimir Fotos con Visual Basic

Gracias Avellaneda ya casi me salio. Ahora estoy viendo de usar alguna sentencia para buscar archivos y con eso creo ya terminaria el programa.
Si pudieras seguir ayudandome arme la pregunta en este link

http://www.forosdelweb.com/f69/buscar-archivos-vb-616400/#post2539802

Desde ya muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.