21 Haziran 2008 Cumartesi

Visual Basic : Ne ? Nerede ? Ne işe yarar

Visual Basic ile ilgili bilgi edinmeye kullanacağımız programı tanıyarak başlayalım. Aşağıdaki görüntüler Visual Studio, Visual Basic 6.0'dan alınmıştır.Yukarıdaki resimdeki numaralandırılmış bölümler aşağıdaki gibidir: 1. Toolbox, formlarda kullanabileceğimiz nesneler. 2. Form, üzerine nesneler koyup işlev kazandıracağımız bir form. 3. Proje Dosyaları, projemizde kullandığımız dosyalar. Buradaki uzantılar şu şekildedir: - *.vbp (Ana Proje dosyası) - *.frm (Form dosyaları) - *.bas (Modül dosyaları) 4. Properties bölümü, nesnelerin ya da formların özellikleri için. 5. Başlangıç yeri ve boyutu (Formumuz için görünüm ayarı). 6. Uyarılar, hatalar ve iletiler. Eğer yukarıdaki bölümler görünmüyorsa program menülerindeki View sekmesinden görünmeyenleri açabilirsiniz. Ve şimdi detaylara inelim.Yeni Bir Projeye Başlamak Program açılır açılmaz gelen pencerede Standart EXE simgesine tıklıyoruz. Artık projemize başladık. Formumuzda nesneleri yerleştirelim ve işlev kazandıralım. Toolbar Formumuzda kullanabileceğimiz nesneleri tanıyalım.Sağdan sola, yukardan aşağı şekilde: Seçim Aracı (Fare Simgesi): Nesneyi seçmek için. Picturebox (Üstteki resim): Resim kutusu eklemek için. Label (A Harfi): Forma metin eklemek için. Textbox (ab yazan): Metin kutusu eklemek için. Frame (xy yazan): Çerçeve ya da özel bölüm eklemek için. Button: Buton eklemek için. Checkbox: Seçim kutusu eklemek. Radio Button: Tekli seçim kutusu eklemek. Seçme Kutusu: Tıklandığında menü açılan seçim kutusu. Listbox (Liste Kutusu): Listeleme seçim eklentisi. Scrollbar (Yatay): Yatay yönde kaydırma çubuğu eklemek. Scrollbar (Dikey): Dikey yönde kaydırma çubuğu eklemek. Timer (Saat Simgesi): Zamanlama sayacı eklemek için. Sürücü Seçim Kutusu (Hard disk simgesi): Sürücüleri listeler. Klasör Seçim Kutusu (Klasör simgesi): Klasörleri listeler. Dosya Seçim Kutusu (Kağıt simgesi): Dosyaları listeler. Geometrik Şekil Ekleme: Kare, daire vb. eklemek için. Çubuk Ekleme: Doğru eklemek için. Image (Alttaki Resim): Resim ekleme*. Data: Form nesneleri için bilgi kutusu. OLE: OLE/ActiveX Nesnesi eklemek. Bu nesnelere ek olarak sağ tuşla toolbar'a tıklayıp Add Component bölümünden yeni nesneler ekleyebileceğinizi unutmayın. Bunlara ayrıntısıyla OCX ve DLL dosyaları bölümünde değineceğiz.Formumuzun Başlığını Belirlemek Bunun için form üzerinde bir yere tıklayın ve Properties (Özellikler) penceresinde Caption özelliğinin yanındaki kutuya başlığı yazmamız yeterlidir.Yine özellikler penceremizden belirleyebileceğimiz bir diğer özellik formun görünüş stili. Tam ekran yapılacak mı? Simge durumunda görev çubuğunda görünecek mi? gibi özelliklerden, boyutunun değiştirilmesini BorderStyle özelliğinden belirliyoruz. ShowInTaskbar özelliği ise görev çubuğunda görünüp görünmeyeceğidir. Nesne özelliklerini kod kullanarak değiştirmeye bir örnek: Bir button oluşturun iki defa tıklayın ve kod satırına aşağıdaki mavi görünen yeri yazın.
Kod:
Private Sub Command1_Click()Form1.Caption = "Yeni Başlık"End SubProgramı çalıştırın ve butona basın. Başlığın değiştiğini göreceksiniz. Burdaki temel mantık [Obje].[Obje Özelliği] şeklinde kullanarak değeri belirtmektir.Resim: Programı çalıştırmak. Bir Saat Programı Yapalım Bir Timer ve bir Label (Metin) nesnesini aşağıdaki gibi yerleştirin:Form1 özelliklerinde Caption karşısına Saat Örneği yazın. Label1 (Koyduğumuz yazı nesnesinin adı)'e tıklayın. Özelliklerde Font özelliğini bulun ve karşısına iki defa tıklayıp yazı tipi boyutunu 24 yapın. Yine Label1 Özelliklerde Alignment özelliğini bulun ve karşısında açılan menüden 'Center' özelliğini seçin. Böylece yazıyı ortaladık. Timer1 Özelliklerde Interval özelliğini bulun ve karşısında 1000 yazın. Bu özellik her 1000 ms (1 saniye)'de bir kodun gözden geçirileceğini bildirmemize yarar. Form nesnelerimizi yerleştirdik. Şimdi kodlamaya geçiyoruz. Bunun için form üzerinde eklediğimiz Timer1 nesnesine iki defa tıklayın ve kod penceresini açın. Aşağıdaki şekilde kodu ekleyin:
Alıntı
Private Sub Timer1_Timer()Label1.Caption = TimeEnd SubProgramı çalıştırırsanız saatin çalıştığını göreceksiniz. Bu programa form özelliklerinde Icon özelliğini kullanarak simge ekleyebilir ve menüde File > Make Project1.exe sekmesine giderek EXE formatlı program haline getirebilirsiniz.

2 Haziran 2008 Pazartesi

Pascal programlama dili

Pascal (Paskal okunur) bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hala yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

Bilgisayar bilimcisi Niklaus Wirth Pascal'ı 1970'te yapısal programlamayı derleyiciler için daha kolay işlenir hale getirebilmek amacıyla geliştirmiştir. Adını matematikçi ve düşünür Blaise Pascal'dan alan Pascal, Algol programlama dilinden türemiştir. Wirth, Pascal'dan başka Modula-2 ve Oberon programlama dillerini de geliştirmiştir. Bu diller Pascal'a benzerler ve ayrıca nesneye yönelik programlamayı da desteklerler.


Bir dilin sözdizimine örnek olarak yaygın biçimde bir "Merhaba dünya" programı gösterilir. Aşağıda Pascal ile yazılmış bir "Merhaba dünya" programı görebilirsiniz:

 begin
clrscr;
Writeln('Merhaba Dünya');
readln;
end.


Pascal'da tüm programlar "Program" anahtar sözcüğü ile başlar, ve ardından "Begin" / "End" anahtar sözcükleri ile sınırlanan bir blok gelir. Pascal dilinde harflerin büyüklüğü-küçüklüğü önemli değildir. İfadeler noktalı virgül ile ayrılır, ve programlar bir nokta ile bitirilir. Bazı derleyiciler için "Program" satırı zorunlu değildir.

Orijinal halinde Pascal, tümüyle prosedürel bir dildir ve programlar if, while, for ve benzeri yapılardan oluşur.

Pascal ve C

Pascal ve C dilleri yaklaşık aynı zamanlarda geliştirilmişlerdir ve aralarında önemli benzerlikler vardır. Orijinal Pascal ile C'nin ikisi de yapısal programlama fikrini gerçekleştiren küçük ve prosedürel dillerdir. İkisinde de dinamik bellek ayırma ve işaretçi işleme (İng. pointer manipulation) mümkündür. Ancak, bu iki dil dışarıdan bakıldığında farklı görünürler (C programları genelde Pascal programlarından kısadır).

Tartışma yaratan farklılıklardan bir tanesi, Pascal'ın atama için := ve karşılaştırma için = imlerini kullanmasıdır. Matematikte = imi her iki amaç için de kullanıldığından, programcılar bazen yanlışlıkla Pascal'da :=, C'de ise == kastedildiği halde daha kısa olan = imini kullanırlar. C'nin tasarımcıları atama işleminin karşılaştırma işleminden daha sık kullanıldığını, dolayısıyla kısa olan imin atama işlemi için kullanılması gerektiğini savunurlar. Pascal'ın savunucuları ise, yanlışlıkla atama yapmanın yanlışlıkla karşılaştırma yapmaktan çok daha tehlikeli olduğunu savunurlar. Bu savunma, eğer, C'de olduğu gibi, bir if ifadesi içinde atama yapılabiliyorsa, kesinlikle doğrudur.

Bu tartışma, iki dilin tasarım mantıkları arasındaki farka işaret eder. Pascal, en azından kısmi olarak, bir eğitim dili olarak tasarlanmıştır. Yanlışlıklara yol açabilecek sözdizimi yapılarından kaçınılmış, sözdiziminin anlaşılması kolay olmasına dikkat edilmiştir. C'nin tasarımcıları ise dili programların kısa olması için tasarlamışlardır.

Bu iki dil arasındanki başka bir fark da, Pascal'ın "strongly typed" olmasıdır. Yani, bir değişken kullanılmadan önce belirli bir tipe sahip olmak üzere tanımlanmalıdır, ve faklı tiplerden iki değişken birbirlerine atanamazlar. Bu sınırlama pek çok programlama yanlışını önler.

C'nin tersine, Pascal'da içiçe fonksiyon tanımlamak mümkündür.

Orijinal Pascal'da program parçaları ayrı ayrı derlenemezler, ve derleme anında boyutu bilinmeyen diziler kullanmak mümkün değildir. Ancak bu sınırlamalar, Pascal'ın bazı versiyonlarında kaldırılmıştır. pascal biraz zor ama çözüldüğü zaman zevkli bir dildir

Pascal derleyicileri

İlk Pascal derleyicileri (örneğin kendisi de Pascal ile yazılmış olan UCSD p-System derleyicisi) Pascal programlarını makinadan bağımsız p-Code'a çevirmek üzere tasarlanmışlardı. Bu kod, sonradan her sistem için ayrı bir program tarafından yorumlanıyordu. Sonuç olarak, yalnızca küçük yorumlayıcı kısım diğer mimarilere taşınmak (port edilmek) zorundaydı.

1980'lerde Anders Hejlsberg Nascom-2 için Blue Label Pascal derleyicisini yazdı. Daha sonra Borland'da çalışmaya başlayan Hejlsberg, burada derleyicisini IBM PC için baştan yazıp, adını Turbo Pascal koydu. Borland, Turbo Pascal'ı Hejlsberg'in Blue Label'ı sattığı fiyattan çok daha ucuza, 49 dolara sattı.

Ucuza elde edilebilen Borland derleyicisinin 1980'lerin sonunda IBM PC üzerinde yoğunlaşmaya başlayan Pascal topluluğunda büyük etkisi oldu. BASIC yerine yapısal bir programlama dili arayan pek çok PC amatörü Turbo Pascal'ı kullanmaya başladı. Yalnızca bir mimaride çalışan Turbo Pascal, programları doğrudan Intel 8088 makina diline çeviriyordu, dolayısıyla yorumlama kullanan yaklaşımdan daha hızlı idi.

Super Pascal, dile nümerik olmayan etiketler ve bir return ifadesi ekledi.

1990'larda değişik mimariler için işletilebilir kod üretebilen derleyiciler kullanılmaya başlandığında Pascal programları pek çok makina diline kolayca derlenebilir hale geldiler.

Borland, Turbo Pascal'a 5.5 versiyonunda nesneye yönelim ekledi.

Borland daha sonra daha geniş bir nesneye yönelim desteği istediğine karar verip, Apple'ın önerdiği (hala bir standart olmayan) Object Pascal taslağını kullanarak Delphi'yi geliştirmeye başladı. Borland da başta bu dili Delphi'de Object Pascal olarak adlandırdıysa da, sonradan dilin adını da Delphi olarak değiştirdi. Pascal'ın bu 'lehçesini' destekleyen başka derleyiciler de vardır.

Herkesin kullanımına açık derleyiciler

Herkesin kullanımına açık bazı Pascal derleyicileri aşağıda sıralanmıştır:

  • P4 derleyicisi: Pascal kullanılarak yazılan (UCSD p-System dahil olmak üzere) pek çok Pascal derleyicisinin temeli olan derleyici.
  • FreePascal da Pascal kullanılarak yazılmıştır (ve kendi kendini derleyebilir). FreePascal, kullanışlı ve güçlü bir derleyici olarak tasarlanmıştır ve eski uygulamaları derlemek için kullanılabileceği gibi, yeni uygulamalar yazmak için de geliştirilmiştir.
  • Lazarus

Geçmişteki eleştiriler

1980'lerde ve 1990'ların başındaki kadar olmasa da hala popüler olan Pascal, yine de "ciddi" programlama için uygun olmadığı ve yalnızca eğitim için kullanılabileceği savıyla eleştirilmiştir. C'nin yaratıcılarından olan Brian Kernighan, 1981'de yazdığı makalesi Why Pascal Is Not My Favorite Programming Language (Pascal Niçin Benim En Sevdiğim Dil Değildir) ile bu eleştirileri özetlemiştir. Öte yandan, 1980'lerde Apple Lisa ve Macintosh gibi büyük projeler Pascal'a dayanıyorlardı. Aradan geçen zaman içinde, Pascal gelişmeyi sürdürmüş ve bu sayede Kernighan'ın eleştirileri artık modern Pascal versiyonları için geçerli olmaktan çıkmıştır. Yeterli bilgiye sahip olmayan pek çok kimse bugün hala bu eleştirilerin geçerli olduğunu düşünmektedir. Pascal üzerindeki bu haksız damga, bugün Pascal'ın önündeki en büyük sorunlardan biridir.