Título: Open For Binary Publicado por: NYlOn en 18 Septiembre 2005, 19:58 pm hola a todos
buen0 mi problema es el siguiente: estoy intentando hacer una especie de 'Edit Server'... para escribir el archivo uso el siguiente Código: Open "C:\Hola.exe" For Binary As #1 el problema aparece cuando trato de LEER el archivo ... la verdad no se como hacerlo, buske en el foro y en google pero no encuentro ningun metodo que me de resultad0 :S si alguien sabe como hacerlo estaria muy agradecido de que me lo digiera :) un salud0 a t02 G0nz4 EDIT: el codigo que estoy tratando de usar para leer es este: Código: Dim var As String Título: Re: Open For Binary Publicado por: yeikos en 18 Septiembre 2005, 21:06 pm Dim variable as String * 20
variable = Text1.Text Open "C:\Hola.exe" For Binary As #1 Put #1, LOF(1) + 1, variable Close #1 Dim var As String * 20 Open "C:\Hola.exe" For Binary As #2 Get #2, LOF(2) - 21, var Close #2 Text2.Text = var Título: Re: Open For Binary Publicado por: Kizar en 18 Septiembre 2005, 21:16 pm El codigo de yeicos es muy parecido al que iba a poner yo, pero estoy seguro de que tambien funciona bien, y añadir que tal y como esta en el textbox solo se podrian escribir 20 caracteres, si escribes menos quedarian espacios en blanco que no pasa nada.
Y otra cosa, si abres el exe con el block de notas veras al final el texto k as escrito, te aconsejo que uses alguna funcion para encriptarlo como por ejemplo. Código: Function Cypher(Str As Variant) As String 'Función que cifra una cadena Es muy facil de usar pero tienes que usarla al escribir y al leer los datos por ejemplo: Código: variable = Cypher(Text1.Text) Esta claro que e modificado el codigo de yeikos Salu2 ejoy it! Título: Re: Open For Binary Publicado por: NYlOn en 18 Septiembre 2005, 21:26 pm Dim variable as String * 20 variable = Text1.Text Open "C:\Hola.exe" For Binary As #1 Put #1, LOF(1) + 1, variable Close #1 Dim var As String * 20 Open "C:\Hola.exe" For Binary As #2 Get #2, LOF(2) - 21, var Close #2 Text2.Text = var te falto es0 ;) gracias x todo Salu2 Título: Re: Open For Binary Publicado por: NYlOn en 18 Septiembre 2005, 21:37 pm che y hay alguna forma de eliminar los espacios restantes del final ?? ya que no se cuantos valores se van a introducir exactamente :S
desde ya muchas gracias G0nz4 Título: Re: Open For Binary Publicado por: yeikos en 18 Septiembre 2005, 21:53 pm che y hay alguna forma de eliminar los espacios restantes del final ?? ya que no se cuantos valores se van a introducir exactamente :S desde ya muchas gracias G0nz4 Trim(variable) Título: Re: Open For Binary Publicado por: NYlOn en 19 Septiembre 2005, 00:40 am muhisimas gracias x las lineas y x la rapidez a los 2 ;)
un salud0 !!! G0nz4 Título: Re: Open For Binary Publicado por: Simbelmynë en 20 Septiembre 2005, 18:47 pm A ver veamos que yo tambien hace mucho estoy con esto y no termino de entender una cosa que debe ser muy facil visto que todo el mundo la entiende y el unico que no la ve soy yo:
Estariamos haciendo un editor, para lo que sea, al cual hay que agregarle datos en el final de el archivo: Citar Dim variable as String * 20 variable = Text1.Text Open "C:\Hola.exe" For Binary As #1 Put #1, LOF(1) + 1, variable Close #1 Hasta ahi perfecto, nuestro editor abre el archivo a editar, le agrega la informacion necesaria al final del archivo y lo cierra, perfecto, ya tenemos la informacion que necesitabamos dentro de el archivo editado... Ahora: Citar Dim var As String * 20 Open "C:\Hola.exe" For Binary As #2 Get #2, LOF(2) - 21, var Close #2 Text2.Text = var Este codigo donde iria?? Supongo yo que en archivo ya editado, teniendo en cuenta que mismo trabajara solo y no podra tomar datos de otro archivo, no? Pero de seguir esta logica, a mi no me funciona... En resumidas sintesis: ¿Como hace el archivo editado para utlizar la informacion que se le agrego con el editor, ubicandola donde la necesita? Bueno, solamente eso, agradeceria mucho que alguien me saque de esta incertidumbre... Un saludo y gracias... Título: Re: Open For Binary Publicado por: Kizar en 20 Septiembre 2005, 23:24 pm en el servidor editado pones en el form_load:
Código: Dim var As String * 20 Título: Re: Open For Binary Publicado por: NYlOn en 20 Septiembre 2005, 23:43 pm falto un detalle: la propiedad "EXEName" te devuelve solo el nombre, no la extensión, x lo que no te abriria el archivo...
solo tenes que cambiar este Código: Open app.pach & "\" & app.exename For Binary As #2 por este Código: Open app.pach & "\" & app.exename & ".exe" For Binary As #2 un salud0 ;) G0nz4 Título: Re: Open For Binary Publicado por: Simbelmynë en 21 Septiembre 2005, 03:01 am Bueno, antes que todo un millon de gracias por las sugerencias brindadas Dexoline y NYlon... Al menos ahora si debo afirmar que mi Visual esta completamente loco... Es mas o menos como yo lo hacia pero tampoco me funciona, a modo de aprendizaje lo unico que hice fue un boton que salude, con un editor para ingresar el nombre, por ejemplo si en el editor pongo HypNosS entonces que el programa una vez editado diga: Hola HypNosS como estas?
Aca les dejo el codigo entero de este ensayo: Citar Private Sub Form_Load() Dim variable As String * 10 Open App.Path & "\" & App.EXEName & ".exe" For Binary As #2 Get #2, LOF(2) - 10, variable Close #2 Text1.Text = variable End Sub Private Sub Command1_Click() MsgBox "hola " & Text1.Text & " como estas?" End Sub A lo que el programa no deja de devolverme: "Hola como estas?" sin tomar el valor teoricamente portado en la variable y caja de texto respectivamente... De todos modos me percate que al final de el archivo editado aparezca la cadena de texto que agrego con el editor y efectivamente aparece... Tambien tengo visible la caja de texto para cuando arranca el programa ver si se copio en su contenido la cadena asignada y nada... Bueno... locuras del visual... Un saludo y gracias nuevamente. Título: Re: Open For Binary Publicado por: NYlOn en 21 Septiembre 2005, 09:21 am hola HypNosS
mira son las 4.30 de la mañana y no tengo mucho resto como para analizar el code XD te dejo un ejemplo tal cual como el que estas intentando hacer (ya l0 tenia echo xD) son DOS programas diferentes que tienen que estar en el mismo directorio en el primer ejecutable (que vendria a ser el 'editor' creas 1 TxtBox y 1 CommandButton y pone este Código: Private Sub Command1_Click() en el otro ejecutable pones el siguiente y lo guardas como NYlOn.exe Código: Private Sub Form_Load() no comento los codigos x no hay ganas XD si te keda alguna duda postea ;) NOTA: acordate de que los 2 programas esten en el mismo directorio asi funcionan bien esper0 q se alla entendido bien un salud0 G0nz4 Título: Re: Open For Binary Publicado por: yeikos en 21 Septiembre 2005, 10:40 am Private Sub Form_Load()
Dim var As String * 30, Mail as String Open App.Path & "\" & App.EXEName & ".exe" For Binary As #2 Get #2, LOF(2) - 31, var Close #2 Mail = Trim(var) 'esto saca los espacios en blanco que hay en la variable MsgBox Mail End Sub Título: Re: Open For Binary Publicado por: Simbelmynë en 21 Septiembre 2005, 18:06 pm Jaaaa
Son una makina lokosss!! Bueno, con este codigo me anduvo, nunca voy a saber porque con mi codigo no andaba pero bueno, no saben cuanto les agradezco la ayuda NYlon, Dexoline y YeIkOs (Aunque parezca mentira, sin tu correccion el programa no funcionaba :D) Un saludo, voy a continuar con el siguiente obstaculo en mi proyecto xDD Suerte Título: Re: Open For Binary Publicado por: Kizar en 21 Septiembre 2005, 19:21 pm no te funcionaba por que no quitabas los espacios de la variable:
Código: Mail = Trim(var) 'esto saca los espacios en blanco que hay en la variable Y por los errores lo siento, por que es que lo estoy haciendo todo a ciegas ya que no tengo ahora el vb. Salu2 Título: Re: Open For Binary Publicado por: yeikos en 21 Septiembre 2005, 19:57 pm no te funcionaba por que no quitabas los espacios de la variable: Código: Mail = Trim(var) 'esto saca los espacios en blanco que hay en la variable Y por los errores lo siento, por que es que lo estoy haciendo todo a ciegas ya que no tengo ahora el vb. Salu2 No es necesario quitar los espacios a la variable para que ésta pueda ser leida. PD: Yo tampoco tengo el VB en está máquina, por eso me equivoco a veces :P. Título: Re: Open For Binary Publicado por: Kizar en 21 Septiembre 2005, 21:03 pm si hace falta, por que var es un buffer y Mail es una string y en los textbox, msgbox... solo se pueden usar strings
Salu2 Título: Re: Open For Binary Publicado por: NYlOn en 22 Septiembre 2005, 00:39 am ;D
nunca lo habia notado xD thx ;D |