Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 27/04/2005, 10:12   #1 (permalink)
Üye
 
Üyelik Tarihi: 04/2005
Mesaj: 2
Uyarı Acilll

ya arkadaşlar benim ödev teslim etmem gerekiyo internetten arastırıyorum ama hiç vaktim yok konusu pascal:rastgele erişim dosyaları herkese teşekkürlerr
gbalaban hatta değil   Alıntı Yaparak Yanıtla
Eski 27/04/2005, 17:50   #2 (permalink)
...Sanat insan içindir...
 
burhanmt Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2004
Mesaj: 283
Varsayılan

Aslında ödevlerde böyle kolaya gidip hemen foruma soruyu sormayın. Önce forumda bir aratın, araştırın. Bulamaz veya yeterli bilgi alamadığınız takdirde soruyu sorun.

Soruna gelecek olursak.
Pascal'da 3 tip dosya yapısı vardır. Bunlar:

1.si Text tipi dosyalar
2.si Rasgele erişimli tipli dosyalar *
3.sü Rasgele erişimli tipsiz dosyalar (blockread-blockwrite)

* Pascalda Rasgele erişimli tipli dosyalarda var bloğunda değişken tanımlama esnasında "file" reserved word kelimesinden yararlanırız. "File" ifadesinden sonra dosya tipini belirtmeliyiz. Meselâ: "file of string;" , "file of integer;", "file of kayit;" gibi...

Örnek verecek olursam:

PHP Kodu:
Uses crt,dos;

Var
DosyaFile of String;  { string tipinde rasgele erişimli bir dosya tanımı 
sayac
:integer;
Bilgi   :String;
yapıyorum}
Begin
Assign
(dosya,'deneme.dat');
{
$i-}reset(dosya);{$i+}
if 
ioresult<>0 then rewrite(dosya);
seek(dosya,0);  { 0. indekse konumlan }
write(dosya,'indeks 0');

seek(dosya,1);  { 1. indekse konumlan }
write(dosya,'indeks 1');


seek(dosya,2);  { 2. indekse konumlan }
write(dosya,'indeks 2');

Close(dosya);

Assign(dosya,'deneme.dat');
{
$i-}reset(dosya);{$i+}
if 
ioresult<>0 then exit;

for 
sayac:=0 to filesize(dosya)-do
begin
seek
(dosya,sayac);
read(dosya,bilgi);
writeln(bilgi);
end;
Close(dosya);
End
Yukarıdaki ince espiri "seek" komutu ile istediğin indeks alanına konumlanarak oradaki bilgiyi okumandır. Dosyada kaçtane indeks olduğunu da filesize komutuyla öğrenebilirsin. Yani rasgele bir indeksi direk okuyarak ekrana yazdırabilirsin. Text tipi dosyalarda bu olay yoktur. Baştan başlayarak sırayla o kayıta kadar okuma yapması lazımdır. Bu da yavaşlık demektir. Bu yüzden rasgele erişimli dosyalar text tipi dosyalara nazaran çok daha hızlıdırlar. Günümüz veritabanlarını rasgele erişimli dosyalara örnek verebiliriz.

Belli bilgi kayıtlarını tek kayıt altında tutmak için record tiplerinden yararlanarak daha karmaşık uygulamalar için de:

PHP Kodu:
Uses crt,dos;

Type
Kayit 
Record
isim
string;
memleket:string;
end;

Var
DosyaFile of Kayit;  { kayit tipinde rasgele erişimli bir dosya tanımı 
sayac
:integer;
Kay:Kayit;
yapıyorum}
Begin
Assign
(dosya,'deneme.dat');
{
$i-}reset(dosya);{$i+}
if 
ioresult<>0 then rewrite(dosya);


kay.isim:='burhan';
kay.memleket:='Maraş';
seek(dosya,0);  { 0. indekse konumlan }
write(dosya,kay);

kay.isim:='Murat Evren';
kay.memleket:='Adana';
seek(dosya,1);  { 1. indekse konumlan }
write(dosya,kay);


kay.isim:='Bülent';
kay.memleket:='Kırşehir';
seek(dosya,2);  { 2. indekse konumlan }
write(dosya,kay);

Close(dosya);

Assign(dosya,'deneme.dat');
{
$i-}reset(dosya);{$i+}
if 
ioresult<>0 then exit;

for 
sayac:=0 to filesize(dosya)-do
begin
seek
(dosya,sayac);
read(dosya,kay);
writeln(kay.isim);
writeln(kay.memleket);
writeln('-------');
end;
Close(dosya);
End
Saygılar...
__________________

"..."
burhanmt hatta değil   Alıntı Yaparak Yanıtla
Eski 27/04/2005, 18:57   #3 (permalink)
Üye
 
Üyelik Tarihi: 04/2005
Mesaj: 2
Varsayılan

tesekkurler
gbalaban hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Acilll corays PHP 2 01/06/2007 06:18
Swf to Fla Acilll Yardım... UglyMec Flash / Director / Swift 3D ... 8 04/03/2006 18:19
acilll upload sorunu bestprogramci ASP 2 17/09/2004 20:08


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 05:13.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net