plikts Postado Outubro 23, 2006 Denunciar Share Postado Outubro 23, 2006 Oi!Desculpe se estou postando no local errado, mas como aqui o pessoal mexe com Delphi, devem conhecer um pouco do Turbo Pascal pelo menos(eu acho).Bem.Em primeiro lugar, o Turbo Pascal 7 é Orientado a objeto?Existe algum compilador para Pascal melhor e mais completo?Comando como KBD e BufLen(controle teclado) não funcionam no Turbo Pascal 7, como faço para eles funcionarem?bibliotecas para download?Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thales Pontes Martins Postado Outubro 23, 2006 Denunciar Share Postado Outubro 23, 2006 opaEm primeiro lugar, o Turbo Pascal 7 é Orientado a objeto?Com certeza é orientado a objeto, mas lá não existem class, somente object.A diferença é que tipos class são ponteiros, e é preciso alocar memória e inicializar um objeto e depois colocar o endereço nesse ponteiro, exemplo: var List : TStringList; begin List := TStringList.Create; . . . nesse caso o construtor create cria o objeto na memória e coloca o endereço no ponteiro List. E no Turbo Pascal 7 existem os objetos-> type TClockView = object(TView) a, b, c : integer; procedure Update; . . . nesse caso quando você declara uma var desse tipo, não está declarando um ponteiro, mas sim alocando todo o registro, não sendo necessário o construtor. Para usar de maneira semelhante as classes você pode usar um contrutor e usar a função new para alocar para o ponteiro -> type PClockView = ^TClockView; TClockView = object(TView) a, b, c : integer; constructor create(Rect : TRect); destructor destroy; procedure Update; . . . var Clock : PClockView; begin Clock:=new(PClockView,Create(r)); Clock^.Update; . . . Assim é como se o ponteiro Clock fosse uma classe. Existe algum compilador para Pascal melhor e mais completo? Não acredito. Se você tiver a versão completa do Turbo Pascal 7 verá que é muito boa. Se quiser posso te enviar por email. Comando como KBD e BufLen(controle teclado) não funcionam no Turbo Pascal 7, como faço para eles funcionarem?bibliotecas para download? Básicamente se interceptam menssagens pelo teclado no Turbo Pascal pela função ReadKey que retira uma tecla do buffer do teclado. O buffer do DOS tem tamanho máximo de 15 bytes e é uma referencia circular que se encontra no endereço $0040:$001E. O byte em $0040:$001A aponta para o início dessa fila e o byte em $0040:001C aponta para a posição livre no final da fila. Então para limpar o buffer é só fazer -> mem[$0040:$001A]:=mem[$0040:001C];Certo?Qualquer dúvida fala aí. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 plikts Postado Outubro 23, 2006 Autor Denunciar Share Postado Outubro 23, 2006 Cara, muito obrigado, você parece saber bem de Pacal, TP e etc.Por favor, me manda o TP pelo e-mail? fabiorubim@hotmail.com e se quiser me add tmb.Obrigado novamente! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thales Pontes Martins Postado Outubro 23, 2006 Denunciar Share Postado Outubro 23, 2006 já enviei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 plikts Postado Outubro 23, 2006 Autor Denunciar Share Postado Outubro 23, 2006 já recebi.Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
plikts
Oi!
Desculpe se estou postando no local errado, mas como aqui o pessoal mexe com Delphi, devem conhecer um pouco do Turbo Pascal pelo menos(eu acho).
Bem.
Em primeiro lugar, o Turbo Pascal 7 é Orientado a objeto?
Existe algum compilador para Pascal melhor e mais completo?
Comando como KBD e BufLen(controle teclado) não funcionam no Turbo Pascal 7, como faço para eles funcionarem?bibliotecas para download?
Obrigado.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.