Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Net Chat 
:(
    Опции темы
c1ber
Дата 21.4.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



хочу сделать чтобы при запуске приложения появлялось окно для ввода ника,который будет уже в чате и чтобы история в файл сохранялась. кто сможет в этом помочь?

Это сообщение отредактировал(а) c1ber - 21.4.2010, 12:53

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  Net_Chat.zip 217,79 Kb
PM MAIL WWW ICQ   Вверх
kami
Дата 21.4.2010, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(c1ber @  21.4.2010,  12:52 Найти цитируемый пост)
чтобы при запуске приложения появлялось окно для ввода ника

В DRKB есть примеры создания Splash-заставки. Вместо картинки подставить два Tedit для логина и пароля, сделать не Show а ShowModal, передать полученное куда нужно.
Цитата(c1ber @  21.4.2010,  12:52 Найти цитируемый пост)
чтобы история в файл сохранялась.

А что не получается? Создать файл, записать переписку, или прочитать записанное?

Без обид, но постановка вопроса звучит как 
Цитата

  - Здесь что-то не работает. 
  - Что не работает?
  - Вот вы и разберитесь, что не работает!

PM MAIL WWW   Вверх
c1ber
Дата 21.4.2010, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



а как сделать чтобы файл создавался автоматически?и запись шла туда
DRKB я скачать не могу,путая страница выходит((
PM MAIL WWW ICQ   Вверх
kami
Дата 22.4.2010, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(c1ber @  21.4.2010,  23:24 Найти цитируемый пост)
как сделать чтобы файл создавался автоматически?

Чтобы файл создавался автоматически, его нужно создать, скорее всего - при инициализации чата.
Например, в OnCreate основной формы.
Цитата(c1ber @  21.4.2010,  23:24 Найти цитируемый пост)
и запись шла туда

Я думаю так:
1. Найти в коде, где производится вывод сообщений на экран, в один из компонентов формы чата (код не качал - не хочу лазить по дебрям, тем более - не Вашим).
2. Включить туда кроме вывода на экран вывод в свой "автоматически созданный файл".
Вот только прежде чем писать вывод в файл, нужно определиться с форматом вывода. Ведь потом эту историю придется как-то отображать. Посему нужно предусмотреть к записи всё, что может понадобиться при отображении - к примеру имя пользователя, время сообщения, кому адресовано и т.п...

Добавлено через 1 минуту и 38 секунд
Цитата(c1ber @  21.4.2010,  23:24 Найти цитируемый пост)
DRKB я скачать не могу,путая страница выходит((

Ну так... это описано много где Создать Splash-форму на Delphi
PM MAIL WWW   Вверх
c1ber
Дата 2.6.2010, 21:52 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



1) как вывести в отдельном окне все ip компов у которых включена программа и можно было выбирать их

2) как отправлять запрос который не будет виден в пользователям?
PM MAIL WWW ICQ   Вверх
kami
Дата 2.6.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(c1ber @  2.6.2010,  21:52 Найти цитируемый пост)
как вывести в отдельном окне все ip компов у которых включена программа и можно было выбирать их

Задача раскладывается на тривиальные:
1. Узнать, где в коде программы хранятся/откуда можно получить все IP.
2. Определиться, куда (в какой компонент) выводить их
3. Создать новую форму и выбранный компонент на ней
4. Заполнить компонент всеми имеющимися IP.
5. При подключении/отключении программы на одном из компьютеров в сети - обновлять список IP
С каким этапом проблемы?
В дополнение - при выборе метода отображения и хранения адресов стоит задуматься о том, что скорее всего по "выделенному" адресу из полного списка нужно будет отправлять приватное сообщение. Так вот - "вычленение" выделенного адреса и нахождение соответствующего ему корреспондента должно проходить максимально просто, но - не в ущерб удобству пользования программой. 

Цитата(c1ber @  2.6.2010,  21:52 Найти цитируемый пост)
как отправлять запрос который не будет виден в пользователям?

Как вариант - отправлять как обычно (или добавить к запросу какой-нибудь префикс "скрытия". На приеме перед выводом запроса пользователю проверять наличие этого префикса/другого признака скрытого сообщения, и принимать решение - показывать его пользователю или нет.
PM MAIL WWW   Вверх
c1ber
Дата 3.6.2010, 20:42 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



вот как раз я и хотел узнать какой префикс использовать
PM MAIL WWW ICQ   Вверх
kami
Дата 3.6.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(c1ber @  3.6.2010,  20:42 Найти цитируемый пост)
хотел узнать какой префикс использовать

Класс. Вот только это вопрос к тебе. Только ты сможешь ответить, какой префикс/суффикс тебе будет проще обработать + гарантировать, что он 100% не попадется в сообщении пользователя, во избежание ложных срабатываний. Ко всему прочему он не должен занимать много места, для не-сильного утяжеления трафика.
Скорее всего, он должен состоять из уникальной (невозможной к появлению в сообщении пользователя) комбинации символов + флага, обозначающего у какого пользователя оно (сообщение) все-таки должно отобразиться.
PM MAIL WWW   Вверх
c1ber
Дата 4.6.2010, 11:04 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



kami, ты не понял меня! я хочу узнать как этот префикс отправлять,чтобы он не отображался,алгоритм то я давно продумал,мне бы код примерный отправки этого запроса
PM MAIL WWW ICQ   Вверх
Exai1e
Дата 4.6.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: нет
Всего: 30



c1ber, это ты не понимаешь что тебе нужно.
Например если ты отправляешь сообщения формата:

|какой суффикс|ID клиента|текст сообщения|

где:
какой то суффикс может быть например:
A - отправить всем
P - приватное сообщение

ID клиента:
может быть к примеру ник, а если поле пустой - то сообщение отправляется всем в чат

текст сообщения, думаю с этим понятно
следовательно, у сообщения у тебя могут получиться:
|A|пустой|Всем привет|
или
|P|VasyaPupkin|Привет Васек|
на сервере парсиш сообщение, если сервер хранит список ники-айпи, то после получения суффика P и ника, сервер может отослать данные определенному клиенту, если суффикс A то сервер отсылаеш сообщение всем.
Как то так, думаю идея ясна


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
c1ber
Дата 4.6.2010, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



Exai1e, спасибо за новую идею,я чуток по другому представлял себе это,слишком по мудрому)))
PM MAIL WWW ICQ   Вверх
c1ber
Дата 4.6.2010, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 1.3.2010
Где: Уфа

Репутация: нет
Всего: нет



вот еще вопрос: как после очистки поля ввода вернуть каретку в начало?
Редактировать/Удалить сообщение
Код

procedure TForm1.RichEdit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
  var
 str,a: string;
begin
 StaticText1.Caption:=IntToStr(RichEdit2.GetTextLen+1);
 if (GetKeyState(VK_CONTROL) >= 0) and (Key = 13) then  // Если пользователь нажал Enter
 begin
 str:=#13#149' '+Nick+' '+'('+TimeToStr(DateTimePicker1.Date)+' '+DateToStr(DateTimePicker1.Date)+')'; // составляем сообщение
 a:=RichEdit2.text;
 AddText(RichEdit1, str+#13, True, clblue);   //выводим логин и дату
 AddText(RichEdit1, a, false, clblack);   //выводим сам текст
 RichEdit2.Clear;                    //Чистим поле ввода
 PlaySound('SND1', 0, SND_RESOURCE or SND_ASYNC);  //звук отправки
 NET_Clear;                      // чистим сетевой буфер
 //NET_Write(@str[1], Length(Str));  // пишем данные
 NET_Send(nil, 21666, false);      // посылаем их широковещательным пакетом
 StaticText1.Caption:='0';
 end;
end;

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0797 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.