30.05.2006.

Command Prompt (8)

Stvaranje zasebnih direktorija za određenu vrstu podataka pomaže nam da bolje organiziramo podatke na disku, odnosno da se lakše snađemo u svim tim podacima.

NAREDBA;

md



Devetom naredbom mkdir, odnosno skraćeno md (engl. make directory - stvori direktorij) stvaramo novi direktorij ili poddirektorij.

Sintaksa;

md [drive:]path



objašnjenje;

drive: - označava disk na kojem će se stvoriti novi direktorij, ako se ništa ne navede sporazumjeva se trenutno aktivni disk

path - označava stazu postojećeg direktorija u kojemu će biti stvoreni novi, ako se staza ne navede novi direktorij biti će stvoren u trenutno aktivnom direktoriju


(svakom novom direktoriju ili poddirektoriju moramo dati ime)



Primjeri;

a) stvori na disku "C" novi direktorij "myxp"

md c:myxp



b) na disku "C", u direktoriju "myxp", stvori novi direktorij, odnosno poddirektorij, "slike"

md c:myxpslike



napomena!
- Ako zadamo parameter "staza" onda moramo prije imena novog direktorija staviti obrnutu kosu crtu " " (back slash - "AltGr"+"").

Npr. (novi direktorij "slike")

md c:myxpslike

- Možemo napraviti direktorije sa istim imenom, ali njihove staze moraju biti različite.
23:11 |dodaj komentar (0)  |  Isprintaj  | # |

27.05.2006.

Command Prompt (7)

Kako pomoću naredbi "dir" i "find" pronaći neku datoteku, direktorij ili određeni tekst?

dir (pretraživanje datoteka i direktorija)

Pomoću naredbe dir možemo izvršiti pretraživanje, odnosno pronalaženje određenih datoteka ili direktorija na našem računalu.

Primjeri;

a) pronađi sve datoteke sa nastavkom ".txt" u tekućem direktoriju i u svim njegovim poddirektorijima

dir *.txt /s



objašnjenje;

dir *.txt - izlistava sve (samo) datoteke koje imaju nastavak .txt (* je posebni simbol, više o posebnim simbolima na kraju ovog posta)

/s - izlistava direktorij i poddirektorije



b) pronađi na disku "D:" (u svim direktorijima i poddirektorijima) sve datoteke sa nastavkom ".rar" i prekini izlistavanje kada se ekran napuni informacijama

dir d:*.rar /s /p



objašnjenje;

dir d:*.rar - izlistava sve datoteke na disku "d:" koje imaju nastavak .rar

/s - izlistava (pretražuje) sve direktorije i poddirektorije

/p - izlistava sadržaj ekran po ekran



c) pronađi sve direktorije imena "help" na disku "d:"

dir d:help /s /p



objašnjenje;

dir d:help - izlistava sve direktorije imena "help" na disku "d:"



NAREDBA;

find



Naredbom find (engl. find - pronađi) tražimo određeni niz znakova (riječ ili rečenicu) u datoteci ili datotekama. Ako se izostave opcije, naredba "find" izlistava sve redove određene datoteke, odnosno datoteka, u kojima je pronađena zadata riječ.

napomena!
Naredba "find" je osjetljiva na veličinu slova (case-sensitive).

Sintaksa;

find [/v] [/c] [/n] [/i] "string" [[drive:][path]filename[ ...]]



objašnjenje;

/v - izlistaj samo redove koji ne sadrže navedenu riječ

/c - izlistaj koliko je redova (njihov broj) koji sadrže navedenu riječ

/n - izlistaj i redni broj reda koji sadrži navedenu riječ

/i - ignoriraj osjetljivost na mala/velika slova (case-sensitive)

"string" - tekst koji se traži (traženi tekst mora biti pod navodnicima)

[drive:][path]filename- disk, staza i ime datoteke koja se pretražuje



Primjer;

Pronađi u direktoriju "Myxp" sve tekstualne datoteke (.txt) koje sadrže riječ "blog myxp" i prikaži redni broj reda koji sadrži navedenu riječ.

find /n "blog myxp" c:myxp*.txt



objašnjenje;

/n - izlistava i redni broj reda koji sadrži navedenu riječ

"blog myxp" - tekst koji tražimo

c:myxp - staza do direktorija u kojemu tražimo

*.txt - izlistava (pretražuje) sve tekstualne datoteke (.txt)



Posebni simboli (engl. wildcard character)

Pomoću posebnih simbola možemo zamjeniti jedan ili više znakova u imenu datoteke (ili direktorija) i time omogućiti izbor većeg broja datoteka jednom jedinom specifikacijom.

* (asterisk) - zamjenjuje jedan ili više znakova

? - zamjenjuje samo jedan znak

[...] - zamjenjuje bilo koji znak u nekom rasponu

Riječ, dvije;

case-sensitive - osjetljivo na veličinu slova Svojstvo programa koji razlikuje velika i mala slova.
18:33 |dodaj komentar (0)  |  Isprintaj  | # |

25.05.2006.

Command Prompt (6)

Naredbi "dir" posvetićemo i današnji post jer je jedna od najvažnijih naredbi "Command Prompta"

Pomoću naredbe "dir" i prekidača "/o:" možemo zadati redosljed izlistavanja (sortirati) imena datoteka i direktorija. Ako ne zadamo redosljed sortiranja, naredba "dir" izlistava prvo direktorije po abecednom redu, a onda i imena datoteka po abecednom redu.

Sintaksa;

dir [/o[[:]sortorder]]



Redosljed sortiranja može poprimiti sljedeće vrijednosti;

n - sortiraj po imenima, abecedni poredak

e - sortiraj po nastavku (tipu)

g - sortiraj direktorije na početku (prve)

s - sortiraj po veličini (najmanja prva)

d - sortiraj po datumu (najstarija prva)

- (znak minus) - daje suprotno značenje (npr. -n sortiraj u obrnutom abecednom redu)



Primjeri:

a) izlistaj prvo najnovije datoteke i izlistaj samo imena datoteka i direktorija

dir /b /o:-d



objašnjenje;

/b - izlistava samo imena datoteka i direktorija, bez drugih informacija

/o:-d - sortira po datumu, ali najnovija prva



b) izlistaj sve datoteke od tekućeg pa po svim njegovim poddirektorijima, sortiraj po veličini, ali da veća bude prva i prekini izlistavanje kada se ekran napuni informacijama

dir /a /s /p /o:-s



objašnjenje;

/a - izlistava sve datoteke, uključujući skrivene i sistemske

/s - izlistava direktorij i poddirektorije

/p - izlistava sadržaj ekran po ekran

/o:-s - sortira po veličini, ali veća je prva

21:31 |dodaj komentar (0)  |  Isprintaj  | # |

24.05.2006.

Command Prompt (5)

"Računala su izbirljiva i razumiju ono što je u njih unijeto samo ako je to napisano točno u onom obliku u kojemu ga računalo očekuje. Očekivani oblik ulaza naziva se sintaksom."



Primjer sintakse u "Command Promptu";

type [drive:][path]filname



odnosno,

type C:cmd_vjezbaispis.txt



Drugi primjer sintakse sa objašnjenjem;

dir [drive:][path][filname][/p][/w][/s][/a[[:attributes]]



naredba;

dir - naredba se uvijek piše na početku



Parametri;

[drive:][path] - označava diskovni pogon i stazu (putanju) do direktorija, čiji se sadržaj želi izlistati, ako se ništa ne navede sporazumjeva se trenutno aktivni disk i direktorij



[filename] - označava ime jedne ili više datoteka koje želimo izlistati, ako se ne navede sporazumjevaju se sve datoteke



prekidači (opcije);

/p - izlistava jednu po jednu stranu na zaslonu, za nastavak izlistavanja treba pritisnuti bilo koju tipku

/w - izlistava ispis u širokom formatu s više naziva u jednom redu

/s - izlistava svako pojavljivanje u direktoriju i podređenim poddirektorijima



(Prekidač ima simbol slova kojeg prethodi kosa crta / )



atributi;

[/a[[:attributes]] - izlistava imena samo onih direktorija i datoteka čiji su atributi navedeni, ako se izostavi naredba "dir" izlistava sva imena osim skrivenih i sistemskih datoteka (ne prikazuje ime skrivenog direktorija), a ako se navede samo opcija bez atributa tada naredba "dir" izlistava sve datoteke (prikazuje ime skrivenog direktorija).



/a: - prekidač "/a:" omogućava da zadate vrstu datoteka, određenih atributom, koje će biti izlistane. Dvije točke iza prekidača nisu obavezne.



Atributi mogu poprimiti slijedeće vrijednosti;

d - izlistaj samo direktorije

h - izlistaj samo skrivene datoteke

s - izlistaj samo sistemske datoteke

r - izlistaj samo datoteke koje imaju postavjen atribut "read only"

a - izlistaj datoteke koje dozvoljavaju arhiviranje

- (znak minus) - ako ispred atributa stoji znak minus "-" tada on daje suprotno značenje (npr. -d izlistaj samo datoteke, bez direktorija)



Možete i kombinirati vrijednosti, npr.

/a:dh - izlistaj samo skrivene direktorije
dvije točke iza prekidača "/a" nisu obavezne, pa možete napisati i
/adh

Vrijednosti se prilikom kombiniranja ne smiju razdvajati razmakom





napomena!
- Simboli u uglatim zagradama [] su opcionalni i mogu se izostaviti (uglate zagrade se inače ne navode u samoj sintaksi).
- Između naredbe i parametra, odnosno atributa, mora postojati razmak u veličini jednog znaka (tipka "SpaceBar").
- Ako parametar sadrži razmak, mora se staviti u navodne znakove jer bi se niz znakova tumačio kao novi parametar,
npr;

dir ime datoteke

treba napisati pravilno

dir "ime datoteke"

- Naredbom "help" potražite pomoć u sintaksi pojedine naredbe na sljedeći način;

help naredba
ili
naredba/?

npr:

help dir
ili
dir/?

Riječ, dvije;

atribut (engl.attribute) - osobina, svojstvo. U sustavima zasnovanim na "DOS-u", svaka datoteka ima atribute kojima se označuje neke osobine datoteke (npr."Hidden" - skrivena datoteka)

prekidač (engl. switch) - drugi naziv za opciju. Simbol koji se dodaje naredbi kako bi se prilagodilo ponašanje naredbe.
23:59 |dodaj komentar (0)  |  Isprintaj  | # |

22.05.2006.

Command Prompt (4)

Zbog velike količine podataka, a i lakšeg snalaženja na diskovima, koristi se organizirana podijela svih podataka u odvojene cjeline, odnosno u "mape" i "podmape" (direktorije i poddirektorije).

Sama struktura organizacije podataka podsjeća na stablo, kojemu je korijen (ROOT) osnovni dio s kojega se dalje granaju mape i podmape. Da bi se lakše orijentirali u takvoj šumi direktorija i poddirektoria, odnosno kroz sistem, upotrijebiti ćemo našu sljedeću naredbu, tree (stablo).

NAREDBA;

tree





Naredba tree prikazuje grafičku strukturu direktorija počevši od zadanog direktorija, odnosno diska.

napomena!
Najvjerovatnije će doći do pogreške ako probate izvršiti naredbu "tree" u "Command Promptu" kojeg ste podigli iz Windowsa XP, a koji nisu instalirani na particiji "C".

Uz naredbu "tree" mogu se zadati i prekidači (opcije),

/f - (engl. file = datoteka), prikazuje i nazive datoteka u svakom direktoriju



/a - prikazuje strukturu direktorija koristeći tekst znakove umjesto grafičkih



a u suradnji s naredbom "more" može se ispis direktorija prikazivati dio po dio.

Primjer naredbe "tree" sa prekidačem (opcijom) "f".

C:>tree /f



napomena!
Više o sintakasi pisanja naredbi, odnosno parametrima i prekidačima u sljedećem postu.

NAREDBA;

dir



Naredba dir prikazuje listu datoteka i poddirektorija koji se nalaze na zadanom disku ili direktoriju.



Kao što se na slici vidi, naredbom "dir" prikazuju se i sljedeće informacije;

- datum i vrijeme kreiranja direktorija i njegovo ime
- datum i vrijeme kreiranja datoteka
- veličina, ime i tip datoteka
- broj datoteka i direktorija u zadanom direktoriju
- veličina slobodnog prostora

(više o naredbi dir u sljedećem postu)

21:22 |dodaj komentar (0)  |  Isprintaj  | # |

20.05.2006.

Command Prompt (3)

Ponovimo, naredba "prompt" ima mogućnost pomoću raznih kodova definirati izgled odzivnog znaka (prompta). Dole su navedeni najčešće upotrijebljavani kodovi i njihovo objašnjenje;

$p - trenutni disk i put (path)

$n - disk

$g - znak >

$l - znak <

$q - znak =

$a - znak &

$$ - znak $

$s - space

$c - lijeva zagrada

$f - desna zagrada

$t - trenutno vrijeme

$d - trenutni datum

$v - verzija Windows XP



NAREDBA;

exit



Za izlazak iz "Command Prompta" koristi se naredba exit.

NAREDBA;

cd



Za promjenu direktorija, odnosno za prikaz imena trenutnog direktorija, koristi se naredba cd (engl. Change Directory - promjeni direktorij)

napomena!
Iako smo to već naglasili, nije na odmet ponoviti!

U starijim okvirima za dijalog, riječ direktorij odnosi se na ono što danas, pod Windowsima, nazivamo mapom.



Primjeri korištenja naredbe "cd";

cd = vraća u korijenski direktorij (root)


npr.
C:Program FilesMoja mapa>cd
C:>

cd.. = vraća iz poddirektorija u direktorij za jedni "stepenicu" bliže korijenskom direktoriju


npr.
C:Program FilesMoja mapa>cd..
C:Program Files>

cd = odlazak u točno određeni direktorij


npr.
C:>cd Program Files
C:Program Files>

Ako vam se ne da tipkati staza do određenog direktorija (mape) upotrijebite sljedeći trik, koji na zanimljivi način nudi promijenu direktorija unutar prozora "Command Prompta" (trik je smislio Kaleb Axon).



a) Otvorite "Command Prompt", upišite naredbu cd i pritisnite tipku "SpaceBar" (napravite razmak).

b) Povucite i ispustite vašu izabranu mapu u "Command Prompt" prozor i pritisnite tipku "Enter".

ponovimo!
-Nakon svakog unosa naredbe - pritisnuti tipku "ENTER", da bi se unesena naredba izvršila!
-"DOS", odnosno Command Prompt, ne prepoznaje velika i mala slova, možete pisat CD ili cd.
-Direktorij i poddirektorij se međusobno odvajaju kosom crtom " " (back slash).
20:02 |dodaj komentar (0)  |  Isprintaj  | # |

19.05.2006.

Command Prompt (2)

Rad u "Command Promptu" je prilično jednostavan, a svodi se na upisivanje naredbi iza odzivnog znaka. Da bi se upisana naredba izvršila moramo pritisnuti tipku "Enter".



Upoznajmo našu prvu naredbu,

start



a) pokrenite "Command Prompt" (Wintipka+R, upišite cmd, klik na dugme "Ok")

b) iza odzivnog znaka upišite naredbu start i pritisnite tipku "Enter".



Pomoću same naredbe "start" otvaramo novi "Command Prompt" prozor (više o naredbi "start" i njezinim parametrima u sljedećim postovima).

Druga naredba,

title



upišite naredbu title, napravite jedan razmak (jedan pritisak na tipku "SpaceBar"), upišite, npr. myxp blog.hr i pritisnite tipku "Enter".



Pogledajte naslovnu traku vašeg "Command Prompta". Pomoću naredbe "title" mijenjamo/zadajemo ime prozora, odnosno naslovne trake.

Upišimo sada te dvije naredbe zajedno na sljedeći način,

start title myxp.blog.hr



i pritisnimo tipku "Enter".



Treća naredba,

prompt



upišite naredbu prompt, napravite razmak, upišite kod $t i pritisnite tipku "Enter".



Naredbom "prompt", odnosno naredba "prompt" + "kod", definiramo sam izgled odzivnog znaka (prompta), tj. odzivni znak možemo prikazivati kao informacije sistema ili nekog teksta.



(više o dodatnim kodovima i njihovo objašnjenje u sljedećem postu)

23:43 |dodaj komentar (0)  |  Isprintaj  | # |

18.05.2006.

Command Prompt (1)

Mi, djeca "Windowsa", multimedije i šarenila, danas upoznajemo "crnu" prošlost komandne linije, sve njezine nedostatke, ali i prednosti.



Iako "DOS" (Disk Operating System) više službeno ne postoji, program "Command Prompt", odnosno "Windows Command Processor", u "Windows XP" zadržao je, ako ne i unaprijedio, neke osobine "DOS-a".

napomena!
Zapravo, program koji mi pokrećemo, a u kojemu se prikazuje odzivni znak (command prompt), izvršavaju i obrađuju naredbe, zove se "command processor".

"Command Prompt" možemo pokrenuti na dva sljedeća načina;

a) izaberite "Start" > "Run" (WinTipka+R), upišite cmd i klik na dugme "Open"

b) izaberite "Start" > "Programs" > "Accessories" i klik na "Command Prompt"

Da bi si, barem malo, olakšali rad u "Command Promptu", pritisnite kombinaciju tipki "Alt"+"SpaceBar",odnosno kliknite desnom tipkom miša na naslovnu traku "Command Prompta" i iz padajućeg izbornika izaberite opciju "Properties".



U novootvorenom prozoru "Properties", pod "Options", odnosno "Edit Options", označite "QuickEdit mode" (mogućnost korištenja međuspremnika). Inače u tabu "Options" moguće je postaviti i dodatne postavke;

- veličinu kursora (Cursor Size)

- način prikaza "Command Prompta" (Window ili FullScreen - "Alt+Enter")

- povijest naredbi (Command History), ova mogućnost pamti prethodne korištene naredbe, a poziva se tipkom "F7", odnosno briše sa "Alt"+"F7"



Dalje, pod tabom "Layout", odnosno "Screen Buffer Size", postavite "Height", npr. na 1000 i kliknite na dugme "Ok", pa još jednom klik na "Ok".

Riječ, dvije;

command processor - komandni procesor je dio operativnog sistema koji na zaslonu prikazuje odzivni znak, interpretira, izvršava i obrađuje sve naredbe i datoteke koje mu korisnik zada i prikazuje poruke o greškama kada do njih dođe.

command prompt - odzivni znak, odnosno grupa znakova na zaslonu, kojima vam operativni sistem daje do znanja da je spreman da primi naredbu.

command line - komandna linija, odnosno redak za naredbe. Redak na zaslonu u kojem se očekuje upis naredbi pomoću tipkovnice.
22:58 |dodaj komentar (0)  |  Isprintaj  | # |

16.05.2006.

C++ (7)

Prilikom pisanja programa točno znate što će i kako će dotični program raditi, ali kada se nakon nekog dužeg vremena ponovo "vratite" tom isto programu, može vam se dogoditi da ga uopće nećete razumijeti. Zato, uvijek i sada pišite komentare!

komentar (comment) - objašnjenje koje programer ubacuje u program i u kome se opisuje što program radi, kako radi, tko ga je napisao, zašto je promijenjen, itd. Komentari ne utječu na tok izvršavanja programa, niti na veličinu izvršne verzije programa.

Komentare u programskom jeziku C++ možemo pisati na dva načina;

a) kao "C++ komentare" koji se navode iza znakova // (dvije kose crte), koji prevoditelja obavještavaju da ignorira sve što se nalazi iza njih u tekućem redu. C++ komentari se mogu pisati u jednom ili više redova.

// ovo je naš supertajni program
// unosom dva cjelobrojna broja
// daje rezultat kao cjelobrojni broj
// autori još uvijek nepoznati
#include <iostream>
using namespace std;

int main() {
      int a, b, c;          // tajne varijable

      cout << "hm:";
      cin >> a;          // očekuje upis prvog broja

// nastavak slijedi...
// izabrao i pripremio Đ.H.



b) kao "C komentare" koji se navode unutar para znakova /* */ , koji prevoditelja obavještavaju da ignorira sve što se nalazi unutar njih. "C komentari" pružaju mogućnost komentiranja u više redova bez potrebe da se ponavlja znak za komentiranje. C++ programeri ponekad koriste "C komentare" za privremeno isključivanje dijelova izvornog koda.

#include <iostream>
using namespace std;

/* ovdje počinje način komentara
preuzet iz programskog
jezika C i koji se nastavlja.......
...................................
...................................
do znaka kojim se završava komentar */



Kao što je dobro komentirani program mnogo pregledniji, tako se i pretjerano komentirani program može učiniti nepreglednim. Vremenom ćete naći zlatnu sredinu, jer se i komentiranje uči, vjerovali ili ne.

Par savjeta za gdje i što komentirati (preuzeto iz knjige "Demistificirani C++, odnosno "Strustrup91");

- na početku datoteke izvornog koda opisati sadržaj datoteke

- kod deklaracije varijabli, razreda i objekta obrazložiti njihovo značenje i primjenu

- ispred funkcije dati opis što radi, što su joj argumenti i što vraća kao rezultat (eventualno dati opis algoritma koji se primjenjuje)

- dati sažeti opis na mjestima u programu gdje nije potpuno očito što kod radi
23:35 |dodaj komentar (0)  |  Isprintaj  | # |

15.05.2006.

C++ (6)

Kako pravilno ispisati hrvatske znakove u komandnom prozoru?



Za pravilan ispis hrvatskih znakova "ć,č,đ,š,ž" u komandnom prozoru (Command Promptu) upotrijebiti ćemo razred "domaciNiz", koji je preuzet iz knjige "Demistificirani C++". (Najbolja knjiga za programski jezik C++ ikada objavljena na hrvatskom jeziku, ako ne i šire. Knjigu su napisali domaći autori Julijan Šribar i Boris Motik)

kod razreda "domaciNiz"

// ovdje je početak razreda domaciNiz
class domaciNiz : public string {
public:
       domaciNiz(char *znNiz) : string(znNiz) {;}
       domaciNiz() : string() {;}
       domaciNiz(string str) : string(str) {;}
       string PisiPoVuku() const;
       void CitajPoVuku(string str);
};

string domaciNiz::PisiPoVuku() const {
       char *szDOStext = new char[length() + 1];
       CharToOem(c_str(), szDOStext);
       const string strDOStext(szDOStext);
       delete [] szDOStext;
       return strDOStext;
}

void domaciNiz::CitajPoVuku(string str) {
       char *szWinText = new char[str.length()+1];
       OemToChar(str.c_str(), szWinText);
       assign(szWinText);
       delete [] szWinText;
       return;
}

ostream& operator<<(ostream &os, const domaciNiz &nN) {
       return os << nN.PisiPoVuku();
}

istream& operator>>(istream &is, domaciNiz &nN) {
       if (!is)
            return is;
       string str;
       is >> str;
       nN.CitajPoVuku(str);
       return is;
}
// ovdje završava razred domaciNiz
// dolje pišete svoj programski kod



Da ne bi svaki put upisivali/kopirali dotični kod u svoje programe, mi ćemo kod razreda "domaciNiz" spremiti kao "predložak koda" na sljedeći način;

a) Pokrenite "ConText editor" i kreirajte novu datoteku (Ctrl+N) sa "osvjetljivačem" C/C++ ( ako želite da vam se nova datoteka automatski kreira prilikom pokretanja "ConText editora", tada izaberite, u "Postavkama radne okoline" pod "Općenito" u opciji "Pri pokretanju", mogućnost "Kreiraj novu datoteku").

b) Izaberite redom "Postavke" > "Predlošci koda...", pa u novootvorenom prozoru "Predlošci koda" upišite kod "domaciNiz" ili jednostavnije, skinite već pripremljenu datoteku "C_C++.ctpl" u kojoj se nalazi "predložak koda - domaciNiz" sa doljnjeg linka, raspakirajte ga i spremite u mapu "Template", odnosno X:Program FilesConTEXTTemplate (gdje je "X" oznaka vašeg diska).
skini predložak

Nakon što ste skinuli datoteku "C_C++.ctpl" i spremili je u mapu "Template" pokrenite "ConText editor" i pritisnite kombinaciju tipki "Ctrl+J", odnosno "Ubaci kod iz predloška". Otvorit će se dodatni prozor u kojemu se nalaze sljedeći predlošci;

- domaćiNiz_1 (PišiPoNaši); u ovom predlošku se nalazi samo kod razreda "domaciNiz".

- domaciNiz_2 (PišiPoNaši plus ); ovdje se nalazi kod razreda "domaciNiz" i zaglavlje "windows.h", koje je neophodno za rad razreda "domaciNiz".

- domaćiNiz_3 (PišiPoNaši sva zaglavlja); kod razreda "domaciNiz" sa svim potrebnim zaglavljima ("iostream", "conio.h, "windows.h") koji su potrebni, za sada, u našim vježbama.

napomena!
Kako budemo napredovali u učenju programskog jezika C++, tako ćemo mijenjati, odnosno dodavati nove predloške koda.

Da li radi!?!

a) Pokrenite "ConText editor", kreirajte novu datoteku (C/C++).

b) Ubacite predložak koda (Ctrl+J) "domaciNiz_3".

c) upišite/kopirajte sljedeći doljnji kod.

int main() {
      int a, b, c;

      cout << domaciNiz("Upišite prvi cjelobrojni broj:");
      cin >> a;

      cout << domaciNiz("Upišite drugi cjelobrojni broj:");
      cin >> b;

      c = a + b;

      cout << "Njihov zbroj je: " << c << endl;
      getch();
      return 0;
}



d) Spremite ("Snimi kao...") programski kod u vašu mapu pod imenom, npr. "domaciNiz_proba.cpp" (bez navodnika).

e) Pokrenite prevoditelj sa izvršnom tipkom "F9" te nakon uspješnog prevođenja pokrenite program sa izvršnom tipkom "F10".



Ovaj put imamo "š"!

23:23 |dodaj komentar (0)  |  Isprintaj  | # |

13.05.2006.

C++ (5)

Unos podataka preko tipkovnice

problem 2.
Napišite program koji zbraja dva cjelobrojna broja.

a) Napravite mapu u koju ćete staviti vaš drugi C++ program.

b) Pokrenite "ConText editor" i napišite doljnji programski kod.

// problem 2
#include <iostream>
#include <conio.h>
using namespace std;

int main() {
      int a, b, c;

      cout << "Upisite prvi cjelobrojni broj:";
      cin >> a;

      cout << "Upisite drugi cjelobrojni broj:";
      cin >> b;

      c = a + b;

      cout << "Njihov zbroj je: " << c << endl;
      getch();
      return 0;
}



napomena!
Zbog nedostatka prostora neki komentari u programskom kodu se neće prikazivati. Kako bi to trebalo izgledati vidi se na doljnjoj slici. Komentare ćemo dodatno obraditi u narednim postovima. Primjećujete da sam "Upisite" napisao sa "s", a ne sa "š". To je zato jer za ispis u konzoli Windowsi koriste drugo pismo, a kako to ispraviti, objasniti ću drugom prilikom.



c) Spremite ("Snimi kao...") programski kod u vašu mapu pod imenom npr
"problem_02.cpp" (bez navodnika).

d) Pokrenite prevoditelj sa izvršnom tipkom "F9" te nakon uspješnog prevođenja pokrenite program sa izvršnom tipkom "F10".



U našem drugom programu primjećujemo neke novine.

sedmi red

int a, b, c;



Da bismo učitali ulazne podatke, moramo ih negdje smjestiti, a to mjesto zovemo varijabla (više o varijablama pisati ćemo u narednim postovima) Ovdje smo definirali tri varijable imenima "a", "b" i "c", koje smo ključnom riječi "int" definirali kao cjelobrojne.

Sljedeća novina je ulazni tok (engl. input stream) "cin";

deseti i trinaesti red

cin >>



"Ulazni tok" služi za učitavanje podataka sa tipkovnice.

petnaesti red

c = a + b;



ova naredba zbraja vrijednosti varijabli "a" i "b" i njihov zbroj pohranjuje u varijablu "c".


Sažetak
Da bi naši programi mogli ispisivati podatke na zaslon, odnosno unositi podatke preko tipkovnice moramo u njih pomoću pretprocesorske naredbe "#include" uključiti biblioteku "iostream" u kojoj ce nalaze ulazno-izlazni tokovi "cin" i "cout".

Riječ, dvije;

varijabla (lat. variabilis - promjenljiv) - u programiranju, imenovano mjesto pohrane sposobno da sadrži određeni tip podataka koji se tijekom izvođenja programa mogu mijenjati. (npr. varijabla s imenom "broj" može sadržavati broj 12, ali program tu vrijednost može bilo kada promijeniti)

podatak - jedinica informacije

podaci - znakovi, zapisi ili skupovi značenja kojima računalo rukuje. Predstavljanje činjenica, pojmova ili instrukcija u takvom obliku da ih računalo može prenositi, tumačiti i obrađivati.

cijeli broj - broj bez razlomačkog dijela, npr. 1, 4, -149 i 9875. U C/C++, npr. "int" (integer - cijeli broj) ispred imena varijable, na primjer "broj" određuje varijablu kao cjelobrojnu. Cijeli brojevi mogu biti pozitivni i negativni.
23:09 |dodaj komentar (1)  |  Isprintaj  | # |

12.05.2006.

C++ (4)

Od danas počinjemo učiti programirati u C++ jeziku. Da bi počeli programirati moramo imati problem koji želimo riješiti, a mi ga imamo!

problem 1.
Napišite program koji ispisuje na zaslon računala, ili na štampaću "Ja sam mali problem!".

Da bi riješili naš prvi mali i jednostavni problem potrebno je riješiti problem prikaza, odnosno ispisa niza znakova. Pošto je ovo mali problem i budući da funkcija za ispis postoji, možemo napisati rješenje odnosno naš prvi program u C++.

a) Napravite mapu u koju ćete staviti vaš prvi C++ program.

b) Pokrenite "ConText editor" i napišite doljnji programski kod.

// problem 1
#include <iostream>
#include <conio.h>
using namespace std;
 
int main() {
      cout << "Ja sam mali problem!" << endl;
      getch();
      return 0;
}



c) Spremite (Snimi kao...) programski kod u vašu mapu pod imenom npr "problem_01.cpp" (bez navodnika).

d) Pokrenite prevoditelj sa izvršnom tipkom "F9" (ako ste točno prepisali programski kod, prevoditelj vam ne bi trebao ispisati niti jednu grešku).

e) Pokrenite vaš program "problem_1.exe" sa izvršnom tipkom "F10".



Iako je ovo mali program i ne čini ništa posebno, mi ćemo iz njega naučiti osnove jezika C++.

Krenimo red po red;

prvi red

// problem 1



Dvostruka kosa crta je oznaka za početak komentara koji se završava do kraja tekućeg reda, a može se protezati i kroz više redova. Komentari služe programerima za opis naredbi ili dijelova koda. Prevoditelj ignorira sve komentare tako da oni nemaju nikakvog utjecaja na rad programa.

drugi red

#include <iostream>



Pomoću naredbe, odnosno pretprocesorske naredbe "#include" zahtjevamo od prevoditelja da u naš program uključi biblioteku "iostream". U biblioteci "iostream" nalazi se izlazni tok, odnosno funkcije koje omogućavaju ispis podataka na zaslon. Sam naziv "iostream" u okviru naredbe "#include" nalazi se između znakova "<" i ">" šta znači da se radi o elementu C++ biblioteke koja se zove standardno zaglavlje (engl. standard header).

treći red

#include <conio.h>



Da bi mogli rabiti funkciju "getch()" (biti će kasnije opisana) moramo u program uključiti zaglavnu datoteku "conio.h".

četvrti red

using namespace std;



Pošto mi koristimo nove standardne biblioteke (#include <iostream>), a ne starije oblike datoteka zaglavlja (#include <iostream.h>), morali smo dodati ključne riječi jezika C++ "using" i "namespace". Za "std" recimo da je naziv imenika u kojem su obuhvaćene sve standardne funkcije.

šesti red

int main() {



U svakom programu napisanom u C++ jeziku obavezna je jedna i samo jedna funkcija "main()". Kada u C++-u pokrećemo program, mi u stvari pozivamo ovu funkciju. Funkcije "main()" mora najaviti kakvu vrstu vrijednosti vraća kao rezultat. U našem programu funkcija "main()" vraća vrijednost "int" (int=integers, cijeli broj), odnosno kada funkcija "main()" završi rad ona će operacijskom sustavu vratiti kao rezultat cijeli broj. Iza riječi "main" slijede zagrade u koje se upisuju parametri koji se pridružuju funkciji. U našem primjeru nema parametra, zato su zagrade prazne.

Iza fukcije "main()" slijedi otvorena vitičasta zagrada "{" koja označava početek "bloka naredbi". Vitičaste zagrade ukazuju prevoditelju da sve što se nalazi unutar njih promatra kao cjelinu.

sedmi red

cout << "Ja sam mali problem!" << endl;



"Cout" je ime standardnog izlaznok toka definiranig u biblioteci "iostream". Izlazni operator "<<" upućuje podatak koji slijedi na izlazni tok, odnosno na zaslon. Podatak u našem programu "Ja sam mali problem!" napisan je unutar znakova navodnika, koji ukazuju da se radi o tekstu koji treba ispisati. Konstanta "endl" služi za prelazak u novi red.

osmi red

getch();



Sa Borlandovim prevoditeljima dolazi nestandardna funkcija "getch()" koju mi koristimo da bi uvjetno zaustavili program prije samog kraja. Da nismo dodali ovu funkciju, naš bi se program nakon izvršenja zatvorio i mi ne bi stigli vidjeti ispis. Za izlaz iz programa stisnite bilo koju tipku.
Mogućnost "system ("pause")" nisam koristio radi preglednosti.

deveti red

return 0;



Naredba "return" završava funkciju kojoj pripada i vraća vrijednost (u ovom slučaju) "0" funkciji koja je pozvala datu funkciju, a to je poruka operacijskom sustavu da je program uspješno završen.

deseti red

}



Funkcija "main()", odnosno "blok naredbi" završava se zatvorenom vitičastom zagradom.

napomena!
Svaka naredba u jeziku C++ mora se završiti znakom točka-zarez ";".

Riječ, dvije;

funkcija (engl. function) - je imenovani dio programa koji ostali dijelovi programa mogu pozivati ili pokretati.
23:59 |dodaj komentar (0)  |  Isprintaj  | # |

11.05.2006.

C++ (3)

Kako namjestiti postavke u "ConText editoru" za rad sa Borland "C++ Compiler" i "Turbo Debugger"?





a) Instalirajte "ConText editor" (po mogućnosti na isti disk, odnosno particiju gdje ste instalirali Borland "C++ Compiler 5.5" i "Turbo Debugger 5.5").

b) Promjenite prikaz jezika korisničkog sučelja u hrvatski tako da izaberete meni "Options" > "Environment Options...", pa u novootvorenom prozoru "Environment Options" pod "General" i pod postavkom "Language" izaberite "Hrvatski".

c) Za ugodnije i preglednije pisanje izvornog koda, u meniju "Postavke" > "Postavke radne okoline..." > "Editor", označite "Brojevi linija" pa u postavci "Postavke za novi dokument" za "Osjetljivač" izaberite "C/C++" i kliknite za kraj dugme "Prihvati".

d) Sada dolaze najbitnije postavke, postavke za "Izvršne tipke"!

Izaberite meni "Postavke" > "Postavke radne okoline..." > "Izvršne tipke" i kliknite na dugme "Dodaj".
Sada u novootvorenom prozoru "Izmjena ekstenzije" upišite (obavezno sa zarezom);

,cpp





Za izvršne tipke upisujemo sljedeće postavke;

Za F9

kliknite mišem (označite) "F9" i u postavkama (desno) unesite sljedeće postavke, odnosno parametre...

Pokreni:
X:BorlandBCC55Binbcc32.exe

Pokreni u:
X:BorlandBCC55Bin

Parametri:
-n%p -a -v %n

Prozor:
Normal

Pomoć: (upišite npr.)
Borland 5.5 Compiler

Snimi:
Editirajući datoteku prije izvršavanja

(označite)
Koristi krataka DOS imena
Prihvati izlaz konzole

Pravilo parsiranja izlaza kompilatora:
Error %n %l:



napomana!
"X" zamijenite sa oznakom vašeg diska ili particije gdje ste instalirali Borland "C++ Compiler 5.5" i "Turbo Debugger 5.5".



Klik na dugme "Aktiviraj"!



Za F10

kliknite mišem (označite) "F10" i u postavkama (desno) unesite sljedeće postavke, odnosno parametre...

Pokreni:
X:WINDOWSsystem32cmd.exe

Parametri:
/c %p%F.exe

Prozor:
Normal

Snimi:
Editirajući datoteku prije izvršavanja

(označite)
Koristi krataka DOS imena





Klik na dugme "Aktiviraj"!



Za F11

kliknite mišem (označite) "F11" i u postavkama (desno) unesite sljedeće postavke, odnosno parametre...

Pokreni:
X:BorlandBCC55BinTD32.exe

Parametri:
%F.exe

Prozor:
Normal

Snimi:
Editirajući datoteku prije izvršavanja

(označite)
Koristi krataka DOS imena
Prihvati izlaz konzole





Klik na dugme "Aktiviraj"!



Da li radi!?!

Upišite u "ConText editor" sljedeći program;

#include <iostream>
using namespace std;

int main() {
      cout << "Hello, World!" << endl;
      system ("pause");
      return 0;
}



- snimite kao "proba.cpp"

- pokrenite prevoditelj (slika1)



- te nakon uspješnog prevođenja pokrenite program (slika2)




21:47 |dodaj komentar (0)  |  Isprintaj  | # |

10.05.2006.

C++ (2)

Kako instalirati Borland "C++ Compiler 5.5" i "Turbo Debugger 5.5"?





a) Prvo instalirajte Borland "C++ Compiler 5.5" (ako imate više diskova, odnosno particija, pripazite na koji disk ili particiju instalirate).



b) Zatim na isti način instalirajte Borland "Turbo Debugger 5.5".

C) Nakon uspješne instalacije potrebno je kreirati dvije datoteke (bcc32.cfg i ilink32.cfg).

1) bcc32.cfg

Pokrenite "Notepad" i upišite sljedeće postavke (sa navodnicima);

-I"X:BorlandBcc55include"
-L"X:BorlandBcc55lib;X:BorlandBcc55libpsdk"



gdje je "X" oznaka vašeg diska ili particije gdje ste instalirali Borland "C++ Compiler 5.5" i "Turbo Debugger 5.5".

Npr.
ako ste instalaciju izvršili na disku "C", tada treba upisati;
-I"C:BorlandBcc55include"
-L"C:BorlandBcc55lib;C:BorlandBcc55libpsdk"

Snimite datoteku kao "bcc32.cfg" u mapu X:BorlandBCC55Bin


(izaberite meni "File" > "Save As...", pa u novootvorenom prozoru "Save As" u "File name" upišite "bcc32.cfg", bez navodnika i kliknite na dugme "Save")



2) ilink32.cfg

Ponovo pokrenite "Notepad" i upišite sljedeće postavke (sa navodnicima);

-L"X:BorlandBcc55lib;X:BorlandBcc55libpsdk"



(ne zaboravite "X" zamijeniti sa oznakom vašeg diska)

Snimite datoteku kao "ilink32.cfg" u mapu X:BorlandBCC55Bin



Već pripremljene datoteke (bcc32.cfg i ilink32.cfg) možete skinuti sa ovog linka 2xCFG

d) Na kraju treba još upisati "path", odnosno putanju, na sljedeći način;

- kliknite desnom tipkom miša na "My Computor" i iz padajućeg menija izaberite "Properties"

- u novootvorenom prozoru "System Properties" izaberite jezičak "Advanced" i kliknite na dugme "Environment Variables"

- sada u "System variables" izaberite Variable "Path" i kliknite na dugme "Edit"

- u "variable value" upišite "X:BorlandBCC55Bin" (bez navodnika i ne zaboravite umjesto oznake "X" upisati oznaku vašeg diska na koji ste instalirali Borland "C++ Compiler 5.5" i "Turbo Debugger 5.5")



- potvrdite sve klikom na dugme "Ok", pa još jednom klik na "Ok" i za kraj još jednom klik na dugme "Ok"

Sada su napokon Borland kompilator i debugger spremni za rad!
21:45 |dodaj komentar (0)  |  Isprintaj  | # |

09.05.2006.

C++ (1)

Da bi vaš ljubimac, odnosno kompjuter, mogao bilo što korisno ili nekorisno napraviti, on mora izvršiti točno definirani skup naredbi u strojnom jeziku. Naravno, većina današnjih programera ne piše programe u strojnom jeziku, već koriste tzv. više programske jezike, a jedan od njih je i C++

Najbolji, a možda i jedini način da bismo naučili programski jezik C++ jest da počnemo u njemu programirati, a da bismo uopće počeli programirati potreban nam je alat, odnosno program(i) za programiranje u C++.
Prvi i osnovni alat koji nam je potreban je C++ prevoditelj (kompilator). Postoje razna komercijalna i skupa razvojna okruženja (Microsoft Visual C++, Borland C++ Builder), ali postoje i besplatni prevoditelji poput "Dev C++" i Borland "C++ Compilera 5.5" koji će se inače i koristiti u daljnjem radu.
Drugi alat koji će nam trebati je Borlandov "Turbo Debugger" koji je također besplatan, a treći alat u koji ćemo pisati izvorni kod, biti će program domaćeg autora, "ConText editor".

Borland "C++ Compiler Version 5.5" i "Turbo Debugger Version 5.5" skinite sa ovog linka >> Borland <<
"ConText editor" skinite na ovom linku >> ConText editor <<



Kako sam autor (Eden Kirin) kaže;

"ConText je mal, brz, moćan i jednostavan tekst editor!"


Uz program se isporučuju definicije za C/C++, Delphi/Pascal, PHP, Perl, Javu, Java Script, HTML, assembler 80x86, itd., a moguće je definirati i vlastite definicije za proizvoljan programski jezik. Povezivanje s ekstremnim aplikacijama (npr. besplatnim kompilatorima) riješen je na jednostavan i prikladan način. Može otvoriti neograničeni broj datoteka, a pretraživanje i zamjena teksta može se obaviti u pojedinoj datoteci ili u svim otvorenim datotekama.


Riječ, dvije;

compiler - kompilator, program koji prevodi izvorni kod u objektivni. Programi prevedeni pomoću kompilatora puno se brže izvode od programa prevedenih interpreterom.

debugger - program koji pronalazi greške u drugim programima.


Pošto je i sam autor ovog bloga početnik u programiranju, bila kakva sugestija ili pomoć iskusnih programera dobro je došla!
22:35 |dodaj komentar (0)  |  Isprintaj  | # |

08.05.2006.

Resource Hacker (6)

Promjena izgleda "Log-on" screena (3)


e) Promjena rezolucije ("glavne") bitmape ("100")

Upišite "100" (bez navodnika) u polje "Find what", kliknite na dugme "Find Next" i doći ćete do sljedeće postavke;

Ovdje mijenjamo - zadajemo rezoluciju bitmape "100"



Ovdje mijenjam;

content=rcbmp (100,0,0,219rp,207rp,1,0)>
u
content=rcbmp (100,0,0,450rp,530rp,1,0)>



Klik na "Compile Script"



(Promjenio sam rezoluciju u "450rp, 530rp" jer je moja bitmapa "100" veličine - rezolucije 450x530 px. Da sam ostavio staru vrijednost, bitmapa "100" - "ruža" bila bi dosta smanjena, odnosno bitmapa "ruža" bi se jedva vidjela.)

f) Promjena boje pozadine "Windows XP" loga
   (koji se prikazuje nakon restartanja, odnosno gašenja računala)

Označite doljnji tekst mišom, kopirajte ga, zalijepite u polje "Find what" i kliknite na dugme "Find Next"!

to >> background=rgb (90,126,220) /> << to



Doći ćete do sljedeće postavke (hm!);

Tu mijenjamo - zadajemo boju pozadine "Windows XP" loga koji se prikazuje nakon restartanja, odnosno gašenja računala



Mijenjam;

background=rgb (90,126,220)/>
u
background=rgb (0,0,0)/>



Klik na "Compile Script"



g) Promjena rezolucije bitmape ("123")

Upišite "123" (bez navodnika) u polje "Find what", kliknite na dugme "Find Next" i doći ćete do sljedeće postavke;

Ovdje mijenjamo - zadajemo rezoluciju bitmape "123"



Mijenjam;

content=rcbmp (123,3,-1,137,86,0,0)
u
content=rcbmp (123,3,-1,1,1,0,0)
ili
content=rcbmp (123,3,-1,0,0,0,0)
(ne igra nikakvu ulogu)



Klik na "Compile Script"



(Da nisam promijenio rezoluciju - veličinu bitmape "123", moja bitmapa "100" - "ruža" bila bi do pola prekrivena bitmapom "123", što bi se vidjelo prilikom restartanja, odnosno gašenja računala.)

h) Promjena boje sjene natpisu "Welcome" ("Welcomeshadow")

Označite doljni tekst mišom, kopirajte ga i kliknite na dugme "Find Next"!

to >> foreground: rgb (49,81,181) << to



Doći ćete do sljedeće postavke;

Ovdje mijenjamo - zadajemo boju sjene natpisu "Welcome"

(na ovom mjestu možete dodatno izmjeniti i ostale vrijednosti natpisu "Welcome", od font stila do veličine fonta)



Mijenjam;

foreground: rgb (49,81,181);
u
foreground: rgb (134,12,9);



Klik na "Compile Script" i klik na "Save"



napomena!
Da bi promijenili "logonui.exe" datoteku, morate restartati Windowse, pa prilikom novog podizanja (bootanja) Windowsa pritisnuti tipku "F8" i izabrati opciju "Safe Mode"! U "Safe Modu" zamijenite orginalnu datoteku "logonui.exe" sa svojom izmjenjenom datotekom "logonui.exe" i restartajte Windowse.


S promjenom boje sjene natpisa "Welcome" završili bi ovaj primjer. Nadam se da sam uspio "obuhvatiti" osnovne promjene "Log - on" screena.

Dodatak

Otvorite (kliknite) resurs "String Table" pa "mapu1" i klik na "1033". U ovom dijelu možete promijeniti natpise, npr;

"Type your password" u "Upiši svoju lozinku"
ili
"welcome" u "dobro došli"



U "mapi2" također možete promijeniti natpise, npr;

"To begin, click your user name"
u
"Za nastavak, klikni na svoje korisničko ime"
ili
"please wait..."
u
"molim sačekajte..."



U "mapi3" možete, npr. - promijeniti veličinu fonta natpisu "Welcome";

"36"
u
"24"





Igrajte se, mogućnosti ima puno!

17:51 |dodaj komentar (1)  |  Isprintaj  | # |

07.05.2006.

Resource Hacker (5)

Promjena izgleda "Log-on" screena (2)

Da bi prilagodio promjenjene bitmape, a i ostale elemente korisničkog sučelja prema svojim željama, moram izmjeniti (zadati nove) vrijednosti tim elementima u mapi "UIFILE"

"UIFILE" (User Interface File) - datoteka korisničkog sučelja u kojoj se "nalaze" sve postavke elemenata "Log - on" screena. Tu se mijenjaju - zadaju boje pozadine, stil i boja fonta, pozicija teksta itd.

a) Promjena boja pozadine (background) glavnog (srednjeg) panela i prijavnog - korisničkog "okvira" (logonaccount)

Da bi ste lakše pratili tutorial, označite doljnji tekst mišom i kopirajte ga (Copy);

to >> background: rgb (90,126,220) << to



Zatim u "Resource Hackeru" izaberite meni "View" pa "Find Text..." ili još bolje, pritisnite tipke "Ctrl" + "F" , zalijepite (Paste) kopirani tekst u polje "Find what" pa kliknite na dugme "Find Next" i doći ćete do sljedećeg teksta - postavke;

U ovome dijelu mijenjamo - zadajemo boju pozadine glavnog (srednjeg) panela


ovdje mijenjam vrijednosti boje;

rgb (90,126,220)
u
rgb (0,0,0)
odnosno u crnu boju



Nakon promjene boje pozadine, sa tipku "F3", odnosno "View" >> "Find Next" tražimo sljedeći tekst "background: rgb (90,126,220)" i dolazimo do sljedeće postavke;

U ovom dijelu mijenjamo - zadajemo boju prijavnom - korisničkom "okviru"

Tu se određuju dva stanja prikaza;


1) alpha (prozirnost) prikaz koji se "prikazuje" samo kad je "značka" miša unutar desnog (aktivnog) dijela glavnog panela (također možemo promijeniti prikaz animacije, odnosno prozirnost prikaza - alpha)

2) prikaz određene boje kada "značkom" miša prijeđemo preko prijavnog - korisničkog "okvira"

U ovom dijelu, također, mijenjam;

background: rgb (90,126,220)
u
background: rgb (0,0,0)



Opet sa tipkom "F3" (Find Next) dolazimo do sljedeće (treće) postavke;

Ovdje, također, mijenjamo - zadajemo boju prijavnom - korisničkom "okviru", ali dotična boja se "vidi" samo kada je "značka" miša van glavnog (desnog - aktivnog) panela



Opet mijenjam;

background: rgb (90,126,220)
u
background: rgb (0,0,0)



Prije nego prijeđemo na drugu promjenu moramo kliknuti na dugme "Compile Script"!

b) Promjena boje gornjem (top) panelu

Označite doljni tekst mišom i kopirajte ga (Copy);

to >> background: rgb (0,48,156) << to



pa kopirani tekst zalijepite u polje "Find what", kliknite na dugme "Find Next" i doći ćete do sljedeće postavke;

U ovom dijelu mijenjamo - zadajemo boju gornjem (top) panelu



Ovdje ću promijeniti;

background: rgb (0,48,56)
u
background: rgb (0,0,0)



Promjenu moram potvrditi klikom na dugme "Compile Script"!

c) Promjena boje ili gradijenta doljnjem (bottom) panelu

Kopirajte doljni tekst;

to >> background: gradient(argb (0,57,52,173), argb (0,0,48,156), 0) << to



pa kopirani tekst zalijepite u polje "Find what", kliknite na dugme "Find Next" i doći ćete do sljedeće postavke;

Ovdje mijenjamo - zadajemo boju, odnosno gradijent doljnem (buttom) panelu



Mijenjam;

background: gradient argb (0,57,52,173), argb (0,0,48,156), 0);
u
background: gradient(argb (0,0,0,0), argb (0,0,0,0), 0);



Klik na "Compile Script"!

Gradijent (gradient) - prijelaz između dvije ili više boja

(Da smo promijenili samo drugu vrijednost "argb (0,0,48,156)" u "argb (0,0,0,0), dobili bi lagani prijelaz iz plave u crnu boju - vidi sliku)



d) Promjena boje ruba (border) prijavnog - korisničkog okvira

Kopirajte doljni tekst, zalijepite u polje "Find what", kliknite na dugme "Find Next",

to >> bordercolor: rgb (90,126,220) << to



i doći ćete do sljedeće postavke;

Tu mijenjamo - zadajemo boju ruba (border) prijavnog - korisničkog "okvira", ali dotični okvir - boja se "vidi" samo kada je "značka" miša unutar glavnog (desnog) panela




Mijenjam;

background: rgb (90,126,220)
u
background: rgb (0,0,0)



Pritisnimo tipku "F3" i dolazimo do sljedeće (druge) postavke;

Ovdje, također, mijenjamo - zadajemo boju ruba prijavnog - korisničkog "okvira", ali dotični okvir - boja se "vidi" samo kada je "značka" miša van glavnog (desnog) panela



Mijenjam;

background: rgb (90,126,220)
u
background: rgb (0,0,0)



Klik na "Compile Script"!

Kraj drugog dijela!

20:02 |dodaj komentar (0)  |  Isprintaj  | # |

06.05.2006.

Resource Hacker (4)

Promjena izgleda "Log-on" screena (1)

Za izgled "Log - on" screena u Windowsima XP zadužena je sistemska datoteka "logonui.exe", koja se nalazi u sistemskoj mapi Windowsa, odnosno u mapi "system32".



napomena!
Na samom početku moram upozoriti da se u sljedećem primjeru izvode izmjene na sistemskoj datoteci i da može doći do neželjenih posljedica. Zato, prije nego bilo što počnete mijenjati, načinite novu točku za povrat sustava (System restore point) na sljedeći način - iz izbornika "Start" odaberete "All Programs" pa "Accessories", zatim "System Tools" i na kraju "Sytem Restore". Odaberite mogućnost "Create Restore Point" pa klik na dugme "Next" i upišite - opišite razlog kreiranja dotične točke za povrat sustava (npr. Izmjena Boot screena). Za kraj klik na "Create" i klik na "Close".
Moj dodatni savjet, napravite sliku (Image) diska, odnosno particije na kojoj se nalaze Windowsi kojima mijenjate sistemske datoteke (image diska - particije možete napraviti sa programom "Norton Ghost" ili "TrueImage").
Autor ovog bloga nije odgovoran za eventualnu štetu nastalu korištenjem ovog tutoriala!

Za sve one koji žele, na jednostavniji način, promijeniti izgled "Loog-on" i "Boot" screena preporučio bi programe namijenjene za te svrhe (Style XP, Boot XP, LogonStudio itd.).

Prije nego počmemo sa primjerom moramo upoznati glavne elemente "Log - on" screena



i "ulogu" bitmapa u "logonui.exe"!



Opisati ću način na koji koristim "Resource Hacker" da bi promijenio i prilagodio "Log-on" screen svojim željama!

Za početek kreiram mapu (npr. "Mojrad-log_on2") i u njoj tri podmape. Jedna za sigurnosnu kopiju "logonui.exe", druga za kopiju "logonui.exe" koju ću izmjeniti i treća za pripremljene bitmape s kojima ću zamijeniti orginalne bitmape u "logonui.exe".

Zatim;

a) sa "Resource Hackerom" otvorim datoteku "logonui.exe", označim bitmapu "100", meni "Action" pa "Replace Bitmap..." i izaberem pripremljenu bitmapu s kojom ću zamijeniti orginalnu bitmapu "100".



b) kliknem na dugme "Replace" i evo nove bitmape!



c) zatim, otvorim bitmapu "112" ("uloga" bitmape "112" - pozadina se "prikazuje" kada izaberete - kliknete na svoje korisničko ime) i zamjenim je sa svojom pripremljenom bitmapom



d) bitmape od "123" do "127" zamijeniti ću svojom bitmapom ("crno.bmp" veličine 1x1 px)



napomena!
dotične bitmape u ovom primjeru promjene "Log - on" screena nisu mi potrebne i zato sam ih zamijenio sa bitmapom crne boje jer će i cijela pozadina ovog "Log - on" screena biti crna!
U slučaju da nisam dotične bitmape zamijenio sa bitmapom "crno", nego ih doslovno obrisao, došlo bi do greške prilikom restartanja, odnosno prilikom bootanja Windowsa!

e) na kraju sve opisane promjene treba usnimiti u datoteku "logonui.exe"

Kraj prvog dijela!





Dodatak

Veličina (rezolucija) bitmape "moja100.bmp" (s njom sam zamijenio orginalnu bitmapu "100" u "logonui.exe) iznosi 450x530 px i pokriva samo lijevi dio pozadine glavnog (srednjeg) panela. Ako želite da neka bitmapa pokriva cijelu pozadinu glavnog panela, morate obratiti pažnju na dvije vrlo bitne stvari;

bitmapa koja pokriva samo lijevi dio pozadine glavnog panela



bitmapa koja pokriva cijelu pozadinu glavnog panela



1.) Rezolucija bitmape mora biti identična screen rezoluciji u kojoj radite. Znači, ako na vašem kompjuteru radite u rezoluciji 1024x768 px, tada i bitmapa mora imati rezoluciju 1024x768 px. Ako ne znate u kojoj screen rezoluciji radite, kliknite desnom tipkom miša na prazni dio desktopa, izaberite "Properties" pa u prozoru "Display Properties" izaberite jezičak "Settings" i pod "Screen resolution" očitajte rezoluciju pod kojom radite.

2.) Nakon što ste promjenili bitmapu ("100"), morate još dodati i njezine nove vrijednosti u mapu "UIFILE", u kojoj se nalaze sve postavke za prikaz (elemenata) korisničkog sučelja "Log - on" screena. Do mjesta gdje ćete upisati vrijednosti vaše nove bitmape najlakše dolazimo da izaberemo meni "View" pa "Find Text..." ili još bolje tipkama "Ctrl" + "F". U prozoru "Find" upišite "100" (bez navodnika) i kliknite na dugme "Find Next" ("100" smo upisali jer smo mijenjali bitmapu "100"). Doći ćete do sljedeće postavke;

...content=rcbmp(100,0,0,219rp,207rp,1,0)>



u koju ćete upisati rezoluciju nove bitmape, odnosno umjesto 219 =1024 i umjesto 207 = 768, na kraju to izgleda ovako,

...content=rcbmp(100,0,0,1024rp,768rp,1,0)>



Zatim kliknite na "Compile Script" i usnimite promjene u "logonui.exe"!
22:50 |dodaj komentar (0)  |  Isprintaj  | # |

05.05.2006.

Resource Hacker (3)


Treći primjer - kako dodati novi natpis?

a) Pokrenite "Resource Hacker", izaberite "File" pa "Open..." i otvorite svoju "SFX" arhivu.

b) Otvorite mapu "Dialog", a zatim mapu "STARTDLG" i označite "1049", otvoriti će se prozor "Dialog - STARTDLG".

c) Kliknite desnom tipkom miša na donji dio prozora (lijevo od dugmeta "Install") i izaberite "Insert control" iz padajućeg menija.

d) U novo otvorenom prozoru "Control Editor";

- izaberite dugme "label" (label - natpis, polje za prikazivanje teksta)
- pod "Caption" upišite, npr. "myxp.blog.hr"
- pod "Style", ovdje inače možete dodatno mijenjati izgled "controle", izaberite-označite opciju "SS_CENTER" i "WS_DISABLED".
- kliknite na dugme "Ok"

e) Kliknite na dugme "Compile Script" i u meniju "File" izaberite "Save".



Podignite svoju "SFX" arhivu i pogledajte rezultat!



Četvrti primjer - "vruće tipke"

a) Nakon što otvorite svoju "SFX" arhivu, uđite u prozor "Dialog - STARTDLG".

b) Kliknite desnom tipkom na dugme "Browse..." i u padajućem meniju izaberite "Edit control".

c) U novo otvorenom prozoru "Control Editor", pod "Caption", upišite, npr. "&Pronađi" (bez navodnika) i kliknite na dugme "Ok".

d) Primjenite isti postupak i za ostala dugmad kojima možete promijeniti tekst vrijednosti u, npr.

- "Install" u "I&nstaliraj u"
- "Cancel" u "&Odustani"

e) Kliknite na dugme "Compile Script" i u meniju "File" izaberite "Save".

Dodavanjem znaka "&" (ampersand) uz natpis, odnosno određeno slovo, omogućujemo korištenje tzv. "vrućih tipki".
Npr. natpis "&Pronađi", na dugmetu se pojavljuje s podcrtanim slovom "P" - "Pronađi", pa umjesto da kliknemo mišem možemo upotrijebiti kombinaciju tipki "Alt + P".
(U slučaju da se ne vide podcrtana slova, pritisnite tipku "Alt"!)


22:34 |dodaj komentar (0)  |  Isprintaj  | # |

04.05.2006.

Resource Hacker (2)


Drugi primjer - kako ulinkati novi resurs, odnosno novu bitmapu ?

Napravite novu bitmapu veličine "114x23 px" i nazovite je "novabitmapa"!



a) Pokrenite "Resource Hacker", izaberite "File" pa "Open..." i otvorite svoju "SFX" arhivu (koju ste napravili u prošlom primjeru).

b) Izaberite meni "Action" >> "Add a new resource ...", pa u sljedećem prozoru "Add a New Resource ..." izaberite dugme "open file with new resource...", koji otvara novi prozoru "Open" u kojem nakon odabira bitmape "novabitmapa" kliknete na dugme "Open".



c) Sada u prozoru "Add a New Resource...", ispod "Resource Name:" upišite, npr. "NOVABITMAPA" (naravno bez navodnika).
Inače, svojim resursima možete dati bilo koji logički naziv ili redni broj, npr. prva bitmapa je "101", a novu bi mogla, hm, biti "102".
Ispod "Resource Language:" upišite "0" (nula, bez navodnika) i kliknite na dugme "Add Resource".



Kliknite na mapu "Bitmap" u lijevom prozoru "Resource Hackera" i primjetiti ćete novo stvorenu mapu "NOVABITMAPA".

d) Otvorite mapu "Dialog", a zatim mapu "STARTDLG" i označite "1049", otvoriti će se prozor "Dialog - STARTDLG".

e) Kliknite desnom tipkom miša na donji dio prozora (lijevo od dugmeta "Install") i izaberite "Insert control" iz padajućeg menija.



f) U novo otvorenom prozoru "Control Editor";

- kliknite na sličicu "BITMAP" (treća sličica od lijevo u drugom redu)
- pod "Caption:" upišite "NOVABITMAPA", bez navodnika (ovdje upisujete ime resursa koji ste kreirali prilikom dodavanja novog resursa, pazite na velika slova!)
- kliknite na dugme "Ok"



g) Kliknite na dugme "Compile Script" i u meniju "File" izaberite "Save".

Podignite svoju "SFX" arhivu i pogledajte rezultat!


21:57 |dodaj komentar (0)  |  Isprintaj  | # |

03.05.2006.

Resource Hacker (1)

Da ponovimo još jednom, "Resource Hacker" je mali i totalno jednostavni program pomoću kojeg možemo iz izvršnih datoteka (.exe, dll,...) izvući "ulinkane" resurse (ikone, bitmape, kursore, itd.),
zamjeniti ih novim ili čak "ulinkati" - ubaciti nove




Kada savladate osnove rada sa "Resource Hackerom", možete vašim "SFX" (Self -extracting) arhivima dodati svoji prepoznatljivi "pečat", ulinkati "manifest" u vaše stare programe da bi dobili "look XP Windowsa" ili promijeniti izgled samim Windowsima (izmjeniti postavke sistemskoj datoteci - "logonui exe") i još puno toga!
Resource Hacker možete skinuti sa ovog linka >> Skini

Osnovne primjere, zamjena bitmape i dodavanje novih resursa, izvodićemo na "SFX" (Self -extracting) arhivi koju ćemo napraviti pomoću "WinRAR-a" (način stvaranja "SFX" arhive opisan je u prošlom postu - "UPX - komprimiranje i dekomprimiranje")!

Prvi primjer - zamjena bitmape

Napravite u nekom programu za crtanje-obradu fotografije (Photoshopu, Xari, a može i u Paintu) bitmapu veličine "93, 302 px" i spremite je.

a) Pokrenite "Resource Hacker", izaberite "File" pa "Open..." i učitajte vašu "SFX" arhivu.



b) Otvorite mapu resource "Bitmap" >> "101" i označite "1049".



C) Izaberite meni "Action" >> "Replace Bitmap...", pa u sljedećem prozoru izaberite "open file with new bitmap...", koji otvara novi prozoru "open" u kojem nakon odabira svoje bitmape kliknete na dugme "Open".



d) Nakon što odabrali i učitali svoju bitmapu, kliknite na dugme "Replace" i u meniju "File" izaberite "Save".



Podignite svoju "SFX" arhivu i pogledajte rezultat!
U sljedećem postu naučiti ćemo kako ubaciti - ulinkati nove resurse!
23:39 |dodaj komentar (0)  |  Isprintaj  | # |

02.05.2006.

UPX kompresija-dekompresija

Danas ćemo naučiti kako se pomoću "UPX packera" komprimiraju i dekomprimiraju izvršne datoteke. Za početak skinite, malo stariju verziju, "UPX packer" na sljedećem linku;  Skini UPX packer

Raspakirajte "UPX" zip datoteku i smjestite je u korijenskom direktoriju ("X:upx", gdje je "X" oznaka vašeg diska, odnosno particije).
Zapravo, uopće nije bito gdje ćete smjestiti "UPX packer", ali je kasnije najlakše doći do "UPX" mape preko "Command Prompta" ako se dotična mapa nalazi u korijenskom direktoriju!
Možda vas bunim što upotrebljavam izraze "direktorij" i "mapa" zajedno (na neke stvari se ne možeš naviknuti), jer inače direktorij (directory) i mapa (folder) označavaju jednu te istu stvar.

U starijim okvirima za dijalog, riječ direktorij odnosi se na ono što danas, pod Windowsima, nazivamo mapom.


Idemo mi dalje! Pomoću "WinRAR-a" napraviti ćemo izvršnu datoteku na sljedeći način;

a) Napravite novi "Text Document" - klik na Desktop desnom tipkom miša, izaberite "New" > "Text Document" i nazovite ga "Proba".

b) Ponovo kliknite desnom tipkom miša, ali ovaj put na stvoreni dokument ("Proba.txt") i izaberite "WinRAR" opciju "Add files to archive", odnosno "Napravi arhivu" ako imate hrvatsku verziju "WinRAR-a". Zatim označite opciju "Create SFX archive", ili "Napravi SFX arhivu" , kliknite na "Ok" i dobili ste "SFX RAR arhivu - Proba", zapravo sada imamo izvršnu datoteku "Proba" koju ćemo komprimirati, a kasnije i dekomprimirati sa "UPX-om"!

Kompresija izvršne datoteke pomoću "UPX packera"!

Kopirajte "SFX RAR arhivu - Proba" u mapu upx ("X:upx"), pokrenite "Command Prompt" ("Start" > "Programs" > "Accessories" > "Command Prompt") ili ("Start" > "Run...," upišite "cmd" i pritisnite "Enter").
Upišite prvu naredbu u "Command Promptu";
"cd" (bez navodnika) i pritisnite "Enter" da bi ste se prebacili u korijenski direktorij!
Upišite novu naredbu "cd upx" da bi ušli u mapu "upx"!
Napokon, sada dolazi ono glavno, upišite naredbu "upx Proba.exe" da bi komprimirali našu "SFX RAR arhivu - Proba"



Probajete nakon komprimiranja otvoriti arhivu "Proba" sa "Resource Hackerom", neće ići, jer je datoteka "Proba" komprimirana, odnosno zaštićena "UPX" packerom.

Dekompresija izvršne datoteke pomoću "UPX packera!

Ok, sada ćemo arhivu "Proba" dekomprimirati! Ponovo pokrenite "Command Prompt", uđite u mapu "upx" i upišite sljedeću naredbu "upx -d Proba.exe", pritisnite "Enter" i naša će se arhiva dekomprimirati.



Par dodatnih objašnjenja;

Naredbe "DOS-a" (premda više službeno ne postoji);

CD = vraća u korijenski direktorij (root)
npr. - C:Program FilesMoja mapa>CD
C:>

CD.. = vraća iz poddirektorija u direktorij za jedni "stepenicu" bliže korijenskom direktoriju
npr. - C:Program FilesMoja mapa>CD..
C:Program Files>

CD = odlazak u točno određeni direktorij
npr. - C:>CD Program Files
C:Program Files>

-Nakon svakog unosa naredbe - pritisnuti tipku "ENTER", da bi se unesena naredba izvršila!
-"DOS" ne prepoznaje velika i mala slova, možete pisat CD ili cd.
-Direktorij i poddirektorij se međusobno odvajaju kosom crtom " " (back slash).

UPX sintaksa;

upx [ *naredba* ] [ *opcije* ] *ime datoteke*...(sa ekstenzijom - nastavkom)

-Za dekompresiju izvršne datoteke zadaje se naredba "-d " (decompress)
-Na Internetu možete skinuti grafičko sučelje za jednostavniji rad sa "UPX - packerom".

23:42 |dodaj komentar (0)  |  Isprintaj  | # |

01.05.2006.

Crack, pogled iznutra (2)

"Bez alata nema zanata!" Većina alata (programa) kojima se crackeri služe su zapravo programi za debugiranje (debuggeri) aplikacija, odnosno programi koji pronalaze pogreške u drugim programima.



Najpoznatiji programi, ali ne i jedini, su legendarni SoftICE i W32Dasm. Da bi ste znali koristiti dotične programe morate poznavati osnove assemblerskog jezika, heksadecimalni brojevni sustav, registre itd. Sada vam je vjerovatno jasno zašto su programeri najbolji crackeri!
Naravno, na ovom blogu nećete naći tutoriale posvećene crackiranju, ali moći ćete vremenom, zajedno samnom, naučiti assembler i c++ jezik, heksadecimalni i binarni brojevni sustav, upoznati ASCII umjetnost i naravno alate za debugiranje!

Jedan moj dobar prijatelj vječno je govorio;

Poznato je da su početnici nestrpljivi i da žele opipljive rezultate što prije, a to dovodi do brzog odustajanja, što nije ni moj, a ni vaš cilj!


Zato mi krećemo stranom manjeg otpora gdje ćemo upoznati naš prvi alat "Resource Hacker" i osnove rada s "UPX" packer-om.



Resource Hacker je alat (program) pomoću kojega možemo iz zadane .exe ("EXEcutable - izvršna datoteka, tip datoteke koji sadrži izvršni kod") izvući "ulinkane" resurse (ikone, bitmape, kursore, itd.), zamjeniti ih novim ili čak "ulinkati" - ubaciti nove, a sve to bez narušavanja integriteta izvršnog dijela koda koji je u njoj pohranjen.

Većina izvršnih datoteka je komprimirana i zaštićena nekim alatom (UPX, Armadillo, ASPack, itd.) za "pakiranje" odnosno komprimiranje izvršnih datoteka. Tako komprimirane i zaštićene izvršne datoteke nije moguće otvoriti sa "Resource Hackerom" i ostalim sličnim alatima. Dakle, prije upotrebe "Resource Hackera" obraditi ćemo osnove rada sa "UPX packerom" i s tim malim uvodom ulazimo u "svijet packera - PE Protectora".

UPX - Ultimate Packer for eXecutables


UPX je besplatan "packer" odnosno kompresor i(ili) dekompresor izvršnih datoteka u realnom vremenu (real - time compression). Jedan je od najpoznatijih - najraširenijih alata te vrste i koristi se u razne svrhe, od upotrebe u komercionalnim programima (WinRAR) pa sve do komprimiranja virusa.

Nemojte "miješati" "UPX" sa "WinZip-om" ili "WinRAR-om" jer radi se o različitim kategorijama alata za kompresiju odnosno dekompresiju.

"WinZip" odnosno "WinRAR" su programi za eksplicitno komprimiranje - dekomprimiranje. To znači da se pri svakoj operaciji kompresije - dekompresije mora određeni kompresor - dekompresor pokrenuti.
Da bi datoteke komprimirane (arhivirane) tim programima mogli dekomprimirati, morate imati instalirane dotične programe za kompresiju - dekompresiju u svom kompjuteru.

"UPX" pakira - komprimira (samo) izvršne datoteke (brzim algoritmima za sažimanje podataka u realnom vremenu) i dodaje u njih svoj "kod", koji omogućuje "automatsku" dekompresiju (u memoriju) tako pakirane - komprimirane izvršne datoteke. Drugim riječima, za izvršne datoteke pakirane - komprimirane UPX-om ili sličnim alatima nije potrebno imati dotični dekompresor za njihovo dekomprimiranje, odnosno za pokretanje tako pakiranih - komprimiranih programa.

Kao što smo rekli, UPX je kompresor i ujedno dekompresor pa s njim nećemo imati problema (osim u izuzetnim prilikama), ali većina ostalih sličnih alata - tzv. "PE Protectori" ("PE - Portabe Executabe, zajednički naziv za sve exe, dll, ActiveX i ostale datoteke koje sadržavaju izvršni kod, a izvršavaju se pod Windows platformama") ne sadrže i dotični dekompresor (sasvim logično, ne bi bili protectori).
Koji su najpoznatiji "Packeri - PE Protectori" i kako ih zaobići? Šta je to "Manual unpacking"? Odgovore na ta i druga pitanja dobiti ćemo vremenom!!!

Impresivan prikaz moći kompresije u realnom vremenu (naravno, ni "super kompresija" ne bi pomogla da sam rad nije briljantno napravljen) "demostrirala" je grupa "farbrausch consumer consulting" sa svojim demo programom "fr-08".
Recimo samo da se radi o demo programu trajanja 15 minuta na SVGA razlučivosti u punoj boji, plus glazbena podloga (sihronizirana sa videom) i sve to strpano u 64 kb (dobro ste pročitali - 64 kb).
Kliknite na donji link da bi skinuli ovo impresivno dijelo, na čiji rad bi se mogli ugledati i programeri današnjih "modernih" igara (zahtjevi za pokretanje fr -08 demo programa - DirectX 8 ili noviji, 128 MB osnovne memorije).

Skini fr-08
22:05 |dodaj komentar (0)  |  Isprintaj  | # |

<< Prethodni mjesec | Sljedeći mjesec >>