Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Çağdaş Davulcu
Çağdaş Davulcu
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
6 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: aktivite aktivitelerini aktivitesi aktivitesini aktivitesinin basarak birakin. birden condition dosyasini executecode invokeworkflow sequence workflow workflow2 .NET 3.x Çağdaş Davulcu
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : .NET 3.x
Yayınlanma Tarihi : 1.2.2008
Okunma Sayısı : 21017
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA 21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak 21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi 21.11.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
WWF - Akış Kontrolü Aktivitelerinin Kullanımı - II
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Akış kontrolü aktivitelerinin kullanımı yazımın birinci bölümünde IfElse, IfElseBranch ve ConditionalActivityGroup aktivitelerini açıklamıştım. Bu bölümde ise While, Sequence ve InwokeWorkflow aktivitelerinin kullanımlarını anlatacağım. InvokeWorkflow aktivitesi, WWF teknolojisi ile kendi framework’ünü geliştirmek isteyecek kişilere yeni fikirler sunacaktır.

While Activity

C# sözdizimi içerisinde while anahtar kelimesi ile kullanılan While aktivitesi, WWF teknolojisi altında bütün programlama dillerinde olduğu gibi döngü görevindedir. While aktivitesinin Conditon özelliğinde belirteceğiniz koşul gerçekleştiği sürece While aktivitesi içerisinde bulundurduğu aktiviteyi çalıştıracaktır. While aktivitesi Sequence aktivitesi gibi içerisinde birden fazla aktivitenin belirli bir akış içerisinde bulunmasını desteklemez. While aktivitesi içerisine sadece bir tane aktivite koyabilirsini. Eğer birden fazla aktiviteyi while aktivitesi aracılığıyla çalıştırmak istiyorsanız, bir sonraki aşamada göreceğiniz Sequence aktivitesini While aktivitesi içerisine sürükleyip bırakmalısınız.

While Activity Tanımlaması:

Uygulamanızın kod bölümünü açın ve int tipinde Sayac adında ve değeri 0 olan bir field tanımlayın.
Toolbox’tan While aktivitesi alın ve diyagram üzerine bırakın.



While aktivitesinin koşulunu belirlemek için While aktivitesini seçin ve özelliklerinden ister Code Condition ister Declarative Rule Condition kullanarak Sayaç değerinin 10’dan küçük olduğunu denetleyin. Ben genel olarak Declarative Rule Condition kullanmayı tercih ediyorum.



While aktivitesinin koşulunu tanımlamamıza rağmen hala uyarı ile karşılaşıyoruz. Bunun nedeni while aktivitesi içerisine çalıştırılacak aktivite koymamamızdandır.



While aktivitesi içerisine bir tane Code aktivitesi sürükleyip bırakın. CodeActivity1’in ExecuteCode özelliğine Say yazın ve Enter butonuna basın. Sizin için yazılan Say metodu içerisine aşağıdaki kodları yazın.



Yukarıdaki adımları izlerseniz, While aktivitesinin tanımlama işlemini tamamlamış olacaksınız.



Uygulamamızı Test Edelim:

Uygulamanız içerisindeki Program.cs dosyasını açın.
•Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.



Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.



Uygulamanızı çalıştırdığınızda While aktivitesi çalışacaktır. While aktivitesi içerisine koyduğunuz Code aktivitesi, While aktivitesinde belirlediğiniz koşul gerçekleştiği sürece çalıştırılacaktır. Koşul bölümünde başlangıç değeri 0 olan Sayaç değişkenin 10’dan küçük olması kontrol ediliyordu. Böylelikle yukarıdaki gibi bir çıktı ile karşılaştık.

While Activity

Sequence aktivitesi tek dal üzerine istediğimiz kadar aktivite ekleyebilmemizi sağlayan aktivite türüdür. WWF ile uygulama geliştirirken içerisine tek bir aktivite eklenebilen aktiviteler ile karşılaşacaksınız(örn: While Aktivitesi). Bu durumda Sequence aktivitesi içerisine istediğiniz kadar alt aktivite ekleyip, içerisinde birden fazla alt aktivite bulunduran sequence aktivitesini de bir aktivite olarak herhangi bir aktivite içerisine ekleyebilirsiniz.

Sequence Activity Tanımlaması:

Uygulamanızın kod bölümüne geçin, int tipinde Sayac adında ve değeri 0 olan bir field tanımlayın
Diyagram üzerine While aktivitesinden sürükleyip bırakın ve while aktivitesinin koşulunu belirleyin.(Bir önceki uygulama ile aynı koşulu belirliyorum.)
While aktivitesi içerisine birden fazla aktivite yerleştirebilmek için Toolbox’tan bir tane Sequence aktivitesini sürükleyip While aktivitesi içerisine bırakın.



Bu aşamadan sonra sequence aktivitesi içerisine istediğiniz kadar alt aktivite sürükleyip bırakabilirsiniz. Şimdi SequenceActivity1 içerisine bir tane IfElse aktivitesi sürükleyip bırakın.



IfElseBranchActivity1’in Condition özelliğini

(this.Sayac % 2) == 1 olarak belirleyin.



IfElseBranchActivty1’in içerisine Code aktivitesi sürükleyip bırakın.
IfElseBranchActivty2’nin içerisine Code aktivitesi sürükleyip bırakın.



CodeActivity1’in ExecuteCode özelliğine Code1Calistir, CodeActivity2’nin ExecuteCode özelliğine Code2Calistir değerlerini yazınız.
Aşağıdaki kodu yazarak Code aktivitelerini işleyiniz.



IfElseActivity1’in bitimine bir Code aktivitesi daha ekleyin ve Name özelliğini caSayaciArttir olarak belirleyin.



ExecuteCode özelliğini SayaciArttir olarak belirleyin ve SayaciArttir metodu içerisine aşağıdaki kodları yazın.



Buraya kadar Sequence aktivitesinin tanımlama işlemini yapmış oldunuz. Bu diyagram bir While aktivitesi içerisindeki Sequence aktivitesinde yaptığımız kontrol mekanizması sonucu Sayac değişkenin o anki değerinin tek sayı mı yoksa çift sayı mı olduğunu belirliyor.

Uygulamamızı Test Edelim:

Uygulamanız içerisindeki Program.cs dosyasını açın.
Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.



•Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.



Sayac değişkenin o anki değerinin tek mi yoksa çift mi olduğunun belirlendiğini yukarıdaki ekran görüntüsünden rahat bir şekilde anlıyoruz.

InvokeWorkflow Activity

InvokeWorkflow aktivitesini daha önceden tanımladığımız workflow’u başka bir workflow içerisinden çalıştırmak için kullanırız. Kendi workflow framework’ünüzü oluşturduğunuzda çok işinize yarayacak bir aktivitedir.

InvokeWorkflow aktivitesi çağırılan workflow yapısına göre değişiklikler gösterebilir. Örneğin çağıracağınız workflow dışarıdan parametre alıyorsa InvokeWorkflow içerisinde bazı işlemler yapmanız gerekecektir. Bundan sonraki tüm yazılarımda kullanacağım özellikleri DepencencyProperty olarak tanımlayacağım. Bu workflowlar arasında sıkı bağ kurmamı sağlayacak.

Çağırılacak Worflow’un Tanımlanması:

Solution Explorer penceresinde projeniz üzerine sağ tuşla tıklayın ve Add --> Sequential Workflow bölümünü seçin



Workflow’un adını Workflow2 olarak bırakın ve Add butonuna basın.
Açılan bölümde diyagram üzerine bir tane Code aktivitesi sürükleyin. Cod aktivitesinin ExecuteCode özelliğini “Calis” olarak değiştirin.



Şimdi dışarıdan parametre olarak alacağımız değer için bir tane DependencyProperty tanımlayın.



Not: Bu tanımlamayı Workflow2 içerisinde yaptık.

Calis metodu için aşağıdaki kodu yazın.



•Son durum aşağıdaki gibi olacaktır.



InvokeWorkflow Tanımlaması:

Workflow1.cs dosyasını açın.
Diyagram üzerine InvokeWorkflow aktivitesi sürükleyip bırakın.



Buradaki uyarı InvokeWorkflow aktivitesinin hangi workflow’u çağıracağını belirtmememizden kaynaklanmaktadır. InvokeWorkflow aktivitesinin özelliklerine gelin ve TargetWorkflow özelliğinin yanında gözüken butona tıklayın.



Açılan pencereden Workflow2’yi seçin.



OK butonuna basarak pencereyi kapatın. Uygulamayı derleyin ve aşağıdaki ekran görüntüsüne sahip olacaksınız.



InvokeWorkflow aktivitesinin özelliklerine tekrar gelin. Özelliklerinde Wokflow2 içerisinde tanımladığımız Mesaj özelliğini göreceksiniz.



Mesaj özelliğine “Çağdaş” değerini verin. Bu Workflow2’yi “Çağdaş” değeriyle çalıştıracağı anlamına geliyor.



Buraya kadar workflow1 içerisinden InvokeWorkflow aktivitesi aracılığıyla çağrılacak Workflow2 workflow’unu tanımladık. Workflow2 içerisinde DependencyProperty olarak Mesaj özelliği tanımladık. Workflow1 içerisndeki InvokeWorkflow aktivitesini kullanarak Workflow2’yi çağırdık.

Uygulamamızı Test Edelim:

Uygulamanız içerisindeki Program.cs dosyasını açın.
Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.



Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.



Uygulamanın doğru çalıştığını göreceksiniz.

Bu bölümde While, Sequence ve InvokeWorkflow aktivitelerini tanımış oldunuz. Out-Of-The-Box aktivitelerinden sizin için seçtiğim bu 3 aktivitelerin tanımlanmasını ve uygulanmasını da yazı içeriside tecrübe ettiniz. Bir sonraki yazımda sizlere Paralel, Delay, Replicator, Suspend, Terminate aktivitelerini anlatacağım. Takıldığınız noktalarda daha önceki yazılarıma bakarak eksiklerinizi giderebilirsiniz.

Çağdaş Davulcu
[email protected]
Makale:
WWF - Akış Kontrolü Aktivitelerinin Kullanımı - II .NET 3.0 ve .NET 3.5 Özel Bölümü Çağdaş Davulcu
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor