[Megoldva] Sok hasonló Basic makróból paraméteres függvény
[Megoldva] Sok hasonló Basic makróból paraméteres függvény
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.
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) Letöltve 389 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.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Sok hasonló Basic makróból paraméteres függvény
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.
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: Sok hasonló Basic makróból paraméteres függvény
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.
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) Letöltve 342 alkalommal.
64 bites magyar LibreOffice 7.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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 -:
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.
Kód: Egész kijelölése
sub sum: tnr("∑"): end sub
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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) Letöltve 356 alkalommal.
-
- macros.txt
- Makrók
- (6.62 KiB) Letöltve 354 alkalommal.
64 bites magyar LibreOffice 7.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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) Letöltve 360 alkalommal.
64 bites magyar LibreOffice 7.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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) Letöltve 363 alkalommal.
64 bites magyar LibreOffice 7.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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...A szöveg nálam "Times New Roman", és sajnos nincs benne minden karakter ami kellene.
Kód: Egész kijelölése
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
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
Áthelyeztem.Köszi, most látom hogy át kellene tenni a "Testreszabás és kibővítés" kategóriába.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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.)
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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) Letöltve 357 alkalommal.
64 bites magyar LibreOffice 7.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
Célszerű azokkal csinálni mindent, vagy legalábbis majdnem mindent.mert nem stílusokkal csináltam
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
Ez attól is függ, hogy milyen programmal és milyen beállításokkal nyitod meg és nézed meg...A makró exportálás hibás: ANSI-ban menti, a speciális karakterekből ? lesz,
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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...
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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...
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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.
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.4.5 magyar Windows 10 Home-on, mind teljesen befrissítve, Ryzen 3 3100, 16 GB multi-bit ECC.
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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.
Az egyetlen karakter is String típusú a Basic-ben.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
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.
É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
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: [Megoldva] Sok hasonló Basic makróból paraméteres függvé
Tehárt a te kódod így módosul (legyen jelen az én függvényem is!):
Ezt már bátran exportálhatod!
A Calc megmondja neked a kódok értékét, ha a cellákban használod az
függvényt, ahol A1-be másolod be a karakteredet.
Kód: Egész kijelölése
args1(0).Name = "Symbols"
args1(0).Value = HighUchar(8592)
A Calc megmondja neked a kódok értékét, ha a cellákban használod az
Kód: Egész kijelölése
= UNICODE(A1)
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].