From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: starkit, Thread, source, vfs
Dnia 28.10.2006 krys53 poczta.onet.pl <krys53 poczta.onet.pl> napisał/a:
> Stworzyłem sobie starpacka z dużej aplikacji napisanej w
> TCl (kilkaset plików w TCL, wiele dodatkowych bibliotek, itd).
A ja tak "z zupełnie innej beczki": czy upakowanie w takim starpacku daje
ochronę kodu źródłowego?
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
Dnia 15.10.2006 Googie <googie nospam.0rg> napisał/a:
> Właśnie wysłałem na serwer świeżutki (jeszcze chrupiący) tutorial Tcl w
> wersji 6.
No, ale... na _który_ serwer? ;) Może faktycznie bywalcom grupy nie trzeba
podawać adresu - ale ja, na ten przykład, nie znam go.
A skoro Kolega taki biegły, że aż tutoriale pisze, to może mógłby pomóc
w takiej kwestii:
Chcę zrobić taki mini-help, polegający na tym, że wskazanie myszą dowolnie
wybranegp menu (bez wybierania go; chodzi o samo "rozwinięcie" i "dotknięcie"
kursorem bez klikania), spowoduje napisanie w innym oknie tekstu typu "co to
jest, i do czego służy".
Problem polega na tym, że mimo usilnych poszukiwań nie widzę możliwości
"przedłużenia ścieżki" tak, aby "dotarła" aż do poszczególnych punktów menu,
tych dodawanych przez "add". Nie ma problemu z dodaniem takiego mini-helpu
do "korzenia" takiego menu - ale co z jego poszczególnymi punktami?
Grzebiąc wczoraj po Sieci znalazłem czyjś stary post, niestety, w wątku
(króciutkim zresztą) nie podano już nie to, że "gotowca", ale nawet
bliższych szczegółów. Jedyne informacje to to, że sprawę należałoby
rozwiązać przez "bind event <<MenuSelect>>" - no, i tu mam właśnie niejaką
zagwozdkę:
- jak wykorzystać ten <<MenuSelect>> ? Jak dodać moją własną procedurę
coś-gdzieś wyświetlającą do łańcucha tych, które zapewne już są do tego
eventu dowiązane?
- no, i jak w tej procedurze rozpoznać, co też zostało właśnie "dotknięte"
kursorem myszy, nie mając możliwości "przedłużenia ścieżki" bezpośrednio
do "menu entry"?
--
Z.
From: Googie <no spam.0rg>
Subject: Re: Tcl Tutorial 6
Zbigniew B. wrote:
> No, ale... na _który_ serwer? ;) Może faktycznie bywalcom grupy nie trzeba
> podawać adresu - ale ja, na ten przykład, nie znam go.
>
Heh, no racja :D Ale gafa.
Adres: http://scripts.one.pl/tcltut/
> A skoro Kolega taki biegły, że aż tutoriale pisze, to może mógłby pomóc
> w takiej kwestii:
[...]
Więc wygląda to tak (piszę z głowy, nie testowałem poniższego):
bind .menu <<MenuSelect>> "showHelp"
proc showHelp {} {
set selected [.menu entrycget active -label]
# tutaj cokolwiek chcesz - masz do dyspozycji
# tytul wybranej pozycji z menu w zmiennej selected
}
--
Pozdrawiam! (Regards!)
Googie
From: Googie <no spam.0rg>
Subject: Re: starkit, Thread, source, vfs
Zbigniew B. wrote:
> A ja tak "z zupełnie innej beczki": czy upakowanie w takim starpacku daje
> ochronę kodu źródłowego?
Nie. Tzn. dla kogoś kto nie zdaje sobie sprawy z tego że to może być w
ten sposób spakowane - zadziała. Ale ktokolwiek wypróbuje "sdx unwrap
aplikacja" otrzyma orginalny kod.
Takie "upakowywanie" w starpackach to tak na prawdę stworzenie pliku z
wirtualnym systemem plików (VFS) i przegraniem do niego aplikacji +
ewentualnie dołączenie pliku wykonywalnego, który ma tą aplikację
uruchamiać. To jest coś podobnego(!) do self-extracting-ZIP.
--
Pozdrawiam! (Regards!)
Googie
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
Dnia 17.01.2007 Googie <no spam.0rg> napisał/a:
> Więc wygląda to tak (piszę z głowy, nie testowałem poniższego):
>
> bind .menu <<MenuSelect>> "showHelp"
>
> proc showHelp {} {
> set selected [.menu entrycget active -label]
> # tutaj cokolwiek chcesz - masz do dyspozycji
> # tytul wybranej pozycji z menu w zmiennej selected
> }
Dzięki, to mnie faktycznie "naprowadza" - jest jednak jeszcze (mały chyba?)
problem, dla którego coś ciężko mi znaleźć rozwiązanie.
Otóż w powyższym on wykonuje - zgodnie z sensem "dowiązania" - procedurę
showHelp dla każdego przypadku "MenuSelect". Ale, żeby przejść do "menu
entry", najpierw trzeba je rozwinąć, klikając na widget; i on wtedy zgłasza
błąd, bo dla .menu nie ma ma ani operacji entrycget, ani też opcji -label.
Wstawiłbym tam if-a, który dopuszcza tego set-a (i resztę operacji
w procedurze showHelp) wyłącznie dla "menu entries" - ale jak rozróżnić, nad
czym teraz "prześlizguje się" kursor myszy - czy to jest "menu entry", czy
widget "menu", czy jeszcze coś-tam innego?
Chociaż dla if-a zasadniczo wystarczy mi informacja "akurat jestem nad .menu
entry".
--
Z>
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
OK, kierując się podpowiedzią z comp.lang.tcl zrobiłem to w końcu tak:
#v+
bind .menubar.help.menu <<MenuSelect>> {showHelp %W}
proc showHelp {w} {
if { [$w index active] != "none" && [$w index active] > 0 } {
set chosen [.menubar.help.menu entrycget active -label]
.statusBar.lab config -text $helptext($chosen)
} else {
.statusBar.lab config -text ""
}
}
#v-
Co to za zmienna "%W"? Czy jest gdzieś dostępne wyszczególnienie
i szczegółowy opis takich "wewnętrznych"(?) zmiennych?
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
OK, jak zwykle "man" - już mam... :]
--
Z.
From: "Krys" <krys53 poczta.onet.pl>
Subject: Re: starkit, Thread, source, vfs
Zbigniew B. napisa=B3(a):
> Dnia 28.10.2006 krys53 poczta.onet.pl <krys53 poczta.onet.pl> napisa=B3/a:
>
> > Stworzy=B3em sobie starpacka z du=BFej aplikacji napisanej w
> > TCl (kilkaset plik=F3w w TCL, wiele dodatkowych bibliotek, itd).
>
> A ja tak "z zupe=B3nie innej beczki": czy upakowanie w takim starpacku da=
je
> ochron=EA kodu =BCr=F3d=B3owego?
> --
>
> Z.
Nie daje. Je=B6li chcesz zabezpieczy=E6 kod, poczytaj o tclcompiler oraz
tbcload, te dwa narz=EAdzia w po=B3aczeniu pozwalaj=B1 odpowiednio
szyfrowa=E6 kod aplikacji i odczytwya=E6 go w skryptach.
Pozdrawiam
From: Googie <no spam.0rg>
Subject: Re: Cosik a'la CLS...
Zbigniew B. wrote:
> Pewnie źle szukam(?) - ale nie mogę jakoś doszukać się prostego polecenia w
> stylu: "usuń całość tekstu z okna, i cofnij kursor do pozycji `HOME', czyli
> do lewego górnego rogu" (chodzi, rzecz jasna, o okno, które wcześniej
> utworzyłem np. przez "text .ed" czy podobnie - i wypełniłem jakąś treścią,
> poleceniami w stylu: ".ed insert end xcxxxxx" itd.).
>
> Tk nie zna czegoś takiego?
Wystarczy po prostu usunąć wszystko i będziesz miał efekt taki jaki chcesz:
..ed delete 1.0 end
--
Pozdrawiam! (Regards!)
Googie
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Cosik a'la CLS...
Dnia 18.01.2007 Googie <no spam.0rg> napisał/a:
>> Pewnie źle szukam(?) - ale nie mogę jakoś doszukać się prostego polecenia w
>> stylu: "usuń całość tekstu z okna, i cofnij kursor do pozycji `HOME' [..]
> Wystarczy po prostu usunąć wszystko i będziesz miał efekt taki jaki chcesz:
>
> .ed delete 1.0 end
No, to faktycznie nie najlepiej szukałem.
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: "Defaultowe" bitmapy
Przeglądając man-a zauważyłem, że w niektórych przykładach używa się
jakichś, najwidoczniej domyślnie zawartych w pakiecie, obrazków typu
"bitmap" (np. "questhead"). Niestety, "image names" nie daje w odpowiedzi
żadnej listy nazw. :(
Czy jest ona gdzieś dostępna?
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: I =?iso-8859-2?Q?ma=B3y?= problem z "grid"-em...
I jeszcze taka mała zagwozdka:
Ustawiłem "na sztywno" zwymiarowane okno edycyjne .ed, i eksperymentuję
sobie z umieszczaniem tamże różnych ciekawych rzeczy. Zauważyłem, że jak
próbuję tam rozmieszczać cokolwiek używając polecenia "grid", to powoduje to
dopasowanie wymiarów okna .ed do "gabarytów" sumy tego wszystkiego, co
wpakuję do tej hipotetycznej "gridowej tabeli". Owszem, pożyteczna rzecz,
ale - kto wie - może nie zawsze będę sobie tego życzył?
Czy jest jakaś metoda, aby zabronić oknu .ed zmiany wymiarów? Konkretnie
w przypadku moich eksperymentów grid powoduje ściąganie jego wymiarów. A ja
chciałbym, żeby te elementy rozmieszczane poprzez "grid" były - dajmy na to
- wycentrowane wewnątrz okna .ed, i niech sobie pozostanie szeroki margines
otaczający samą "siatkę", nie przeszkadza.
--
Z.
From: Googie <no spam.0rg>
Subject: Re: "Defaultowe" bitmapy
Zbigniew B. wrote:
> Czy jest ona gdzieś dostępna?
http://www.tcl.tk/man/tcl8.4/TkLib/GetBitmap.htm
--
Pozdrawiam! (Regards!)
Googie
From: Googie <no spam.0rg>
Subject: Re: I =?ISO-8859-2?Q?ma=B3y_problem_z_=22grid=22-em=2E=2E=2E?=
Zbigniew B. wrote:
> Czy jest jakaś metoda
grid propagate .ed false
--
Pozdrawiam! (Regards!)
Googie
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: I =?iso-8859-2?Q?ma=B3y?= problem z "grid"-em...
Dnia 19.01.2007 Googie <no spam.0rg> napisał/a:
> grid propagate .ed false
Dzięki.
Sądzę, że może do tutoriala warto byłoby dodać coś w rodzaju FAQ-u, i wpisać
tam te głupie pytania, razem z odpowiedziami, rzecz jasna... ;)
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
Dnia 17.01.2007 Googie <no spam.0rg> napisał/a:
> Heh, no racja :D Ale gafa.
> Adres: http://scripts.one.pl/tcltut/
Odnoszę wrażenie, że jest drobny błąd - ale akurat w tutorialach każdy błąd
jest istotny z punktu widzenia docelowego odbiorcy, czyli osoby uczącej się:
http://scripts.one.pl/tcltut/tutorial/data/tk/widgets.html
"entry"
#v+
entry .pole -width 30
pack .pole
.pole insert end "Przykładowy wpis"
puts "Zawartość pola edycji: [.pole get 0 end]"
#v-
Ostatni wiersz powinien chyba brzmieć:
puts "Zawartość pola edycji: [.pole get]"
--
Z.
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
Dnia 24.01.2007 Googie <no spam.0rg> napisał/a:
>> Ostatni wiersz powinien chyba brzmieć:
>>
>> puts "Zawartość pola edycji: [.pole get]"
>
> Racja. Poprawię w następnej wersji.
I jeszcze jedno zauważyłem - akurat poniżej:
#v+
after 15000 {
puts "Tekst po edycji: [.tekst get 0.0 end]"
}
#v-
Powinno chyba być: [.tekst get 1.0 end]
Wprawdzie błędem nie sypie - ale, jeśli chodzi o ścisłość...
--
Z.
From: =?ISO-8859-2?Q?Miros=B3aw?= Kosmala <miroslaw.kosmala resko.pl>
Subject: Re: Tcl Tutorial 6
Zbigniew B. wrote:
>
> Dnia 24.01.2007 Googie <no spam.0rg> napisał/a:
>
>>> Ostatni wiersz powinien chyba brzmieć:
>>> puts "Zawartość pola edycji: [.pole get]"
>>
>> Racja. Poprawię w następnej wersji.
>
> I jeszcze jedno zauważyłem - akurat poniżej:
>
> puts "Tekst po edycji: [.tekst get 0.0 end]"
>
> Powinno chyba być: [.tekst get 1.0 end]
> Wprawdzie błędem nie sypie - ale, jeśli chodzi o ścisłość...
>
Ortógrafy i interpunkcyję też asanowi popraw. Albo jeszcze lepiej
zmobilizuj go do napisania skryptu, który będzie to robił automatycznie we
wszystkich widgetach text - przyda się nam wszystkim ;-))))
--
miroslaw.kosmala(Q)trilowcy.org
From: "Zbigniew B." <Zbigniew a.co.komu.do.tego>
Subject: Re: Tcl Tutorial 6
Dnia 25.01.2007 Mirosław Kosmala <miroslaw.kosmala resko.pl> napisał/a:
>>>> Ostatni wiersz powinien chyba brzmieć:
>>>> puts "Zawartość pola edycji: [.pole get]"
>>>
>>> Racja. Poprawię w następnej wersji.
>>
>> I jeszcze jedno zauważyłem - akurat poniżej:
>>
>> puts "Tekst po edycji: [.tekst get 0.0 end]"
>>
>> Powinno chyba być: [.tekst get 1.0 end]
>> Wprawdzie błędem nie sypie - ale, jeśli chodzi o ścisłość...
>>
>
> Ortógrafy i interpunkcyję też asanowi popraw. Albo jeszcze lepiej
> zmobilizuj go do napisania skryptu, który będzie to robił automatycznie we
> wszystkich widgetach text
Gdyby chodziło o materiały przeznaczone do nauki ortografii i/lub
interpunkcji - tak, w takim właśnie przypadku nie powinno się w nich
znajdować ani jednego błędu ortograficznego tudzież interpunkcyjnego.
Wydawałoby się, że dla każdego, kto chociaż czasami myśli, winno to być
zrozumiałe, ale... ale nie ma sprawy, w końcu zdaję sobie sprawę, że różni
tu piszą. ;)
> - przyda się nam wszystkim ;-))))
"Wszystkim"? Niekoniecznie - ja, na ten przykład, czegoś takiego nie
potrzebuję. A Pan Szanowny zdążył skończyć jakąś szkołę? I dalej z tą
ortografią... no cóż, i tak bywa.
--
Z.
From: =?ISO-8859-2?Q?Miros=B3aw?= Kosmala <miroslaw.kosmala resko.pl>
Subject: Re: Tcl Tutorial 6
Zbigniew B. wrote:
>
> "Wszystkim"? Niekoniecznie - ja, na ten przykład, czegoś takiego nie
> potrzebuję. A Pan Szanowny zdążył skończyć jakąś szkołę? I dalej z tą
> ortografią... no cóż, i tak bywa.
>
No tak - wiem, że to marne wytłumaczenie, ale same techniczne te moje
szkoły, same techniczne... ;-)
--
miroslaw.kosmala(Q)trilowcy.org
From: Tomasz =?ISO-8859-2?Q?Motyli=F1ski?= <motto77 wp.eu>
Subject: Maly problem ze string match
Witam,
Napisałem sobie tcl do egga i poniżej jej fragment
(...)
elseif {[string match *\x03* $text]} {
putserv "KICK $chan $nick :$nick, nie używaj kolorków proszę! \[\037\002old
school irc\002\037 by \002m0tTo\002\]"
} elseif {[string match *\x9F* $text] ||
[string match *\xA5* $text] ||
[string match *\xB9* $text] ||
[string match *\x8C* $text] ||
[string match *\x9C* $text] ||
[string match *\x8F* $text]} {
puthelp "PRIVMSG $chan :Uwaga! Windows :)"
putserv "KICK $chan $nick :$nick, Windowsowe CP1250 jest beznadziejne! Zmień
kodowanie polskich znaków lub ich nie używaj\[\037\002old school
irc\002\037 by \002m0tTo\002\]"}
(...)
Za kolorki daje kopniaka, za znaki w CP1250 już nie i nie mam pojęcia
dlaczego. Kody pl literek się zgadzają i wykonywane są kolejne elseif'y
więc przechodzi przez to (nie zgłasza żadnych błędów). Może mi ktoś pomóć?
--
Tomasz Motyliński
Linux jest dla leniwych, raz zainstalowany działa wiecznie
.... i do tego jaki ładny :) http://artbhp.pl/~motto/screens/mydesktop.jpg
http://debian.linux.pl/ - Polskie Forum Użytkowników Debiana
From: Googie <googie nospam.0rg>
Subject: Re: Maly problem ze string match
Tomasz Motyliński wrote:
> Za kolorki daje kopniaka, za znaki w CP1250 już nie i nie mam pojęcia
> dlaczego. Kody pl literek się zgadzają i wykonywane są kolejne
> elseif'y więc przechodzi przez to (nie zgłasza żadnych błędów). Może
> mi ktoś pomóć?
Nie jestem tego pewny, ale wydaje mi się, że to jest tak, że te kody
polskich znaków są brane z CP1250, a Tcl używa kodowania UTF-8, więc
tam kody tych znaków są inne.
Najlepiej zrób sobie małego debuga, wyświetlaj w konsoli eggdropa (np
dccbroadcast) coś takiego:
set output "$txt | hex:"
foreach c [split $txt ""] {
binary scan $c h* h
if {$::tcl_platform(byteOrder) == "littleEndian"} {
set h [string index $h 1][string index $h 0]
}
append output " $h"
}
dccbroadcast $output
To wyświetli Ci w konsoli bota teskt z kanału i zraz po nim kody hex
kolejnych znaków. W ten sposób wytestujesz jakich kodów używac.
--
Pozdrawiam (Regards)!
Googie
From: Tomasz =?ISO-8859-2?Q?Motyli=F1ski?= <motto77 wp.eu>
Subject: Re: Maly problem ze string match
Witam,
W poście <eqdkv9$ev5$1 nemesis.news.tpi.pl>
Googie <googie nospam.0rg> m.in. napisał(a)::
> To wyświetli Ci w konsoli bota teskt z kanału i zraz po nim kody hex
> kolejnych znaków. W ten sposób wytestujesz jakich kodów używac.
Zrobiłem coś innego kazałem mu literki o tym kodzie wyświetlić na kanale i
to były dokładnie te znaki w cp1250, ja widziałem krzaki mirc pl literki.
--
Tomasz Motyliński
Linux jest dla leniwych, raz zainstalowany działa wiecznie
.... i do tego jaki ładny :) http://artbhp.pl/~motto/screens/mydesktop.jpg
http://debian.linux.pl/ - Polskie Forum Użytkowników Debiana
From: <olo nowar.pl>
Subject: Re: Maly problem ze string match
Tomasz Motyliński <motto77 wp.eu> wrote:
> Zrobiłem coś innego kazałem mu literki o tym kodzie wyświetlić na kanale i
> to były dokładnie te znaki w cp1250, ja widziałem krzaki mirc pl literki.
Wczytany tekst z poziomu samego programu nie jest już kodowany
w cp1250, pomimo tego, że po ponownym wypluciu go ono powraca.
W związku z tym w kodzie programu używanie cp1250 nie ma sensu.
Może go mieć (sens), jeżeli wczytasz tekst binarnie.
A przeprowadzony przez Ciebie test niczego nie wykazał.
Serdecznie pozdrawiam
olo
From: <olo nowar.pl>
Subject: Re: Maly problem ze string match
Tomasz Motyliński <motto77 wp.eu> wrote:
> Witam,
>
> W poście <eqehv3$8mj$1 news.task.gda.pl>
> olo nowar.pl <olo nowar.pl> m.in. napisał(a)::
>
>> Wczytany tekst z poziomu samego programu nie jest już kodowany
>> w cp1250, pomimo tego, że po ponownym wypluciu go ono powraca.
>> W związku z tym w kodzie programu używanie cp1250 nie ma sensu.
>> Może go mieć (sens), jeżeli wczytasz tekst binarnie.
>
> Jeśli dobrze rozumiem, muszę znaleźć kod w UTF, który będzie odpowiadał
> literkom Ą,ą,Ś,ś,Ź,ź w CP1250?
>
Jeżeli się nie mylę, a nie jestem człowiekiem nieomylnym, to należy
tak zrobić. Chodzi oczywiście o UTF-8 (dla jasności). A żeby było
zupełnie prosto, sugeruje wszystko co przychodzi (każdy znak) zamie-
niać na liczbę dziesiętną i wyrzucać na konsole. Napewno zadziała :)
olo
From: Neas <neas neas.invalid>
Subject: ncurses
PrzeszukujÄ
c via google znalazĹem kilka podobnych pakietĂłw. I tu pytanie
-- czego najlepiej uĹźyÄ piszÄ
c aplikacjÄ w tclu wykorzystujÄ
cÄ
ncruses,
tak, Ĺźeby uĹźytkownicy nie musieli instalowaÄ jakichĹ egzotycznych moduĹĂłw?
--
http://www.insane.pl -- serwery wirtualne od 29 zĹ + VAT rocznie