Resultados 1 al 7 de 7

Tema: Funcion reemplazar en Visual basic 6.0

  1. #1
    Viciadill@ Avatar de tapi
    Ubicación
    Oviedo
    Mensajes
    65

    Predeterminado Funcion reemplazar en Visual basic 6.0

    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
    Tony Montana: "Yo siempre digo la verdad , incluso cuando miento"

  2. #2
    Viciadill@ Avatar de tapi
    Ubicación
    Oviedo
    Mensajes
    65

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    Me contesto yo mismo,la funcion que estaba buscando es "Replace"
    Salu2
    Tony Montana: "Yo siempre digo la verdad , incluso cuando miento"

  3. #3
    Viciadill@ Avatar de tapi
    Ubicación
    Oviedo
    Mensajes
    65

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    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
    Tony Montana: "Yo siempre digo la verdad , incluso cuando miento"

  4. #4

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    Abre el fichero en modo lectura/escritura, lee los datos, llama a la función replace y guarda el resultado de nuevo en el fichero...

    Salu2
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs,
    and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. [Rich Cook]
    Que todavía no has leído las Normas del Foro?

  5. #5
    Viciadill@ Avatar de tapi
    Ubicación
    Oviedo
    Mensajes
    65

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    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
    Tony Montana: "Yo siempre digo la verdad , incluso cuando miento"

  6. #6

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    Si la cadena por la que reemplazas tiene la misma longitud que la original, puedes usar archivos en modo de acceso directo (random), si no, no te quedará más remedio que ir copiando a otro archivo, hasta que encuentres la cadena a reemplazar, reemplazarla, escribirla, y continuar con la copia.

    Si el archivo origen no es muy grande, lo mejor es que hagas todo el proceso en memoria. Lees todo el archivo de origen, reemplazas, y guardas, si quieres sobreescribiendo el original.

  7. #7
    Viciadill@ Avatar de tapi
    Ubicación
    Oviedo
    Mensajes
    65

    Predeterminado Re: Funcion reemplazar en Visual basic 6.0

    Ok,al final es eso lo que estoy haciendo,creo uno nuevo leo el viejo y voy escribiendo en el nuevo hasta que llego a la cadena que quiero reemplazar,la escribo en el nuevo como tiene que ser,borro el viejo y renombro el nuevo con el nombre que tenia el viejo.
    Como es eso de usar archivos en modo de acceso directo (random)?Nunca los he utilizado y quizar para esta ocasion me vendrian muy bien.
    Lo que tampoco se es como leer todo el texto del fichero de una tacada,porque la verdad es que son pocas lineas,pero..luego que lo meteria todo en un String al hacer el replace?no se me desbordaria el string?
    Un saludo y gracias por contestar.
    Tony Montana: "Yo siempre digo la verdad , incluso cuando miento"

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •