InputBox jako Combi?

Użytkowanie arkusza kalkulacyjnego
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

InputBox jako Combi?

Post autor: krzys59 »

Witam
Czy da się zrobić z InputBoxa (w makrach) coś w stylu pola Combi?
Dokładniej chciałbym otwierać input i mieć możliwość wpisania danych ale równocześnie żeby mi wyświetlał listę do wyboru. Czyli coś jak pole Combi.
Mogę to zrobić przez dodatkowy Dialog z jednym polem Combi w którym będzie odniesienie do danych z formularza, to potrafię, ale może da się obejść Dialog i zrobić to za pomocą jakiegoś innego rozwiązania?
Krzysiek
Jan_J
Posty: 4579
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: InputBox jako Combi?

Post autor: Jan_J »

InputBox jest funkcją o ugruntowanej w tradycji nazwie, generującą skrajnie uproszczony dialog z jednym polem typu Text Entry. Combo Box jest innego typu kontrolką. Najprościej jest zdefiniować sobie bibliotekę, w której takie dialogi byłyby zadeklarowane pod łatwymi do zapamiętania nazwami.

Patrz trochę: moduł easygui napisany w Pythonie przez Stephena Ferga, by odciążyć użytkownika od konieczności pisania dialogów w Tk (albo innym środowisku okienkowym).
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: InputBox jako Combi?

Post autor: krzys59 »

Jan_J pisze:...... Najprościej jest zdefiniować sobie bibliotekę........
Dzięki za pomysł, poszukam, ale z tą biblioteką to przesadziłeś :D :D :D aż taki mądry to ja nie jestem :crazy:
Jan_J
Posty: 4579
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: InputBox jako Combi?

Post autor: Jan_J »

Dlaczego przesadziłeś?
Zamiast projektować dialog na potrzeby jednego dokumentu, projektujesz go raz, piszesz funkcję postaci np. function ComboInputBox(message, items) as string, umieszczasz to wszystko w konfiguracji OpenOffice'a (czyli w bibliotece właśnie) i zapominasz, jak ten dialog został zbudowany.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: InputBox jako Combi?

Post autor: krzys59 »

Nie wygląda to zbytnio skomplikowane. muszę pokombinować z tym.
Ale skoro tak, to rodzi mi się pytanie, czy tak przygotowany dialog i funkcje go wywołujące będą przenośne? Z komputera na komputer, w innych systemach, skoro umieszczam to w bibliotekach własnych?
Pomysł z easygui jest ciekawy, pakiet ma spore możliwości, z tym, że nie za bardzo potrafię do użyć w LO, a poza tym, czy dobrze rozumiem, że chcą go używać na innym komputerze też muszę mieć zainstalowanego pythona i ten pakiet? Jeśli tak, to takie rozwiązanie nie ułatwiłoby mi życia, wręcz odwrotnie. Napisanie dokumentu dla kogoś, ale z koniecznością instalowania dodatkowych pakietów raczej nie jest dobrym pomysłem. Wolę oprzeć się na czystym LO bez dodatkowych pakietów.
Jan_J
Posty: 4579
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: InputBox jako Combi?

Post autor: Jan_J »

Easygui podałem jako przykład dobrze zaprojektowanej biblioteki tego typu. Nie zalecałbym używać go w OpenOffice. Python jest, ale nie zawsze jest TkInter.
Przenośność kodu interpretowanego zawsze stwarza pewien problem. Albo mamy podczs interpretacji biblioteki, do których się odwołujemy (co wymaga wstępnych zabiegów), albo mnożymy kopie kodu ponad miarę przyzwoitości (tzw. makra w dokumentach).
Jeżeli dokumenty mają ograniczony zasięg (powiedzmy wewnętrzne dokumenty w firmie), to ja optuję za ustaleniem wzorcowej konfiguracji systemu, na którym mają pracować. Ale wiem, że istnieją inne opinie.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
krzys59
Posty: 78
Rejestracja: pt cze 19, 2009 2:59 pm

Re: InputBox jako Combi?

Post autor: krzys59 »

Jan_J pisze:Jeżeli dokumenty mają ograniczony zasięg (powiedzmy wewnętrzne dokumenty w firmie), to ja optuję za ustaleniem wzorcowej konfiguracji systemu, na którym mają pracować.
Problem u mnie jest taki, że są i Maci i PC z Windows od XP po 8, a w domu jak coś dłubię to robię to na linuxie, do tego dokumenty trafiają do ludzi z firmy i każdy ma coś innego u siebie, więc siłą rzeczy musi to być przenośne. To tak na marginesie :D
ODPOWIEDZ