Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Как мне из Memo сделать наподобие терминалки?   Найти похожие ветки 

 
MadGhost ©   (2005-01-28 22:51) [0]

приветствую многоуважаемые гуру.
вопрос у меня возник следующий :( сам чет не могу решить, хотя попытки продолжаются.

вопрос в следующем.
на основе сокетов создал две формочки с Мемо, клиент цепляется к серверу отсылает скажем слово connect, сервер на это отсылает клиенту login: и ждет от него ввода логина, потом пароля. логин и пароль, и последующие команды надо вводить в Мемо, по другому получается не красиво увы :( как мне организовать сабж? т.е. ввести в мемо логин, нажать ентер, и чтобы обработчик ентер распознал что я ввел только что логин, т.е. получается какую то разность между предыдущим количеством символов в мемо и текущую, вырезает, и отсылает серверу.
Как установить курсор у мемо в конец, как определить длину мемо? ну и вообще соображения на эту тему, был бы признателен.


 
palva ©   (2005-01-29 01:32) [1]

Проще сделать, чтобы ввод осуществлялся в фиксированную нижнюю строку, а потом дублировался и скроллировался в мемо, как это сделано в FAR. Конечно, тогда нельзя ходить курсором по уже выполненным командам и нажимать на Ентер, как это можно делать в командном окне FoxPro, но зато не придется реализовывать сложную и непривычную логику обработки таких ентеров.


 
MadGhost ©   (2005-01-29 02:28) [2]

ну в принципе то я уже сделал правда через заднее место :).
ну не знаю как вычислить длину memo кроме как

var stroka:String;
 size:Integer;
begin
stroka:=Memo1.Text;
size:=Length(stroka);
end;

в общем когда начиная ввод вычисляю длину Memo потом сравниваю после ввода, вычитаю, через Copy в отдельную переменную вот как бы и ввод получается, если длина не изменилась или стала меньше, ничего не делаю.

А как понять фиксированая нижняя строка?


 
aus   (2005-01-29 04:43) [3]

MadGhost ©   (29.01.05 2:28) [2]
А как понять фиксированая нижняя строка?


TEdit под TMemo.
Можно еще попробовать отслеживать нажатия клавишь, проще чем работа с мемо, на мой взгляд.


 
GrayFace ©   (2005-01-29 05:15) [4]

aus   (29.01.05 4:43) [3]
Можно еще попробовать отслеживать нажатия клавишь, проще чем работа с мемо, на мой взгляд.

А выводить?


 
Anatoly Podgoretsky ©   (2005-01-29 14:09) [5]

Что выводить? Не прояснишься?


 
Knight ©   (2005-01-29 19:48) [6]

Ввесли переменную, типа, StartCmdStr и перед вводом новой команды присваивать ей значение Memo1.SelStart;
В KeyPress проверять алфавитные клавиши, в KeyDown - остальные, не забывая, проверять, чтобы Memo1.SelStart было меньше StartCmdStr.

При Key=13 брать команду, добавлять новую строку с приглашением, сбрасывать начальную позицию...

CMD:=Copy(Memo1.Lines.Text,CmdStartPos+1,Length(Memo1.Lines.Text)-CmdStartPos);
Memo1.Lines.Append("TERM>");
CmdStartPos:=Memo1.SelStart; //Length(Memo1.Lines.Text);


Обязательно сделать Мемо чёрного цвета, а фонт - зелёным... :)


 
Knight ©   (2005-01-29 19:53) [7]

Memo1.SelStart было больше StartCmdStr
// думаю, что все поняли, но на всякий случай... :)



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1107244119
SerKom
2005-02-01 10:48
2005.02.13
Чтобы выделенный текст оставался выд-м при вызове др. формы?


1-1106941909
MadGhost
2005-01-28 22:51
2005.02.13
Как мне из Memo сделать наподобие терминалки?


14-1106412049
vecna
2005-01-22 19:40
2005.02.13
Ну вот, купил я се КПК


8-1099300988
_none_
2004-11-01 12:23
2005.02.13
Компонент/библиотека для работы с многостраничными PSD


3-1105975334
andrey111
2005-01-17 18:22
2005.02.13
Изменение высоты PageFooter