Veze, linkovi
Kompjuter biblioteka
Korpa

 

Access

Alternativna učenja

Analiza podataka

Android

Animacija

Antropologija

Apple - MAC OS X

Arheologija

Arhitektura

Astrologija

Astronomija

Audio kursevi + knjige

Audio, Multimedia, Video

Autobiografija

AutoCad, ArchiCAD, SolidWorks, Catia, Pro/Engineer

Automobili

Bajke

Baze podataka

Biografija

Biološke nauke

Blockchain

Botanika

C++ Visual C++ C#

ChatGPT

CSS

Dečije knjige

Delphi

Digitalna fotografija

Dizajn

Django

Domaće pripovetke

Domaći roman

Drama

E-knjiga

E-komerc

ECDL

Ekologija

Ekonomija

Elektrotehnika

Enciklopedija

Esejistika

Etika

Fantastika

Film

Filologija

Filozofija

Fizika

Fotografija

FULL STACK DEVELOPMENT

Funkcionalno programiranje

Generativna veštačka inteligencija

Geografija

Geologija

Git i GitHub

GOOGLE

GPT

Grafika, Dizajn, Štampa

Građevinarstvo

Hardver

Hemija

Hidrotehnika

Hobi

Horor

Humor

Internet

Intervju

Istorija

Istorija i teorija književnosti

Istorija umetnosti

Istorijski roman

Java

JavaScript

Joomla

jQuery

Knjiga posle posla - Beletristika i ostala izdanja

Knjižare i naše knjige

Književna kritika

Kuvari, hrana i piće

Leksikografija

Lingvistika

Ljubavni roman

logo

Magija

Marketing

Mašinsko učenje

Mašinstvo

Matematika

Medicina

Memoari

Menadžment

Modeliranje podataka

Monografija

Mreže

MS Office

Muzika

Nagrađivanje knjige

Naučna fantastika

Obrada teksta

OFFICE 2013

OpenOffice.org

Operativni sistemi

Oracle

Organizacione nauke

Pedagogija

PHP I MYSQL

Pisci u medijima

Ples

Poezija

Politika

Poljoprivreda

Popularna medicina

Popularna nauka

Popularna psihologija

Posao

Poslovanje

Pozorište

Pravo

Pravoslavlje

Primenjene nauke

Pripovetke

Prirodne nauke

Priručnik

Programiranje

Projektovanje softvera

Psihologija

Publicistika

Putopis

Python programiranje

Računarstvo u oblaku

Raspberry PI

Razvoj

Rečnici

Religija

Robotika

Roman

Ruby i Ruby on Rails

Satira

Saveti

Serija Roberta C. Martina

Sertifikati

Slikarstvo

Socijalna mreža - Facebook

Sociologija

Sport

Sport i hobi

SQL

Statistika

Strip

Tabele

Tableti

Tehnologija

Telekomunikacije

Triler

Turizam

Twitter

Udžbenici

Umetnost

Unix, Linux

Urbanizam

UX DIZAJN

Veštačka inteligencija

Visual Basic .NET, VBA, V. Studio

Web design

Windows

Windows 7

Windows 8

WordPress

Zaštita i sigurnost

Zoologija

 

Saveti – Programiranje

Ukupno: 77, strana 3 od 4

Kako da promenite geometriju svoga lica, ali sa softverom

 

 

 

Fotografija sa desne strane je prošla kroz “beautification engine”, ili mašinu za ulepšavanje. Program je napravljen prema mišljenju 68 muškaraca i žena, starih od 25 do 40 godina, od Izraela do Nemačke. Na osnovu njihovog mišljenja o lepom transformisanom licu, kreiran je i program. Kada je Martina Eckstut "došla" kući, roditelji su rekli da će Martina svakog časa da dođe, i da je "desna" devojka saleka. Koje lice je, po vama, lepše, ili pitanje, stvarno nema nikakvog smisla.
 
   

KAKO DA saznate vaš Product key

 

 

 

Ukoliko se odlučite da ponovo instalirate Windows prvo što morate da osigurate jeste Product key, odnosno instalacioni ključ sa kojim ste instalirali Windows i Office. Ukoliko posedujte originalni CD i njegovu nalepnicu, ili je nalepnica na poleđini vašeg računara, tada nećete imati problema, ali što ako je taj CD na drugoj lokaciji a vama treba baš sada? Tada se možete poslužiti sa malim i besplatnim programom Magic Jelly Bean koji nakon pokretanja prikazuje Product key za sve instalirane programe. Ovaj program je besplatan i ne spada među takozvane krek programe, niti služi za stvaranje slučajnih ključeva. Jedina namena mu je da iz Registry-a pročita Product key. Više informacija programu http://www. magicaljellybean. com/beta/ Pripremio: Milenko Kusurović
 
   

KAKO DA se odlučite za pravi programski jezik

 

 

 

U sledećoj tabeli izlistani su svi popularni programski jezici. Za svaki od njih, dat je kratak opis, kao i razlozi zbog kojih bi neki konkretan jezik mogao biti odabran za korišćenje. Na listu su stavljeni i novi programski jezici, koji su tek od nedavno ugledali svetlost dana. Naziv programskog jezika Kratak opis Zašto ga upotrebiti? C# (C Sharp)Pojavio se istovremeno sa jezikom Java. Izvršava se na . Net ili kompatibilnim platformama (Portable net, Mono). Lakši je od C++. U stanju je da deli resurse sa drugim jezicima, tokom njihovog zajedničkog vremena izvršavanja (runtime). C C nudi programerima veliku slobodu, kao i mnogo izazova u debug-ovanju (pronalaenju grešaka), zahvaljujući pokazivačima (pointerima) i efikasnim metodama za upravljanje memorijom. Najveći nedostatak se ogleda u tome što je za kreiranje brzih programa potrebno utrošiti mnogo vremena na programiranje. Slu`i uglavnom za sistemsko programiranje. C++ C++ je, u suštini, programski jezik C, uz dodatak objekata, proširene biblioteke i uzoraka (templates). Kao i C, koristi se prvenstveno za sistemsko programiranje, ali omogućava kreiranje većih projekata, ili aplikacija. D jezik Sličan je sa C++, ali znatno dinamičniji. Kompatibilan je sa C. Koristi se za obuku ili pravljenje skriptova. Pascal Veoma star jezik (1970), poboljšan uvođenjem objekata, zahteva strogo strukturalno programiranje. Koristi se za obuku, kao i za kreiranje klijent/server aplikacija unutar programa Delphi i Kylix. Basic Asp Ovaj veoma star jezik (1964) je usavršen od strane Microsoft-a, uz izgradnju kompletnog programskog okruženja. Postoje brojne verzije Basic-a. Standardni jezik za skriptovanje Microsoft-ovih aplikacija (Word i sl. ), kao i za kreiranje dinamičkih web stranica (Asp) na Windows serverima. PHP Dizajniran je tako da se može umetati u html kôd, radi izrade dinamičkih web stranica ili njihovo ažuriranje pomoću baza podataka. Koristi se za kreiranje html stranica na osnovu unetih podataka. Verzija 5 namenjena je prvenstveno za kreiranje web servisa. Java Ovaj programski jezik je dizajniran tako da bude prenosiv (portabilan) i da zameni C++. Koristi se za kreiranje inter-platformskih aplikacija (koje se, međutim, izvršavaju znatno sporije od matičnih aplikacija). Služi za programiranje web servisa. JavaScript ECMAScript JavaScript je razvijen u cilju kreiranja dinamičkih html stranica na klijentskoj strani; ECMAScript je standardizovana verzija. Za ostvarenje interaktivnosti na web stranicama. Koristi se, takođe, i unutar Xul-a, za kreiranje grafičkih korisničkih interfejsa. Scriptol Jednostavan, objektno-orijentisan, univerzalan jezik, sa maštovitom i moćnom sintaksom. Pomoću njega možete kreirati izvršne programe, ili umetati kôd unutar html stranica. Za kreiranje strukture podataka može se upotrebiti Xml. Jednostavan i univerzalan jezik za skriptovanje, kreiranje prototipa, izradu binarnih aplikacija, dinamičkih web stranica i XML obradu podataka. Može se upotrebiti i za web servise, uz korišćenje Php 5 kao “zadnjeg kraja” (back-end). Python Savremen interpreterski jezik, sa ugra|enim moćnim karakteristikama i jedinstvenom mogućnošću uvlačenja teksta (indentation) radi skraćenog kodiranja. Verzija Jython se kompajlira u Java bytecode-u. Programiranje brzinom svetlosti. Moćan i lak za učenje. Može se upotrebiti kao proširenje Zope-a, za kreiranje web servisa. Java skriptovanje uz pomoć Jython-a. Samo za aplikacije sa otvorenim kodom (nekompajlirane). Boo Ovo je nova verzija Python-a, sa nekoliko novih karakteristika. Izvršava se na . Net i Mono platformama, tako da nema nikakvih problema u vezi kompatibilnosti. Sličan programskom jeziku Python. ASP Jezik za skriptovanje, na serverskoj strani, radi kreiranja dinamičkih web stranica; razvijen od strane Microsoft-a, ima istu sintaksu kao Basic. Kreiranje html stranica na osnovu unetih podataka, ali samo na Windows serverima. Assembler Ovaj programski jezik je najbli`i mašinskom jeziku, te je zbog toga i daleko najbrži. Nikada ga nemojte koristiti, kao što su to činili programeri u davnim vremenima. Služi za izradu drajvera ili industrijsku obradu podataka. Eiffel, SatherObjektno-orijentisan jezik, sa mogućnošću “programiranja po ugovoru” i drugim bezbednosnim opcijama. Sather je verzija Eiffel-a, ali sa otvorenim kodom. Programiranje bezbednih aplikacija. Koristi se uglavnom u bolnicama. Perl Interpreterski jezik za skriptovanje. Čitljivost i jednostavnost upotrebe ne spadaju u njegove vrline. Koristi se uglavnom od strane mrežnih administratora, kao i za kreiranje manjih CGI skriptova. Rebol Interpreterski jezik za mrežno skriptovanje. Sam jezik se može proširivati. Obrada informacija na tzv. distribuiranim računarskim sistemima, uz pomoć manjih programa. Ruby Dizajniran je imajući u vidu prvenstveno jednostavnost. Radi se o interpreterskom jeziku, sa vlasničkom (proprietary) ali proširivom (extensible) bibliotekom. Omogućava znatno jednostavnije pisanje skriptova. Samo za aplikacije sa otvorenim kodom (nekompajlirane). Tcl Jezik za skriptovanje, lak za učenje i dostupan na svim postojećim platformama. Skriptovanje prenosivih programa sa grafičkim korisničkim interfejsom (GUI), kao i za web programiranje uz pomoć CGI. NetRexx Razvijen od strane IBM-a; odlikuje se pojednostavljenom sintaksom. Služi kao proširenje programskog jezika Java. Lua Pomoćni (add-on) ili samostalan (standalone) programski jezik, sa proširivom semantikom. Služi kao proširenje programskog jezika C. Cobol Poslovni programski jezik, koji se još uvek koristi na velikim kompjuterima. Uglavnom se koristi za održavanje starijih programa na mainframe računarima. Fortran Jedan od prvih programskih jezika, koji je oduvek korišćen za obavljanje matematičkih zadataka. Poseduje ogromnu biblioteku naučnih proračuna. Lisp Lisp je veoma star programski jezik, dizajniran za kreiranje veštačke inteligencije; njime se isključivo mogu obra|ivati liste. Veštačka inteligencija i skriptovanje. Scheme Scheme je osavremenjena verzija programskog jezika Lisp. Veštačka inteligencija i skriptovanje. Prolog Služi za logičko programiranje, zasnovano na Horn-ovim klauzulama. Obimnija obrada podataka u oblasti veštačke inteligencije. Haskell Služi za funkcionalno programiranje. Veoma je spor i zahtevan po pitanju memorije. Služi prvenstveno za isprobavanje novih načina programiranja. SQL Jezik za upravljanje podacima. Služi za kreiranje upita (queries) u bazama podataka. Forth Još jedan old-tajmer. Izmislio ga je jedan astronom. Zasniva se na slogovima (stack-based). Za instrumentalne komande i ponovnu upotrebu nasleđenih biblioteka. Smalltalk Jedan od prvih objektno orijentisanih jezika. Programi se ne mogu izvršavati izvan IDE okruženja. Apsolutno objektno orijentisana obrada podataka. Modula, Oberon Naslednici Pascal-a. Koriste ga uglavnom programeri koji su nostalgično vezani za vreme vladavine Algol-a i Pascal-a. Caml, Ocaml Funkcionalni programski jezici. Ocaml je objektno-orijentisana verzija. Koristi se uglavnom na univerzitetima. Može se upotrebiti za kreiranje kompajlera. Scala Proceduralan, funkcionalan i objektno orijentisan programski jezik. Koristi se u obrazovne svrhe. XML Ovo nije pravi programski jezik, ali se može upotrebiti za obavljanje sličnih poslova. XML služi za precizno opisivanje podataka, uz mogućnost da se podacima pridručuju određene akcije. XSL omogućava transformaciju dokumenata.
 
   

KAKO DA ubrzate vaš web sajt

 

 

 

Leon Chevalier iz Aciddrop. com je upravo izdao besplatni skript koji može značajno da ubrza vreme učitavanja vašeg web sajt ili bloga. PHPSpeedy radi tako što pravi manje HTTP zahteva, dodaje zaglavlje koje zastareva u dalekoj budućnosti, Gzipuje komponente stranice i minimizira Javascript, CSS i HTML. Krajnji rezultati su zadivljujući. U Chevalier-ovom testu, stranici od 271 KB sa 14 zahteva je trebalo 4. 44 sekunde da se učita. Ista stranica nakon modifikacije je bila velika samo 49 KB i pravila je samo 4 zahteva, sa vremenom učitavanja od 1. 1 sekunde. Zadnja verzija skripta uključuje proces instaliranja koji znatno olakšava primenu skripta na vaš blog ili web sajt. Naša iskustva nam govore da su krajnji rezultati onakvi kakve programer tvrdi da će biti a instalacija je potpuno automatizovana i bez ikakvih začkoljica. Za korisnike WordPress-a 2. 3. x, instaliranje skripta je veoma jednostavno. Sve što vam treba je da daunlodujete PHPSpeedy i ekstrahujete fajl Pomoću vašeg omiljenog FTP ili SSH programa, aploudujte php_speedy direktorijum u isti direktorijum u kojem se nalazi vaša instalacija WordPress-a (koji je za većinu ljudi njihov root direktorijum, ali ako recimo imate /wordpress direktorijum na vašem web serveru, postarajte se da fajl aploudujete na tu lokaciju). Nakon aploudovanja u direktorijum, usmerite vaš web pretraživač na http://www. vašsajt. com/php_speedy i pratite instrukcije na ekranu. Nakon selektovanja opcija za optimizaciju (standardno podešavanje je da sve bude aktivirano), dobićete dve linije koda koji treba da ubacite na sam početak i na sam kraj index. php fajla koji koristite za vašu aktuelnu temu. Možete da upotrebite ili WordPress Dashboard ili vaš omiljeni editor kako biste izmenili ovaj fajl. Ako koristite Dashboard, idite u Theme Editor pod Presentations i selektujte Main Index Template za temu koju koristite na vašem sajtu. Ako koristite FTP, fajl se nalazi u /wp-content/ themes/ime-teme/direktorijumu. Preporučujemo da napravite rezervnu kopiju čitavog direktorijuma sa temom koju koristite pre nego što primenite izmene na index. php fajl, u slučaju da nešto krene naopako. Za većinu korisnika, ovo su sve informacije koje će im biti potrebne. Vaš WordPress web sajt bi sada trebao da bude mnogo brži. Adresa: PHPSpeedy
 
   

KAKO DA zapamtite sve što ćete ikad učiti

 

 

 

Kada jednom naučite činjenicu, poželećete da osvežite vaše pamćenje neposredno pre nego što nastupi zaboravljanje. Ipak, teško je odrediti trenutak zaboravljanja neke činjenice. Neke činjenice se brže zaboravljaju, neke ostaju upamćene godinama. Na sreću, postoje neke zakonitosti u procesu zaboravljanja koje nam mogu pomoći pri pravljenju rasporeda obnavljanja. Piotr Wozniak je dosad nepoznati poljski izumitelj tehnike koja ljude pretvara u genije. On je osmislio softver SuperMemo koji koristi pretpostavku postojanja idealnog momenta za pamćenje, neposredno pre zaboravljanja, a taj trenutak njegov izum može lako izračunati koristeći pravi algoritam. Ljudi tako mogu naučiti i zapamtiti velike količine informacija. Za sada ga koriste većinom ljudi koji u kratkom roku žele naučiti strani jezik. Ceo tekst Pripremio: Milenko Kusurović
 
   

KAKO DA – animirane forme, Delphi

 

 

 

API funkcija AnimateWindow je vrlo jednostavna za korišćenje, a omogućava upravljanje formom, određivanje dužine trajanja animacije i mnoštvo drugih efekata. Poznati Windows-ov GUI (grafički korisnički interfejs) je prepun grafičkih efekata; mogućnosti animacije objekata, efekti providnosti formi i slični efekti čine obični interfejs mnogo atraktivnijim za korisnike. Da bi sve ovo dostupno i programerima, na raspolaganju stoji Windows API funkcija AnimateWindow. Ova API funkcija je vrlo jednostavna za korišćenje, a omogućava upravljanje formom, određivanje dužine trajanja animacije i pregršt efekata. Da je korišćenje ove funkcije strvarno jednostavno pokazaće i sledeći primer, gde samo treba da sledeću liniju kôda smestite unutar obrađivača događaja OnShow forme: … AnimateWindow(Self. Handle, 250, AW_BLEND or AW_ACTIVATE); … Pokrenite projekat i pogledajte rezultat. Zanimljivo, zar ne? Podrazumeva se da funkcija koristi roll efekat, ali ovo možete promeniti korišćenjem parametra AW_SLIDE radi dobijanja slajd efekta, parametarom AW_CENTER skupljamo i širimo formu, a parametrom AW_BLEND postižemo blagi efekat providnosti. Dodatno, pozivu funkcije možete dodati parmetar AW_ACTIVATE koji određujemo prikazivanje forme ili parametar AW_HIDE za suprotan efekat. Kada koristite roll ili slide efekat, imate mogućnost da odredite smer efekta koji može da ide vertikalnom ili horizontalnom osom, dodavanjem parametara AW_HOR_POSITIVE ili AW_HOR_NEGATIVE za x osu, i AW_VER_POSITIVE ili AW_VER_NEGATIVE za y osu. Ali, ovi parametri će biti ignorisani ukoliko koristite parametar AW_CENTER. Radi boljeg iskorišćenja ove funkcije, što više eksperimetišite sa kombinovanjem parametara i uporedite rezultate. Pripremio: Milenko Kusurović
 
   

KAKO DA – čitanje podataka iz MS Outlook-a

 

 

 

Predstavljamo vam proceduru kojom se iščitavaju podaci o kontaktima iz Microsoft Outlook-a. Evo vrlo zanimljive i potencijalno vrlo korisne procedure kojom se iščitavaju podaci o kontaktima iz Outlook-a. Proceduru možete iskoristiti u slučaju da kreirate bilo koju aplikaciju koja ima evidenciju o kontaktima, tipa telefonski imenik, poslovni partneri i slično. Jednostavno ugradite ovu proceduru i ponudite je korisnicima prilikom instalacione procedure vašeg programa, kako bi odmah na početku mogli da u vaš program uvezu sve postojeće kontakte, bez potrebe da ih ručno unose. Zatim te podatke smestite u sopstvenu bazu podataka. U našem primeru, kreirali smo novi projekat, na koji smo postavili samo dve kontrole; komandno dugme (Button) i memo kontrolu (Memo). Sve što je potrebo je da uneste sledeću proceduru unutar obrađivača događaja OnClick dugmića: Uses ComObj, Outlook2000;// ili [Outlook8] u zavisnosti od verzije Outlook-a; procedure TForm1. Button1Click(Sender: TObject);var Outlook : TOutlookApplication;DefNamespace: NameSpace;Contacts: MAPIFolder;Contact: ContactItem;iCnt: Integer;beginMemo1. Clear;// Instanciranje Outlook-ovog glavnog objektaOutlook:=TOutlookApplication. Create(self);DefNameSpace:=Outlook. GetNamespace(’MAPI’);// Citanje default foldera sa kontaktimaContacts:=DefNameSpace. GetDefaultFolder(olFolderContacts);// Petlja kojom prolayimo sve objekte u folderu kontakatafor iCnt:=1 to Contacts. Items. Count dobegin// Citanje pojedinacnog objektaContact:=Contacts. Items. Item(iCnt) as ContactItem;// Ucitavanje imena i preyimena kontakta u Memeomemo1. Lines. Add (Contact. FirstName + ‘ ‘ _+ Contact. Lastname);end;// Oslobadjanje instanceOutlook. Free; end; procedure TForm1. FormCreate(Sender: TObject);beginMemo1. Clear;end; Pripremio: Milenko Kusurović
 
   

KAKO DA – funkcija AutoComplete, Delphi

 

 

 

Funkcija mnogima poznata iz I. Explorera i sličnih programa. Zašto je ne bi Implementirali i u svoje aplikacije? Uovom tekstu ćete pronaći veoma korisnu proceduru koja će vašim aplikacijama obezbediti “Autocompletion” mogućnost. Ova mogućnost ste sigurno iskusili uz Internet Explorer, kada ukucavate adresu neke stranice, a browser, zahvaljujući history listi, vrši “dokompletiranje” adrese. Tako će biti i u našem primeru, s tim što ćemo umesto URL-a, imati fontove. Vi možete i sami napraviti neku listu stavki da bi isprobali dokompletiranje. Postavite na praznu formu jedan Combobox, te za dobijanje svih fontova na sistemu, bilo gde dodajte sledeću liniju: ComboBox1. Items := Screen. Fonts; Ova linija će u combo polje dodati sve fontove (ovo će nam biti bitno za testiranje). Te, ostalo vam je da unutar događaja OnChange (combobox-a) dodate programski kod: procedure TForm1. ComboBox1Change(Sender: TObject);varI, StartPoz: Integer;beginComboBox1. Items := Screen. Fonts;for I := 0 to ComboBox1. Items. Count -1 dobeginwith ComboBox1 dobeginif (Text = ”) or (LowerCase(Items[I]) = LowerCase(Text)) then Exit;if StrLComp (PChar (LowerCase (Items[I])),_ PChar(LowerCase(Text)), Length(Text)) = 0 thenbeginStartPoz := Length(Text);Text := Text + Copy(Items[I], StartPoz + 1,_ Length(Items[I]));SelStart := StartPoz;SelLength := Length(Text) - StartPoz;end;end;end;end; Pripremio: Milenko Kusurović
 
   

KAKO DA – komponenta Notebook, Delphi

 

 

 

Kada vaše palete alatki broje veliki broj komponenti, onda vam od velike pomoći može biti Delphi-jeva kontrola Notebook. Kada za vam za vašu aplikaciju budu potrebne višestruke palete alatki, tj. ukoliko imate ogroman broj dugmića sa alatkama, nećete ih moći smestiti u jednu liniju. Tada ćete moći da iskoristite Delphi-jevu komponentu “Notebook” koja ide u paru sa komponentom “TabSet”. Da bi ste dobili program kao nalici uradite sledeće: 1. Otvorite novi projekt i na praznu formu postavite komponentu “Notebook” koja se nalazi na paleti “Win 3. 1″. 2. Osobinu Align postavite na “alTop” i recimo neka visina bude “25″. 3. Sada ubacite komponentu “TabSet” na formu, takođe sa palete “Win 3. 1″. I osobinu poravnavanja postavite na alTop. Na ovaj način skup kartica postavljamo odmah ispod “Notebook”-a, u vrh prozora. 4. Kliknite na dugmić(tri tačkice) osobine “Tabs”, da bi dobili “Stringlist Editor” u kome će te red po red unositi nazive kartica paleta. 5. Pređite na komponentu “Notebook” i u osobinu “Pages”, pritiskom na dugme dobićete “Notebook Editor”. U ovom editoru ćemo izvršiti povezivanje kontrola, Notebook i TabSet. Svaka kartica-paleta treba da ima odgovarajuću oznaku komponente “TabSet”. Jednostavno preko dugmeta “Add” dodajte stranice za svaku karticu, i sa Edit preimenujte u odgovarajući naziv. 6. Ako sada kliknete na osobinu “ActivePages” videćete izlistane sve stavke koje ste uneli u prethodnom koraku. 7. Postavite sada na komopnentu “Notebook”, kontrolu “ToolBar” sa palete “Win32″. Paleta za buduće ikonice-alate će se raširiti preko celog Notebook-a. Sada kliknite desnim tasterom iznad Toolbar-a i dodajte dugmad za vaše alate (New Button). Sada imate pravi toolbar sa više paleta alatki (koje se mogu razdvojiti po nekoj logici). Ukoliko imate više kartica nego što može da se prikaže odjednom, u desnom uglu će se pojaviti dva dugmenceta (levo-desno) za navigaciju i pomeranje u vidno polje kartica-paleta koje se ne vide. Pripremio: Milenko Kusurović
 
   

KAKO DA – kreiranje prozora, Delphi

 

 

 

Kako se formiraju osnovni objekti - forme, koje su njihove osobine i kako im menjati mnogobrojne faktore. U ovom i narednom prilogu pozabavićemo se procesom formiranja (kreiranja) osnovnog objekta Form (odnosno, popularno - prozora), i izmene osnovih parametara prozora radi prilagođavanja specifičnim potrebama (transparenteni prozori, prozori bez naslovne linije …). Pa, da pređemo na stvar. Kod kreiranja bilo koje kontrole koja nastaje iz osnovne klase TWinControl (kao što su EditBox ili Button ili Form), metodom Create poziva se API funkcija CreteWindowEx. Ali pre poziva ove funkcije, prethodi poziv funkcije (virtuelne) CreateParams koja pripada klasi TForm, što znači da možete da izmenite podrazumevani izgled prozora pre njegovog samog formiranja i na taj način ga prilagodite sopstvenim potrebama. Ova metoda (TCreateParams) sadrži strukturu podataka, čiji će podaci poslužiti kao parametri pri pozivu funkcije CreteWindowEx. Izmena parametara funkcije CreateParams je vrlo podesan način za izmenu izgleda forme. TCreateParams struktura je definisana sledećim parametrima: typeTCreateParams = recordCaption: PChar; {naslov prozora}Style: DWORD; {parametar stila prozora}ExStyle: DWORD; {prosireni parametar stila}X, Y: Integer; {osobine Left i Top}Width, Height: Integer; {osobine Width i Height}WndParent: HWND; {Parent prozor}Param: Pointer {dodatni podaci}WindowClass: TWndClass; {window klasa }WinClassName: array[0. . 63] of Char; {naziv klase}end; I ovo nije sve, za kompletan uvid u strukturu i njena polja pogledajte odgovarajuće help fajlove koji dolaze uz Delphi. Kao što smo gore naveli, kada se kreira forma CreateParams parametri su popunjeni i to uglavnom u design modu, kada popunjavamo odgovarajuća polja u Object Inspector-u. Na primer, parametri - polja Caption, Width i Height, sadrže podatke o naslovu, širini i visini budućeg prozora - forme, a koje možemo podesiti preko Object Inspector-a. Međutim, postoji i nekoliko specijalnih situacija kada se ne možete osloniti na podrazumevani proces kreiranja prozora - na primer, kada vam je potrebno da prozor bude proziran ili slično. Kada želimo da koristimo dodatne parametre u kreiranju CreateParams strukture, potrebno je da preskočimo proceduru CreateParams (neka vas ovo ne zbuni, i procedura i struktura imaju isti naziv). Tada ćemo u private sekcuju deklaracije forme ubaciri sledeću liniju:…privateprocedure CreateParams(var Params: TCreateParams); override;… A u sekciju implementation smestite sledeći kod: procedure TForm. CreateParams(var Params: TCreateParams);begininherited CreateParams(Params); {kod za nadgradnju CreateParams vrednosti} end; Prva linija gornje procedure, inherited CreateParams(Params), mora biti uvek uključena u proceduru. Ona se koristi za poziv CreateParams klase TForm i popunjavanje podrazmevanim setom parametara. Pripremio: Milenko Kusurović
 
   

KAKO DA – mogućnosti štampanja, Delphi

 

 

 

Kada želite da korisnicima svojih programa omogućite štampanje, izaberite komponentu “PrintDialog”. OS Windows preko dijalog prozora “Print Setup” i “Print” nudi uobičajena podešavanja štampača i onoga što želite da štampate, a sve ovo možete da iskoristite u Delphi projektu. Dijalog prozor “Print” se koristi direktno pre štampanja, a prozor “Print Setup” vam služi za detaljno konfigurisanje štampača. Rad u Delphi-ju sa ovim dijalozima je omogućen preko VCL komponenti “PrintDialog” i “PrinterSetupDialog”, koje se nalaze na paleti “Dialogs”. Kada želite da korisnicima svojih programa omogućite štampanje, selektujte komponentu “PrintDialog” sa palete i postavite je na formu. Prozor za dijalog prikazaćete pozivom pripadajuće metode “Execute”: PrintDialog1. Execute; Ova komponente poseduje samo ovu metodu i nema nijedan događaj, tako da sva podešavanja što se tiče štampanja vrši korisnik, ili vi kao programer preko sledećih osobina komponente: • Copies - pomoću ove osobine određujete broj kopija za štampanje i možete ga podesiti pre poziva dijaloga. • FromPage - definiše početnu stranu, kada je aktivirana opcija štampanja određenog opsega. • MaxPage - dve osobine “Min-Max Page” služe da definisanje opsega štampanja. Ovo važi ako je aktivna opcija štampanja određenog opsega. MaxPage definiše broj poslednje strane u opsegu, koja se inače definiše ručno preko polja “To”. • MinPage - osobina određuje početnu stranu štampanja, koja se inače definiše ručno preko polja “From”. • PrintRange - ovom osobinom podešavamo radio-dugme za regulisanje, kada je dijalog prozor inicijalno prikazan. • Collate - opcija kojom se grupišu stranice pri štampanju. Ako je postavljena na True, kopije će biti grupisane. PrinterSetup nema osobina, metoda i događaja. Jedina metoda koja se koristi je “Execute” i služi za poziv dijaloga: PrinterSetupDialog1. Execute; Ovo je sve što je potrebno, vrlo je jednostavno, pa tako da uvek možete da obogatite vašu aplikaciju ovom opcijom. Pripremio: Milenko Kusurović
 
   

KAKO DA – pretraživanje fajlova, Delphi

 

 

 

Za pretraživanje fajlova određenog naziva fajla (kao na primer C:\WINDOWS\*. INI), možemo iskoristiti funkcije FindFirst i FindNext i proceduru FindClose. Da bi mogli da koristimo ove funkcije koristićemo tip zapisa (record) TSearchRec koji između ostalog sadrži i informacije o fajlu potrebne za pretraživanje. U sledećoj strukturi zapisa TSearchRec, možete videti koje informacije nosi ovaj zapis, i koje su potrebne funkcijama FindFirst i FindNext. Najvažniji podatak je Name (naziv fajla - string) koji sadrži dugačko ime fajla, bez putanje do fajla. typeTSearchRec = recordTime: Integer;Size: Integer;Attr: Integer;Name: TFileName;ExcludeAttr: Integer;FindHandle: THandle;FindData: TWin32FindData; // Dodatne informacijeend; Podatak Time predstavlja informaciju o DOS sistemskom vremenu, poslednje modifikacije fajla. Možete konvertovati ovu vrednost u tip podatka TDateTime koristeći funkciju FileDateToDateTime. Za samo pretraživanje iskoristićemo sledeći programski kod: varSearchRec: TSearchRec;beginif FindFirst(’C:\WINDOWS\*. INI’, attributes, SearchRec) = 0 thenbeginrepeat// Ovde obradjujemo svaki pronadjeni fajl. // Informacije o svakom fajlu// nalaze se u zapisu SearchRec. until FindNext(SearchRec) <> 0;FindClose(SearchRec);end;end; Ukoliko funkcija FindFirst vrati nulu (0), to znači da je pronađen najmanje jedan fajl koji zadovoljava postavljeni kriterijum. Potom koristimo funkciju FindNext da bi dobili informacije o sledećim fajlovima koji takođe zadovoljavaju postavljeni kriterijum. Ova funkcija takođe vraća nulu ukoliko pronađe sledeći fajl. Kada pređemo sve fajlove u jednom folderu, potrebno je da zatvorimo pretraživanje pozivom procedure FindClose, kojom oslobađamo rezervisane resurse zapisa koje smo alocirali funkcijom FindFirst. Ukoliko je atribut nula (0), funkcije FindFirst i FindNext će pretraživati samo “normalne” fajlove, a ne i one koji su obeleženi kao: Archive, Read-only, Hidden, System, Directory, Volume. Pripremio: Milenko Kusurović
 
   

KAKO DA – spisak svih instaliranih uređaja, Delphi

 

 

 

Neke od aplikacija zahtevaju komunikaciju sa eksternim uređajima. Da bi uopšte uspostavili komunikaciju potrebno je da ih detektujemo. Potrebu za pregledom uređaja prikačenih na spoljne portove možemo rešiti korišćenjem funkcije QueryDosDevice. Da odmah naglasimo da je funkciju moguće koristiti samo u Windows NT okruženju (Win-32>). Ovom funkcijom obezbeđujemo aplikacijama informaciju o nazivima ugrađenih MS-DOS uređaja. Funkcija može mapirati samo određene MS-DOS uređaje ili sve postojeće uređaje. Nazivi MS-DOS uređaja čuvaju se u Windows NT kao simbolička imena. Sintaksa same funkcije je sledeća: DWORD QueryDosDevice(LPCTSTR lpDeviceName,LPTSTR lpTargetPath,DWORD ucchMax); Parametri predstavljaju sledeće: • LPCTSTR - parametar predstavlja adresu stringa MS-DOS uređaja. • LPTSTR - parametar predstavlja adresu bafera u kome se čuvaju rezultati upita za uređajima. • DWORD - parametar predstavlja maksimalnu veličinu bafera. Za primer ćemo napraviti mali programčić koji će izlistati sve MS-DOS uređaje na sistemu. Samo obratite pažnju da program pokrećete u Win-32 okruženju. Pokrenite Delphi i otvorite novi projekt, te na praznu formu postavite po jednu kontrolu: TMemo i TButton. Na kraju, kontroli TButton samo dodajte sledeći kod (u okviru događaja OnClick): procedure TForm1. Button1Click(Sender: TObject);varnaziv: string;isize, i: dword;beginsetlength(istr, 4000);isize := QueryDosDevice(nil, @naziv[1], 4000);for i := 1 to isize doif naziv[i] = #0 then naziv[i] := #10;memo1. lines. CommaText := naziv;end; Pripremio: Milenko Kusurović
 
   

KAKO DA – upload fajlova, PHP

 

 

 

Starije verzije PHP-a nemaju funkcije koje direktno rukuju upload-om fajlova, ali je uz pomoć drugih ugrađenih funkcija, ipak moguća ova operacija U novijim verzijama PHP-a (počeviši od verzije4) postoje načini i funkcije za upravljanjem upload-om fajlova, korišćenjem specijalnog ugrađenog (sistemskog) niza $HTTP_POST_FILES, ali u ovom tekstu ćemo se pozabaviti kako to isto uraditi u starijim verzijama PHP-a. Pretpostavimo da smo za upload fajlova pripremili HTML formular sličan ovome: <form method=”post” enctype=”multipart/form-data” action=”script. php”><INPUT TYPE=”hidden” name=”MAX_FILE_SIZE” value=”1000″><input type=”file” name=”userfile”><input type=”submit”></form> Skriveno polje MAX_FILE_SIZE (obavezno se ubacuje pre taga <input type=file>) se koristi za određivanje maksimalne veličine fajla koji se uload-uje. Određivanje ovog parametra, browser neće odaslati fajl serveru ukoliko je veličina veća nego što je određena ovim parametrom. Kada je forma odaslata PHP kreira i popunjava specijalne varijable koje su u vezi sa transfer podacima. Nema potrebe za ručnim parsiranjem jednog takvog HTTP zahteva, PHP će sveo svemu pobrinuti, te će obezbediti upload varijable. Zapazite da se nazivi varijabli sastoje od dela, prvi deo je isti kao naziv ulaznog polja sa HTML formularaPHP varijable Pretposatvimo da imamo kôd sličan ovome: <input type=”file” name=”userfile”> , u vašem PHP skriptu će automatski biti kreirane sledeće varijable:     * $userfile - ovo je naziv privremenog fajla na serveru (kreira se nakon upload-a). Ovu varijablu možete koristiti za kopiranje fajla na bilo koju drugu loakciju.     * $userfile_name - naziv fajla koju je korisnik locirao na klijentskoj mašini i odredio za upload.     * $userfile_size - veličina upload-ovanog fajla u bajtovima.     * $userfile_type - MIME tip upload-ovanog fajla. Na primer: “image/gif”. Takođe, tu je i ugrađena funkcija koja proverava varijablu privremenog naziva fajla. Funkcija is_uploaded_file($userfile), vraća True ukoliko $userfile sadrži naziv privremeno upload-ovanog fajla, a u suprotnom False. Sintaksa funkcije koja služi za prebacivanje privremenog fajla, na serverskoj mašini (naravno, u skladu sa pripadajućim dozvolama) je sledeća: move_uploaded_file($userfile, “/lokacija/fajl. nesto”) Na kraju, evo i PHP kôda koji ćemo upotrebiti za smeštanje upload-ovanog fajla na određenu lokaciju: <?if (is_uploaded_file($userfile)) {move_uploaded_file($userfile, “/lokacija/fajl. new”);}?>Isto možemo da odradimo i sa funkcijom Open: <?if (is_uploaded_file($userfile)) {copy($userfile, “/place/file. new”);}?> Pripremio: Milenko Kusurović
 
   

KAKO DA – validacija e-mail adresa i verifikacija domena, PHP

 

 

 

Pre nego što prihvatite neku e-mail adresu i prosledite je nekoj web aplikaciji ili bazi podataka, bilo bi dobro da proverite da li je uneta adresa uopšte smislena. Predstavljamo vam laku, brzu i nadasve efikasnu funkciju za validaciju (proveru) e-mail adresa koje se inače prihvataju sa raznih formulara. Preporučljivo je da, ako je moguće, izvršite validaciju svih polja formulara, jer će te na taj način smanjiti zagušenje na serveru i ubrzati komunikaciju sa korisnicima. Evo i kako bi mogla da izgleda osnovna funkcija koja će proveriti validnost e-mail adrese, odnosno da li je sintaksno pravilno uneta: <?function provera_emaila($adresa) {$uslov1 = (ereg(’^[-!#$%&\’*+\\. /0-9=?A-Z^_`a-z{|}~]+’. ‘@’. ‘[-!#$%&\’*+\\/0-9=?A-Z^_`a-z{|}~]+\. ’. ‘[-!#$%&\’*+\\. /0-9=?A-Z^_`a-z{|}~]+$’,$adresa));$uslov2 = (preg_match(’/. +\. \w\w+$/’,$adresa));return ($uslov1 && $uslov2);}?> Kao što možete videti, prvo korišćenjem sistemske funkcije ereg() proveravamo da li specijalni karakteri nalaze unutar unete string-varijable. Ova funkcija vraća True ili False u zavisnosti rezultata pretrage. Nakon toga proveravamo ispravnost unetog domena e-mail adrese, na taj način što se proverava sadržavanje najmanje 1 tačke “. ” unutar naziva domena. Upotrebljene sistemske funkcije su sastavni deo PHP 3 i 4. Takođe, važno je napomenuti da unutar naziva domena može biti i više tačaka, npr. ‘ftn. ns. ac. yu‘, [to proveravamo drugom funkcijom preg_match(). I na kraju, ukoliko su zadovoljena oba uslova ($r1 && $r2), funkcija provera_emaila vraća istinosnu vrednost - True, i e-mail adresa može dalje da se procesira. Pripremio: Milenko Kusurović
 
   

KAKO DA – višestruki izbor stavki combo-box-a, PHP

 

 

 

Omogućite korisnicima vaših web aplikacija mogućnost simultanog izbora više opcija uz pomoć specijalnog combo-box-a. Da korisnicima vaših Web aplikacija omogućili da simultani izbor više opcija koje nudi jedan HTML combo-box, <select> tag mora da bude određen i sa mutiple parametrom. Pored ovog, bitan je i parametar size kojim određujemo broj vidljivih opcija unutar jednog combo-box-a. U HTML specifikaciji 3. 2 ovaj parametar funkcioniše samo ukoliko je određen i parametar multiple. U novijim specifikacijam (HTML 4. 0) možete upisati size u pojedinačni combo-box da bi videli više od jedne opcije, u isto vreme. Kada imamo combo-box sa mogućnošću višestruke selekcije, svaki CGI zahtev (zahtev od strane klijenta) će sadržati par parametara u obliku:naziv=vrednost, i to za svaku izabranu stavku combo-box-a, gde naziv - predstavlja naziv parametra određen unutar taga <select>, a vrednost1, vrednost2… - predstavljaju vrednosti parametara <option> taga koji su izabrani od strane korisnika. PHP combo-boxPHP automatski konvertuje jedan ovakav CGI zahtev u niz varijabli, sa izabranim vrednostima. Da bi iskoristi poslate vrednosti potrebno je samo da odredite naziv parametra select taga, isti kao i naziv niza: naziv=”stavke[]” Ovim ćete pomoći PHP-u da kreira niz $stavke iz jednog CGI zahteva: stavke[]=vred1?stavke[]=vred2… koji će biti popunjen izabranim vrednostima iz combo-box-a HTML kod sa combo-box-om koji podržava višestruku selekciju mora da bude nešto slično ovom: <select name=’meni[]’ multiple><option value=’1′>Jabuke</option><option value=’2′>Banane</option></select> Sada možete da napišete PHP skript kojeg će pokrenuti submit kôd, a koji će “rukovati” sa nizom izabranih vrednosti (meni[]). PHP primerOvo i PHP primera koji će izabrane stavke combo-box-a odštampati na ekranu: <%$i=0;while($i<count($meni)){print $meni[i];print “, “;$i=$i+1;}%> Pripremio: Milenko Kusurović
 
   

KAKO radi Google Web Toolkit

 

 

 

(Google-ovi Web alati ) – Razvoj AJAX aplikacija pomoću Java jezika http://code. google. com/webtoolkit/download. html Google Web Toolkit (GWT) predstavlja Java-in framework za razvoj softvera koji programerima olakšava pisanje AJAX aplikacija, kao što su Google Maps i Gmail. U današnje vreme, pisanje dinamičkih Web aplikacija predstavlja mučan proces koji je sklon greškama. Programer provodi 90 % vremena rešavajući sitne nekompatibilnosti koje se pojavljuju između Web browsera i platformi. Uz to, nedostatak modularnosti JavaScript-a čini razmenu, testiranje i ponovno korišćenje AJAX komponenata teškim i osetljivim. GWT Vam, kao programeru, omogućava da izbegnete većinu pomenutih teškoća dok u isto vreme Vašim korisnicima pruža isto dinamičko iskustvo, koje je usklađeno sa standardima. Osnovu (front end) pišete u programskom jeziku Java a onda GMT kompajler (prevodilac) prevodi Vaše Java klase u HTML i JavaScript, koji je prilagodjen browserima. Google Web Toolkit, pregled proizvoda Sadržaj:Šta je to Google Web Toolkit?Zašto prevoditi Java-in kod u JavaScript?Korišćenje Google Web Toolkit-aKoliko dobro on radi?Karakteristike Google Web Toolkit-a Šta je Google Web Toolkit? Google Web Toolkit (GWT) predstavlja Java-in razvojni radni okvir (framework) koji Vam omogućava da izbegnete osnovu tehnologija koje čine pisanje AJAX aplikacija toliko teškim i podložnim greškama. Uz GWT možete razvijati i debagovati AJAX aplikacije u jeziku Java, korišćenjem Java-inih razvojnih alata koje Vi izaberete. Kada pripremite Vašu aplikaciju za produkciju, GWT prevodilac (kompajler) prevodi Vašu Java aplikaciju u JavaScript i HTML koji su prilagođeni browserima. Sledi prikaz razvojnog kruga GWT-a: Koristite Vaše omiljene razvojne alate za Javu kako bi ste pisali i debagovali aplikacije u jeziku Java, korišćenjem GWT biblioteka u broju koji je Vama najpogodniji. Koristite GWT-ov prevodilac Java-e u JavaScript kako biste konvertovali Vašu aplikaciju u skup JavaScript i HTML fajlova koje možete opsluživati pomoću bilo kog Web servera. Potvrdite da li Vaša aplikacija radi u svakom browseru za koji želite da je podržava, što u suštini ne zahteva nikakav dodatni rad. Zašto je potrebno da se Java-in kod prevede u JavaScript? Java-ine tehnologije pružaju produktivnu razvojnu osnovu i, pomoću GWT-a, one u istom trenutku mogu da postanu osnova vaše razvojne platforme za AJAX. Dat je pregled pogodnosti koje ostvarujete ukoliko vršite razvoj korišćenjem GWT-a. Možete koristiti bilo koji od Vaših omiljenih razvojnih alata za Javu (Eclipse, IntelliJ, JProfiler, JUnit) za razvoj AJAX aplikacija. Provera statičkog tipa u Java jeziku povećava produktivnost, dok sa druge strane umanjuje pojavu grešaka. Tipične grečke u JavaScript-u (štamparske greške, pogrešan tip podataka) se lako uočavaju tokom prevođenja, što je bolje nego da ih korisnici uoče tokom izvršavanja. Kodne sugestije i dopune su široko zastupljene. Automatsko Java refaktorisanje (proces ponovnog pisanja programa sa ciljem unapređivanja njegove strukture ili čitljivosti, uz strogo zadržavanje osnovnog značenja) je prilično pomodno u današnje vreme. Objektno orijentisani dizajni bazirani na Javi su jednostavniji za komunikaciju i razumevanje, čime Vaša AJAX kodna osnova postaje shvatljivija, uz manje dokumentacije. Korišćenje Google Web Toolkit-a Možete koristiti GWT-ov skup komponenata korisničkog interfejsa (UI) (nazvanih widgets – komponente grafičkog interfejsa sa kojima komunicira korisnik), kako biste konstruisali elemente korisničkog interfejsa koji su sastavni delovi Vaše AJAX aplikacije. Kao tradicionalni radni okviri korisničkih interfejsa, widget-i se kombinuju u panelima koji određuju raspored (izgled) widgeta koji se nalaze unutar tih panela. Ovo je kompletna GWT aplikacija koja prikazuje dugme sa click handler-om: public class Hello implements EntryPoint { public void onModuleLoad() { Button b = new Button("Click me", new ClickListener() { public void onClick(Widget sender) { Window. alert("Hello, AJAX"); } }); RootPanel. get(). add(b); } } GWT podržava mnoštvo ugrađenih widget-a koji su korisni za AJAX aplikacije, uključujući hijerarhijska stabla, trake za tabulatore, trake za menije i modalne dijalog okvire. GWT takođe poseduje ugrađenu podršku za udaljene proceduralne pozive i ostale iskustvene karakteristike Web aplikacija. Pogledajte kompletnu listu karekteristika kako biste došli do detaljnijih informacija. Debagovanje i postavljanje GWT aplikacija GWT aplikacije se mogu pokretati u dva režima: Hostovani režim – U hostovanom režimu, Vaša aplikacija se pokreće kao Javin kod (bytecode) unutar Java Virtual Machine-a (JVM). Generalno ćete većinu Vašeg vremena provesti u hostovanom režimu zato što pokretanje u JVM-u znači da možete iskoristiti prednost koju Vam pružaju Javine olakšice u ispravljanju grešaka (debagovanju) i da možete ostati unutar integrisanog razvojnog okruženja kao što je Eclipse. Web režim – U Web režimu se vaša aplikacija pokreće kao čist JavaScript i HTML, preveden iz originalnog Java izvornog koda pomoću GWT prevodioca Jave u JavaScript (GWT Java-to-JavaScript compiler). Kada postavljate Vaše GWT aplikacije u delo, Vi u stvari postavljate JavaScript i HTML na Vaše Web servere, tako da krajnji korisnici jedino uočavaju verziju iz Web režima Vaših aplikacija. Da bi podržao host režim, GWT se isporučuje sa specijalnim Web browserom koji se vezuje unutar JVM-a. Za više informacija pogledajte dijagram GWT arhitekture koji sledi. U cilju postupne instalacije i korišćenja, pogledajte “Početno uputstvo” (Getting Started Guide). Arhitektura Google Web Toolkit-a GWT poseduje četiri glavne komponente: Prevodilac Jave u JavaScript (Java u JavaScript kompajler), "hostovani" Web browser, i dve biblioteke sa Java klasama. Komponente, od dna ka vrhu su: GWT prevodilac Jave u JavaScript - GWT prevodilac Jave u JavaScript prevodi programski jezik Java u programski jezik JavaScript. Koristićete GWT prevodilac kako biste pokretali Vaše GWT aplikacije u Web režimu. GWT hostovani Web browser - GWT hostovani Web browser Vam omogućava da pokrećete i izvršavate vaše GWT aplikacije u hostovanom režimu, u kome Vaš kod funkcioniše kao Java u Java Virtual Machine-u (JVM-u), bez prevođenja u JavaScript. Da bi ovo izveo, GWT browser ubacuje posebnu browser kontrolu (kontrolu Internet Explorer-a u Windows-u ili Gecko/Mozilla kontrolu u Linux-u) sa vezama unutar JVM-a. JRE (Java Runtime Environment) emulaciona biblioteka - GWT sadrži JavaScript implementacije najšire korišćenih klasa u standardnoj biblioteci Java klasa, uključujući većinu klasa iz java. lang i podskup java. util klasa. Ostatak Javine standardne biblioteke nije prirodno podržan unutar GWT-a. Na primer, paketi kao java. io se ne odnose na Web aplikacije pošto one pristupaju mreži i lokalnom Fajl sistemu. GWT Web biblioteka - klasa korisničkog interfejsa - (GWT Web UI class library) GWT Web biblioteka klasa korisničkog interfejsa predstavlja skup interfejsa i klasa koje Vam omogućavaju da kreirate “widgete” Web browsera, kao što su dugmad, tekst okviri, slike i tekst. Ovo je osnovna biblioteka korisničkog interfejsa koja se koristi za kreiranje GWT aplikacija. GWT se isporučuje sa kompletnim izvornim kodom za biblioteku pod open source licencom. U cilju postupne instalacije i korišćenja, pogledajte “Početno uputstvo” (Getting Started Guide). Koliko dobro on radi? Mi jesmo pristrasni, ali takođe mislimo da on vrlo dobro radi. Početna merenja koja koristimo da bi procenili efektivnost GWT-a u odnosu na tradicionalne metode razvoja AJAX-a su: Veličina JavaScript-a generisana od strane kompajlera (Compiler-generated JavaScript size) - Tipična, potpuna GWT aplikacija će zahtevati od korisnika da downloaduje oko 100 kB JavaScript-a koji se može keširati, i koji je na nivou sa većinom ručno pisanih AJAX aplikacija. . Performanse kod krajnjeg korisnika - GWT aplikacije gotovo uvek imaju istu brzinu kao i ručno pisani JavaScript. GWT kompajler sprečava dodavanje bilo kakvih wraper-a (kod koji dozvoljava zajednički rad klasama koje inače ne rade zajedno usled nekompatibilnih interfejsa) oko bilo koje funkcionalnosti koja je prirodno implementirana u browser. Razvojno vreme - Uz tako malo vremena koje se provodi vezano za rešavanje problema u individualnim Web browserima, Vi možete mnogo više vremena da posvetite poboljšavanju funkcionalnosti aplikacija. Efikasnost razvojnog vremena je naš omiljeni deo GWT-a. Probajte sami, pa nam javite šta mislite. Karakteristike Google Web Toolkit-a Dinamičke, višekratne (za višekratnu upotrebu) komponente korisničkog interfejsa - Kreirajte Widget uz pomoć drugih Widget-a. Ubacite Widget-e automatski u Panel-e. Pošeljite vaš Widget ostalim programerima u JAR fajlu. Zaista jednostavni pozivi udaljenih procedura (RPC, Remote Procedure Call) - Da biste komunicirali iz Vaše Web aplikacije sa Vašim Web serverom, Vama je samo potrebno da definišete Java klase, koje je moguće davati u nastavcima (serializable) na vaš zahtev i odgovor. U izradi, GWT automatski šalje zahteve u serijama i združuje odgovore sa servera u jedan odgovor. GWT-ov RPC mehanizam čak može da radi i sa polimorfnim klasnim hijerarhijama, uz određene izuzetke. Upravljanje istorijom pretraživača (browser history) - AJAX-ove aplikacije ne moraju da prekidaju dugme “nazad” (back) koje se nalazi u Web browseru. GWT Vam omogućava da učinite Vaš sajt korisnijim jednostavnim dodavanjem statusa za istoriju dugmeta “nazad” u Web browseru. Pravo debagovanje (otklanjanje grešaka) - Tokom izrade, Vaš kod se prevodi u JavaScript, ali zato tokom razvojnog vremena on radi u Java Virtual Machine-i. To znači da kada Vaš kod izvršava akciju kao što je upravljanje mišem, Vi dobijate potpuno Java debagovanje, sa izuzecima i naprednim karakteristikama debagovanja kod integrisanog razvojnog okruženja (IDE-a) kao što je Eclipse. Kompatibilnost sa browserom - Vaše GWT aplikacije automatski podržavaju Internet Explorer, Mozilu, Firefox, Safari i Operu, pri čemu nije potrebna detekcija browsera ili specijalna navlaka, omot (casing) unutar Vašeg koda u većini slučajeva. Međusobni rad i sitno-zrnasta kontrola (fine grained control) - Ukoliko GWT-ova biblioteka klasa ne zadovoljava vaše potrebe, možete pomešati ručno pisani JavaScript u Vašem Java izvornom kodu korišćenjem našeg JavaScript Native Interface-a (JSNI). U cilju postupne instalacije i korišćenja, pogledajte “Početno uputstvo” (Getting Started Guide). Uputstvo za korišćenje Google Web Toolkit-a Instalacija Google Web Toolkit-aRazvoj aplikacije (primer)Kreiranje aplikacije od početka (bez Eclipse-a)Kreiranje aplikacije od početka (u Eclipse-u) Instalacija Google Web Toolkit-a 1. Instalacija Java SDK-a (Software Development Kit – skup alata za razvoj softvera). Ukoliko nemate instaliranu najnoviju verziju Java SDK-a, download-ujte i instalirajte Sun Java Standard Edition SDK. 2. Download-ujte Google Web Toolkit SDK Download-ujte Google Web Toolkit SDK paket za Vaš operativni sistem (za sada su jedino podržani Windows i Linux). 3. Raspakujte Google Web Toolkit paket U Windows-u, raspakujte fajlove iz gwt-windows-1. 0. 20. zip pomoću programa kao što je WinZip. U Linux-u, možete raspakovati paket korišćenjem komande: tar xvzf gwt-linux-1. 0. 20. tar. gz 4. Gotovo! Počnite da koristite Google Web Toolkit GWT nema aplikaciju za instaliranje. Svi fajlovi koji su Vam potrebni da pokrenete i da koristite GWT se nalaze u raspakovanoj fascikli. Glavna aplikacija koja će Vam biti potrebna da koristite GWT je applicationCreator, koja će biti objašnjena kasnije. Možda je najjednostavnije da počnete sa razvojem jedne od aplikacija koje su date za primer, a isporučene su uz GWT. Razvoj aplikacije (primer) Sve aplikacije koje su date kao primeri se nalaze u fascikli samples u Vašem GWT paketu. Svaki primer poseduje skript koji možete da pokrenete u hostovanom režimu, kao i skript koji možete da prevedete u JavaScript i HTML, kako bi ga pokrenuli u Web režimu. Rad u hostovanom režimu Da biste pokrenuli primer Kitchen Sink u hostovanom režimu, izaberite fasciklu samples/KitchenSink/ i pokrenite skript KitchenSink-shell. Ovo će otvoriti GWT browser sa Kitchen Sink aplikacijom koja funkcioniše unutar browsera. Budući da ste je pokrenuli u hostovanom režimu, Vaša aplikacija radi unutar Java Virtual Machine-a (JVM). Ovaj režim ćete obično koristi za otklanjanje grešaka u Vašim aplikacijama. Rad u Web režimu Da biste pokrenuli aplikaciju u Web režimu, kompajlirajte aplikaciju pokretanjem skripta pod nazivom KitchenSink-compile. GWT kompajler će generisati određeni broj JavaScript i HTML fajlova iz Java-inog izvornog koda Kitchen Sink koji se nalazi u podfascikli (poddirektorijumu) www/. Da biste videli aplikaciju, otvorite fajl www/com. google. gwt. sample. kitchensink. KitchenSink/KitchenSink. html u Vašem omiljenom Web browser-u. Budući da ste već kompajlirali projekat, trenutno Vam radi čist JavaScript i HTML koji bi trebalo da rade u Internet Explorer-u, Firefox-u i Safari-ju. Ukoliko želite da vidite kakav je primer Kitchen Sink na delu, trebalo bi da raspodelite te fajlove u Vašu fasciklu pod imenom: www/com. google. com. google. gwt. sample. kitchensink. KitchenSink/ , na Web servere. Pravljenje izmena Izvorni kod za Kitchen Sink se nalazi u podfascikli src/. Pokušajte da zatvorite prozore Vašeg Web browser-a i otvorite fajl src/com/google/gwt/sample/kitchensink/client/Info. java u editoru teksta. Linija 26 u fajlu predstavlja prvu liniju statičkog inicializacionog metoda za prvi tab u Kitchen Sink aplikaciji ("Info"). return new SinkInfo("Info", "Introduction to the Kitchen Sink. ") { Promenite drugi string iz "Introduction to the Kitchen Sink. " u "Foo bar": return new SinkInfo("Info", "Foo bar") { Sada snimite taj fajl, i ponovo pokrenite KitchenSink-shell skript kako bi pokrenuli aplikaciju sa Vašim najnovijim promenama. (uverite se da ste prvo zatvorili Vaš browser iz starog hostovanog režima, jer u protivnom novi hostovani browser neće biti u mogućnosti da se pokrene). Tab na vrhu bi sad trebalo da prikazuje "Foo bar" umesto "Introduction to the Kitchen Sink. " Kreiranje aplikacije od početka (bez Eclipse-a) GWT se isporučuje sa uslužnim programom u vidu komandne linije i koji se naziva applicationCreator i koji automatski generiše sve fajlove koji će Vam biti potrebni da biste pokrenuli GWT projekat. Taj program može da generiše i fajlove za Eclipse projekat i da pokrene konfiguracione fajlove za jednostavno debagovanje (ispravljanje grešaka) u hostovanom režimu, kao što će biti objašnjeno kasnije. Bazirano na preporučenoj strukturi za GWT projekat, Vaša glavna klasa GWT aplikacije bi trebalo da bude u podpaketu client. Vi možete da kreirate novu aplikaciju pod nazivom MyApplication pooću komande: applicationCreator com. mycompany. client. MyApplication Skript applicationCreator će generisati određen broj fajlova u src/com/mycompany/, uključujući neke osnovne "Hello, world" funkcionalnosti u klasi src/com/mycompany/client/MyApplication. java. Taj skript takođe generiše pokretački skript u hostovanom režimu pod nazivom MyApplication-shell i kompilacioni skript pod nazivom MyApplication-compile, baš kao primer aplikacije koji je prethodno dat. Da biste pokrenuli Vašu novo kreiranu aplikaciju u hostovanom režimu, pokrenite skript MyApplication-shell: Probajte da editujete fajlove src/com/mycompany/client/MyApplication. java, i src/com/mycompany/public/MyApplication. html, kako bi videli na koji način to menja Vašu aplikaciju. Kreiranje aplikacije od početka (u Eclipse-u) GWT se isporučuje sa uslužnim programom u vidu komandne linije, koji se naziva applicationCreator i koji automatski generiše sve fajlove koji će Vam biti potrebni da biste pokrenuli GWT projekat. Taj program može da generiše i fajlove za Eclipse projekat i da pokrene konfiguracione fajlove za jednostavno debagovanje (ispravljanje grešaka) u hostovanom režimu. Da biste generisali Eclipse projekat za novu aplikaciju, prvo iskoristite projectCreator skript kako biste generisali školjku Eclipse projekat za Vašu aplikaciju: projectCreator - eclipse MyProject Zatim generišite Vašu GWT aplikaciju kao što je to gore prikazano, ali sa dodatnim -eclipse flag-om u kome će biti navedeno ime Vašeg Eclipse projekta: applicationCreator -eclipse MyProject com. mycompany. client. MyApplication Kada završite sa ovim skriptovima, u dodatku MyApplication-shell i MyApplication-compile skriptovima, takođe pogledajte i sledeće fajlove: . project, . classpath, and MyApplication. launch , koji se nalaze u Vašem trenutnom direktorijumu (tj. fascikli). Da biste otvorili Vaš projekat u Eclipse-u, pokrenite Eclipse i kliknite na: File -> Import menu. Izaberite "Existing Projects into Workspace" koji se nalazi na prvom ekranu čarobnjaka, i na sledećem ekranu čarobnjaka unesite fasciklu u kojoj ste generisali fajl . project. Kada sve to završite, trebalo bi da možete da vidite da je GWT projekat učitan u Vaš Eclipse radni prostor. Kliknite na zeleno dugme "Run" na vrhu prozora da biste pokrenuli Vaš projekat u hostovanom režimu. Osnove GWT Kompajler - Kompajler (prevodilac) koji prevodi Vašu radnu Java aplikaciju u ekvivalentnu JavaScript aplikaciju. Podrška za browsere - Arhitektura GWT-a olakšava podršku to support višestrukim browserima sa jednom kodnom bazom. Debagovanje (Uklanjanje grešaka) u hostovanom režimu - Ugrađeni DHTML browser Vam omogućava da direktno pokrećete i debagujete aplikacije u bilo kom Java-inom razvojnom okruženju pre nego što se prevedu u JavaScript. Postavljanje u Web režim - Radi lakšeg postavljanja, kompajlirajte (prevedite) Vašu aplikaciju u JavaScript. HTML Host strane - Host strana predstavlja HTML dokument koji sadrži GWT modul. Client-side Kod - "Client-side" se odnosi na izvorni kod koji bi trebalo da bude preveden i pokrenut u Web browseru kao JavaScript. Server-side Kod - "Server-side" se odnosi na izvorni kod koji se ne prevodi i koji može da funkcioniše samo kao bytecode na serveru. • Struktura projekta - GWT projekti su razvijeni iz preporučenog paketnog layout-a (rasporeda, plana, nacrta, izgleda) Moduli - Moduli su XML fajlovi koji sadrže podešavanja koja se odnose na vašu aplikaciju ili biblioteku. Alati za komandnu liniju - Predstavljaju korisne alate koji se nalaze na komandnoj liniji, i imaju ulogu da olakšaju početne korake. Primeri projekata u Google Web Toolkit-u Zdravo Svete Osnove: kreirate jednostavan Widget i dodajte ga na stranu. Korišćeni GWT elementi: UI widget-i Dinamička tabela Tabela podataka koja demonstrira slanje poruke (paging) preko objekata koji su povraćeni preko poziva udaljenih procedura (RPC, Remote Procedure Call). Korišćeni GWT elementi: UI widget-i Polimorfni RPC Desktop kopija Aplikacije Drugi primerak korisničkog interfejsa e-mail aplikacije sa desktop-a. Korišćeni GWT elementi: UI widget-i Upravljanje istorijom (History) JSON RPC Koristi GWT-ov osnovni JavaScript interfejs kako bi komunicirao sa JSON servisom na serveru. Korišćeni GWT elementi: UI widgeti JSNI RPC Kitchen Sink Aplikacija koja sadrži sve widget-e koje podržava GWT. Korišćeni GWT elementi: UI widgeti Upravljanje istorijom (History) Preporuka GWT klasa Ovi paketi sadrže informacije o glavnom GWT korisničkom interfejsu i uslužnim, korisnim klasama (utility classes). Za detaljnija objašnjenja o tome kako možete iskoristiti sve ovo, pogledajte uputstvo za programere (developer guide). Među ostalim stvarima, postoji i pogodna galerija widget-a, kao i objašnjenje o tome kako funkcionišu pozivi udaljenih procedura. Paketi com. google. gwt. core. client - Osnovne klase koje se koriste u client-side GWT kodu. com. google. gwt. core. ext - Klase koje se koriste za proširivanje GWT kompajlera. com. google. gwt. core. ext. typeinfo - Klase koje proverajaju pravopisne greške i koje koriste generatori. com. google. gwt. junit. client - Klase i moduli koji se koriste u pravljenju JUnit testova. com. google. gwt. user. client - Osnovne klase korisničkog interfejsa korišćene u client-side GWT kodu. com. google. gwt. user. client. rpc - Klase korišćene u client-side implementaciji poziva udaljenih procedura. com. google. gwt. user. client. ui - Widgeti, Paneli, i ostale klase korisničkih interfejsa. com. google. gwt. user. server. rpc - Klase korišćene u server-side implementaciji poziva udaljenih procedura. JRE emulaciona (imitaciona) biblioteka Ovaj deo objašnjava koje su klase i metode dostupne u GWT-u. Proverite ovu listu, kako biste se uverili da koristite stvari (elemente) koji mogu da se prevedu. Najčešće postavljana pitanja u vezi Google Web Toolkit-a. Šta je to Google Web Toolkit? Kako radi Google Web Toolkit? Kako mogu da instaliram Google Web Toolkit? Mogu li da koristim Google Web Toolkit za razvoj komercijalnih aplikacija? A za korporacijske aplikacije? Da li je Google Web Toolkit dostupan u mojoj zemlji? Da li radi na mom jeziku? Da li se plaća Google Web Toolkit? Zaista? Besplatno? Zašto to Google poklanja? U čemu je trik? Da li Google poseduje (prava na) moju aplikaciju? Da li moram da pokrećem AdSense? Da li moram da poklonim Google-u moju prvu aplikaciju? Izgleda da je Google Web Toolkit u beta verziji. Šta to znači? Da li će ikada prestati da bude u beta verziji? Kako će Google izdati nove verzije Google Web Toolkit-a? Da li ću morati da obnavljam (upgrade-ujem) ukoliko moje aplikacije zavise od stare verzije GWT-a ? Koji su sistemski zahtevi za Google Web Toolkit? Da li Google Web Toolkit šalje bilo kakvu informaciju o meni natrag na Google-ove servere? Da li Google Web Toolkit poseduje blog? Kome da se obratim ukoliko budem imao pitanja? Šta je to Google Web Toolkit? Google Web Toolkit (GWT) predstavlja Java-in framework za razvoj softvera koji programerima olakšava pisanje AJAX aplikacija. Uz GWT, možete razvijati i debagovati AJAX aplikacije u programskom jeziku Java korišćenjem onih razvojnih alata koji Vama najviše odgovaraju. Kada postavite Vašu aplikaciju u delo, GWT kompajler prevodi Vašu Java aplikaciju u JavaScript i HTML, koje može da čita Vaš browser. Kako radi Google Web Toolkit? Google Web Toolkit se isporučuje sa prevodiocem Jave u JavaScript (Java u JavaScript kompajlerom) i specijalnim Web browserom koji Vam olakšava debagovanje Vaših GWT aplikacija. Za više detalja o tome kako oni rade, pogledajte pregled GWT proizvoda. Kako mogu da instaliram Google Web Toolkit? Za postepene instrukcije, pogledajte GWT Getting Started Guide. Mogu li da koristim Google Web Toolkit za razvoj komercijalnih aplikacija? A za korporacijske aplikacije? Da, i da. GWT je dostupan za nekomerciajlne, komercijalne i korporacijske aplikacije. Za detaljnije informacije pogledajte naše uslove korišćenja. Da li je Google Web Toolkit dostupan u mojoj zemlji? Da li radi na mom jeziku? GWT je dostupan u svim zemljama i trebalo bi da radi na većini jezika, pri čemu je dokumentacija dostupna samo na američkom engleskom jeziku. Da li se plaća Google Web Toolkit? Ne, Google Web Toolkit potpuno besplatan. Zaista? Besplatan? Zašto ga Google poklanja? Mi samo imamo oruđe za aplikacije bazirane na Web-u, koje su prilagođene browserima. Stekli smo dosta iskustva tokom razvoja AJAX aplikacija kao što Google Maps i Google Calendar, i GWT je naš način da pomognemo programerima da iskoriste to naše iskustvo u njihovim ličnim aplikacijama. U čemu je trik? Da li Google poseduje (prava na) moju GWT aplikaciju? Da li moram da pokrećem AdSense? Da li moram da poklonim Google-u moju prvu aplikaciju? Nema trikova, obećavamo. Pogledajte uslove korišćenja da biste shvatili suštinu. Izgleda da je Google Web Toolkit u beta verziji. Šta to znači? Da li će ikada prestati da bude u beta verziji? Mi objavljujemo GWT u beta verziji da bismo dobili sugestije od drugih programera (developer community). Očekujemo da ćemo moći da ažuriramo biblioteke klasa GWT-a i razvojne alate na osnovu ovih sugestija i, jednom kada budemo sigurni da su GWT programeri zadovoljni karakteristikama i stabilnošću GWT alata, moći ćemo da uklonimo oznaku beta. U međuvremenu, možete da očekujete izmene API-ova u novim verzijama ovog proizvoda. Kako će Google izdati nove verzije Google Web Toolkit-a? Da li ću morati da ga obnavljam (upgrade-ujem) ukoliko moje aplikacije zavise od stare verzije GWT-a ? Objavićemo nove verzije GWT-a na GWT Web sajtu. Izuzev nepredviđenih situacija, očekujemo da ćemo moći da zadržimo dostupnima sve prethodne verzije GWT-a na našem sajtu. Kako izdanja postaju zastarela, mi ih nećemo više aktivno podržavati u GWT diskusionim grupama, ali ćemo učiniti sve što je u našoj moći da zadržimo stara izdanja i dokumentaciju dostupnima koliko god dugo to bilo moguće. Koji su sistemski zahtevi za Google Web Toolkit Google Web Toolkit je dizajniran da radi na sistemima koji zadovoljavaju sledeće zahteve: Java: Sun Java 2 Runtime Environment 1. 4. 2+ Operativni sistem: Windows XP, Windows 2000, ili Linux w/ GTK+ 2. 2. 1+ Hardver: približno100MB slobodnog prostora na disku, 512MB RAM-a Ukoliko imate problema tokom pokretanja GWT-a, pri čemu Vaš sistem zadovoljava gore pomenute zahteve, onda nas obavestite na diskusionoj grupi GWT programera (GWT developer discussion group) Da li Google Web Toolkit šalje bilo kakvu informaciju o meni natrag na Google-ove servere? Kada koristite Google Web Toolkit-ov hostovani web browser, aplikacija šalje zahtev natrag na Google-ove servere kako bi utvrdila da li koristite najnoviju verziju GWT-a. Kao deo ovog zahteva, Google će da loguje korišćene podatke, uključujući datum i vreme kada ste downloadovali Google Web Toolkit, kao i IP adresu Vašeg kompjutera. Nećemo logovati vaše lične informacije, a sve podatke koje budemo logovali ćemo da koristimo samo zajedno sa svim ostalim podacima, i to sa ciljem da unapredimo i bolje rukujemo GWT-om i ostalim Google-ovim servisima. Pročitajte Google-ovu politiku o privatnosti za detaljnije informacije. Da li Google Web Toolkit poseduje blog? Drago nam je da ste pitali! Naš blog je http://googlewebtoolkit. blogspot. com/. Kome da se obratim ukoliko budem imao pitanja? Možete poslati Vaša pitanja diskusionoj grupi GWT programera, koja se nalazi među Google-ovim grupama. GWT inženjering i rad će biti aktivni u grupi, a Vi se potrudite da odgovorite na pitanja koja pristignu.
 
   

Kompletna lista programerskih jezika

 

 

 

A A# . NET A# (Axiom) A-0 System A+ A++ ABAP ABC ABC ALGOL ABSET ABSYS ACC Accent Ace DASL ACL2 ACT-III Action! ActionScript Ada Adenine Agda Agilent VEE Agora AIMMS Alef ALF ALGOL 58 ALGOL 60 ALGOL 68 ALGOL W Alice Alma-0 AmbientTalk Amiga E AMOS AMPL Apex (Salesforce. com) APL App Inventor for Android's visual block language AppleScript Arc ARexx Argus AspectJ Assembly language ATS Ateji PX AutoHotkey Autocoder AutoIt AutoLISP / Visual LISP Averest AWK Axum B B Babbage Bash BASIC bc BCPL BeanShell Batch (Windows/Dos) Bertrand BETA Bigwig Bistro BitC BLISS Blockly BlooP Blue Boo Boomerang Bourne shell (including bash and ksh) BREW BPEL C C C-- C++ – ISO/IEC 14882 C# – ISO/IEC 23270 C/AL Caché ObjectScript C Shell Caml Cayenne CDuce Cecil Cel Cesil Ceylon CFEngine CFML Cg Ch Chapel CHAIN Charity Charm Chef CHILL CHIP-8 chomski ChucK CICS Cilk Citrine (programming language) CL (IBM) Claire Clarion Clean Clipper CLIST Clojure CLU CMS-2 COBOL – ISO/IEC 1989 Cobra CODE CoffeeScript ColdFusion COMAL Combined Programming Language (CPL) COMIT Common Intermediate Language (CIL) Common Lisp (also known as CL) COMPASS Component Pascal Constraint Handling Rules (CHR) Converge Cool Coq Coral 66 Corn CorVision COWSEL CPL Cryptol csh Csound CSP CUDA Curl Curry Cyclone Cython D D DASL (Datapoint's Advanced Systems Language) DASL (Distributed Application Specification Language) Dart DataFlex Datalog DATATRIEVE dBase dc DCL Deesel (formerly G) Delphi DinkC DIBOL Dog Draco DRAKON Dylan DYNAMO E E E# Ease Easy PL/I Easy Programming Language EASYTRIEVE PLUS ECMAScript Edinburgh IMP EGL Eiffel ELAN Elixir Elm Emacs Lisp Emerald Epigram EPL Erlang es Escher ESPOL Esterel Etoys Euclid Euler Euphoria EusLisp Robot Programming Language CMS EXEC (EXEC) EXEC 2 Executable UML F F F# Factor Falcon Fantom FAUST FFP Fjölnir FL Flavors Flex FlooP FLOW-MATIC FOCAL FOCUS FOIL FORMAC @Formula Forth Fortran – ISO/IEC 1539 Fortress FoxBase FoxPro FP FPr Franz Lisp Frege F-Script G G Game Maker Language GameMonkey Script GAMS GAP G-code Genie GDL GJ GEORGE GLSL GNU E GM Go Go! GOAL Gödel Godiva Golo GOM (Good Old Mad) Google Apps Script Gosu GOTRAN GPSS GraphTalk GRASS Groovy H Hack HAL/S Hamilton C shell Harbour Hartmann pipelines Haskell Haxe High Level Assembly HLSL Hop Hopscotch Hope Hugo Hume HyperTalk I IBM Basic assembly language IBM HAScript IBM Informix-4GL IBM RPG ICI Icon Id IDL Idris IMP Inform Io Ioke IPL IPTSCRAE ISLISP ISPF ISWIM J J J# J++ JADE Jako JAL Janus (concurrent constraint programming language) Janus (time-reversible computing programming language) JASS Java JavaScript JCL JEAN Join Java JOSS Joule JOVIAL Joy JScript JScript . NET JavaFX Script Julia Jython K K Kaleidoscope Karel Karel++ KEE Kixtart Klerer-May System KIF Kojo Kotlin KRC KRL KRL (KUKA Robot Language) KRYPTON ksh L L L# . NET LabVIEW Ladder Lagoona LANSA Lasso LaTeX Lava LC-3 Leda Legoscript LIL LilyPond Limbo Limnor LINC Lingo LIS LISA Lisaac Lisp – ISO/IEC 13816 Lite-C Lithe Little b Logo Logtalk LotusScript LPC LSE LSL LiveCode LiveScript Lua Lucid Lustre LYaPAS Lynx M M2001 MarsCode (programming language) M4 M# Machine code MAD (Michigan Algorithm Decoder) MAD/I Magik Magma make Maple MAPPER now part of BIS MARK-IV now VISION:BUILDER Mary MASM Microsoft Assembly x86 MATH-MATIC Mathematica MATLAB Maxima (see also Macsyma) Max (Max Msp – Graphical Programming Environment) MaxScript internal language 3D Studio Max Maya (MEL) MDL Mercury Mesa Metacard Metafont Microcode MicroScript MIIS MillScript MIMIC Mirah Miranda MIVA Script ML Moby Model 204 Modelica Modula Modula-2 Modula-3 Mohol MOO Mortran Mouse MPD MSIL – deprecated name for CIL MSL MUMPS Mystic Programming Language (MPL) N NASM Napier88 Neko Nemerle nesC NESL Net. Data NetLogo NetRexx NewLISP NEWP Newspeak NewtonScript NGL Nial Nice Nickle Nim NPL Not eXactly C (NXC) Not Quite C (NQC) NSIS Nu NWScript NXT-G O o:XML Oak Oberon OBJ2 Object Lisp ObjectLOGO Object REXX Object Pascal Objective-C Objective-J Obliq OCaml occam occam-π Octave OmniMark Onyx Opa Opal OpenCL OpenEdge ABL OPL OPS5 OptimJ Orc ORCA/Modula-2 Oriel Orwell Oxygene Oz P P′′ P# ParaSail (programming language) PARI/GP Pascal – ISO 7185 PCASTL PCF PEARL PeopleCode Perl PDL Perl6 Pharo PHP Phrogram Pico Picolisp Pict Pike PIKT PILOT Pipelines Pizza PL-11 PL/0 PL/B PL/C PL/I – ISO 6160 PL/M PL/P PL/SQL PL360 PLANC Plankalkül Planner PLEX PLEXIL Plus POP-11 PostScript PortablE Powerhouse PowerBuilder – 4GL GUI applcation generator from Sybase PowerShell PPL Processing Processing. js Prograph PROIV Prolog PROMAL Promela PROSE modeling language PROTEL ProvideX Pro*C Pure Python Q Q (equational programming language) Q (programming language from Kx Systems) Qalb QtScript QuakeC QPL R R R++ Racket RAPID Rapira Ratfiv Ratfor rc REBOL Red Redcode REFAL Reia Revolution REXX Rlab ROOP RPG RPL RSL RTL/2 Ruby RuneScript Rust S S S2 S3 S-Lang S-PLUS SA-C SabreTalk SAIL SALSA SAM76 SAS SASL Sather Sawzall SBL Scala Scheme Scilab Scratch Script. NET Sed Seed7 Self SenseTalk SequenceL SETL SIMPOL SIGNAL SiMPLE SIMSCRIPT Simula Simulink SISAL SLIP SMALL Smalltalk Small Basic SML Snap! SNOBOL(SPITBOL) Snowball SOL Span SPARK Speedcode SPIN SP/k SPS SQR Squeak Squirrel SR S/SL Stackless Python Starlogo Strand Stata Stateflow Subtext SuperCollider SuperTalk Swift (Apple programming language) Swift (parallel scripting language) SYMPL SyncCharts SystemVerilog T T TACL TACPOL TADS TAL Tcl Tea TECO TELCOMP TeX TEX TIE Timber TMG, compiler-compiler Tom TOM TouchDevelop Topspeed TPU Trac TTM T-SQL TTCN Turing TUTOR TXL TypeScript Turbo C++ U Ubercode UCSD Pascal Umple Unicon Uniface UNITY Unix shell UnrealScript V Vala Visual DataFlex Visual DialogScript Visual Fortran Visual FoxPro Visual J++ Visual J# Visual Objects Visual Prolog VSXu vimal W WATFIV, WATFOR WebDNA WebQL Whiley Windows PowerShell Winbatch Wolfram Language Wyvern X X++ X# X10 XBL XC (exploits XMOS architecture) xHarbour XL Xojo XOTcl XPL XPL0 XQuery XSB XSLT – see XPath Xtend Y Yorick YQL Z Z notation Zeno ZOPL Zsh
 
   

Kreirajte fajlove za pomoć pomoću Fly Helpa 6.4

 

 

 

Fly Help je odlična alatka za programere, autore Help fajlova i tehnološke pisce koja pomaže u kreiranju onlajn Helpa za desktop programe u HTML Help (CHM) formatu i Web Help za web programe. Fly Help obezbeđuje veoma brz režim rada - prevucite fajlove ili direktorijume iz ugrađenog pretraživača izvora ili prozora pretraživača izvora i otpustite ih na Help book. I završili ste! Adresa: Fly Help
 
   

Microsoft je otvorio za javnost tajne dokumente

 

 

 

Microsoft je napravio veliki korak ka približavanju zajednici otvorenog koda. Prema njihovoj izjavi za štampu njihov cilj je da “promovišu veću interoperabilnost, veće mogućnosti i širi izbor za kupce i programere. “ Ovo je veoma interesantan korak za Microsoft pošto su do sada radili sve što su mogli da blokiraju razvoj otvorenog koda, ili je barem tako izgledalo. Od danas, Microsoft je otvorio za javnost 30,000 stranica dokumenata koji su do sada bili poslovna tajna. Pored toga, Microsoft je odlučio da neće tužiti programere otvorenog koda koji kreiraju nekomercijalne programe: Odmah u sledećem koraku, počev od danas, Microsoft će javno izdati na MSDN-u preko 30,000 stranica dokumentacije za Windows klijentske i serverske protokole, koji su do sada bili dostupni samo pod tajnom licencom. Dokumentacija o protokolima za dodatne programe, kao što je Office 2007 i sve ostale visoko budžetne programe koje pokriva ovaj princip, će biti objavljeni u sledećim mesecima. Microsoft će na web sajtu naznačiti koji dokumenti su pokriveni Microsoft patentima i licenciraće sve ove patente pod razumnim, nediskriminativnim uslovima, i niskim cenama. Microsoft je obećao da neće tužiti programere otvorenog koda koji razvijaju i distribuiraju nekomercijalne distribucije zasnovane na ovim protokolima ili implementiraju ove protokole u nekomercijalne svrhe. Ovi programeri će moći da koriste dokumentaciju potpuno besplatno za razvoj svojih programa. Da bi promovisali veći izbor formata dokumenata za korisnike, Microsoft će dizajnirati nove API-je za Word, Excel i PowerPoint aplikacije u Office-u 2007, kako bi omogućio programerima da implementiraju u njega dodatne formate dokumenata i da omoguće korisnicima da koriste ove formate kao svoje standardne formate za snimanje dokumenata. Mi mislimo da na ovaj način Microsoft želi da se iskupi za sve ono što je u prošlosti uradio protiv zajednice otvorenog koda, ali ljudi ne zaboravljaju tako lako. Ili možda Microsoft na ovaj način pokušava da vrati kontrolu u oblastima u kojima ih je zajednica otvorenog koda pretekla. Tu pre svega mislim na veliki broj vlada koje su prešle na otvorene formate. Videćete, u budućnosti će se Microsoft još više “otvoriti” kako bi blokirao bilo kakav pokret otvorenog koda koji ga može ugroziti. Šta vi mislite? Da li se Microsoft pretvorio u dobrotvora, ili je u pitanju neki tajni plan da se zezne zajednica otvorenog koda? Ili je jednostavno dospeo u ćorsokak iz kojeg jedini izlaz vidi u ovakvoj taktici?
 
   
Strane: 1 2 34

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272