Delphi Can

Orjinalini görmek için tıklayınız: Record type içerisindeki değişkenlerime for döngüsü ile erişme
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhabalar,
Bir Hizmetimde fonksiyonum var, Bu fonksiyonum, bir record tipi dönüyor, tipimin içerisinde her türden değişken var Currency, Int. Str. + Benim yaptığım record tiplerim.

İçerisinde 90'dan fazla değişken var, Fonksiyonumun sonunda, bu tipimin içerisinde dönüp, hangi değişkenimin içerisi ne ile dolmuş okuyup bir text dosyasına yazmam gerekiyor. (loglama yapmam gerekiyor)

Bunu nasıl yapabilirim ?
(24-10-2017, Saat: 14:28)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhabalar,
Bir Hizmetimde fonksiyonum var, Bu fonksiyonum, bir record tipi dönüyor, tipimin içerisinde her türden değişken var Currency, Int. Str. + Benim yaptığım record tiplerim.

İçerisinde 90'dan fazla değişken var, Fonksiyonumun sonunda, bu tipimin içerisinde dönüp, hangi değişkenimin içerisi ne ile dolmuş okuyup bir text dosyasına yazmam gerekiyor. (loglama yapmam gerekiyor)

Bunu nasıl yapabilirim ?

Merhaba Yakup ,

Eğer Delpi Xe ve üzeri bir sürüm kullanıyorsan bence en kestirme yol RTTI kullanmaktır , uses a RTTI ekle , forma bir TMemo ve TButton atıp aşağıdaki örneği hazırladım
TRecordTip  adında basit bir  Record tip tanımlayıp hem alan isimlerini hem değerlerini yazdırdım.

procedure TForm1.Button1Click(Sender: TObject);

 type TRecordTip = record
   a:string;
   b:Integer;
 end;
var
 intRec    : TRecordTip;
 intType   : TRTTIType;
 intFields : TArray<TRttiField>;
 i: Integer;
begin
 intRec.a := 'Str değer';
 intRec.b := 12345;
 intType := TRTTIContext.Create.GetType(TypeInfo(TRecordTip));
 intFields := intType.GetFields;
 for i := 0 to high(intfields) do
   Memo1.Lines.Add(Format('%s: %s ', [ intFields[i].Name,intFields[i].GetValue(@intRec).ToString]));
end;

Kolay gelsin.
Harika Teşekkürler.