🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.tcl
15 messages
15 total messages Started by Googie Sun, 15 Oct 2006 20:16
Tcl Tutorial 6
#414
Author: Googie
Date: Sun, 15 Oct 2006 20:16
20 lines
1264 bytes
Witam,

Właśnie wysłałem na serwer świeżutki (jeszcze chrupiący) tutorial Tcl w
wersji 6.

Zmiany od wersji 5:

Poprawione różne błędy stylistyczne, oraz literówki.,
W operze już nie rozjeżdżają się numery linii,
Dział "mechanizm zdarzen" przeredagowany i zmieniony na "pętla
zdarzeń",
Popoprawiione <a> w stopce wszystkich stron,
Zmieniony sposób prezentacji dodatków w indeksie tutoriala,
Nowy dział: Wyrażenia regularne,
Nowy dział: przydatne narzędzia, linki, itp,
Nowy dodatek: bazy danych.

-- 
Pozdrawiam (Regards)!
Googie
Re: Tcl Tutorial 6
#415
Author: mk
Date: Mon, 16 Oct 2006 10:41
10 lines
1068 bytes
Googie napisał(a):
> Witam,
> 
> Właśnie wysłałem na serwer świeżutki (jeszcze chrupiący) tutorial Tcl w
> wersji 6.

Super, dzięki. Acha on-line jest nadal w wersji 5. Zip jest ok, w 6-tej.

pozdr.
mk
Re: Tcl Tutorial 6
#416
Author: Googie
Date: Mon, 16 Oct 2006 10:50
9 lines
1034 bytes
mk wrote:
> Super, dzięki. Acha on-line jest nadal w wersji 5. Zip jest ok, w 6-tej.

Jest w 6-tej. Albo przeglądarka Ci trzyma 5 wersję w cachu, albo jakiś 
squid po drodze.

-- 
Pozdrawiam! (Regards!)
Googie
Re: Tcl Tutorial 6
#417
Author: mk
Date: Mon, 16 Oct 2006 12:56
10 lines
1202 bytes
Googie napisał(a):
> mk wrote:
>> Super, dzięki. Acha on-line jest nadal w wersji 5. Zip jest ok, w 6-tej.
> 
> Jest w 6-tej. Albo przeglądarka Ci trzyma 5 wersję w cachu, albo jakiś 
> squid po drodze.
> 
faktycznie, sorki, to z pośpiechu.
pozdr.
mk
Re: Tcl Tutorial 6
#418
Author: Zbigniew B.
Date: Tue, 16 Jan 2007 15:58
38 lines
2511 bytes
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.
Re: Tcl Tutorial 6
#419
Author: Googie
Date: Wed, 17 Jan 2007 09:33
25 lines
1529 bytes
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
Re: Tcl Tutorial 6
#420
Author: Zbigniew B.
Date: Wed, 17 Jan 2007 13:48
30 lines
2123 bytes
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>
Re: Tcl Tutorial 6
#421
Author: Zbigniew B.
Date: Wed, 17 Jan 2007 16:34
19 lines
1483 bytes
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.
Re: Tcl Tutorial 6
#422
Author: Zbigniew B.
Date: Wed, 17 Jan 2007 17:09
5 lines
1072 bytes
OK, jak zwykle "man" - już mam... :]
-- 

Z.
Re: Tcl Tutorial 6
#423
Author: Zbigniew B.
Date: Wed, 24 Jan 2007 13:39
24 lines
1529 bytes
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.
Re: Tcl Tutorial 6
#424
Author: Googie
Date: Wed, 24 Jan 2007 13:52
10 lines
1111 bytes
Zbigniew B. wrote:
> Ostatni wiersz powinien chyba brzmieć:
> 
> puts "Zawartość pola edycji: [.pole get]"

Racja. Poprawię w następnej wersji.

-- 
Pozdrawiam! (Regards!)
Googie
Re: Tcl Tutorial 6
#425
Author: Zbigniew B.
Date: Wed, 24 Jan 2007 16:10
21 lines
1407 bytes
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.
Re: Tcl Tutorial 6
#426
Author: Mirosław Kosmala
Date: Thu, 25 Jan 2007 13:35
24 lines
1794 bytes
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
Re: Tcl Tutorial 6
#427
Author: Zbigniew B.
Date: Thu, 25 Jan 2007 15:23
34 lines
2402 bytes
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.
Re: Tcl Tutorial 6
#428
Author: Mirosław Kosmala
Date: Fri, 26 Jan 2007 07:21
13 lines
1546 bytes
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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads