LibreOffice Makró Basic

Hasonló dokumentumok
Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Basic LibrOffice Calc

C# nyelvhez kapcsolódó programozási feladatok

2019/02/11 10:01 1/10 Logika

Algoritmizálási feladatok

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

A C# PROGRAMOZÁSI NYELV

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Elemi adatszerkezetek

Python nyelv. Helló Világ. Karakterkódolás. Interpreter. < Python

Szoftvertervezés és -fejlesztés I.

Informatika terméktervezőknek

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Programozás alapjai. 5. előadás

Egyszerű példaprogramok gyakorláshoz

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

A C# programozási nyelv alapjai

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

3 A C programozási nyelv szintaktikai egységei

MT Algoritmusok és V Algoritmusok és isual Basic programoz ás alapjai isual Basic programoz Algoritmus Muhammad Ibn Músza Al-Hvárizmi

Gyakorló feladatok Gyakorló feladatok

Java II. I A Java programozási nyelv alapelemei

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Mutatók és mutató-aritmetika C-ben március 19.

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

1. Alapok. #!/bin/bash

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

8. Mezőutasítások. Schulcz Róbert 8. Mezőutasítások. v

Programozási tételek feladatok

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Felvételi tematika INFORMATIKA

Javacript alapismeretek

Apple Swift kurzus 3. gyakorlat

BASH SCRIPT SHELL JEGYZETEK

Matematikai programok

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Webprogramozás szakkör

INFORMATIKA javítókulcs 2016

Programozás I. gyakorlat

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Készítette: Nagy Tibor István

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás alapjai. 2. előadás

Matematikai programok

Programozási Nyelvek: C++

az Excel for Windows programban

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Felhasználó által definiált adattípus

LibreOffice makrók. PCLinuxOS Magazine augusztus. Írta: zerocool

A PHP nyelv. 4. óra Az alkotóelemek 5. óra Vezérlési szerkezetek 6. óra Függvények. 8. óra Objektumok

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Occam 1. Készítette: Szabó Éva

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Szkriptnyelvek. 1. UNIX shell

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

6. BASH programozás I.

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Java II. I A Java programozási nyelv alapelemei

Tipp A Word makrók kimerítõ tárgyalását megtalálhatjuk az O Reilly gondozásában megjelent Writing Word Macros címû könyvben.

2016/11/29 11:13 1/6 Digitális átvitel

S z á m í t ó g é p e s a l a p i s m e r e t e k

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás I gyakorlat

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Python tanfolyam Python bevezető I. rész

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Raszteres elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

2017/01/27 08:59 1/6 Gettext Rendszer

MATLAB alapismeretek II.

Python bevezető foglalkozás Python bevezető foglalkozás

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programok értelmezése

Mintavételes szabályozás mikrovezérlő segítségével

Aritmetikai kifejezések lengyelformára hozása

Programozás I gyakorlat

Konzolalkalmazások gyors tesztelése

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

Bevezetés a programozásba I.

LEGO robotok. XII. rész

Programozás I gyakorlat

PASzSz. Dr. Kotsis Domokos

SEGÉDLET ADATKEZELÉS MS EXCEL-BEN. Tároljuk az adatokat Excel munkalapon. Megjegyzés: A feladatokat MS Office Excel ban oldottuk meg.

2018, Funkcionális programozás

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

VBA. Visual Basic for Applications

1. Alapok. Programozás II

Számítástechnika. A Számítástechnika c. tárgy beosztása 2018/2019/I. tanévben. Szervetlen és Analitikai Kémia Tanszék

Option Explicit Option Base 1

Átírás:

2017/01/12 13:05 1/11 LibreOffice Makró Basic < Basic LibreOffice LibreOffice Makró Basic Szerző: Sallai András Copyright Sallai András, 2013 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés Ehhez a fejezethez a programozás elmélet ismerete ajánlott. Indulás Új makró létrehozása: Indítsuk el egy LibreOfficet Indítsuk el például a Writert Mentsük el a dokumentumot Eszközök menü Makrók Makrók rendezése LibreOffice Basic Új A LibreOffice Basic szerkesztő betűmérete: Eszközök menü -> Beállítások -> Betűkészletek -> Méret Első Ha kattintottunk az Új gombra, akkor a Basic szerkesztő ablaka ugrik elénk, amelyben a következő kódot látjuk: REM ***** BASIC ***** SUB Main END SUB A REM -el kezdődő sor csak megjegyzés, amelyet a Basic értelmező nem vesz figyelembe. Az adott ablakban több makrót is írhatunk, mindegyiket a Sub Makrónév és kulcsszavak közzé írjuk. Ezek jelzik a makró elejét és végét. Az első név amit felkínál a szerkesztő a Main. Ezt természetesen átírhatjuk.

Last update: oktatas:programozás:basic:basic_libreoffice:makró_basic http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic 2014/12/06 01:52 A programírás során legalapvetőbb tevékenység a kiíratás. A következő példánkban ezt egy egyszerű párbeszédablakban fogjuk megtenni: Sub Main print "Helló Világ" A print utasítás egy kis párbeszédablakot dob fel, amely kiírja a paraméterként megadott értékeket, amely esetünkben egy Helló Világ nevű szöveg. Írjuk be a szerkesztőbe a Sub nyitó és záró részek közzé, majd futtassuk a makrót. A makró futtatását az F5 billentyűvel tehetjük meg. A makrószerkesztő mindig azt a makrót futtatja, amelyben a kurzor áll. Ha kurzor makrokon kívül áll, akkor feldob egy makróválasztó párbeszédablakot. Mint az fentebb láttuk megjegyzéseket tehetünk egy programkódba a REM kulcsszó segítségével. Ugyanerre használható az aposztróf (') karakter is. 'Megyjezés Sub Main 'Megjegyzés print "Helló Világ" REM Megjegyzés A Basic nem kis és nagybetűérzékeny. Kivitel Írjunk a Main makró után egy másik makrót, amelynek neve Tobb : Sub Tobb print "Helló Világ" print "BASIC nyelven programozok" Írjon most két print utasítást a makróba. Utána teszteljük az F5 billentyűvel. A print utasítás számok kiíratásához is használható: Sub Tobb print 35 Vegyük észre, hogy most nem tettük idézőjelbe. A számokat nem kötelező idézőjelbe tenni. Bekéréshez használt dobozzal is tudunk üzeneteket kiírni, ennek használatát később részletezzük. Sub Beker http://www.szit.hu/ Printed on 2017/01/12 13:05

2017/01/12 13:05 3/11 LibreOffice Makró Basic InputBox("Szám") Számítások Ha szeretnénk kiíratni egy számot, azt megtehetjük idézőjelek nélkül és idézőjelekkel is, mint azt fentebb láttuk. A számokkal műveleteket is végezhetünk. Ekkor a számokat nem tehetjük idézőjelek közzé, mert úgy szövegként (Sztring) lesznek értelmezve. A következő példában 3 és 5 szorzatára vagyunk kíváncsiak: Sub SzamitSzoroz print 3 * 5 Szorzás Sub SzamitOsszead print 3 + 5 Osztás: Sub Osztas print 3 / 5 Az eredmény: 0,6 A maradékot a mod operátorral kérhetjük: Sub Maradék print 3 mod 5 Eredménye: 3 Hatványozást a hiányjellel (^) karakterrel lehetséges: Sub Hatvany print 3 ^ 5 Eredménye: 243 Változóhasználat

Last update: oktatas:programozás:basic:basic_libreoffice:makró_basic http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic 2014/12/06 01:52 Csak használjuk Az adatokat néha szeretnénk a memóriában tárolni. A memóriahelynek adunk egy nevet, és ezek után változóként beszélünk róla. A változókat egyszerűen csak elkezdjük használni. Például az a nevű váltózóba a 3-as értéket szeretném eltárolni, akkor: a = 3 A változóknak lehet hosszabb neve is: szam = 3 Ha több számot szeretnénk eltárolni, például: szam1 = 3 szam2 = 5 A változónevek persze úgy a jók, ha beszédesek, azaz elárulják mit tárolunk bennük. A következő példában egy háromszög alapját és magasságát tároljuk el: alap = 30 magassag = 35 A változókkal ezek után műveleteket végezhetünk. Például: alap * magassag vagy: (alap * magassag)/2 Az ilyen számításokat kifejezésként szokás emlegetni. A kifejezés tulajdonképpen operandusok és operátorok felváltva. (Operandus például egy szám vagy egy változó, az operátor pedig egy művelet, mint szorzás, osztás, stb.) A szabály tehát egyszerű. Egy egyenlőség jel baloldalára írjuk a változónevet, jobboldalra a milyen értéket vegyen fel. Az egyenlőségjel jobboldalán persze állhat kifejezés is. Kifejezés például 3 * 5. Ha leírom: a = 3 * 5 Akkor az a változóban a 3 * 5 kifejezés értéke tárolódik. A kifejezésben változókkal: a = 3 b = 5 http://www.szit.hu/ Printed on 2017/01/12 13:05

2017/01/12 13:05 5/11 LibreOffice Makró Basic c = 3 * 5 A c változóban az a és b változók szorzata tárolódik. Írjunk programot, amely ezt ki is írja: Sub Valtozo a = 5 b = 7 c = a * b print c Deklarálás A deklarálás, azt jelenti, előre megmondjuk mit szeretnénk tárolni a változóban. Például egész számokat szeretnénk tárolni. Dim a As Integer Ha Integer típus használunk a legkisebb tárolható érték -32768, a legnagyob pedig 32767. Ha ezeknél kisebb vagy nagyobb számot írunk akkor végrehajtáskor túlcsordulási hibaüzenetet kapunk. Típus Tartomány Bytes Integer -32768 32767 2 bytes Long -2147483648 to 2147483647 4 bytes Single 1.401298 x 10E-45 3.402823 x 10E38 4 bytes Double 4.94065645841247 x 10E-324 1.79769313486232 x 10E308 Currency -922337203685477.5808 to +922337203685477.5807 Boolean true, false Date Day, Month, Year vagy the Hour, Minute, Second függvények értékei Object Objektumváltozó Variant Empty Null Variant változó (a definíció által megadott összes típust tartalmazhatja) A változó nincs inicializálva Nincs érvényes adat Nevesített állandó 8 bytes 8 bytes 64-bites Egyéb tudnivaló const MAX = 4

Last update: oktatas:programozás:basic:basic_libreoffice:makró_basic http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic 2014/12/06 01:52 Formázott kimenet Sub formazott a = 35.1234567 print format(a, "#.####") Sub formazott a = 35.123 print format(a, "0000.00000") Operátorok Aritmetikai műveletek + összeadás - kivonás * szorzás / osztás mod maradék Matematikai függvények Gyökvonás Sub Gyokvonas a = sqr(9) print a Ebben a nyelven a hatványozáshoz nem tartozik külön függvény, mivel mint az korábban tanultuk van hatványozó operátor: Sub Hatvanyozas a = 3^2 print a Sub szinusz a = sin(1 * pi / 180) print format(a, "#.####") http://www.szit.hu/ Printed on 2017/01/12 13:05

2017/01/12 13:05 7/11 LibreOffice Makró Basic Dátumkezelés Date - Az aktuális dátumot adja Time - Az aktuális időt adja Now - Az aktuális dátumot és időt adja egyszerre a = date print a Az a változó Date típus lesz. Az a változó lehet String típus is: Dim a As String Ekkor viszont lehet nem végezhetünk számításokat. Ha megadjuk milyen típus legyen ajánlott a Date típus: Sub Datum Dim a As Date a = date print a - 2 A program 2 nappal kevesebbet mutat. További információ: https://help.libreoffice.org/3.3/basic/date_and_time_functions Véletlen számok A programozásban gyakran szeretnénk véletlen számokat kapni. Erre az rnd függvény alkalmas. Sub Veletlen 'Véletlenszám generálása; 0 és 1 között kapok vel = rnd print vel Sub Veletlen2 '1-3 vel = int(rnd * 3) + 1 print vel 'A 10i kérésére Sub Lotto

Last update: oktatas:programozás:basic:basic_libreoffice:makró_basic http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic 2014/12/06 01:52 r1 = int(rnd * 90) + 1 r2 = int(rnd * 90) + 1 r3 = int(rnd * 90) + 1 r4 = int(rnd * 90) + 1 r5 = int(rnd * 90) + 1 dim str as string str = format(r1, "0.####") & " " str = str & format(r2, "0.####") & " " str = str & format(r3, "0.####") & " " str = str & format(r4, "0.####") & " " str = str & format(r5, "0.####") print str Bevitel A programozás harmadik elemi tevékenysége a bevitel, amikor adatokat kérünk a billentyűzetről. Ez megtehetjük az InputBox() függvény segítségével: Sub ErtekBe Dim a as double a = InputBox("Szám") b = a * 2 print b https://help.libreoffice.org/3.3/basic/inputbox_function_runtime/hu Szelekció if Sub Szelekcio a = 45 if a>70 then print "Nagyobb" End If Két ágú szelekció: Sub Szelekcio a = 45 http://www.szit.hu/ Printed on 2017/01/12 13:05

2017/01/12 13:05 9/11 LibreOffice Makró Basic if a>70 then print "Nagyobb" else print "Kisebb" End If Többágú szelekció: Sub Szelekcio a = 3 if a>5 then print "Nagyobb" elseif a=10 then print "Egyenlő" else print "Akkor kisebb" End If Sub Logikai a = 3 if a > and a < 10 then print "Egyjegyű pozitív" else print "Negatív, vagy nem egyjegyű pozitív" end if Iteráció for Sub Iteracio for i = 1 to 2 print "Meg van" next i while Sub Iteracio i= while(i<3) print i i = i + 1 wend

Last update: oktatas:programozás:basic:basic_libreoffice:makró_basic http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic 2014/12/06 01:52 Sztringkezelés Darabolás Dim str As String str = "joska:titok:nagy József" tomb = Split(str,":") print tomb() Tömbök Vektor '6 darab elem 0-tól 5-ig szomozva: Dim tomb(5) tomb() = 35 print tomb() Mátrix '6 darab elem 0-tól 5-ig szomozva: Dim tomb(2, 3) tomb() = 35 print tomb() Kezdőérték tomb = array("péter", "János", "Tibor") print tomb() Feladatok Sub Feladat067 print "Gyártó: Sallai András" & chr(13) & (((3^7)/27)*2)/sqr(10*(3^5)) Sub Feladat071 Dim r as double http://www.szit.hu/ Printed on 2017/01/12 13:05

2017/01/12 13:05 11/11 LibreOffice Makró Basic Dim h as double r = InputBox("Sugár") h = InputBox("Magasság") v = (1/3)*(r^2)*pi*h print "Térfogat: ", v Sub KockaPoker v1 = int(rnd * 6) + 1 v2 = int(rnd * 6) + 1 v3 = int(rnd * 6) + 1 v4 = int(rnd * 6) + 1 v5 = int(rnd * 6) + 1 print v1, v2, v3, v4, v5 Sub KockaPoker2 v1 = int(rnd * 6) + 1 v2 = int(rnd * 6) + 1 v3 = int(rnd * 6) + 1 v4 = int(rnd * 6) + 1 v5 = int(rnd * 6) + 1 a = v1 & " " & v2 & " " & v3 & " " & v4 & " " & v5 InputBox(a) Párbeszédablak 1. 2. 3. 4. 5. Eszközök Makrók Párbeszédablakok rendezése Új Megadjuk a nevet Ok Szerkesztés Megnyílik a Basic párbeszédablak-szerkesztő Vezérlőelemek eszköztár ha nem látszik 1. A vezérlőelemek melletti nyílra kattintunk From: http://www.szit.hu/ - SzitWiki Permanent link: http://www.szit.hu/doku.php?id=oktatas:programoz%c3%a1s:basic:basic_libreoffice:makr%c3%b3_basic Last update: 2014/12/06 01:52