[Megoldva] Sok hasonló Basic makróból paraméteres függvény

Makró készítés, parancsfájl írás és az API használata

[Megoldva] Sok hasonló Basic makróból paraméteres függvény

HozzászólásSzerző: x00 » 2020. december 18., péntek 15:49

A csatolt fájlban van egy csomó BASIC makró. Makrórögzítéssel készítettem 1-et, majd azt másoltam le és módosítottam. Basic-hez sajnos nem értek. Amennyiben megoldható, hogy 1 függvény csak 1 sor legyen, vagyis még a "sub név" és az "end sub" is ugyanabban a sorban legyen, akkor egy függvény módosításával kellene egy 2 paraméteres függvény, melynek megadom a fontot és hogy melyik karakter, és azt beszúrja a Writer dokumentumba: jelenleg fixen be van építve a függvénybe, nem paraméter. Kellene egy másik függvény, aminek már csak a karakter a paramétere, és meghívja az előzőt, egy fix fonttal. Ezt többszörözve más fontra is csinálnék függvényt. Majd kellene egy olyan függvény, melynek nincs paramétere, és meghívja az előzőt, melynek 1 paramétere van. Csak ennek az 1 függvénynek kell 1 sorban lennie, ugyanis van vagy 100 ilyen, és a makrókat tartalmazó szövegfájlt szeretném lekicsinyíteni, átláthatóbbá tenni. Programozni tudok, de nem Basic-ben: C, C++, Pascal, x86 Assembly (16/32/64 bit, FPU, SEE). Köszönöm szépen a hozzáértők segítségét! A 2 paraméteressé alakítandó függvény:

sub left
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Symbols"
args1(0).Value = "←"
args1(1).Name = "FontName"
args1(1).Value = "Times New Roman"
dispatcher.executeDispatch(document, ".uno:InsertSymbol", "", 0, args1())
end sub

A meghívására is kérnék 1 példát.
Csatolmányok
macros.txt
Basic makrók
(77.48 KiB) 63 alkalommal.
A hozzászólást 1 alkalommal szerkesztették, utoljára x00 2020. december 18., péntek 17:48-kor.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: Sok hasonló Basic makróból paraméteres függvény

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 17:31

Egészen biztosan nem a StarBasic-kel van problémád, mert az végtelenül egyszerű dolog. Ami rajtam is kifogott elsőre (meg másodikra; meg még sokadikra is) az az AOO/LO API. Függvények ezreit kellene ismerni ahhoz, hogy hatékonyan használni lehessen. Leírás természetesen van (sok is), de az egyik fajta túl száraz, mert a függvények és eljárások mennyisége miatt csak a leglényegesebb információkat közli, ami a mezei programozók számára kevés sokszor. A másik fajta leírás meg parciális (csak egy-egy eljárást taglal, részletesebben).

API: Application Programming Interface.

Mindenképpen telepítsd fel valamelyik objektum vizsgáló alkalmazást: MRI vagy XrayTool. Ezekkel legalább ki tudod listázni, hogy egy-egy objektumnak milyen tulajdonságai és metódusai vannak.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Sok hasonló Basic makróból paraméteres függvény

HozzászólásSzerző: x00 » 2020. december 18., péntek 17:46

Köszi, de nem kell: túlbecsültem a teljesen idegen nyelvnek való utánanézés bonyolultságát. A Wikipédiába beírtam hogy Basic, ott nem volt leírva, de volt felsorolás a megvalósításokról: Visual Basic:

https://hu.wikipedia.org/wiki/Visual_Ba ... %C3%A9nyek

Itt le volt írva hogy lehet paraméteres függvényt írni és meghívni. Valójában a call nem kell (de kiírható), elég a függvény neve. Az end sub viszont külön sorban kell legyen, így marad 4 sor/függvény: 3 sor + 1 szünet. Csatolom a fájlt: 761 sor 2371 helyett: 1/3-as, 7 KB 78 KB helyett: 1/11-ede. 182 karakterbeszúró függvényt alakítottam át, hogy csak 1-szer van leírva hogy szúrja be, és csak meghívja azt.
Csatolmányok
macros1.txt
Rövidített makrók
(6.6 KiB) 55 alkalommal.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 18:29

A Visual Basic-et nem ismerem, de az Apache OpenOffice-be és a LibreOffice-be beépített StarBasic megengedi az alábbi megoldás használatát - ha már mindenképpen a kódsorok számának a csökkentése a cél -:

Kód: Egész kijelölése   KinyitásÖsszecsukás
sub sum: tnr("∑"): end sub

de ahogy te megvalósítottad végül, az sokkal átláthatóbb...


Azt viszont nem tartom jó megoldásnak,hogy a karaktereknek egyenként állítod be közvetlen formázással a tulajdonságait. Ez a dokumentum struktúrájának nem tesz jót. Célszerűbb nagyobb egységekben és Stílusokkal formázni.

Ha nem a formázás miatt, hanem azért azért használsz négyféle karakterkészleteket, mert az egyik, vagy a másik nem teljes az UNICODE karaktereket és szimbólumokat tekintve, akkor javaslom a DejaVu karaktercsalád használatát: mindegyik betűfajtája a lehető legteljesebb kódkészlettel bír.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 18., péntek 19:04

Billentyűkombinációkhoz van rendelve, hogy ha megnyomom, akkor beszúrja azt az 1 karaktert. Tudtommal csak rutint lehet hozzárendelni, nem kódot: 1 paraméteres rutin hívását, megadva a paraméterét is. De lehet hogy lehet úgy is, ekkor nem kell mindnek rutint létrehozni. Mivel csak 1 utasításból áll, sorminta, így nekem akkor átláthatóbb, ha látszik is rajta hogy mi a különbség a rutinok között. 204 sor lett így csak. Matematikai kifejezéseket írok be közvetlenül a Writer dokumentumba, nem a képletszerkesztőbe írom. Ha nem adnám meg a fontot, akkor a teljes szövegnek is DejaVu-nek kellene lennie, nem csak a képleteknek. A szöveg nálam "Times New Roman", és sajnos nincs benne minden karakter ami kellene. A cfg kiterjesztés nem engedélyezett, így a keycodes.cfg-t nem tudtam feltölteni.
Csatolmányok
keycodes.odt
Billentyűkódok
(21.56 KiB) 56 alkalommal.
macros.txt
Makrók
(6.62 KiB) 59 alkalommal.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 18., péntek 19:12

Tényleg nem lehet paramétert megadni billentyűkombinációhoz, csak a makró nevét. Writerben az Eszközök menü Testreszabás pontjában lehet a "Betöltés..." gombbal betölteni, előtte el kell menteni a régi beállításokat, és a makrókat is be kell vinni: Eszközök - Makrók - Makrók szerkesztése: régi kijelöl, vágólapra, jegyzettömbbe beillesztés, mentés, utána macros.txt vágólapon keresztüli beillesztése a LibreOffice-ba, mentés.
Csatolmányok
map.odt
Át kell nevezni keycodes.cfg-re
(4.03 KiB) 49 alkalommal.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 19:13

Amelyik fájltípus itt nincs engedélyezve, azt nevezd át .txt-re, vagy zip-eld be, és úgy töltsd fel. Csak írd oda, hogy hogyan értelmezzük.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 18., péntek 19:17

Köszi, most látom hogy át kellene tenni a "Testreszabás és kibővítés" kategóriába.
Csatolmányok
Default.odt
Át kell nevezni default.ott-re
(14.25 KiB) 56 alkalommal.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 19:27

A szöveg nálam "Times New Roman", és sajnos nincs benne minden karakter ami kellene.


Ezért mondom, hogy formázás nélkül szúrd be a makrókkal a karaktert, és karakterstílussal, vagy bekezdés stílussal formázd. Ekkor a szöveged lehet olyan fonttal írva, amilyennel akarsz írni, a képletek meg legyenek DejaVu karakterekkel formázva, de ne karakterenként, és ne közvetlenül...

Kód: Egész kijelölése   KinyitásÖsszecsukás
sub insert_a_char(sChar as string)

dim oDoc as object
dim oDispatcher as object

   oDoc = ThisComponent.CurrentController.Frame
   oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args2(0) as new com.sun.star.beans.PropertyValue
   args2(0).Name = "Symbols"
   args2(0).Value = sChar

   oDispatcher.executeDispatch(oDoc, ".uno:InsertSymbol", "", 0, args2())
end sub


Egyszerűen kihagytam a formázási parancsot az argumentumból. (Nálam már régen így működik, mert én főleg a valódi alsó-felső index karaktereknek a bevitelére használom a Calc-ban (A₀₁₂₃₄), mert azokat tovább lehet hivatkozni; nem úgy, mint a formázott alsó-felső indexeket, amiket hivatkozva egy másik cellában, azok a formázás nélkül fognak átmenni...)
Ezek az UNICODE alsó-felső index karakterek is benne vannak a DejaVu calád betűkészleteiben. Sajnos az UNICODE rendszer nem tartalmazza az összes angol betűt alsó-felső indexként megszerkesztve, de a legszükségesebbeket igen.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 19:37

Köszi, most látom hogy át kellene tenni a "Testreszabás és kibővítés" kategóriába.

Áthelyeztem.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 18., péntek 22:19

Egyébként erre a feladatra kiválóan alkalmas az Automatikus csere funkció is:
például a
*szum
szöveget ki lehet cseréltetni gépelés közben

karakterre. Ezt az Apache OpenOffice csak egész "szavak" esetében (szóköztől szóközig terjedő, vagy egyéb szóhatároló karakterek közötti szövegrész esetében), de a LibreOffice akár szó közepén lévő karaktersorozat esetében is meg tudja tenni - megfelelő kódolással.

(A csillag csak megkülönböztető jel, hogy az egyébként beírt szum(-ma, -átrai) karaktereket ne cserélje le.)
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 22., kedd 16:51

Köszi az ötletet. Kiderült hogy mostmár mind bennevan a Times New Roman-ban, így a te megoldásodra tértem át: formázás nélkül szúrom be mindet. A makró exportálás hibás: ANSI-ban menti, a speciális karakterekből ? lesz, és még nem is, csak adatvesztést okoz. Ide .bas-t nem lehet feltölteni, így .txt-re neveztem át. A meglevő fájljaim maradnak úgy: az egészet kijelölve lehetne Times New Roman-ra állítani, de akkor ez direkt formázás, bár megpróbálhatom. Ha meg leszedem a direkt formázást, akkor meg a dőlt, félkövér, aláhúzott, alsó/felső index is eltűnik, mert nem stílusokkal csináltam: csak a bekezdéseket csináltam stílusokkal, meg nyilván az oldalakat, mert az másképp nem is lehet.
Csatolmányok
macros.txt
Át kell nevezni macros.bas-ra
(6.52 KiB) 59 alkalommal.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 22., kedd 19:06

mert nem stílusokkal csináltam


Célszerű azokkal csinálni mindent, vagy legalábbis majdnem mindent.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 22., kedd 20:46

A makró exportálás hibás: ANSI-ban menti, a speciális karakterekből ? lesz,


Ez attól is függ, hogy milyen programmal és milyen beállításokkal nyitod meg és nézed meg...
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 22., kedd 20:53

Nekem a magas kódúakkal volt problémám ( vagy a 65536 fölötti, vagy a 128000 fölötti kódokkal - erre már nem emlékszem...), mert azokkal a Basic-be beépített CHR() függény se működik. Meg kellett hívnom a Calc-nak az UNICHAR() függvényét Basic-ből, hogy a karakterkódból karaktert csináljak.

Tipp:
Így viszont (hogy nem maguk a karakterek, hanem a karakterkódok szerepelnek a Basic programlistában) a programkód exportálása nem lehet probléma...
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 22., kedd 22:48

A LibreOffice-ban a makrók szerkesztésénél van a Fájl menüben "Basic exportálása", az a hibás: nem UTF-ben, hanem ANSI-ban menti, 1250-es kódlapban, így ? lesz szinte minden speciális karakter helyett. A Windows 10 jegyzettömbjével nyitottam meg. Amikor vágólapon keresztül másoltam jegyzettömbbe és kódolás megadásával mentettem el, azt megnyitva kiírja hogy UTF-8 és BOM. A LibreOffice által mentettnél meg hogy ANSI, és ?-ek vannak, szóval nem a jegyzettömb a hibás, hanem a LibreOffice: nem is szól hogy nem lehet úgy menteni, csak adatvesztést okoz. És be se lehet állítani a kódolást. Azt UTF-8 tud minden Unicode-ot, még a jelenleg nem létezőeket is: ami 32 bitbe befér.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 22., kedd 23:39

Aha, látom már:
A kódodat vágólapon keresztül beemeltem egy fájlnak a makrómoduljába és onnan exportáltam.
Valóban kérdőjelek és nem üres négyzetek vagy egyéb "szokásos" hiánypótló jelek jelennek meg a .bas fájlban.
Ez összefügghet azzal, amit fentebb írtam, és a megoldás is az lehet számodra:
Használd az CHR(karakter kódja) Basic parancsot a speciális karakter macskakörmök közötti beírása helyett, vagy
A fölső kódú karakterek esetében hívd meg az UNICHAR(karakter kódja) Calc függvényt. (A Calc függvényeket is meg lehet hívni Basic-ból, a megfelelő módon.)
Így a Basic kódodban nem lesz speciális karakter, csak azoknak a számokkal leírt kódjai. Ekkor probléma nélkül tudod majd exportálni, vagy importálni.

Vagy használj más módot a kód terjesztésére.

Jelentheted is a hibát a szokásos hibabejelentő oldalon. itt a fórumban én, mi nem sokat tudunk kezdeni azzal, hogy rábukkantál egy (talán már ismert de lehet, hogy még nem ismert) hibára.

De ha folyamatosan akarsz dolgozni a LibreOffice-szal, akkor jobb, ha valamelyik megkerülő megoldást választod, mert nem egy-két hónap alatt lesz javítva a hiba... ha egyáltalán...
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: x00 » 2020. december 23., szerda 0:06

Nekem jó így, hogy vágólapon keresztül jegyzettömbbe. A Basic-hez annyira nem értek, hogy még azt se tudom, hogy lehet megadni, hogy a paraméter nem szöveg, hanem csak 1 karakter. Persze kérdés, hogy ekkor működne-e a beszúrás a .odt fájlba, vagyis ide jó-e szöveg helyett karakter:

args1(0).Name = "Symbols"
args1(0).Value = "←"

Őszintén szólva, még azt se tudom, hogy Basic-ben van-e külön karakter és szöveg típus. C-ben van: '-ben karakter, "-ben szöveg. Ha van, akkor meg azt pláne nem tudom hogy lehet karakter típusú változóból 1 karakter hosszú szöveget csinálni. Ha jól értem, a CHR(szám) nem jó minden Unicode karakterhez. Ha jó, akkor úgy is lehetne, hogy a paraméter szám, és a beszúró függvényben alakítjuk karakterré. 16-os számrendszerbeli szám megadása szintén gőzöm sincs hogy. De nem is kell, jó így ahogy van, köszönöm a segítséget.
64 bites magyar LibreOffice 7.0.4 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
x00
Önkéntesek
 
Hozzászólások: 63
Csatlakozott: 2011. június 19., vasárnap 12:26

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 23., szerda 0:16

Nem TÍPUS-ról beszéltem, hanem a CHR(), illetve az UNICHAR() függvényről.

Az egyetlen karakter is String típusú a Basic-ben.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 23., szerda 0:21

Természetesen decimális alakban is megadhatod a kódot.

És elég az UNICHAR() függvényre megírni a programkódot.

Az alábbi függvény visszatérési értéke egy karakter, amit a bemenő karakterkód paraméter alapján ad vissza. Az átalakításhoz a Calc függvényét használja. A "functionaccess" mindig tömb argumentummal működik. Jelen esetben egy egy elemű tömböt kell argumentumként a Calcnak átadni.

Kód: Egész kijelölése   KinyitásÖsszecsukás
Function HighUchar(ChCode as long) as string
dim oFunctionaccess
dim arg as Variant
   oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )
   arg =array(ChCode)
HighUchar = oFunctionAccess.CallFunction("UNICHAR",arg)
End function
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé

HozzászólásSzerző: Zizi64 » 2020. december 23., szerda 0:25

Tehárt a te kódod így módosul (legyen jelen az én függvényem is!):

Kód: Egész kijelölése   KinyitásÖsszecsukás
args1(0).Name = "Symbols"
args1(0).Value = HighUchar(8592)


Ezt már bátran exportálhatod!

A Calc megmondja neked a kódok értékét, ha a cellákban használod az
Kód: Egész kijelölése   KinyitásÖsszecsukás
= UNICODE(A1)

függvényt, ahol A1-be másolod be a karakteredet.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: LO6.1.6-6.4.7;
winPenPack/PortableApps: LO3.3.1-7.1.1, AOO4.1.9
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3734
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest


Vissza: Testreszabás és kibővítés

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég