2020-05-18 – Ajustar frases e palavras ao tamanho do ecrã em Terminal de Linux com C++
Imagem de 18 de Maio, em que estava já a fazer um auto-ajuste das palavras para se ajustar ao tamanho do ecrã, aqui ainda a quebrar palavras.
Mais sobre isto na descrição que escrevi na época:
«Nesta fase, já tendo o tratamento do input do teclado feito, tenho de criar um editor à pata, onde trato cada movimento do utilizador, seja mover para esquerda, direita, apagar para trás (backspace), para a frente, e medir o ecrã, e encaixar o número de caracteres no ecrã, e mudar de linha, etc.
É a fase seguinte. Após isto, já tenho um editor de texto criado desde o zero (não usei uma única libraria a não ser as principais standard), e aí já poderei focar-me nos comandos do Cisco IOS e tratar da simulação de routers e switches, 1º em termos de objectos com propriedades (tipo números de portas, etc).
Depois disso é que passo para a aí sim, Emulação, em que o programa tem de saber como funciona a rede, protocolo TCP/IP, os ARPs, tudo, para emular uma rede, mas o importante agora é isto aceitar comandos e guardar configurações para uma amiga invisual ter uma ferramenta para praticar com routers, que ela não consegue usar o Packet Tracer e conseguirá usar esta.
Eu sei que às vezes levo ao extremo o mote do “Se queremos uma coisa bem feita temos de ser nós a fazê-la”, ou “se queremos uma coisa ao nosso gosto”, e que já criei softwares do nada por me irritar como funcionam os que há disponíveis, mas desta vez é também por uma boa causa.
Houve tempos em que criava muita coisa que usava, port scanners, ferramentas de rede, etc, agora em vez de muitas coisas pequenas, quero fazser poucas grandes.
Mas o mais giro disto é que estes projectos, nem que acabem por ter dezenas de milhares de linhas de código, começo-os sempre sem qualquer plano inicial, vou fazendo, improvisando à medida que surgem necessidades, e no fim está feito. Não faço ideia o que é planear algo antes de fazer, e nunca sei a 100% como vai ficar no fim (só tenho ideias).
2020-05-18 – 19h28.»