none
replace de program files para arquivos de programas RRS feed

  • Pergunta

  • BOm, preciso dar um replace em um arquivo txt 

    ele possui varias linhas 
    e em cada linha é um caminho
    ex: 

    C:\Program Files\domus2010\texturas\metais\metal17x.jpg
    C:\Program Files\domus2009\texturas\metais\metal17x.jpg
    C:\Program Files\domus2010\texturas\metais\metal17x.jpg
    C:\Program Files\domus2010\texturas\sayerlack\F120.jpg


    quero que caso nao encontre o caminho
    ele faça um replace em todas as linhas 

    substituindo para "Arquivos de Programas"


    por que dependendo do windows que for rodar essa aplicação, ele muda
    e não encontra o camino.

    obrigado


    segunda-feira, 9 de novembro de 2009 16:43

Respostas

  • Bruno, e se esta aplicação rodar em um windows em ingles (servidor normalmente é ingles) o que você pretende fazer?

    O que quero tentar explicar, é que o ideal é manter o local nativo e utilizar variáveis.
    O BaseDirectory é uma variável. Talvez, rever a necessidade deste replace.

    De qualquer forma, tudo o que você precisa fazer é executar um replace apenas.
    Mais ou menos o que está abaixo.
    Abraços
    Objtextfile = Objtextfile.replace(My.Computer.FileSystem.SpecialDirectories.ProgramFiles,"Arquivos de Programa")

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand" (Martin Fowler)
    terça-feira, 10 de novembro de 2009 00:12

Todas as Respostas

  • Bruno,

    tente procurar pela linha %programfiles%
    %programfiles% é uma variável do Windows, que direciona para Arquivos de Programas, Program Files ou qualquer que seja a palavra independente do idioma!

    Segue um link que mostra uma forma de acessar a variável program files:
    http://msdn.microsoft.com/pt-br/library/microsoft.visualbasic.fileio.specialdirectories.programfiles.aspx
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand" (Martin Fowler)
    segunda-feira, 9 de novembro de 2009 17:17
  • Eu entendi,
    mas não entendi como usa-la
    se puder me explicar

    obrigado
    segunda-feira, 9 de novembro de 2009 18:04
  • Bruno,

    só quiz dizer que você não precisa executar o replace. Ao invés de executar um replace (você precisa do replace para acessar as linhas e utilizar seus valores certo?) só utilize a variável.
    Passe o seu problema real (o motivo de querer executar um replace) que penso em como você pode fazer isso sem executar o replace.

    Abraços

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand" (Martin Fowler)
    segunda-feira, 9 de novembro de 2009 18:15
  • uso esse codigo para fazer a leitura do bloco

     objFSO = CreateObject("Scripting.FileSystemObject")
            objtextfile = objFSO.OpenTextFile((AppDomain.CurrentDomain.BaseDirectory()) & "materiaismate\matprojetos\Materiaisprojeto.txt", ForReading)


    depois armazeno em uma variavel

    sReadline = Objtextfile


    quero que quando armazenar nessa variavel
    ja esteja mudado pra arquivos de programa se for o caso.
    segunda-feira, 9 de novembro de 2009 18:32
  • Bruno, e se esta aplicação rodar em um windows em ingles (servidor normalmente é ingles) o que você pretende fazer?

    O que quero tentar explicar, é que o ideal é manter o local nativo e utilizar variáveis.
    O BaseDirectory é uma variável. Talvez, rever a necessidade deste replace.

    De qualquer forma, tudo o que você precisa fazer é executar um replace apenas.
    Mais ou menos o que está abaixo.
    Abraços
    Objtextfile = Objtextfile.replace(My.Computer.FileSystem.SpecialDirectories.ProgramFiles,"Arquivos de Programa")

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand" (Martin Fowler)
    terça-feira, 10 de novembro de 2009 00:12