Página 1 de 1

Mudar texto em todos os prgs da pasta

Enviado: 09 Abr 2018 10:29
por rubens
Bom dia...

Preciso mudar o Texto "Janela(" para "Janela( ProcName()," em todos prgs da pasta.
Pelo Xdev Não achei opção...
Pelo HbIde achei opção mas não consegui fazer funcionar.
Alguém sabe como fazer pelo HBIDE ou por outra ferramenta?

Obrigado

Mudar texto em todos os prgs da pasta

Enviado: 09 Abr 2018 11:48
por Jairo Maia
Olá Rubens,

Veja se ajuda:

NOTA: Use uma única vez para cada novo texto informado e verifique. Se voltar a rodar o utilitário duplica o novo texto, ok?

Código: Selecionar todos

Function Main( lDelbk )

 Local x, aDirect1, aDir1:={}, cMsg, cArq1, cArq2, cNewTexto
 
  /*
   Definir aqui o Texto existente e o Novo Texto...
 */
 Local cTexto1 := "Janela("
 Local cTexto2 := "Janela( ProcName(),"

 If lDelbk != Nil .And. Upper( lDelbk ) = "/Y"
  ! DEL *.bak
 ElseIf File( "*.BAK" )
  cMsg:="Arquivos com extensäo .BAK existente!;"
  cMsg+="Faça backup e apague para continuar."
  HB_Alert( cMsg )
  Return Nil
 EndIf

 CLEA SCREEN

 aDirect1 := Directory( "*.PRG" )
 AEval( aDirect1, { | cPrg | AaDd( aDir1, cPrg[1] ) } )

 For x:=1 To Len( aDir1 )

  cArq1 := aDir1[x]
 
  If Upper( cArq1 ) = "MUDATEXTO.PRG"
   Loop   // se for esse arquivo, não altera...
  EndIf
 
  @ 5,2 say spac(50)
  @ 5,2 say "Trabalhando arquivo: " + cArq1

  cNewTexto := Hb_MemoRead( cArq1 )
 
  cArq2 := StrTran( Upper( cArq1 ), ".PRG", ".BAK" )
 
  Hb_MemoWrit( cArq2, cNewTexto )  // salva backup do arquivo antes de alterar
 
  cNewTexto := StrTran( cNewTexto, cTexto1, cTexto2 )  // altera o arquivo com CASE SENSITIVE
 
  Hb_MemoWrit( cArq1, cNewTexto )  // salva o arquivo com as alterações
 
 Next

 @ 7,2 say " "

Return Nil

Mudar texto em todos os prgs da pasta

Enviado: 09 Abr 2018 14:12
por marcosgambeta
Rubens,

Eu uso o grepWin para esta e outras tarefas:

https://tools.stefankueng.com/grepWin.html

Mudar texto em todos os prgs da pasta

Enviado: 09 Abr 2018 15:12
por Claudio Soto
Otra alternativa es usar el editor de texto NotePad++
Opción del menú Search and Replace in Files

Mudar texto em todos os prgs da pasta

Enviado: 09 Abr 2018 17:06
por JoséQuintas
Porque não aproveita e cria uma rotina pra não precisar indicar isso?
Por exemplo, uso do DoPrg() e a variável m_Prog

https://github.com/JoseQuintas/JoseQuin ... in/jpa.prg