Kemarin ada seseorang yang menanyakan kepada saya tentang salah satu cara mengakses file di Delphi dengan cara baris per baris. Kemudian saya ingat dengan model pengakses file Turbo Pascal. Kebetulan waktu saya SMU dulu belajar pemrograman dan algorithma makai Turbo Pascal jadi saya tahu.
Berikut ini adalah source code untuk membuat file teks dan membacanya untuk Turbo Pascal:
(* Program FILE1.PAS *)
Program File1(Input,Output);
uses Crt,Dos;
var
T: Text;
S: String;
Kalimat: String;
Panjang: Integer;
Lebar: Real;
begin
(* Data yang akan dituliskan *)
Kalimat := ‘Ini adalah data yang disimpan dalam file teks’;
Panjang := 300;
Lebar := 200;(* Pembuatan file *)
Assign(T,’SEMUT.TXT’); (* Menginisialisasi handel file *)
Rewrite(T); (* Membuat file baru *)
WriteLn(T,’Semut 1.0′); (* Menulis Signature *)
WriteLn(T,Kalimat); (* Menulis data string *)
WriteLn(T,Panjang); (* Menulis data integer *)
WriteLn(T,Lebar); (* Menulis data real *)
Close(T); (* Menutup handel file *)(* Menghilangkan data yang telah ditulis dari memori *)
Kalimat := ”;
Panjang := 0;
Lebar := 0;(* Membaca file *)
Assign(T,’SEMUT.TXT’); (* Menginisialisasi handel file *)
Reset(T); (* Membuka file untuk membaca data *)
ReadLn(T,S); (* Membaca string untuk memeriksa signatur *)
if (S <> ‘Semut 1.0′) then
begin
WriteLn(’File yang dibaca telah rusak’);
Halt(1);
end;
ReadLn(T,Kalimat); (* Membaca data string *)
ReadLn(T,Panjang); (* Membaca data integer *)
ReadLn(T,Lebar); (* Membaca data real *)
Close(T); (* Menutup handel file *)(* Menuliskan data yang telah dibaca dari file *)
WriteLn(’Data hasil pembacaan dari file:’);
WriteLn(’Kalimat: ‘,Kalimat);
WriteLn(’Panjang: ‘,Panjang);
WriteLn(’Lebar: ‘,Lebar);
end.
Kemudian marilah kita bandingkan dengan program yang sama yang dibuat dengan CodeGear Delphi 2007 berikut:
(* Program File1.dpr *)
Program File1;
{$APPTYPE CONSOLE}
uses SysUtils;
var
T: TextFile;
S: String;
Kalimat: String;
Panjang: Integer;
Lebar: Real;
begin
(* Data yang akan dituliskan *)
Kalimat := ‘Ini adalah data yang disimpan dalam file teks’;
Panjang := 300;
Lebar := 200;(* Pembuatan file *)
AssignFile(T,’SEMUT.TXT’); (* Menginisialisasi handel file *)
Rewrite(T); (* Membuat file baru *)
WriteLn(T,’Semut 1.0′); (* Menulis Signature *)
WriteLn(T,Kalimat); (* Menulis data string *)
WriteLn(T,Panjang); (* Menulis data integer *)
WriteLn(T,Lebar); (* Menulis data real *)
CloseFile(T); (* Menutup handel file *)(* Menghilangkan data yang telah ditulis dari memori *)
Kalimat := ”;
Panjang := 0;
Lebar := 0;(* Membaca file *)
AssignFile(T,’SEMUT.TXT’); (* Menginisialisasi handel file *)
Reset(T); (* Membuka file untuk membaca data *)
ReadLn(T,S); (* Membaca string untuk memeriksa signatur *)
if (S <> ‘Semut 1.0′) then
begin
WriteLn(’File yang dibaca telah rusak’);
Halt(1);
end;
ReadLn(T,Kalimat); (* Membaca data string *)
ReadLn(T,Panjang); (* Membaca data integer *)
ReadLn(T,Lebar); (* Membaca data real *)
CloseFile(T); (* Menutup handel file *)(* Menuliskan data yang telah dibaca dari file *)
WriteLn(’Data hasil pembacaan dari file:’);
WriteLn(’Kalimat: ‘,Kalimat);
WriteLn(’Panjang: ‘,Panjang);
WriteLn(’Lebar: ‘,Lebar);
end.
Dengan demikian kita boleh mengambil kesimpulan bahwa kita bisa menggunakan source code Turbo Pascal 5.5 yang lama pada Delphi 2007 karena model pengaksesan file Turbo Pascal masih didukung oleh Delphi 2007.
Demikianlah salah satu cara mengakses file baris per baris dengan Delphi 2007. Cara yang lain adalah dengan obyek TStringList atau komponen Memo yang saya yakin teman-teman sudah sangat familier.
Peace Man…
source : ariefsujatmiko.wordpress.com