Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Değişkenler  (Okunma sayısı 4100 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Mikdad

  • Delphi 4 Level 1
  • *
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
Değişkenler
« : 04 Kasım 2005 20:08:11 »
Değişkenler ( Var )


İşlemlerimizi yaptığımız, sayıları (integer), metinleri (string), istediğimiz herşeyi, tanımlayarak muhafaza eden, programların vazgeçilmez öğeleridir. Bir değişkenin programda kullanılmadan önce tanıtılması gerekir. Bu tanıtımda da kullanılacak isimler anlaşılır ve özgün olmalıdır. Türkçe karakterlerin değişken atarken kullanılamadığı gibi, 64 karakter den fazla değişken adıda (0-63 / 2^8) kullanılamaz. Delphi tarafından ayrılmış kelimeler (in, to, word, integer..vs) gibi isimler, semboller kullanılamaz ( $ , % , * ).

Değişkenler kullanılacakları yere göre, Prosedür, Fonksiyon veya tüm programda kullanılabilirler. Bunların detaylarını ilerleyensatırlarda daha detaylı açacağım, öncelikle bilmemiz gereken değişkenlerin VAR ifadesinden sonra kullanılması gerektiğidir. Kullanımıda görüldüğü gibi, değişkenin adını yazıyoruz. İkinoktadan sonra değişkenimizin hangi sınıfa ait olduğunu belirtiyoruz. Şayet aynı sınıfa dahil birçok değişken atayacaksak bu değişkenleri virgülle ayırıyoruz, daha sonra iki nokta ve tipini yazarak atamamamızı yapıyoruz. Değişkenler Tam sayı, metin, ondalık sayı, karar (boolean) gibi tiplerde olabilirler. Bu konuda aşağıdaki çizelge size yardımcı olacakdır. Eksikleri olabilir, emaillerinizle eksikleri tamamlamamızda yardımcı olursunuz :) Pascal ve Delphi kavramsal olmasada işlevsel farklılıklar gösterebiliyorlar, farkı gözetmekde fayda olacağına inanıyorum.

Variant Type Control Type Type Size
ShortInt Integer 1 byte
SmallInt Integer 2 byte
LongInt Integer 4 byte
Integer Integer 4 byte
Int64 Integer 8 byte
Byte Integer 1 byte
Word Integer 2 byte
Cardinal Integer 4 byte
Single Float 4 byte
Real Float 8 byte
Real48 Float 6 byte
Double Float 8 byte
Extended Float 10 byte
Comp Float 8 byte
Currency Float 8 byte
Boolean True/False 1 byte
Char Char 1 byte
AnsiChar Char 2 byte
WideChar Char 2 byte
AnsiString/String String sınırsız
ShortString String 0-255 byte

Bu değişkenler ile bir çok zaman tip değiştirme ihtiyacınız olacakdır. Hesapladığınız integer değeri ekranda gösterebilmeniz için string tipine çevirmeniz gerekecek, Kullanıcıdan aldığını string tipindeki sayı karakteri, işlem yapılabilmesi için İnteger tipine çevrilmesi gerekecekdir. Ondalık sayı ile Tam sayı tanımlanmadığı müddetçe birbirlerine dönüşümleri sorun çıkartacakdır, bundan dolayıdırki tip çevirme method'ları kullanılır. string tipini integer'a çevirmek için strtoint() methodu, integer tipini stringe çevirmek için inttostr(), stringi Ondalık sayıya çevirmek için StrtoFloat(), ondalık sayıyı stringe çevirmek için FloattoStr()... şeklinde uzar gider. Bunları da zaman içersinde kullandıkça, karşılaştıkça öğreneceksiniz.

Değişkenimizi tanımladığımız yerde, Unit içersindeki veya dışarsında kullanımına etki eder. Değişkenimizi herhangi bir bileşene bağlı olay prosedürü içersinde kullanırsak (yukarıdaki resimde olduğu gibi), o değişkeni o prosedürde yazılan kodlardan başka biryerde kullanmak mümkün değildir. Halbuki implementation bloğunun üzerindeki Variante bloğunda kullanıldığında, değişken resimde de görüldüğü gibi o Unit altında bulunan bütün Procedür ve fonksiyonlarda kullanılabilinir.


Değişkenimizi Delphiye tanıttıkdan sonra Default olarak bir değer taşımasını istersek yukarıda sayi değişkeninde de olduğu gibi atama yapılabilir. Bu atama daha sonra program içersinde yapılan işlemlerle yeni değer alabilir veya o şekilde kalabilir.
 
 Alintı: Hakan Müştak
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Değişkenler
« Yanıtla #1 : 05 Kasım 2005 11:34:10 »
madem konu açıldı makaleyi geliştirelim.
öncelikle değişkenleri tanıyalım.
matematikte bilinen yada bilinmeyen sayılar  için mutlaka sayıları temsil eden A, B, X gibi ifadeler kullanmışsınızdır.
A+B=9 Gibi.
tıpkı matematikteki gibi değişken olarak isimlendirdiğimiz yapıyada sayıları atayarak işlemlerinizi gerçekleştirebilirsiniz.
A, B ve C adında değişkenlerimiz olduğunu varsayalım ve bu değişkenlere istediğimiz değerleri atayalım.
değişkenlere değer atamadan önce eğişken adı yazılmalıdır., sonra iki nokta üst üste ve eşttir işareti yazılmalıdır. (:= bu işaret delphide değer atama işlemlerinde kullanılan bir standarttır.) daha sonra değişkenin temsil  edeceği değeri yazıp komutumuzun bittiği anlamına gelen (;) noktalı virgül işaretini ekliyoruz.
Örneğin
A:=5;
ifadesi ile A isimli değişkenimize "5" deeğerini atamış oluyoruz.
B:=A-1;
örneğinde ise B  isimli değişkenin değerini A-1 in sonucu olan "4" değerini atıyoruz. yani 5-1 değerini atıyoruz; çünkü A'ya daha önce 5 değerini atamıştık.
bundan sonra Delphide bu değişkenler siz değiştirmediğiniz müddetçe 5 ve 4 değerlerini barınıracaktır
C:=A+B;
şeklindeki kodla C değişkenine A+B'nin toplamını atıyoruz. yani 9.
Aşağıdaki örneği inceleyelim.
Kod: [Seç]
A:=3;
B:=2;
C:=A;
A:=B;
B:=A;
A:=C;
C:=A+B;


Sonuç
Kod: [Seç]
A:=3;
B:=2;
C:=3;
A:=2;
B:=2;
A:=3;
C:=3+2;

değişken isimleri tabii ki tek harften oluşmayabilir. yukarıdaki arkadaşımında belirttiği gibi

Değişken isimleri şu kurallara uyularak tanımlanmalıdır.
1-Türkçe Karakterler kullanılmamalıdır
2- ingiliz alfabesinde bulunan A..Z Ve a..z harfleri kullanılmalıdır
3-Büyük Küçük Harfe Duyarlı Değildir
4-Sayılar kullanılabilir
5- Altı çizili (_) karakter hariç hiçbir özel karakter kullanılamaz.
6- Değişkenin  ilk karateri ingiliz alfabesinde bulunan A..Z Ve a..z harfleri olmalıdır
7- 63 karakteri geçmemelidir.
8- Delphinin kullandığı bazı kodlar Değişken ismi olarak kullanılamaz. mesela "String" Bu isimleri ezberlemenize gerek yok; çünkü Delphi bu tip kelimeleri kalın (bold) şeklinde yazar. yazdığınız değişken de kod bloğunda kalın olarak görünürse anlarsıız.

buna göre aşağıda değişken isimleri hatalıdır
Kod: [Seç]
_benimdegisken
1senindeg
fatih?
ilk degisken
çindeğişkeni


Aşağıdakiler ise doğru isimlendirmeler
Kod: [Seç]
benimDegisken
senindeg1
fatih
ilk_degisken
cindegiskeni


bir kural olmamakla birlikte okunurluğu arttırdığı için birden fazla kelimeden oluşan değişken isimleri kelimelerin ilk karakteri büyük harfle yazılır
Örnek
Kod: [Seç]
buBenimIlkDegiskenim

Dikkat ettiyseniz değişkenleri sadece matematisel işlemler için kullandık; ancak değişkenler sadece sayısal değerleri içermeyebilirler. Metin, Tarih, saat hatta resim türünde bile veri içerebilirler.
Metin, tarih saat türündeki bilgiler çift tırnak içine yazılır.
Örneğin:
A:='Burası Delphi Dünyası';

değişkenleri tanımlamadan önce mutlaka hangi tipte veri türü barındıracağını beliirmelisiniz.
Var kelimesini yazdıktan sonra değişken tanımlamaya başlayabilirsiniz
Var
DegisgenAdi : Tipi;

şeklinde tanımlamalsınız. Yukarıda bir kaç veritipi verilmiş
Örneğin
Degisken1:integer; //Sayısal değerler içerecek br değişken
Degisken2:String; //Metin türünde değerler içerecek br değişken

Değişken tiplerinin detayı listesini tam olarak nasıl, nerede kullanılacağını ilerleyen satırlarda Üyelerimiz veya Yönetim tarafından eklenecektir
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı Mikdad

  • Delphi 4 Level 1
  • *
  • İleti: 150
  • Rep: +2/-2
  • Cinsiyet: Bay
    • http://www.mikdad.net
Ynt: Değişkenler
« Yanıtla #2 : 09 Kasım 2005 18:57:15 »
Hocam Ağzına Sağlık Güzel Özetlemişsin Zaten Makale Eksik Sayılırdı
Hiç KiMSe VaZGeÇiLMeZ DeĞiLDiR
WwW.Minikhost.Net    Host Dünyasında Yeni Bir Soluk
WwW.Mikdad.Net        İslami İçerikli Portalınız
WwW.Pckahvesi.com   Netteki Yeni Adresiniz

Çevrimdışı dameon

  • Delphi 5 Level 4
  • ****
  • İleti: 236
  • Rep: +5/-1
  • Cinsiyet: Bay
Ynt: Değişkenler
« Yanıtla #3 : 20 Kasım 2005 17:57:10 »
Bari bizimde katkımız olsun , mesajınızı aldım , hemen geldim :)

A:string;
kodunda A'nın bir string tipi değişken olduğu belirtiliyor.

String = Harf , rakam ve özel karakter karışımına string denir.Eğer string kelimesinden sonra hiçbirşey belirtilmemişse , A'nın değeri 255 karakter olur.

Eğer A:string[60]; dersek o zaman A'nın boyu 60 karakter olur.Ve eğer istersek bu A string'inin her bir elemanına A[1] veya A[2] gibi tek tek erişebiliriz.
Mesela:

var
A:string;
birinci_karakter,ikinci_karakter:char;

begin
A:='ELMA';
birinci_karakter:=A[1];
ikincii_karakter:=A[2];

sonuç olarak birinci karakter = E ve ikinci karakter = L olacaktır.

A[0] ise bu string'in boyunu içinde saklar , yani A[0]:=#15 yaparsak A'nın boyu 15 karakter olacaktır.Fakat boyu önceden büyük olan (mesela 60 karakter) bir stringin boyunu sonradan 15 karaktere düşürürsek , 15. karakterden sonraki veriler kaybolacaktır.

Bir String'in içine tek tek karakterlerde atayabiliriz.
Mesela A:string olsun.
A:='D'+'e'+'l'+'p'+'h'+'i'; diyerek veya A:=chr(65)+chr(66)+chr(77) gibi....

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Değişkenler
« Yanıtla #4 : 20 Kasım 2005 18:51:23 »
eyvallah kardeş teşekkürler :)
hiç olmazsa birinin dikkatini çektiğime sevindim ;D
Eline sağlık
« Son Düzenleme: 20 Kasım 2005 18:52:24 by Fatih »
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı ALUCARD

  • Delphi 1 Level 5
  • *****
  • İleti: 44
  • Rep: +2/-1
  • Cinsiyet: Bay
    • Emin Bilgi İşlem Merkezi
Ynt: Değişkenler
« Yanıtla #5 : 31 Aralık 2005 12:33:07 »
arkadaşlar katkısı olan herkese teşekkür ediyorum
Delphi Dilinin Kemiği Yokki...

ASE YAZILIM
EMİN YAZILIM

Çevrimdışı hmustak

  • Delphi 1 Level 1
  • *
  • İleti: 2
  • Rep: +0/-0
Ynt: Değişkenler
« Yanıtla #6 : 28 Ekim 2006 06:16:01 »
Değişkenler ( Var )
 Alintı: Hakan Müştak

nedemek, memnun oldum :)

@mikdad
alıntı yaptığını belittiğin için teşekkür ederim, tüm makalelerimi sayısal yapıp http://www.mustak.org a atmayı planlamaktayım, isteyen arkadaşlara da paylaşacağım

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Değişkenler
« Yanıtla #7 : 30 Ekim 2006 09:04:32 »
@hmustak
burada da yayınlamaya ne dersiniz :::)
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı hmustak

  • Delphi 1 Level 1
  • *
  • İleti: 2
  • Rep: +0/-0
Ynt: Değişkenler
« Yanıtla #8 : 30 Ekim 2006 17:52:19 »
fırsat bulup yapabilirsem, sözüm olsun...
(Bu bayramda yapamadım ama inş. bir sonrakine)

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Değişkenler
« Yanıtla #9 : 04 Kasım 2006 13:29:42 »
Bekleriz o zaman hocam.
Şimdiden kolay gelsin...
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı takin

  • Delphi 1 Level 1
  • *
  • İleti: 1
  • Rep: +0/-0
Ynt: Değişkenler
« Yanıtla #10 : 23 Kasım 2006 23:55:18 »
Teşekkürler...