Agradeço a informação, vai acrescentar meus conhecimentos. Também sou da época dos TK85/2000... MSX. Ainda tenho uma revista da Micro Sistemas, tenho uma edição que fala de Realidade Virtual com o Delphi, quem fez a matéria foi Renato Degiovane, que hoje ele tem um site de jogos feitos com o Delphi, usando ActiveX, OpenGL, etc... O site dele chama-se Club Tilt ( http://www.clubtilt.net ). Acho que você sabe. Já cheguei a conversei com ele a muito tempo atrás sobre desenvolvimento de jogos.
Blz. Rubem Rocha escreveu: > > > Essa função InKey que eu codifiquei nessa dica é usei faz uns 5 ou 6 anos > atrás pra implementar um ‘ovo de páscoa’ em um software. Funcionou bem na > época. A unit revisada ficou assim; > > unit uKbdTools; > > interface > > procedure ClearInputMessages; > > function InKey(Secs: Double): integer; overload; > > function InKey(MSecs: LongWord): integer; overload; > > implementation > > uses > > Windows, Messages; > > // Limpa mensagens de entrada (teclado e mouse) da fila de mensagens do > Windows. > > // Não existe no Windows a figura do buffer de teclado!!!! > > procedure ClearInputMessages; > > var > > Msg: TMsg; > > begin > > while PeekMessage( > > Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE or PM_QS_INPUT) do ; > > while PeekMessage( > > Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE or PM_QS_INPUT) do ; > > end; > > function InKey(Secs: Double): integer; > > var > > Msg: TMsg; > > TickCount: DWORD; > > MSecs: DWORD; > > lResult: BOOL; > > begin > > Application.ProcessMessages; > > Result := 0; > > MSecs := Trunc(Secs * 1000); > > TickCount := GetTickCount(); > > repeat > > lResult := > > PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE or PM_QS_INPUT) > > until (GetTickCount() - TickCount >= MSecs) or lResult; > > if lResult then > > Result := Msg.wParam; > > end; > > function InKey(MSecs: LongWord): integer; > > var > > Msg: TMsg; > > TickCount: DWORD; > > lResult: Boolean; > > begin > > Application.ProcessMessages; > > Result := 0; > > TickCount := GetTickCount(); > > repeat > > lResult := PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE or > PM_QS_INPUT) > > until (GetTickCount() - TickCount >= MSecs) or lResult; > > if lResult then > > Result := Msg.wParam; > > end; > > end. > > Em tempo: (1)Sobre o que vc comentou a respeito de acessar discos > rígidos, o > terreno é árido e muito infértil. Vc vai ter que pesquisar e muito > como ter > acesso a um disco rígido em baixo nível passando por cima das > prerrogativas > do sistema operacional. Parei de pesquisar por conta do meu tempo como > desenvolvedor e analista. (2)Nos meus tempos áureos de colaboração à > finada > (porém, excelente) revista Micro Sistemas, desenvolvi um utilitário em > Turbo > Pascal 5.5/6.0/7.0 que lia a MBR de um HD e salva as informações das > partições, juntamente com os parâmetros do HD lidos da memória CMOS do > setup, em um arquivo binário. Era uma maneira de tentar recuperar o > setor de > boot do disco em caso de algum problema ocasionado por vírus. Funcionou > muito bem na época. Fora algumas coisas legais que eu consegui fazer em > Clipper, como por exemplo criar classes de verdade para usar no > Clipper 5.x. > > Resumo da ópera: Eu tb já fui escovador de bits! Até programas TSR em > Pascal > e Assembly eu já fiz! (Mas o que é TSR? Wikipédia, amigo!) ;) > > Sds. > > De: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>] Em > nome de EmbarcaDelphi > Enviada em: quarta-feira, 27 de maio de 2009 20:23 > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Assunto: [delphi-br] Para: Rubem (você esqueceu?) > > E aí Rubem, > > Navegando na Net pesquisando por umas questões pouco difundidas eu me > deparei com uma mensagem sua que iria retornar, a mensagem era de 2008. > O link é este: > > http://cincobytes.net/simular-inkey-do-clipper-no-delphi/ > <http://cincobytes.net/simular-inkey-do-clipper-no-delphi/> > > Teve mais novidades a este respeito? > > Não sei em que situação poderia utilizar esta rotina, mas, acabei caindo > nesse link. > > De vez em quando eu pego uma função da API do Windows (coisa que nunca > usei e fiquei curioso) e vou navegando na internet para estudar, creio > que poucas pessoas fazem isso. É pena que muitas coisas não se encontram > no idioma português (meu inglês é muito fraco), mas vendo o código dá > para ter uma idéia do que se trata, como não uso Banco de Dados, só > busco por APIs e coisas de baixo nível. > A pouco tempo atrás eu descobri como acessar uma partição EXT2 de dentro > do Windows, podendo lêr ou gravar nesta partição, também na partição > ReiserFS. Coisa que para muitos isso seria impossível, visto que só na > linguagem C se faz., kkkkk. > > Estou fazendo uma proteção para meu programa e estou desenrolando, ainda > falta muitos ajustes, como criar a partição EXT2. > > Só queria ver como criar uma partição pelo Delphi (FAT32 e EXT2), ainda > estou pesquisando. Um dia acho algo. Se alguém souber alguma informação > a respeito então será muito bem-vinda. Teve um colega aqui na lista que > tava procurando, não sei se ele encontrou... > > Blz. > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html