Pažintis su C++ Builder

Size: px
Start display at page:

Download "Pažintis su C++ Builder"

Transcription

1 Pažintis su C++ Builder Turinys C++ Builder aplinka... 2 Komponentai, jų savybės ir metodai, įvykiai... 2 Programos objektų savybių keitimas... 4 Vartotojo programos kūrimas, saugojimas ir vykdymas... 5 Pagrindiniai komponentai... 7 TForm - forma... 7 TLabel - žymė... 7 TButton - mygtukas... 7 TStaticText - teksto komponentas... 8 TEdit - redagavimo komponentas... 8 TMemo - teksto išvedimo komponentas... 8 Pagrindinės C++ duomenų struktūros ir konstrukcijos... 9 Kintamieji, priskyrimo sakinys... 9 Komentarai programoje Metodo iškvietimas TForm1 klasės struktūra Programų pavyzdžiai pavyzdys - Pirmoji programa pavyzdys - Komponento savybių keitimas pavyzdys - Skaičiavimas pavyzdys - Duomenų įvedimas ir skaičiavimas

2 C++ Builder aplinka C++ Builder - tai objektiškai orientuotų programų kūrimo sistema, kurios priemonėmis galima paruošti įvairaus lygio ir paskirties programas: tiek mėgėjiškas, tiek profesionalias. Programos C++ Builder terpėje kuriamos, įtraukiant į programą reikalingus objektus (komponentus), suteikiant jiems reikalingas savybes ir programuojant C++ kalba reakcijas į įvykius, kurie gali įvykti programos vykdymo metu. Visų tų dalių sujungimą į vientisą C++ kalbos sintaksę atitinkančią programą automatiškai atlieka C++ Builder sistema. Pradėjus dirbti su C++ Builder, sukuriama integruota programų kūrimo terpė, kurioje yra visos priemonės, reikalingos vartotojo programoms projektuoti, kurti, testuoti ir derinti. Ekrane šią terpę sudaro 4 langai: pagrindinis C++ Builder langas (antraštė: C++Builder 5 - Project1), objektų inspektoriaus langas (Object Inspector), programos pagrindinės formos grafinio vaizdo langas (Form1) ir pagrindinės formos modulio programos langas (Unit1.cpp), kuris gali būti paslėptas po Form1 langu. 1.1 pav. parodytos pagrindinio C++ Builder lango, kuris užima tik viršutinę ekrano dalį, sudėtinės dalys: 1.1 pav. C++ Builder pagrindinis langas Komandų meniu - tai visų C++ Builder darbo metu galimų veiksmų rinkiniai. Kai kurie komandų rinkiniai, pavyzdžiui, File, Edit, Help, yra panašūs į kitų taikomųjų programų analogiškus rinkinius, o kai kurie, pavyzdžiui, Project, Run būdingi tik programų kūrimo terpėms. Komandų paskirtis paaiškės programų kūrimo metu. Dažniausiai naudojamos komandos pakartotos ir mygtukų juostose. Jų pavadinimai ir atliekami veiksmai sutampa su atitinkamų komandų pavadinimais ir atliekamais veiksmais. Dažniausiai mums bus reikalingi šie mygtukai: -saugoti viską (Save all), - vykdyti programą (Run), - atverti projektą (Open Project), - iš formos lango pereiti į modulio langą ir atvirkščiai (Toggle Form/Unit). Komponentai, jų savybės ir metodai, įvykiai Komponentai - tai objektai, iš kurių sudaroma C++ Builder terpėje kuriama programa. Visi komponentai yra griežtai tipizuoti ir vartotojo programose naudojami pagal to tipo komponentų paskirtį. Pavyzdžiui, programos mygtukams kurti gali būti taikomi TButton tipo komponentai. 2

3 Pagrindiniame C++ Builder lange komponentai yra sugrupuoti pagal paskirtį į atskirus sąrašus (paletes): Standard, Additional, Win32 irt.t. Vartotojo programoje visada bus bent vienas komponentas - forma (TForm tipo programos langas). Šis komponentas įkeliamas į kuriamą programą automatiškai, tik pradėjus C++ Builder darbą. Visi kiti reikalingi komponentai įtraukiami į programą tokiu būdu: reikia spragtelėti pele reikalingo komponento mygtuką komponentų paletėse, o po to - spragtelėti programos formos lange. Komponento matmenis ir vietą formos lange taip pat galima keisti pele. Tokiu pačiu būdu galima keisti ir programos pagrindinės formos lango matmenis bei vietą ekrane. Dešiniojo pelės klavišo spragtelėjimu ties komponentu galima iškviesti kontekstinį meniu, kuriame Align... komanda galima nustatyti tikslią komponento vietą (pavyzdžiui, lango centre), o Size... komanda - komponento matmenis. Į programą galima įtraukti bet kokį skaičių tiek to paties, tiek skirtingų tipų komponentų. Visiems jiems C++ Builder suteikia unikalius vardus, atspindinčius jų tipą. Pavyzdžiui, TLabel tipo komponentams, kurie naudojami įvairiems užrašams programos lange, bus suteikiami vardai Label1, Label2 ir t.t. Kiekvienas programos komponentas, kaip ir realaus pasaulio objektai, turi tam tikras savybes. Kai kurios savybės, pavyzdžiui, antraštė, spalva, ir pan., būdingos visų tipų komponentams, kai kurios - tik vieno kurio nors tipo komponentams. Kuriamos programos komponentų savybes peržiūrėti ir keisti galima objektų inspektoriaus (Object Inspector) lange, Properties plokštelėje (1.2.a pav.). Šiame lange rodomos savybės to programos objekto, kuris tuo metu yra aktyvus (prieš tai jame buvo spragtelėta pele). Kairiajame stulpelyje surašyti savybių pavadinimai abėcėlės tvarka, dešiniajame - reikšmės. Pakeitus kurios nors savybės reikšmę, atitinkamai pakinta objekto vaizdas programos lange (aišku, jei ši savybė nusako objekto vaizdą). Pavyzdžiui, pakeitus Caption (antraštė) reikšmę, pakinta užrašas objekto langelyje programos formos lange. 3

4 1.2 pav. Objektų instpektoriaus langas Galimas ir atvirkščias savybių reikšmių keitimas: formos lange pakeitus pele objekto dydį, pakinta ir atitinkamų savybių skaitinės reikšmės objektų inspektoriaus lange. Reikia nepainioti objekto antraštės (Caption) su objekto vardu (Name). Rekomenduotina, bent pirmose programose, objektų vardų nekeisti ir palikti tuos, kuriuos suteikia sistema (Form1, Label1, Label2, Edit1, Edit2 ir t.t.). Naujų objektų antraštėms sistema suteikia tokias pačias reikšmes kaip ir tų objektų vardams, tačiau antraštes tikslinga pakeisti tokiomis, kurios atspindi objektų paskirtį. Su kiekvienu programos objektu galima atlikti tam tikrus veiksmus (vykdyti objekto metodus), kurių sąrašas taip pat priklauso nuo objekto tipo. Objektų metodai dažniausiai taikomi programuojant veiksmus, kuriuos programa turėtų atlikti reaguodama į vienus ar kitus įvykius programos vykdymo metu. Įvykių, į kuriuos gali reaguoti objektas, sąrašas taip pat matomas objektų inspektoriaus lange Events plokštelėje (1.2.b pav.). Objekto reakcijos į vieną ar kitą įvykį (pavyzdžiui, mygtuko paspaudimą pele - OnClick) veiksmus turi suprogramuoti programos kūrėjas. Programos objektų savybių keitimas Tiek programos pagrindinės formos, tiek kitų į programą įtrauktų komponentų savybes galima apibrėžti (pakeisti) dviem būdais: 1) programos kūrimo ar modifikavimo metu, 2) programos vykdymo metu. Objektų savybių keitimas programos kūrimo metu. Šiuo atveju savybių reikšmės nurodomos objektų inspektoriaus lange. Pagal tai, kas gali būti savybės reikšme, galimi tokie variantai: 4

5 a) reikšmė - simbolių rinkinys arba skaičius: naują reikšmę galima tiesiog užrašyti atitinkamoje objektų inspektoriaus lango eilutėje; b) reikšmė - viena iš kelių galimų reikšmių: naują reikšmę galima išrinkti iš sąrašo paspaudus sąrašo išskleidimo mygtuką tos savybės eilutės dešinėje; c) savybė nusakoma parametrų rinkiniu: naujas savybę nusakančių parametrų reikšmes galima nustatyti dialogo lange, kuris pasirodo paspaudus dialogo lango atvėrimo mygtuką savybės eilutės dešinėje. Objektų savybių keitimas programos vykdymo metu. Šiuo atveju savybių keitimo veiksmai turi būti rašomi programoje C++ kalba. Dažniausiai tam naudojamas priskyrimo sakinys (žr. toliau). Vartotojo programos kūrimas, saugojimas ir vykdymas Kaip minėta, darbo pradžioje į programą įtraukiamas vienas TForm tipo komponentas - pagrindinis programos langas Form1. Grafinis šio lango vaizdas ir sugeneruota atitinkama programos kodo dalis parodyta 1.3.a pav. ir 1.3.b pav. Nors ši programa dar tik pradėta kurti, iš esmės ji turi visas pilnos programos savybes ir ją galima vykdyti (Run mygtuko paspaudimu). Po to, kai paspausite Run mygtuką, programa bus kompiliuojama ir vykdoma. Ekrane pasirodys tuščias pilkas langas su antrašte Form1. Šį langą galima kilnoti ekrane, keisti jo dydį pele. Lango uždarymo mygtukas nutraukia programos darbą. 1.3 pav. Vartotojo programos langai darbo pradžioje Programos naujos dalys įtraukiamos kaip nauji komponentai į pagrindinę programos formą arba kaip papildomos programos kodo dalys į programos tekstą. 5

6 Kad programa galėtumėte naudotis ne tik jos kūrimo metu, reikia išsaugoti ją kompiuterio diske. Kiekvienos programos saugojimui rekomenduotina pasidaryti atskirą katalogą, kadangi programos kompiliavimo metu sistema sukuria iki 10 failų. Po to, kai padarysite katalogą, viską galima išsaugoti vienu - Save All mygtuku. Atliekant tai pirmą kartą, dialogo languose reikės nurodyti pasirinktą katalogą, programos modulio bei projekto failų vardus (sistema siūlys Unit1. cpp ir Project1.bpr vardus atitinkamai). Kad neprarastumėte tai, ką padarote programos kūrimo metu, Save All mygtuką rekomenduotina paspausti po kiekvieno pakeitimo programoje. Tai užims labai nedaug laiko, kadangi failų vardus reikia nurodyti tik pirmo saugojimo pradžioje. 6

7 Pagrindiniai komponentai Šiame skyrelyje trumpai supažindinsime su tais vaizdinių C++ Builder komponentų tipais, kurie naudojami praktiškai visose, net ir pačiose paprasčiausiose programose. Aprašoma tik tos komponentų savybės ir metodai, kuriuos naudosime šio skyriaus programose. Label, Edit, Button komponentai yra Standard komponentų paletėje, StaticText - Additional komponentų paletėje. TForm - forma Pagrindinė paskirtis: formuoti programos langus, kuriuose dėliojami kiti programos komponentai. Programoje visada bus bent vienas šio tipo komponentas, kurį sistema pati įtraukia į programą ir suteikia Form1 vardą. Mūsų programose praktiškai visada užteks šios vienos formos. Dažniausias įvykis - kai forma tampa aktyvia (OnActivate). Caption savybė - simbolių eilutė (tekstas), kuri matoma komponento lango viršuje. Color savybė nusako formos komponento lango spalvą. Jos reikšme gali būti sistemoje naudojami spalvų pavadinimai (clblack, clmaroon, clgreen ir t.t.). ClientHeight, ClientWidth savybės nusako formos lango matmenis -aukštį ir plotį. Jų reikšmės - sveikieji skaičiai. TLabel - žymė Pagrindinė paskirtis - parodyti įvairiems užrašams formos lange (pačiame formos lange jokio teksto užrašyti negalima). Caption savybė - simbolių eilutė (tekstas), kuri matoma komponento lange. Font savybė nusako komponento teksto šriftą (dydį, stilių, spalvą ir kt). Kiekvienas šrifto parametras nustatomas atskirai. TButton - mygtukas Pagrindinė paskirtis - reaguoti į įvykius programos vykdymo metu. Dažniausias įvykis - mygtuko paspaudimas (OnClick). Caption savybė - simbolių eilutė (tekstas), kuri matoma komponento lange. Font savybė nusako komponento teksto šriftą (dydį, stilių, spalvą ir kt.). 7

8 Enabled savybė nusako, ar komponentas reaguoja į įvykius. Jei reikšmė yra true, mygtukas reaguoja į įvykius, jei false - nereaguoja. TStaticText - teksto komponentas Pagrindinė paskirtis - programos pranešimams ir rezultatams parodyti formoje. Caption savybė - simbolių eilutė (tekstas), kuri matoma komponento lange. BorderStyle nusako rėmelio apie komponentą tipą. Galimos reikšmės: sbsnone, sbssingle, sbssunken. TEdit - redagavimo komponentas Pagrindinė paskirtis - išsaugoti tekstą, kurį vartotojas įvedė šio komponento lange. Įvedimo metu tekstas gali būti redaguojamas. Text savybė - simbolių eilutė (tekstas), kuri matoma komponento lange. Programos vykdymo metu Edit komponento lange įvestas ar pakeistas tekstas tampa nauja Text savybės reikšme. Clear () metodas išvalo Edit komponento langą ir priskiria Text savybei tuščią eilutę. SetFocus () metodas perkelia įvedimo žymeklį į Edit komponento langą. TMemo - teksto išvedimo komponentas Pagrindinė paskirtis: saugoti, rodyti ekrane ir redaguoti tekstą, skirstomą eilutėmis. Pagrindinis skirtumas nuo TEdit komponento ir yra tai, kad tekstas skirstomas į eilutes. Savo pavyzdžiuose šį komponentą naudosime tekstinei informacijai kompiuterio ekrane rodyti tuo atveju, kai ši informacija gali būti ne vienoje eilutėje. Lines savybė - simbolių eilutės (tekstas), kurios matomos komponento lange. Iš tikrųjų, Lines yra TStrings klasės objektas. ScrollBars savybė nusako, ar bus slinkties juostos komponento lange. Galimos reikšmės: ssboth, sshorizontal, ssnone, ssvertical (abi, tik horizontali, nei vienos, tik vertikali). Slinkties juostos reikalingos tada, kai išvedama informacija gali netilpti komponento lange. Clear () metodas išvalo TMemo komponento langą ir pašalina visas eilutes. Lines->Add(E) metodas komponento teksto pabaigoje įrašo naują eilutę E. Lines->SaveToFile (FailoVardas) metodas komponento tekstą (visas eilutes) užrašo į tekstinį failą, kurio vardas yra FailoVardas. Jei tokio failo nėra, prieš užrašymą jis sukuriamas, jei yra - ištrinama visa jame esanti informacija. 8

9 Pagrindinės C++ duomenų struktūros ir konstrukcijos Reakcijos į įvairius įvykius veiksmams užrašyti C++ Builder sistemoje naudojama C++ programavimo kalba. Šiame skyrelyje susipažinsime su šios kalbos duomenų struktūromis ir konstrukcijomis, kurios bus naudojamos mūsų programose. Kintamieji, priskyrimo sakinys Kintamasis - tai turinti vardą "dėžutė", kurioje gali būti saugoma kokia nors reikšmė. Kintamojo vardas programoje nekinta, o jo reikšmė gali būti keičiama. Tarkime, kad kintamojo vardas yra n, o reikšmė turi būti lygi 10. Ši reikšmė minėtam kintamajam gali būti suteikta priskyrimo sakiniu, kuris C++ kalboje užrašomas tokiu būdu: n = 10; Tai reikia skaityti ne "n lygu 10", bet "kintamajam n priskirti reikšmę 10". Aukščiau užrašyta eilutė yra paprasčiausias C++ programavimo kalbos sakinys. C++ sakinių gale dedami kabliataškiai. Sakinys: n = n + 2; nėra matematinė lygtis. C++ kalboje tai reiškia: prie esamos kintamojo n reikšmės pridėti 2 ir rezultatą užrašyti į kintamąjį n vietoje buvusios reikšmės. C++ kalboje šį veiksmą galima užrašyti ir tokiu būdu: n += 2; Reikia atsiminti, kad priskyrimas: n = k + 5; keičia tik n reikšmę ir nekeičia k reikšmės. C++ kalba rašomoje programoje kintamuosius reikia paskelbti (aprašyti) prieš pirmąjį jų panaudojimą. Kintamieji kint1, kint2, kurių reikšmėmis bus sveikieji skaičiai (..., -3, -2, -l, 0, l, 2, 3,...), aprašomi tokiu būdu: int kinti; int kint2; arba int kinti, kint2;. Sakoma, kad šie kintamieji yra sveikųjų skaičių tipo. Kitų tipų kintamiesiems aprašyti naudojami tokie baziniai žodžiai: float - realiųjų skaičių (turinčių trupmeninę dalį) tipui, char - simbolių tipui (reikšmės - kompiuterio simboliai), AnsiString - simbolių eilutės tipui ir bool -loginiam tipui (reikšmės: true, false) nurodyti. Kintamųjų aprašo sakinyje jiems galima suteikti pradines reikšmes: int k = O; float r = 2.5; char c = 'A'; AnsiString E = "Jonas"; bool p = true; Priskyrimo sakiniu galima keisti ir programos komponentų savybių reikšmes. Jei keičiama savybė yra vienas iš komponento lango ekrane parametrų, pavyzdžiui, spalva, programos vykdymo metu atitinkamai pasikeis vaizdas ekrane. 9

10 Objekto savybės reikšmę programos vykdymo metu galima pakeisti tokios struktūros priskyrimo sakiniu: Objekto vardas->savybė = auja reikšmė; Pavyzdžiui, priskyrimo sakiniai StaticText1->Height = 400; StaticText1->Caption = " aujas tekstas"; StaticText1->Color = clred; StaticText1->Font->Size = 20; keičia programos objekto (komponento), kurio vardas StaticText1, savybių Height (aukštis), Caption (antraštė), Color (spalva) ir Font->Size (šrifto dydis) reikšmes. Height reikšmė yra sveikasis skaičius, Caption - simbolių eilutė (rašoma tarp kabučių), Color - viena iš kelių galimų reikšmių, Font - nusakoma parametrų rinkiniu, Size - vienas iš šių parametrų. Komentarai programoje Nors programos veiksmus atlieka ne žmogus, bet kompiuteris, tačiau dėl daugelio priežasčių programos kūrėjams dažnai tenka skaityti ir keisti programos tekstą. Todėl programos rašomos taip, kad būtų lengva jas skaityti: paliekami papildomi tarpai, tuščios eilutės, tekstas atitraukiamas nuo kairiojo krašto ir pan. Kartu programose labai naudingi paaiškinimai, padedantys geriau suprasti panaudotas duomenų struktūras ir atliekamus veiksmus. Tokie paaiškinimai (komentarai) programose C++ kalba pradedami dviem pasvirusiais brūkšneliais (//). Kompiuteris, kurioje nors programos eilutėje radęs //, už šių ženklų iki eilutės galo esantį tekstą ignoruoja ir kompiliavimo metu nenagrinėja. Eilutės su komentarais pavyzdys: StaticTextl->Color = clred; // nudažoma raudonai Metodo iškvietimas Kaip minėta anksčiau, kiekvienas programos objektas, turi ne tik tam tikras savybes, bet su juo galima atlikti ir tam tikrus veiksmus (vykdyti objekto metodus). Konkretaus objekto galimų metodų sąrašą galite rasti to objekto tipo aprašyme. Šį aprašymą galite rasti naudodamiesi C++ Builder pagrindinio lango Help komanda. Trumpesnis būdas: spragtelėti ties objektu programos formos lange arba ties objekto vardu programos teksto lange ir po to nuspausti <Ctrl>+<Fl> klavišų kombinaciją. Objekto metodą programos vykdymo metu galima iškviesti tokios struktūros sakiniu: Objekto vardas->metodo vardas (Parametrai); Žemiau užrašyti metodų iškvietimo sakinių pavyzdžiai kartu su komentarais: Edit1->Clear(); // išvalo Editl langą Form1->Close(); // užveria Form1 langą ir baigia programos darbą 10

11 Atkreipkite dėmesį į tai, kad skliausteliai būtini net ir tuo atveju, kai metodo iškvietime nenaudojami parametrai. Duomenų įvedimas ir išvedimas Beveik kiekvienoje programoje tenka numatyti duomenų įvedimo ir išvedimo veiksmus. Pirmosiose programose duomenų nebus daug, todėl juos įvesime klaviatūra, o išvesime į ekraną. Išvedimui naudosime aukščiau aprašytos TStaticText klasės komponentus, o įvedimui - TEdit klasės komponentus. Kadangi StaticText komponento Caption savybės reikšmė - simbolių eilutė, todėl, prieš suteikiant jai kokio nors programos kintamojo reikšmę, pastarąją iš skaitinės formos reikia pervesti į simbolinę formą. Sveikųjų skaičių tipo kintamųjų reikšmėms versti į simbolinę formą gali būti naudojama standartinė C++ Builder funkcija IntToStr, o realiųjų FloatToStr. Pavyzdžiui, IntToStr (n) verčia į simbolinę formą sveikojo kintamojo n reikšmę, FloatToStr (r) - realiojo kintamojo r reikšmę. Realiųjų skaičių vertimui į simbolių eilutę taip tinka ir FloatToStrF funkcija. Pavyzdžiui, FloatToStrF(r,ffFixed,8,2) suformuoja skaičiaus skaitmenų eilutę, kurioje visam skaičiui skirti 8 simboliai, o trupmeninė dalis apvalinama iki 2 skaitmenų. Programos vykdymo metu Edit komponento lange klaviatūra galima įvesti bet kokią informaciją. Šiame lange esanti informacija - simbolių eilutė - automatiškai perduodama Text savybei. Netgi klaviatūra įvesti skaitmenys traktuojami kaip simboliai. Simbolių eilutei versti į skaitinę formą gali būti taikomos C++ Builder funkcijos StrToInt ir StrToFloat. Pirmoji naudojama, jei simbolių eilutę reikia versti į sveikąjį skaičių, antroji -jei reikia versti į realųjį skaičių. Aišku, šiuo atveju simbolių eilutėje leistini tik tie simboliai, iš kurių galima sudaryti skaičių. Pavyzdžiui, StrToInt (Edit->Text) verčia Edit lange užrašytą simbolių seką į sveikąjį skaičių, StrToFloat (Edit->Text) - į realųjį skaičių. TForm1 klasės struktūra Kaip minėta, C++ Builder terpėje kuriama programa susideda iš objektų (komponentų), turinčių tam tikras savybes ir metodus. Bendru atveju objekto viduje gali būti ir kitų duomenų, kurie C++ kalboje vadinami laukais. Laukų, savybių ir metodų rinkinys sudaro to objekto tipą. C++ kalboje objekto tipui nusakyti naudojama klasės sąvoka. Programose visada pradžioje pateikiamas klasės aprašas, o tik po to - tos klasės objektų aprašai. Klasės yra objektiškai orientuotų programų esmė. Plačiau apie jų kūrimą ir naudojimą bus kalbama vėliau. Pirmosiose programose pakaks išmokti papildyti pagrindinio programos objekto - Form1 komponento klasę. Šio komponento klasės, turinčios TForm1 vardą, aprašą pamatysite faile, kurio vardo plėtinys.h TForm1 aprašas pradedamas eilute: class TForm1 : public TForm 11

12 Toliau tarp figūrinių skliaustų { surašomi į formą įtrauktų kitų komponentų vardai (kartu nurodoma ir komponento klasė) ir metodų antraštės. Tai padaro pati sistema formos kūrimo metu. Metodų tekstai surašomi faile, kurio vardo plėtinys yra.cpp. Kiekvienas metodas pradedamas antrašte, o tarp figūrinių skliaustų { programuotojas turi surašyti metodo viduje atliekamus veiksmus. Atkreipkite dėmesį į tai, kad klasių vardai pradedami T raide. TForm1 klasės apraše rasite žodžius private: ir public:. Tiek už žodžio private:, tiek už žodžio public: programuotojas gali rašyti savo kintamuosiuos ir metodus. Savo programose mes taikysime pirmąjį variantą, o apie šių variantų skirtumus bus kalbama vėliau. Klasės apraše, eilutėje fastcall TForm1 (TComponent* Owner); rasite specialaus metodo - klasės konstruktoriaus antraštę. Jis skirtas nurodytos klasės objekto sukūrimui. Metodo vardas sutampa su klasės vardu. Sistema įvykdo šį metodą automatiškai. Programuotojas šio metodo viduje gali suteikti pradines reikšmes pagrindinės formos kintamiesiems. Form1 komponento aprašą sudaro viena eilutė: TForm1 *Form1; Aprašydami kuriamas programas, visada pateiksime TForm1 klasės aprašą, kuriame nurodysime programos komponentų ir metodų paskirtį. Tai turėtų padėti suprasti programų veikimą. 12

13 Programų pavyzdžiai 1 pavyzdys - Pirmoji programa Užduotis. Sukurti programą, kuri atskirame lange parodytų tekstą "Sveiki!". Programos langas galėtų atrodyti taip: Piromosios programos darbo langas Tokia programa paprastai pradedama pažintis su bet kuria programavimo kalba. Programos kūrimas Pirmasis žingsnis. Pasiruošimas darbui. * Sukuriamas katalogas, kuriame bus saugomi visi šio darbo failai. Katalogo vardas pavyzdyje yra D01A. * Paleidžiamas dirbti C++ Builder. Ekrane C++ Builder aplinkoje bus sukuriamas ir naujos programos pagrindinis langas - pilkas Form1 langas. Tai tipiškas Windows aplinkos langas, turintis visas jam būdingas savybes. Forma tuščia. Po ja yra programos teksto langas. Čia jau yra programos dalis, kuri aprašo sukurtą formą. * Mygtukas Save All. Ekrane pasirodo langas Save Unit1 As. Prašoma parašyti programos failo vardą. Nustatomas katalogas D01A, kuriame bus saugomas programos failas. Parašomas programos vardas, pavyzdžiui D01AUnit1, ir paspaudžiamas mygtukas Save. Sukuriamas failas D01AUnit1.cpp. Langas užsidaro ir jo vietoje pasirodo kitas langas. * Langas SaveProject1 As. Prašoma parašyti programos projekto vardą. Katalogas D01A jau paruoštas. Parašomas failo vardas, pavyzdžiui D01APrj, ir paspaudžiamas mygtukas Save. Kataloge sukuriamas failas D01APrj.cpp. Langas uždaromas, sugrįžtama į C++ Builder aplinką. Kataloge D01A dabar rasite šešis failus: 13

14 D01APrj.bpr D01APrj.cpp D01APrj.res Programos projekto parametrų failas Projekto teksto failas Resursų failas Pagrindinės formos failas (grafinis D01AUnit1.dfm vaizdas) D01AUnit1.cpp Programos pagrindinės formos teksto failas D01AUnit1.h Formos klasės aprašo failas Nors nereikėjo nieko programuoti, jau turime pilną programą, kurią galima kompiliuoti ir vykdyti Run. Run komanda arba mygtuku. Ekrane gauname tuščią programos langą, turintį visas Windows terpės langų savybes: langas turi antraštę (Form1), galima keisti jo vietą ekrane bei matmenis ir uždaryti (baigti programą) mygtuku. Dabar kataloge D01A rasime dar keturis failus: D01APrj.exe D01APrj.obj D01APrj.tds Sukompiliuota programa Failo D01APrj.cpp objektinis kodas Programos derinimo informacijos failas Failo D01AUnit1.cpp objektinis D01AUnitl.obj kodas Antrasis žingsnis. Formos lango savybių keitimas. * Esant aktyviam Form1 langui, Object Inspector lange Properties plokštelėje yra Form1 savybių sąrašas: savybės vardas ir reikšmė. Savybių vardai surašyti abėcėlės tvarka. Vienos iš savybių - antraštės (Caption) - reikšmę Form1 pakeiskime į Pirmoji programa. Iš karto pasikeis ir Form1 lango viršuje matomas užrašas. Panašiu būdu galima keisti ir kitas savybes, tačiau, kaip minėta, nepatartina keisti komponento vardo ( ame savybė). Išmokite pakeisti Form1 lango matmenis (ClientHeight ir ClientWidth) ir spalvą (Color). Trečiasis žingsnis. Komponento, reikalingo tekstui užrašyti, sukūrimas ir užpildymas. 14

15 * Ekrane yra tuščias programos formos langas Form1. Standard komponentų paletėje pele paspauskite mygtuką. Tokiu būdu išrenkamas TLabel komponentas, kurį pelės spragtelėjimu galima padėti į bet kurią Form1 lango vietą. Sukuriamas stačiakampis laukas su jo viduryje esančiu pavadinimu Label1. Tuo pačiu į Form1 įtraukiamas naujas objektas - Label1 komponentas. Jei šis komponentas yra aktyvus, Object Inspector lange, matomas jo savybių sąrašas. Pakeiskite Caption reikšmę iš Label1 į Sveiki!. Išmokite dešiniuoju pelės mygtuko nuspaudimu iškviesti kontekstinį meniu. Pasinaudodami šiuo būdu padėkite Label1 komponentą tiksliai į formos centrą (Align... komandoje pasirinkite Horizontal ir Vertical išdėstymo variantą Center in Window). * Font savybės lauke spragtelėjus pele pasirodo laukelis su mygtuku. Paspauskite šį mygtuką. Atsivers Font dialogo langas su paslaugų sąrašais. Nurodykite tokias reikšmes: Font: Times ew Roman, Font Style: Regular, Size: 14, Color: Black, Script: Baltic. * Paspauskite mygtuką OK. Label1 komponento langelyje tekstas bus parašomas nurodyto tipo, stiliaus ir dydžio šriftu. Ketvirtasis žingsnis. Programos bandymas. * Save All mygtuku pagrindiniame C++ Builder lange išsaugokite visus padarytus veiksmus. * Pagrindinio sistemos lango Run mygtuku kompiliuokite ir vykdykite programą. Jeigu kompiliuojant programą bus klaidų, tuomet lango D01AUnit1.cpp (programos teksto langas) apačioje bus pranešimai apie klaidas. Jeigu nėra klaidų, tuomet programa iš karto pradedama vykdyti. Ekrane gaunamas langas vardu "Pirmoji programa", kurio centre bus tekstas "Sveiki!". Mūsų programos langas turi visas Windows langų savybes: galima pele perkelti į kitą ekrano vietą, keisti dydį, dešinėje viršuje jis turi tris mygtukus. Sumažinus lango dydį tiek, kad jame nebetilptų užrašas, kraštuose atsiranda peržiūros juostos. Programos darbo langas uždaromas (tuo pačiu baigiamas programos darbas) mygtuku. Kadangi visą programos tekstą sugeneravo pati C++ Builder sistema, čia jis nepateikiamas ir neanalizuojamas. 2 pavyzdys - Komponento savybių keitimas Užduotis. Sukurti programą, kurioje vieno mygtuko paspaudimu programos lango dalis būtų nudažoma žaliai, o kito mygtuko paspaudimu - raudonai. Programoje taip pat turi būti mygtukas, kurį nuspaudus bus baigiamas programos darbas. Programos aprašymas. Kaip ir 1 pavyzdyje, pradžioje sukursime katalogą, parinksime pagrindinės formos lango matmenis, spalvą ir antraštę (detaliau šių veiksmų nebeaprašinėsime). 15

16 Kadangi galima nudažyti tik visą kurio nors komponento langą, programos lango dalyje, kurią norime dažyti, įdėsime naują komponentą - StaticText1. * Komponentų paskirtis: Vardas Form1 Paskirtis Pagrindinė programos forma StaticText1 Dažomas komponentas Button1 Button2 Button3 Mygtukas, kurį nuspaudus StaticText1 žaliai nudažomas Mygtukas, kurį nuspaudus StaticText1 raudonai nudažomas Mygtukas, kurį nuspaudus baigiamas programos darbas Šio pavyzdžo formos schema * Objektų inspektoriuje keičiamos komponentų savybių reikšmės: Vardas Keičiama savybė Reikšmė Form1 Caption Savybių keitimas StaticText1 Caption Paspauskite "Žalią" arba "Raudoną" mygtuką 16

17 BorderStyle sbssunken Button1 Caption Žalias Button2 Caption Raudonas Button3 Caption Baigti * Programos komponentai reaguoja į šiuos įvykius: Komponentas Įvykis Vykdomas metodas Button1 Button2 Button3 OnClick Button1Click OnClick Button2Click OnClick Button3Click * TForm1 klasės aprašo failas: -- #ifndef D01BUnit1H #define D01BUnit1H -- #include <Classes. hpp> #include <Controls. hpp> #include <StdCtrls. hpp> #include <Forms.hpp> -- class TForm1 : public TForm { published: // IDE-managed Components TStaticText *StaticText1; TButton *Button1; TButton *Button2; TButton *Button3; void fastcall Button1Click (TObject *Sender); void fastcall Button2Click (TObject *Sender); void fastcall Button3Click (TObject *Sender); private: // User declarations public: // User declarations fastcall TForm1(TComponent* Owner); 17

18 ; -- extern PACKAGE TForm1 *Form1; -- #endif Metodų aprašai * TForm1::Button1Click(TObject *Sender) - nudažo StaticText1 langą žaliai. Atlieka tokius veiksmus: StaticText1->Color = clgreen; // Keičia spalvą StaticText1->Caption = " udažėme žaliai"; // Keičia antraštę * TForm1::Button2Click(TObject *Sender) -nudažo StaticText1 langą raudonai. Atlieka tokius veiksmus: StaticText1->Color = clred; // Keičia spalvą StaticText1->Caption = " udažėme raudonai"; // Keičia antraštę * TForm1::Button3Click(TObject *Sender) - uždaro Form1 langą ir baigia programos darbą. Atlieka tokius veiksmus: Close(); // Vykdo Form1->Close() metodą Atmintinė vartotojui Programa saugoma D01B kataloge D01BPrj.bpr, D01BPrj.cpp, D01BPrj.res, D01BUnit1.cpp, D01BUnit1.dfm ir D01BUnit1.h failuose. Programos tekstas Žemiau pateikiamas trijų tekstinių programos failų: projekto - D01BPrj.cpp, formos klasės aprašo - D01BUnit1.h ir formos modulio - D01BUnit1.cpp tekstai. Projekto failą D01BPrj. cpp pilnai sugeneruoja sistema, ir jo tekstas visoms programoms yra toks pats, todėl kituose pavyzdžiuose šio failo nerodysime. Jo turinio kol kas taip pat neanalizuosime. Formos klasės aprašo failo D01BUnit1.h tekste pusiau juodu šriftu užrašytos eilutės, kuriose yra į programą įtrauktų komponentų StaticText1, Button1, Button2 ir Button3 aprašai ir metodų Button1Click, Button2Click ir Button3Click, atliekančių reakcijos į mygtukų paspaudimus veiksmus, antraštės. Visą failo tekstą sugeneruoja C++ Builder sistema programos kūrimo metu. Kadangi TForm1 klasės aprašas pateikiamas atskirai,.h tipo failų kituose pavyzdžiuose taip pat nerodysime. 18

19 Formos modulio failo D01BUnit1.cpp tekste pusiau juodu šriftu užrašyti metodų veiksmai. Šias eilutės buvo užrašytos, programuojant reakcijos į mygtukų paspaudimus veiksmus. Visas kitas failo eilutes sugeneruoja sistema. // D01BPrj.cpp #include <vcl.h> #pragma hdrstop USERES("D01BPrj.res"); USEFORM("D01BUnit1.cpp", Form1); // WI API WinMain(HI STA CE, HI STA CE, LPSTR, int) { try { Application->Initialize(); Application->CreateForm( classid(tform1), &Form1); Application->Run(); catch (Exception &exception) { Application->ShowException(&exception); return 0; // D01BUnit1.h #ifndef D01BUnit1H #define D01BUnit1H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TForm1 : public TForm { published: // IDE-managed Components TStaticText *StaticText1; TButton *Button1; TButton *Button2; TButton *Button3; void fastcall Button1Click(TObject *Sender); 19

20 void fastcall Button2Click(TObject *Sender); void fastcall Button3Click(TObject *Sender); private: // User declarations public: // User declarations fastcall TForm1 (TComponent* Owner); ; - extern PACKAGE TForm1 *Form1; - #endif // D01BUnit1.cpp #include <vcl.h> #pragma hdrstop #include "D01BUnit1.h" #pragma package (smart_init ) #pragma resource "*.dfm" TForm1 *Form1; fastcall TForm1 :: TForm1 (TComponent* Owner) : TForm(Owner) { void fastcall TForm1 :: Button1Click (TObject *Sender) { StaticText1->Color = clgreen; StaticText1->Caption = " udažėme žaliai"; void fastcall TForm1 :: Button2Click (TObject *Sender) { StaticText1->Color = clred; StaticText1->Caption = " udažėme raudonai"; void fastcall TForm1 :: Button3Click (TObject *Sender) { Close(); 20

21 2 pavyzdžio programos darbo langas 3 pavyzdys - Skaičiavimas Užduotis. Sukurti programą, kuri atliktų visus 2 pavyzdyje pateiktos programos veiksmus ir kartu skaičiuotų, kiek kartų buvo nuspaustas "Žalias" ir kiek kartų "Raudonas" mygtukas. Programos aprašymas * Komponentų paskirtis: Vardas Paskirtis Forml pagrindinė programos forma StaticTextl dažomas komponentas Buttonl mygtukas, kurį nuspaudus StaticTextl nudažomas žaliai Button2 mygtukas, kurį nuspaudus StaticTextl nudažomas raudonai Button3 mygtukas, kurį nuspaudus baigiamas programos darbas Label1 ir Label4 programos paaiškinimų langai StaticText2 "Žalio" mygtuko nuspaudimų kiekiui parodyti StaticText3 "Raudono" mygtuko nuspaudimų kiekiui parodyti 21

22 3 pavyzdžo formos schema * Objektų inspektoriuje keičiamos komponentų savybių reikšmės: Vardas Keičiama savybė Reikšmė Form1 Caption Savybių keitimas StaticText1 Caption BorderStyle Paspausk "Žalią" arba "Raudoną" mygtuką. sbssunken Button1 Caption Žalias Button2 Caption Raudonas Button3 Caption Baigti Label1 Caption "Žalias" mygtukas nuspaustas Label2 Caption "Raudonas" mygtukas nuspaustas Label3 Caption k. Label4 Caption k. StaticText2 Caption 0 22

23 BorderStyle sbssunken StaticText3 Caption 0 BorderStyle sbssunken * Programos komponentai reaguoja į šiuos įvykius: Komponentas Įvykis Vykdomas metodas Button1 OnClick Button1Click Button2 OnClick Button2Click Button3 OnClick Button3Click * TForm1 klasės aprašo failas: #ifndef D01cUnit1H #define D01cUnit1H #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> class TForm1 : public TForm { published: // IDE-managed Components TStaticText *StaticText1; TButton *Button1; TButton *Button2; TButton *Button3; TLabel *Label1; TLabel *Label2; TLabel *Label3; TLabel *Label4; TStaticText *StaticText2; TStaticText *StaticText3; void fastcall Button1Click(TObject *Sender); void fastcall Button2Click(TObject *Sender); void fastcall Button3Click(TObject *Sender); 23

24 private: // User declarations int zalias, raudonas; // nuspaudimų kiekiai public: // User declarations fastcall TForm1 (TComponent* Owner); ; - extern PACKAGE TForm1 *Form1; /- #endif * Kintamieji: Į TForm1 klasės aprašą private dalyje įtraukti du papildomi sveikųjų skaičių tipo kintamieji zalias ir raudonas. Jie reikalingi mygtukų nuspaudimų kiekiams skaičiuoti. Metodų aprašai * TForm1 :: TForm1 (TComponent* Owner) - priskiria kintamiesiems pradines reikšmes: zalias = 0; raudonas = 0; * TForml :: Button1Click (TObject *Sender) - nudažo StaticText1 langą žaliai. Atlieka tokius veiksmus: StaticText1->Color = clgreen; // Keičia spalvą StaticText1->Caption = "Nudažėme žaliai"; // Keičia antraštę zalias += 1; // didina reikšmę vienetu StaticText2->Caption = IntToStr (zalias) ; // išveda kintamojo reikšmę į StaticText2 langą * TForm1 :: Button2Click (TObject *Sender) - nudažo StaticText1 langą raudonai. Atlieka tokius veiksmus: StaticText1->Color = clred; // Keičia spalvą StaticText1->Caption = "Nudažėme raudonai"; // Keičia antraštę raudonas += 1; // didina reikšmę vienetu StaticText3->Caption = IntToStr (raudonas); // išveda kintamojo reikšmę į StaticText3 langą * TForm1 :: Button3Click (TObject *Sender) - uždaro Form1 langą ir baigia programos darbą. Atlieka tokius veiksmus: Close(); // Vykdo Form1->Close () metodą Atmintinė vartotojui Programa saugoma D01C kataloge D01CPrj.bpr, D01CPrj.opp, D01CPrj.res, D01CUnit1.cpp, D01CUnit1.dfm ir D01CUnit1.h failuose. 24

25 Programos tekstas // D01CUnit1.cpp #include <vcl.h> #pragma hdrstop #include "D01cUnit1.h" #pragma package (smart_init ) #pragma resource "*.dfm" TForm1 *Form1; fastcall TForm1 :: TForm1 (TComponent* Owner) : TForm(Owner) { zalias = 0; raudonas = 0; void fastcall TForm1 :: Button1Click (TObject *Sender) { StaticText1->Color = clgreen; StaticText1->Caption = " udažėme žaliai"; StaticText1->Color = clgreen; // Keičia spalvą StaticText1->Caption = " udažėme žaliai"; // Keičia antraštę zalias += 1; // didina reikšmę vienetu StaticText2->Caption = IntToStr (zalias) ; // išveda kintamojo reikšmę į StaticText2 langą void fastcall TForm1 :: Button2Click (TObject *Sender) { StaticText1->Color = clred; StaticText1->Caption = " udažėme raudonai"; StaticText1->Color = clred; // Keičia spalvą StaticText1->Caption = " udažėme raudonai"; // Keičia antraštę raudonas += 1; // didina reikšmę vienetu StaticText3->Caption = IntToStr (raudonas); // išveda kintamojo reikšmę į StaticText3 langą void fastcall TForm1 :: Button3Click (TObject *Sender) { Close(); 25

26 3 pavyzdžio programos darbo langas 4 pavyzdys - Duomenų įvedimas ir skaičiavimas Užduotis. Sukurti programą, kuri atliktų paprasto kalkuliatoriaus funkcijas, t.y. jos priemonėmis būtų galima atlikti dviejų klaviatūra įvedamų realiųjų skaičių sudėtį, atimtį, daugybą ir dalybą. Programos aprašymas * Komponentų paskirtis: Form1 Vardas Edit1, Edit2 Button1 Button2 Button3 - Button6 Paskirtis pagrindinė programos forma duomenų įvedimo langeliai mygtukas, kurį nuspaudus baigiamas programos darbas mygtukas įvedimo ir išvedimo langeliams išvalyti mygtukai aritmetiniams veiksmams (sudėčiai, atimčiai, dalybai, daugybai) atlikti Label1 - Label3 programos paaiškinimų langai 26

27 StaticText1 aritmetinio veiksmo rezultato langelis 4 pavyzdžo formos schema * Objektų inspektoriuje keičiamos komponentų savybių reikšmės: Vardas Form1 Keičiama savybė Caption Reikšmė Duomenų įvedimas ir skai-čiavimas (kalkuliatorius) Edit1, Edit2 Text Button1 Caption Baigti Button2 Caption Valyti Button3 Caption + Button4 Caption - Button5 Caption / Button6 Caption * Label1 Caption? Label2 Caption = Label3 StaticText1 Caption Caption BorderStyle Užrašyk skaičius ir paspausk reikalingą mygtuką sbssunken 27

28 Pastaba. Tuščias reikšmės langelis reiškia tuščią simbolių eilutę. * Programos komponentai reaguoja į šiuos įvykius: Komponentas Įvykis Vykdomas metodas Form1 OnActivate FormActivate Button1 OnClick Button1Click Button2 OnClick Button2Click Button3 OnClick Button3Click Button4 OnClick Button4Click Button5 OnClick Button5Click Button6 OnClick Button6Click * TForm1 klasės aprašo failas: // #ifndef D01DUnit1H #define D01DUnit1H // #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> // class TForm1 : public TForm { published: // IDE-managed Components TButton *Button1; TButton *Button2; TLabel *Label1; TLabel *Label2; TStaticText *StaticText1; TEdit *Edit1; TEdit *Edit2; TButton *Button3; TButton *Button4; 28

29 TButton *Button5; TButton *Button6; TLabel *Label3; void fastcall FormActivate (TObject *Sender); void fastcall Button1Click (TObject *Sender); void fastcall Button2Click (TObject *Sender); void fastcall Button3Click (TObject *Sender); void fastcall Button4Click (TObject *Sender); void fastcall Button6Click (TObject *Sender); void fastcall Button5Click (TObject *Sender); private: // User declarations float rez; // aritmetinio veiksmo rezultatas public: // User declarations fastcall TForm1(TComponent* Owner); ; // extern PACKAGE TForm1 *Form1; // #endif * Kintamieji: Į TForm1 klasės aprašą private dalyje įtrauktas papildomas realusis kintamasis rez. Šis kintamasis skirtas aritmetinio veiksmo rezultatui saugoti. Metodų aprašai * TForm1 :: FormActivate (TObject *Sender) - perkelia įvedimo žymeklį į pirmojo skaičiaus langelį: Edit1->SetFocus(); * TForm1 :: Button1Click (TObject *Sender) - baigia programos darbą: Close (); * TForm1 :: Button2Click (TObject *Sender) - išvalo įvedimo ir išvedimo langelius: Edit1->Clear(); Edit2->Clear(); Label1->Caption = "?"; StaticText1->Caption = ""; * TForm1 :: Button3Click (TObject *Sender) - sudeda įvestus skaičius: 29

30 Label1->Caption = "+"; rez = StrToFloat(Edit1->Text) + StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF (rez,fffixed,8,2); * TForm1 :: Button4Click (TObject *Sender) - iš 1-ojo skaičiaus atima 2-ąjį: Label1->Caption = "-"; rez = StrToFloat (Edit1->Text) - StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); * TForm1 :: Button5Click (TObject *Sender): - 1-ąjį skaičių padalija iš 2-ojo: Label1->Caption = "/"; rez = StrToFloat(Edit1->Text) / StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); * TForm1 :: Button6Click (TObject *Sender) - sudaugina skaičius: Label1->Caption = "*"; rez = StrToFloat(Edit1->Text) * StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); Atmintinė vartotojui Programa saugoma D01D kataloge D01DPrj.bpr, D01DPrj.cpp, D01DPrj.res, D01DUnit1.cpp, D01DUnit1.dfm ir D01DUnit1.h failuose. Vykdant programą reikia neužmiršti, kad joje nėra apsaugos nuo klaidingų duomenų įvedimo. T.y. įvedami skaičiai turi tenkinti C++ kalbos realiųjų skaičių sintaksės reikalavimus. Be to, dalyba iš nulio yra negalima. Programos tekstas // D01DUnit1.cpp #include <vcl.h> #pragma hdrstop #include "D01DUnit1.h" - #pragma package (smart_init ) #pragma resource "*.dfm" 30

31 TForm1 *Form1; - fastcall TForm1 :: TForm1 (TComponent* Owner) : TForm(Owner) { - void fastcall TForm1 :: FormActivate (TObject *Sender) { Edit1->SetFocus(); - void fastcall TForm1 :: Button1Click (TObject *Sender) { Close(); - void fastcall TForm1 :: Button2Click (TObject *Sender) { Edit1->Clear(); Edit2->Clear(); Label1->Caption = "?"; StaticText1->Caption = ""; - void fastcall TForm1 :: Button3Click (TObject *Sender) { Label1->Caption = "+"; rez = StrToFloat(Edit1->Text) + StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); - void fastcall TForm1 :: Button4Click (TObject *Sender) { Label1->Caption = "-"; rez = StrToFloat(Edit1->Text) - StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF (rez,fffixed,8,2); - void fastcall TForm1 :: Button5Click (TObject *Sender) { Label1->Caption = "/"; rez = StrToFloat(Edit1->Text) / StrToFloat(Edit2->Text); 31

32 StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); - void fastcall TForm1 :: Button6Click(TObject *Sender) { Label1->Caption = "*"; rez = StrToFloat(Edit1->Text) * StrToFloat(Edit2->Text); StaticText1->Caption = FloatToStrF(rez,ffFixed,8,2); - 4 pavyzdžio programos darbo langas 32

33 Literatūra 1. C++ Builder labaratoriniai darbai < 33

JAVA pagrindai Lek. Liudas Drejeris

JAVA pagrindai Lek. Liudas Drejeris JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*

More information

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5] Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas

More information

Elektroninis.lt šakninių sertifikatų diegimas

Elektroninis.lt šakninių sertifikatų diegimas Elektroninis.lt šakninių sertifikatų diegimas Ši instrukcija aprašo, kaip į kompiuterį įdiegti šakninius elektroninis.lt sertifikatus. Diegimo darbus galima atlikti turint kompiuterio administratoriaus

More information

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius

More information

Parengė ITMM Artūras Šakalys 1

Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti

More information

HTML dokumentai. Praktinės užduotys

HTML dokumentai. Praktinės užduotys HTML dokumentai Praktinės užduotys 1. DzSoft PHP Editor šablonai Pakeiskite HTML šabloną į: ... Programos

More information

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS Sąlygos sakiniai PHP skriptų vykdymo eigą galite valdyti naudodami sąlygos sakinius. Sąlygos sakiniai tai loginės struktūros, kuriose saugomas kodas, įvykdomas įgyvendinus

More information

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės

More information

El. pašto konfigūravimas

El. pašto konfigūravimas El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio

More information

C programavimo kalba. 5 paskaita (Funkcijos, masyvai)

C programavimo kalba. 5 paskaita (Funkcijos, masyvai) C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i

More information

Amadeus On-Line Helpdesk

Amadeus On-Line Helpdesk Amadeus On-Line Helpdesk Vartotojo instrukcija Skirta kelionių agentūroms Turinys Įžanga... 3 Jungimasis prie Amadeus Helpdesk... 3 Patarimai ir pastabos... 7 Dokumento valdymas 2007 Apsauga Viešas Įmon

More information

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017 Gijos Gijų modelis Javoje R.Vaicekauskas, OP, 2017 1 Turinys Motyvacija Sukūrimas Valdymas Sinchronizacija Susijusios klasės 2 Motyvacija Gijos reikalingos tam, kad išreikšti lygiagretumą vieno proceso

More information

Come to the TypeScript

Come to the TypeScript Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo

More information

2-3 PASKAITOS. Paprasčiausia programa:

2-3 PASKAITOS. Paprasčiausia programa: 2-3 PASKAITOS Turinys: Paprasčiausios programos pavyzdys. Darbas su programavimo terpėmis. Duomenys. Duomenų tipai ir charakteristikos. Paprasčiausia įvestis/išvestis. Paprasčiausia programa: /* Pirmoji

More information

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis

More information

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos

More information

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai ios Projektas.h failai Header failai (interface).m failai Pačios programos failai (.xib /.storyboard Vartotojo sąsajos failai AppDelegate.h / AppDelegate.m aplikacijos pradiniai startavimo prpograminiai

More information

Paprastų lentelių kūrimas

Paprastų lentelių kūrimas HTML lentelės Lentelės Informacijos pateikimas HTML-dokumentuose lentelių pagalba yra vienas iš dažniausiai naudojamų. HTML kalboje lentelės yra naudojamos ne tik tradiciškai, kaip duomenų pateikimo metodas,

More information

INŽINERINIŲ SISTEMŲ MODELIAVIMAS VISUAL BASIC APLINKOJE

INŽINERINIŲ SISTEMŲ MODELIAVIMAS VISUAL BASIC APLINKOJE ALEKSANDRO STULGINSKIO UNIVERSITETAS Žemės ūkio inžinerijos fakultetas Algirdas Raila, Egidijus Zvicevičius INŽINERINIŲ SISTEMŲ MODELIAVIMAS VISUAL BASIC APLINKOJE Mokomoji knyga AKADEMIJA, 2012 2 UDK

More information

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur

More information

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale

More information

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Paveikslėliai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Klasė Image Priklauso paketui java.awt Abstrakti klasė paveldėta iš Object Tai visų grafinių paveikslėlių

More information

Uždavinių sprendimas MATLAB aplinkoje

Uždavinių sprendimas MATLAB aplinkoje Operacijų tyrimas. Įvadas. Laboratoriniai darbai 1 Uždavinių sprimas MATLAB aplinkoje Matlab tai interaktyvi sistema, skirta atlikti inžinerinius bei mokslinius skaičiavimus. Sistemos aplinkoje galima

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba I/O biblioteka (2 paskaita) I/O operatoriai Išvedimo > #include using namespace std; void main() { float A = 18.236; cout

More information

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai Pavyzdys A 2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai int konvertuojamas(int skaic, int id); char konvertuojamas2(int dal);

More information

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere ĮVADAS The Java programming language was introduced in 1995 by Sun Microsystems which has since merged into Oracle Corporation. Derived from languages such as C and C++. Pradžioje Java buvo skirta programuoti

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius

More information

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo)

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) DUOMENŲ STRUKTŪROS IR ALGORITMAI Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) Rūšiavimo veiksmas Kasdieniniame gyvenime mes dažnai rūšiuojame: Failus kataloguose Katalogus lokaliame diske Kasdienines

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Šablonai (10 paskaita) Kodėl šablonai (templates)? Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų tipais (pvz. modulio radimas,

More information

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinis darbas atliekamas keliais etapais: kūrybinio darbo temos (problemos / užduoties) pasirinkimas ir derinimas

More information

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -

More information

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė A.Kynienė С, C++ kalbų ABC Metodinė priemonė Vilnius 2004 TURINYS C KALBOS PRIVALUMAI...4 PROGRAMAVIMO PROCESAS...5 OPERACIJOS...6 PAPRASTOS PROGRAMOS STRUKTŪRA...8 DUOMENŲ IR KINTAMŲJŲ TIPAI...9 SIMBOLINĖS

More information

PHP Lietuviškai. Turinys

PHP Lietuviškai. Turinys PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų

More information

Buferio perpildymo klaida Įvadas, techniniai klausimai

Buferio perpildymo klaida Įvadas, techniniai klausimai Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus

More information

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 ONSCREENKEYS 5 Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 PREKĖS APRAŠYMAS Šis intelektualus ekrane klaviatūra su virtualių pelės paspaudimu funkcijų ir kalbos galia leidžia greitai

More information

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Redis Ma as, greitas, galingas. Specialiai VilniusPHP Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas

More information

PAŽINTIS SU PROGRAMŲ LIETUVINIMU. Gintautas Grigas

PAŽINTIS SU PROGRAMŲ LIETUVINIMU. Gintautas Grigas PAŽINTIS SU PROGRAMŲ LIETUVINIMU Gintautas Grigas el. p. Gintautas.Grigas@mii.vu.lt Programos vertimas į kitą kalbą ir jos pritaikymas tos kalbos aplinkai vadinamas lokalizavimu. Atskiras lokalizavimo

More information

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI

More information

T u r b o P a s k a l i s 7.0

T u r b o P a s k a l i s 7.0 Vilniaus universitetas Matematikos ir informatikos fakultetas Programų sistemų katedra I N F O R M A T I K A T u r b o P a s k a l i s 7.0 Doc. V. Undzėno paskaitų konspektai (skaitoma Fizikos fakulteto

More information

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis T8 Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis 1 Kintamasis, kurio tipas nurodomas žodžiu char, skirtas simboliui saugoti. var a, b : char; Su

More information

Programavimas C kalba

Programavimas C kalba Programavimas C kalba Mokomoji priemonė Elektronikos specialybės studentams Vytautas Vyšniauskas 2008.01.28 09:26 Šiaulių Universitetas, 2007 Turinys Įvadas... 4 1 Simbolių kodavimas ir ASCII kodų lentelė...

More information

WWW aplikacijų saugumas 2

WWW aplikacijų saugumas 2 WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

Paveikslėlių sąrašas

Paveikslėlių sąrašas TURINYS 1 1. Elektroninis paštas...3 1.1. Įvadas...3 1.2. Bendrieji principai...3 1.3. Microsoft Outlook Express programą...5 1.3.1. Darbo lango elementai...6 1.3.2. Elektroninio pašto laišku išsiuntimas

More information

PK architektūra. Microsoft Windows 98 aplinka. I.Bendrosios žinios apie personalinius kompiuterius

PK architektūra. Microsoft Windows 98 aplinka. I.Bendrosios žinios apie personalinius kompiuterius PK architektūra Microsoft Windows 98 aplinka I.Bendrosios žinios apie personalinius kompiuterius Asmeninių kompiuterių tipai Staliniai (desktop). Susideda iš kelių atskirų dalių, lengvai telpa ant stalo.

More information

2006 m. valstybinio brandos egzamino užduotis

2006 m. valstybinio brandos egzamino užduotis LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS 2006 m. valstybinio brandos egzamino užduotis 2006 m. gegužės 26 d. Egzamino trukmė 3 val. Testas 1 val. 25 min (85 min.)

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Rodyklė this, C++ string klasė (9 paskaita) Rodyklėthis Visos objekto funkcijos gali naudotis rodykle this, kuri rodo į patį objektą. Tokiu būdu kiekviena funkcija gali rasti objekto,

More information

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais.

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais. 1 P u s l a p i s HTML dokumentai HTML kalba HTML yra kalba, naudojama tinklalapių aprašymui. HTML kilo iš HyperText Markup Language. HTML nėra programavimo kalba, ji yra žymėjimo kalba. Žymėjimo kalba

More information

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams V I L N I A U S U N I V E R S I T E T AS M A T E M A T I K O S I R I N F O R M A T I K O S F A K U L T E T A S P R O G R A M Ų S I S T E M Ų K A T E D R A K R I S T I N A L A P I N Programavimas C I dalis

More information

Užduotys mokiniams tema Programavimas mobiliesiems įrenginiams. 1 dalis

Užduotys mokiniams tema Programavimas mobiliesiems įrenginiams. 1 dalis Projektas,,Pedagogų kvalifikacijos tobulinimo ir perkvalifikavimo sistemos plėtra (III etapas), Nr. VP1-2.2-ŠMM-02-V-01-010 Projekto vykdytojas Ugdymo plėtotės centras Stažuotės vieta UAB DEVBRIDGE LT

More information

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2009 50 Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas Tatjana Jevsikova Matematikos ir informatikos instituto doktorantė Institute

More information

C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ

C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ LIETUVOS EDUKOLOGIJOS UNIVERSITETAS GAMTOS, MATEMATIKOS IR TECHNOLOGIJŲ FAKULTETAS INFORMATIKOS KATEDRA Arvydas Putna C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ Magistro baigiamasis darbas Darbo

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Klasės, klasių savybės, vardų erdvės (3 paskaita) OOP Struktūrinio programavimo modelio problema: Didelės programos tampa labai sudėtingos t.y. egzistuoja tūkstančiai kintamųjų ir

More information

2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija

2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija 1 iš 24 LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS Kandidato (-ës) darbo vietos þymë 2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija Egzamino trukmë

More information

Informacijos apsaugos standartai serija

Informacijos apsaugos standartai serija Informacijos apsaugos standartai 27000 serija Pareng : Marius Celskis www.isec.lt 2007 m. balandis 12 d. ISO 27000 serija 2 iš 9 Tarptautin standartizacijos organizacija ISO informacijos apsaugos standartizavimui

More information

Objektiškai Orientuotas Programavimas su C++

Objektiškai Orientuotas Programavimas su C++ Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektiškai Orientuotas Programavimas su C++ paskaitų konspektai pavasaris 2005 Turinys Pratarmė...

More information

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant.

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant. 8. SQL sakiniai taikomosiose programose SQL gali bti vartojama dviem režimais: interaktyviai taikomosiose programose Dvilypumo privalumai: interaktyvaus režimo prieinamos ir programose; SQL derinamas interaktyviai

More information

Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U

Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U Vilnius 1998 Ši knyga yra programavimo pradžiamokslis. Aprašomos pagrindins Paskalio kalbos konstrukcijas bei j bei j panaudojimas algoritmams

More information

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object Masyvai Javoje Masyvai. Objektų talpyklos (Arrays, collections) Dinamiškai sukuriami java objektai iš anksto apibr žtam komponenčių skaičiui saugoti. Komponent s g.b. primityvaus tipo arba nuorodos tipo

More information

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę:

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę: XML DTD paskirtis DTD (angl. Document Type Definition) paskirtis nusakyti, iš kokių blokų gali būti sudarytas XML (o taip pat ir HTML) dokumentas. Taigi DTD apibrėžia dokumento struktūrą išvardindama leistinus

More information

Išplė&mas. Esamo funkcionalumo papildymas naujomis galimybėmis

Išplė&mas. Esamo funkcionalumo papildymas naujomis galimybėmis Išplė&mas Esamo funkcionalumo papildymas naujomis galimybėmis Kam to reikia? Realizuoti naujus įtaisytuosius (built- in) objektų tipus Iškviesti C bibliotekų funkcijas ir sisteminius kvietimus Ko reikia?

More information

VERSLO KLIENTŲ APTARNAVIMAS TEL

VERSLO KLIENTŲ APTARNAVIMAS TEL paslaugos Virtualus biuras valdymas ir naudojimas VERSLO KLIENTŲ APTARNAVIMAS TEL. 1816 Skambučio kaina tel. 1816 TEO tinkle 0,16 Lt/min., sujungimo mokestis 0,12 Lt; iš Omnitel, Bitė Lietuva ir Tele2

More information

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

More information

Interneto technologijų taikymai

Interneto technologijų taikymai Interneto technologijų taikymai Mantas Puida (mantasp@gmail.com) VI paskaita Entity pirminis raktas Kiekviena Entity klasė privalo turėti pirminį raktą (Primary Key). Jei turima Entity objektų hierarchija,

More information

Web servisai WSDL. Osvaldas Grigas

Web servisai WSDL. Osvaldas Grigas Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Standartinė šablonų biblioteka (STL) Duomenų struktūros (11paskaita) Šablonai Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų

More information

VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ

VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ MICROSOFT OPERACINIŲ SISTEMŲ SĄSAJŲ LYGINAMOJI ANALIZĖ Magistro baigiamasis darbas Darbo vadovai

More information

2. Pakopiniai stiliai

2. Pakopiniai stiliai 1 2. Pakopiniai stiliai 2.1. Pakopiniai stiliai (CSS) Pakopinius stilius (Cascading Style Sheets; CSS) kaip ir HTML sukūrė bei kontroliuoja Pasaulinis hipertekstinės informacijos tinklo konsorciumas (World

More information

Web technologijos. Hostingas JavaScript PHP

Web technologijos. Hostingas JavaScript PHP jquery & PHP Web technologijos Hostingas JavaScript PHP Kelios hostingo kompanijos serveriai.lt hostex.lt hostinger.lt Nemokamas hostingas su PHP/mysql http://mindaugas.zz.mu/jm1.html Hostingo paslaugų

More information

Objektinis programavimas su C++ naudojant Qt 4

Objektinis programavimas su C++ naudojant Qt 4 Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektinis programavimas su C++ naudojant Qt 4 mokomoji priemon ruduo 2007 Turinys Pratarm...5 Literatūra...7

More information

Išdėstymai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Išdėstymai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Išdėstymai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Išdėstymo valdymas Java kalboje komponentų išdėstymą valdo programos kodas, o ne resursai (kaip kitose

More information

II SEKCIJA. Duomenų bazės ir modeliai

II SEKCIJA. Duomenų bazės ir modeliai II SEKCIJA Duomenų bazės ir modeliai VEIKLOS TAISYKLIŲ SAUGYKLA, INTEGRUOTA SU VEIKLOS TAISYKLIŲ IŠKVIETIMO MECHANIZMU 1 Rimantas Butleris, Liudas Motiejūnas Kauno technologijos universitetas Straipsnyje

More information

double *pdouble1, *pdouble2, *pdouble3, double4;

double *pdouble1, *pdouble2, *pdouble3, double4; 11. RODYKLĖS Rodyklė (angl. pointer) kintamasis, saugantis kito konkretaus tipo kintamojo adresą. Rodyklės taikomos: - Netiesioginei prieičiai prie kintamojo - Prieičiai prie masyvo elementų - Argumentų

More information

Vilniaus universitetas

Vilniaus universitetas PROGRAMAVIMO KALBŲ TEORINIAI PAGRINDAI Mokymo priemon bakalauro studijų programos Matematikos ir informatikos mokymas studentams Valentina Dagien Gintautas Grigas Vilniaus universitetas Matematikos ir

More information

1. AJAX įvadas. AJAX principai:

1. AJAX įvadas. AJAX principai: 1. AJAX įvadas AJAX principai: Naršyklė talpina programą (application), ne turinį. Serveris siunčia duomenis ne turinį. Asinchroniškumas - asinchroninio request/response siuntimo pagrindinis principas

More information

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository Step-by step guide for MRU students to uploading Master s Thesis to elaba repository www.elaba.lt Log in the repository Go to www.elaba.lt Select Submit to repository Select your institutional affiliation

More information

Tautvydas Dagys Microsoft Lietuva

Tautvydas Dagys Microsoft Lietuva Tautvydas Dagys Microsoft Lietuva Programos akademinėms institucijoms ir studentams Studentų partnerių programa Akademinės institucijoms Studentams MSDN AA Tai efektyvus būdas aprūpinti savo laboratorijas/klases

More information

Programavimo stilius ir programų internacionalizavimo mokymas

Programavimo stilius ir programų internacionalizavimo mokymas LMD2010midm_dag_gri 2010/10/23 19:12 page 1 #1 Lietuvos matematikos rinkinys. LMD darbai ISSN 0132-2818 Volume 51, 2010, pages 1 14 www.mii.lt/lmr/ Programavimo stilius ir programų internacionalizavimo

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS

KAUNO TECHNOLOGIJOS UNIVERSITETAS KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS VALDIKLIŲ PROGRAMAVIMAS STANDARTO IEC 61131-3 KALBOMIS Referatas Atliko: Kęstutis Valinčius Kaunas 2011 Turinys 1 Įvadas... 3 2 Struktūriniai elementai...

More information

INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO SISTEMA

INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO SISTEMA ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Denas Pavlavičius Informatikos specialybės II kurso dieninio skyriaus studentas INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO

More information

Trumpai-ilga istorija

Trumpai-ilga istorija Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,

More information

Užduotys mokiniams tema Programavimas mobiliesiems įrenginiams. 1 dalis

Užduotys mokiniams tema Programavimas mobiliesiems įrenginiams. 1 dalis Projektas,,Pedagogų kvalifikacijos tobulinimo ir perkvalifikavimo sistemos plėtra (III etapas), Nr. VP1-2.2-ŠMM-02-V-01-010 Projekto vykdytojas Ugdymo plėtotės centras Stažuotės vieta UAB DEVBRIDGE LT

More information

Asta Čitavičienė LIBRARY

Asta Čitavičienė LIBRARY elaba REPOSITORY USER GUIDE FOR A STUDENT Asta Čitavičienė LIBRARY 2016-09-10 Login Go to elaba website at www.elaba.lt Select a reference Deposit to elaba Login 1. 2. Select your institution: Kauno technologijos

More information

WVGA :9 None. This is the only supported resolution for Windows Phone OS 7.1.

WVGA :9 None. This is the only supported resolution for Windows Phone OS 7.1. Windows Phone Palaikomi ekranai Resolution Resolution Aspect ratio Delta from Windows Phone OS 7.1 Scaled resolution WVGA 480 800 15:9 None. This is the only supported resolution for Windows Phone OS 7.1.

More information

4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas

4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas 4 SKYRIUS Programuojamieji loginiai valdikliai Įvadas Programuojamieji loginiai valdikliai tai esminis pramonės automatizavimo veiksnys. Juos naudojant galima lanksčiai prisitaikyti prie besikeičiančių

More information

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA KTU INFORMATIKOS FAKULTETAS HENRIKAS SINICKAS KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA MAGISTRO DARBAS Darbo vadovas doc. dr. Ojaras Purvinis KAUNAS 2004 TURINYS 2 1. ĮVADAS... 3

More information

I. FFDATA STRUKTŪROS APRAŠYMAS

I. FFDATA STRUKTŪROS APRAŠYMAS PATVIRTINTA Valstybinio socialinio draudimo fondo valdybos prie Socialinės apsaugos ir darbo ministerijos direktoriaus 2010 m. birželio 4 d. Nr. V-243 (Valstybinio socialinio draudimo fondo valdybos prie

More information

PROJEKTAS BRANDOS EGZAMINŲ KOKYBĖS SISTEMOS PLĖTRA. Pavardë. Mokykla

PROJEKTAS BRANDOS EGZAMINŲ KOKYBĖS SISTEMOS PLĖTRA. Pavardë. Mokykla EUROPOS SĄJUNGA Europos socialinis fondas Lietuvos Respublikos Švietimo ir mokslo ministerija PROJEKTAS BRANDOS EGZAMINŲ KOKYBĖS SISTEMOS PLĖTRA Vardas Pavardë Mokykla Pilotinë uþduotis Trukmė 3 val. Testas

More information

Duomenų vietisumo užtikrinimas

Duomenų vietisumo užtikrinimas Duomenų vietisumo užtikrinimas Reikalavimai duomenų vientisumui Duomenų vientisumas siejamas su informacijos, esančios DB-je, teisingumu ir išsamumu. RDBVS užtikrina šiuos reikalavimus: Reikšmių būtinumas

More information

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas KOMPIUTERIŲ TINKLAI 5 paskaita Tinklo lygmuo, IP protokolas Lokalus tinklas (kartojimas) Lokalaus tinklo technologijos: Kokius žinote prieigos prie terpės metodus? Kas yra Ethernet, kokie jo skiriamieji

More information

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių

More information

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį

More information

Parengė ITMM Artūras Šakalys

Parengė ITMM Artūras Šakalys 29 pamoka (Kodo narstymas - hakingas) For ciklas Užduotys. Supraskite pateiktą uždavinį ir kodą (FreePascal) ir perrašykite jį C++ kalboje. Uždavinį renkamės pagal sėdimos prie kompiuterio vietos numerį.

More information

Įdiegus TVS, turintys programavimo pagrindus, gali ir patys nesunkiai šį tą pakoreguoti.

Įdiegus TVS, turintys programavimo pagrindus, gali ir patys nesunkiai šį tą pakoreguoti. Turinio valdymo sistemų apžvalga Turinio valdymo sistemos www svetainėms Turinio valdymo sistemos (TVS) (angl.: CMS Content Management System) padeda paskirstyti svetainės priežiūros darbus, automatiškai

More information

Trigeris, realizuojantis dalykin taisykl darbuotojas negali dalyvauti daugiau nei 3 projektuose : trigerio kamienas - vienas ar keli SQL sakiniai,

Trigeris, realizuojantis dalykin taisykl darbuotojas negali dalyvauti daugiau nei 3 projektuose : trigerio kamienas - vienas ar keli SQL sakiniai, 7.5. Dalykins taisykls ir trigeriai 7.5.1. Dalykini taisykli užtikrinimas Duomen vientisumas yra tampriai susijs su vidine konkreios organizacijos darbo tvarka ir galiojaniomis joje taisyklmis, pvz.: darbuotojas

More information

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė ŽILVINAS VAIRA Programinės įrangos kūrimo technologijos Mokomoji priemonė Projektas Socialinių mokslų kolegijos vykdomų studijų programų internacionalizacija kuriant atvirą aukštąją mokyklą užsienio šalių

More information

Principles of Computer Architecture Processors Lecture 1

Principles of Computer Architecture Processors Lecture 1 Principles of Computer Architecture Processors Lecture 1 prof.dr. Dalius Mažeika Dalius.Mazeika@vgtu.lt http://dma.vgtu.lt Room No. L424 Lectures and evaluation Scope of the course is 3 ECTS (80 hours)

More information

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),...

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),... 16. ŠABLONAI Šablonas (angl. template) lakoniškas mechanizmas užrašyti funkcijų ar klasių, besiskiriančių tik argumentų ar laukų formatais, šeimą. Pavyzdžiui, absoliutinis dydis C kalboje (joje nėra šablonų)

More information

2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija

2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija 1 iš 24 LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS Kandidato (-ës) darbo vietos þymë 2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija Egzamino trukmë

More information

C programos struktūra ir funkcijos

C programos struktūra ir funkcijos C programos struktūra ir funkcijos 1. C programą sudaro 1 arba daugiau failų (arba kompiliavimo vienetų). programa ::= { failas 1+ 2. C programos failas tai vienas paskui kitą einantys kintamųjų, funkcijų

More information

2008 m. valstybinio brandos egzamino užduotis

2008 m. valstybinio brandos egzamino užduotis LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS Mokinio (-ës) darbo vietos þymë Vardas, pavardë 2008 m. valstybinio brandos egzamino užduotis Pakartotinė sesija Egzamino

More information