Hallo erstmal!
Also ich wollte mit einen kleinen ICQ Bot basteln, das ganze eigentlich aus keinem bestimmten Grund, nur so aus langeweile. Und ich dachte ich könnte bei der gelegenheit doch endlich mal
OOP lernen
Ich benutze die TICQLib (
http://sourceforge.net/projects/ticqlib), und wollte das ganze als Konsolenanwendung machen.
Ich hab die Bot Komponente(TToy) in eine extra
Unit(Toy.pas) gepackt.
Das ganze sieht nun wie folgt aus:
Delphi-Quellcode:
unit Toy;
interface
uses SysUtils, ICQWorks, ICQClient;
type
TToy =
Class
ICQ: TICQClient;
procedure ICQInit(Server:
string; Port, UIN: cardinal; Password:
string);
procedure ICQLogin(Sender: TObject);
procedure ICQError(Sender: TObject; ErrorType: TErrorType; ErrorMsg:
String);
End;
implementation
procedure TToy.ICQInit(Server:
string; Port, UIN: cardinal; Password:
string);
begin
ICQ := TICQClient.Create(
nil);
ICQ.OnLogin := ICQLogin;
//brauch ich das?
ICQ.OnError := ICQError;
//brauch ich das?
ICQ.ICQServer := Server;
ICQ.ICQPort := Port;
ICQ.UIN := UIN;
ICQ.Password := Password;
end;
procedure TToy.ICQLogin(Sender: TObject);
begin
WriteLn('
eingeloggt');
end;
procedure TToy.ICQError(Sender: TObject; ErrorType: TErrorType; ErrorMsg:
string);
begin
if ErrorType = ERR_WARNING
then
WriteLn('
Warning ' + ErrorMsg)
else
WriteLn('
Error ' + ErrorMsg);
end;
end.
bzw.
Delphi-Quellcode:
program BotProg;
{$APPTYPE CONSOLE}
uses
SysUtils,
Toy in 'Toy.pas';
var
test: TToy;
{ TODO -oUser -cConsole Main : Hier Code einfügen }
begin
test := TToy.Create;
WriteLn('Started');
test.ICQInit('login.icq.com',5190,523523523,'PASSWORD');
test.ICQ.SendMessage(023023023,'test');
ReadLn;
test.ICQ.LogOff;
end.
Nun, mein Problem ist, das eigentlich gar nichts passiert. D.h. es wird keine Nachricht versand. und ich weiss nicht warum
Wäre toll wenn ihr mir helfen könntet...und bitte seid nachsichtig
mfG matrix scripter