.تعمیـــرکاران کیان ست (kiansat.kim)تابع قوانین -جمهموری-اسلامی ایران میباشد و ارسال هر گونه مطلب سیاسی،مذهبی،غیراخلاقی و خرید و فروش متعلقات ماه-واره و دیگر موارد مجرمانه ممنوع میباشد وبا کاربران خاطی به شدت برخورد میگردد انجمن فقط تعمیرات لوازم الکترونیک میباشد...













سلام مهمان گرامی؛
به کیان ست خوش آمدید برای مشاهده انجمن با امکانات کامل می بايست از طريق این لینک عضو شوید.

http://teranzit.pw/uploads/14469017281.png
پیام خصوصی به مدیریت کل سایت ........... صفحه توضیحات و شرایط گروه ویژه ........... ...........
ارتباط تلگرامی با مدیریت سایت ................. ایدی تلگرام suportripair@ .................
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: آموزش طریقه استفاده از Microsoft Agent در دلفی

  1. #1


    تاریخ عضویت
    Oct 2010
    نوشته ها
    198
    تشکر ها
    38
    401 سپاس از181 پست

    آموزش طریقه استفاده از Microsoft Agent در دلفی

    با سلام
    Microsoft Agent یکی از سرگرم کننده ترین فن آوریهای Microsoft می باشد که تا کنون توانسته بسیار مورد علاقه کاربران قرار بگیرد. Agentها به برنامه های شما جذابیت زیادی می دهند و امکان ارتباط بهتر و جالبتری را با کاربر ایجاد میکنند. در اینجا من می خواهم شما را با Microsoft Agent و طریقه بکار گیری آن در برنامه های خودتان را آموزش بدهم که امیدوارم مفید باشد. از آنجایی که من این امکان را در دلفی استفاده کرده ام برای شما هم مثالهای دلفی آورده ام …
    اولین باری که از این تکنولوژی استفاده شد در برنامه Office 97 بود که خیلی مورد علاقه کاربران قرار گرفت. من اون موقع خیلی گشتم تا بتونم از این امکان استفاده کنم ولی خوب نتونستم ): اما بعد ها با پیشرفت کردن علم برنامه نویسی و همچنین با پیشرفت کردن عقل Microsoft (که از نظر من بزرگترین کلاه بردار قرن هست) این تکنولوژی در اختیار دیگران هم قرار گرفت… برای همین در اوایل فقط در Office بود که از این امکان استفاده می شد.
    حالا اینا رو گفتم اما ببینیم اصلاً Agent چی هست؟؟!!!
    شما اگه از Office استفاده میکنید حالا هر کدوم از برنامه هاش که باشه (Word,Excel,FrontPage,…) یک شکلکی رو میبینید که همیشه نسبت به کارهایی که انجام میدین یک سری حرکات از خودش نشون میده که هم سرگرم کننده هست هم آموزنده. حالا حتماً متوجه شدین که در مورد چی صحبت میکنیم (هر چند که میدونم میدونستید (; ) خوب حالا می خواهیم ببینیم که چطور میشه از این امکان تو برنامه های خودمون استفاده کنیم مثلاً وقتی برنامه داره کار میکنه یه شکلکی بیاد برای کاربر ادا در بیاره تا طرف نفهمه که برنامه چیکار میکنه (: یا مثلا موقع ذخیره کردن و بازیابی کردن و یا جستجو و … یک سری حرکات مربوط به آن عمل انجام بده…
    اینکار خیلی ساده است و فقط کافی هست شما یک Agent رو انتخاب کنید و در برنامتون تعریفش کنید و بعد هر کاری که خواستین رو بهش دستور بدین تا براتون انجام بده . ضمنا شما لازم نیست اصلاً غصه درست کار کردن اون رو بخورین چون خود Windows اونو کنترل میکنه که یه وقت کار بدی نکنه ((:
    شما نمیتونید که Agent رو داخل یک جعبه مکالمه (Dialog Box) قرار بدین و فقط میتونید جای اولیه اون رو انتخاب کنید بعد نمایش بدین و کاربر میتونه اونو به دلخواه خود تغییر مکان بده با Drag کردن اینکار رو انجام میده. خوب حالا برای شروع کار به یک سری Agent نیاز داریم که البته همراه ویندوز همیشه یک سری همراه هستند بهترین اونها که میتونه کارهای زیادی انجام بده (منظور حالتهای زیادی براش تعریف شده) Merlin هست که یک جادوگر پیر می باشد. برای Download کردن اینها میتونید به سایتهایی که معرفی میکنم یک سری بزنید. ضمناً شما خودتون هم میتونید یک Agent طراحی بکنید که برای اینکار باید از یک سری نرم افزار استفاده کنید.
    برای اینکه کاربر بتونه از Agent برنامه شما استفاده کنه باید حتماً Microsoft Agent Server‌ رو نصب کنه. که البته من تا حالا تو هر ویندوزی که برنامم رو اجرا کردم نصب شده بوده فکر کنم این برنامه همراه خود ویندوز هست (; ولی اگه نبود شما میتونید یک سری به آدرس زیر بزنید اونجا چیزهای جالبی در این مورد داره که یک مطالعه کنید بد نیست.
    http://msdn.microsoft.com/workshop/imedia/agent/defualt.asp
    در این آدرس اخرین باری که رفتم مطالب زیر بود حالا اگه تا حالا بیلی جون حوصله اش از اونا سر نرفته باشه و عوض نکرده باشد باید باشه:

    - The Agent Server
    - The Characters/Agents
    - A Text-to-Speech pices
    - A Voice command (input) pices



    این مطالب تحت عنوان Microsoft Agent Software Development Kit هست که در اونجا شما همچنین میتونید نرم افزار Microsoft Agent Character Editor رو برای درست کردن Agent دریافت کنید. در این مقاله ما در مورد Voice Command‌ (فرمان های صوتی) و طراحی Agent صحبت نمیکنیم و فقط طرز استفاده از این امکان رو شرح میدم که خودتون بعداً میتونید در موردش بیشتر جستجو کنید. ما برای کارمون فقط احتیاج به Agent Server و یک کاراکتر داریم که اگه روی ویندوزتون ندارین میتونید از اینجا Download بکنید.
    خوب حالا میریم سر اصل مطلب:
    بعد از اینکه مطمئن شدین روی ویندوزتون AgentServer رو دارین دلفی رو اجرا کنید و مراحل زیر رو مو به مو انجام بدین:
    ۱- Component|Import ActiveX Control رو انتخاب کنید.
    ۲- Microsoft Agent Control رو از تو لیست پیدا کنید و رو ی دکمه Install کلیک کنید.
    ۳- خوب حالا باید تو قسمت ActiveX یک آیکونی شبیه به MenInBlack داشته باشید.
    خوب تا یادم نرفته اینو بگم که برای پیدا کردن یک کاراکتر روی ویندوزتون باید برای acs.* جستجو کنید که البته به طور عادی اگر Agent Server نصب باشه توی شاخه Windows یک msagent باید وجود داشته باشه و داخل اون هم یک شاخه دیگه به نام Char هم هست که توش یک یا چند کاراکتر وجود داره که اگر از XP استفاده میکنید حتماً یکیش Merlin.acs هست (که من خیلی بهش علاقه دارم (: ) برای همین ما باید تو برنامه مون چک کنیم که آیا این شاخه وجود داره یا نه اگه وجود داشت میدونیم که Agent Server روی ویندوز کاربر نصب هست و ما می تونیم از Agent استفاده کنیم .

    ---------- Post added at 21:28 ---------- Previous post was at 21:26 ----------

    خوب برای اینکار باید اول ActiveX رو به روی فرم منتقل کنیم با اینکار یک type با نام TAgent به تعاریف فرم اضافه میشه . بعد باید یک متغییر تعریف کنیم که از نوع Boolean باشه تا با اون چک کنیم که آیا Agent Server نصب هست یا نه برای اینکار میشه از Code زیر استفاده کرد:

    کد:

    کد:
     
    
    TYourObject
       private
         AgentInstalled: Boolean;
         function AgentIsInstalled: Boolean;
         procedure CreateAndLoadAgentIfInstalled;
         function GetColorDepth: Word;
         function GetWinDir: String;
         procedure SetFormColor;
         function AgentWasClicked

    شما میتونید روی ویندوز کاربر به دنبال اون شاخه و کاراکتری که می خواهید از او استفاد هکنید بگردید و اگه بود کار رو باهاش شروع کنید اگه هم نبود خوب دیگه کاربر باید محیط خشک برنامتون رو تحمل کنه (;
    حالا مثلاً ما می خواهیم از Merlin استفاده کنیم :

    کد:
    کد:
    
    {———————————————–} 
    function TYourObject.AgentIsInstalled: Boolean;
    begin
    Result := (FileSearch(‘Merlin.acs’, 
    Format(‘%s\MSAGENT\CHARS’, [GetWinDir]))<>”);
    end;
    
    {———————————————–} 
    function TYourObject.GetWinDir : string; 
    var 
    WinDirZ : array[0..256] of Char; 
    begin 
    GetWindowsDirectory(WinDirZ, SizeOf(WinDirZ)); 
    Result := StrPas(WinDirZ); 
    end;



    نکته : در بالا برای بدست آوردن نام شاخه ای که ویندوز در آن نصب هست از API استفاده شده که مسیر کامل ویندوز را به ما میدهد.
    حال که فهمیدیم کاربر امکان استفاده از Agent رو داره می تونیم کار رو شروع کنیم. در ادامه باید یک Object برای Agent خودمون بسازیم تا از این به بعد از اون استفاده کنیم و مجبور نباشیم از ActiveX استفاده کنیم. برای اینکار از کد زیر میشه استفاده کرد:

    کد:
    کد:
    implementation
     uses
       AgentDemoConsts,
       Registry,
       OLECtrls, AgentObjects_TLB;
    
     {-----------------------------------------------}
     procedure 
       TYourObject.CreateAndLoadAgentIfInstalled;
     const
       RightBias = 80;
       TopBias   = 70;
     var
       tp: TPoint;
     begin
       if (AgentInstalled) and 
         not (Assigned(RobotAgent)) then begin
         RobotAgent := TAgent.Create(Application);
         RobotAgent.Characters.Load('Merlin','Merlin.acs');
         { Move the Agent to the center of the screen }
         tp.x := (Screen.Width div 2)-(Width div 2);
         tp.y := (Screen.Height div 2)-(Height div 2);
         with RobotAgent.Characters.Item['Merlin'] do begin
           MoveTo(tp.x+RightBias, tp.y+TopBias, 0);
           Show(0);
           Play('Greet');
           Play('Explain');
           Speak(SDemoIntro, '');
           Play('Pleased');
           Play('RestPose');
           Speak(SWhisper, '');
           Speak(SMonotone, '');
           Speak(SMap, '');
         end;
       end;
     end;


    چند خط اول که مشخص هست چه کار میکنه . اما بعد از اینکه کاراکتر تعریف شد (RobotAgent) اونو به Merlin نسبت میدیم وبعد هم اونو به وسط صفحه نمایش منتقل میکنیم و حالا میرسیم به مهمترین قسمت کار که دستور دهی به Merlin هست.
    با استفاده از Play شما میتونید به Agent دستور بدین اما برای هر Agnet دستورات متفاوت هست یعنی ممکن هست که دستوارتی که برای Merlin کار میکنه برای Robby (که یکی دیگر از Agent ها هست) کار نکنه. شما اگه کاراکترتون رو خودتون درست میکنید خوب پس لیست دستوراتش رو دارید اما اگه اونو از جایی Download میکنید حتما لیست دستوارتش هم همراش هست مثلا شما میتونید در مورد Merlinو یا Robby و یا چند Agent دیگه از تو همون آدرسی که در بالا دادم لیست دستوارتش رو بگیرید.
    حالا در کد بالا میبینید که در ابتدا از دستور Show استفاده شده این دستور برای به نمایش در آوردن Agent هست و در تمامی آنها کار میکنه . بعد با استفاده از Play کارهای مورد نظرمون رو به Agent‌ میگیم. مثلاً من در ابتدا با استفاده از دستور Greet از Agent خواستم که سلام کنه و بعد هم با استفاده از Explain خواستم که شروع کنه به گفتن یک سری مطالب که با دستور Speak اونها رو که در متغییر SDemoIntro قرار داده ام به صورت یک بالون که بالای سرش باز میشه میگه. شما برای اینکه بگین مطالب رو با چه حالتهایی بخونه می تونید از دستواراتی که در جدول زیر آوردم استفاده کنید
    کد:

    کد:
    :
     
     
    
    Addition
    
    Resulting capability
    \Chr=”Whisper”\
    The Agent will whisper the following text.
    \Pau=N\
    The Agent will pause for the designated number of milliseconds.
    \Emp\
    The Agent will give special emphasis to the following phrase.
    \Chr=”Montone”\
    The Agent will emphasize nothing at all.
    \Map=
    The Agent will say one thing, and = “think” another.
    
    
    خوب حالا برای اینکه بیشتر متوجه بشین در زیر یک سری مثال آوردم که میتونید اونها رو در برنامه استفاده کنید و نقش هر کدوم از دستوارت رو ببینید:
    
    
    کد:
    
     
    SFuzzyWuzzy = ‘Fuzzy wuzzy was a bear;\Pau=500\ ‘ +
    ‘fuzzy wuzzy had no hair;\Pau=500\  ‘ +
    ‘fuzzy wuzzy wasn’t very \Emp\fuzzy, \Emp\was he?’;
    SWhisper = ‘\Chr=”Whisper”\Now I will whisper: ‘ +
    ‘Whisper whisper whisper.’;
    SMonotone = ‘\Chr=”Monotone”\Now I will speak in a ‘ +
    ‘monotone. Pat Paulsen for President.’;
    SMap = ‘\Map=”I will now continue to speak in ‘ +
    ‘English, but you will see my words ‘ +
    ‘translated into German in the balloon above ‘ +
    ‘my head. How are you today? I am just ‘ +
    ‘\Emp\dandy!”=”Jetzt werde ich zwar immer ‘ +
    ‘noch in Englisch reden, sie werden  ‘ +
    ‘aber meine Woerte im Balloon obenauf ins ‘ +
    ‘Deutsch uebersetzt sehen. Wie geht es  ‘ +
    ‘Ihnen heute? Mir geht es ganz gut!”\’;
    خوب دیگه همین بود تمام ماجرا حالا شما اگه می خواهین بیشتر در این مورد کار کنید من در مقالات بعدی یکی سری سایت و مطلب دیگه هم براتون میزارم البته به زبون اصلی خودشون حتماً خیلی مفید خواهد بود.
    ضمنا شما میتونید از Event ها هم در Agent استفاده کنید و مثلا برای رویداد OnClick روی Agent‌ یک چیزی تعریف کنید.

    خوب در آخر از شما که تا اینجا آمدید متشکرم و یک سری نکات رو هم باید ذکر کنم :
    ۱- این مطالب حاصل تجربه خودم و همچنین برگرفته از یک سری مقالاتی بوده که در این مورد مطالعه کردم.
    ۲- در مورد استفاده از این کدهایی که در این مقاله آورده ام و همچنین در پایان این مقاله ضمیمه کرده ام هیچ گونه مسئولیتی بعهده من نخواهد بود که درست کار کنه یا بزنه کامپیوتر شما رو بسوزونه !!!!!
    ۳- استفاده از این مقاله به شرط ذکرنام و آدرس اصلی مقاله در سایتها و جاهای دیگر آزاد است .
    ۴- اگه در این مورد نظری دارین یا حتماً برای من ایمیل کنید خوشحال خواهم شد بشنوم.
    [CENTER]:1205219183:
    [B][FONT=Tahoma][SIZE=3][COLOR=#0000ff][URL="http://kiansat3.ir/showthread.php?t=47100"]فروش جدیدترین و کاملترین پکیج نرم افزاری و بازی و آموزشی و تعمیراتی انواع موبایل ها بصورت کاملا فارسی به همراه چندین اشانتیون[/URL][/COLOR][/SIZE][/FONT][/B]
    [B]:1205219183::فقط خودت باش نه کسی دیگر!
    :lay:
    [/B][/CENTER]

  2. 2کاربر از Borna66 بخاطر ارسال این پست مفید سپاسگزاری کرده اند:

    ARIYA (5th May 2012),KIAN FAR (4th May 2012)

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Copyright ©2000 - 2013, Jelsoft Enterprises Ltd کیــــــــــان ستـــــــــــ ...® اولین و بزرگترین سایت فوق تخصصی الکترونیک در ایران



Cultural Forum | Study at Malaysian University