| |||
Crear Archivo Txt Hola amigos, necesito hacerme un programita que me genere un archivo txt con la informacion de un text, ya se crearlo pero cada que lo ejecuto me escribe a continuacion de lo que ya esta escrito en el archivo, necesito es que en cada ejecucion sobrescriba todo con la nueva informacion. Alguien me puede ayudar con un ejemplo sencillo (Un text y un boton) y que me cree en C: el archivo. GRCAIAS |
| |||
Re: Crear Archivo Txt LAFORGE muchas gracias, era precisamente lo que necesitaba, muy amable ehh. Laforge tengo otra inquietud respecto al mismo proyecto. Teniendo ya esta parte en que se crea el archivo txt es posible automaticamente o seguidamente enviarlo a "x" impresora? sin necesidad de ir a C:\ y abrirlo? Si es posible me ayudas pliss de como tendrìa que adicionar el còdigo al que tu me diste? Muchas gracias de nuevo. Buen dia. |
| ||||
Re: Crear Archivo Txt ...lo mejor es que una vez creado el txt lo vuelvas a abir y lo mandes a la impresora. El tiempo de proceso para hacer el Open para leer el archivo es mínimo (teniendo en cuenta que estamos hablando de archivos de texto y que son, relativamente cortos) y te ahorras un montón de problemas en posible bucleados. De todas formas, a no ser que pierdas los datos contenidos en el textbox, lo que puedes hacer es limitarte a imprimir lo que contiene el textbox. Solución 1: (habiendo creado el archivo lo reabres y lo imprimes) Dim lineaN Open "C:loquesea.txt" for Input as #9 Do While Not EOF(9) Input #9, lineaN Printer.Print lineaN Loop Close #9 Printer.EndDoc Solución 2: (imprimir contenido de Textbox) en el fondo dependerá si lo tienes con multiLine = True, aunque, en ese caso te recomiendo utilizar un RichTextBox en vez de TextBox porque a la hora de separar las líneas es mucho más sencillo -> usas Split con vbCr o vbLf y imprimes cada uno de los valores de la matriz. Dim MatrizDeLineas, i MatrizDeLineas = Split(RichTextBox.Text, vbCr, -1, vbTextCompare) for i=0 to UBound(MatrizDeLineas) Printer.Print MatrizDeLineas(i) Next i
__________________ Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega. No hay vida después de MySQL |
| |||
Re: Crear Archivo Txt Laforge la primera opcion es la que necesito, pues cuando me referia a abrirlo de nuevo lo que queria decir era tener que explorar el disco C y buscarlo e imprimirlo, pero abrirlo en el mismo proceso es precisamento lo que quiero. Hay un problema y es especificar la impresora, pues necesariamente debo enviarlo a una impresora Zebra que tiene desde luego una ruta que yo podria darle internamente en el codigo, pero no se como hacerlo, pues si intento imprimir tal cual tu dices en el codigo anterior, me imprime en la impresora que esta predeterminada y que no es la que necesito, pues manejamos varias impresoras. Es posible especificar la impresora en el codigo? Cuando estuve haciendo el proyecto en excel mediante el editor de visual fue facil porque grabè una macro donde seleccionaba la impresora, pero Directamente en Visual basic 6 NO SECOMO HACERLO. En excel el codigo me quedaba asi: Application.ActivePrinter = "\\502313CARLOSACH\zebra_despachos en Ne01:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "\\502313CARLOSACH\zebra_despachos en Ne01:", Collate:=True Donde "\\502313CARLOSACH\zebra_despachos en Ne01:" es la impresora que necesito. Como tendria que hacerlo para enviarlo a esa impresora? Lo demas ya esta todo ok, me crea el txt y me imprime pero en la predeterminada. Muchas gracias . |
| ||||
Re: Crear Archivo Txt Para cambiar la impresora predeterminada creas un command dialog y pones
Código:
Al cambiar la impresora, el tipo de papel etc y al hacer click en Aceptar automaticamente cambia y al imprimir con el objeto printer te usa la configuracion que especificaste...With CommonDialog1 .DialogTitle = "Seleccionar Impresora" .Flags = cdlPDPrintSetup .ShowPrinter End With No es optimo si queres que el usuario no intervenga en seleccionar la impresora |
| ||||
Re: Crear Archivo Txt Aca te pongo una funcion que hise para cambiar la impresora sin intervencion del usuario (obviamente tenes que conocer el nombre exacto).
Código:
Para verificar que funciona correctamente, teniendo mas de una impresora EJ: tenes una EPSON y una HP, predetermina la EPSON, y agrega la funcion y pone un boton y pone lo siguiente:'========== Codigo realizado por CULD ========== '============= [email protected] =============== 'Esta funcion cambia el objeto printer por la 'impresora que deseamos. Obviamente tenemos que 'conocer el nombre de la misma e ingresarlo correctamente '=============================================== Public Function CambiarImpresora(Nombre As String) As Boolean Dim Impresora As Printer 'creo un objeto para la impresora For Each Impresora In Printers 'recorro todas las impresoras disponibles If UCase(Impresora.DeviceName) = UCase(Nombre) Then 'verifico si la impresora actual es la que quiero Set Printer = Impresora 'como encontre la impresora la asigno al objeto printer CambiarImpresora = True 'informo que se cambio correctamente End If Next CambiarImpresora = False 'no se encontro la impresora asi que no se pudo asignar End Function
Código:
Vas a notar que primero te aparece el nombre de la impresora epson y luego de la HP eso significa que se cambio correctamente.Private Sub Command1_Click() MsgBox Printer.DeviceName CambiarImpresora ("Nombre exacto de la impresora HP") MsgBox Printer.DeviceName End Sub IMPORTANTE: Esto no cambia la impresora predeterminada, es decir que sigue siendo la misma. Solamente cambia la impresora a utilizar por el objeto printer |
| |||
Re: Crear Archivo Txt Hola amigos, toda su ayuda ha sido fundamental y ya logre que me cree el archivo txt en el disco duro, pero tengo un problema y es que al imprimir desde la misma aplicacion con: Dim lineaN Open "C:pestañas.txt" for Input as #9 Do While Not EOF(9) Input #9, lineaN Printer.Print lineaN Loop Close #9 Printer.EndDoc No me lo imprime tal cual esta en el archivo, cuando abro el archivo explorando C:\ e imprimiedo desde Archivo-imprimir si me sale bien. No entiendo por que desde la aplicacion de Visual directamente no? Mi ra mi form1 en el boton tiene este codigo que me crea desde luego el archivo pestañas.txt: Private Sub Command2_Click() Open "c:\pestañas.txt" For Output As #1 Print #1, "^XA" Print #1, "^BY1,1,075" Print #1, "^FO050,010^BCN,,N,N,N^FD" & Text1.Text & "^FS" Print #1, "^FO220,015^AS^FD" & Text1.Text & "^FS" Print #1, "^FO220,050^AS^FDCal.: " & Text2.Text & "^FS" Print #1, "^FO475,010^BCN,,N,N,N^FD" & Text1.Text & "^FS" Print #1, "^FO650,015^AS^FD" & Text1.Text & "^FS" Print #1, "^FO650,050^AS^FDCal.: " & Text2.Text & "^FS" Print #1, "^PQ001" Print #1, "^XZ" Close #1 Form2.Show ' Para abrir otro form de impresiòn End Sub Lo que esta en rojo es lo que escribo en los text1 y dos del form, lo demas es simple texto en lenguaje que entiende la impresora Zebra. Lo escencial es que listo me crea el archivo correctamente y si imprimo abriendolo por bloc de notas me sale excelente. En el form2 de impresion en el boton puse: Private Sub Command1_Click() Dim lineaN Open "c:\pestañas.txt" For Input As #1 'ABRO EL ARCHIVO Do While Not EOF(1) Input #1, lineaN Printer.Print lineaN Loop Close #1 Printer.EndDoc End Sub Que debe abrirme el archivo tal cual esta en C:\ pero al imprimir no me sale bien. No entiendo. Existira otro metodo para imprimir? para probar con otro. Es que como se trata de generar unas pestañas que llevan codigo de barras y imprimirlas en impresora zebra, no se donde estara el error cuando se abre el archivo desde la aplicacion visual. Es posible hacer que en el form2 de impresion colocar un text o label donde me muestre previamente lo que contiene el archivo "pestañas.txt" tal cual esta, es decir linea por linea y no de corrido para luego asi enviar a la impresora el contenido del text o label .? Muchas gracias ehhh, son unos bacanes. Última edición por ideasking; 13/09/2007 a las 11:10 |
| ||||
Re: Crear Archivo Txt ...prueba usando WRITE #N en vez de PRINT #N cuando crees el archivo
__________________ Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega. No hay vida después de MySQL |
| |||
Re: Crear Archivo Txt Pues lo voy a usar, pero como comentaba arriba, la cuestion o el error no està en la creada del archivo, pues con print me lo crea bien, tanto asi que si lo abro por Bloc de notas e imprimo desde Archivo-Imprimir me sale bien, tal cual debe salir.El problema radica es al imprimirlo desde Visual que no se què pasa que me envia la imformacion mal a la impresora, pero el archivo como tal esta bien creado. Nosotros aca utilizamos programas que imprimen varias cosas, tanto en impresoras nornales para texto o para zebras, entendiendo que para zebra se debe usar codificaciòn especial para que ella entienda, pero ese codigo ya lo tengo bien, pues es solo texto y lo que modifica el usuario pues si son text, que es lo unico que cambia en cada ejecuciòn. Cuando por ejemplo imprimimos un rotulo que lleva barras lo enviamos a la zebra y el cuadro o formulario de impresiòn me da la posibilidad de imprimir, de ver el informe (Aca abre el archivo txt en bloc de notas) . Hago esta anotaciòn para ver si en Visual es posible hacer lo mismo, es decir que al crear el archivo txt y querer imprimirlo pueda verlo previamente? Gracias |