
24.03.2008, 17:32
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
С нами:
9638148
Репутация:
476
|
|
Дык тут надо компонент Icq и всё там дальше дело техники)
http://forum.root-access.ru/index.php?showtopic=478
Вот тут всё описано чё да как) зы это не реклама)
Последний раз редактировалось Ergoproxy; 24.03.2008 в 17:43..
|
|
|

24.03.2008, 18:10
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами:
9655526
Репутация:
1821
|
|
Вот исходник моего старого(простенького) бота ("Команды вводи сам  ")
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ICQClient,ICQWorks, XPMan, ExtCtrls, Menus, ComCtrls,
jpeg;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
GroupBox2: TGroupBox;
Edit5: TEdit;
Label6: TLabel;
ICQ: TICQClient;
XPManifest1: TXPManifest;
Timer1: TTimer;
Label9: TLabel;
Label10: TLabel;
Menu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Button6: TButton;
GroupBox3: TGroupBox;
Memo1: TMemo;
CheckBox1: TCheckBox;
Image1: TImage;
GroupBox4: TGroupBox;
Pop1: TPopupMenu;
N9: TMenuItem;
RANDOM1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ICQLogin(Sender: TObject);
procedure ICQConnectionFailed(Sender: TObject);
procedure ICQMessageRecv(Sender: TObject; Msg, UIN: String);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit2;
type
ICQmsg=array [1..3] of string;
ICQFormat=object
uin:integer;
Msg:string;
end;
var
strokin:string;
ICQ_bufer:array [1..20] of ICQFormat;
MSGT:string;
LogFile:TextFile;
AnekdotFile:Textfile;
Comands:TextFile;
UinBaz:TextFile;
Drevo:Tlist;
{$R *.dfm}
function find_icq():byte;
var
ch,chcol:byte;
begin
chcol:=0;
for ch:=1 to 10 do
if ICQ_bufer[ch].uin<>0 then chcol:=chcol+1;
find_icq:=chcol;
end ;
procedure TRACE (txts:string);
begin
strokin:='>>'+' {'+txts+'}'+'!';
form1.Memo1.Lines.Add(strokin);
end;
procedure smsik (txts:string);
begin
form1.Memo1.Lines.Add(' <> '+txts);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:byte;
begin
ICQ.ConvertToPlaintext:=true;
trace('Ожидаем...');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ICQ.UIN:=StrToInt(edit1.Text);
ICQ.Password:=edit2.Text;
ICQ.ICQServer:='login.icq.com';
ICQ.ICQPort:=5190;
icq.Status:=8;
ICQ.Login();
trace('Пробуем соединится...');
icq.Status:=8;
end;
procedure TForm1.ICQLogin(Sender: TObject);
begin
Form1.Enabled:=true;
trace('Подключились...');
Application.MessageBox('Мы удачно подключились!','Внимание! ICQ_BOT говорит:',48);
end;
procedure TForm1.ICQConnectionFailed(Sender: TObject);
begin
Form1.Enabled:=true;
Button1.Enabled:=true;
trace('Соеденение разорвано...');
Application.MessageBox('Мы не смогли соединится!','Внимание! ICQ_BOT говорит:',48);
end;
procedure TForm1.ICQMessageRecv(Sender: TObject; Msg, UIN: String);
var
i,j:byte;
begin
Memo1.Lines.Add('|| '+'['+UIN+']'+' ='+' '+MSG);
ICQ.RequestInfo(StrToInt(UIN));
ICQ.SendAuthResponse(StrToInt(UIN),true,'yes');
for i:=1 to 20 do
if ICQ_bufer[i].uin=0 then
begin
ICQ_bufer[i].uin:=strtoint(uin);
ICQ_bufer[i].msg:='Privet';
break;
end;
timer1.Enabled:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
trace('Выходим...');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
bufer:array [1..20] of ICQFormat;
i,j:byte;
begin
timer1.Interval:=StrToInt(edit5.Text);
for i:=1 to 20 do
for j:=i+1 to 20 do
begin
if ICQ_bufer[i].uin=0 then
begin
bufer[i]:=ICQ_bufer[i];
ICQ_bufer[i]:=ICQ_bufer[j];
ICQ_bufer[j]:=bufer[i];
end;
end;
if find_icq=0 then
begin
timer1.Enabled:=false;
exit;
end;
label9.Caption:=inttostr(find_icq);
icq.SendMessage(ICQ_bufer[1].uin,ICQ_Bufer[1].msg);
ICQ_bufer[1].uin:=0;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
icq.Status:=1;
button6.Caption:='Отошел';
end;
procedure TForm1.N2Click(Sender: TObject);
begin
icq.Status:=2;
button6.Caption:='Не беспокоить';
end;
procedure TForm1.N3Click(Sender: TObject);
begin
icq.Status:=4;
button6.Caption:='Недоступен';
end;
procedure TForm1.N4Click(Sender: TObject);
begin
icq.Status:=8;
button6.Caption:='В сети';{ICQ.SendMessage(StrToInt(edit3.Text),edit4.Text);
Trace('Бот отправил сообщение'+' '+'['+edit3.Text+']');}
end;
procedure TForm1.N5Click(Sender: TObject);
begin
icq.Status:=16;
button6.Caption:='Занят';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
menu1.Popup(mouse.CursorPos.X,mouse.CursorPos.y);
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if
form1.ClientHeight=462 then
form1.ClientHeight:=346 else
form1.ClientHeight:=462;
end;
end.
Думаю разберешься - ЭТО так сказать "скелет" простенького бота 
Последний раз редактировалось De-visible; 24.03.2008 в 18:13..
|
|
|

24.03.2008, 22:21
|
|
Познающий
Регистрация: 06.09.2006
Сообщений: 94
С нами:
10356548
Репутация:
15
|
|
Господа, подскажите код что бы из xxx.txt удалялись дубли строчек и сохранялось в xxx1.txt
Delphi plz
|
|
|

24.03.2008, 22:45
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
На компоненте TImage рисую кружочки.... При нажатии по button хочу удалять нарисованное (свои кружки), что за свойство? Типа что то Image1.*****?
|
|
|

24.03.2008, 22:49
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами:
9655526
Репутация:
1821
|
|
Господа, подскажите код что бы из xxx.txt удалялись дубли строчек и сохранялось в xxx1.txt
Delphi plz
Из DelphiWorld
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
with sl do
begin
// Duplicates does nothing
// if the list is not sorted.
Sorted := True;
// Ignore attempts to add
// duplicate strings to the list.
Duplicates := dupIgnore;
Add(Edit1.Text);
end;
Listbox1.Items.Assign(sl);
finally
sl.Free;
end;
end;
|
|
|

24.03.2008, 22:52
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
С нами:
9655526
Репутация:
1821
|
|
На компоненте TImage рисую кружочки.... При нажатии по button хочу удалять нарисованное (свои кружки), что за свойство? Типа что то Image1.*****?
Image1.Picture:=nil;
|
|
|

25.03.2008, 01:47
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
Сообщение от De-visible
Image1.Picture:=nil;
При етом моя картинка удаляется...!!! В чём загвоздка?
|
|
|

25.03.2008, 10:47
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами:
10139366
Репутация:
1502
|
|
Сообщение от ToniKapuchon
При етом моя картинка удаляется...!!! В чём загвоздка?
Воистину невероятно! А ты думал, там что появится?
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

24.03.2008, 23:12
|
|
Познающий
Регистрация: 06.09.2006
Сообщений: 94
С нами:
10356548
Репутация:
15
|
|
хм, по моему мне не подходит этот код. Мне как раз надо что бы из мусорного файла создавался нормальнеый ге каждая строка уникальная. т.е. просто что бы удалил повторы.... можно даже в старом файле.
|
|
|

24.03.2008, 23:44
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами:
10139366
Репутация:
1502
|
|
Сообщение от Twiddle
хм, по моему мне не подходит этот код. Мне как раз надо что бы из мусорного файла создавался нормальнеый ге каждая строка уникальная. т.е. просто что бы удалил повторы.... можно даже в старом файле.
Предлагаю с такими вопросами посылать на sources.ru... Или заваливать умными словами типа юзай либо подправленный КМП, либо хеши, сравнивай строки таким образом, храни их однонаправленным списком, дальше выводи список с 1-го элемента, и пока equal((s.next)^.string,s.string) делать s = s.next иначе writeln(s.string).
PS Надоели вопросы, когда люди думать не хотят. Всё, ясно?! Вперёд писать. У тебя 10 минут.
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|