home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 September
/
Chip_1999-09_cd.bin
/
ctenari
/
Trejbal
/
TRELL.PAK
/
SOURCE
/
ERSD.EXE
/
KOKTA.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1998-06-15
|
8KB
|
428 lines
program editor(input, output);
uses Dos,Crt,slova;
const
pondeli : array [0..6] of String[9] =
('Nedele','Pondeli','Utery',
'Streda','Ctvrtek','Patek',
'Sobota');
var
sfs : PathStr;
iiu,rok,mesic,den,tyden,hh,m,s,hund : Word;
stara,rad,retez,kus,kuss,stara2,stara3,odpoved,radek,jmeno,slovo:string;
znak:char;
i,z,k,A,del,poz,pis:integer;
nouze,beh,chyby,zaznam,klic : text;
procedure doplnek;
begin
dd[1]:='Správná odpovêâ k Va¿í poslední otázce pouæité v prûbêhu rozhovoru :';
dd[2]:='';
dd[3]:=jmeno;
dd[4]:='';
dd[5]:='bude';
kuss:=in_put(0,5,5,1,60); { okenko vstup, vystup string }
kuss:=bezmez(kuss);
if not((kuss='') or (jmeno='')) then
begin
jmeno:=bezmez(jmeno);
jmeno:=kam_asc(jmeno);
jmeno:=upp(jmeno);
if ord(jmeno[0])<8 then
begin
append(klic);
writeln(klic,jmeno);
writeln(klic,kuss);
close(klic);
end
else
begin
reset(klic);
rewrite(beh);
writeln(beh,jmeno);
writeln(beh,kuss);
while not(eof(klic)) do
begin
readln(klic,kuss);
writeln(beh,kuss);
end;
close(klic);
close(beh);
reset(beh);
rewrite(klic);
while not(eof(beh)) do
begin
readln(beh,kuss);
writeln(klic,kuss);
end;
close(klic);
close(beh);
end;
end;
kuss:='';
plot:='';
for i:=1 to 69 do plot:=plot+' ';
kodt:=162;
jmeno:='';
textcolor(11);
end; { konec doplnek }
procedure uprav;
begin
if znak='ê' then znak:='E';
if znak='¿' then znak:='S';
if znak='ç' then znak:='C';
if znak='⌐' then znak:='R';
if znak='æ' then znak:='Z';
if znak='ÿ' then znak:='Y';
if znak='á' then znak:='A';
if znak='í' then znak:='I';
if znak='é' then znak:='E';
if znak='ú' then znak:='U';
if znak='û' then znak:='U';
if znak='â' then znak:='D';
if znak='ƒ' then znak:='T';
if znak='ñ' then znak:='N';
if znak='ó' then znak:='O';
if znak='¢' then znak:='S';
if znak='Ç' then znak:='C';
if znak='₧' then znak:='R';
if znak='Æ' then znak:='Z';
if znak='Å' then znak:='A';
if znak='ï' then znak:='I';
if znak='ù' then znak:='U';
end;
procedure porovnej;
begin
radek:='';
rad:='';
for i:=1 to ord(kus[0]) do
begin
znak:=upcase(slovo[i]);
if a=1 then uprav;
radek:=radek+znak;
end;
for i:=1 to ord(kus[0]) do
begin
znak:=upcase(kus[i]);
if a=1 then uprav;
rad:=rad+znak;
end;
kus:=rad;
if radek=kus then k:=1;
if ord(kus[0])>7 then
begin
k:= najdi(kus,jmeno,'1');
end;
end;
procedure prazdno;
begin
odpoved:=stara;
while((odpoved=stara)or(odpoved=stara2)or(odpoved=stara3)) do
begin
reset(nouze);
randomize;
for i:=1 to random(50) do
begin
readln(nouze);
if eof(nouze) then reset(nouze);
end;
retez:=odpoved;
while retez=odpoved do
begin
readln(nouze,retez);
if eof(nouze) then reset(nouze);
end;
odpoved:=retez;
close(nouze);
end;
end;
procedure analyza;
begin
k:=0;
reset(chyby);
while not((eof(chyby)) or(k=1)) do
begin
readln(chyby,kus);
porovnej;
end;
close(chyby);
if k=0 then
begin
reset(klic);
while not((eof(klic)) or(k=1)) do
begin
readln(klic,kus);
readln(klic,retez);
porovnej;
if k=1 then
begin
if (retez=stara) or (retez=stara2) or (retez=stara3) then k:=0
else
begin
odpoved:=retez;
del:=0;
end;
end;
end;
close(klic);
end;
end;
procedure rozeber;
begin
del:=ord(jmeno[0]);
if (jmeno[del]='.') or (jmeno[del]='!') or (jmeno[del]='?') then
begin
rad:='';
for i:=1 to del-1 do
begin
rad:=rad+jmeno[i];
end;
jmeno:=rad+' ';
end
else
begin
jmeno:=jmeno+' ';
del:=del+1;
end;
poz:=del;
odpoved:='';
while not((del=0)or(poz=1)) do
begin
znak:='*';
while not((znak=' ') or (poz=1)) do
begin
poz:=poz-1;
znak:=jmeno[poz];
end;
slovo:='';
znak:='*';
pis:=poz;
while not(znak=' ') do
begin
pis:=pis+1;
slovo:=slovo+jmeno[pis];
znak:=jmeno[pis];
end;
analyza;
end;
end;
{ ********************************** }
begin
assign(zaznam,'zaznam.dll');
assign(klic,'klic.dll');
assign(chyby,'chyby.dll');
assign(nouze,'nouze.dll');
assign(beh,'beh.dll');
textbackground(0);
textcolor(7);
cls;
GetDate(rok,mesic,den,tyden);
GetTime(hh,m,s,hund);
randomize;
sfs:=fsearch('klic.dll',GetEnv('path'));
if sfs='' then
begin
rewrite(klic);
writeln(klic,'konec ');
writeln(klic,'Tak konçíme.');
close(klic);
end;
sfs:=fsearch('chyby.dll',GetEnv('path'));
if sfs='' then
begin
rewrite(chyby);
writeln(chyby,'cast');
close(chyby);
end;
sfs:=fsearch('nouze.dll',GetEnv('path'));
if sfs='' then
begin
rewrite(nouze);
writeln(nouze,'Tak to vidíte ! ');
writeln(nouze,'Hmmmm....');
writeln(nouze,'Jo.');
writeln(nouze,'Co se dá dêlat.');
writeln(nouze,'Tak jo.');
writeln(nouze,'Tak, tak.');
writeln(nouze,'To jsem nepochopil.');
writeln(nouze,'Co po⌐ád chcete ?');
writeln(nouze,'Ale ne.');
writeln(nouze,'Ach jo !');
writeln(nouze,'Neuvê⌐itelné !!');
writeln(nouze,'Taky ?');
writeln(nouze,'Nesmysl.');
writeln(nouze,'To nemá cenu.');
writeln(nouze,'Nechcete uæ skonçit ?');
writeln(nouze,'Uæ to trvá moc dlouho.');
writeln(nouze,'Kdyæ myslíte..');
writeln(nouze,'Ale co s tím ?');
writeln(nouze,'Já nevím.');
writeln(nouze,'A jak dál ?');
writeln(nouze,'Chvilku strpení.');
writeln(nouze,'Zkuste si odpovêdêt sám.');
writeln(nouze,'Nikdo nemûæe vêdêt v¿echno.');
writeln(nouze,'A proç ?');
writeln(nouze,'Krucinál, tak je to.');
writeln(nouze,'Uæ nemûæu.');
writeln(nouze,'Uæ ne.');
writeln(nouze,'Co já vím.');
writeln(nouze,'Nezmêníme téma ?');
writeln(nouze,'Nenudíte se ?');
writeln(nouze,'Na va¿em místê bych se ¿el projít.');
writeln(nouze,'Nesvítíte nêkde zbyteçnê ?');
writeln(nouze,'To máte pravdu.');
writeln(nouze,'Kdybych to byl vêdêl..');
writeln(nouze,'Kaædému jednou dojde trpêlivost.');
writeln(nouze,'To je moc komplikované.');
writeln(nouze,'Zastavte, chci vystoupit.');
writeln(nouze,'To nebylo v¿echno ?');
writeln(nouze,'Snad p⌐í¿tí tÿden.');
writeln(nouze,'Vítejte na Marsu.');
writeln(nouze,'Kolik je hodin ?');
writeln(nouze,'Opravdu ?');
writeln(nouze,'Je pozdê.');
writeln(nouze,'T⌐eba zítra.');
writeln(nouze,'Tak jindy.');
close(nouze);
end;
jmeno:='';
stara:='';
stara2:='';
stara3:='';
ramuj(2,1,79,25,7,1,0,'Popovídejte si s umêlou inteligencí. Konec = ESC.',
'Stiskem klávesy F2 vloæíte správnou odpovêâ k Va¿í otázce.');
textbackground(0);
textcolor(7);
gotoxy(5,3);
writeln('Aktivace umêlé inteligence TRELLSOFT ver. 4.27 probêhla úspê¿nê .. OK');
gotoxy(5,4);
writeln('Interaktivní systém IQ..75 p⌐ipraven.');
gotoxy(5,5);
writeln('.....................................');
textcolor(14);
gotoxy(5,8);
writeln('Dobrÿ den. ');
gotoxy(5,9);
writeln('Chcete se na nêco zeptat ?');
odpoved:='';
while not(odpoved='Tak konçíme.') do
begin
textcolor(11);
plot:='';
for i:=1 to 69 do plot:=plot+' ';
while bezmez(plot)='' do
begin
sejmi(5,19);
if kodt=27 then plot:='konec';
if kodt=360 then
begin
if not(jmeno='') then doplnek;
end;
end;
jmeno:=plot;
if kodt=27 then jmeno:='konec';
jmeno:=bezmez(jmeno);
jmeno:=' '+jmeno;
a:=0;
{
write('l');
write(jmeno);
write('l');
readln;
}
rozeber;
if not(del=0) then
begin
a:=1;
rozeber;
end;
if (not(del=0) or (odpoved='')) then
begin
prazdno;
end;
horre(5,2,75,19,0,7,' ');
horre(5,2,75,19,0,14,odpoved);
stara3:=stara2;
stara2:=stara;
stara:=odpoved;
horre(5,2,75,19,0,7,' ');
horre(5,2,75,19,0,7,' ');
end;
erase(chyby);
textcolor(7);
textbackground(0);
cls;
end.