Wenderson Lisboa Posted May 3, 2018 at 09:26 PM Report #610427 Posted May 3, 2018 at 09:26 PM (edited) Estou construindo um cadastro em turbo pascal e preciso de ajuda com: 1 - como faço para o cursor ir para o próximo "readln" ou retornar para o anterior usando tab ? 2 - salvar varios dados heterogêneos num arquivo de texto usando assing. Ex: Nome, data de nascimento, código. ... De já agradeço toda a ajuda. Edited May 3, 2018 at 09:27 PM by Wonderson Lisboa
nunopicado Posted May 3, 2018 at 10:31 PM Report #610429 Posted May 3, 2018 at 10:31 PM Para a 1ª questão: Para usares o tab para controlar a posição do cursor, não podes usar o readln. As teclas têm de ser controladas uma a uma, para que possas controlar o que faz o tab. Assim, tens de usar a função "readkey", que lê uma tecla de cada vez, e depois controlar todo o input. Por exemplo, tens de controlar o caracter #9 (TAB) para enviares o cursor para onde desejas, controlar o caracter #8 (BackSpace) para que o utilizador possa apagar o caracter que escreveu anteriormente, controlar o #13 para finalizar a inserção de dados, e assim por aí fora. Cada chamada ao readkey devolve uma única tecla (no caso de teclas especiais, como setas por exemplo, são precisas duas leituras ao readkey para fazer uma tecla), por isso todo esse controle deverá estar dentro de um ciclo (recomendo o repeat-until). Para salvares dados de forma heterogenea, o mais fácil não é um arquivo de texto. Um arquivo de texto só guarda strings, e terás de ter algum trabalho para gerir os tipos de dados. Recomendo-te usares ficheiros binários: 1º Crias um tipo Record com todos os campos que queres guardar 2º Crias um ficheiro desse tipo record 3º Ao guardares o record dentro do ficheiro, ele fica com a estrutura completa do record. Quando o fores ler, tens os tipos de dados direitinhos, prontos a usar. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Wenderson Lisboa Posted May 14, 2018 at 12:54 PM Author Report #610538 Posted May 14, 2018 at 12:54 PM (edited) Em 03/05/2018 às 19:31, nunopicado disse: Para a 1ª questão: Para usares o tab para controlar a posição do cursor, não podes usar o readln. As teclas têm de ser controladas uma a uma, para que possas controlar o que faz o tab. Assim, tens de usar a função "readkey", que lê uma tecla de cada vez, e depois controlar todo o input. Por exemplo, tens de controlar o caracter #9 (TAB) para enviares o cursor para onde desejas, controlar o caracter #8 (BackSpace) para que o utilizador possa apagar o caracter que escreveu anteriormente, controlar o #13 para finalizar a inserção de dados, e assim por aí fora. Cada chamada ao readkey devolve uma única tecla (no caso de teclas especiais, como setas por exemplo, são precisas duas leituras ao readkey para fazer uma tecla), por isso todo esse controle deverá estar dentro de um ciclo (recomendo o repeat-until). Para salvares dados de forma heterogenea, o mais fácil não é um arquivo de texto. Um arquivo de texto só guarda strings, e terás de ter algum trabalho para gerir os tipos de dados. Recomendo-te usares ficheiros binários: 1º Crias um tipo Record com todos os campos que queres guardar 2º Crias um ficheiro desse tipo record 3º Ao guardares o record dentro do ficheiro, ele fica com a estrutura completa do record. Quando o fores ler, tens os tipos de dados direitinhos, prontos a usar. Realmente você me ajudou muito, obrigado. Agora enfreto outro dilema. O DOSBOX que baixei não emula os programas que criei e estava contando com ele para poder usar em modo DOS full screen. Uso Windows 7 - 32 bits você poderia solucionar isso também. Frase de erro que aparece: "Erro, the program not run in dos mode" Edited May 14, 2018 at 12:56 PM by Wonderson Lisboa
nunopicado Posted May 14, 2018 at 09:47 PM Report #610559 Posted May 14, 2018 at 09:47 PM Experimenta entrar na 'Linha de Comandos' do Windows. Pressiona as teclas Alt + Enter Testa assim se é o que queres. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Wenderson Lisboa Posted May 14, 2018 at 10:17 PM Author Report #610560 Posted May 14, 2018 at 10:17 PM 25 minutos atrás, nunopicado disse: Experimenta entrar na 'Linha de Comandos' do Windows. Pressiona as teclas Alt + Enter Testa assim se é o que queres. Eu já usei o DOSBOX outras vezes e fazia dessa forma mas agora na versão 0.74 ele nem abre o programa, diz que o Windows 7 não suporta esse tipo de programa
nunopicado Posted May 14, 2018 at 11:59 PM Report #610562 Posted May 14, 2018 at 11:59 PM Tens de pesquisar sobre isso então. Não uso o DOSBOX há anos. 🙂 "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Wenderson Lisboa Posted May 16, 2018 at 11:51 AM Author Report #610576 Posted May 16, 2018 at 11:51 AM (edited) Em 14/05/2018 às 20:59, nunopicado disse: Tens de pesquisar sobre isso então. Não uso o DOSBOX há anos. 🙂 De toda forma já me ajudou muito, obrigado e por favor não deixé de repassar seu conhecimento à aqueles que estão começando como eu. Edited May 16, 2018 at 11:52 AM by Wonderson Lisboa
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now