Форум: "Сети";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
ВнизСеть в консоле Найти похожие ветки
← →
mktl (2003-10-16 17:33) [0]Народ!
Подскажите, пожалуйста, как в консольном приложении работать с сетью???
← →
KDS (2003-10-16 19:11) [1]Создавать компоненты не в дизайн тайм, а в рантайм
типа
......
var ClientSocket1:TClientSocket;
........
try
ClientSocket1:=TClientSocket.Create(nil);
ClientSocket1.Host:=
Host.Address:=
....
finally
ClientSocket1.Free;
end;
← →
Digitman (2003-10-17 13:29) [2]
> как в консольном приложении
точно так же как и в любом другом
← →
mktl (2003-10-21 09:27) [3]Извините, может я сморожу глупость, а как обрабатывать события подключения и т.п. в консольном приложении?
← →
Digitman (2003-10-21 10:03) [4]в ран-тайм программно назначь событиям OnConnect() и OnError() процедуры обработки, являющиеся соответствующими допустимыми методами любого существующего объекта
TMyObject = class
...
procedure OnConnect(Sender: TObject; Socket: TCustomWinSocket);
...
end;
...
var MyObject: TObject; Msg: TMsg;
...
MyClientSocket.OnConnect := MyObject.OnConnect;
MyClientSocket.Open;
while GetMessage(Msg, 0, 0, 0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
← →
mktl (2003-10-22 11:25) [5]Спасибо, помогло.
А как обработать события клавиатуры???
← →
Digitman (2003-10-22 12:08) [6]
> mktl
при старте приложения создай доп.код.поток
в нем создавай гнездо, настраивай его как тебе нужно, вызывай метод коннекта и далее - цикл обработки сообщений
после создания доп.код.потока работай с конс.вводом/выводом как обычно - Readln/writeln и т.д. и т.п.
при завершении конс.приложения сначала корректно терминируй доп.код.поток (если он еще работает на этот момент) и дождись его завершения
← →
mktl (2003-10-22 13:49) [7]А что делать, есл мне нужно считывать по одному символу, или коду?? Возможно ли позиционирование курсора в окне консоле, изменение цвета, считывание данных с экрана и т.п.??
← →
Digitman (2003-10-22 14:24) [8]
> А что делать, есл мне нужно считывать по одному символу,
> или коду?? Возможно ли позиционирование курсора в окне консоле,
> изменение цвета, считывание данных с экрана и т.п.??
А какое отношение имеет все это к теме изначально заданного вопроса ? Работа с конс.приложением и его ресурсами - это одна отдельная тема, а работа с сетью и сет.ресурсами - совершенно другая, никак не касающаяся системных механизмов работы с консолью...
пересекаются эти две темы лишь в одном : если работа с Winsock-объектами организована с использованием неблок.асинхр.режима с использованием механизма оконных нотификаций о событиях сетев.тренспорта (этот режим и механизм по умолчанию устанавливается при создании VCL-объектов TServerSocket/TClientSocket), то при организации такой работы в консольном приложении требуется явная организация цикла выборки/диспетчеризации оконных сообщений в том кодовом потоке, который создает Winsock-объект[ы]
← →
mktl (2003-10-22 16:55) [9]Сперва у меня была главной проблемой коннект из консольного окна к серверу. Эту проблему я решил с вашей помощью, а теперь я столкнулся с тем, что мне необходимо считывать с клавиатуры по одному символу, а так же управлять цветом символов на экране и т. п.
Я согласен с Digitman-ом, что это уже не относится к сети... Но как продолжение темы я здесь и писал...
А где ещё можно найти подобную информацию??
← →
Digitman (2003-10-22 17:00) [10]
> где ещё можно найти подобную информацию??
msdn.microsoft.com
← →
Polevi (2003-10-22 17:00) [11]Win32 programmer"s reference / Console function
← →
Digitman (2003-10-22 17:07) [12]
> mktl
объясни, чем вообще обоснован выбор тобой именно консольного, а не GUI- приложения
← →
mktl (2003-10-22 17:21) [13]Выбор обосновывается тем, что необходимо написать эмулятор терминала с нестандартной системой команд. Через GUI что-то тормозит прорисовка символов (а ожет я тормозил когда писал), пробовал через TDXForm-там не смог использовать некоторые нестандартные шрифты... Решил попробовать в консольном режиме...
← →
Digitman (2003-10-22 17:26) [14]
> необходимо написать эмулятор терминала
обычный TMemo в обычном GUI-приложении справляется с задачей визуализации "терминальной консоли" ничуть не хуже , чем консольное окно в конс.приложении
> Через GUI что-то тормозит прорисовка символов
значит, алгоритм твой некорректен
← →
mktl (2003-10-22 17:31) [15]согласен, что алгоритм пересмотреть нужно...
А MEMO не подходит, так как там есть позиционирование курсора и установка цвета на различные символы...
← →
Digitman (2003-10-22 17:38) [16]в TMemo позиц-е курсора есть
если нужно работать с цветом, то - TRichEdit
← →
mktl (2003-10-22 17:48) [17]Спасибо. :)
Попробую в TRichEdite Менять цвета отдельных символов.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c