Struct içerisinde ileri-geri hareket.

Başlatan Klein, 06 Temmuz 2013, 14:11:01

Klein

Aşağıdaki gibi , tipleri ve uzunlukları birbirinden faklı elemanlara sahip bir yapımız olsun.

typedef struct
{
  int a;
  float b;
  char c;
  int16 d;
  int32 e;
}


bu yapının elemanlarını , eleman tiplerini ve isimlerini bilmeden ,
yapının 3. 5. elemanının değeri, veya bir önceki , bir sonraki elemanının değeri nasıl bulunur?

Icarus

Bulunamaz.
Ama eğer tiplerini biliyorsanız bulabilirsiniz.

Klein

Amaç şu:
C++ builder ile yazıyorum.
Bir veritabanı ve buna bağlı Table bileşenim var.

veritabanındaki alanlar ile struct içerisindeki alanlar birebir aynı.
Struct içerisindeki veriyi veritabanına yazmak istiyorum.
Table.a = Struct.a
Table.b = Struct.b
şeklinde tek tek alanları birbirine eşitleyerek  yapabilirim ancak bu şekilde yapmak istemiyorum. Daha esnek, yeni alan eleme çıkarma vs.. yaptığımda veritabanına yazma fonksiyonuna bir daha elleşmeyeceğim bir yol arıyorum. 

Yuunus

#3
"Klein" ben bu iş için delphide record type kullanıyordum c builder 'i bilmiyorum ama ikiside borland ürünü olduğundan belki ondada bu tip bir function vardır bir bak istersen. sanırım c builder da tam karşılığı struct imiş.

Klein

Evet RecordType Struct karşılığı. Delphi'de "insertrecord()" fonksiyonuna doğrudan recordtype parametre girilebiliyor(yanlış hatırlamıyorsam)
Ancak C++'da öyle değil. "insertrecord()" fonksiyonu "TVarRec" tipinde parametre alıyor. bu tip de içinde union değişken olan bir sınıf.