Demo 11 / Ma 26.1
1
1. Toisen kielen käyttö
1.
Tee edellisen demon Optio-dialogin-ohjelman vastauksesta monikielinen (esim.
Sisulizerin tai
Multilizerin avulla)!
2. Tulostus
2-3.
Tee ohjelma joka piirtää 5 cm halkaisijaltaan olevan ympyrän paperille.
3. DLL
4-5.
Kirjoita DLL-kirjasto, jossa on ainakin aliohjelma
onko_palindromi, joka palauttaa tiedon siitä, onko parametrina viety merkkijono palindromi vai ei. Kirjoita myös testiohjelma
C/C++
:lla ja/tai
Delphillä.
4. Help
6.
Tee näkymätön komponentti, jossa on
property FileName:string
; . Komponentti pudotetaan
formille ja asetetaan html-tiedoston nimi. Kun painetaan F1, näytetään selaimella ko. tiedosto. Windowsissa saadaan html-tiedosto näkyviin seuraavalla koodilla:
fn := 'oma.html'; ShellExecute(0,'open',PChar(fn),nil,nil,0);
// uses ShellApi
Linuxissa voidaan avata esim. Netscape seuraavalla koodilla:
// Uses lauseeseen Libc
function DoFork(const FileName,param: string): pid_t;
var open_max, i: Longint;
begin
Result := fork;
case Result of
-1: begin raise Exception.Create('fork failed'); end;
0: begin
open_max := sysconf(_SC_OPEN_MAX);
for i := Succ(STDERR_FILENO) to open_max do
fcntl(i, F_SETFD, FD_CLOEXEC);
execlp(PChar(FileName), PChar(FileName), Pchar(param),
nil);
end;
end;
end;
...
DoFork('netscape','./oma.html');
Tai voidaan käyttää myös:
Libc.System('netscape ./oma.html'); // pysähtyy kunnes NS lopetetaan
HUOM! Tämä on viimeinen demo!