[SOLVED] Podliczanie wyrazów/znaków na bieżąco

Makropolecenia i programy współpracujące z OpenOffice tworzone w językach innych niż Basic
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

[SOLVED] Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

Witam serdecznie!

To mój pierwszy wpis na forum, dlatego zamieszczam go w tym dziale nie mając pewności, gdzie go umieścić.

Mam pytanie: czy istnieje możliwość zliczania wyrazów w OpenOffice (albo w NeoOffice) na bieżąco? Tak, aby program - przy użyciu np. jakiejś nakładki - pokazywał na bieżąco ilość wprowadzanych znaków w tekście? Dodam, że nie chodzi mi o podliczanie wyrazów z menu "Policz słowa" tylko właśnie o wyświetlającą się w trakcie pisania ilość wprowadzonych znaków.

Bardzo proszę o pomoc w tej sprawie... niby drobiazg, ale jest dla mnie dość istotny. Jeśli rozwiązanie istnieje i np. wiąże się z koniecznością instalacji jakiegoś pluginu, to bardzo bym prosił o wytłumaczenie jak to zrobić w sensie "wytłumaczenia łopatologicznego" ;)

Pozdrawiam!
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Możliwość jest, ale gotowego rozwiązania nie ma. Zgłoszenie takiej potrzeby figuruje od bardzo dawna: http://qa.openoffice.org/issues/show_bug.cgi?id=41454
Są też makra zliczające online pisane przez użytkowników: http://user.services.openoffice.org/en/ ... =7&t=22555. Nie wiem, na ile udane.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

Dziękuję za odpowiedź!

Próbowałem zastosować się do zaproponowanych tu rozwiązań, ale nie udało mi się... Jestem wciąż zbyt świeżym użytkownikiem tego oprogramowania... Może mógłby mi ktoś łopatologicznie wytłumaczyć, krok po kroku, jak zrobić to w systemie Mac OS? (Podstawowy Leopard).
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Krok po kroku:
  • pobieram http://www.mediafire.com/?sharekey=0537 ... b9a8902bda i zapisuję plik wc.py
  • wkładam go do kartoteki ~/.openoffice.org/3/user/Scripts/python (dotyczy Linuksa; w Mac-u ściezka będzie zapewne taka sama; w Windowsie %userprofile%\Applications Data\Openoffice.org\3 i dalej tak samo) a jeżeli nie ma podkartoteki python, to ją sobie tworzę
  • odpalam swriter
  • z menu: Narzędzia/Makro/Zarządzaj/Python/Moje makra
  • z wc.py wybieram i uruchamiam WordCount
Pojawia się małe ,,pływające'' okienko, w którym co pewien czas (chyba 5 s.) pokazuje się odświeżona statystyka słów w bieżącym dokumencie (także w postaci procentowej, o ile podałem normę do wypełnienia).

Testowałem na OOo 3.2, ale Python jest taki sam (tzn. 2.6.1) od wersji 3.0. Powodzenia.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

Udało się! Proste i wygodne - bardzo dziękuję za pomoc...:)

Niestety, to tylko połowiczne rozwiązanie mojego problemu. Ten programik zlicza tylko wyrazy, co może i jest przydatne, ale głównie chodzi mi o zliczanie znaków. Jest w tym trochę mojej winy: trzeba było zaznaczyć wyraźniej w tytule tematu, czego szukam.

A może uda się edytować ten programik tak, by podliczał właśnie liczbę znaków?
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Neuron pisze:A może uda się edytować ten programik tak, by podliczał właśnie liczbę znaków?
Da się.

Jest on dość porządnie zrobiony, bo działa i dla całego dokumentu, i dla zaznaczenia, i dla zespołu zaznaczeń.
Więc rozbudowa musi być ostrożna, żeby nie popsuć zamysłu.

Dla całego dokumentu: model API dokumentu ma właściwość WordCount (wiersz 85 makra) i analogiczną właściwość CharacterCount. Tę drugą trzeba by wbudować w makro, i wyprowadzić odpowiednie informacje do okna.

Z tym, że CharacterCount liczy wszystkie znaki, włączając interpunkcję i białe, ale nie licząc Enterów. Jest to ta sama funkcja, której wyniki widać w Plik/Właściwości, a także w pliku meta.xml wewnątrz dokumentu.

W przypadku, kiedy chodzi o bloki, autor skryptu oprogramował zliczanie samodzielnie, skanując zawartość zaznaczonych tekstów. To też się da rozszerzyć.

Last but not least -- licencja MIT, na której skrypt został wydany, dopuszcza takie modyfikacje.

W wolnej chwili mógłbym pomóc przy rozbudowie, ale na pewno nie dzisiaj. Powiedzmy: w tym tygodniu.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

W takim razie pozostaje tylko czekać, kiedy będzie miał Pan nieco czasu :) Nie ukrywam, że bardzo by mi się przydała taka opcja w Open Office. ZNACZNIE ułatwiłaby mi pracę.
Przeszukałem już sporo stron internetowych pod tym kątem a nawet zainstalowałem sobie AbiWord i IBM Lotus Symphony (notabene dość ładny, z możliwością prostego instalowania wtyczek i w języku polskim) ale nigdzie nie ma opcji "characters counter" :( Są oczywiście inne rozwiązania. Choćby Microsoft Word: zlicza wyrazy na bieżąco, ale są to wciąż wyrazy, nie znaki. Byłem nawet ciekaw, czy nie ma czegoś takiego w Pages, ale wątpię... Nie jestem w tym kłopocie osamotniony. Wszędzie czytam prośby, błagania i groźby na forum Opena w tej sprawie. Ktoś obiecuje piwo, ktoś siostrę wraz z inwentarzem, kto inny - wieczną sławę. Wszystko za rozwiązanie problemu.

Myślę, że jeśli stworzy Pan takie cudo, to po wrzuceniu go na stronę pluginów OpenOffice wraz z instrukcją zaleje Pana fala ogólnoświatowej wdzięczności... ze mną na czele :D .

Pozdrawiam serdecznie!
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Neuron pisze:Myślę, że jeśli stworzy Pan takie cudo[...]
Nie ,,stworzy cudo'', tylko zmodyfikuje gotowy skrypt na 200 wierszy kodu, wykorzystując gotowe komponenty.

Szkic zrobiłem podczas wolnej godzinki; nikt nie przyszedł na konsultacje. Przetestowałem pobieżnie na kilku własnych plikach i na jednym dużym (AndrewMacro), ale i tak może zawierać błędy; proszę zgłaszać. Albo poprawiać, bo licencja jest ta sama.

Wynik załączam w paczce zip; dla bezpieczeństwa załączniki z rozszerzeniami kodów źródłowych są na forum zablokowane.
Załączniki
wcmod.zip
Modyfikacja skryptu wc.py Andrew Browna rozszerzona o zliczanie znaków online
Pokazuje tytuł bieżącego dokumentu
(3 KiB) Pobrany 662 razy
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

Działa! Co mogę powiedzieć?! MISTRZOSTWO! :) Jestem maksymalnie wdzięczny za to cudo :):):) :!: :D

Jeszcze pytanie laika, nie znającego się na obsłudze makr: czy istnieje możliwość, by Pańskie makro otwierało się domyślnie, przy otwarciu każdego dokumentu? Czy trzeba wprowadzać je wyłącznie ręcznie?

Obecnie próbuję powstawiać przetworzone makro pod pozostałe edytory tekstu. Z NeoOffice nie powinno być problemu, co do pozostałych - popróbuję :) W każdym razie - rewelacja!
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Włączyć domyślnie: oczywiście da się. Warto by w tym celu ,,opakować'' w dodatek, zawierający np. przycisk włączający na listwie narzędziowej, lub wpis w menu. Ja osobiście nie cierpię tego typu dłubaniny programistycznej, więc raczej tego nie zrobię.

Druga, prostsza, możliwość, to przypisanie do skrótu klawiszowego.

Co do innych edytorów: makro jest napisane w Pythonie, i korzysta z API OpenOffice. Sądzę, że da się zastosować we wszystkich pochodnych (Neo, Star, Symphony) bez żadnych zmian.

Wątek przenoszę we właściwsze miejsce.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: [SOLVED] Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

Niestety, pojawił się drobny (?) problem.

Makro ma tendencję do zawieszania się. Jeśli tekst jest większy (powiedzmy powyżej 10 tys. znaków) i otwarty ponownie, to, po uruchomieniu makra, plażowa piłeczka, czyli - dla nieobeznanych z Mac OS - a'la windowsowa klepsydra - zdaje się kręcić w nieskończoność... Nie doczekałem jak na razie do końca - z reguły wymuszałem zamknięcie programu i tym samym odzyskiwanie dokumentu...

Zastanawiam się czy to kwestia sprzętu (korzystam z podstawowej wersji Macbooka zatem możliwości operacyjnych nie mam zbyt wielkich) czy też ten typ po prostu tak ma...
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: [SOLVED] Podliczanie wyrazów/znaków na bieżąco

Post autor: Jan_J »

Nie zaobserwowałem takiego zachowania, co wcale nie znaczy bym negował Twoje obserwacje. A jak się zachowuje oryginalna wersja?

Sam testowałem je na kilku różnych dokumentach z których największy był AndrewMacro.odt (693000 znaków; 98000 słów). nic się nie wiesza, także podczas modyfikacji, równoczesnej edycji kilku plików, otwierania/zamykania itd.

Używam OOo 3.2 z paczek OpenOffice.org dla Linuksa, na nieco już ,,wczorajszej'' maszynie: Pentium III 1GHz, 1.5 GB RAM, desktop XFCE.

PS. Zliczanie działa także na zaznaczeniu, z tym że zliczanie słów napisałem dla zaznaczeń trochę po macoszemu: bazując na długości stringów, więc z Enterami włącznie (bo spacje i taby i tak są liczone).
PS. W tytule okna pokazywana jest nazwa bieżącego dokumentu. Przydatne przy pracy w kilkoma tekstami.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Neuron
Posty: 7
Rejestracja: wt kwie 20, 2010 11:57 am

Re: [SOLVED] Podliczanie wyrazów/znaków na bieżąco

Post autor: Neuron »

To jednak chyba jakaś kwestia systemowa.
Odkryłem, że ma tendencję do zawieszania się w momencie, kiedy komputer wychodzi ze stanu uśpienia bądź z wygaszacza ekranu. Coś po prostu nie wyrabia... Jeśli coś jeszcze rozgryzę, oczywiście dam znać.

Programik - bomba, raz jeszcze dziękuję... Zamieściłeś go na głównej stronie dodatków Open Office? Może jakiś link? Ciekaw jestem tamtejszych komentarzy...
OpenOffice.org 3.2.0 PL + NeoOffice (wszystko na Maca)
Awatar użytkownika
quest-88
Posty: 1105
Rejestracja: ndz maja 24, 2009 8:12 pm
Lokalizacja: Zabrze
Kontakt:

Re: [SOLVED] Podliczanie wyrazów/znaków na bieżąco

Post autor: quest-88 »

Taka funkcja będzie w domyślnym wyposażeniu LibreOffice 3.4. :)

http://lodahl.blogspot.com/2011/03/macr ... ython.html
Standardowa diagnostyka rozwiązuje 90% problemów typu "wcześniej działało, ale już nie działa".
Przepis na LibreOffice
Uzyskałeś pomoc? Poinformuj innych o sprawdzonym rozwiązaniu i podziękuj. Dodaj [SOLVED] w tytule.
ODPOWIEDZ