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

Ayuda abrir archivo en binario e imprimir cadena de texto

Estas en el tema de Ayuda abrir archivo en binario e imprimir cadena de texto en el foro de Visual Basic clásico en Foros del Web. Bueno este tratand de hacer programa que edite otro programa mio, es decir imprimir una cadena de texto en binario para que una variable tengo ...
  #1 (permalink)  
Antiguo 30/06/2008, 09:58
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Ayuda abrir archivo en binario e imprimir cadena de texto

Bueno este tratand de hacer programa que edite otro programa mio, es decir imprimir una cadena de texto en binario para que una variable tengo un valor diferente

Yo quiero editar un programa asi:

text1.text=palabra

Entonces al editarlo ya compilado muestre una cadena de texto diferente.

Pero no se como :S

Alguien me hecha una mano??

salu2
  #2 (permalink)  
Antiguo 30/06/2008, 10:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Ayuda abrir archivo en binario e imprimir cadena de texto

Algo interesante que yo suelo hacer en estos casos es agregar palabras u otros datos al final del archivo *.exe, de modo que no afecten al programa, luego desde codigo recupero los datos. Si necesitas ayuda con el código no dudes en preguntar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 30/06/2008, 10:17
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Ayuda abrir archivo en binario e imprimir cadena de texto

Gracias por responder

Indagando un poco (bastante) he encontrado la manera de editar variables,la verdad es bastante sencillo, se puede decir que me estaba ahogando en un baso de agua :S

Bueno lo coloco por si a alguien le sirve

Para hacer el programa editable

Código:
Dim variablea As String
Dim variableb As String

Private Sub Form_Load()

Dim variable1 As String * 122  '//asignamos un valor justo ala variable
Dim variable2 As String * 20
Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 'a cada ejecucion
' nos leemos para ver si las variables fueron editadas

Get #1, LOF(1) - 141, variable1 ' extraemos los valores de las variables
'141 para no romper la variable  122 + 20 = 142 leemos solo asta 141
Get #1, , variable2 'Extraemos segunda variable
Close #1
variablea = Trim(variable1) '//Quitamos espacios de las variables y las mostramos en cajas de texto. ( o el control que quieran )
'recuerda que tenemos que quitar espacios porque no sabemos si se ocupo todo
variableb = Trim(variable2)

End Sub
Se declaran 4 variables, lo que quieres editar es variable1, variable2, cuando las editas las otras dos variables obtienen obtienen el valor de variable a y b ;) entonces para mostrar seria asi text1.text=variablea

Para editarlo seria asi:

Código:
Private Sub Command2_Click()
Dim variable1 As String * 122 ' aqui se especifica el valor exacto igual q el editable
Dim variable2 As String * 20
variable1 = Text1.Text 'declaracon de variables
variable2 = Text2.Text
Open file For Binary As #1 'Esto nos permite abrir el archivo de forma binaria
Put #1, LOF(1) + 1, variable1
Put #1, LOF(1) + 1, variable2
Close #1 '//cerramos el archivo.
End Sub


salu2
  #4 (permalink)  
Antiguo 30/06/2008, 10:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Ayuda abrir archivo en binario e imprimir cadena de texto

Pues fue exactamente eso lo que te quise decir . Pues con ese código estás agregando datos al final del archivo *.exe (LOF(1) + 1) y luego estás extrayendo esos mismos datos...

Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 20:07.