Kurz programovania - lekcia 1. Ahoj svet a cyklus

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
RP
Administrátor
Administrátor
Príspevky: 2549
Dátum registrácie: St 21. Mar, 2001, 20:00
Bydlisko: Kosice

Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa RP »

Napadol ma takyto experiment:

- Spravime vo fore kurz programovania vo vsetkych jazykoch ktore spolu ovladame.
- Ja tu napisem Pascalovsky a C - ckovsky(ten v pripade ak sa nik iny nenajde co by ho napisal, pretoze v pripade C-cka je tu kopa ludi co ho ovlada) a kto chce prida to iste v inych jazykoch (Java, Perl, ....).
- Jeden thread bude jedna lekcia - v tomto threade sa pytajte ak niecomu nerozumiete k danej lekcii, respektove doplnajte verzie kapitoly v inych programovacich jazykoch

Zacnime :)

Kapitola 1. Ahoj svet a cyklus

Pascal :

Kód: Vybrať všetko

Program AhojSvet;
Begin
writeln('Ahoj svet');
End.
Vysvetlivky :
- Kazdy pascalovsky program zacina oznacenim Program Menoprogramu;
- Takzavane telo programu je uzavrete medzi slova Begin a End. - kde za End davame bodku.
- Bezne riadky v pascalovskych programoch koncia bodkociarkou
- writeln - sluzi na vypisovanie vysledkov - v tvare ako je to uvedene vypise na obrazovku text Ahoj svet

Cyklus : Cyklus sluzi na opakovane vykonavanie prikazu

Ako sa to pise - syntax :
for i:=1 to 10 do writeln('Ahoj svet'); - tento prikaz vypise desat krat pod seba na obrazovku frazu Ahoj svet
for i:=1 to 25 do writeln('Ahoj svet'); - tento prikaz vypise 25 krat pod seba na obrazovku frazu Ahoj svet. Chapeme uz teda na co su cisla v prikaze

Poznamka :
- premenna i musi byt cele cislo, co je takzavany typ integer v Pascale
- namiesto i moze byt akykolvek ine pismeno ktore si zadekladujeme (tj. oznacime) ako celociselne

Kód: Vybrať všetko

Program AhojSvet;
var i:integer;
Begin
for i:=1 to 10 do writeln('Ahoj svet');
End.
Vysvetlivky :
- riadok var i:integer; sluzi na zadefinovanie toho ze i je cele cislo (tj. integer). var oznacuje ze ide o variable - premennu, oznacuje miesto kde sa zadefinovavaju premenne, takzvanu deklaraciu premennych. Umiestnenie deklaracie premennych je nad zaciatkom tela programu oznacovaneho slovom Begin tj. zaciatok.

Program si mozete spustat za pomoci kompilatora stiahnutelneho z http://www.freepascal.org/download.var

Kompilacia :
1. naistalujte Freepascal
2. text vlozte do suboru nazovsuboru.pp
3. 1. Program skompilujete alebo z comand liny cez prikaz fpc nazovsuboru.pp
3. 2. Alebo program skompilujete priamo v editore ktory je spustitelnom prikazom fp. V nom napriklad klavesovou skratkou Ctrl+F9
Naposledy upravil/-a RP v Ut 22. Máj, 2007, 15:10, upravené celkom 2 krát.
Používateľov profilový obrázok
kami_sama
Používateľ
Používateľ
Príspevky: 362
Dátum registrácie: Po 05. Sep, 2005, 20:00
Bydlisko: Bratislava

Príspevok od používateľa kami_sama »

C

C je proceduralny jazyk, podobne pascalu, avsak o dva roky mladsi. podporuje programovanie na urovni viac blizsej k hardware-u, ako napr. pascal.

kazdy C-ckovsky program obsahuje hlavnu funkciu na spustenie celeho programu, vola sa main. kedze hovorime o funkciach, mozu mat aj navratove hodnoty.

bloky prikazov su tvorene zlozenymi zatvorkami { }. je to vlastne nahrada za begin a end z pascalu. za tymito zatvorkami sa nedavaju ani bodky, ani bodkociarky. ostatne prikazy su ukoncene bodkociarkou.

premenne mozu byt globalne aj lokalne (rozdiel v pristupu. intuitivne sa da tusit, ze co to bude, priklade neskorsie).

jednoriadkovy komentar sa pise za //
blok komentarov sa pise medzi (na viac riadkov) /* */

prvy program:

Kód: Vybrať všetko

#include <stdio> //kniznica pre standardny vstup-vystup (IO)

int main () 
//hlavna funkcia bez parametrov, vrati hodnotu int

{ 
//zaciatok funkcie

  int a, b, c; 
//premenne typu celeho cisla

  a = 5; 
  b = 3;
  c = a + b - 2; 
//priradenie hodnot

  printf ("Hello world"); 
//funkcia printf je sucastou stdio.h. vypise na obrazovku Hello world

  for (int i = 0; i  10; i++)
//zaciatok cyklu. int i = 0; - zaciatocna hodnota i  0; - podmienka cyklu. kym plati, cyklus sa vykonava i++ - zvysi hodnotu i o jedno (i-- znizi). funguje aj ++i, --i)

  {
//zaciatok tela cyklu

    printf ("%d -ty krat Hello world", i); 
//%d naznacuje pre printf, ze bude vypisovat aj cele cislo v dekadickej (desiatkovej) forme. vyraz %d je nahradeny hodnotou i.

  }
//konec tela cyklu

  return 1;
//vsetko OK, vratime 1.

}
//konec main, koniec programu.
ked pouzivate windows, budete potrebovat C-ckovsky compiler (linux ma vlastny - gcc, ale pre linuxakov je to asi zname..=:) ). daju sa pouzit aj rozne verzie C/C++ napr visual studio 6, alebo novsie verzie na bazy .net-u, avsak za tazke peniaze.
zadarmo je napr. dev c++. celkom dobry nastroj napisane v delphi (jazyk zakladane na pascale. no comment =:) ).
tu si mozete stiahnut free nastroj.

1. file -> new -> source file
2. napsite kod
3. zdrojak ulozit (menosuboru.c resp. menosuboru.cpp)
4. execute -> compile
5. ked to prebehlo, potom execute -> run
(kde mate source, budete mat aj spustitelny subor .exe)
Naposledy upravil/-a kami_sama v Po 21. Máj, 2007, 00:55, upravené celkom 1 krát.
Používateľov profilový obrázok
fobos
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 3762
Dátum registrácie: Št 22. Feb, 2007, 08:00
Bydlisko: Turčianske Teplice

Príspevok od používateľa fobos »

Tak aj ja hodim nieco do mlyna :wink:

C++

Jednoduchy matematicky prikald :

int main(int argc, char* argv[])

{

int a,b,c; - deklaracia premennych a,b,c (cele cisla)
printf("zadaj prve cislo: \n"); - vypise na obrazovku "..." (\n- na novy riadok
scanf("%d",&a); - stlacene cislo nacita da premennej a
printf("zadaj druhe cislo: \n"); - vypise na obrazovku "..."
scanf("%d",&b); - stlacene cislo nacita da premennej

c=a+b; - vykona scitanie cisla a a cisla b

printf("vysledok je: %d \n",c); - vypise na obrazovku "..." ktory nacita z premennej c

return 0; - vrati hodnotu

}
Xbox Series X...
Samsung S24 ...
Intel Core 8600K ...
Používateľov profilový obrázok
RP
Administrátor
Administrátor
Príspevky: 2549
Dátum registrácie: St 21. Mar, 2001, 20:00
Bydlisko: Kosice

Príspevok od používateľa RP »

Meloon napísal:Tak aj ja hodim nieco do mlyna :wink:

C++

Jednoduchy matematicky prikald :

int main(int argc, char* argv[])

{

int a,b,c; - deklaracia premennych a,b,c (cele cisla)
printf("zadaj prve cislo: \n"); - vypise na obrazovku "..." (\n- na novy riadok
scanf("%d",&a); - stlacene cislo nacita da premennej a
printf("zadaj druhe cislo: \n"); - vypise na obrazovku "..."
scanf("%d",&b); - stlacene cislo nacita da premennej

c=a+b; - vykona scitanie cisla a a cisla b

printf("vysledok je: %d \n",c); - vypise na obrazovku "..." ktory nacita z premennej c

return 0; - vrati hodnotu

}
Pozor nemalo to byt hocico, ale priklad Hello world a jednoduchy cyklus :)
Používateľov profilový obrázok
Rusty
Používateľ
Používateľ
Príspevky: 793
Dátum registrácie: Ne 05. Jún, 2005, 02:00
Bydlisko: Bratislava (29)

Príspevok od používateľa Rusty »

Java

- java je objektovo orientovany programovaci jazyk
- zakladom je, ze si vytvorime triedy (class), ktore su nase "formicky".
- objekty vytvarame z "formiciek".
- trieda obsahuje "fields - polia" (nemylit s array) a metody ("funkcie").
- polia mozu obsahovat hodnoty typu int,double,String, ...
- metody urcuju spravanie objektov, ktore su vytvorene z tried.


- pre zaciatok je dobre zi stiahnut program eclipse TU. Eclipse je prostredie v ktorom sa velmi prijemne pisu programy v jave. Eclipse obsahuje v sebe aj kompilator.
- stiahnite si aj javu TU. Ta obsahuje JVM - co je java virtual machine a dalsie ine drobnosti ktorymi sa nebudeme zaoberat.

Hello world!

Ked mame vsetko nainstalovane, spustime eclipse :

Vyvali sa na nas okno, ktore nas poziada o zadanie adresy workspace. Nechajte ho tak, ako je a dajte ok.

Obrázok

Dalsi krok - vytvorime si novy projekt. File -> New -> project -> java project -> tu zadame meno projektu a dame finish.

Obrázok

Vo vytvorenom projekte vytvorime class. File -> New -> Class -> zadame meno ako na obrazku.

Obrázok

Dvakrat klikneme na prave vytvorenu triedu a napiseme do nej kod :

Kód: Vybrať všetko

public class tutorial {
	public static void main(String[] args){
		System.out.println("Hello world!");
	}
}
Vas projekt by mal vyzerat nejako takto :

Obrázok

A kod takto :

Obrázok

Program sa spusta pravym tlacidlom -> run as -> java application. V spodnej casti sa potom vypise vysledok :

Obrázok

Cyklus :

povodny kod nahradime kodom :

Kód: Vybrať všetko

public class tutorial {
	public static void main(String[] args){
		int i=0;
		for(i=1;i<6;i++){
			System.out.println("Cyklus prebehol " + i + " krat");
		}
	}
}
Po spusteni by sa nam malo vypisat nieco taketo :

Obrázok

Vysvetlivky :

cyklus for : ( "pociatocna hodnota" ; podmienka (cyklus sa vykonava ak je podmienka pravdiva) ; operacia, ktora sa vykona zakazdym, ked sa ide cyklus znovu vykonavat)

System.out.println("text"); : Vypise text na obrazovku. Text sa dava do uvodzoviek, premenne sa zapisuju mimo uvodzoviek. Jednotlive casti textu, ktory chceme do riadku vypisat spajame znamienkom plus "+".

Main : Program sa zacina vykonavanim metody main. Program sa ukonci, ked sa pride na koniec metody main.

Tutorialy

Hello world tutorial = podrobnejsie, ako tu - bez pouzitia eclipse. Pouzity je tam iba prikazovy riadok.

http://java.sun.com/docs/books/tutorial/ = tu najdete uplne vsetko.

:wink:
Naposledy upravil/-a Rusty v Po 21. Máj, 2007, 00:45, upravené celkom 1 krát.
Používateľov profilový obrázok
kami_sama
Používateľ
Používateľ
Príspevky: 362
Dátum registrácie: Po 05. Sep, 2005, 20:00
Bydlisko: Bratislava

Príspevok od používateľa kami_sama »

hmmm... ja len taky maly navrh. nebolo by lepsie tento tutorial rozdelit na proceduralne a OO programovanie? lebo java, C++, smalltalk, c# su dobre veci, ale zakladom by mali byt proceduralne veci. a az potom objekty.

vysvetlovat postupne OO vlastnosti, ako dedenie, polymorfiu, zapuzdrenost a podobne krasky je dost blbe a tiez pri C-ckovskom kode sa neda.... ani preto som nenapisal javovksy tutorial (aj ked java rulez, a uz vyse rok kodim vylucne v jave...=:) ).

len navrh. co vy na to?

2 meloon: kedze je to C++, nedoplnil by si to o #include "iostream.h" a namiesto printf a scanf, nemohol by si tam nahodit cin a cout? len pre presnost...
Naposledy upravil/-a kami_sama v Po 21. Máj, 2007, 01:00, upravené celkom 2 krát.
Používateľov profilový obrázok
Rusty
Používateľ
Používateľ
Príspevky: 793
Dátum registrácie: Ne 05. Jún, 2005, 02:00
Bydlisko: Bratislava (29)

Príspevok od používateľa Rusty »

no neviem ci to nieje zbytocne. lebo taky jednoduchsi tutorial na javu zaberie 10 A4-iek ak chces zmienit zapuzdrovanie, polymorfyzmus, dedenie, prekonavanie, rozhrania ....... v tomto topicu asi ide hlavne o ten najzakladnejsi zaklad v kazdom moznom jazyku.

peace :wink:
Používateľov profilový obrázok
kami_sama
Používateľ
Používateľ
Príspevky: 362
Dátum registrácie: Po 05. Sep, 2005, 20:00
Bydlisko: Bratislava

Príspevok od používateľa kami_sama »

presne tak, ale zle zaklady su to najhorsie, co sa len moze stat. preto som to navrhoval... :wink:
Používateľov profilový obrázok
Gogi
Používateľ
Používateľ
Príspevky: 473
Dátum registrácie: Št 03. Mar, 2005, 20:00
Bydlisko: TT

Príspevok od používateľa Gogi »

skusim pridat aj ja, aby zaciatocnici mali predstavu co sa deje tam dolu v procaku tak sa pokusim vypotit kod pre asm

Assembler - jazyk symbolickych instrukcii, assembler je programovaci jazyk najnizsej urovne, z neho sa (takmer) priamo preklada do strojoveho kodu, strojovy kod je sada znakov ktorym uz rozumie procesor.
Neako sa neviem vykoktat, skusim to teda inak - pri kompilacii zdrojoveho kodu(bez ohladu na programovaci jazyk(za predpokladu ze sa nejedna o skriptovaci jazyk)) prekladac nahradza Vami zadany kod do strojoveho kodu(iba tomu procesor rozumie), v hore uvedenych(vyssich) jazykoch kompilator nahradi Vami zadany kod za seriu instrukcii strojoveho kodu, v pripade assembleru pise programator kod priamo pre procesor, len ho nepise v strojovom kode ale v symbolickych menach(kvoli prehladnosti).
Keby som to skusil tak volne prelozit pre zaciatocnikov - hore uvedene programovacie jazyky prekladaju do strojoveho kodu, strojovy kod sa v podstate rovna assembleru, takze by sa dalo povedat ze vysledkom hore uvedenych programovacich jazykov je kod v assemblery(i), ten je vsak strasne velky a neprehladny, v assemblery(i) sa pre PC(v dnesnej dobe) programuje velmi velmi malo(az priam vobec), maximalne sa jedna o male casti programov(kde je nutna velka rychlost programu), prip. odladenie kodu(urychlenie behu) alebo napr. anticracking-ova ochrana apod.

V tomto jazyku neexistuju premenne - pristupuje sa priamo k pameti, aj tok programu sa riesi dost odlisne nez vo vyssich jazykoch atd.

Kod sa da pisat aj v notepad-e a skompiluje sa prekladacom. Prekladacov sa da najst niekolko, ja som pouzil NASM. Vysledny programcek je urceny pre DOS. Subor s kodom som nazval hello.asm, kompiloval som na subor hello.com(com preto lebo je jednoduchsi ako exe) prikazom

Kód: Vybrať všetko

nasmw -f bin -o hello.com hello.asm
kod v subore hello.asm:

Kód: Vybrať všetko

org 0x100

mov ah,9h
mov dx,hello
int 21h

mov ah,0x4c
mov al,0
int 0x21

hello DB "Hello",'$'
org 0x100 - tato direktiva posunie nasledujuci kod tak aby zacal na adrese 100h, myslim ze je to pre vyhradenie pamete pre hlavicku programu, pripadne stack
mov ah,9h - natiahne 9 do registra ah - cim program urcuje ze bude chciet vypisat text do prikazovej riadky
mov dx,hello - natiahne do registra dx ukazovatel na prvy bajt textu hello(zadefinovaneho na spodku suboru) - tymto dal program najavo co bude chciet vypisat
int 21h - zavolame prerusenie DOS-u - a ten si zisti z registra ah co ma spravit a z registra dx zisti co ma vypisat
mov ah,0x4c - program dava najavo ze konci
mov al,0 - s navratovou hodnotou 0 - cize konci korektne
int 0x21 - zavolame prerusenie DOS-u - a ten si vycita ze Nas program skoncil(pamet je volna atd.)
hello DB "Hello",'$' - definicia textu, znak za textom je tam preto aby DOS vediel kde je koniec textu

pre info tento program mi zabera "az" 19 bajtov miesta na disku

kod v subore cyklus.asm

Kód: Vybrať všetko

org 0x100

mov bl,3

cyklus_start:

mov ah,9h
mov dx,hello
int 21h

dec bl
cmp bl,0
loopnz cyklus_start

mov ah,0x4c
mov al,0
int 0x21

hello DB "Hello",0xD,0xA,'$'
mov bl,3 - nastaveny pocet opakovani, vyuzil som register bl
cyklus_start: - navestie - je to refencia na bod v programe
dec bl - znizil som citac opakovani(register bl) o jedno
cmp bl,0 - zistujem ci uz nie je citac opakovani na nule
loopnz cyklus_start - ak nie je program sa vrati na nasledovnu instrukciu za navestim cyklus_start
hello DB "Hello",0xD,0xA,'$' - 0xD,0xA - carriage + line feed - odriadkovanie
\_AMD_x2_3800+_@2,6_/\_XFX_9600_GT @,75-1,9-2,2_/\_3G_RAM_Výrobca_=>_miš&maš_/\_Power_by_ASUSTeK_A8N_SLI_Premium_/\_2x80G_Samsung_/\_Casemod_-_hotovo,_uz_sa_mi_viac_nexce_/
A tak som si raz zmenil farbu podpisu na zelenú aby bolo jasné čo mi modrá môže
kane77

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa kane77 »

Zaujimavy napad, ale vyzera ze iba prve dva diely boli, co je skoda.. Ale pridam sa aj ja:

Ruby
Ruby je velmi pekny skriptovaci jazyk z Japonska, v podstate na vseobecne pouzitie, hlavne na nejake skripty, alebo jednoduchsie programy, alebo tiez na web (framework Ruby on Rails). Je to velmi "strucny", uplne OOP (nema primitivne typy) jazyk s prvkami funkcionalneho programovania

1. Ahoj svet
Velmi kratke, proste:

Kód: Vybrať všetko

puts "Hello World!"
2. Cykly (jednoduche)
V ruby existuje dost vela typov cyklov (for, while, until, ale aj cisla maju metody cyklov)
cize priklad kde sa 10 krat vypise "Hello World" by sa dal napisat napriklad takto:

Kód: Vybrať všetko

for i in 1..10 do |i|
  puts "Hello World"
end
(programatorsky spravnejsie by bolo 0..9, ale... :)
alebo

Kód: Vybrať všetko

10.times do |i|
  puts "Hello World!"
end
alebo

Kód: Vybrať všetko

1.upto 10 do |i|
  puts "Hello World!"
end
alebo

Kód: Vybrať všetko

10.downto 1 do |i|
  puts "Hello World!"
end
to |i| je nepovinne a predstavuje iterator (vysvetlim v neskorsich castiach kurzu, ak este budu), ale v podstate to predstavuje premennu i z povodneho pascalovskeho programu (teda v kazdom cykle obsahuje poradove cislo cyklu)

Spustenie
1. Interpreter pre Ruby sa da stiahnut z http://ruby-lang.org" onclick="window.open(this.href);return false;
2. program sa vlozi do suboru s priponou .rb a spusti sa z prikazoveho riadku takto:

Kód: Vybrať všetko

ruby mojsubor.rb
3. existuje aj interaktivny interpreter, spusti sa pomocou prikazu irb
badyto

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa badyto »

Rozmyslal som ze by som prispel v PHP jazyku, ale to je skriptovaci jazyk... Tak neviem ci sa to sem hodi :-)
Používateľov profilový obrázok
Bird
Používateľ
Používateľ
Príspevky: 2025
Dátum registrácie: So 15. Aug, 2009, 22:39
Bydlisko: TO

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa Bird »

nemohol by sem niekto hodit python ? ja sa moc nerozumiem programovaniu ale chcel by som daco zacat. ibaze c a spol. su dost narocne. trochu som pogooglil a nasiel som toto

tradičný príkaz "hello, world", ktorý vo verzii C++ (#) vyzera takto:
#include <iostream.h>

Kód: Vybrať všetko

void main()
{
   cout << "Hello, world." << endl;
}
ve verzi Pythonu je to toto :

Kód: Vybrať všetko

print "Hello, World!"
myslim ze pre zaciatocnikov je to najlepsie. mohol by to sem dakto hodit pls ? :)
MacBook Pro 13 (2016) + iPhone 12 mini
PS5 Slim
nitro14
Nový používateľ
Nový používateľ
Príspevky: 12
Dátum registrácie: Po 27. Júl, 2009, 17:48

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa nitro14 »

w3r1k napísal: ve verzi Pythonu je to toto :

Kód: Vybrať všetko

print "Hello, World!"
myslim ze pre zaciatocnikov je to najlepsie. mohol by to sem dakto hodit pls ? :)
hmm zaujímave... veľmy my to pripomína BASIC
AMD Athlon X2 3600+, 3GB RAM DDR2 Kingston 800Mhz, Seagate Barracuda 500GB 32MBcache, ATi Radeon X1250 512MB
"Have you tried to turn it off and on again ?"
esso82
Nový používateľ
Nový používateľ
Príspevky: 42
Dátum registrácie: Ne 27. Sep, 2009, 12:54

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa esso82 »

no uz mi to nedalo ... a napisem teda ten prikaz pre PHP, kde samozrejme musi byt subor .php parsovany nejakym parserom, preto to vyzera tak jednoducho:

Kód: Vybrať všetko

echo "Hello World";
a tak ma rovno napada .... co keby sme spravili stranku, kde budu tieto lekcie priklad po priklade aj s diskusiou a pomocou od tych, co to ovladaju? Urcite by to pomohlo zacinajucim programatorom, ja osobne tiez nie som profik, uvital by som minimalne lekcie v Ajaxe.

keby niekto, tak zalozte novy thread, tam sa dohodneme :D
Laptop: Dell Inspiron 15R 5537, SolydK 64-bit
Fón: SONY Xperia Z1 Compact Lime
Tablet: Lenovo Yoga 10HD
badyto

Re: Kurz programovania - lekcia 1. Ahoj svet a cyklus

Príspevok od používateľa badyto »

Uf, noo pokusim sa neako skomolit ten Hello world priklad za pomoci AJAX , dufam ze to niekomu pomoze, bolo mi povedane ze neviem vysvetlovat ale tak lepsie ako nic :-)

Vzdy vzdy vzdy pouzijem na kazdej stranke kde robim s ajaxom tuto prvu univerzalnu funkciu ktora vytvori tzv "XMLHttpRequest":

Kód: Vybrať všetko

function vytvorAjax(){
var xmlHttp;
try{
  xmlHttp=new XMLHttpRequest(); // vytvori pre Firefox, Opera 8.0+, Safari
  return xmlHttp;
}catch (e){
  	try{                                      // Internet Explorer
    	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		return xmlHttp;
    }catch (e){
    	try{
      		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			return xmlHttp;
      	}catch (e){
      		alert("Vas staroveky prehliadac nepodporuje AJAX!");
      		return false;
      	}
    }
}

}
cize jednoducha funkcia ktora proste len vytvori request pod vsetkymi prehliadacmi.

Dalej tu mame funkciu ktora nacita z neakeho suboru(v nasom pripade muhehe.php), za pomoci toho requestu z prvej funkcie, neaky text a ten nam zobrazi na nasej stranke.

Kód: Vybrať všetko

function goBaby(){
	ooo = vytvorAjax();     // do premennej ooo sa ulozi request ktory vytvori funkcia vytvorAjax()
	ooo.onreadystatechange=function(){   // ked sa zmeni stav requestu tak rob toto ->
		if(ooo.readyState==4){    // ked ten stav requestu vrati 4 cize je pripraveny tak rob toto:
			document.getElementById("blabla").innerHTML = ooo.responseTex; // najdi element s IDckom "blabla" a do jeho telanapis to co sme nacitali zo suboru vid dolu nizsie
		}
	}
	ooo.open("POST","muhehe.php",true);  // otvor subor muhehe.php
	ooo.send(null);
}
ovsem na nasej stranke musime mat umiestneny neaky ten element s IDckom "blabla" napriklad:

Kód: Vybrať všetko

<div id="blabla"></div>
V tom nasom muhehe.php subore ovsem musi byt nieco ako toto:

Kód: Vybrať všetko

<?php 
echo "hello world!";
?>
Toto je uplny zaklad a zaroven vsetko co treba vediet o AJAXe na takej urovni aby sme ho vedeli pouzivat si myslim :D
Tipy:
1.) v prikaze

Kód: Vybrať všetko

ooo.open("POST","muhehe.php",true);
nemusite pouzit len "muhehe.php" ale mozte pouzit aj napriklad "muhehe.php?co=citaj&id=123&limit=20" atd atd a v php sa uz s tymi premennymi vyjasite cez $_GET premennu ;-)

2.) nechcel som komplikovat tu druhu funkciu ale ja tam este pouzivam v tej if podmienke toto:

Kód: Vybrať všetko

		if(ooo.readyState==4){    
			document.getElementById("blabla").innerHTML = ooo.responseTex; 
	document.body.style.cursor = "default";
		}else{
			document.body.style.cursor = "wait";
		}
To len zaruci WAIT kurzor a DEFAULT kurzor ked je hotovo

Návrat na "Programovanie"