Genelde evet ancak Record’lar ile Parse işlemleri de yapılabilir. Şöyle düşünelim kayıt deseni sabit olan bir dosyanız olsun.Örneğin:
Adı Soyadı(14 karakter) + Yasi(2 karakter) + Doğum Tarihi(10 Karakter) olan bir dosya yapısına sahip olduğumuzu düşünelim. Bu gibi bir durumda bu dosya içerisinden verileri okurken Copy fonksiyonu ile istediğimiz alanların başlangıç ve bitiş noktalarını bildiğimiz için verileri elde ederiz. Ama gelin biz bunun için record yapısından istifade edelim.(Tabii burada verileri untyped record olarak save edebilir ve bir record’un içerisine otomatik de okuyabilirsiniz ama ben size daha az bilinen bir yolu göstermeye çalışacağım.)
TBolParcalaYonet = record
AdiSoyadi : array[0..13] of Char;
Yasi : array[0..1] of Char;
DogumTarihi : array[0..9] of Char;
end;
var
myStr : String;
myRec : TBolParcalaYonet;
begin
myStr := ‘Tuğrul HELVACI3110.03.1975′
myRec:= TBolParcalaYonet(myStr);
ShowMessage(myRec.AdiSoyadi); // Tuğrul HELVACI
ShowMessahe(myRec.Yasi); // 31
ShowMessage(myRec.DogumTarihi); // 10.03.1975
end;
Görüldüğü üzere bir string ifade bir record’a cast edilerek parçalara ayrılabilmiştir.
Bir diğer ilginç kullanım alanı ise sayılarda ortaya çıkmaktadır..Herhangi bir sayısal veritipi üzerinde byte byte işlem yapmak istediğinizde yine imdadınıza recordlar yetişiyor.Elbette pek çok farklı alternatif var shr, shl gibi, ancak bu seferki konumuz record’lar..
Diyelim ki bir word değişkenimiz var ve word değişkenler hafızada 2 byte yer kaplarlar.Yani 16 adet bitten oluşurlar ve hepinizinde malumudur ki bitler içerisinde 0 ve 1 sayılarından başka bir değer tutamazlar. Matematiksel olarak ikili sayı sistemine göre 16 adet bitin (işaretli değil ise) tutabileceği maksimum değer 65.535 dir. ( 2 üzeri 16 - 1 )
Bir byte’ın tutabileceği değer ise (2 üzeri 8 - 1) yani 255′dir. Şimdi recordumuzu aşağıdaki şekilde yazalım.
TByteRec = record
Lo : Byte;
Hi : Byte;
end;
var
myWordValue : Word;
begin
TByteRec(myWordValue).Lo := 255; // Bir byte'ın alabileceği maksimum değer.
TByteRec(myWordValue).Hi := 255;
ShowMessage(InttoStr(myWordValue)); // Ekranda 65.535 değerini gösterir.
end;
Geri kalan denemeler size bırakılmıştır. Daha iyi anlayabilmek için word’ün 2 byte olduğunu ve her byte’ın 8 bitten oluştuğunu unutmayınız. Ve size yardımcı bir uygulama olarak Windows’un hesap makinasını önerebilirim. Hesap makinasında bilimsel görünümü açıp İkilik sayı sistemini seçer ve 16 adet 1 basar, ardından da decimal görünüm seçerseniz karşınıza 65.535 rakamı çıkacaktır. 
Saygılar, sevgiler..
Tuğrul HELVACI