Programowanie - kody, Programowanie - DELPHI, C++

[ Pobierz całość w formacie PDF ]
PORADY
PROGRAMOWANIE
Delphi 6 Personal
darmowy do u˝ytku
niekomercyjnego
Inno Setup
freeware
EditPlus
shareware
TopStyle Pro
shareware
Przydatne kody
Programowanie to bardzo nu˝àce zaj´cie, nawet gdy robimy to tylko dla
przyjemnoÊci. Cz´sto brakuje nam pomys∏ów, jak stworzyç coÊ ciekawe-
go. Ekspert poleca zapoznaç si´ z fragmentami przydatnych kodów êró-
d∏owych j´zyków Delphi i Java Script prezentowanych w tym artykule
biega na zasadzie umieszczania wybranego komponentu (na przyk∏ad
przycisku czy pola edycyjnego) w oknie pisanego programu (czyli formie).
Nast´pnie edytujemy kod êród∏owy, wpisujàc odpowiednie instrukcje. We
wszystkich wskazówkach na tej stronie b´dziemy korzystaç z Delphi 6 Per-
sonal, którego wersja instalacyjna znajduje si´ na krà˝ku Eksperta.
Ekspert zademonstruje niewtajemniczonym, jak umieÊciç na formie przycisk
oraz pod∏àczyç do niego procedur´ odpowiedzialnà za zamkni´cie progra-
mu. W analogiczny sposób mo˝na wykorzystaç w swoim programie frag-
menty kodów, zaproponowane na tych stronach w punktach A–G.
C: Uruchomienie przeglàdarki
Tworzàc okno informacyjne poÊwi´cone autorom programu, cz´sto
wprowadzamy tam hyperlinki, takie jak adres e-mail i strona WWW. Co
jednak zrobiç, ˝eby po klikni´ciu na któryÊ z tych odnoÊników otwiera∏ si´
domyÊlny klient poczty lub przeglàdarka stron WWW?
1.
Wpisujemy wyraz
ShellApi
w miejscu, gdzie deklarujemy wszystkie
modu∏y, czyli po s∏owie .
uses
2.
W kodzie przycisku lub pola tekstowego z adresem e-mail wpisujemy:
ShellExecute(Handle,”open”,”mailto:mojadres@mojserwer.pl”,nil,nil,SW_SHOWNORMAL);
.
1.
Wybieramy komponent z listy obiektów, na przyk∏ad przycisk .
3.
Natomiast w miejscu, gdzie ma znaleêç si´ odnoÊnik do strony WWW,
wprowadzamy poni˝szy kod:
2.
Klikamy na formie w miejscu, gdzie ma on zostaç umieszczony.
.
OczywiÊcie tekst po oraz powinien zawieraç nasz ad-
res e-mail oraz odpowiedni adres strony WWW.
mailto:
3.
Klikamy dwukro
tn
ie na przycisk i w otwartym oknie wpisujemy odpo-
wiednià instrukcj´
.
D: Wy∏àczanie monitora
Je˝eli zamierzamy na chwil´ odejÊç od komputera, to nie op∏aca si´ go
wy∏àczaç. W∏àczenie wygaszacza ekranu nie zawsze b´dzie nam na r´k´ –
monitor przecie˝ nadal pracuje. Warto wówczas skorzystaç z funkcji, która
wy∏àczy monitor, pozostawiajàc peceta w stanie gotowoÊci do pracy:
A: Zamykanie Windows 9x
W jaki sposób programowo wy∏àczyç lub uruchomiç po-
nownie komputer? Z pozoru taka wiedza mo˝e si´ wydawaç
zupe∏nie niepotrzebna, ale na pewno przyda si´ u˝ytkowni-
kom, którzy sp´dzajà przy komputerze du˝o czasu. Wykorzystujàc poni˝sze
funkcje, mo˝na napisaç program, który o okreÊlonej godzinie lub po okreÊlo-
nym czasie b´dzie wy∏àczaç naszego peceta. Powiedzmy, ˝e musimy wyjÊç
z domu, a na komputerze generowane sà wa˝ne pliki. Je˝eli potrafimy osza-
cowaç, kiedy proces ten dobiegnie koƒca, mo˝emy skorzystaç z w∏asnego
programu, który wy∏àczy dzia∏ajàcy komputer.
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower, 0); //aktywowanie funkcji
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,-1); //dezaktywowanie funkcji
.
E: Odczytywanie wspó∏rz´dnych ekranu
W jaki sposób odczytaç wspó∏rz´dne wskaênika myszy na ekranie?
W tym celu korzystamy z funkcji
GetCursor Pos
z nazwà zmiennej ,
TPoint
na przyk∏ad:
var Punkt: TPoint;
GetCursorPos(Punkt);
.
Teraz ma wspó∏rz´dnà X po∏o˝enia kursora myszy, a
wspó∏rz´dnà Y. Zak∏adajàc, ˝e monitor jest ustawiony w rozdzielczoÊci
800 na 600 pikseli, a wspó∏rz´dne otrzymanego
punktu wynoszà (1,1), oznacza to, ˝e kursor myszki
znajduje si´ w lewym górnym rogu ekranu. Natomiast,
jeÊli wspó∏rz´dne wynoszà (800, 600), znaczy to, ˝e
wskaênik myszki jest umiejscowiony w prawym
dolnym rogu ekranu.
Aby wspó∏rz´dne zosta∏y wyÊwietlone
w
oknie tworzonego programu,
umieszczamy w nim dwa pola edycyjne
punkt.x
punkt.y
* Aby uruchomiç ponownie komputer:
* Aby zamknàç Windows:
* Aby si´ wylogowaç:
ExitWindowsEx(EWX_REBOOT, 0);
ExitWindowsEx(EWX_SHUTDOWN, 0);
ExitWindowsEx(EWX_LOGOFF, 0);
Niestety, te funkcje nie zadzia∏ajà w Windows NT/2000/XP ze wzgl´du
na innà architektur´ tych systemów operacyjnych. W nich do zamkni´cia
systemu wymagane sà jeszcze procedury przej´cia uprawnieƒ systemowych.
B: Otwieranie szufladki CD-ROM-u
Dla wielu u˝ytkowników ciekawostkà mo˝e okazaç si´ mo˝liwoÊç pro-
gramowego otwarcia i zamkni´cia szuflady nap´du CD-ROM.
oraz przycisk
, pod który pod-
pinamy procedur´:
Edit1.text:=inttostr(punkt.x);
Edit2.text:=inttostr(punkt.y);
.
1.
Wpisujemy s∏owo w miejscu, gdzie deklarujemy wszystkie
wykorzystywane modu∏y, czyli po wyrazie .
mmsystem
Przycisk jest domyÊlnie zaznaczony, wi´c po naciÊni´ciu klawi-
sza zobaczymy aktualne wspó∏rz´dne kursora.
uses
2.
Nast´pnie wprowadzamy odpowiedni kod êród∏owy odpowiedzialny
za wysuni´cie szuflady naszego nap´du CD-ROM:
F: Ukrywanie kursora myszy
Istniejà programy, które z zasady sà niepowa˝ne. My napiszemy aplikacj´,
która ukrywa kursor myszki. Wykorzystamy polecenie
mciSendString(‘Set cdaudio door open wait’, nil, 0, handle);
ShowCursor (False);
.
Aby kursor przywróciç na ekran, zmieniamy wartoÊç parametru
na . Ambitni u˝ytkownicy mogà stworzyç aplikacj´, która zakoƒczy
swoje dzia∏anie po okreÊlonym czasie i wyÊwietli zabawny komunikat.
False
3.
Chcàc zamknàç szufladk´ CD-ROM-u, wpisujemy:
mciSendString(‘Set cdaudio door closed wait’, nil, 0, handle);
True
48
wrzesieƒ 2002
Delphi
P
rogramowanie w Delphi jest proste. Tworzenie dowolnej aplikacji prze-
G: Ukrywanie katalogu na dysku twardym
Cz´sto zdarza si´, ˝e z naszego komputera korzystajà tak˝e inne osoby.
Jak wtedy zachowaç choç odrobin´ prywatnoÊci? Dane, które chcielibyÊmy
ukryç, wystarczy umieÊciç w dowolnym katalogu oraz zmieniç jego nazw´
dopisujàc na koƒcu: .{21EC2020-3AEA-1069-A2DD-08002B30309D}
Spowoduje to jego ukrycie. Nie b´dzie widoczny, dopóki za pomocà napi-
sanego programu nie przywróci si´ jego dotychczasowej nazwy. Aby odkryç
katalog, zamieniamy ze sobà miejscami kod znajdujàcy si´ po znaku rów-
noÊci
pFrom
pTo
B: Wybór koloru t∏a
U˝ytkownicy majà ró˝ne gu-
sta. Nikt i nic nie jest w stanie
zmieniç tego faktu! Je˝eli chce-
my naszà stronà WWW trafiç
w poczucie pi´kna wielu osób,
musimy daç odwiedzajàcym
mo˝liwoÊç wyboru, choçby ko-
loru t∏a naszej witryny
uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var Rekord: TSHFileOpStructA;
begin
with Rekord do
begin
Wnd:=Handle;
wFunc:=FO_RENAME;
pFrom:=’c:\katalog’;
pTo:=’c:\katalog.{21EC2020-3AEA-1069-A2DD-08002B30309D}’;
end;
if SHFileOperation(Rekord)<>0 then
ShowMessage(‘B∏àd’)
end;
<SCRIPT LANGUAGE=”JavaScript”>
<!—
document.write(“<CENTER>”);
document.write(“<FORM NAME=\”Kolory\”>”);
document.write(“<select name=\”schemesel\” onChange=\”document.bgColor =
this.options[selectedIndex].value\”>”);
document.write(“<option value=\”FFFFFF\” selected>Bia∏y”);
document.write(“<option value=\”0000FF\”>Granatowy”);
document.write(“<option value=\”A0A0A0\”>Szary”);
document.write(“<option value=\”E9E900\”>˚ó∏ty”);
document.write(“<option value=\”A0A0FF\”>Fioletowy”);
document.write(“<option value=\”C70000\”>Czerwony”);
document.write(“<option value=\”FFFFA0\”>Bràzowy”);
document.write(“<option value=\”F0F0FA\”>Srebrny”);
document.write(“<option value=\”FF00FF\”>Ró˝owy”);
document.write(“<option value=\”00FFFF\”>Niebieski”);
document.write(“</select>”);
document.write(“</FORM>”);
document.write(“</CENTER>”);
// —>
</SCRIPT>
jest zastosowanie skryptów Java. Pisanie w j´zyku JavaScript nie wy-
maga kupowania dodatkowego oprogramowania. Wystarczy nam dowolny
edytor plików tekstowych, na przyk∏ad doskonale znany wszystkim u˝yt-
kownikom Windows Notatnik. Aby osadziç skrypt Java na swojej stronie
WWW, wklejamy jego kod do dokumentu HTML w sekcji .
<head>
.
A: Zegarek na stronie WWW
Dla wielu internautów ciekawà propozycjà jest zapewne zegarek. Wi´k-
szoÊç osób, które korzystajà z internetu, to posiadacze modemów. Dla nich
minuta po∏àczenia z internetem jest na wag´ z∏ota. Patrzàc na up∏ywajàce
minuty na zegarku, przeliczamy je na kolejne z∏otówki, które zap∏acimy na-
szemu dostawcy internetowemu. Aby wprowadziç ten komponent na stro-
n´, wpisujemy:
C: Dokument na has∏o
Je˝eli tworzymy stron´ WWW, która ma byç dost´pna tylko i wy∏àcznie dla
wàskiej grupy u˝ytkowników znajàcych odpowiednie has∏o, mo˝emy skorzy-
staç z poni˝szego skryptu. Umo˝liwia on uruchomienie dokumentu HTML
o nazwie wpisanej w pole edycyjne
. Na przyk∏ad – gdy has∏em jest s∏owo
komputer i zostanie ono wpisane w poni˝sze pole, zostanie uruchomiony do-
kument komputer.htm, znajdujàcy si´ w tym
katalogu co skrypt. Aby skorzystaç z tego
skryptu, wpisujemy poni˝szy kod pomi´dzy
znacznikami
<FORM NAME=”clock” OnSubmit=”0”>
<INPUT TYPE=”text” NAME=”zegarek” SIZE=8 VALUE=””>
<SCRIPT language=”JavaScript”>
var timerID = null;
var timerRunning = false;
function zegarstop ()
{
<head>
oraz
</head>
:
<script Language=”JavaScript”>
function password (pass) {
var password = ‘’
if (password != null){
location.href= pass + “.htm”;
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
}
</script>
}
function pokazgodz ()
{
.
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds()
var timeValue = “” + ((hours >12) ? hours -12 :hours)
timeValue += ((minutes < 10) ? “:0” : “:”) + minutes
timeValue += ((seconds < 10) ? “:0” : “:”) + seconds
document.clock.zegarek.value = timeValue;
timerID = setTimeout(“pokazgodz()”,1000);
timerRunning = true;
Nast´pnie wprowadzamy kod
w sekcji dokumentu HTML:
<body>
<FORM name=”login”>
<INPUT NAME=”pass”><br>
<INPUT TYPE=”button” VALUE=”OK” onClick=”password(form.pass.value)”>
<INPUT TYPE=”RESET” VALUE=”WyczyÊç”>
.
MK
Warto zajrzeç...
}
function zegarstart ()
{
Adresy WWW:
zegarstop();
pokazgodz();
www.delphizone.prv.pl – serwis poÊwi´cony tematyce zwiàzanej z programowaniem w Delphi.
Na szczególnà uwag´ zas∏uguje du˝a liczba kodów êród∏owych do pobrania i ciekawe artyku∏y
}
zegarstart()
</SCRIPT>
.
www.delphi-area.prv.pl – przyk∏ad wzorcowego serwisu dla programistów. Poczàtkujàcy u˝ytkowni-
cy zapewne zainteresujà si´ doskonale przygotowanym kursem tworzenia programów oraz s∏owni-
kiem poj´ç
Efekt koƒcowy powinien wyglàdaç mniej wi´cej tak
.
www.adonis.prv.pl – znajdziemy tu doÊç obszerny zbiór apletów oraz skryptów Java
dzia∏ download redukuje braki w oprawie graficznej serwisu, która nie nale˝y do atrakcyjnych
wrzesieƒ 2002
49
(pozostawiajàc polecenia i na swoim miejscu).
.
W tym celu w kodzie strony
wpisujemy poni˝szy fragment:
JavaScript
J
ednym z najpopularniejszych sposobów na o˝ywienie strony WWW
[ Pobierz całość w formacie PDF ]