PDA

View Full Version : yahoo messanger و دلفی



dkhatibi
چهارشنبه 06 اردیبهشت 1385, 14:13 عصر
آیا امکان برقراری ارتباط با Yahoo Messenger در دلفی وجود داره؟
مثلا هنگامی که کاربر log On است متنی توسط برنامه ی دلفی به کاربری فرستاده شود؟

SH.Daneshvar
چهارشنبه 06 اردیبهشت 1385, 16:56 عصر
راه ساده و کارامد اون استفاده از توابع API
FindWindow هست. یعنی اول پنجره ی YahooMessenger رو پیداه کنی
بعدش پنجره ی ورود متن رو پیدا کنی وبعدش با استفاده از SendMessege به
پنجره متن بدی بعد دکمه ی Send رو به صورت مجازی با استفاده از SendMesseg
کلیک کنی.

توی Help دلفی بگردی همه چیز و توضیح داده.
اصل کار با توابع API
ّFindWindow
SendMessge
هست.

موفق باشید.
یا حق.

dkhatibi
چهارشنبه 06 اردیبهشت 1385, 17:11 عصر
راه ساده و کارامد اون استفاده از توابع API
FindWindow هست. یعنی اول پنجره ی YahooMessenger رو پیداه کنی
بعدش پنجره ی ورود متن رو پیدا کنی وبعدش با استفاده از SendMessege به
پنجره متن بدی بعد دکمه ی Send رو به صورت مجازی با استفاده از SendMesseg
کلیک کنی.

توی Help دلفی بگردی همه چیز و توضیح داده.
اصل کار با توابع API
ّFindWindow
SendMessge
هست.

فرضا اگه من اینا رو بدونم از کجا بفهمم کاربر داره با کی می چته ؟
ثانیا اگه به یک کاربر دلخواه خواسته باشیم ÷یام بفرستم تکلیف چیه؟

Inprise
چهارشنبه 06 اردیبهشت 1385, 17:36 عصر
کلیه قابلیتهای یاهو مسنجر من جمله Voice و Video بصورت تعدادی COM Library پیاده سازی شده اند ؛ کافیه کلاسهای مورد نظرت رو به پروژهء دلفی ات وارد کنی و ازشون استفاده کنی . یاهو مسنجر در عمل فقط یک GUI برای این کلاسهاست و میشه با استفاده از امکانات این کلاسها رابطهائی به مراتب بهتر یا پیچیده تر یا اختصاصی طراحی کرد .

ghabil
چهارشنبه 06 اردیبهشت 1385, 17:45 عصر
سلام
البته خیلی هم رابطه ساده ای نیست بدبخت :چشمک:
ولی بجز ایمپورت کردن Type Library ها تا این اواخر که من میدونم یاهو وب سرویس هم داشت که از طریق اون هم میتونی این کار رو بکنی فکر کنم Yahoo Messenger Protocole بگردی یک چیزی پیدا کنی

SH.Daneshvar
پنج شنبه 07 اردیبهشت 1385, 08:00 صبح
Document های پیوست رو بخون
در مورد Yahoo Messenger Protocol هست.
لینک یه تا‌پیک اینجاست به این تاپیک برو به Messenger قوی Yahoo که متن باز هست
معرفی شده میتونی از متن برنامه این Messenger استفاده کنی.

http://www.barnamenevis.org/forum/showthread.php?t=44267

dkhatibi
پنج شنبه 07 اردیبهشت 1385, 21:21 عصر
سوس این مسنجر به چه زبانی بود؟
ما که چیزی ندیدیم
یا RPM است یا EXE

SH.Daneshvar
جمعه 08 اردیبهشت 1385, 15:25 عصر
دوست عزیز
همون فایل های rpm یک فایل فشرده حاوی Source این مسنجر هست.
اینم لینک دانلود Source :
http://prdownloads.sourceforge.net/gaim/gaim-1.5.0-0.src.rpm?download

dkhatibi
جمعه 08 اردیبهشت 1385, 20:49 عصر
کسی می تونه اونو به پاسکال تبدیل کنه؟!!!!

SH.Daneshvar
شنبه 09 اردیبهشت 1385, 09:09 صبح
دوست عزیز
فکر کنم کار خودته باید الگوریتم کار رو بفهمی سپس اون رو به پاسکال بنویسیش.

البته کار راحتیم نیست.
قبلا از اینکار ها کردم.

موفق باشی.
یا حق.

dkhatibi
شنبه 09 اردیبهشت 1385, 20:20 عصر
کسی نظر دیگری نداره که بشه فقط به طور ساده و نه خیلی پیشرفته و فقط در حد یک پیام ساده بتونیم با مسنجر ارتباط برقرار کرد؟

Inprise
شنبه 09 اردیبهشت 1385, 20:23 عصر
نظر "دیگر"ی در این تاپیک درج نشده ، تنها گزینه ات همان راهی است که صفحه قبل نوشتم و بهش دقت نکردی . سایر پیشنهادات غیر فنی هستند .

dkhatibi
شنبه 09 اردیبهشت 1385, 20:27 عصر
خوب بگید چه جوری باید این کلاسها رو پیدا کنم و چه گونه از اونها در برنامم استفاده کنم
اگر سورس اماده دارید دریغ نفرمایید
متشکر م

ghabil
شنبه 09 اردیبهشت 1385, 21:35 عصر
البته ایمپورت کردن Object Com برای دستگاهی که مطمئنی روش یاهو مسنجر هست روش بسیار خوبیه ولی سایر روشها من جمله استفاده از WebService نتنها غیر فنی نیست بلکه جزو روشهای توصیه شدست.
برای اینکه مطمئن هم بشی خیلی غیر فنی نیست این کدی رو که 2-3 سال پیش برای دلفی 6 داشتم رو برات میزارم ایده بگیری :


const
LoginURL = 'http://msg.edit.yahoo.com/config/ncclogin?&n=1&login=%s&passwd=%s';

procedure TForm1.Button1Click(Sender: TObject);
var
Tmp, UserName, Password: String;
i, BuddyBegin, BuddyEnd: Integer;
begin
if (Edit1.Text = '') or (Edit2.Text = '') then
raise Exception.Create('Login/Password cannot be blank');

UserName := URLEncode(Edit1.Text);
PassWord := URLEncode(Edit2.Text);
Tmp := Format(LoginURL, [UserName, PassWord]);

FRemoteFile.Text := Http.Get(Tmp);

if FRemoteFile[0] = 'OK' then
begin
for i := 0 to HTTP.Response.ExtraHeaders.Count -1 do
if pos('Set-Cookie', HTTP.Response.ExtraHeaders[i]) > 0 then
begin
//We only care about the first cookie
ShowMessage('Received Cookie: '+ Copy(HTTP.Response.ExtraHeaders[i], Length('set0cookie.'), Length(HTTP.Response.ExtraHeaders[i])));
//So we break after getting the first cookie
Break
end;

//Buddy list is delimited by a BEGIN BUDDYLIST and END BUDDYLIST
BuddyBegin := FRemoteFile.IndexOf('BEGIN BUDDYLIST') +1;
BuddyEnd := FRemoteFile.IndexOf('END BUDDYLIST') -1;

for i := BuddyBegin to BuddyEnd do
//These is the "raw" buddy list parsing is needed for it to make sense
//Since this is an example I discarded this code
ListBox1.Items.Add(FRemoteFile[i]);

BuddyBegin := FRemoteFile.IndexOf('BEGIN IGNORELIST') +1;
BuddyEnd := FRemoteFile.IndexOf('END IGNORELIST') -1;

for i := BuddyBegin to BuddyEnd do
ListBox2.Items.Add(FRemoteFile[i]);

for i := 0 to FRemoteFile.Count -1 do
if pos('Mail=', FRemoteFile[i]) > 0 then
begin
Tmp := Copy(FRemoteFile[i], length('mail01'), Length(FRemoteFile[i]));
if StrToInt(Tmp) = 1 then
ShowMessage('You have a yahoo mail account')
else
ShowMessage('You dont have a yahoo mail account');
Break;
end;
end else
raise Exception.Create('Couldnt log you on');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FRemoteFile := TStringList.Create;
end;
توی این کد Http یک IdHttp هست

Inprise
شنبه 09 اردیبهشت 1385, 22:00 عصر
علت غیر فنی بودن روشت ماهیت متغیر پروتکلهای مورد استفادهء یاهو و همینطور محدودیت وب هست ، در حقیقت ساده ترین و کاملترین روش اتصال به یاهو همان COM Library اش هست که براحتی همراه نرم افزار قابل انتشاره و نیازی به نصب خود مسنجر نیست .

ghabil
شنبه 09 اردیبهشت 1385, 22:22 عصر
اگر تغییر پروتکلی حاصل بشه حتما Com Object هم باید آپدیت بشه ، ضمنا کاملا درسته لازم نیست یاهو مسنجر نصب باشه شما میتونید کل آبجکت رو کنار برنامتون اینور اونور کنید ، یک برنامه کوچک 4-5 مگی فقط برای فرستادن مسیج که حتما نیاز به نوشتن برنامه نصب هم داره .
ولی کاملا درسته که روش ساده تر و سریعتریه ولی از دید "فنی" حتما روش بهتری نیست
مگر اینکه در تعریف فنی با هم خیلی اختلاف نظر داشته باشیم.

Inprise
شنبه 09 اردیبهشت 1385, 22:26 عصر
نسخه های قدیمی یاهو مسنجر پس از هر تغییر به آپدیت نیاز داشتند اما نسخه های جدیدتر اینطور نیستند . من یکی از برنامه هائی که برای اتصال به یاهو مسنجر با استفاده از libyahoo2 نوشته ام رو لااقل هر فصل یکبار آپدیت میکنم ، کدهای لازم برای پروتکل تغییر داده شده همراه هر نسخه منتشر میشن و در فواصل زمانی غیر قطعی تغییر میکنن ؛ پس استفاده از COM Library یاهو تنها روش عملی است ، که در نتیجه تنها روش فنی است . بگذریم از اینکه انالیز دائمی پروتکل و نوشتن برنامه مستقل یا مبتنی بر وب ، نمیتونه از تمام قابلیتهای مسنجر استفاده کنه . همانطور که گفتم خود یاهو مسنجر هم صرفا" یک رابط کاربری ساده برای همین کتابخانه است و میشه به کمکش کدهای بهتری نوشت .

ghabil
شنبه 09 اردیبهشت 1385, 22:45 عصر
چون جدیدا هیچ کاری در این ضمینه ها نکردم نمیتونم در مورد استدلالت جوابی بدم (چون هیچ اطلاعی ندارم) ولی صحبتهات در مورد عوض شدن پروتکل وب و پخش شدن کدهای لازم برای تغییر در آبجکت (و حتما پخش نشدن کدهای پروتکل وب!) و کلا اینکه تو دنیایی که همه دارند به سمت وب سرویس میرن همچین سوتیهایی از یاهو بعیده ، چندان برام پذیرفتنی نیست .
ضمنا تعریف من از فنی اصلا عملی نیست اتفاقا خیلی کارها با خیلی روشها غیر فنی عملی میشن .
به هر حال اگه یک روزی گذرم اینورا خورد و چیزی تو این ضمینه خوندم ،شاید یک ریپلای زیر ایمن تاپیک زدم:چشمک:

راستی چه عکس باحالیه تازه بهش دقت کردم.

Inprise
شنبه 09 اردیبهشت 1385, 22:55 عصر
مفهوم وب سرویس ارتباطی با قابلیتهائی که از یک مسنجر صوتی و تصویری مانند یاهو انتظار میره نداره . حرف زدن از وب سرویس ، به معنای امکان جاگزین کردن هر چیزی با یک پروتکل مبتنی بر وب نیست ؛ وجود یک درک ابتدائی از نحوهء عملکرد سرویسهای وب برای این منظور کافیه .

این سوتی یاهو نیست . قاعده اش هست . در حال حاضر هیچ Web Service ای برای استفاده از قابلیتهای یاهو مسنجر وجود نداره . آنچه که هست ، صحبت کردن با سرور وب از طریق یک وب کلاینت است که تلاش میکنه وب کلاینت چت یاهو رو شبیه سازی کنه ، که هیچ ارتباطی با یک سرویس وب نداره . از آنجائیکه تنها روش کاربردی و عملی استفاده از COM Library است بدون پرداخت هزینه های بی ربط ، این تنها روش فنی است و به بحث بیشتری نیاز نداره . دلیل استفادهء من از libyahoo2 پلت فرم برنامه ای بود که نوشتم ( freebsd ) و برای نوشتن یک برنامه ویندوز متصل به سرویس یاهو ، روش فنی استفاده از COM و بقیه روشها استفاده از مهندسی معکوس پروتکل و یک پیاده سازی مستقل هستند که محدودیتهاش ذکر شد .

ghabil
شنبه 09 اردیبهشت 1385, 23:51 عصر
از توضیح کاملتون در مورد وب سرویس ممنونم خیلی دیدمو باز کرد، جالبه که بحث فرستادن یک پیام رو که براحتی میشه با سرویس وب (نه وب سرویس ) بدون لینک کردن یک لایبرری چند مگی به برنامه انجام بدیم رو به بحث در مورد سرویس صدا و تصویر ربط میدین!
هزینه بی ربط هم یعنی همی لینک کردن یک فایل با حجم بالا به برنامه . از اونجایی که کلاینت یاهو مسنجر رو با انهمه امکانات (از RichView قدرتمندش گرفته با قابلیت هاست فلش و پشیبانی از اینهمه امکانات دیگه تا اینکریپشن و نگهداری مکالمات و تعداد زیادی تنظیمات Defineable و امکان استفاده از "وب سرویسهای" یاهو و .....) یک کلاینت ساده میدونید ،

Inprise
یک شنبه 10 اردیبهشت 1385, 00:05 صبح
اگه به توضیحات قبلی کمی دقت کنی ، متوجه دو نکته بدیهی میشی :

الف- تغییر غیر قطعی پروتکلهای یاهو باعث میشه هیچ کد مستقل و قابل اتکائی قابل توسعه نباشه . چه از طریق وب کلاینت با یاهو حرف بزنی ، و چه از طریق تحلیل پروتکل ، در هر حال ، چون کد مذکور در معرض تغییره ، این صورت مسئله نمیتونه جواب کاملی داشته باشه . دقیقا" به همین منظور ، یاهو COM اش رو منتشر کرده . استفاده از یک Type Library ساده نیازی به لینک سه لایبراری یاهو ( به ترتیب 450 و 600 و 780 کیلوبایت ! ) نداره ؛ کافیه روی منوهای دلفی دو سه تا کلیک کنی ، و بعد از اتمام پروژه برنامه ات رو با Installer مورد علاقه ات Deploy کنی . ضمن اینکه بدین ترتیب میشه بسادگی از محیط RAD دلفی یا سایر بسترها استفاده کرد .

ب- منظور از "یک رابط کاربری ساده" این هست که یاهو مسنجر ، در عمل کار پیچیده یا منحصر به فردی انجام نداده ، و چیزی نیست بجز یک رابط برای کتابخانه اش . بسته به نوع کاربرد - که میتونه ساده باشه مثل یک ارسال پیام یا میتونه ساده نباشه - میشه رابطهائی به مراتب پیچیده تر و اختصاصی تر طراحی کرد ؛

dkhatibi
دوشنبه 11 اردیبهشت 1385, 13:25 عصر
حالامی شه یک کم از Com بگی

Delphi Skyline
دوشنبه 11 اردیبهشت 1385, 14:28 عصر
کام ابجکتز همون ActiveX ها هستن که در تمام برنامه نویسی ها میشه ازشون استفاده کرد . برای نصب کردن یک کام به صورت کامپاننت در دلفی می تونید از پنجره Components از ActiveX Install استفاده کنید .

dkhatibi
دوشنبه 11 اردیبهشت 1385, 16:57 عصر
خوب حالا من می خوام از com مسنجر استفاده کنم چه جوری می تونم اونو نصب کنم.

dkhatibi
دوشنبه 18 اردیبهشت 1385, 15:04 عصر
لطفا این مساله را فراموش نکنید هنوز برای من حل نشده

Inprise
دوشنبه 18 اردیبهشت 1385, 19:21 عصر
اشتباه میکنی اگر منتظری کسی برات کد بنویسه . راهنمائی ها و توضیحاتی که داده شده برای شروع کافیه ؛ باید بتونی از راهنمائی های حداقل موجود روی فروم برای نصب و استفاده از اکتیواکسها و کلاسهای COM استفاده کنی ؛

Delphi Skyline
دوشنبه 18 اردیبهشت 1385, 20:00 عصر
برنامه نویس باید خلاقیت داشته باشه . تازه بعضی چیزا هست مثل این ما فقط و فقط میتونیم راهنمایی اصول کلی کنیم . استفاده با خودت و گوگل و هلپ کامل دلفی .

Delphi Skyline
دوشنبه 18 اردیبهشت 1385, 20:14 عصر
اینم یه کامپاننتاش ::
مراحل زیر را طی کن ::
البته ببخشید چون من الان دیگه فقط با BDS4.0 کار می کنم .
به ترتیب دنبال کنید .

dkhatibi
سه شنبه 19 اردیبهشت 1385, 08:43 صبح
من این کارو انجام دادم اما نتونستم با مسنجر ارتباط برقرار کنم
دقیقا کدام ActiveX باید نصب کنم؟

Delphi Skyline
سه شنبه 19 اردیبهشت 1385, 13:40 عصر
به نظرتون به جای این سه صحفه این خوب نبود ؟
http://www.google.com/search?hl=fa&q=Delphi+and+yahoo+messenger
یا امثال اینا .

dkhatibi
سه شنبه 19 اردیبهشت 1385, 18:30 عصر
مثال اینا بهتره

dkhatibi
چهارشنبه 20 اردیبهشت 1385, 21:50 عصر
کسی مثالی نداره؟

dkhatibi
شنبه 23 اردیبهشت 1385, 08:32 صبح
آقای Delphi SkyLine من منتظر یک مثال از جانب شما می مانم.

Delphi Skyline
شنبه 23 اردیبهشت 1385, 15:18 عصر
پس باید کمی صبر بدید تا بنویسم دیگه .

Delphi Skyline
شنبه 23 اردیبهشت 1385, 15:44 عصر
اینو برات می نویسم اما بدون گشتنش زیاد سخت نبود و اگه خودتون می گشتید موفق تر بودید . به هر حال ::


<-------------------------------BEGIN UNIT CODE ------------------------------>
unit YahooLogin;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, idGlobal;

type
TForm1 = class(TForm)
HTTP: TIdHTTP;
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
ListBox1: TListBox;
Label3: TLabel;
ListBox2: TListBox;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FRemoteFile: TStringList;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

const
LoginURL = 'http://msg.edit.yahoo.com/config/ncclogin?&n=1&login=%s&passwd=%s';

procedure TForm1.Button1Click(Sender: TObject);
var
Tmp, UserName, Password: String;
i, BuddyBegin, BuddyEnd: Integer;
begin
if (Edit1.Text = '') or (Edit2.Text = '') then
raise Exception.Create('Login/Password cannot be blank');

UserName := URLEncode(Edit1.Text);
PassWord := URLEncode(Edit2.Text);
Tmp := Format(LoginURL, [UserName, PassWord]);

FRemoteFile.Text := Http.Get(Tmp);

if FRemoteFile[0] = 'OK' then
begin
for i := 0 to HTTP.Response.ExtraHeaders.Count -1 do
if pos('Set-Cookie', HTTP.Response.ExtraHeaders[i]) > 0 then
begin
//We only care about the first cookie
ShowMessage('Received Cookie: '+ Copy(HTTP.Response.ExtraHeaders[i], Length('set0cookie.'), Length(HTTP.Response.ExtraHeaders[i])));
//So we break after getting the first cookie
Break
end;

//Buddy list is delimited by a BEGIN BUDDYLIST and END BUDDYLIST
BuddyBegin := FRemoteFile.IndexOf('BEGIN BUDDYLIST') +1;
BuddyEnd := FRemoteFile.IndexOf('END BUDDYLIST') -1;

for i := BuddyBegin to BuddyEnd do
//These is the "raw" buddy list parsing is needed for it to make sense
//Since this is an example I discarded this code
ListBox1.Items.Add(FRemoteFile[i]);

BuddyBegin := FRemoteFile.IndexOf('BEGIN IGNORELIST') +1;
BuddyEnd := FRemoteFile.IndexOf('END IGNORELIST') -1;

for i := BuddyBegin to BuddyEnd do
ListBox2.Items.Add(FRemoteFile[i]);

for i := 0 to FRemoteFile.Count -1 do
if pos('Mail=', FRemoteFile[i]) > 0 then
begin
Tmp := Copy(FRemoteFile[i], length('mail01'), Length(FRemoteFile[i]));
if StrToInt(Tmp) = 1 then
ShowMessage('You have a yahoo mail account')
else
ShowMessage('You dont have a yahoo mail account');
Break;
end;
end else
raise Exception.Create('Couldnt log you on');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FRemoteFile := TStringList.Create;
end;

end.
<-----------------------------END UNIT CODE--------------------------------->

<-----------------------------BEGIN FORM CODE------------------------------->
object Form1: TForm1
Left = 192
Top = 121
Width = 379
Height = 443
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 120
TextHeight = 16
object Label3: TLabel
Left = 16
Top = 136
Width = 65
Height = 16
Caption = 'Buddys list'
end
object Label4: TLabel
Left = 194
Top = 138
Width = 64
Height = 16
Caption = 'Ignore lists'
end
object Panel1: TPanel
Left = 11
Top = 3
Width = 342
Height = 113
TabOrder = 0
object Label1: TLabel
Left = 11
Top = 24
Width = 63
Height = 16
Caption = 'Username'
end
object Label2: TLabel
Left = 11
Top = 56
Width = 60
Height = 16
Caption = 'Password'
end
object Edit1: TEdit
Left = 94
Top = 18
Width = 233
Height = 24
TabOrder = 0
end
object Edit2: TEdit
Left = 96
Top = 51
Width = 233
Height = 24
TabOrder = 1
end
object Button1: TButton
Left = 139
Top = 82
Width = 75
Height = 25
Caption = 'Login'
TabOrder = 2
OnClick = Button1Click
end
end
object ListBox1: TListBox
Left = 15
Top = 160
Width = 171
Height = 239
ItemHeight = 16
TabOrder = 1
end
object ListBox2: TListBox
Left = 192
Top = 160
Width = 171
Height = 239
ItemHeight = 16
TabOrder = 2
end
object HTTP: TIdHTTP
Request.Accept = 'text/html, */*'
Request.ContentLength = 0
Request.ContentRangeEnd = 0
Request.ContentRangeStart = 0
Request.ProxyPort = 0
Request.UserAgent = 'Mozilla/4.6 (compatible; Indy Library)'
Left = 320
Top = 48
end
end
<-----------------------------END FORM CODE ------------------------------->

موفق باشید.

dkhatibi
شنبه 23 اردیبهشت 1385, 16:10 عصر
آره اینو من تو یکی از سایتها دیدم اما نتونستم باهاش کار کنم
شما از اون استفاده کردید؟

dkhatibi
دوشنبه 25 اردیبهشت 1385, 19:19 عصر
بهتر نیست این بحث را رهاش نکنیم؟

Delphi Skyline
دوشنبه 25 اردیبهشت 1385, 19:50 عصر
نه . چون دیگه فکر کنم باید شما هم کمی بگردی .

Delphi Skyline
دوشنبه 25 اردیبهشت 1385, 19:51 عصر
شما می تونید سورس یه YahooRobot رو پیدا کنی . البته آقای مشاتان نوشته بودن اما پولیه ها .

Hamid_PaK
سه شنبه 26 اردیبهشت 1385, 03:48 صبح
شما ابتدا بخش ActiveX ها رو باید مطالعه کنید و دیگر اینکه با یک ActiveX کد نویسی کنید و یک برنامه ایجاد کنید برای شروع متوجه کار خواهید شد ...

xPDF Viewer رو تو فوروم سرچ کنید ...

یا حق !!!

dkhatibi
سه شنبه 26 اردیبهشت 1385, 09:00 صبح
من ActiveX هایی رو روی دلفی نصب کرده ام مثلا Flash اما با ActiveX نرم افزار Yahoo Messenger مشکل دارم

Delphi Skyline
سه شنبه 26 اردیبهشت 1385, 11:31 صبح
میشه بگی می خوای اصلا چه کار کنی >؟

dkhatibi
سه شنبه 26 اردیبهشت 1385, 11:36 صبح
می خوام
1- Online بودن شخص را تشخیص بدم
2-(مهمتر) یک پیام ار داخل برنامه به یک کاربر بفرستم.

Delphi Skyline
سه شنبه 26 اردیبهشت 1385, 11:39 صبح
همان Robot که گفتم .

Delphi Skyline
سه شنبه 26 اردیبهشت 1385, 11:41 صبح
http://www.mashatan.com/ لطفا کمی هم خرج کنید .

dkhatibi
سه شنبه 26 اردیبهشت 1385, 11:51 صبح
خوب اگه نخواسته باشیم خرج کنیم نمی شه؟

Delphi Skyline
سه شنبه 26 اردیبهشت 1385, 12:25 عصر
مــــــــــــــــــــــــــن دیگه نمی دونم !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!