Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Влпросы по созданию чата

17K
14 сентября 2006 года
prizz
12 / / 06.09.2006
Слишком много мелких вопросов возникает. Решил объединить в одну тему.

1. Как сделать, чтобы при свёртывании чат уходил в значок (размещался возле времени справа внизу)?
344
15 сентября 2006 года
Delpher
493 / / 14.08.2005
[quote=prizz]Слишком много мелких вопросов возникает. Решил объединить в одну тему.[/quote]

1. Как сделать, чтобы при свёртывании чат уходил в значок (размещался возле времени справа внизу)?
17K
15 сентября 2006 года
prizz
12 / / 06.09.2006
А если у меня нет компонента TrayIcon и нельзя установить библиотеку с ним?
344
15 сентября 2006 года
Delpher
493 / / 14.08.2005
[quote=prizz]А если у меня нет компонента TrayIcon[/quote]

только что выложил

[quote=prizz] нельзя установить библиотеку с ним?[/quote]


вот что нашел по трею за пару минут в инете

Код:
const  WM_NOTIFYTRAYICON = WM_USER + 1;
...
private  procedure WMTRAYICONNOTIFY(var Msg: TMessage); message WM_NOTIFYTRAYICON;
...
uses  ShellAPI;
 
procedure TForm1.WMTRAYICONNOTIFY(var Msg: TMessage);
var  s: string;
begin
 case Msg.LParam of  
 WM_MOUSEMOVE:     s := 'Мышь сдвинута';    
WM_LBUTTONDOWN:   s := 'Левая кнопка нажата';    
WM_LBUTTONUP:     s := 'Левая кнопка отпущена';    
WM_LBUTTONDBLCLK: s := 'Два раза нажата левая кнопка';    
WM_RBUTTONDOWN:   s := 'Правая кнопка нажата';    
WM_RBUTTONUP:     s := 'Правая кнопка отпущена';    
WM_RBUTTONDBLCLK: s := 'Два раза нажата правая кнопка';    
else              
s := IntToStr(Msg.LParam);  
end;
 ListBox1.Items.Add(s);  
ListBox1.ItemIndex := ListBox1.Items.Count - 1;
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
var  tray: TNotifyIconData;  
Ic: TIcon;begin  
Ic := TIcon.Create;  
Ic.LoadFromFile('Icon1.ico');  
with tray do  
begin  
 cbSize := SizeOf(TNotifyIconData);  
 Wnd := Form1.Handle;    
uID := 1;  
 uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;  
 uCallBackMessage := WM_NOTIFYTRAYICON;    
hIcon := Ic.Handle;    
szTip := ('Это наша иконка');  
end;  
Shell_NotifyIcon(NIM_ADD, Addr(tray));  
Ic.Destroy;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
var  tray: TNotifyIconData;
 Ic: TIcon;
begin  
Ic := TIcon.Create;
 Ic.LoadFromFile('Icon2.ico');
 with tray do  
begin    
cbSize := SizeOf(TNotifyIconData);    
Wnd := Form1.Handle;  
  uID := 1;    
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
 uCallBackMessage := WM_NOTIFYTRAYICON;    
hIcon := Ic.Handle;    
szTip := ('Это другая иконка');  
end;  
Shell_NotifyIcon(NIM_MODIFY, Addr(tray));
 Ic.Destroy;
end;
 
 
procedure TForm1.FormDestroy(Sender: TObject);
var  tray: TNotifyIconData;
begin  with tray do  
begin    
cbSize := SizeOf(TNotifyIconData);    
Wnd := Form1.Handle;    
uID := 1;  
end;  
 
Shell_NotifyIcon(NIM_DELETE, Addr(tray));
end;
17K
15 сентября 2006 года
prizz
12 / / 06.09.2006
Сделал с помощью CoolTrayIcons
17K
16 сентября 2006 года
prizz
12 / / 06.09.2006
Как добавить чат в автозагрузку? (программно)
303
18 сентября 2006 года
makbeth
1.0K / / 25.11.2004
Для добавления программы в автозагрузку, надо добавить в ветку реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run строковый ключ: <имя программы>=<путь_к_exe><имя_файла>.exe [<параметры_запуска>]
HKEY_CURRENT_USER - для текущего пользователя, HKEY_LOCAL_MACHINE - для всех пользователей.
339
18 сентября 2006 года
verybadbug
619 / / 12.09.2005
или создать ярлык в Все программы-Автозагрузка...
Код:
uses ShlObj, ComObj, ActiveX;
 
  procedure CreateLink(const PathObj, PathLink, Desc, Param: string);
  var
    IObject: IUnknown;
    SLink: IShellLink;
    PFile: IPersistFile;
  begin
    IObject := CreateComObject(CLSID_ShellLink);
    SLink := IObject as IShellLink;
    PFile := IObject as IPersistFile;
    with SLink do begin
      SetArguments(PChar(Param));
      SetDescription(PChar(Desc));
      SetPath(PChar(PathObj));
    end;
    PFile.Save(PWChar(WideString(PathLink)), FALSE);
  end;


Код:
var
  FolderPath :string;

Registry := TRegistry.Create;
try
 Registry.RootKey := HKey_Current_User;
 Registry.OpenKey('Software\Microsoft\Windows\'+
  'CurrentVersion\Explorer\Shell Folders', False);
 FolderName := Registry.ReadString('Startup');
finally
 Registry.Free;
end;
17K
18 сентября 2006 года
ProteZ
18 / / 18.09.2006
Не подскажете как сделать мигающим строку "внизу"(лучше названия не придумал)? Ну типа как в асе, когда сообщние приходит, строка внизу(:D) мигать начинает, типа активна
17K
18 сентября 2006 года
s$s
25 / / 05.09.2006
добавляешь новую иконку, и по таймеру ее меняешь, а когда WM_LBUTTONDOWN или другое событие, убираешь значок с таскбара. Код см вверху/\
713
18 сентября 2006 года
Ap0k
360 / / 13.03.2006
FlashWindow(HWND,BOOL) function [Base]
339
23 сентября 2006 года
verybadbug
619 / / 12.09.2005
окошку нужно сказать, чтоб он сделал FLASH.... точно не помню чё там да как.... глянь MSDN....
17K
23 сентября 2006 года
ProteZ
18 / / 18.09.2006
вопрос:
А в WinSock можно, чтоб сервер и клиент был запущен на одной машине? Ну при старте должно быть связывание локальной "адресовой" структуры с сокетом. Но при запущенном сервере, при запуске клиента вылезает ошибка функции bind.
303
25 сентября 2006 года
makbeth
1.0K / / 25.11.2004
Можно, и должно работать без проблем. Ты бы уж ошибка что-ли сказал какая...
А так, попробуй клиента привязывать на другой порт...
17K
26 сентября 2006 года
ProteZ
18 / / 18.09.2006
Есть вопросик интересный. А как в например в TMemo или ещё куда добавлять рисунки? ну там смайлики и т.д.
303
27 сентября 2006 года
makbeth
1.0K / / 25.11.2004
В memo нельзя, используй TRichEdit - туда можно всякого навставлять ;)
23K
26 октября 2006 года
Emerald
1 / / 26.10.2006
Расскажите про сетевой чат поподробнее, плз. Или дайте ссылки, кто может
4.9K
26 октября 2006 года
77713
43 / / 22.02.2006
[QUOTE=Emerald]Расскажите про сетевой чат поподробнее, плз. Или дайте ссылки, кто может[/QUOTE]

Книга есть такая - Delphi глазами хакера (ссылка Delphi глазами Хакера.pdf)

Там есть глава 4, п.6, страница 162 - "Чат для локальной сети".
5.1K
29 ноября 2006 года
saturn61
108 / / 25.10.2006
Прива, Народ!
Пытаюсь сделать чтобы комп в сети (глобальной) получил сообщение.
Вот код на сервере. На сервере активируется Сокет и ждет сообщение.
Вот оно долгожданное приходит и тогда......
 
Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
 s:String;
begin
   ......................
 s:= Socket.ReceiveText;
 ShowMessage(S);
   ......................
end;


Вот клиентская часть. Вводим IP, набираем сообщение и давим на кнопку отправить......
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
  .................................
clientsocket1.Address:=edit1.text;//Воодим IP другого компа
clientsocket1.active:=true;
s:=Memo1.Lines.CommaText; //Тут текст, который хотим отправить
clientsocket1.Socket.SendText(s); //Отправляем
clientsocket1.active:=false;
  ..................................
end;


Думал будет работать, ан нет!
Говорит "Asyncronous socket error 10060", чё делать? Где баги?
355
29 ноября 2006 года
&lt;SCORP&gt;
786 / / 21.10.2006
я сам натыкался на эти грабли. но щас не помню как надо писать. вообще, там ничего сложно нету. просто почитай доки -- так всё это есть!!!

http://www.codenet.ru/progr/bcb/sockets.php
здесь C++ Builder, но принцип, думаю, будет понятен
547
30 ноября 2006 года
Hydra
488 / / 20.06.2006
Проверь свойства ServerType и Client type. А вообще ошибка 10060 -сервер не отвечает.
5.1K
04 декабря 2006 года
saturn61
108 / / 25.10.2006
а вообще реально с помощью Socket`ов через инет чат сделать?
Если да, то какой ип использовать,а то их навалом и не какой не работает!!! :mad:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог