STRU - Lista e modifica a estrutura dos arquivos dbfs

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Jairo Maia escreveu:Ficou muito mais profissional usando o .INI. Valeu
Obrigado, Jairo. Só tenho a te agradecer pelas suas contribuições.

Agora STRU tem língua italiana também. Espero ter feito uma tradução correta na língua italiana, porque os termos técnicos são diferentes com a linguagem comum. Se algo estranho no italiano pareceria estranho ou errado, por favor me avise.

Também implementei a verificação do total de elementos como a leitura do arquivo de Lng.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Nova versão 4.2 com alteração de cor na barra do Grid em forma condicional.

Barra de navegação do Grid em situação normal:
Screen38.PNG
Barra de navegação do Grid em situação excepcional (este grid é o mesmo grid que o de cima):
Screen39.PNG
Desta forma dá um destaque durante a navegação quando os registros devem ser diferenciados. Neste caso, porque o campo NOME possui um processo, isto e tem um prg ou função própria para importação de dados. Ora criado pelo próprio usuário pois o Harbour faz a compilação e o executa em tempo de execução do aplicativo.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por alxsts »

Olá!

Pablo, baixei o utilitário da Seção de Downloads e descompactei para uma pasta. Em seguida, dei um duplo clique no executável e depois abri uma tabela. Cliquei no botão Modify e depois nas setas que navegam entre os campos da lista. Está ocorrendo o erro mostrado abaixo:
Stru - Run Time Error
Stru - Run Time Error
Tomei a liberdade de fazer alguns ajustes no arquivo da Língua Inglesa. Espero que não se importe.
Se for adotar esse arquivo (em anexo), note que ele tem algumas poucas linhas a mais. Não sei como você referencia este arquivo de dentro da aplicação. Se for posicional, precisará ajustar. Tentei copiá-lo por cima do atual mas deu problema.
Anexos
English.Txt
(4.15 KiB) Baixado 334 vezes
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Olá Alexandre, antes de mais nada, agradeço o seu interesse em reportar tais erros. De fato esse erro não acontecia antes quando o GRID (do Modi_Stru) era CELLNAVIGATION .F.
Com o tempo percebi que a função de mudar a cor da barra de navegação, que gentilmente o Grigory Filatov me passou, funciona somente com CELLNAVIGATION .T. ao qual registrei para os colegas saberem.
Ai então o retorno de nRec:=Modi_Stru.Grid_1.Value passaria a ser um vector e não uma variável do tipo numérico (integer var). A variavel nRec é atribuida com o número do registro na qual está posicionado no GRID. Mas já foi solucionado, inclusive em todas as funções (Stru_Dele, Stru_Salva, Stru_Down e Stru_Up).
Tomei a liberdade de fazer alguns ajustes no arquivo da Língua Inglesa. Espero que não se importe.
Se for adotar esse arquivo (em anexo), note que ele tem algumas poucas linhas a mais. Não sei como você referencia este arquivo de dentro da aplicação. Se for posicional, precisará ajustar. Tentei copiá-lo por cima do atual mas deu problema.
Puxa rapaz... que vergonha. Esse meu inglês não estava legal, acho que foi a pressa e o incrível que os colegas estrangeiros do outro fórum, disseram-me nada...
Eu tomei a maiorias das sua indicações outras eu refiz e espero que tenha ficado entendível, te agradeço mais uma vez.
Quanto a referência, esse arquivo lng que utilizo, debe estar entre parêntese para não sofrer nenhum ajuste ou auto-alinhamento durante o display das mensagens e dos labels dos componentes. Terei ainda que passar no format UTF-8 e fazer ajustes e limpeza de código. Pois na atual versão da HMG trabalha em UNICODE o que facilita para outras linguagens.

A nova versão, já se encontra livre desses erros e está disponível na seção de Downloads.

Obrigado, colega ! Valeu pelo toque :)Pos
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por alxsts »

Olá!

Pablo, o problema que relatei realmente foi sanado.

Notei outro problema, na rotina de alteração de estrutura (Modify):

quando pressionado o botão "Delete", o programa deleta a linha em questão mas não seta o foco do grid para outra linha. Assim, se pressionar novamente "Delete", nada acontece. Se pressionar os botões de seta, a linha atual do grid some e uma linha em branco é inserida. Pressionando-se "Delete sobre ela, nada acontece". Clicando-se em uma linha do grid, ela recebe o foco. Feito isto, pressionando-se "Delete" ele deleta a linha e o grid fica sem foco novamente e ainda com a linha em branco.

Neste ponto, pressionei o botão "Append" e informei os dados para criar um campo numérico, 5,2. Não sei por que recebi a mensagem "Create file in DBT ou FPT" se não estava criando um campo memo. Escolhi a opção DBT e em seguida o programa acusou o erro mostrado abaixo:
Stru run time error
Stru run time error
Quanto à tradução inglesa, creio que você deveria usar os textos como enviei, pois estão corretos. Ainda existem frases confusas, com erros de concordância (vide tela que aparece em Stru /?) e palavras que não fazem sentido no jargão de TI. Por exemplo, na tela que lista a estrutura, aparece o texto "NR Register". Em inglês, um registro chama-se record e não register. Assim, essa frase deveria ser "Number of Records" ou "Record Count", como coloquei, o que é o usual. Mas, é só uma humilde opinião, de alguém perfeccionista... O trabalho é seu, aliás um belo trabalho, e você deve fazê-lo como achar melhor. Só acho que, se ele se propõe a ser multi-lingue, suas traduções devem ser as melhores possíveis. Mas erros podem ser encontrados até nas traduções do Windows...
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

alxsts escreveu:Notei outro problema, na rotina de alteração de estrutura (Modify):

quando pressionado o botão "Delete", o programa deleta a linha em questão mas não seta o foco do grid para outra linha. Assim, se pressionar novamente "Delete", nada acontece. Se pressionar os botões de seta, a linha atual do grid some e uma linha em branco é inserida. Pressionando-se "Delete sobre ela, nada acontece". Clicando-se em uma linha do grid, ela recebe o foco. Feito isto, pressionando-se "Delete" ele deleta a linha e o grid fica sem foco novamente e ainda com a linha em branco.
Ahhh obrigado Alexandre, realmente todos esse erros procedem e eram decorrentes do retorno de função GetTupla, da qual traz todos os dados (todos os campos) de determinada posição no grid e esse posicionamento difere quando antes trabalhava com o CELLNAVIGATION .F.
Corrigi isto em várias funções e inclusive consegui implementar com êxito a mudança de cor da barra de navegação do grid, quando é criado ou deletado um processo para tal campo.
Neste ponto, pressionei o botão "Append" e informei os dados para criar um campo numérico, 5,2. Não sei por que recebi a mensagem "Create file in DBT ou FPT" se não estava criando um campo memo.
Essa pergunta, mesmo que pareça chata é necessária perguntar sempre e quando o dbf contenha algum campo do tipo memo (de acordo a tela, é o seu caso) e a configuração do default do STRU para RDDs seja igual a "?" (indefinido). Veja a tela para configurar o default nesses casos:
Tela75.PNG
Pois se a configuração estiver selecionado para DBT ou FPT, daí não faz a pergunta, dai iria diretamente criar de acordo o default selecionado. Sei que poderiam questionar isso, porque é chato a pergunta. Mas se eu fizer até mesmo uma rotina que verifique (pois há possibilidade de saber que padrão é o campo MEMO) e deixar por conta do utilitário: iria tirar a opção do usuário querer mudar de DBT para FPT (por exemplo). Então a pergunta, é normal quando há campo do tipo memo e o seu default de RDD for "?".
Ainda existem frases confusas, com erros de concordância (vide tela que aparece em Stru /?) e palavras que não fazem sentido no jargão de TI. Por exemplo, na tela que lista a estrutura, aparece o texto "NR Register".
..//..
é só uma humilde opinião, de alguém perfeccionista...
...//..
ser multi-lingue, suas traduções devem ser as melhores possíveis.
Sim concordo que está meio confuso, pois tendo em conta o curto espaço para explicar opções. Por exemplo no item CLIP ou no item <File> que tem funcionalidades ambíguas. Já nesse caso do "NR Register" concordo contigo, não está correto. Corrigi para " Total records ". Se houver outro item que você considera relevante, favor esteja a vontade. Eu não fico constrangido nem ofendido, pelo contrário: fico agradecido.

Mas a agradeço muito mesmo o seu interesse em apontar qualquer discordância e erro. Pois fico surpreso de não ter visto antes qualquer apontamento de erro ao menos. Pois o programa pode pecar pelas traduções mas não pode dar erro algum. E espero que se aparecerem outros erros ou até mesmo outras sugestões: ficarei agradecido.

Obrigado Alexandre !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

O "Configura" agora tem mais um item que permite acessar o STRU ao clicar no DBF pelo Window Explorer.
Tela90.PNG
Tela90.PNG (10.84 KiB) Exibido 4689 vezes
Funciona também através do Context-Menu do Window Explorer:
Tela89.PNG
Para sistemas operacionais com UAC, terá que ser executado como Administrador para que todas as mudanças no REGISTRO do Windows, tenham efeito:
Imagem

Com a vinda do padrão UNICODE no HMG, garante o uso de aplicativo em multi-línguas. Novas implementações como:

- Verifica em SO se está sendo executado como administrador para a função de mudar o REGISTRO do Windows.
- Verifica a versão de compilação do HMG, garantindo a execução de novas funções
- Verifica integridade dos arquivos de idiomas de acordo a versão executada
- Opção de executar STRU em modo GUI na linha de comando

Mais testes de execução serão necessários para propiciar a indicação de possíveis falhas. Agradeço quando tiverem esta disponibilidade.

STRU - Lista e Modifica a Estrutura dos arquivos dbfs.

Importante: Não esqueçam de deletar o STRU.INI pois agora tem nova estrutura (mais enxuto), também serão necessários a substituição dos arquivos .LNG de idiomas e serem re-editados para os idiomas que foram transformados para o padrão UNICODE.

Espero que gostem ! :)Pos
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Descobri um erro na parametrização quando o DBF clicado estiver em pasta cujo nome contenha espaços (como por exemplo: Meus Documentos), ai o programa não interpretava bem o path+nome do DBF porque não estava entre aspas.

O parâmetro deve conter aspas para receber por completo o nome do arquivo: C:\..\Stru.exe "%1" /G

Obs.: Arquivo arquivo compactado tinha sido atualizado para novo download.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Deparei-me com um erro na minha tentativa de abrir um DBF que possuia campo do tipo MEMO e o arquivo DBT estava faltando. Possivelmente fora deletado por engano. Ai reacendeu uma necessidade que há tempos pensei que não seria necessário implementar uma rotina de auto-reconhecimento de padrão de RDD e a extensão adequada para cada arquivo com campo MEMO (DBT, FPT ou SMT) e consequente o RDD/driver a utilizar (DBFNTX,DBFCDX,DBFNSX). Teria então deixado a cargo da opção de escolha do usuário, mas agora já contamos com mais esse recurso de auto-detectar o tipo do DBF:
Tela92.PNG
Tela92.PNG (11.67 KiB) Exibido 4674 vezes
E assim, podemos optar também a opção padrão para modificar o padrão original do RDD utilizado.

Obs.: Arquivo arquivo compactado foi atualizado para novo download.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

É importante contar com rotinas de persistências. Implementei no STRU para garantir o acesso e para complementar a auto-detecção do tipo de DBF que será aberto. Já que a função DbUseArea utiliza como opcional o parâmetro nome do Rdd.

Obs.: Arquivo arquivo compactado foi atualizado para novo download.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Agora, com esta nova versão (graças a amigos Esgici e Dr. Soto sobre recursos do PutFile()), podemos usar três opções para o redirecionamento de arquivo de saída:

1. Faz uma lista Estrutura em TXT
2. Faz uma rotina de programação usando o dbCreate, para a criação de DBF
3. Copia a estrutura para outro DBF
Screen78.PNG
Também corrigi algumas mensagens de interface ao usuário, e ter]ao que ser corrigidos os arquivos de idiomas.

Ontem eu mostrei STRU para um amigo programador e pude perceber que no prompt de comando no DOS, podemos acessar a estrutura de arquivos dbf, bastando digitar o nome do dbf com extensão para exibir na tela. Claro que a opção de configuração "Definir STRU como padrão para abrir arquivos DBF no Contexto Menu no Windows Explorer" deverá estar marcada.
Screen80.PNG
Screen80.PNG (11.28 KiB) Exibido 4641 vezes
Obs.: A versão 4.8 está disponível na seção de Downloads.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Duda 'Sgluber' »

Parabéns pelo excelente trabalho e siga em frente, Pablo!

Muito obrigado pela generosidade de oferecer gratuitamente, e em código aberto, algo tão bom! Imagem
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Pablo César »

Duda 'Sgluber' escreveu:Parabéns pelo excelente trabalho e siga em frente, Pablo!

Muito obrigado pela generosidade de oferecer gratuitamente, e em código aberto, algo tão bom!
Quê bom que gostou ! Obrigado pelo seu interesse e pelas suas palavras de incentivo.
:)Pos

Nesta nova versão, tem mais duas opções em configurações para tabela em formato BBCode (tabela usada aqui no fórum) e visualização da tabela.
Tela93.PNG
Ao selecionar a saída da estrutura para Cliboard, se o navegador estiver aberto em alguma página do fórum o programa detectará a intenção de criar no formato BBCode e perguntará se deseja nesse padrão:
Tela95.PNG
Tela95.PNG (7.61 KiB) Exibido 4631 vezes
Confirmando a criação no formato BBCode, poderá ser visualizado a tabela no próprio navegador:
Tela94.PNG
E ainda disponibiliza na área de transferência para ser colado em mensagens do fórum.

Todos estes recursos servem para facilitar a disponibilização de estruturas de DBFs no fórum.

Obs.: O arquivo Stru.ini, deverá ser deletado para poder criar um novo com a estrutura e opções adicionais.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Duda 'Sgluber' »

Pablo César escreveu:...
Nesta nova versão, tem mais duas opções em configurações para tabela em formato BBCode (tabela usada aqui no fórum) e visualização da tabela.
...
Imagem
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

STRU - Lista e modifica a estrutura dos arquivos dbfs

Mensagem por Duda 'Sgluber' »

Pablo,

hoje usei o STRU pela primeira vez no Windows 8 64 bits, na máquina de um cliente. Eu queria apenas modificar o nome de um campo e aumentar seu tamanho. Não consegui... e esqueci de salvar a imagem do erro apresentado, mas memorizei: "Atenção - O nome do campo não foi Informado!!".

Como não encontrei motivo algum pra não funcionar (imaginando o que poderia estar acontecendo, tentei de tudo quanto foi jeito), decidi pegar o mesmo DBF e usar o mesmo STRU numa máquina com XP: bingo, funcionou perfeitamente!

Alguma ideia do que possa ser? Alguma "incompatibilidade" já relatada/conhecida entre HMG e Windows 8?

Obrigado e abs! Imagem
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
Responder