czy da sie zapomoca komponentu tgadugadu stworzyc nowe konto lub jakos inaczej?
// czy ty się kiedyś nauczysz pisać sensowne tematy? czy moze ban będzie potrzebny? - Ł
czy da sie zapomoca komponentu tgadugadu stworzyc nowe konto lub jakos inaczej?
// czy ty się kiedyś nauczysz pisać sensowne tematy? czy moze ban będzie potrzebny? - Ł
O ile pamiętam, to się nie da. Musisz zaimplementować to sam.
Tak jak powiedział thenkles: tgadugadu jeszcze nie jest wystarczająco rozwinięty, by móc zakładać konta. TGGLite potrafi takie coś zrobić, a prócz tego ma takie bajerki jak wyszukiwanie w katalogu innych osób itp. Licensja do używania TGGLite kosztuje ok. 10 zł, to niewiele jak na taki komponent :P Dla zainteresowanych podsyłam link: http://innosetup.klub.chip.pl/TGGLite/
A ja sądzę, że nie warto płacić 10 zł :). Wcale nietrudno zrobić to samemu :).
// Dopisane
Potrafić, bym zapewne potrafił... Choć w pisaniu komponentów orłem nie jestem. Ale kiedyś pisałem klienta gg i zakładanie działało.
a potrafilbys napisac chocby w oparciu o Tgadugadu komponent do zakladania?
Jak już to do Szymka z tymi pytaniami :-P To on napisał TGaduGadu :] Przejzyj listing tego komponentu i poucz sie troche o protokolach :) na razie [cya]
a potrafilbys napisac chocby w oparciu o Tgadugadu komponent do zakladania?
Thenkles. On ci za to da 10zl ;) W koncu to jest proste.
Thenkles. On ci za to da 10zl ;) W koncu to jest proste.
tylko autor TGGLite w sumie kasuje troche więcej ;p a za dyche to może conajwyżej Delphi odpalić :)
http://dev.null.pl/ekg/docs/protocol.html#ch2.2
Jak coś jest nieaktualne to brać sniffer i podsłuchiwać.
Co do TGaduGadu może niedługo sie za niego zabiore jak bede miał troche wolnego czasu. [cya]
Szczerze mówiąc, to by mi się nawet nie chciało pisać takiego komponentu za dyszkę :P. Dzisiaj jest promocja i macie fragmenty kodu za darmo :)
function HTTP_Hash(Parametry:array of String):Integer;
var
a, c:Cardinal;
b, i, j:integer;
Arg:String;
begin
b:=-1;
for j:=Low(Parametry) to High(Parametry) do
begin
Arg:=Parametry[j];
i:=1;
while Ord(Arg[i])<>0 do
begin
c:=Ord(Arg[i]);
a:=(c xor b)+(c shl 8);
b:=(a shr 24) or (a shl 8);
Inc(i);
end;
end;
Result:=Abs(b);
end;
Pobranie obrazka:
var
Output:TStringStream;
Temp:TStringList;
jpg:tjpegimage;
begin
http.Host:='217.17.33.102';
Temp:=TStringList.Create;
Temp.Text:=http.Get('http://217.17.33.102/appsvc/regtoken.asp');
jpg:=tjpegimage.Create;
Token:=Temp[1];
Output:=TStringStream.Create(http.Get(Temp[2]+'?tokenid='+Token));
Output.Seek(0, sofrombeginning);
jpg.LoadFromStream(Output);
image1.Picture.Bitmap.Width:=jpg.Width;
image1.Picture.Bitmap.Height:=jpg.Height;
image1.Picture.Bitmap.Canvas.Draw(0, 0, jpg);
jpg.Free;
Temp.Free;
Output.Free;
end;
Rejestracja:
var
Input, Output:TStringStream;
begin
http.Host:='217.17.33.102';
Input:=TStringStream.Create('pwd='+edit3.Text+'&email='+edit4.Text+'&qa=tak~nie&code='+IntToStr(HTTP_Hash([edit4.Text, edit3.Text]))+'&tokenid='+Token+'&tokenval='+edit5.Text);
Output:=TStringStream.Create('');
http.Post('http://appmsg.gadu-gadu.pl/appsvc/fmregister3.asp', Input, Output);
Input.Free;
Output.Free;
end;
No i widzicie ? :P To nie takie trudne jak sie troche pokombinuje :P
BTW. mala poprawka:
(...)
http.Post('appmsg.gadu-gadu.pl/appsvc/fmregister3.asp');
Input.Free;
Output.Free;
end;
:-P
Jaka znowu poprawka? To nie ma żadnego znaczenia :). Działa i bez tego poprawiania :P.
Łee.. ja tam wole czysty i przejzysty kod :-P
Na wstępie proszę aby mnie nie zgnoić za to, że się pytam ale ..... :
Potrzebuję się nauczyć założyć nowy numer.
Proszę tylko abyście mnie poprawili co zle robię :
na formę wrzuciłem buttona, image, tidhttp1 i nazwałem http, 3 edity - edit3,edit4,edit5
a kodzik dałem taki:
var
Form1: TForm1;
var token:string;
implementation
{$R *.dfm}
function HTTP_Hash(Parametry:array of string):Integer;
var
a, c:Cardinal;
b, i, j:integer;
Arg:string;
begin
b:=-1;
for j:=Low(Parametry) to High(Parametry) do
begin
Arg:=Parametry[j];
i:=1;
while Ord(Arg[i])<>0 do
begin
c:=Ord(Arg[i]);
a:=(c xor b)+(c shl 8);
b:=(a shr 24) or (a shl 8);
Inc(i);
end;
end;
Result:=Abs(b);
end;
procedure obrazek;
var
Output:TStringStream;
Temp:TStringList;
jpg:tjpegimage;
begin
form1.http.Host:='217.17.33.102';
Temp:=TStringList.Create;
Temp.Text:=form1.http.Get('http://217.17.33.102/appsvc/regtoken.asp');
jpg:=tjpegimage.Create;
Token:=Temp[1];
Output:=TStringStream.Create(form1.http.Get(Temp[2]+'?tokenid='+Token));
Output.Seek(0, sofrombeginning);
jpg.LoadFromStream(Output);
form1.image1.Picture.Bitmap.Width:=jpg.Width;
form1.image1.Picture.Bitmap.Height:=jpg.Height;
form1.image1.Picture.Bitmap.Canvas.Draw(0, 0, jpg);
jpg.Free;
Temp.Free;
Output.Free;
end;
procedure rejestracja;
var
Input, Output:TStringStream;
begin
form1.http.Host:='217.17.33.102';
Input:=TStringStream.Create('pwd='+form1.edit3.Text+'&email='+form1.edit4.Text+'&qa=tak~nie&code='+IntToStr(HTTP_Hash([form1.edit4.Text, form1.edit3.Text]))+'&tokenid='+Token+'&tokenval='+form1.edit5.Text);
Output:=TStringStream.Create('');
form1.http.Post('appmsg.gadu-gadu.pl/appsvc/fmregister3.asp', Input, Output);
Input.Free;
Output.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
rejestracja;
end;
end.
błagam o pomoc :(