Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo IV : Excel

No “Post” anterior, Protheus :: Advpl :: Utilizando scripts em PowerShell para manipular objetos COM :: Combo III : Excel, vimos como efetuar a “integração” do totvs/protheus server com o PowerShell para manipulação de objetos COM, no exemplo o Excel. Os exemplos, apesar de funcionais, não eram muito rápidos em função da interação totvs/protheus vs PowerShell vs Excel a cada registro.

Como prometido, os exemplos anteriores foram reescritos de forma a melhorarmos a performance da integração, interação e geração do arquivo. Para isso, um arquivo intermediário será utilizado. Ele será gerado pelo totvs/protheus server e será manipulado pelo PowerShell. Dessa forma, a interação totvs/protheus server vs PowerShell/Excel é minimizada fazendo com que a geração da planilha fique, no mínimo, duas vezes mais rápida. Ou seja, conseguiremos o mesmo resultado dos exemplos anteriores com um ganho de 50% na performance.

Ambos os exemplos foram reescritos. Podemos utilizar o PowerShell do Client ou do Server.

O arquivo intermediário a ser utilizado é do tipo ‘export-csv’ e que será manipulado pela ‘import-csv’ do PowerShell.

image

Delimitamos os dados usando “|” (pipe) chr(124) e o abrimos, no PowerShell usando import-csv. Simulado o processo no PowerGui Script Editor teríamos:

image

O interessante, desse modelo, é que o PowerShell, quando usamos import-csv, mapeia as informações da primeira linha e podemos usar  esse mapeamento para referenciá-los.

image

O “instantâneo” do código que nos facilitará essa integração pode ser visto abaixo:

image

image

Para baixar os novos exemplos, onde perceberão uma melhora significativa na performance, clique aqui.

[]s

иαldσ dj

Comentários

Postagens mais visitadas