Programlama Dilleri...

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Kullanıcı avatarı
PeeRLeeSS
Megabyte1
Megabyte1
Mesajlar: 928
Kayıt: 15 Mar 2006, 18:12
İletişim:

Programlama Dilleri...

Mesaj gönderen PeeRLeeSS »

BASIC

Acilimi 'beginner's all-purpose symbo*lic instruction code' olan Qwbasic, Qbasic, Turbo Basic ve Visual Basic gi*bi dillerin temelini olusturan oldukca basit ve günümüzde artik pek kullanil*mayan bir dildir. Popüler oldugu dö*nemde oldukca basit ve pratik program yazmayi sagladigi icin tercih edilirdi. Artik kullanilmayan bu dil, bazi dillere temel olusturdugundan bir temel bilgi olmasi acisindan bilmenizde fayda var. Bu dil hakkinda internet üzerinde ufak bir yazi arastirmasi yaparak bulacagi*niz yazilardan programlamanin en ba*sit yanini okuyabilirsiniz.

PASCAL

Günümüzde oldukca popüler ve isi ~ sel bir dil olan Delphi dilinin tern:.*olan bu yapisal dil, 1960'larda İ"Lc_ us Wirth tarafindan gelistirildi. nk ~ pisal dillerden olan Algol'u temel a...:.*bu dilin ismi ilk hesap makinesini :*pan Blaise Pascal'dan gelir. Se~ taks'i(yani benzetme yapilirsa bir programlama dilinin grameri) ko la bir dildir. Objekt Pascal ve Turbo Pascal gibi türevieri vardir ve programli*maya baslamak icin ideal bir dildi; Delphi'den önce ögrenilmesi gerekme*se de ögrenilse iyi olur.

DELPHI

Aslinda bir gelistirme programi olar: Delphi Objekt Pascal'in gelistirilmis hali olan programlama dilidir. Win*dows icin rahatca masaüstü programiyazmak icin en rahat dillerden biridir. Borland firmasi tarafindan gelistiril*mistir. Microsoft'un yeni gelistirme platformu .Net'e de destek vermeye baslayan Delphi, günümüzde kendi kendine program yazmak isteyenlerin en cok tercih ettigi dildir. Eger isletim sistemi, oyun yazmak gibi büyük hedefleriniz yoksa önce Pascal arkasindan da Delphi ögrenmenizi önerebili*riz. Kendi kendinize görsel olarak her türlü programi yazabilirsiniz. Eger kendi kendinize program yazacaksaniz hic düsünmeden Delphi icin kollari sivayi

VISUAL BASIC

Microsoft tarafindan gelistirilen Basic tabanli bir dildir. Programlamaya bas*lamak' icin en ideal dillerden birisidir ve adindan anlasilacagi üzere görsel olarak programlamaya izin verir. Gü*nümüzde Microsoft'un .Net icin Visu*al Basic.Net olarak gelistirdigi nesne yönelimi i olani tercih edilmektedir; fakat ileri derecede program yazmak icin hala elverisli bir gelistirme ortami degildir. Eger orta seviyede program*lar yazmak istiyorsaniz Visual Basic sizin icin en idealidir ve eger VB.Net ögrel1irseniz Asp.Net sayesinde web programlamaya da girebilirsiniz. Fakat ileri seviyeyi hedefliyorsaniz tercih etmemeniz gereken bir dildir. .Net ile web programlari gelistirmek icinse kendinizi yormadan VB. Net ögrenin cünkü C#(daha sonra deginecegiz) ile yazdiginiz kod da, Vb.net ile yazdigi*niz kod da Msil'e cevrilir.

C

C, programcilar icin programcilar ta*rafindan yaratilan dilolarak bilinir ve kullanim rahatligi sayesinde program*ci ve kodlayici(coder)'larin gözbebegidir. Dennis Ritchie ve Brian Kernighan tarafindan gelistirilmistir. Adinin C olmasinin sebebi, kendisinden önce va*rolan B dilinin üstüne kurulu olmasi*dir. Unix isletim sisteminin sistem dili*dir. Gelismis akis kontrolleri, operatörleri ile genel kullanima yönelik en iyi dillerden biridir; fakat günümüzde CH ve java ögrenmek cogu insan icin daha cazip gelmektedir. Bunun sebebi program yazma rahatligi ve degisen ortam kosullaridir. Her ne kadar bu böyle ise de C cogu insan icin bir tut*kudur ve CH, java gibi ileri seviye dillerden önce mutlaka ögrenilmesi gere*ken bir dildir. C'yi tam olarak ani ayamamis bir insan C++ ve java'da sorun cekecektir. Tavsiyemiz; CH ve java ögrenmek gibi bir hayaliniz varsa önce
C ögrenerek baslayin. Böylece pro*gramlamayi tanirsiniz.

C++

Bjarne Stroustrup tarafindan gelistiri*len CH hakkinda insanlarin genelde hataya düstükleri bir tanim vardir. CH, C dilinin nesne yönelimlisi degil*dir. Nesne yönelimli programlamayidestekleyen genel kullanim icin gelisti*rilmis C üzerine kurulu bir dildir. Kompleks ve uzun projelerde kullanil*mak icin idealolan bu dil, sistem programciligi icin de idealdir. Fakat burada göze carpan konu, fazla komplike olmayan sistemlerde C tara*findan üretilen kodun cok daha hizlicalismasidir. Günümüzdeki bilgisa*yarlar icinse CH daha güclüdür. 3D konusunda da güclü olan bu dil, oyun gelistirmek isteyen fakat hic program*cilik yapmamis olanlar icin de tavsiye edilir. öncelikle C iyice kavranmali, arkasindan CH ögrenilmeli daha son*ra ise grafik kütüphanelerine (Open
GL) hakim olunmalidir. Aslinda CH
icin cok ileri seviye bir dil demek de gerekmez, ileri seviyedir fakat ortaya yakindir. Düsük seviyeli bir dil ile yüksek seviyeli bir dil arasinda kalip yüksege yakin olan bir dil denebilir.

JAVA

1991'de Sun Microsystems'te james Gosling, Ed Frank ve arkadaslari tara*findan ilk gelistirildiginde adi Oak olan fakat 1995'te adi java olarak de*gistirilen bu dilin programlama dünya*sina kattigi yenilik, platformdan ba*gimsiz programlama oldu. C ve C++'in sahip olmadigi bu özellik onu yeni ve cazibeli kilmaktadir. Fakat sonrasinda java'nin kaderini degistiren olay inter*net teknolojisi oldu. java web icin tasi*nabilir programlari ilk kez bize tanisti*ran diloldu. Bu özelligi ve C/CH'tan aldigi miras onu günümüzün en popüler dili yapti. Artik günümüzün teknolojisi olarak java gösterilmek*tedir. lik zamanlarda elektronik cihaz*lar icin tasarlanan bu dil, zamanla farkli varyasyonlar ile karsimiza cikti. j2EE, j2SE ve ilk tasarlanma amacina uygun j2ME versiyonlari vardir.
java'yi bu kadar övdükten sonra "Ben java ögrenmek istiyorum!" diyebilir*
siniz. Bu yüzden size hemen ufak bir uyari yapalim. java C++'a mantik olarak benzeyen bir dildir ve eger CH biliyorsaniz java ögrenmekte hic zor*luk cekmezsiniz. Bu yüzden size ilk önerimiz C++ kisa tanitimina geri dön*menizdir. Her seyi ile java günümüzün ihtiyaclarini neredeyse tamami ile kar*silayan bir dildir.

C#

Microsoft'un .Net Framework icin yarattigi C temelli dildir. Bircok özellik bakimindan java ile ortak yönleri var*dir. java ve C#, C++ sentaksini temel alsa da C# .Net icin ögrenilmesi gereken dildir. Fakat burada degin*meden gecemeyecegimiz bir nokta var. Eger Asp.Net ile web programciligi yapacaksaniz bu dili ögrenmeniz icin hicbir neden yoktur cünkü VB.Net gibi daha basit bir dille yazacaginiz kodla C# ile yazacaginiz kod MSIL'e cevrilecek ve ayni kod olarak karsiniza cikacaktir. C,C++ ve java karmasi bu dil .Net icin ögrenilmelidir. .
onur986

Mesaj gönderen onur986 »

Tesekkürler PeeRLeeSS
konu sabitlenmistir..
onur986

Mesaj gönderen onur986 »

Bilgisayar Programciligi

Nedir bu bilgisayar programciligi ?
Evet bircok kisi bilgisayar programcilarinin ne ile ugrastigini bilir fakat nasil ugrasip neler yaptigini pek bilmez... Bu konulara sayfamda biraz özet olsa da deginecegim. önce bilgisayar dünyasinda sikca kullanilan bir kelimeden bahsedeyim yazilim...
Yazilim(software) kelimesi bilgisayar programlama dilleriyle olusturulan dökümanlari, dosyalari ifade eder. Yani bilgisayarinizda isletilmek, calistirilmak üzere tasarimlanmis dosyalar yazilim kapsanina girer.
Bu dosyalar nasil yapilir ?
Yazilim programlama dilleri ile tasarlanir ve yazilir,programlama dili de nedir? derseniz.Programlama dilleri, bilgisayarinizin donanimini(ekran karti,ses karti,modem...) sizin en rahat bicimde kullanabileceginiz düzeye getirmeye calisir. Yani bilgisayarin o soguk 1010110 gibi rakamlarini sizin zevkle kullandiginiz programlara, isletim sistemlerine, oyunlara cevirir.
örnegin kullanilmakta olan Windows isletim sistemi onbinlerce sayfadan, milyonlarca bilgisayar kodunun biraraya gelmesinden olusur. İste isin tüm zorlugu, o kodlarin arasinda dolasan, hata mesajlarini günlerce o kodlari gözden gecirerek arayan, sandalye tepesinde saatlerce ayni ekrana bakarak ilginc görüntüler sergileyen programcilarin üzerindedir...
Bilgisayar programcilari isini zevkle yapan ve isini bir hobi edinmis insanlardan olusur.Aksi halde yogun konsantrasyon ve sabir isteyen bu isi yapmak asiri zorlasir. Neyse... Programlama dillerinden bahsediyorduk Programlama dilleri kendi aralarinda siniflara ayrilmislardir. İnsanin en zor ögrenebilecegi, anlayabilecegi yani 1100101 gibi makina kodlarina yakin diller en alcak seviyeli programlama dilleri, insanin en kolay anlayip kullanabilecegi ve insan diline yakin özellikler gösteren diller ise en yüksek seviyeli programlama dilleridir. simdi bu siniflandirmaya örnekler verelim;

1)cok yüksek seviyeli diller:VisualBasic, Acces, Foxpro...
2)Yüksek seviyeli diller:Pascal,Basic,Fortran...
3)Orta seviyeli diller:C,C++,ADA...
4)Düsük seviyeli diller:Assembly...
5)Makina dilleri:Bilgisayarin calisma dilleri 1 ve 0'lardan olusur...


Bu dillerin kullanildigi alanlara örnek verirsek;
1)Bilim ve Mühendislikte:Pascal,C,C++,Fortran...
2)Veritabani Programciliginda:Dbase,Acces,Foxpro,Sql...
3)Yapay Zeka Kullaniminda:Prolog,Lisp...
4)Sistem Programciliginda:C,C++ ve sembolik makina dilleri...
Bir bilgisayar programi nasil yazilir ?

Bir yazilim degisik dillerle olusturulabilir fakat izlenen yöntemler genelde birbirine benzer.örnegin Algoritma...
Algoritma, elimizdeki sorunun cözümüne gidebilmek icin tasarlanan yollar,yöntemlerdir. örnegin bir arkadasiniza daha önce gitmedigi bir yerdeki bir postaneyi tarif edeceksiniz. Bunun icin anlatimda genelden özele giden bir yol izlersiniz. önce gidecegi semti sonra caddeyi sonra postanenin oldugu yönü tarif eder son olarak da kolay bulmasi icin postanenin cevresindeki göze batan özelliklerden bahsedersiniz.İste bu yaptiklariniz bir algoritmadir. Ve amaciniz arkadasiniza postaneyi bu algoritma yardimiyla tarif etmektir...
Bilgisayar programlama dilleri de programcilikta bunu gibi yöntemler kullanarak cözüme gider. Algoritmanin uzunlugu kullanilan programlama dilinin seviyesi ve problemin karmasikligi ile dogru orantilidir.
Yapilan algoritma ve tasarimdan sonra yazilim asamasina gelinir ve bu asamada yapilacak programin kullanim ömrü, programin kullanim düzeyi ve hangi amacla kullanilacagi gibi sorularin cevaplarina bakilarak programlama dili secilir. Dil secimi bazi kriterlere göre yapilmaktadir, örnegin kisa sürmesi ve görsel tasarim icermesi, veritabani iletisimi yogun kullanilmasi gereken bir program yapmamiz gerekiyor olsun. Bu durumda Assembly dili ile yola ciktigimizda bahsedilen proje birkac kisilik deneyimili bir programci grubu ile birkac yil alir. C ile iki programci ayni isi üc dört ayda VisualBasic veya Delphi ile bir programci bahsedilen isi bir iki aya yakin bir sürede yapabilir.
Baska bir acidan örnek verirsek örnegin bir ekran karti programlamamiz gerekiyor ve bu kartin driver'ini ( sürücüsünü ) biz yazacagiz. Bu durumda bu ii VB veya Delphi ile yapmamiz imkansizdir, kullanmamiz gereken diller öncelikle Assembly ve C/C++ olmalidir.
Evet, programlama dillerinin kendi alanlari vardir ve her dil kendi bransinda kullanildigi sürece basarili ve etkili kullanilmis olur. Buraya kadar anlattigimi özetlersem.
Bir bilgisayar programi yazmak icin belli asamalar vardir ve bu asamalar gecildiginde kodlamaya baslanabilir. Bunlar:

1)Analiz
2)Algoritma
3)Dil Secimi
4)Kodlama


Analiz ile gerceklestirilmek istenen proje tasarimlanir ve parametreleri arastirilir.
Algoritma ile adimlar tayin edilir. Dil secimi ile en uygun programlama dili secilir. Ve kodlamaya baslanir...
Kullanıcı avatarı
PeeRLeeSS
Megabyte1
Megabyte1
Mesajlar: 928
Kayıt: 15 Mar 2006, 18:12
İletişim:

Mesaj gönderen PeeRLeeSS »

eline saglik düzenlemelerin ve bilgin icin :D

Delphiyi adamdan saymiyormusun :D ben cigköfte programi bile yazarim :D ama 1 yilda ögrenmedim 2 yilimi verdim :D cigköfte programi icin :D
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 46468
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 4592 kez
Teşekkür edildi: 3908 kez

Mesaj gönderen velociraptor »

Peerless bizim forumda adim adim Delphi anlatarak herkesi en ince ayrintisina kadar delphici yapmani istiyoruz. calismalara nezaman baslarsin=?
Kullanıcı avatarı
PeeRLeeSS
Megabyte1
Megabyte1
Mesajlar: 928
Kayıt: 15 Mar 2006, 18:12
İletişim:

Mesaj gönderen PeeRLeeSS »

hemen :D
Kullanıcı avatarı
tasiyici
Megabyte3
Megabyte3
Mesajlar: 1439
Kayıt: 23 Şub 2008, 19:26
cinsiyet: Erkek

Mesaj gönderen tasiyici »

bir program yazmak istiyorum ben bunun için hangi dili ögreneyim acaba
Kullanıcı avatarı
mayhemious
Kilobyte4
Kilobyte4
Mesajlar: 711
Kayıt: 17 Kas 2007, 13:14
cinsiyet: Erkek

Mesaj gönderen mayhemious »

tasiyici yazdı:bir program yazmak istiyorum ben bunun için hangi dili ögreneyim acaba
Tüm programlama dilleri çok basittir. sadece birazcık çaba gerektirir ve ilk birkaç ay disiplinli çalısma sonra gerisi geliyor zaten. Profesyonel ve bagımsız programlar yazmak için C#, java gibi dilleri, daha mütavazi fakat profesyonel program yazmak için delphi, hobi olarak ilgileniyorsanız da visual basic (.NET) öneririm. Benim VB ögrenmedeki amacım kaynak bollugu nedeniyle idi :) su anda profesyonel programlar yazabilecek kadar isimi görüyor :)
adam
Bit
Bit
Mesajlar: 4
Kayıt: 06 Eki 2008, 18:39

Mesaj gönderen adam »

C# C nin temelime bunu duymek guzel :D

Delphi den vazgecemiyorum :D daha çok delphi kulaniyorum :D delphi ve asp

tesekurler guzel bilgiler ..
Kullanıcı avatarı
espi
Bit
Bit
Mesajlar: 2
Kayıt: 16 Kas 2009, 23:30

Re: Tavsiyem c #

Mesaj gönderen espi »

tasiyici yazdı:bir program yazmak istiyorum ben bunun için hangi dili ögreneyim acaba
Benim Tavsiyem benimde kuLlandigim c # Eger gercekten ciddi programlar yapmak istiyorsan saglam bir telemeli olmasi Lazim bunu icin en önemlisi istek sabir ve birazda yetenek gerekiyor

Pusula yayincilik , Kerem Köseoglu nun Programcilik mantigi diye bir kitabi var bunu temin et icinde 4 ayrı dil var temelini bununla olusturabilirsin bunun disinda eger egitim videolarina ihtiyacin olursa özeL msj atabilirsin..
Kullanıcı avatarı
tasiyici
Megabyte3
Megabyte3
Mesajlar: 1439
Kayıt: 23 Şub 2008, 19:26
cinsiyet: Erkek

Re: Programlama Dilleri...

Mesaj gönderen tasiyici »

espi ilk visual basici öğreniyorum ama visual basici tam anlamı ile öğrenince daha iyi bir programlama dili öğreneceğim bilgisayarcı değilim sadece kendi isteklerime cevap veren küçük yararlı yazılımlar yazmak açıklama için teşekkürler
pc faresi
Bit
Bit
Mesajlar: 4
Kayıt: 30 Eyl 2012, 15:59

Re: Programlama Dilleri...

Mesaj gönderen pc faresi »

Veritabanı Oluşturma

Not: Örneklerimizde hesap adını "joomla", db adını "movie" ve db kullanıcı adınıda "forum" olarak alacağız... İsteyenler db ve db kullanıcı adını aynı yapabilirler, daha açık olması için farklı farklı almayı tercih ettim...

cPanel Sunucularda Veritabanı (Sql) ve Veritabanı Kullanıcısı Oluşturma...
- cPanel'imize giriş yapıyoruz ( http://www.site.com/cpanel veya http://www.site.com:2082 ),

- "MySQL Databases" yazısına tıklıyoruz,

- Db Oluşturma : "Current Databases:" yazısı altında "New Database: (Kutucuk) (Create Database)" şeklinde bir bölüm göreceğiz, Kutucuğa oluşturmak istediğimiz databasenin adını yazıp "Create Database" tuşunu tıklıyoruz ve databasemiz oluşuyor... Databasemizin adı site "ftp veya cpanel kullanıcı adı_yazdığınız db adı" şeklinde oluşuyor... Örneğin cPanel kullanıcı adımız (ftp veya cpanel aynı olur zaten) joomla ise ve bizde movie diye database adı yazıp oluştur demişsek ( Create Database ) database adımız "joomla_movie" olur...

"Database Created
Added the database movie. " gibi bir yazı görmüşsek databasemiz oluşmuştur...

- Databaseyi oluşturmak için tıkladığımız linkten sonra database'nin oluştuğunu veya oluşmadığını gösteren bir sayfa çıkacak karşımıza orada "Go back" linkine tıklayarak geri döneceğiz...

- Db User ( Database Kullanıcısı ) Oluşturma : Databasemizi oluşturup "Go Back" tuşuna bastığımızda tekrar databasemizi oluşturduğumuz sayfaya göneriz... Bu sefer aynı sayfada "Current Users:" yazısı altında "Username:" ve "Password:" şeklinde iki yazı ve karşılarında da kutucuklar göreceğiz... En sonda da "Create User" yazılı bir tuş... "Username:" karşısına database kullanıcı adını yazacağız ve "Password:" yazısının karşısınada database kullanıcı adının şifresini yazıp "Create User" tuşuna basacağız... Ve yönlendirdiği sayfada (örneğimizde db kullanıcı adını "forum" olarak alıyoruz)

"Account Created
Added forum with the password 123456 " yazısını görürsek database kullanıcımızda oluşmuştur... Database kullanıcı ismide aynen database ismimiz gibi başına hesap kullanıcı adı ( cPanel veya Ftp) ve peşinde _ taglarını alır... Yani database kullanıcı adımızda "joomla_forum" gibi olmuş olur...

- Peşine tekrar "Go Back" linkine tıklıyoruz ve yine db ve db kullanıcısı oluşturduğumuz sayfaya dönüyoruz...

- Db Kullanıcının Db Üzerindeki Yetkilerini Ayarlama : "Add Users To Your Databases:" yazısını altındaki bölümü daha öncede görmüşsünüzdür, şimdi bu bölümde işlem yapacağız... Bu yazının altındaki bölümde "User:" yazısı ve karşısında kutucuk, hemen yanındada "Database:" yazısı ve onunda karşısında kutucuk göreceksiniz... Bu bölümlerde "User:" yazısının karşısındaki bölümünden database üzerinde yetki sahibi olacak db kullanıcı adını seçeceğiz, ve yanındaki "Database" yazısı karşısındaki bölümdende hangi databasede yetkilendirmek istiyorsak o databaseyi seçeceğiz... Bunların altında bir "Privileges:" yazısı ve onun içeriği olarakda ( alt tarafında ) kutucuklar ve kutucukların yanlarında verilecek işlevselliklerin özelliklerini görürsünüz... Hepsinin bir değeri vardır, örneğin "SELECT" dbden bilgi çekebilir, "CREATE" db de tablo oluşturabilir, "INSERT" tablolara içerik ( veri ) girebilir gibisinden, İngilizce bir sözlükten kelimelerin anlamlarını çıkarırsanız zorlanmazsınız... Bunların hepsinin yerine göre önemi vardır ama size lazım olacak olan "ALL" kutucuğudur... Bu kutucuk database üzerinde yapılabilecek işlemlerin bütün yetkilerini database kullanıcısına verdiğinin anlamıdır... "ALL" kutucuğunu seçip hemen altlarındaki "Add User to Database" tuşuna basıyoruz... Yönlendiğimiz sayfada

"Account added to Access List
Added the user joomla_forum to the database Joomla_movie. " gibisinden bir yazı gördüğümüzde db kullanıcımızın db üzerinde yetkili olduğunu anlıyoruz...

- Database ve database kullanıcısı oluşturup, kullanıcının database üzerinde yetki sahibi olması bölümünü bitirdik... Şimdi sıra geldi Databasemize veri girmeye...

- Databasede Tablo Oluşturmak ve Veri Girmek : Arkadaşlar en son yaptığımız işlemden sonra tekrar "Go Back" tuşuna basıyoruz ve ve yine o malum sayfamıza dönüyoruz... Sayfanın en altında "phpMyAdmin" diye bir link göreceksiniz ona tıklayarak phpMyAdminimizi açıyoruz... Sol tarafta eğer sadece bir tane databasemiz varsa onu göreceğiz zaten, bir kaç tane varsa bir kutucuk çıkacak ve oradan işlem yapmak istediğimiz databaseyi seçeceğiz... Eğer bir tane database varsa solda gördüğümüz o databaseye tıklayarak sağ tarafta işlemlerimizi yapacabileceğimiz sayfanın açılmasını sağlayabiliriz, bir kaç database varsa zaten sol taraftan bir database seçtiğimizde sağ tarafta otomatik olarak değişecektir... İlk açtığımızda sağ taraftaki bölümde dil ayarlarını yapabilirsiniz...

- Databasemizi Seçtik Veri Gireceğiz : Sol tarafta artık yukarıda bahsettiğimiz gerekli işlemleri yaptıktan sonra, yeni açılan sağ bölümün en üstünde soldan ikinci sırada "Sql" yazısını görürsünüz ona tıklayarak sql'umuzu yükleyebileceğimiz sayfamızı açıyoruz... Açılan sayfamızda Üst tarafta büyük bir kutucuk olacak, o bölüme direk sql içeriğini girerek sağ alt köşesindeki "Go" veya Türkçeyi seçmişseniz "Git" tuşunu göreceksiniz, ona tıklayarak verileri sql a işleyebilirsiniz veya büyük kutucuğun alt kısmında bir başka bölüm daha olur ( son güncellemelerle 2.8.0.2 de kaldırıldı ondan sonrakileri denemediğim için bilmiyorum), buradada küçük bir kutucuk ve yanında gözat linki vardır... Gözat dan Pc'mizdeki sql dosyasının yolunu girerek onun alt köşesindeki "Go" veya "Git" linkine basarak o dosyadan okuyup yazmasını sağlayabiliriz...

- Kurduğunuz yazılımlardada veritabanı ayarlarını yaparken dbname, dbuser, dbpasswd gibi bölümleri gördüğünüzde doldurabilirsiniz artık sanırım... ( db name geçerse database adını, db ve user görürseniz db kullanıcı adını, db ve passwd gibi ibareler gördüğünüzdede db kullanıcı şifresini yazarsınız)

- İşlemlerimiz özet olarak bundan ibaret,
pc faresi
Bit
Bit
Mesajlar: 4
Kayıt: 30 Eyl 2012, 15:59

Java,JDBC,JSP,JSF,JPA,EJB,XML,Web Service,MySQL,IBM,JBoss,Or

Mesaj gönderen pc faresi »

C#.Net Delegate ve Event
Bu yazıda C#.Net'te delegate'in ve event'in ne olduğu ve nasıl kullanılacağı anlatılmaktadır. Basit örneklerle delagate ve event açıklanmaktadır.

Delegate
Bir olay gerçekleştiğinde birden fazla fonksiyonu çağırmak istediğinizi düşünelim. Örneğin kullanıcı bir düğmeye tıkladığında birden fazla method'un otomatik olarak çağrılmasını istiyorsunuz. Bunun için delagate kullanabilirsiniz. Burada amaç şu. Bir olay olduğunda birden fazla yere bu olayı bildirebilmek. Bu olay ile ilgilenler delegate ile olaydan haberleri olur.

delagate olarak bir method tanımlanır. Bu method aslında temsilcidir. Bir olay olduğunda siz delegate method'unu çağrırsınız. delegate method'una kendisini ekleyen method'lar otamatik olarak çağrılırlar. Aşağıda basit bir delegate methodu yaratıyoruz.


public delegate void foo();


foo methodu delagate method'udur ve görüldüğü gibi body'si (içeriği) yoktur.

Class'ın içinde herhangi bir olay olduğunda foo() method'unu çağırabilirsiniz.


//Bir olay oldu. foo delagate method'unu çağır
foo();


yukarıda görüldüğü gibi delegate method'lar normal bir method gibi çağrılabilmekte. Ama foo mehodu hiçbir şey yapmamaktadır. foo methodu delagte methodudur. Eğer kendisie bir method kayıt edilmişse o methodu çağıracaktır. Örneğin bir test() methodumuzu şu şekilde ekleyebiliriz.


...
foo x=new foo(test);
...

public void test(){
Console.Write("OK");
}


Bir x foo delagate'i yarattık. Bu delagate'e test method'unu verdik. test method'u console'a sadece OK yazar. Herhangi bir yerde foo methodu çağrıldığında test() methodu çağrılmış olur.

Birden fazla method'u bir delagate method'a ekleyebilirsiniz.


...
foo x=new foo(test);
x+=new foo(test2);
x+=new foo(test3);


Yukarıda test,test2 ve test3 method'larını ekledik. foo çağrıldığında bu üç method'da çağrılacak.

delagate method'ları parammetre'de alabilir. Örneğin foo method'u bir string paramtresi alabilir. Eğer strng paramtresi alıyorsa eklenen tüm method'lar aynı şekilde paramtre alması gerekir.

Basit bir uygulama olsun. Console'da kullanıcıdan bir giriş yapıldığı zaman üç faklı method çağıralım. Bu method'lar kullanıcıya bir mesaj vermektedir.

DelegateTestApp.csİndir Göster Gizle Kopar Satır Gizle Satır Göster

1 using System;
2 namespace Test{
3 class DelegateTestApp{
4 public DelegateTestApp(){
5 testDelegate d=new testDelegate(ok);
6 d+=new testDelegate(ok2);
7 d+=new testDelegate(ok3);
8 string i=Console.ReadLine();
9 d(Convert.ToInt32(i));
10 }
11 public delegate void testDelegate(int a);
12 public void ok(int i){
13 Console.WriteLine(i+" girdiğiniz için teşekkürler");
14 }
15 public void ok2(int i){
16 Console.WriteLine(i+" sayısını girdiniz.");
17 }
18 public void ok3(int i){
19 Console.WriteLine(i+" sayısını girdiniz galiba.");
20 }
21 public static void Main(string[] args){
22 new DelegateTestApp();
23 }
24 }
25 }


Kullanıcı bir sayı girer. Girilen sayı ile d delagati'i çağrılır. d dalegatine ok,ok2,ok3 method'ları eklendiğinden bu method'lar çağrılmış olur. Sonu olarak ekranda bu üç method'un yazdığı yazılar gözükür.

Event
Event'ler dalegate'lere benzer. Ancak daha iyi özelliklere sahiptir. Event'ler genellikle GUI konponentleri için kullanılan bir kavram. Örneğin bir düğmenin tıklanması bir event oluşturur. Veya farenin hareket etmesi, tıklama bu tür "olay"lar bir Event oluştururlar. Aynı şekilde herhangi bir özellikleki değişme için siz bir event yaratabilirsiniz. Bu event'i dinleyenler event'in oluşundan haberdar olur. Yukarıdaki örneğe göre düşünürsek. Kullanıcının bir sayı girmesi bir event oluşturabilir. Oluşan event dinleyicilere bildirilir.

EventTest.csİndir Göster Gizle Kopar Satır Gizle Satır Göster

1 using System;
2 namespace Hello
3 {
4 public class EventTest
5 {
6 public delegate void testDelegate(int a);
7 public event testDelegate testEvent;
8 public EventTest(){
9 testEvent+=new testDelegate(ok);
10 testEvent+=new testDelegate(ok2);
11 testEvent+=new testDelegate(ok3);
12 string i=Console.ReadLine();
13 testEvent(Convert.ToInt32(i));
14 }
15 public void ok(int i){
16 Console.WriteLine(i+" girdiğiniz için teşekkürler");
17 }
18 public void ok2(int i){
19 Console.WriteLine(i+" sayısını girdiniz.");
20 }
21 public void ok3(int i){
22 Console.WriteLine(i+" sayısını niye girdin kardeşim");
23 }
24 public static void Main(string[] args){
25 new EventTest();
26 }
27 }
28 }


Bu örnek ile daha önceki örnek arasında fazla bir fark yok.


public event testDelegate testEvent;


şeklinde bir event yaratıyoruz.


testEvent+=new testDelegate(ok);
testEvent+=new testDelegate(ok2);
testEvent+=new testDelegate(ok3);


şeklinde ok,ok2 ve ok3 method'larını kaydediyoruz.


testEvent(Convert.ToInt32(i));


şeklinde çağırdığımız an ok,ok2 ve ok3 method'ları çağrılmış olur.

Genellikle event dalegate method'larının


(object sender,System.EventArgs e)


şeklinde olduğunu görürsünüz. Bu standart bir işlemdir. sender olayın hangi nesne tarafından üretildiği bilgisini verir. Örneğin iki düğmeyi birden dinlediğinizi düşünün. Bir düğmeye tıklanma olayı olduğunda sizin bir method'unuz çağrılsın. Sizin method'unuz hangi düğme tarafından çağrıldığınızı nerden bilebilir. Bunun için object sender paramtresi gösderilir. Diğer bir soru düğmenin üstündeki yazıya ihtiyacınız olduğunda nasıl alabilirsiniz. Veya bir fareye tıklanma olayı oldu. Farenin tıklandığı x,y noktasını nasıl alabilirsiniz. Bunuda EventArgs class'ını extend eden bir class ile yapabilirsiniz. EventArgnesnesinden gerekli bilgileri alınabilir.

yukarıdaki örneği object sender ve System.EventArgs e parametreleri ile yapalım.

EventTestParametreli.csİndir Göster Gizle Kopar Satır Gizle Satır Göster

1 using System;
2 namespace Hello
3 {
4 public class EventTestParametreli
5 {
6 public delegate void testDelegate(object sender,TestEventArgs args);
7 public event testDelegate testEvent;
8 public EventTestParametreli(){
9 testEvent+=new testDelegate(ok);
10 testEvent+=new testDelegate(ok2);
11 testEvent+=new testDelegate(ok3);
12 string i=Console.ReadLine();
13 int sayi=Convert.ToInt32(i);
14 testEvent(this,new TestEventArgs(sayi));
15 }
16 public void ok(object sender,TestEventArgs args){
17 Console.WriteLine(args.Sayi+" girdiğiniz için teşekkürler");
18 }
19 public void ok2(object sender,TestEventArgs args){
20 Console.WriteLine(args.Sayi+" sayısını girdiniz.");
21 }
22 public void ok3(object sender,TestEventArgs args){
23 Console.WriteLine(args.Sayi+" sayısını niye girdin kardeşim");
24 }
25 public static void Main(string[] args){
26 new EventTest();
27 }
28 public class TestEventArgs : EventArgs{
29 private int sayi;
30 public TestEventArgs(int sayi){
31 this.sayi=sayi;
32 }
33 public int Sayi{
34 get{return sayi;}
35 set{sayi=value;}
36 }
37 }
38 }
39 }



public class TestEventArgs : EventArgs{
private int sayi;
public TestEventArgs(int sayi){
this.sayi=sayi;
}
public int Sayi{
get{return sayi;}
set{sayi=value;}
}
}


şeklinde bir inner class yarattık. Bu class ile girilen sayıyı dinleyen method alabilir. bu class'ta sayı dışındaki başka bilgiler de tutabilirsiniz. Örneğin kullanıcı ne zaman giriş yaptı, hangi işletim sisteminden giriş yaptı vs.. gibi bilgiler de tutulabilir. delegate method'uda


public delegate void testDelegate(object sender,TestEventArgs args);


şeklinde tanımlanır. ve TestEvent


testEvent(this,new TestEventArgs(sayi));


şeklinde çağrılmaktadır.

Yukarıdaki örnekler sadece konunun anlaşılması içindir. Aslında olayı dinleyen ile yayınlayan aynı class olmaz. Bizim örneklerimizde hep Event yaratan class aynı zamanda event'i dinliyordu. ok,ok2 ve ok3 methodları başka bir class'ta olması gerekir. Ancak bunu kolayca yapabilirsiniz. Çok bir şey değiştirmeye gerek yok.
poyrazsoft
Bit
Bit
Mesajlar: 25
Kayıt: 25 Eyl 2013, 15:38
cinsiyet: Erkek

Re: Programlama Dilleri...

Mesaj gönderen poyrazsoft »

Lua dilini göremedim yoksa lua'yı dilden saymıyor musunuz ? :)
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 46468
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek
Teşekkür etti: 4592 kez
Teşekkür edildi: 3908 kez

Re: Programlama Dilleri...

Mesaj gönderen velociraptor »

Lua ya baktım da kodları sanki Python a benziyor , Python a bir ara başlayacaktım lakin 3 satırlık bir kodun exe yapılmış hali 5 Mb olunca vazgeçtim , Lua aslında bir script dili olarak geliştirilmiş , Wikipedia da Türkçesi yok (Olsa şaşardım)
Cevapla