Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Программа эмулятор консоли - помогите (Delphi) (http://www.tehnari.ru/f43/t23731/)

abv-lam 12.04.2009 14:24

Программа эмулятор консоли - помогите (Delphi)
 
Делаю игрушку - эмулятор консоли. Команды свои, с этим понятно. А вот что бы мемо выглядела как консоль... т.е. если я определяю префикс в строке (pesothnica@user>) каретка переводиться на следующую строку. Вернуть обратно не получается. листинг ниже...

Procedure SetCaretPosition(memo:TMemo; x,y:integer);

var i:integer;

begin
i := SendMessage(memo.Handle, EM_LINEINDEX, y, 0) + x;
SendMessage(memo.Handle, EM_SETSEL, i, i);
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);

var
LineNumber:integer;

begin
if key=#13 then
begin
LineNumber:=Memo1.Perform(EM_LINEFROMCHAR, -1, 0);
form1.Memo1.Lines[Memo1.Lines.Count-1]:='pesothnica@user> ';
SetCaretPosition(form1.Memo1,16 ,lineNumber+1);
end;
end;

может у кого какие идеи есть?


Часовой пояс GMT +4, время: 21:25.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.