Лучший чат вместе с программой relcom
- Sonic
- Старожил
- Сообщения: 487
- Зарегистрирован: 17 янв (Пн) 2005, 13:37
- Откуда: Семипалатинск
- Контактная информация:
Лучший чат вместе с программой relcom
Люди качайте программу для чатовского релкома!
Быстрота! Надежность! Уникальность! Убодность!
http://kainar.h14.ru/programs/relcom.exe[/img]
Быстрота! Надежность! Уникальность! Убодность!
http://kainar.h14.ru/programs/relcom.exe[/img]
Сонымен бiттi... Ал жарайды сау бол...
- Sonic
- Старожил
- Сообщения: 487
- Зарегистрирован: 17 янв (Пн) 2005, 13:37
- Откуда: Семипалатинск
- Контактная информация:
---главная форма
Код: Выделить всё
unit Urelcom;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, Psock, NMHttp, Menus, ExtCtrls, ComCtrls,Registry,
Buttons, jpeg;
type
TForm1 = class(TForm)
CSID: TClientSocket;
Cwho: TClientSocket;
CGo: TClientSocket;
Cquit: TClientSocket;
Csend: TClientSocket;
Cmain: TClientSocket;
GetWho: TButton;
OnlyText: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
Bsid: TMenuItem;
Bgo: TMenuItem;
Bwho: TMenuItem;
Bmain: TMenuItem;
Bquit: TMenuItem;
page: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
EWho: TEdit;
Bsend: TButton;
Memo1: TMemo;
GroupBox1: TGroupBox;
ListBox1: TListBox;
TMain: TTimer;
Panel2: TPanel;
Ign: TCheckBox;
Pgo: TPanel;
Label1: TLabel;
Enick: TEdit;
Label2: TLabel;
Ecomment: TEdit;
Ago: TButton;
Label3: TLabel;
N2: TMenuItem;
Ani: TAnimate;
Panel3: TPanel;
Label4: TLabel;
Label5: TLabel;
Emessage: TComboBox;
N3: TMenuItem;
Op: TOpenDialog;
SpeedButton1: TSpeedButton;
N4: TMenuItem;
N5: TMenuItem;
Font: TFontDialog;
N6: TMenuItem;
ASCIII1: TMenuItem;
N7: TMenuItem;
Lerr: TLabel;
mult: TMenuItem;
PopupMenu1: TPopupMenu;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
Pmain: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure BSIDClick(Sender: TObject);
procedure CSIDError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure CSIDRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CSIDWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure CSIDDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure BgoClick(Sender: TObject);
procedure BwhoClick(Sender: TObject);
procedure BquitClick(Sender: TObject);
procedure CGoWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure CwhoWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure CGoRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CwhoRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CGoDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure CwhoDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure CquitRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CquitWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure BsendClick(Sender: TObject);
procedure CsendRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CsendWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure CsendDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure BmainClick(Sender: TObject);
procedure CmainDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure CmainRead(Sender: TObject; Socket: TCustomWinSocket);
procedure CmainWrite(Sender: TObject; Socket: TCustomWinSocket);
procedure GetWhoClick(Sender: TObject);
procedure CquitDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ListBox1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure OnlyTextClick(Sender: TObject);
procedure EmessageKeyPress(Sender: TObject; var Key: Char);
procedure Form1Create(Sender: TObject);
procedure Memo1DblClick(Sender: TObject);
procedure EWhoDblClick(Sender: TObject);
procedure IgnClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure CGoConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CmainConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CquitConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CsendConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CSIDConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CwhoConnecting(Sender: TObject; Socket: TCustomWinSocket);
procedure CsendConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N3Click(Sender: TObject);
procedure CsendError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure BsendKeyPress(Sender: TObject; var Key: Char);
procedure N4Click(Sender: TObject);
procedure ASCIII1Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure multClick(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure MenuItem5Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
procedure MenuItem1Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const reg='\software\yeldars\chat\relcom\1.0\';
title='Семипалатинский городской чат';
var
who:Tcaption;
host,tmp,str:string;
prib:integer;
accept,send,port,errors:integer;
noconnect:boolean;
sid,nn,data:string;Form1: TForm1;
implementation
uses Uconf, UMsend, Unit1;
{$R *.dfm}
function HTTPTran(St : String) : String;
var i : Integer;
begin
Result:='';
for i:=1 to length(St) do
if St[i] in ['a'..'z','A'..'Z','0','1'..'9'] then
Result:=Result+St[i]
else if St[i]=' ' then
Result:=Result+'+'
else
Result:=Result+'%'+IntToHex(Byte(St[i]),2);
end;
procedure TForm1.ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
errorcode:=0;
end;
procedure TForm1.BSIDClick(Sender: TObject);
begin
Csid.Active:=false;
data:='HEAD http://www.relcom.kz/chat/ HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10#13#10;
CSID.Host:=host;
CSID.Port:=port;
CSID.Active:=true;
bsid.Enabled:=false;
end;
procedure TForm1.CSIDError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
end;
procedure TForm1.CSIDRead(Sender: TObject; Socket: TCustomWinSocket);
var s:string;
i:integer;
begin
noconnect:=false;
s:=Socket.ReceiveText;
accept:=length(s)+accept;
i:=pos('JSESS',s)+11;
if i=11 then
begin
showmessage('Невозможно подключиться к серверу');
noconnect:=true;
end;
sid:=copy(s,pos('JSESS',s)+11,12);
memo1.Lines.Add('Идет подключение к Чату....');
end;
procedure TForm1.CSIDWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
send:=send+length(data);
Socket.SendText(data);
end;
procedure TForm1.CSIDDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
if noconnect then exit;
errors:=0;
ani.visible:=false;
pgo.Visible:=true;
bgo.Enabled:=true;
ago.Enabled:=true;
bsid.Enabled:=true;
enick.SetFocus;
end;
procedure TForm1.BgoClick(Sender: TObject);
begin
CGo.Active:=false;
data:='HEAD http://www.relcom.kz/chat/login.jsp?id=0&nick='+httptran(enick.Text)+'&comment='+httptran(Ecomment.Text)+'&color=1&msgcolor=1 HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10+
'Cookie: JSESSIONID='+sid+#13#10#13#10;
CGo.Host:=host;
CGo.Port:=port;
CGo.Active:=true;
bgo.Enabled:=false;
ago.Enabled:=false;
end;
procedure TForm1.BwhoClick(Sender: TObject);
begin
if not bwho.Enabled then exit;
prib:=prib+1;
if prib mod 4 0 then
exit;
who:='';
CWho.Active:=false;
data:='GET http://www.relcom.kz/chat/who.jsp HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10+
'Pragma: no-cache'+sid+#13#10+
'Cookie: JSESSIONID='+sid+#13#10#13#10;
Cwho.Host:=host;
Cwho.Port:=port;
Cwho.Active:=true;
bwho.Enabled:=false;
end;
procedure TForm1.BquitClick(Sender: TObject);
begin
tmain.Enabled:=false;
Cquit.Active:=false;
data:='HEAD http://www.relcom.kz/chat/control.jsp?quit=bye HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10+
'Cookie: JSESSIONID='+sid+#13#10#13#10;
Cquit.Host:=host;
Cquit.Port:=port;
Cquit.Active:=true;
Bquit.Enabled:=false;
end;
procedure TForm1.CGoWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(data);
send:=send+length(data);
end;
procedure TForm1.CwhoWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(data);
send:=send+length(data);
end;
procedure TForm1.CGoRead(Sender: TObject; Socket: TCustomWinSocket);
var a:Tcaption;
begin
a:=Socket.ReceiveText;
accept:=length(a)+accept;
nn:='';
if pos('ERROR',a)0 then
nn:='Неверный ник!';
end;
procedure TForm1.CwhoRead(Sender: TObject; Socket: TCustomWinSocket);
begin
who:=who+Socket.ReceiveText;
end;
procedure TForm1.CGoDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
ani.visible:=false;
if nn'' then
begin
showmessage('Неверный Ник!');
bgo.Enabled:=true;
ago.Enabled:=true;
exit;
end;
mult.Enabled:=true;
caption:=title+' ['+enick.text+']';
bgo.Enabled:=true;
ago.Enabled:=true;
bwho.Enabled:=true;
bsend.Enabled:=true;
bquit.Enabled:=true;
bmain.Enabled:=true;
page.TabIndex:=1;
page.ActivePage:=TabSheet2;
TabSheet2.TabVisible:=true;
TabSheet1.TabVisible:=false;
WindowState:=wsMaximized;
tmain.Enabled:=true;
bwho.Click;
bmain.Click;
end;
procedure TForm1.CwhoDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
ani.visible:=false;
bwho.Enabled:=true;
getwho.Click;
end;
procedure TForm1.CquitRead(Sender: TObject; Socket: TCustomWinSocket);
var a:Tcaption;
begin
a:=Socket.ReceiveText;
accept:=length(a)+accept;
Socket.Close;
end;
procedure TForm1.CquitWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(data);
send:=send+length(data);
end;
procedure TForm1.BsendClick(Sender: TObject);
begin
CSend.Active:=false;
emessage.Items.Add(emessage.Text);
data:='HEAD http://www.relcom.kz/chat/control.jsp?message='+HTTPTran(ewho.text+' ')+HTTPTran(emessage.text)+' HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10+
'Cookie: JSESSIONID='+sid+#13#10#13#10;
Csend.Host:=host;
Csend.Port:=port;
Csend.Active:=true;
emessage.Text:='';
label3.Caption:='Отправляется...';
end;
procedure TForm1.CsendRead(Sender: TObject; Socket: TCustomWinSocket);
var p:array[0..1]of char;
begin
Socket.ReceiveBuf(p,1);
accept:=2+accept;
Socket.Close;
end;
procedure TForm1.CsendWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(data);
send:=send+length(data);
end;
procedure TForm1.CsendDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ani.visible:=false;
end;
procedure TForm1.BmainClick(Sender: TObject);
var i:string;
begin
label5.Caption:=inttostr(accept)+'/'+inttostr(send);
if not bmain.Enabled then exit;
i:=inttostr(random(10000));
Cmain.Active:=false;
data:='GET http://www.relcom.kz/chat/main.jsp HTTP/1.0'#13#10'HOST:www.relcom.kz'#13#10+
'Pragma: no-cache'+#13#10+
'Cookie: JSESSIONID='+sid+#13#10#13#10;
Cmain.Host:=host;
Cmain.Port:=port;
Cmain.Active:=true;
Bmain.Enabled:=false;
end;
procedure TForm1.CmainDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ani.visible:=false;
bmain.Enabled:=true;
end;
procedure TForm1.CmainRead(Sender: TObject; Socket: TCustomWinSocket);
var i:integer;
begin
str:=socket.ReceiveText;
socket.Close;
accept:=length(str)+accept;
for i:=1 to length(str) do
if str[i]+str[i+1]+str[i+2]+str[i+3]='font' then break;
if tmp(copy(str,i-1,1000))
then
begin
tmp:=copy(str,i-1,1000);
OnlyText.Click;
prib:=prib+1;
if (pos('нашем полку прибыло',tmp)0) or
(pos('покинул нас, осталось',tmp)0)
then
Bwho.Click;
end;
bmain.Enabled:=true;
end;
procedure TForm1.CmainWrite(Sender: TObject; Socket: TCustomWinSocket);
begin
Socket.SendText(data);
send:=send+length(data);
end;
procedure TForm1.GetWhoClick(Sender: TObject);
var i:integer;
t:Tcaption;
begin
Listbox1.items.clear;
Listbox1.items.Add('');
if trim(who)='' then exit;
for i:=1 to length(who) do
if (copy(who,i,10)='.passText(') and
(copy(who,i+11,4)'*** ')and(copy(who,i+11,4)'--- ')
then
begin
t:=copy(who,i+11,20);
t:=copy(t,1,pos(''');',t)-2);
Listbox1.Items.Add(t);
end;
accept:=accept+length(who);
GroupBox1.Caption:='В чате['+inttostr(Listbox1.Items.count-1)+']';
end;
procedure TForm1.CquitDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
mult.Enabled:=true;
ani.visible:=false;
pgo.Visible:=false;
bgo.Enabled:=false;
bwho.Enabled:=false;
bsend.Enabled:=false;
bquit.Enabled:=false;
bmain.Enabled:=false;
TabSheet1.TabVisible:=true;
TabSheet2.TabVisible:=false;
page.TabIndex:=0;
page.ActivePage:=TabSheet1;
tmain.Enabled:=false;
windowstate:=wsnormal;
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
if ign.checked then
ewho.Text:='--- '+listbox1.Items[listbox1.itemindex]
else
ewho.Text:=listbox1.Items[listbox1.itemindex];
emessage.SetFocus;
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
ewho.Text:='*** '+listbox1.Items[listbox1.itemindex];
emessage.SetFocus;
end;
procedure TForm1.OnlyTextClick(Sender: TObject);
var s,qq:string;
begin
s:=tmp;
while pos('>',s)0 do
delete(s,pos('',s)-pos('0 do
begin
insert(#13#10,s,pos(#13#10#13#10,s));
delete(s,pos(#13#10#13#10,s),4);
end;
while pos('"',s)0 do
begin
insert('"',s,pos('"',s));
delete(s,pos('"',s),6);
end;
while pos('&#',s)0 do
begin
insert('©',s,pos('&#',s));
delete(s,pos('&#',s),6);
end;
while pos('('#13#10,s)0 do
begin
insert('',s,pos('&#',s));
delete(s,pos('('#13#10,s),3);
end;
while pos('>',s)0 do
begin
insert('>',s,pos('>',s));
delete(s,pos('>',s),4);
end;
if pos('0 then delete(s,pos('0 do
begin
insert('>',s,pos('>',s));
delete(s,pos('>',s),4);
end;
if (s'')and(length(trim(s))>2) then
begin
if pos(memo1.lines[0],s)=0 then
memo1.Text:=s+#13#10+trim(memo1.Text)
else
begin
qq:=trim(copy(s,1,pos(memo1.lines[0],s)-1));
if qq'' then
memo1.Text:=qq+#13#10+trim(memo1.Text);
end;
end;
end;
procedure TForm1.EmessageKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then bsend.Click;
if key=#27 then ewho.Clear;
end;
procedure TForm1.Form1Create(Sender: TObject);
var r:Tregistry;
begin
accept:=0;
send:=0;
r:=Tregistry.create;
r.OpenKey(reg+'autozap\',true);
r.GetValueNames(form1.Emessage.items);
r.CloseKey;
r.Free;
tabsheet2.TabVisible:=false;
end;
procedure TForm1.Memo1DblClick(Sender: TObject);
var s:string;
i:integer;
begin
s:=trim(memo1.SelText);
if copy(s,1,1)='(' then
s:=copy(s,2,100);
i:=pos(':',s);
if i=length(s)
then
s:=trim(copy(s,1,i-1));
if pos('!',s)=length(s) then
delete(s,length(s),1);
Ewho.Text:=s;
end;
procedure TForm1.EWhoDblClick(Sender: TObject);
begin
if copy(ewho.Text,1,4)='*** ' then
ewho.Text:=copy(ewho.Text,4,100)
else
ewho.Text:='*** '+ewho.Text;
emessage.SetFocus;
end;
procedure TForm1.IgnClick(Sender: TObject);
var s:string;
begin
s:=Ewho.Text;
if ign.Checked then
begin
if copy(s,1,4)='--- '
then exit;
if (copy(s,1,4)='*** ')
then
begin
s:=copy(s,5,100);
s:='--- '+s;
end
else
s:='--- '+s;
end
else
begin
if copy(s,1,4)='*** '
then exit;
if (copy(s,1,4)='--- ')
then
s:=copy(s,5,100);
end;
Ewho.Text:=s;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
form2.show;
enabled:=false;
end;
procedure TForm1.CGoConnecting(Sender: TObject; Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CmainConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CquitConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CsendConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CSIDConnecting(Sender: TObject; Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CwhoConnecting(Sender: TObject; Socket: TCustomWinSocket);
begin
ani.visible:=true;
end;
procedure TForm1.CsendConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
label3.Caption:='Доставлено...';
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var r:Tregistry;
i:integer;
begin
r:=Tregistry.Create;
r.RootKey:=hkey_current_user;
r.OpenKey(reg+'autozap\',true);
for i:=0 to emessage.Items.Count-1 do
r.WriteString(emessage.Items[i],'1');
r.CloseKey;
r.Free;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
showmessage(
#9'Чат для Релком'#13+
#9'Разработчики Sonic && Algorims from ®US†@M™'#13+
#9'http://kainar.h14.ru'#13+
#9'yeldar@bk.ru'#13+
#9'r2@ok.ru'#13
);
end;
procedure TForm1.CsendError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
errorcode:=0;
application.ProcessMessages;
errors:=errors+1;
lerr.Caption:='Ошибок '+inttostr(errors);
end;
procedure TForm1.BsendKeyPress(Sender: TObject; var Key: Char);
begin
if key=#8 then
begin
form3.Show;
enabled:=false;
end;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
if font.Execute
then
begin
memo1.Font:=font.Font;
listbox1.Font:=font.Font;
Ewho.Font:=font.Font;
end;
end;
procedure TForm1.ASCIII1Click(Sender: TObject);
begin
enabled:=false;
fasc.show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
memo1.Clear;
end;
procedure TForm1.multClick(Sender: TObject);
begin
form3.Show;
enabled:=false;
end;
procedure TForm1.N10Click(Sender: TObject);
var i:integer;
begin
ewho.Text:='--- '+listbox1.Items[listbox1.itemindex];
Bsend.click;
for i:=1 to 200 do
begin
sleep(1);
application.ProcessMessages;
end;
Ewho.Text:='Добавлен в список игнора.... -> '+listbox1.Items[listbox1.itemindex];
Bsend.click;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
ewho.Text:='+++ '+listbox1.Items[listbox1.itemindex];
emessage.SetFocus;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
ewho.Text:='';
emessage.SetFocus;
end;
procedure TForm1.MenuItem5Click(Sender: TObject);
var s:string;
i:integer;
begin
s:=trim(memo1.SelText);
if copy(s,1,1)='(' then
s:=copy(s,2,100);
i:=pos(':',s);
if i=length(s)
then
s:=trim(copy(s,1,i-1));
if pos('!',s)=length(s) then
delete(s,length(s),1);
Ewho.Text:='+++ '+s;
Bsend.click;
end;
procedure TForm1.MenuItem3Click(Sender: TObject);
var s:string;
i:integer;
begin
s:=trim(memo1.SelText);
if copy(s,1,1)='(' then
s:=copy(s,2,100);
i:=pos(':',s);
if i=length(s)
then
s:=trim(copy(s,1,i-1));
if pos('!',s)=length(s) then
delete(s,length(s),1);
Ewho.Text:=s;
end;
procedure TForm1.MenuItem4Click(Sender: TObject);
var s:string;
i:integer;
begin
s:=trim(memo1.SelText);
if copy(s,1,1)='(' then
s:=copy(s,2,100);
i:=pos(':',s);
if i=length(s)
then
s:=trim(copy(s,1,i-1));
if pos('!',s)=length(s) then
delete(s,length(s),1);
Ewho.Text:='--- '+s;
Bsend.click;
for i:=1 to 200 do
begin
sleep(1);
application.ProcessMessages;
end;
Ewho.Text:='Добавлен в список игнора.... -> '+s;
Bsend.click;
end;
procedure TForm1.MenuItem2Click(Sender: TObject);
var s:string;
i:integer;
begin
s:=trim(memo1.SelText);
if copy(s,1,1)='(' then
s:=copy(s,2,100);
i:=pos(':',s);
if i=length(s)
then
s:=trim(copy(s,1,i-1));
if pos('!',s)=length(s) then
delete(s,length(s),1);
Ewho.Text:='*** '+s;
end;
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
Ewho.Text:='';
end;
procedure TForm1.N13Click(Sender: TObject);
begin
bmain.Enabled:=true;
cmain.Close;
csend.close;
cwho.close;
end;
procedure TForm1.N14Click(Sender: TObject);
var s:string;
begin
s:=stringreplace(memo1.Text,#13#10,' ',[rfReplaceAll]);
emessage.Text:=s;
end;
end.
Сонымен бiттi... Ал жарайды сау бол...