uses crt;
type
bilgigir=record
tur:string[10];
eng:string[10]; end;
var
dosya:file of bilgigir;
kay:bilgigir; ara:string[10]; kod:integer; i,J:byte; tus:char;
procedure bilgigiris;
begin clrscr;
assign(dosya,'d:\sozluk.dat');
{$i-} reset(dosya); kod:=ioresult; {$i+}
if kod<>0 then begin rewrite(dosya) end;
repeat
gotoxy(5,10); WRITE('TURKCE KELIME GIRINIZ='); readln(kay.tur);
if kay.tur=' ' then begin clrscr; CLOSE(DOSYA); EXIT; end;
GOTOXY(5,12); WRITE('INGILIZCE'); write(' KARSILIGINI GIRINIZ=');
readln(kay.eng); GOTOXY(5,15); write('Bilgi dosyaya yazilsin mi(E\H) ?');
repeat
tus:=upcase(readkey);
until tus in ['E','H'];
if tus='E' then begin clrscr;
SEEK(Dosya,filesize(dosya));
write(dosya,kay);
end;
IF TUS='H' THEN BEGIN CLRSCR; CONTINUE; END;
until 1=2;
end;
procedure INarama;
begin
clrscr; ASSIGN(dosya,'D:\sozluk.dat'); reset(dosya);
GOTOXY(15,24);
repeat clrscr;
TEXTCOLOR(YELLOW);
WRITE('E¦ER ARADI¦INIZ KEL˜MEY˜ UNUTTUYSANIZ SADECE ');
WRITE(' ˜LK ˜K˜ HARF˜N˜ YAZINIZ'); TEXTCOLOR(7);
GOTOXY(5,13); write('˜NG˜L˜ZCE KEL˜MEY˜ G˜R˜N˜Z=');
READLN(ARA);
if ara=' ' then begin close(dosya); EXIT; end;
if length(ara)=2 then begin
for i:=1 to filesize(dosya)-1 do begin SEEK(DOSYA,i);
read(dosya,kay);
if ara=copy(kay.ENG,1,2) then begin CLRSCR;
GOTOXY(15,10); write('INGILIZCE KELIME=',kay.ENG);
GOTOXY(15,15); WRITE(' TURKCE KELIME=',KAY.TUR);
GOTOXY(15,20); WRITE('HERHANG˜ B˜R TUA BASINIZ');
TUS:=READKEY;
END;
GOTOXY(15,20); WRite('Aradiginiz kayit bunlardan bir tanesi mi?');
if (tus='H') or (tus='h') then BEGIN
if i>filesize(dosya) then BEGIN bilgigiris;
i:=i+1; DELAY(3000); end;
END;
end;CONTINUE;
END;
FOR I:=0 TO FILESIZE(DOSYA)-1 do begin SEEK(DOSYA,i);
read(dosya,kay);
if ara=kay.ENG then begin CLRSCR;
gotoxy(10,10); write('INGILIZCE KELIME= ',KAY.ENG);
gotoxy(10,15); WRITE('TURKCE KARSILIGI= ',KAY.TUR);
gotoxy(10,20); write('Aradiginiz kayit bu mu ?(E\H)');
repeat
tus:=upcase(readkey);
until tus in ['E','H'];
if tus='H' then begin CLRSCR; GOTOXY(10,20); write('Kaydetmek ister misiniz ?(Y\N)');
tus:=readkey; if (tus='Y') OR (TUS='y') then bilgigiris else continue; end;
end;
end; clrscr; until 1=2; end;
procedure arama;
begin
clrscr; ASSIGN(dosya,'D:\sozluk.dat'); reset(dosya);
GOTOXY(15,24);
repeat clrscr;
TEXTCOLOR(YELLOW);
WRITE('E¦ER ARADI¦INIZ KEL˜MEY˜ UNUTTUYSANIZ SADECE ');
WRITE(' ˜LK ˜K˜ HARF˜N˜ YAZINIZ'); TEXTCOLOR(7);
GOTOXY(5,13); write('TURKCE KELIMEYI GIRINIZ=');
READLN(ARA);
if ara=' ' then begin close(dosya); EXIT; end;
if length(ara)=2 then begin
for i:=1 to filesize(dosya)-1 do begin SEEK(DOSYA,i);
read(dosya,kay);
if ara=copy(kay.tur,1,2) then begin CLRSCR;
GOTOXY(15,10); write('TURKCE KELIME=',kay.TUR);
GOTOXY(15,15); WRITE('INGILIZCE KELIME=',KAY.ENG);
GOTOXY(15,20); WRITE('HERHANG˜ B˜R TUA BASINIZ');
TUS:=READKEY;
END;
GOTOXY(15,20); WRite('Aradiginiz kayit bunlardan bir tanesi mi?');
if (tus='H') or (tus='h') then BEGIN
if i>filesize(dosya) then BEGIN bilgigiris;
i:=i+1; DELAY(3000); end; END;
end;CONTINUE;
END;
FOR I:=0 TO FILESIZE(DOSYA)-1 do begin SEEK(DOSYA,i);
read(dosya,kay);
if ara=kay.tur then begin CLRSCR;
gotoxy(10,10); write('TURKCE KELIME= ',KAY.TUR);
gotoxy(10,15); WRITE('INGILIZCE KARSILIGI= ',KAY.ENG);
gotoxy(10,20); write('Aradiginiz kayit bu mu ?(E\H)');
repeat
tus:=upcase(readkey);
until tus in ['E','H'];
if tus='H' then begin CLRSCR; GOTOXY(10,20); write('Kaydetmek ister misiniz ?(Y\N)');
tus:=readkey; if (tus='Y') OR (TUS='y') then bilgigiris else continue; end;
end;
end; clrscr; until 1=2; end;
begin
clrscr;
GOTOXY(15,10); write('1-BILGI GIRISI');
GOTOXY(15,15); WRITE('2-TšRK€E ARAMA');
GOTOXY(15,20); WRITE('3-˜NG˜L˜ZCE ARAMA');
TUS:=READKEY;
if tus=#27 then exit;
if tus='1' then bilgigiris;
if tus='2' then arama;
if tus='3' then inarama;
close(dosya);
end.