Top Banner
Turbo Pascal 7.0 Öğr. Gör. İrfan MACİT Endüstri Mühendisliği Bölümü Üretim Yazılımları Laboratuarı Adana,2002
49

Turbo Pascal 7.0

Feb 04, 2016

Download

Documents

alia

Turbo Pascal 7.0. Öğr. Gör. İrfan MACİT Endüstri Mühendisliği Bölümü Üretim Yazılımları Laboratuarı Adana,2002. Giriş. Kaynak Kodlar Object Kodlar Hata Kontrolü Hatasız Object Kodlar Derlenmiş Kodlar Çalıştırılabilir Kodlar (*.exe, *.com) .... (Enter). Giriş. cd c:\turbo\bin (Enter) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Turbo Pascal 7.0

Turbo Pascal 7.0

Öğr. Gör. İrfan MACİTEndüstri Mühendisliği Bölümü

Üretim Yazılımları LaboratuarıAdana,2002

Page 2: Turbo Pascal 7.0

Giriş

Kaynak KodlarObject KodlarHata KontrolüHatasız Object KodlarDerlenmiş KodlarÇalıştırılabilir Kodlar (*.exe, *.com).... (Enter)

Page 3: Turbo Pascal 7.0

Giriş

cd c:\turbo\bin (Enter)Turbo (Enter)Menuler Kısa yol tuşlarıAlt Menuler

Page 4: Turbo Pascal 7.0

Pascal Program Genel Yapısı

Her Program program prog_adı; İle başlar.

Örneğin, program merhaba;program merhaba(input, output);program deneme;program deneme (input, output); bildirimleri aynıdır.

Değişken atama,var değişken; şeklindedir.

Page 5: Turbo Pascal 7.0

Örnek Kaynak Kodlar

program Hello (Input, Output);

{Her pascal bilgisayar programın üç kısımdan oluşur.} var { 1. Kısım değişken tanımlama bloğu,burada değişkenler tanımlanır} Letter1, Letter2, Letter3 : Char; {üç karakter tanımlanmış}

sayi: integer; {2. Kısım, fonksiyon ve alt program tanımlama bloğu, burada programın ana bloğu içerisinde

kullanılacak fonksiyon ve alt programlar yazılır.} begin {3. Kısım programın ana bloğu, program bloğu başlar } WriteLn (‘Programam üç adet karakter ve bir sayı girin >'); ReadLn (Letter1, Letter2, Letter3); WriteLn (‘Merhaba ', Letter1, Letter2, Letter3, sayi); WriteLn (az önce klavyeden bunları yazdınız...‘') end. {program bloğu biter}

Page 6: Turbo Pascal 7.0

Değişkenler ve Fonksiyonlar

Pascal bilgisayar programlama dilinde değişkenler yazılan bilgisayar programına veri göndermek ve sonuç almak için kullanılırlar.Fonksiyonlar program içerisinde tanımlanan ve hesaplanan bir değeri sadece bir kez kullanan program parçacıklarıdır. Fonksiyonlar tek başlarına derlenemez ve kullanılamaz

Page 7: Turbo Pascal 7.0

Alt Programlar (procedure)

Alt programlar programın içerisinde kullanılacak verilerin birkaç defa ve her defasında ayrı sonuç alması beklenen durumlarda kullanılır. Alt programlar da fonksiyonlar gibi tek olarak derlenemez ve çalıştırılamaz.Alt programlar (procedure() ) ve fonksiyonlar (function() ) ana program bloğu içerisinden çağrılırlar.

Page 8: Turbo Pascal 7.0

Program Tanımlama Bloğu

Pascal bilgisayar programında program tarafından kullanılacak çevre değişkenlerine ait bildirimler ve programın çalışması sırasında hangi çevresel birimleri nasıl kullanacağını gösteren bildirimdir.– Uses – Label– Type– Const– Procedure– Function– var

Page 9: Turbo Pascal 7.0

Pascal Programlamada Önemli Hususları

Program prog_adı ile başlar.Programda kullanılacak değişkenler var kısmında tanımlanmalıdırProgram içerisinde değişmeyen sabitler Const kısmında tanımlanırProgramın ana bloğu begin ile başlar ve end. ile biter.Fonksiyon ve alt programlar end ile biter sadece programın kendi end ifadesinde nokta vardır. Begin ifadesinden sonra ; kullanılmazTürkçe karakterler programın bildirim ve komut durumlarında parametre olarak kullanılmaz. Açıklama { ... } içerisinde program ile ilgili açıklamalar yapılır ve Türkçe karakterler kullanılabilir.

Page 10: Turbo Pascal 7.0

Değişken Bildirimleri (Integer)

Tam sayı değişkenlerinin tanımlanmasıvar

değişken_adı : integer;Tam sayı değişkenleri program içerisinde pozitif veya negatif tam sayı kullanılacağı durumlarda tanımlanır BoyutlarıTip Sınır Büyüklük

shortint -128, 127 8 bitInteger - 32768, 32767 16 bitLongint -2147483648, 21474483647 32 bitbyte 0,255 8 bitword 0,65535 16 bit

Page 11: Turbo Pascal 7.0

Değişken Bildirimleri (Real)

Real türü değişken tipi ondalıklı sayıları program içerisinde kullanmak gerektiğinde tanımlanırvar

maas :Real;Tip Sinir Büyüklük

Real 2.9e-39,1.7e38 6 byteSingle 1.5e-45,3.4e38 4 byteDouble 5.0e-324, 1.7e308 8 byteExtented 3.4e-4932,1.1e4932 10 byte

Page 12: Turbo Pascal 7.0

Değişken Bildirimleri (String)

String türü değişken veri tipinde program içerisinde kullanılarak karakter dizisi şeklindeki türler için kullanılır.var

evet, hayır : string;Karakter kümesi için tanımlamavar

adı, soyadı: string[15];

Page 13: Turbo Pascal 7.0

Değişken Bildirimleri (Char)

Char türü değişken veri tipinde program içerisinde kullanılarak tek karakter şeklindeki türler için kullanılır.var

cevap:char;

Page 14: Turbo Pascal 7.0

Değişken Bildirimleri (Programcı tipi)

Programcı türü değişken veri tipinde program içerisinde programcı tarafından tanımlanarak kullanılacak türler için kullanılır. Programcı tarafından tanımlanan bu türdeki veri tipleri diğer veri tipleri gibi tanımlanacak olan değişkenleri tanımlamakta da kullanılır. İlkel nesne tabanı olarak bilinir.

Page 15: Turbo Pascal 7.0

Değişken Bildirimleri (Programcı tipi)

Type type

gunler = (Pazartesi, Sali, Carsamba, Persembe, Cuma);aylik_gun = 1..31;

varcalis_gun : gunler;aylik_hesap_gun: aylik_gun;

Page 16: Turbo Pascal 7.0

Diziler

Birden fazla değer alabilecek değişkenlerin içeriğinde değer saklamak için kullanılan değişken tipidir. Vektörler, Matrisler, sayi küpleri.Type

multidim = array[index] of veri_tipi;

Örnek:

Type

yil_aylik = array[1..12]of type integer;

Page 17: Turbo Pascal 7.0

Diziler (Devam)

Örneğin, yıllık olarak okul ayları göstermek için;Type

Ogr_ay = [Ekim, Kasim, Aralik, Ocak, Mart, Nisan, Mayis, Haziran] of String

VarAy: ogr_ay;

Diğer örnek;Type

butce_egitim = (konaklama, yemek, eglence,kitap, harc);harcama = array of [butce_egitim] of real;

Varmasraf:harcama;

Page 18: Turbo Pascal 7.0

Şart Yapıları

Belirli bir durumda veya şartın gerçekleşmesi durumunda çalışması istenen program kodları için yazılır. Birinci tip şart yapısıIf şart then

Durum;

Şeklindedir çalışması istenen tek durum vardır aksi şart gerçekleşmesi halinde durum kodları çalışmaz. Örneğin;

If x < 0.0 then

Deger:= x*x;

Page 19: Turbo Pascal 7.0

Şart Yapıları (Devam)

İkinci tip şart yapılarında gerçekleşecek durum iki veya fazladır. duruma gerçekleşmemesi halinde diğer durumb kodlarının çalışır.

If Şart then

duruma Else

Durumb ;

Örneğin ;If x > 0 thenWriteln(‘x pozitif’)ElseWriteln(‘x negatif’);

Page 20: Turbo Pascal 7.0

Case durum Seçici

Case durum seçici birkaç değişik durumi arasından sadece birinin seçilmesi için kullanılır. Case durumi of seçim1 : kodlar;

seçim1 : kodlar;

seçim1 : kodlar;

.

.seçimn :kodlar;

end

Page 21: Turbo Pascal 7.0

Case durum Seçici (Devam)

Case not of

1, 50 : writeln(‘ümitsiz vaka’);

51, 65 : writeln(‘biraz gayret’);

66, 70 : writeln (‘hadi iyine yirttin’);

71, 85 : writeln (‘iyisin iyi’);

86,100 : writeln (‘tebrikler’);

End {case için end ...!}

Page 22: Turbo Pascal 7.0

Döngüler

Bir komut veya durumun birden fazla gerçekleştirilmesi istendiği durumlarda kullanılır. İki tip döngüden bahsedilebilir. Döngü için gerekli şartların birisi gerçekleşmesi durumunda çalıştırılacak kodlar ve durum, diğeri ise şart gerçekleştiği sürece çalıştırılacak durum ve kodlar.

Page 23: Turbo Pascal 7.0

Döngüler (while .. do)

while ifade/şart do Durum/kodlar

Döngüsü bir durum gerçekleştiği sürece çalıştırılacak kodlar için kullanılır

While say < 10 dobeginsayi:=say + sayi;end {while}

Page 24: Turbo Pascal 7.0

Döngüler (for .. do)

for sayac:= başlangıç_değeri to bitiş_değeri do durum/kodlar

Döngüsü şart gerçekleşinceye kadar durum/kodların çalışması için kullanılır

For i := 1 to 10 do beginreadln(sayi);say:= say + sayi;writeln(‘girilen sayilar toplami’,say);end;{for do için}

Page 25: Turbo Pascal 7.0

Önemli Noktalar

Pascal bilgisayar program kodlarını yazarken dikkat edilecek noktaların başında genel şablonuna ve yapısına uygun şekilde yazmalıProgram çalışması esnasında programın ne yaptığı yazılmalıGerekli açıklamalar program kodları içerisine yazılmalıDeğişkenlere değer atamak için uygun mesajlar verilmeliSonuçlar aktarılacak ortamlara istenen şekilde aktarılmalı

Page 26: Turbo Pascal 7.0

Hata Ayıklama (Debuging)

Hata oluşturan kodlar(bug)Yazım hataları (Syntax error)Mantık hataları (Logical error)Parametre hataları (Parameter error)Yanlış tip bildirimi (Typing error)Algoritmik hatalar (Algorithm error)Sayısal hatalar (Numeric error)

Page 27: Turbo Pascal 7.0

Dosya İşlemleri

Dosya giriş/çıkış değişkenlerinin tanımlanmasıDosya değişkenlerinin tiplerinin bildirimi Dosya açma/kapama – okuma/yazmaDosya yeniden açmaDosya formatlı yazma

Page 28: Turbo Pascal 7.0

Dosya İşlemleri (Devam)

Pascal programlama dilinde dosyalar yapılarına göre ikiye ayrılır:1. TEXT (Sıralı erişim) dosyaları2. BİNARY (İkilik) dosyalara. TİPLİ (Doğrudan erişimli) dosyalarb. TİPSİZ (Rasgele erişimli) dosyalar

Page 29: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları

Dosya okuma ve yazma için farklı olarak açılır.Kayıtlar dosyaya sırayla yazılır.Kayıtlar sırayla okunur.Önceki kayıtlara dönmek için tekrar dan açılmalıdır.Text dosyalarda bilgiler ana bellekte bulunan geçici bir tampon bellek aracılığı ile kalıcı ortamlara aktarılır. Bilgiler, tampon bellek dolunca veya dosya kapatılınca kalıcı ortamlara aktarılır.

Page 30: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)

ASSIGN: Dosya değişkenine dosya ismi atamak için kullanılır.Yazım:ASSIGN(Dsy.Değ., Dsy.Adı);Örn:ASSIGN(D,’TEL.DAT’);ASSIGN(Dosya,’yazi.txt’);

REWRITE: Dosya oluşturmak ve kayıt eklemek için kullanılır. Dosya daha önceden mevcutsa kayıtlar silinir.Yazım:REWRITE(Dosya Değ.);Örn:REWRITE(D);REWRITE(Dosya);

Page 31: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)APPEND: Dosyaya kayıt eklemek için kullanılır. Önceden mevcut dosyanın sonuna kayıtlar eklenir.Yazım:APPEND(Dosya Değ.);Örn:APPEND(D);APPEND(Dosya);RESET: Dosyadan kayıt okumak için kullanılır. Önceden mevcut dosyadan kayıtlar sırayla okunur.Yazım:RESET(Dosya Değ.);Örn:RESET(D);RESET(Dosya);

Page 32: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)CLOSE: Açık olan dosyayı kapatmak için kullanılır. Yazım:CLOSE(Dosya Değ.);Örn:CLOSE(D);CLOSE(Dosya);

WRITE: Dosyaya EOLN bilgileri olmayan bir kayıt yazmak için kullanılır. Yazım:WRITE(Dsy.Dğ,değ1[,değ2.]);Örn:WRITE(D,adi,soyadi,tel);WRITE(Dosya,bilgi);

WRITELN: Dosyaya EOLN bilgileri olan bir kayıt yazmak için kullanılır. Yazım: WRITELN(Dsy.Değ,değ1,değ2...]);Örn:WRITELN(D,adi,soyadi,tel);WRITE(Dosya,bilgi);

Page 33: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)

READ: Dosyadan EOLN bilgileri de dahil bir kayıt okumak için kullanılır. Yazım:READ(Dsy.Değ.,değ1[,değ2...]);Örn:READ(D,adi,soyadi,tel);READ(Dosya,bilgi);

READLN: Dosyadan EOLN bilgileri hariç bir kayıt okumak için kullanılır. Yazım:READLN(Dsy.Değ.,değ1 ,değ2...]);Örn:READLN(D,adi,soyadi,tel);READLN(Dosya,bilgi);

Page 34: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)EOF: Dosya sonunu kontrol etmek için kullanılır. Dosya işaretçisi dosya sonu bilgisine ulaşınca değeri TRUE olur. Yazım:EOF(Dosya Değ.)Örn:EOF(D) EOF(Dosya)EOLN: Satır sonunu kontrol etmek için kullanılır. Dosya işaretçisi satır sonu bilgisine ulaşınca değeri TRUE olur. Yazım:EOLN(Dosya Değ.)Örn:EOLN(D) EOLN(Dosya)FLUSH: Tampon bellek dolmadan bilgilerin kalıcı ortamlara yazılmasını sağlar. Yazım:FLUSH(Dosya Değ.);Örn:FLUSH(D); FLUSH(Dosya);

Page 35: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları (Devam)SETTEXTBUF: Tampon bellek alanının değiştirilmesini sağlar. Normalde 128 Byte tır. Alan uzunluğu tanımı char tipli bir dizidir. Örn: var alan:array[1..256] of char;Yazım:SETTEXTBUF(Dsy.Değ,Alan Değ.);Örn:SETTEXTBUF(D,alan); IORESULT: Okuma/Yazma işlemlerinde hata kontrolü için kullanılır. Fonksiyonun dönüş değeri tamsayıdır. Sıfır ise hata yoktur.Yazım:IORESULT{$I-} ve {$I+} derleme direktifleri ile hata sonucu programın kırılması önlenir.ERASE: Tanımlanan dosyayı kalıcı birimden (disk,disket...) silmek için kullanılır.Yazım:ERASE(Dsy.Değ);Örn:ERASE(D); ERASE(Dosya);RENAME: Tanımlanan dosyanın adını değiştirmek için kullanılır.Yazım:RENAME(Dsy.Değ,Yeni isim);Örn:RENAME(D,’YEDEK.DAT’); RENAME(Dosya,’C:\TEL2.TXT’);

Page 36: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları Örnek Program

program dosya;var d:TEXT; s:string;

Begins:=‘Cukurova’; Assign(d,'deneme.dat'); {Dosya açılıyor}

Rewrite(d); write(d,s); writeln(d,’ÜNİVERSİTESİ'); write(d,’Mühendislik'); writeln(d,‘Fakültesi');Close(d);{ Dosya kapanıyor }

end.

Page 37: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları Örnek Program

program dosya_veri_oku;{Bu program dosyadan satır verisi okur }

var d:TEXT;satir:string;beginassign(d,'C:\Dene.dat');reset(d);readln(d,satir);writeln(satir);close(d);end.

Page 38: Turbo Pascal 7.0

Dosya İşlemleri 1. Text Dosyaları Örnek Program

program dosya_veri_oku;{Bu program tüm dosya verisini okur}

var d:TEXT;satir:string;beginassign(d,'C:\Dene.dat’);reset(d);while not d(eof) do beginreadln(d,satir);writeln(satir);end;close(d);end.

Page 39: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary Dosyalara.Kayıt Tipi belirli (Doğrudan erişimli) dosyalar:Kayıtlar ASCII veya Byte olrak kaydedilebilir. Kayıtlar dosyaya aynı uzunlukta ve düzenli olarak kaydedilir. Böylece alanlar birbirinden rahatlıkla ayırt edilebilir ve herhangi bir kayıta direkt olarak erişilebilir.Özellikleri:-Bir editör ile düzenlenemez.-Dosya okuma ve yazma için aynı modla açılır.-Satır sonu işaretçisi olmaz.-Her kaydın başına 0-32767 arasında kayıt numarası yazılır.Tanımlama:Dosya değişkenleri VAR tanımlama bloğunda FILE OF <TipAdı> kullanılarak tanımlanır.Tip Adları:1. Integer : Her kayıt dosyada 2 Byte lık yer kaplar. Örn: var dosya : file of integer;2. Real : Her kayıt dosyada 6 Byte lık yer kaplar. Örn: var dosya : file of real; 3. Record : Tanımlanan alan tipleri ve uzunluklarına bağlı olarak kapladığı alan boyutu değişir.Record tipi Type tanımlama bloğunda tanımlanır.

Page 40: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary Dosyalar (Devam)

Type kayittipi=recordisim:string[30];adres:string[50];tel:string[10];borc:real;end;var dosya : type of kayittipi;

Page 41: Turbo Pascal 7.0

ASSIGN: Dosya değişkenine dosya ismi atamak için kullanılır.Yazım:ASSIGN(Dsy.Değ., Dsy.Adı);Örn:ASSIGN(D,’TEL.DAT’);ASSIGN(Dosya,’STOK.DAT’);REWRITE: Dosya oluşturmak , kayıt eklemek ve okumak için kullanılır. Dosya daha önceden mevcutsa kayıtlar silinir.Yazım:REWRITE(Dosya Değ.);Örn:REWRITE(D);REWRITE(Dosya); RESET: Dosyadan kayıt okumak ve dosyaya kayıt yazmak için kullanılır. Dosya önceden mevcut olmalıdır.Yazım:RESET(Dosya Değ.);Örn:RESET(D);RESET(Dosya);

Dosya İşlemleri 2. Binary Dosyalar (Devam)

Page 42: Turbo Pascal 7.0

CLOSE: Açık olan dosyayı kapatmak için kullanılır. Yazım:CLOSE(Dosya Değ.);Örn:CLOSE(D);CLOSE(Dosya); WRITE: Dosyada bulunulan konuma kayıt yazmak için kullanılır. Yazım:WRITE(Dsy.Dğ,KayıtDeğ.]);Örn:WRITE(D,kayit);WRITE(Dosya,bilgi);READ: Dosyada bulunulan konumdan kayıt okumak için kullanılır. Yazım:READ(Dsy.Değ., KayıtDeğ.);Örn:READ(D,kayit);READ(Dosya,bilgi);

Dosya İşlemleri 2. Binary Dosyalar (Devam)

Page 43: Turbo Pascal 7.0

IORESULT: Okuma/Yazma işlemlerinde hata kontrolü için kullanılır. Fonksiyonun dönüş değeri tamsayıdır. Sıfır ise hata yoktur.Yazım:IORESULT{$I-} ve {$I+} derleme direktifleri ile hata sonucu programın kırılması önlenir.FILESIZE:Dosyadaki mevcut kayıt sayısını verir.Yazım:FILESIZE(DosyaDeğişkeni);Örn:FILESIZE(d);FILESIZE(Dosya);SEEK:Dosyada istenilen kayıt numarasına konumlanmak için kullanılır. Sıfır ile kayıt sayısının bir eksiği (FileSize()-1) arasında değer alabilir. Kayıt sayısındaki konum dosyanın sonudur.Yazım:SEEK(Dsy.Değ.,KayıtNo);Örn: SEEK(d,filesize(d)); SEEK(d,sira-1);SEEK(d,0);

Dosya İşlemleri 2. Binary Dosyalar (Fonksiyonlar)

Page 44: Turbo Pascal 7.0

FILEPOS:Dosyada o anda üzerinde bulunulan kaydın numarasını verir. Sonuç LongInt türündedir.Yazım:FILEPOS(DosyaDeğişkeni);Örn:FILEPOS(d);

FILEPOS(Dosya);

TRUNCATE:Dosya sonu işaretçisini (EOF) Bulunulan konuma yerleştirir.Yazım:TRUNCATE(DosyaDeğişkeni);Örn:TRUNCATE(d);TRUNCATE(Dosya);

Dosya İşlemleri 2. Binary Dosyalar (Fonksiyonlar)

Page 45: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary Dosyalar (Fonksiyonlar)

WITH-DO:Kayıt tipi değişkenlerin alt değişkenlerini kayıt değişkenini kullanmadan kullanmak için kullanılan bir komuttur.Örnek:kayit.isim:=‘dene’;kayit. adres:=‘deneme’;kayit. borc:=1000000; yerine;with kayit doisim:=‘ahmet’;adres:=‘sebelek’;borc:=1000000; end;

Page 46: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary Dosyalar (örnek program)

type kt=recorda:string[10];b:real;end; var d:file of kt; k:kt; Begin Assign(d,‘DeneRand.dat'); rewrite(d); k.a:='Ahmet Kara'; k.b:=123000;

write(d,k); k.a:='Hasan Sebelek'; k.b:=1; write(d,k); close(d); end.

Page 47: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary Dosyalar

b. Kayıt Tipi Belirli Olmayan Dosyalar:Kayıtların yapısı belli değildir. Kayıtlar belirli uzunluktaki byte’lar halinde blok blok okunur veya yazılır. Bu nedenle BYTE dosyalar da denir. Okuma ve yazma için byte tipinde tanımlanan bir dizi değişken tampon hafıza olarak kullanılır.

Tipli dosyalardaki tüm komutlar WRITE ve READ hariç geçerlidir.

Tanımlama:Dosya değişkenleri VAR tanımlama bloğunda FILE kullanılarak tanımlanır.Örn: var dosya : file;

Page 48: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary DosyalarREWRITE:Bilirli uzunlukta bilgi yazmak ve okumak üzere dosyayı oluşturmak için kullanılır. Uzunluk verilmezse 128 Byte Yazım :REWRITE(Dsy.Değ,uzunluk);Örn : ReWrite(d,1); ReWrite(dosya,1024);RESET:Bilirli uzunlukta bilgi okumak veya yazmak üzere dosyayı açmak için kullanılır. Uzunluk verilmezse 128 ByteYazım :RESET(Dsy.Değ,uzunluk);Örn : Reset(d,1); Reset(dosya,256);BLOCKREAD:Dosyadan bilirli uzunlukta bilgi okumak için kullanılır.Yazım :BLOCKREAD(Dsy.Değ,bellek, okunacak uzunluk,okunabilen uzunluk);Örn :BlockRead(d,tb,SizeOf(tb),ok); (SizeOf:Bellek değişkeninin uzunluğunu verir.)

Page 49: Turbo Pascal 7.0

Dosya İşlemleri 2. Binary DosyalarBLOCKWRITE:Dosyaya bilirli uzunlukta bilgi yazmak için kullanılır.Yazım :BLOCKWRITE(Dsy.Değ,bellek, yazılacak uzunluk,yazılabilen uzunluk);Örn :BlockWrite(d,tb,ok,yk);var okudosya,yazdosya:file;okukayit,yazkayit:word;bellek:array[1..256] of char;dosya1,dosya2:string;Begin write(’Okunacak dosya..:'); readln(dosya1); write('Yazılacak dosya..:'); readln(dosya2); Assign(okudosya,dosya1); Reset(okudosya,1); Assign(yazdosya,dosya2); rewrite(yazdosya,1); Repeat blockread(okudosya,bellek,sizeof(bellek),okukayit); blockwrite(yazdosya,bellek,okukayit,yazkayit); until (okukayit=0) or (okukayit<>yazkayit); close(okudosya); close(yazdosya);end.