Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP

_Créditos das imagens: ChatGPT_ # LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP O desafio [**"Letter Combinations of a Phone Number"**](https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/) (Combinações de Letras de um Número de Telefone) é um problema clássico de programação que envolve a geração de todas as combinações possíveis de letras que um número de telefone pode representar, com base no mapeamento tradicional dos teclados de telefone. Abaixo, comparamos duas implementações desse desafio: uma em **Harbour** e outra em **TOTVS TLPP** (TOTVS Language Plus Plus). ## O Desafio Dada uma string contendo dígitos de 2 a 9, retorne todas as combinações possíveis de letras que esses dígitos podem representar. O mapeamento dos dígitos para as letras é o mesmo dos teclados de telefone tradicionais: - 2: "abc" - 3: "def" - 4: "ghi" - 5: ...

Windows® PowerShell® "Script" para sincronização do Repositório do Protheus

Hoje Postarei uma dica de como criar um "script", utilizando o Windows® PowerShell® para sincronizar os "Repositórios de Objetos" do Protheus entre o ambiente de desenvolvimento e o de produção.

Crie o arquivo syncApos.ps1 e, utilizando um editor de texto de sua preferência (Notepad, Notepad++ ou Edit, etc.), inclua o código abaixo. Altere o "Path" <$path>, a "string" de busca <$find>, a "string" de substituição <$replace>,o caminho de onde o repositório deverá ser copiado e o diretório de destino do repositório para adequar às suas necessidades.

Para maiores informações de como instalar o Windows® PowerShell® e de como executar "scripts" leia o "Post" Conexão automática ao Claro3G.

Tendo feito isso basta criar um agendamento utilizando o Agendador de Tarefas do Windows® ("Task Manager") e seus repositórios serão sincronizados.

Obs.: Para que o "script" possa ser executado no "Task Manager" faz-se necessário informar o caminho completo do programa que irá executá-lo e o "script" a ser executado. Ex.: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe c:\totvs\p10\scripts\syncApos.ps1

Se desejar baixar os "scripts" de exemplo para a sincronização dos "apos/rpos" do Protheus clique nos respectivos links: mp8syncApos.ps1 e p10syncApos.ps1.

$path = "d:\totvs\p10\bin"
$find = "SourcePath=d:\\totvs\\p10\\rpos\\rpo1"
$iniFile = "totvs*.ini"
$match = get-childitem -path $path -include $iniFile -recurse | select-string $find -list
if ( $match -match $find )
{
$replace = "SourcePath=d:\totvs\p10\rpos\rpo2"
cd d:\totvs\p10\rpos\rpo2
xcopy \\100.0.9.125\p10rpo$\rpo1\tttp101.rpo /s /c /y /d
}
else
{
$find = "SourcePath=d:\\totvs\\p10\\rpos\\rpo2"
$replace = "SourcePath=d:\totvs\p10\rpos\rpo1"
cd d:\totvs\p10\rpos\rpo1
xcopy \\100.0.9.125\p10rpo$\rpo1\tttp101.rpo /s /c /y /d
}
get-childitem -path $path -include $iniFile -recurse | select-string $find -list |% { (get-content $_.Path) |% { $_ -replace $find, $replace } | set-content $_.Path }

Comentários

Postagens mais visitadas