🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.tcl
7 messages
7 total messages Started by Tomasz =?ISO-885 Wed, 07 Feb 2007 18:07
Maly problem ze string match
#390
Author: Tomasz =?ISO-885
Date: Wed, 07 Feb 2007 18:07
31 lines
1077 bytes
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


Re: Maly problem ze string match
#393
Author: Googie
Date: Wed, 07 Feb 2007 23:46
29 lines
925 bytes
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
Re: Maly problem ze string match
#391
Author: Tomasz =?ISO-885
Date: Thu, 08 Feb 2007 00:11
33 lines
876 bytes
 Witam,

 W po¶cie <eqdkv9$ev5$1@nemesis.news.tpi.pl>
 Googie <googie@nospam.0rg> m.in. napisa³(a)::

> 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.

Co¶ mi nie idzie, jakby¶ to napisa³ zak³adaj±c, ¿e ma to byæ bind
pub - !code pub_code? czyli

proc pub_code {nick host hand chan text} {
 ?????
return 0
}

--
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


Re: Maly problem ze string match
#392
Author: Tomasz =?ISO-885
Date: Thu, 08 Feb 2007 00:13
18 lines
608 bytes
 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


Re: Maly problem ze string match
#394
Author: <olo@nowar.pl>
Date: Thu, 08 Feb 2007 07:02
13 lines
522 bytes
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
Re: Maly problem ze string match
#395
Author: Tomasz =?ISO-885
Date: Thu, 08 Feb 2007 17:35
21 lines
675 bytes
 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?


--
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


Re: Maly problem ze string match
#396
Author: <olo@nowar.pl>
Date: Fri, 09 Feb 2007 05:57
21 lines
794 bytes
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
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