1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em VB

Discussão em 'Programação' iniciada por mocito, 5 de Março de 2007. (Respostas: 5; Visualizações: 1215)

  1. mocito

    mocito Power Member

    Estou a tentar fazer um programa em VB6, preciso que ele me localize uma string num ficheiro e substitua por outra.
    Preciso que o programa procure num ficheiro hexadecimal um conjunto de caracteres e o substitua por outro, tenho uma textbox onde introduzo a string que pretendo localizar para depois substituir por uma nova. Tenho um form com varios botoes, na qual um deles abre o ficheiro com uma commondialog, o meu problema é que não sei como localizar a string no ficheiro e substituir essa string por uma nova. Agreço ajuda pois ainda sou muito novo no mundo da programação.
     
    Última edição: 5 de Março de 2007
  2. RicardoMoreira

    RicardoMoreira Power Member

    Usa a função Replace, faz isso "automaticamente" (procura a astring que pretendes e substitui-te por outra).
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Sabes trabalhar com ficheiros? Acho que se apenas estás a começar, estás a começar por algo um pouco complicado. Irás precisar principalmente de File I/O (Open, Get, Put, Close). Dependendo da forma como usas os comandos anteriores, podes ou não usar o Replace (eu não usaria ;) ). InStr.

    Se puderes, diz o que sabes fazer ;)
     
  4. mocito

    mocito Power Member

    Desde ja obrigado pela ajuda.

    Eu abro uma commondialog o problema é que depois de abrir a commondialog não sei que fazer depois. Não sei como devo fazer para abrir o ficheiro e procurar a string que quero , para a substituir por outra. Tenho duas caixas de texto, uma que é a string que quero procurar no ficheiro para substituir. Na outra caixa de texto, ponho a string que quero que o programa coloque no lugar da anterior. Ja tinha experimentado o replace, mas não consegui, dai eu ter pedido ajuda. Vou tentar procura nas livrarias por file I/O, não tinha conhecimento deste comando.
     
    Última edição: 6 de Março de 2007
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    File I/O é o termo genérico que eu uso pessoalmente. I/O é "Input/Output", que traduzido, seria qualquer coisa como "Entrada/Saída".
    Para que serve? Para abrir ficheiros. Entrada - quando lês o conteúdo do ficheiro; Saída - quando gravas.

    Quando abres a Common Dialog, aparece um diálogo para o utilizador escolher o ficheiro. Quando ele carrega em OK, o ficheiro escolhido fica em CommonDialog.FileName ... queres uma prova?
    Cria um novo projecto e acrescenta-lhe apenas uma CommonDialog. Não lhe mudes o nome. Insere o seguinte código no Form_Load:
    Código:
        CommonDialog1.ShowOpen
        MsgBox "O ficheiro escolhido pelo utilizador encontra-se em """ & CommonDialog1.FileName & """"
    
    Desta forma, sabes qual o ficheiro escolhido. Simples. O passo seguinte, e o essencial para o que precisas, é aprender a trabalhar nestes ficheiros.
    Uma curtíssima explicação:
    Open "ficheiro.txt" For Input As #1
    Abre o ficheiro "ficheiro.txt". Apenas irá ler o ficheiro. Não é possível modificá-lo quando é aberto para "INPUT". O número #1 é para "identificar" o ficheiro no programa, pois assim podes ter os ficheiros que quiseres abertos, e se quiseres ler NESTE ficheiro, dizes explicitamente "#1"

    Close #1
    Fecha o ficheiro. O handle é terminado, e não lhe podes sequer tocar sem o voltares a abrir.

    Do Until EOF(1)
    Line Input #1, variável
    Loop
    Do...Loop faz um ciclo, que termina quando a expressão EOF(1) for verdadeira. EOF(<numero do ficheiro>) é verdadeira quando se alcança o fim do ficheiro (a última linha). Atenção que EOF também é um caracter (ASCII nº26), e quando este existe no ficheiro, é ALI que se considera que o ficheiro termina. Noutras palavras, se escreves num ficheiro "123<eof>456", tudo o que está à frente de caracter EOF não é lido, a menos que abras o ficheiro como Binary (em vez de Input ou Output).

    O Line Input "busca" uma linha do ficheiro, e escreve-a na variável dada (neste caso, variável).

    Print #1, "olá"
    Escreve no ficheiro a string "olá".

    Há vários modos de abrir um ficheiro. Input é para leitura. Output é para gravação. Append é para gravação, mas acrescenta ao fim do ficheiro, em vez de o substituir. Binary é para ambos, mas "Line Input" deixa de funcionar, porque não trabalhas com linhas, mas sim byte a byte.


    Esta explicação deixa muito a desejar, mas pelo menos tentei dar aqui alguma coisa que se entenda :P está confusa, mas se tiveres dúvidas (e se só te seguires pelo que eu disse, hás-de as ter de certeza), avisa ;)

    Sabes inglês? Existe um tutorial que aconselho-te vivamente a ler. Tem tudo o que eu disse, muito mais, e é um excelente ponto de partida: http://www.xtremevbtalk.com/showthread.php?t=123814 . Este tutorial tem tudo o que precisas, sem teres de comprar livros :)

    Boa sorte!

    Cumps [[[[[[[]]]]]]]
    angelofwisdom
     
  6. mocito

    mocito Power Member

    Obrigado pela ajuda, se tiver duvidas eu pergunto.

    :)
     

Partilhar esta Página