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

Makropolecenia i programy współpracujące z OpenOffice tworzone w językach innych niż Basic

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

Postprzez Neuron » Wt kwi 20, 2010 12:32 pm

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Cz kwi 22, 2010 1:25 pm

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 Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Pn kwi 26, 2010 3:42 pm

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Pn kwi 26, 2010 4:29 pm

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 Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Wt kwi 27, 2010 9:47 am

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Wt kwi 27, 2010 10:14 am

Neuron napisał(a):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 Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Wt kwi 27, 2010 1:48 pm

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Wt kwi 27, 2010 2:11 pm

Neuron napisał(a):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) Pobrane 344 razy
JJ
LO Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Wt kwi 27, 2010 2:22 pm

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Wt kwi 27, 2010 6:14 pm

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 Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Wt kwi 27, 2010 11:00 pm

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez Jan_J » Cz kwi 29, 2010 10:40 am

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 Still (6.2) ∙ AOO 4.1.7 ∙ Python (3.7|2.7) ∙ Unicode 12 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3989
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

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

Postprzez Neuron » Pt kwi 30, 2010 10:14 am

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)
Neuron
 
Posty: 7
Dołączył(a): Wt kwi 20, 2010 11:57 am

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

Postprzez quest-88 » Śr mar 16, 2011 1:22 am

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.
Avatar użytkownika
quest-88
 
Posty: 1105
Dołączył(a): N maja 24, 2009 8:12 pm
Lokalizacja: Zabrze


Powrót do Java, Python i inne

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości