MicroSoft Agent Kontrolünü Kullanmak.

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

MicroSoft Agent Kontrolünü Kullanmak.

Mesaj gönderen vkamadan »

Merhaba ,
Bir çoğumuzum dikkatini, Ofis gibi microsoft ürünlerinde ekrana gelen ve sevimli hareketler yapan karakterler çekmiştir. Ve keşke böyle bir şeyi biz kendi programlarımızda kullansakta ortama renk katsak , ürünümüzün görsel kalitesini arttırsak diyenlerimizde elbetteki olmuştur.
Sizlere TAgent ActiveX kontrolünü kullanarak Agent karakterlerini projemizde kullanmaktan bahsetmek istiyorum.
Öncelikle Delphi IDE de , Component / Import ActiveX Control menüsüne girerek Listeden , Microsoft Agent Control 2.0(yada farklı bir sürümü) seçerek INSTALL tuşuna basıyor ve Component Palette ActiveX sekmesindeki yerini almasını sağlıyoruz.
Artık Agent neslerine ActiveX kulanarak Erişimi yapmak için delphi tarafında ihtiyacımız olanı sağladık. Şimdi bize test etmek için bir Agent Karakteri gerekli , ben makalemde bir çok Agent karakterine ulaşabileceğiniz http://www.msagentring.org/chars.aspx adresinden bulduğum Peedy isimli kuş karakterini kullanmayı tercih ettim. Bu adreste bütün karakterlerini davranışları detaylı bir şekilde döküman haline getirilmiş her karakterini benzer davranışları olduğu gibi bir çoğuda farklılık gösterebiliyor. ilgili paket dosyasını sistemimizde çalıştırıp karakteri kaydettiriyoruz. Artık biraz hareket görelim.
Private olarak BizimKarakter : IAgentCtlCharacter değişkeni tanımlamasını yapalım.
Projemize ActiveX sekmesindeki TAgent nesnesi yerleştiriyoruz bir TButton ekleyelim ve OnClick olay metoduna şunları yazalım ,

Kod: Tümünü seç

   Agent1.Characters.Load('Peedy', 'Peedy.acs');
   BizimKarakter := Agent1.Characters['Peedy'];

With BizimKarakter do 
begin
      Show(False);
      Speak('Merhaba !', '');
      Speak('Ben peedy proje kuşuyum :)', '');
      Play( 'Process');
      MoveTo( Form1.Left + Form1.ClientWidth - 50,
              Form1.Top + Form1.ClientHeight - 50,
              1000 );
end;
Evet yukarıda yaptıklarımızı inceleyecek olursak , Private bölümüne , IAgentCtlCharacter tipinde bir arabirim değişken tanımlaması yaptık, Agent nesnesine sistemde Peedy.acs dosyasında bulunan Peedy adındaki karakteri yükledik. BizimKarakter isimli arabirim değişkene TAgent nesnesine yüklediğimiz karakter(ler) den Peedy adındakini atadık.
Show özelliğini False parametresiyle çağırarak ( nedendir bilmem neden FALSE true değil ..!! :)) karakterimizi gösterdik. Sonra Speak metoduna birinci parametre String tipinde konuşma balonunda çıkacak yazıyı ikinci parametre boş geçerek karakterimizin yazılı olarak konuşmasını sağladık, burada istediğiniz kadar Speak metodunu üst üste çağırarak konuşturabilirsiniz be niki defa çağırdım. Sonra her bir karaktere göre farklılık gösteren Davranış listesinden rast gele seçtiğim bir davranış olan Process isimli davranışı Play metoduna parametre geçerek davranışı icra etmesini sağladım, burada Peedy karakteri cebinden bir hesap makinası çıkartıp işlem yapıyor. sonra MoveTo (XKoordinatı , YKoordinatı , GidişHızı : Integer) adındaki metodu çağırarak karakteri ekranıın üst köşesinden Formuma göre ekranın altına taşıdım tabi karakterine göre farklı bir şekilde nesne hareket ediyor bizim peedy bir kuş oda doğal olarak uçarak hareket etti.
Genel olarak kullanımı bu şekilde umarım net olmuştur.
Yukarıda verdiğim adresde yeterince çeşit var.
Kolay gelsin. İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Eline sağlık hoş olmuş gayet :D

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Evet elinize saglık, yararlı bir calısma olmus .
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Rica ederim ,
bilgi dağarcıklarına yeni bir şey kaydedebildiysem ne mutlu bana.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

güzel bir makale olmuş, ellerinize sağlık.
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
Firarist
Üye
Mesajlar: 129
Kayıt: 13 Eki 2003 06:41
Konum: Antalya
İletişim:

Mesaj gönderen Firarist »

Gerçektende çok hoş görünüler ortaya çıkıyor.

Bunu projelerde kullanmak için kullanıcının bu agenti kendisinin mi kurması gerekiyor? Yani programa gömme şansımız var mı?
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,
ACS dosasının projenizle aynı dizinde olması yeterli başka bir şeye gerek yok.
Her türlü dosyayı bir şekilde proje dosyanıza resource olarak eklemeniz mümkün bu dosyayıda ekleyip kullanabilirsiniz. ama teknik detayı hakkında pek bilgim yok. API nin tanığı dosyaları resource olarak çağırmak kolayda ACS yi API tanımıyor zannedersem biraz zahmetli.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Hocam çok teşekkürler.Ne zamandan beri aklıma olan bir şeydi ve nasıl yapılır diye merak ediyordum.Sayenizde öğrenmiş olduk.
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

Mesaj gönderen cozturk »

Çok merak ettim gerçekten bunları seven kişi var mı acaba, Çomar vs . nekadar sinir bozucu bişey. windowsu ofisi kurarken derhal bunları kaldırıyorum. birşey arayacan köpek çıkıyor.
Resim
Resim
Kullanıcı avatarı
armadillo
Üye
Mesajlar: 67
Kayıt: 07 Tem 2005 01:16
Konum: Antalya

Mesaj gönderen armadillo »

Emeğine sağlık hocam ek olarak MS resmi sitesini ekleyeyim dedim.
http://www.microsoft.com/msagent/default.asp
burada gerekli döküman ve MSagent API yüklemeleri mevcut
Türk Programcılar olarak artık daha görsel, daha kullanıcı dostu ve eğlenceli programlar geliştirmeliyiz Saygılarımla
Cevapla