ÜYE GİRİŞİ  
Kullanıcı adı :
Parola :
 
  Üye Ol!  
 
 
ANASAYFA HABERLER ASP ASP.NET PHP C/C++ C# JAVA ARAMA İLETİŞİM

ASP.NET
  Expression Web ile Site Yapimi
  Web Server Control Yazmak - 2
  Web Server Control Yazmak - 1
  Sql Cache Dependency
  Web Kontrollerini Etkin Kullanmak
  Xslt Kullanımı
  Bir Web Sayfasının Anatomisi
  Client Script Callback
  Login Kontrollerinin Kullanımı

ASP
  ASP Nesneleri
  29 Soruda ASP
  Matematiksel Uygulamalar
  Select Case Yapısı 2
  Fonksiyon(Function) Kullanımı
  IF-ELSE...
  GET Yöntemi ile İşlemler
  Asp de Tarih ve Saat fonksiyonları
  While-wend döngüsü

C Sharp (C#)
  C#'da klasör işlemleri
  C# ile diziyi tersine çevirme
  Çok Kullanılan Kontroller-1
  C# ile Kronometre Uygulaması
  Overloaded Metotların Gücü
  C# ile XMLQuery Örneği
  Rastgele Kod Üretimi
  Kontroller ile Çalışma
  Düzenli İfadeler Nedir?

DUYURULAR

F# Microsoft dil teknolojisinin en yeni üyesi.Common Lisp-Slime-Emacs tarzında etkileşimli,kıvrak,sonuçların anında görülebildiği ve yüksek performanslı bir betik dil olarak özetleyebiliriz bu yeni dili. devamı >>


Türk Telekom'dan yapılan yazılı açıklamada, Telekomünikasyon Kurumu'nun onayladığı yeni tariflerin, internet servis sağlayıcı şirketlerin maliyetlerini önemli oranlarda düşüreceği aktarıldı. devamı >>


Layout | Asundinay.Com
JAVA İçin Eklenmiş Makale
 Makale Adı  :  Layout
 Yayın Tarihi :  22.08.2007 18:06:06 Ekleyen :  Kazım Aydın Okunma : 158

Geçtiğimiz hafta hayatımın en mutlu günlerinden birisini, değerli bir arkadaşımının ofisinde, bilgisayarının başında JBuilder kullanarak geçirdim. Bu hafta, o günü mumla aradığımı söylemek isterim. JBuilder ile daha önce hiç uygulama geliştirmemiş olmama rağmen, kolayca adapte olmuştum. Elbetteki benim için en büyük rahatlığı, Applet gibi görsel uygulamaların ekran tasarımlarının son derece kolay bir şekilde yapılabilmesiydi. Bu hafta yine sevimsiz notepad editorüm ile başbaşayım. Aslında amacım arkadaşımın bilgisayarında JBuilder ile başka çalışmalarda yapmaktı. Fakat kendisi tatile çıktığı için banada notepad ile bir kahve molası geçirmek kaldı.

özellikle notepad editorünü kullanarak applet tasarlamanın en zor yanlarından birisi, applet üzerindeki bileşenlerin yerleşim şekillerinin ayarlanmasının zorluğudur. Bu hafta ne yapıp edip, bu fobiyi yenmeye karar verdim ve java dilinde Layout kavramını incelemeye başladım. Layout’ lar applet üzerine yerleştirilecek bileşenlerin belli bir nizamda olmasını sağlamaktadırlar. Java paketiyle gelen Layout sınıfları 5 adettir.

Java Layouts
GridLayout
BorderLayout
FlowLayout
CardLayout
GridBagLayout

öncelikle işe en kolay olanından başladım. FlowLayout. Layout sınıflarını anlamanın en iyi yolu elbette onları bir örnek üzerinde uygulamakla mümkün olabilirdi. Bu amaçla çok basit olarak aşağıdaki gibi bir java örneği geliştirdim.

import java.awt.*;
import java.applet.Applet;

public class Layouts extends Applet
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Label lb1;
    Label lb2;

    public void init()
    {
        setLayout(new FlowLayout(FlowLayout.CENTER,15,30));

        lb1=new Label("Username");
        tf1=new TextField(25);
        lb2=new Label("Password");
        tf2=new TextField(25);
        bt1=new Button(" OK ");

        add(lb1);
        add(tf1);
        add(lb2);
        add(tf2);
        add(bt1);
    }
}

Burada tek yaptığım, applet üzerine yerleşecek bileşenlerin FlowLayout ’a göre düzenlenmesiydi. Applet’ in FlowLayout’ u uygulayacağını belirtmek için,

setLayout(new FlowLayout(FlowLayout.CENTER,15,30));

kod satırını kullandım. Burada, bileşenlerin Applet üzerinde bulundukları satırda ortalanarak yerleştirilecekleri ve yatay olarak aralarında 15 piksel, dikey olarak ise 30 piksel boşuk olacağı belirtiliyor. Peki ama bu yerleşim nasıl oluyor? Nitekim kaynaklarda, FlowLayout’ un bileşenleri sola ve aşağı doğru hizaladığı söyleniyordu. Denemekten başka çarem olmadığını düşünerek hemen işe koyuldum ve basit bir html sayfasında applet tagımı aşağıdaki gibi ekledim.

<APPLET CODE="Layouts.class" width="300" height="500">
</APPLET>

Şimdi bu html sayfasını çalıştırdığımda aşağıdaki gibi bir görüntü elde ettim.

Doğruyu söylemek gerekirse kel alaka bir tasarım olmuştu. FlowLayout için diğer iki durum, yerleşim şeklinin sola dayalı olmasını belirten FlowLayout.LEFT ve sağa dayalı olmasını belirten FlowLayout.RIGHT seçenekleriydi. önce LEFT durumunu inceledim ve aşağıdaki ekran görüntüsünü elde ettim.

Sanki durumu anlamaya başlamış gibiydim. Bu kez RIGHT durumunu denedim ve aşağıdaki sonucu elde ettim.

Görünen o ki, düzgün bir tasarım yapmak istiyorsam bunu öncelikle kafamda yapmalı ve Applet’ in boyutlarını çok tutarlı belirtmeliydim. Ancak bu şekilde düzgün bir tasarım elde edebilirdim. Şu an için deneme yanılma yöntemini kullanmaktan başka bir şey aklıma gelmiyor açıkçası. örneğin, en uzun Label olan Username ile TextField’ ların boyu düşünüldüğünde Applet tagını aşağıdaki gibi düzenlemek daha mantıklı geliyordu.

<APPLET CODE="Layouts.class" width="250" height="500">
</APPLET>

Java kodunda da, FlowLayout dizilimini FlowLayout.LEFT olarak belirlediğimde, daha düzenli bir ekran görüntüsü elde ettim. Gerçi bu varsayımsal yaklaşım ile kullanılan teknik pek hoşuma gitmemişti ama en azından buz dağının üst kısmını biraz olsun yontmayı başarabilmiştim.

Bu örnekten sonra, arkadaşımı bir kat daha özledim desem yalan olmaz. Heleki JBuilder uygulamasını. Oradaki tasarım rahatlığı gerçektende muhteşemdi. Bu sırada aklıma başka bir şey geldi. Acaba, bir Layout düzeneğini, bir Panel bileşenine uygulayabilir miydim? Eğer böyle bir şey söz konusu olursa, görsel tasarımı biraz daha kolaylaştırabilirdim. Bu amaçla aşağıdaki gibi bir örnek geliştirdim.

import java.awt.*;
import java.applet.Applet;

public class Layouts extends Applet
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Label lb1;
    Label lb2;
    Panel p1;

    public void init()
    {
        p1=new Panel();
        p1.setBackground(Color.yellow);
        p1.setLayout(new FlowLayout(FlowLayout.LEFT));

        lb1=new Label("Username");
        tf1=new TextField(25);
        lb2=new Label("Password");
        tf2=new TextField(25);
        bt1=new Button(" OK ");

        p1.add(lb1);
        p1.add(tf1);
        p1.add(lb2);
        p1.add(tf2);
        p1.add(bt1);

        add(p1);
    }
}

İlk olarak, bir Panel bileşeni oluşturdum ve bu bileşen üzerine yerleştireceğim diğer bileşenlerin FlowLayout düzeneğine göre konumlandırılmalarını sağlamak için Panel bileşenine,

p1.setLayout(new FlowLayout(FlowLayout.LEFT));

satırındaki setLayout metodunu uyguladım. Böylece, Panel bileşeni üzerine yerleşecek bileşenler, FlowLayot düzeneğine göre, Layout’ un solundan hizalanacak şekilde konumlanacaklardı. Bileşenleri Panel’ e eklemek için, Panel sınıfına ait add metodunu kullandım. Tabi bu işlemlerden sonra Panel bileşeninide, Applet’ e add metodu ile eklemeyi unutmadım. Bu adımlardan sonra, Java dosyasını derleyip applet’ i içeren html sayfasını ilk çalıştırdığımda aşağıdaki sonucu elde ettim.

Böyle olacağı belliydi zaten. Applet tagında width özelliğini arttırmam gerekiyordu. Bu değeri 600 olarak belirledim. Şimdi elde ettiğim sonuç çok daha iyiydi.

Resmin büyük hali için tıklayın

Layout sınıfları bitmek bilmiyordu. Sırada BorderLayout sınıfı vardı. Bu sınıfın en ilginç yanı, Applet ekranının, NBA basketbol takımlarının liglerinde gruplanışlarına benzer bir yapıda ayrıştırılıyor olmasıydı. Doğu Grubu, Merkez Grubu, Batı Grubu, Kuzey Grubu ve Güney Grubu. Yani, applet üzerine ekleyeceğim bileşenleri, bu gruplara yerleştirmem gerekiyordu. Bunu görsel olarak anlayabilmek için, kaynaklarımı araştırdım ve yukarıdaki örneğe bu kez BorderLayout düzeneğini uyguladım.

import java.awt.*;
import java.applet.Applet;

public class Layouts extends Applet
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Label lb1;
    Label lb2;

    public void init()
    {
        setLayout(new BorderLayout());

        lb1=new Label("Username");
        tf1=new TextField(25);
        lb2=new Label("Password");
        tf2=new TextField(25);
        bt1=new Button(" OK ");

        add("North",lb1);
        add("Center",tf1);
        add("West",lb2);
        add("South",tf2);
        add("East",bt1);
    }    
}

Applet üzerindeki bileşenlerin BorderLayout düzeneğine göre yerleştirileceğini,

setLayout(new BorderLayout());

satırı belirtiyordu. BorderLayout, Applet’ i 5 yön bölgesine böldüğü için, her bileşeni Applet’ e eklerken add metoduna ilk parametre olarak, bileşenin hangi bölgeye yerleştirileceğinin belirtilmesi gerekiyordu. Bu işlemde aşağıdaki satırla gerçekleştirmekteydi.

add("North",lb1);
add("Center",tf1);
add("West",lb2);
add("South",tf2);
add("East",bt1);

örneğin, tf2 isimli TextField bileşeni Applet’in South (Güney) bölgesine yerleşecekti. Artık Applet’ i kullandığım html sayfasını çalıştırıp sonuçları görmek istiyordum. Ama sonuçları göstermeye çekiniyorum açıkçası. BorderLayout’ un Applet ekranına uygulanması sonucu aşağıdaki gibi muhteşem ötesi bir tasarım elde ettim. Tarihi bir başarı olduğunu belirtmek isterim.

İşin kötü yanı, belli bir bölgeye sadece tek bir bileşen yerleştirebiliyor olmasıydı. BorderLayout düzeneğinin nerede kullanılacağını düşünürken, diğer Layout’ ları incelemenin daha uygun olacağını farkettim. Nitekim, BorderLayout her ne kadar yukarıdaki ekran tasarımı için uygun olmasada elbetteki kullanıldığı bir takım yerler olabilirdi. Layout’ lar ile uğraşmak gerçekten insana sıkıcı geliyor. Artık JBuilder gibi görsel tasarım araçlarının o kadar paraya gerçekten deydiğini söyleyebilirim. Hemde gönül rahatlığıyla. Bu düşünceler eşliğinde kendime yeni bir fincan kahve aldıktan sonra bir diğer Layout sınıfı olan GridLayout’ u incelemeye başladım. GridLayout ile nispeten biraz daha güzel ve kolay form tasarımları oluşturabileceğimi düşünüyordum. Yapmam gereken son derece basitti. Aynı örneği GridLayout sınıfı ile geliştirmek.

import java.awt.*;
import java.applet.Applet;

public class Layouts extends Applet
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Label lb1;
    Label lb2;
    Panel p1;
    Panel p2;

    public void init()
    {
        setLayout(new GridLayout(2,1));

        p1=new Panel();
        p1.setBackground(Color.orange);
        p1.setLayout(new FlowLayout(FlowLayout.LEFT));

        p2=new Panel();
        p2.setBackground(Color.blue);

        lb1=new Label("Username");
        tf1=new TextField(25);
        lb2=new Label("Password");
        tf2=new TextField(25);
        bt1=new Button(" OK ");

        p1.add(lb1);
        p1.add(tf1);
        p1.add(lb2);
        p1.add(tf2);
        p1.add(bt1);
   
        add(p1);
        add(p2);
    }
}

Bu kez, Applet’e iki Panel bileşeni ekledim. Bu iki Panel bileşeninde 2 satır ve 1 sütunluk bir GridLayout düzeneği içinde Applet’ e ekledim. GridLayout nesneleri, temel olarak iki parametre almakta. İlk parametre, satır sayısını belirtirken, ikinci parametrede doğal olarak sütun sayısını belirtiyor. Bununla birlikte, GridLayout sınıfının 4 parametre alan bir diğer yapıcısıda mevcut. Bu yapıcının aldığı son iki parametre ise, Grid hücrelerine yerleştirilecek bileşenlerin arasındaki yatay ve dikey uzaklıkları piksel olarak belirtmekte. Bu örneği geliştirdikten sonra Applet tagını aşağıdaki gibi düzenledim.

<APPLET CODE="Layouts.class" width="610" height="100">
</APPLET>

Sonuç ise, FB (FB lilerin şampiyonluklarınıda tebrik ederim bu arada) renkleriyle aşağıdaki gibi oluştu. BJK taraftarı olmama rağmen, tasarımı böyle renklendirebildiğim için çok mutlu oldum. Demek ki, Layout’ ları bir arada kullanarak ve işin içine Panel bileşenlerini katarak daha sağlam tasarımlar oluşturulabilirdi. Notepad ile dahi olsa. Ama bununla kim uğraşırdıki güzelim JBuilder varken. (Elbette ben uğraşırdım sanırım.)

Resmin büyük hali için tıklayın

GridLayout sınıfınıda geçtim derken karşıma daha karmaşık bir Layout sınıfı çıkıverdi. GridBagLayout. Bunu anlayabilmek için, Bilim Teknik dergisinde her ay çıkan soruları çözer gibi kağıt kaleme sarılıp çalışmam gerektiğini itiraf etmeliyim. GridBagLayout sınıfı ile, Applet üzerinde çok karmaşık ekran tasarımlarını yapabilmek mümkün. Ancak bu işi başarabilmek için bir o kadarda karışık bir teknik kullanmak gerekiyor. Burada önemli olan nokta, Applet üzerine yerleşecek bileşenlerin X,Y koordinatları ile uzunluk ve yükseklik bilgileri. Nitekim, GridBagLayout tekniğinde, Applet karelere bölünüyor ve bileşenler bu kareler üzerine yerleştiriliyor. Şimdi burada hakketten ele kağıt kalem almak ve çizmek lazım. Ancak dijital bir ortamda olduğumuzu düşünürsek bu iş için, gelişmiş grafik programlarınıda kullanabilirim. İşte bu amaçla bu Layout sınıfını kullanarak, Applet üzerinde konumlandırılacak bir Button nesnesini göz önüne alarak basit bir çizim oluşturdum.

Resmin büyük hali için tıklayın

Temel olarak yapacağım işlem buydu. Applet ekranını karelere bölmek. örneğin bir Button yerleştirmek istiyorum. önceden bu Button bileşenin X, Y koordinatlarını, uzunluk ve yükseklik bilgilerini, yukarıdaki gibi bir şekli baz alarak bilmem gerekiyor. Olayın esprisi buydu işte. Bu nedenle de GridBagLayout diğer Layout sınıflarına göre daha karmaşık Applet tasarımları oluşturmamıza izin veriyordu. çünkü bir ekran pozisyonlaması için gereki 4 önemli unsuru baz alıyordu. X,Y Koordinatları, uzunluk ve yükseklik. Peki bu zahmetli tasarımı kodlamada nasıl gerçekleştirebilirdim. Bu amaçla epeyce bir saatimi, sırf GridBagLayout’ un nasıl kullanıldığını anlamaya harcadım. Sonuç olarak aşağıdaki gibi bir örnek geliştirdim.

import java.awt.*;
import java.applet.Applet;

public class Layouts extends Applet
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Label lb1;
    Label lb2;
    GridBagLayout gbl;
    GridBagConstraints gbc;

    public void init()
    {

        gbl=new GridBagLayout();
        gbc=new GridBagConstraints();

        setLayout(gbl);
        gbc.insets=new Insets(2,2,2,2);
        gbc.fill=GridBagConstraints.BOTH;

        gbc.gridx=0;
        gbc.gridy=0;
        gbc.gridwidth=5;
        gbc.gridheight=1;
        lb1=new Label("Username");
        gbl.setConstraints(lb1,gbc);
        add(lb1);

        gbc.gridx=6;
        gbc.gridy=0;
        gbc.gridwidth=5;
        gbc.gridheight=1;
        tf1=new TextField(25);
        gbl.setConstraints(tf1,gbc);
        add(tf1);

        gbc.gridx=0;
        gbc.gridy=1;
        gbc.gridwidth=5;
        gbc.gridheight=1;
        lb2=new Label("Password");
        gbl.setConstraints(lb2,gbc);
        add(lb2);

        gbc.gridx=6;
        gbc.gridy=1;
        gbc.gridwidth=5;
        gbc.gridheight=1;
        tf2=new TextField(25);
        gbl.setConstraints(tf2,gbc);
        add(tf2);

        gbc.gridx=0;
        gbc.gridy=3;
        gbc.gridwidth=5;
        gbc.gridheight=1;
        bt1=new Button(" OK ");
        gbl.setConstraints(bt1,gbc);
        add(bt1);
    }
}

Kodları yazdıktan sonra önce Applet’ in nasıl çalıştığına baktım. Sonuç hiçte fena değildi.

Nasıl olmuştuda böylesine güzel bir sonuç elde edebilmiştim. Herşeyden önce, GridBagLayout sınıfını oluşturdum. Ancak burada GridBagConstraints isimli başka bir sınıf daha vardı. Bu sınıf, her bir bileşen için gerekli X, Y koordinatları ile, uzunluk ve yükseklik ayarlamalarını taşıyacak nesneler örneklendirmek amacıyla kullanılmaktaydı. Dolayısıyla bir bileşeni, GridBagLayout sınıfı nesnesine eklerken setConstraints metodu ikinci parametre olarak, GridBagConstraints sınıfına ait nesne örneğini almaktaydı. Böylece, setConstraints metodunun ilk parametresinde belirtilen bileşen, Applet üzerinde belirtilen X, Y koordinatlarına, belirtilen yükseklik ve uzunlukta çiziliyordu. Burada uzunluk ve yükseklik piksel bazında değil hüce bazındadır. örneğin aşağıdaki satırları göz önüne alalım.

gbc.gridx=6;
gbc.gridy=1;
gbc.gridwidth=5;
gbc.gridheight=1;
tf2=new TextField(25);
gbl.setConstraints(tf2,gbc);
add(tf2);

Burada TextField bileşeni, X=6, Y=1 koordinatlarına yerleştirilmiştir. Uzunluğu 5 hücre kadar, yüksekliği ise 1 hücre kadardır. Daha sonra, bu bileşen GridBagLayout nesnesine, setConstraints metodu ile eklenmiştir. Artık, bu bileşeni Applet’ e add metodu ile eklediğimizde, GridBagLayout konumları esas alınacaktır.

gbc.insets=new Insets(2,2,2,2);
gbc.fill=GridBagConstraints.BOTH;

Satırlarına gelince. Bu satırlarda, GridBagConstraint nesnesinin bir takım özellikleri belirlenmektedir. Bunlardan birisi insets özelliğidir. Insets ile, hücreler içindeki bileşenlerin hücrenin kenarlarına olan uzaklığı belirtilmektedir. Bir başka deyişle boşluk miktarı. Fill özelliği ileyse, GridBagLayout’ un genişlemesi durumunda, hücre içi bileşenlerin her yönde eşit şekilde genişlemesi belirtilmiştir.

Bu zor ama güçlü Layout’ tan sonra, incelemeyi unuttuğum bir Layout daha olduğunu farkettim. CardLayout. İlk başta iskambil desteleri ile bir alakası olabilir mi diye düşündüm. Gerçektende öyleymiş. CardLayout’ ta, birbirlerinin üstüne binen katmanlar söz konusu. İşin güzel yanı ise, CardLayout’ lar ile, birbirinden farklı katmanların tasarlanabilmesi ve çalışma zamanında bu katmanlardan sadece birisinin görünür olması. Dolayısıyla bu katmanlar arasında gezinmek için, olay güdümlü programlama tekniklerini kullanmak gerekiyor. Nasıl mı? İşte örnek.

import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class Layouts extends Applet implements ActionListener
{
    TextField tf1;
    TextField tf2;
    Button bt1;
    Button bt2;
    Label lb1;
    Label lb2;
    Label lb3;
    Panel p1;
    Panel p2;
    Panel p3;
    Panel p4;
    CardLayout iskambil;

    public void init()
    {

        iskambil=new CardLayout();

        p1=new Panel();
        p2=new Panel();
        p2.setBackground(Color.blue);
        p3=new Panel();
        p3.setBackground(Color.green);
        p4=new Panel();
        iskambil=new CardLayout();
        p4.setLayout(iskambil);

        lb1=new Label("Username");
        p1.add(lb1);

        tf1=new TextField(25);
        p1.add(tf1);
   
        lb2=new Label("Password");
        p1.add(lb2);

        tf2=new TextField(25);
        p1.add(tf2);

        bt1=new Button("Onceki");
        bt1.addActionListener(this);
        bt2=new Button("Sonraki");
        bt2.addActionListener(this);
   
        p2.add(bt1);
        p2.add(bt2);
   
        p4.add("Giris",p1);
        p4.add("Diger",p3);
   
        add(p4);
        add(p2);   
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getActionCommand()=="Onceki")
        {
             iskambil.previous(p4);
        }   
        else if(e.getActionCommand()=="Sonraki")
        {
            iskambil.next(p4);
        }
    }
}

Ve sonuç. CardLayout daha güzel bir tasarım sundu. Tek bir applet sayfasında üst üste duran paneller arasında gezebilme imkanı.

Resmin büyük hali için tıklayın

Resmin büyük hali için tıklayın

Artık Layout’ lara veda etme vakti geldi. Gelecek kahve molalarında umarım JBuilder ile daha fazla ilgilenme fırsatı bulabilirim. Katetmem gereken daha çok kilometre taşı var. Network programlama, veritabanları, web servisleri, swing bileşenleri, windows uygulamaları vs...


 

 

 


Kaynak : csharpnedir.com


 

Java İçin Eklenmiş Tüm Makaleler
Java İçin En Son Eklenen 5 Makale
 Makale Adı  :  Java ile Histogram Eşitleme
 Yayın Tarihi :  22.08.2007 23:24:42 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  JAVA İçinde Thread Kullanımı
 Yayın Tarihi :  22.08.2007 23:23:47 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri 2
 Yayın Tarihi :  22.08.2007 23:23:08 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  Serialization İşlemleri
 Yayın Tarihi :  22.08.2007 23:20:48 Ekleyen :  Kazım Aydın Makaleyi Oku  
 Makale Adı  :  İlk Bakışta JSP
 Yayın Tarihi :  22.08.2007 23:19:53 Ekleyen :  Kazım Aydın Makaleyi Oku  

C/C++
  C ögreniyorum -8-
  C ögreniyorum -7-
  C ögreniyorum -6-
  C ögreniyorum -5-
  C ögreniyorum -4-
  C ögreniyorum -3-
  C ögreniyorum -2-
  C ögreniyorum -1-
  İlk C++ Programımız

JAVA
  Java ile Histogram Eşitleme
  JAVA İçinde Thread Kullanımı
  Serialization İşlemleri 2
  Serialization İşlemleri
  İlk Bakışta JSP
  Servletler ile Web Sayfaları
  Java ile Grafik Çizim
  Java, MySql Bağlantısı
  JBuilder ile Database

PHP
  php dersleri -1-
  php/access ile silme işlemi
  php ile access'e bağlanma - 2
  php ile access'e bağlanma - 1
  Döngü ve Diziler - BÖLÜM 5
  Döngü ve Diziler - BÖLÜM 4
  Döngü ve Diziler - BÖLÜM 3
  Döngü ve Diziler - BÖLÜM 2
  Döngü ve Diziler - BÖLÜM 1

İSTATİSTİKLER
  Toplam ziyaret :  24725
  Toplam üye sayısı :  1081
  Asp makale sayısı :  20
  Asp.Net makale sayısı :  54
  Php makale sayısı :  26
  C/C++ makale sayısı :  51
  C# makale sayısı :  29
  Java makale sayısı :  33
  Toplam makale saıysı :  213
Copyright asundinay® 2007 Her Hakki Saklidir
Tasarim & Programlama asundinay®