değişkeni atama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
egedenizi
Üye
Mesajlar: 38
Kayıt: 25 May 2005 02:01

değişkeni atama

Mesaj gönderen egedenizi »

Merhabalar.
Benim sormak istediğim değişkenleri tip içinde yazıp.diziye aktarmak istiyorum.
örneğin
type
a:nasıl olcağınıbilmiyom?

var
a1:array[1..3]of a;
b:integer;
c:integer;
begin
a1[1]:=b;a1[2]:=c; yani a1[1] deyince hep b ye göre işlem yapmak istiyorum.
Bunu yapmak mümkünmüdür?Umarım anlatabilmişimdir.Teşekkür ederim.
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

aynen yazdığın gibi tanımlayabilirsin.yalnız dikkat etmen gereken type tanımlarken iki nokta üstüste değil eşittir işareti kullanmalısın.ayrıca diziye değer atarken o dizinin tipindeki değerleri atamalısın.

önek

Kod: Tümünü seç

  type
    TDeneme = (a,b,c);

  var
    a1 : Array[1..3] of Tdeneme;

procedure .....
var
  a: TDeneme;
begin
  a1[1] := a;
end;
kolay gelsin.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Dizi tanımlarken

Kod: Tümünü seç

a1:array[1..3] of Integer;
diye tanımlarsın..integer,string,byte vs...

Daha sonra bu dizinin her elemanına bir değişken atarsın.daha sonra uygun tiplerde dizilerdeki elamanları çağırırsın ve kullanırsın.Daha fazla bilgi için arama yap bu konu hakkında makale ve ipucunda bir makale olması lazım.kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
egedenizi
Üye
Mesajlar: 38
Kayıt: 25 May 2005 02:01

Mesaj gönderen egedenizi »

arkadaşlar yardımınıza teşekkür ederim.Ancak ben anlatamadım galiba sorunumu.Örnek verecek olursam.
var
a1 : Array[1..3] of integer;
b:integer;
begin
b:=3;
a1[1]:=b+1; burda sonuç 4 bulunuyor.
a1[1]:=a1[1]+3;burda ise 7 bulunuyor.
Benim istediğim b'ye göre a1'in deger alması
Yani
a[1]:=a[1]+3 7 değil 6 olması

a[1] ne degeri alırsa alsın b gibi davransın herkese Teşekkür ederim...
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
egedenizi yazdı: var
a1 : Array[1..3] of integer;
b:integer;
begin
b:=3;
a1[1]:=b+1; burda sonuç 4 bulunuyor.
a1[1]:=a1[1]+3;burda ise 7 bulunuyor.
Benim istediğim b'ye göre a1'in deger alması
Yani
a[1]:=a[1]+3 7 değil 6 olması

a[1] ne degeri alırsa alsın b gibi davransın herkese Teşekkür ederim...
yukarıda belirtiğiniz şekilde bence mümkün olmaz. eğer a[1] yerine b geçerse yukarıdaki örneğe göre toplanan değer b değişkenine aktarılır.
bu defa b değişkeni 6 değil 7 olur.

Bunu nerede ve nasıl kullanmak istediğinizi biraz daha açarsanız belki başka bir yol gösterebiliriz.

Kolay gelsin.
egedenizi
Üye
Mesajlar: 38
Kayıt: 25 May 2005 02:01

Mesaj gönderen egedenizi »

İyi akşamlar.
var
b:integer;
a:array[1..2]of neyse
c:integer;

Benim amacım öyle bir tip hazırlamak ki b değişkenini kullanmadan programın her tarafında b'nin son haline göre hesap yapması.
örneğin procedurün bir bölümünde b değişkeninin değeri 5
benim b ile ilişkim olmadan sonucun c:=a[1]+1 //6 olmasını istiyorum.
Belki bu mümkün değildir.
Yardımlarınızdan dolayı çok teşekkür ederim.sevgiler ve saygılar.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Şöyle bir kod işinizi görür mü acaba?

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
b,c:integer;
a1:array [1..3] of ^integer;



begin

          b:=5;
          a1[1]:=@b;

          c:=a1[1]^+1;

          showmessage(inttostr(c));

   end;


Yukarıda a1[1] b değişkenin adresini saklıyor. c ye aktarma yaptığımızda ise a1[1] adresindeki değeri ver diyoruz.

Kolay gelsin.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

egedenizi yazdı: Benim amacım öyle bir tip hazırlamak ki b değişkenini kullanmadan programın her tarafında b'nin son haline göre hesap yapması.
b yi public olarak tanımlayıp

Kod: Tümünü seç

c:=b+1; 
şeklinde değerini alsanız olmaz mı?

Kolay gelsin.
Cevapla