elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Funcion reemplazar en Visual basic 6.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Funcion reemplazar en Visual basic 6.0  (Leído 8,383 veces)
merlin

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Funcion reemplazar en Visual basic 6.0
« en: 23 Mayo 2007, 11:19 am »

Como se podria hacer en visual una funcion similar a la funcion reemplazar texto del bolc de notas,es decir,que encuentre una cadena en un fichero de texto que va leyendo y la reemplace por otra.
Lo de leer el fichero de texto ya lo tengo hecho,pero no se como hacer para reemplzar cadenas,yo tenia entendido que para hacer eso (al menos en C),tienes que modificar el valor del final del fichero pq esta va a cambiar una vez que hagas el Replace.
Un saludo y gracias por adelantado


En línea

100% ESPAÑOL
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #1 en: 23 Mayo 2007, 11:32 am »

La funcion q buscas es replace


En línea

merlin

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #2 en: 23 Mayo 2007, 11:38 am »

Ok tio,muchas gracias,me di cuenta justo despues de enviar el post de que era esa funcion la que estaba buscando.
Un saludo
En línea

100% ESPAÑOL
merlin

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #3 en: 31 Mayo 2007, 13:45 pm »

Vuelvo a reflotar la pregunta pq aun no lo tengo muy claro.
Vale,la funcion que necesito es Replace.
Es decir,yo abro un fichero de lectura,busco una determinada cadena y esa la quiero reemplazar por otra,como seria?
Pq la funcion replace lo que hace es devolverme una nueva cadena ,en la que una cadena especificada se reemplazo por otra,
pero como hago para sustituirla en el fichero,que lo tengo abierto de solo lectura,si ademas esa funcion lo unico que hace es devolverme una nueva cadena?
Espero haberme explicado bien.
Un saludo.
Si me lo explicase alguien con un ejemplo sencillo se lo agradeceria

Un saludo
En línea

100% ESPAÑOL
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #4 en: 31 Mayo 2007, 13:49 pm »

Mira, un ejemplo facil con un textbox en vez de un archivo (luego es adaptarlo nada mas ;))

Código:
Private Sub Command1_Click()
Dim Final As String
Final = Replace(Text1.Text, "HOLA", "¬¬'")
Text1.Text = Final
End Sub

Imaginate q en el textbox pone esto:
Citar
HOLAasfksdahnfkdsa
sdagfsda
gsdg
dsdgsgsdgHOLA

Cuando le des al boton deberia kedarte esto:
Citar
¬¬'asfksdahnfkdsa
sdagfsda
gsdg
dsdgsgsdg¬¬'

Pues haz eso con un archivo en vez de con el cuadro de texto xDD
En línea

merlin

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #5 en: 31 Mayo 2007, 15:06 pm »

Ya,pero como guardo el resultado en el fichero?
Por que lo unico que se me ocurre es escribirlo,pero asi no estoy reemplazando nada,lo estoy añadiendo al final,y lo que tengo que hacer es borrar esa cadena que estoy buscando y en esa misma linea escribir la nueva cadena.
Con el replace obtengo una cadena nueva que tengo que escribir en el fichero que abri,que tiene muchas lineas,osea que no lo puedo hacer como si lo estuviese haciendo en un textbox,no se si me explico.
No me podrias poner un pequeño ejemplo en el que lo hiciseses con un fichero?
Gracias por contestar y a ver si alguien me puede echar un cable
Salu2
En línea

100% ESPAÑOL
~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #6 en: 31 Mayo 2007, 15:51 pm »

Lees el fichero entero:
Código:
open ruta for binary as #1
dim todo as string
todo = space(lof(1))
get #1,,todo
close #1

Y ahora q tienes todo el fichero en la variable todo aplicas el codigo anterior, con lo q tu kieras sustituir claro  :xD
Código:
Dim Final As String
Final = Replace(todo, "HOLA", "¬¬'")

Ahora borras el fichero q has leido anteriormente:
Código:
kill ruta
Siendo ruta la ruta del fichero claro

Finalmente creas un nuevo fichero con la cadena ya sustituida:
Código:
open ruta for binary as #1
put #1,final
close #1

Y ya esta  :xD :xD
1S4ludo
En línea

merlin

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #7 en: 1 Junio 2007, 08:55 am »

Ok,gracias tio,lo que no veo muy claro es lo de meter todo el texto del fichero en un string,no se me desbordaria el string?
Gracias por contestar y salu2
En línea

100% ESPAÑOL
vivachapas


Desconectado Desconectado

Mensajes: 612



Ver Perfil
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #8 en: 1 Junio 2007, 20:03 pm »

no...
el string tiene una capacidad (creo q era) de 65500 y algo...
yo cargue archivos pesados en las string y nucna se produjo un desbordamiento... prueba seguro q no pasa nada
En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Funcion reemplazar en Visual basic 6.0
« Respuesta #9 en: 1 Junio 2007, 20:16 pm »

No se desbordara por la siguiente expresion:

Código:
todo = space(lof(1))

lo que hace eso es modificar el tamaño de la string (por defecto es 4 byts creo) y le establece un tamaño para que quepa justo el tamaño del archivo (LOF = Long of File) y el 1 indica el numerador del archivo que se trata ya que lo abriste con open..blablabla... #1)).

Asi no hay desbordamiento... ;) ;)

Un Saludo.  ;)

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
reemplazar funcion en la IAT
Análisis y Diseño de Malware
tig0 0 2,356 Último mensaje 13 Septiembre 2011, 17:58 pm
por tig0
Reemplazar la función free por una propia.
Programación C/C++
NOB2014 6 2,807 Último mensaje 26 Abril 2016, 02:51 am
por NOB2014
Leer una función matemática [Visual Basic o C#]
Programación General
S4ms3pi0l__ 0 1,905 Último mensaje 28 Agosto 2019, 20:15 pm
por S4ms3pi0l__
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines