MS-DOS para texto
Alguém sabe se tem como pegar o conteúdo de uma janela do tipo MS-DOS e transformá-lo para texto? Parece loucura, né?! Mas é realmente o que preciso... agradeço a atenção!
Pedro
Pedro
Peununes
Curtidas 0
Respostas
Aroldo Zanela
06/01/2004
Colega,
Encontrei este código na Web mas não funcionou com o W2K. Se tiver o W98, faça um teste:
Encontrei este código na Web mas não funcionou com o W2K. Se tiver o W98, faça um teste:
var HCon: THandle; CSBI: TConsoleScreenBufferInfo; Line: String; Lines: TStringList; i: Integer; StartPos: TCoord; BytesRead: Cardinal; begin HCon := GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(HCon, CSBI); Lines := TStringList.Create; try StartPos.X := 0; for i := 0 to CSBI.dwSize.Y - 1 do begin SetLength(Line, CSBI.dwSize.X); StartPos.Y := i; ReadConsoleOutputCharacter(HCon, PChar(Line), CSBI.dwSize.X+1, StartPos, BytesRead); Lines.Add(Line); end; Clipboard.AsText := Lines.Text; finally Lines.Free; end; end;
GOSTEI 0
Nildo
06/01/2004
Aroldo, essa sua função funciona assim:
Se você estiver fazendo uma aplicação do tipo Console, ela vai copiar para a area de transferencia o conteudo de sua janela Console.
Se você estiver fazendo uma aplicação do tipo Console, ela vai copiar para a area de transferencia o conteudo de sua janela Console.
GOSTEI 0
Cebikyn
06/01/2004
Tem um componente, o TDOSCommand, que não só pega o conteúdo da janela, como tb envia texto à mesma, se necessário. O componente (com código fonte) pode ser obtido em:
[b:68534a43db]TDOSCommand[/b:68534a43db]
http://maxxdelphisite.free.fr/doscmd.htm
O texto, na forma de string, é recebido no evento OnNewLine do componente.
[b:68534a43db]TDOSCommand[/b:68534a43db]
http://maxxdelphisite.free.fr/doscmd.htm
O texto, na forma de string, é recebido no evento OnNewLine do componente.
GOSTEI 0
Peununes
06/01/2004
Deu o seguinte erro:
[Error] Unit1.pas(48): Undeclared identifier: ´Clipboard´
[Fatal Error] Project2.dpr(5): Could not compile used unit ´Unit1.pas´
Claro, não está reconhecendo o argumento ´Clipboard´. Será que tem que ser escrito de uma outra forma? Tentei mandar o texto para um objeto Memo, mas não funcionou...
Obrigado
Pedro
[Error] Unit1.pas(48): Undeclared identifier: ´Clipboard´
[Fatal Error] Project2.dpr(5): Could not compile used unit ´Unit1.pas´
Claro, não está reconhecendo o argumento ´Clipboard´. Será que tem que ser escrito de uma outra forma? Tentei mandar o texto para um objeto Memo, mas não funcionou...
Obrigado
Pedro
GOSTEI 0