<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 16:24.39
Title: Diakritika
Potreboval jsem ze jmen udelat emaily a pritom je zbavit diakritiky. Asi o
neni zadny zazrak, ale zda se mi to jako docela elegantni reseni. Je to
samozrejme vytrzeny z kontextu, ale verim, ze je to srozumitelny, tak treba
se to bude hodit.
Open "C:\1.txt" For Output As #1
c1 = "acdeeilnorstuuyz" (s diakritikou)
c2 = "acdeeilnorstuuyz" (bez)
While Not r.EOF
For a = 1 To Len(zdroj))
m = Mid(zdroj), a, 1)
For b = 1 To Len(c1)
b1 = Mid(c1, b, 1)
If m = b1 Then m = Mid(c2, b, 1)
Next b
em = em + m
Next a
Print #1, em
em = ""
Wend
Close
_________
Harvester
<=====================================8<=====================================>
Posted By: Xofon (==(O)==@@@@=@@@@===) on 'Koudink'
Date: Mon 9.5.2005 19:55.33
Title: Re: Diakritika
Zdravim,
ja tyhle moderni trendy v programovacich jazycich nesleduji, ale
to se tam fakt pise vic pravych zavorek nez levych?
For a = 1 To Len(zdroj))
m = Mid(zdroj), a, 1)
Nebo je cele "zdroj)" identifikator? To bych nechtel byt kompilator.
Wend
Xof
--
ebbs: /home/bbs/xofon/.signature: No such file or directory
<=====================================8<=====================================>
Posted By: queen (kolecko na dlani je cool) on 'Koudink'
Date: Mon 9.5.2005 21:40.09
Title: Re: Diakritika
Potreboval jsem ze jmen udelat emaily a pritom je zbavit diakritiky. Asi o
neni zadny zazrak, ale zda se mi to jako docela elegantni reseni.
To je super program. Programovat ses ucil sam?
Queen.
Je treba tematizovat.
<=====================================8<=====================================>
Posted By: DaveSil (Dum spiro, spero) on 'Koudink'
Date: Mon 9.5.2005 22:35.56
Title: Re: Diakritika
Potreboval jsem ze jmen udelat emaily a pritom je zbavit diakritiky. Asi o
neni zadny zazrak, ale zda se mi to jako docela elegantni reseni. Je to
samozrejme vytrzeny z kontextu, ale verim, ze je to srozumitelny, tak treba
se to bude hodit.
Open "C:\1.txt" For Output As #1
c1 = "acdeeilnorstuuyz" (s diakritikou)
c2 = "acdeeilnorstuuyz" (bez)
While Not r.EOF
For a = 1 To Len(zdroj))
m = Mid(zdroj), a, 1)
For b = 1 To Len(c1)
b1 = Mid(c1, b, 1)
If m = b1 Then m = Mid(c2, b, 1)
Next b
em = em + m
Next a
Print #1, em
em = ""
Wend
Close
******************
Visual Basic, fuuuuj ! :-)
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>', '<odpovidajici znaky
bez diakritiky>');
v PL/SQL na Oraclu :-))
Sorry za tak vyhraneny nazor na VB, ale zrovna jsem plny dojmu, kdy jsem
v tom musel napsat jedno makro do Excelu a znova jsem mel moznost si
potvrdit, proc tenhle jazyk tak nesnasim ...
-----------------------------------------------------
DaveSil (AKA Devetsil)
Treba je laska jak ponorna reka
jak Punkva, prudka a drava
co nikdy neceka na cloveka
brehy nenavisti okousava
<=====================================8<=====================================>
Posted By: Roumen (Roumen) on 'Koudink'
Date: Mon 9.5.2005 22:52.52
Title: Re: Diakritika
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>', '<odpovidajici
znaky bez diakritiky>');
v PL/SQL na Oraclu :-))
Ano...mam na to ulozenou funkci toASCII v baliku. ;-)
Nedavno jsem ji potreboval udelat v Jave a tam uz to tak hezky nejde. :-(
Roumen
For more information about me use:http://www.roumen.cz/
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 22:53.52
Title: Re: Diakritika
Dik za sarkazmus, ale proste mi to prislo docela dobry reseni. Dokazu si to
predstavit i sloziteji.
Potreboval jsem ze jmen udelat emaily a pritom je zbavit diakritiky. Asi o
neni zadny zazrak, ale zda se mi to jako docela elegantni reseni.
To je super program. Programovat ses ucil sam?
Queen.
Je treba tematizovat.
_________
Harvester
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 22:54.58
Title: Re: Diakritika
Ne, nahrazoval jsem slozitejsi zapis promenne jednodussi a proste jsem se
upsal.
Zdravim,
ja tyhle moderni trendy v programovacich jazycich nesleduji, ale
to se tam fakt pise vic pravych zavorek nez levych?
For a = 1 To Len(zdroj))
m = Mid(zdroj), a, 1)
Nebo je cele "zdroj)" identifikator? To bych nechtel byt kompilator.
Wend
Xof
--
ebbs: /home/bbs/xofon/.signature: No such file or directory
_________
Harvester
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 22:58.27
Title: Re: Diakritika
No, je to tak, ze je to v MS Access, cili proto VBA. V *nix nebo C** se
nepohybuju, takze neznam trendy.
IMHO - nerikam ze VB neni sracka, ale je mi ve spouste vecech sympaticky.
V tomto pripade ale nejde o moznost volby, ale o zvycich a moznostech firmy,
pro kterou delam. Sef ma vsechno MS.
Nerikam, ze je ten kus koudu zazrak, ale zbastlil jsem to za 30 minut, tak me
to docela potesilo, ze to funguje.
Potreboval jsem ze jmen udelat emaily a pritom je zbavit diakritiky. Asi o
neni zadny zazrak, ale zda se mi to jako docela elegantni reseni. Je to
samozrejme vytrzeny z kontextu, ale verim, ze je to srozumitelny, tak
treba
se to bude hodit.
Open "C:\1.txt" For Output As #1
c1 = "acdeeilnorstuuyz" (s diakritikou)
c2 = "acdeeilnorstuuyz" (bez)
While Not r.EOF
For a = 1 To Len(zdroj))
m = Mid(zdroj), a, 1)
For b = 1 To Len(c1)
b1 = Mid(c1, b, 1)
If m = b1 Then m = Mid(c2, b, 1)
Next b
em = em + m
Next a
Print #1, em
em = ""
Wend
Close
******************
Visual Basic, fuuuuj ! :-)
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>', '<odpovidajici
znaky
bez diakritiky>');
v PL/SQL na Oraclu :-))
Sorry za tak vyhraneny nazor na VB, ale zrovna jsem plny dojmu, kdy jsem
v tom musel napsat jedno makro do Excelu a znova jsem mel moznost si
potvrdit, proc tenhle jazyk tak nesnasim ...
-----------------------------------------------------
DaveSil (AKA Devetsil)
Treba je laska jak ponorna reka
jak Punkva, prudka a drava
co nikdy neceka na cloveka
brehy nenavisti okousava
_________
Harvester
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 23:01.57
Title: Re: Diakritika
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>', '<odpovidajici
znaky bez diakritiky>');
v PL/SQL na Oraclu :-))
Ano...mam na to ulozenou funkci toASCII v baliku. ;-)
Nedavno jsem ji potreboval udelat v Jave a tam uz to tak hezky nejde. :-(
Roumen
For more information about me use:http://www.roumen.cz//
Hezky. A ted si otevri MS Access a zkus to znova ;-)
_________
Harvester
<=====================================8<=====================================>
Posted By: queen (kolecko na dlani je cool) on 'Koudink'
Date: Mon 9.5.2005 23:02.29
Title: Re: Diakritika
Dik za sarkazmus, ale proste mi to prislo docela dobry reseni.
To byla pochvala.
Queen.
Je treba tematizovat.
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 23:17.38
Title: Re: Diakritika
Dik za sarkazmus, ale proste mi to prislo docela dobry reseni.
To byla pochvala.
:-) No ja nevim, nejak mi to pripada ... malo pravdepodobny? :-)
No, ale dobra tedy.
Jen resume: Ccko neovladam,jsem odkojenej Basicem, tohle bylo pro Access do
prace,cili si clovek nevybere,jsem studiem strojar,IT jen vlastni silou.
Queen.
Je treba tematizovat.
_________
Harvester
<=====================================8<=====================================>
Posted By: Alfi (taky si v praci hrajete?) on 'Koudink'
Date: Mon 9.5.2005 23:22.14
Title: Re: Diakritika
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>', '<odpovidajici
znaky bez diakritiky>');
v PL/SQL na Oraclu :-))
Ano...mam na to ulozenou funkci toASCII v baliku. ;-)
Nedavno jsem ji potreboval udelat v Jave a tam uz to tak hezky nejde. :-(
Roumen
For more information about me use:http://www.roumen.cz/cz/
Hezky. A ted si otevri MS Access a zkus to znova ;-)
co ma access spolecneho s textovym souborem? :-)
Open "C:\1.txt" For Output As #1
neni nad "recode -f 1250..flat 1.txt" :-)
(a nebo prinejhorsim "cat 1.txt | tr 'escrzyaie' 'escrzuaie'" :-)
Harvester
Alfi
Na svete pouziva Windows zhruba 200 milionu uzivatelu...
To znamena, ze celych 5 miliard lidi si svuj operacni system jeste nevybralo :)
<=====================================8<=====================================>
Posted By: Roumen (Roumen) on 'Koudink'
Date: Mon 9.5.2005 23:23.05
Title: Re: Diakritika
Hezky. A ted si otevri MS Access a zkus to znova ;-)
Kdyz ja v Accessu neumim. ;-) Ale zkusim to...asi trosku neohrabane:
Open "C:\1.txt" For Output As #1
ASCIISize = 255;
c1 = "acdeeilnorstuuyz" (s diakritikou)
c2 = "acdeeilnorstuuyz" (bez)
For i = 1 To ASCIISize
charTab[i] = i
Next i
For i = 1 To Len(c1)
charTab[c1] = c2
Next i
While Not r.EOF
em = ""
For a = 1 To Len(zdroj)
em = em + charTab[Mid(zdroj, a, 1)]
Next a
Print #1, em
Wend
Close
Roumen
For more information about me use:http://www.roumen.cz/
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 23:24.42
Title: Re: Diakritika
Osobne znam par mnohem elegantnejsich reseni, namatkou:
result := translate (source, '<znaky s diakritikou>',
'<odpovidajici
znaky bez diakritiky>');
v PL/SQL na Oraclu :-))
Ano...mam na to ulozenou funkci toASCII v baliku. ;-)
Nedavno jsem ji potreboval udelat v Jave a tam uz to tak hezky nejde.
:-(
Roumen
For more information about me use:http://www.roumen.cz/n.cz/
Hezky. A ted si otevri MS Access a zkus to znova ;-)
co ma access spolecneho s textovym souborem? :-)
Zdrojova data a vystupni format :-)
_________
Harvester
<=====================================8<=====================================>
Posted By: Roumen (Roumen) on 'Koudink'
Date: Mon 9.5.2005 23:29.55
Title: Re: Diakritika
charTab[c1] = c2
Eh. ;-) Tady ma bejt neco jako
charTab[Mid(c1,i,1)] = Mid(c2,i,1)
Mid je evidentne mocny nastroj. B-) Nemaj tam na toho komara nejakej mensi
kanon? ;-)
Roumen
P.S. Nehnidej pichy, spis premejslej nad principem. :-) Ten puvodni kvadrat
byl hroznej...bez urazky...
For more information about me use:http://www.roumen.cz/
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 23:33.40
Title: Re: Diakritika
No, charTab asi neni implementovanym prikazem VBA, ale spis me nejak nastin
jeho funkci, protoze mi to asi nejak nezapaluje.
Hezky. A ted si otevri MS Access a zkus to znova ;-)
Kdyz ja v Accessu neumim. ;-) Ale zkusim to...asi trosku neohrabane:
Open "C:\1.txt" For Output As #1
ASCIISize = 255;
c1 = "acdeeilnorstuuyz" (s diakritikou)
c2 = "acdeeilnorstuuyz" (bez)
For i = 1 To ASCIISize
charTab[i] = i
Next i
For i = 1 To Len(c1)
charTab[c1] = c2
Next i
While Not r.EOF
em = ""
For a = 1 To Len(zdroj)
em = em + charTab[Mid(zdroj, a, 1)]
Next a
Print #1, em
Wend
Close
Roumen
For more information about me use:http://www.roumen.cz//
_________
Harvester
<=====================================8<=====================================>
Posted By: queen (kolecko na dlani je cool) on 'Koudink'
Date: Mon 9.5.2005 23:39.08
Title: Re: Diakritika
No, charTab asi neni implementovanym prikazem VBA, ale spis me nejak nastin
jeho funkci, protoze mi to asi nejak nezapaluje.
Mozna mas starou verzi VBA.
Queen.
Je treba tematizovat.
<=====================================8<=====================================>
Posted By: Roumen (Roumen) on 'Koudink'
Date: Mon 9.5.2005 23:41.05
Title: Re: Diakritika
No, charTab asi neni implementovanym prikazem VBA, ale spis me nejak nastin
jeho funkci, protoze mi to asi nejak nezapaluje.
No...chtel sem, aby to bylo pole. :-) Jeho funkce je takova, ze ti setri tu
vnitrni smycku, ktera je tam jako pest na oko. B-)
Roumen
For more information about me use:http://www.roumen.cz/
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Mon 9.5.2005 23:41.59
Title: Re: Diakritika
No, charTab asi neni implementovanym prikazem VBA, ale spis me nejak
nastin
jeho funkci, protoze mi to asi nejak nezapaluje.
No...chtel sem, aby to bylo pole. :-) Jeho funkce je takova, ze ti setri tu
vnitrni smycku, ktera je tam jako pest na oko. B-)
Roumen
No to jsem z toho pochopil,jen jaksi...jak se charTab pouziva?
man chartab
...
For more information about me use:http://www.roumen.cz//
_________
Harvester
<=====================================8<=====================================>
Posted By: Roumen (Roumen) on 'Koudink'
Date: Mon 9.5.2005 23:45.44
Title: Re: Diakritika
No to jsem z toho pochopil,jen jaksi...jak se charTab pouziva?
man chartab
Misto charTab tam mohlo byt treba qz. Je to nazev promenne. ;-) Pouziva se
tak, ze ukryva tabulku mapovani vsech znaku. Kdyz jako klic do ty tabulky
pouzijes znak, ktery hledas, bude ti odpovedi prelozeny znak.
Ted premejslim, jestli si ze me nedelas srandu. B-))
Roumen
For more information about me use:http://www.roumen.cz/
<=====================================8<=====================================>
Posted By: queen (kolecko na dlani je cool) on 'Koudink'
Date: Mon 9.5.2005 23:57.18
Title: Dalsi zabavne kusy kodu
Kdyz uz se tu vsichni tak spolecne smejeme, tohle psal pred nekolika lety muj
kolega:
if v24 = "a" then v27 = "a";
if v24 = "b" then v27 = "b";
if v24 = "c" then v27 = "c";
...
Kod to byl sice dlouhy, ale zcela prehledny!
Queen
Je treba tematizovat.
<=====================================8<=====================================>
Posted By: Harvester (12.110.110.204) on 'Koudink'
Date: Tue 10.5.2005 0:02.14
Title: Re: Diakritika
No to jsem z toho pochopil,jen jaksi...jak se charTab pouziva?
man chartab
Misto charTab tam mohlo byt treba qz. Je to nazev promenne. ;-) Pouziva se
tak, ze ukryva tabulku mapovani vsech znaku. Kdyz jako klic do ty tabulky
pouzijes znak, ktery hledas, bude ti odpovedi prelozeny znak.
Ted premejslim, jestli si ze me nedelas srandu. B-))
Ne :-) pripadalo mi to fakt jako nejaky sofistikovany prikaz :-))
Ja z Tebe ne, to Queen ze me :-) ale co.
Pole chapu, jen mi to nedoslo, ze je to promenna.
Ale stejne nechapu treba tohle:
For i = 1 To ASCIISize
charTab[i] = i
Next i
to mi IMHO da charTab[1] = 1, charTab[2] = 2 atd. ne?
Nebo ma ASCIISize samo o sobe funkci neco jako pouziti 255 znakove sady ve
funkci chr$(n)?
Roumen
For more information about me use:http://www.roumen.cz//
_________
Harvester
<=====================================8<=====================================>
Posted By: Alfi (taky si v praci hrajete?) on 'Koudink'
Date: Tue 10.5.2005 0:13.16
Title: Re: Dalsi zabavne kusy kodu
Kdyz uz se tu vsichni tak spolecne smejeme, tohle psal pred nekolika lety
muj
kolega:
if v24 = "a" then v27 = "a";
if v24 = "b" then v27 = "b";
if v24 = "c" then v27 = "c";
...
Kod to byl sice dlouhy, ale zcela prehledny!
Queen
Je treba tematizovat.
kdyz uz jste nacali ty "hlouposti" v kodu.. mi se stejne vzdycky libi tohle :)
b = a + b;
a = b - a;
b = b - a;
Alfi
Na svete pouziva Windows zhruba 200 milionu uzivatelu...
To znamena, ze celych 5 miliard lidi si svuj operacni system jeste nevybralo :)
<=====================================8<=====================================>
Posted By: DaveSil (Dum spiro, spero) on 'Koudink'
Date: Tue 10.5.2005 7:35.32
Title: Re: Diakritika
No to jsem z toho pochopil,jen jaksi...jak se charTab pouziva?
man chartab
Misto charTab tam mohlo byt treba qz. Je to nazev promenne. ;-) Pouziva se
tak, ze ukryva tabulku mapovani vsech znaku. Kdyz jako klic do ty tabulky
pouzijes znak, ktery hledas, bude ti odpovedi prelozeny znak.
Ted premejslim, jestli si ze me nedelas srandu. B-))
Ne :-) pripadalo mi to fakt jako nejaky sofistikovany prikaz :-))
Ja z Tebe ne, to Queen ze me :-) ale co.
Pole chapu, jen mi to nedoslo, ze je to promenna.
Ale stejne nechapu treba tohle:
For i = 1 To ASCIISize
charTab[i] = i
Next i
to mi IMHO da charTab[1] = 1, charTab[2] = 2 atd. ne?
Nebo ma ASCIISize samo o sobe funkci neco jako pouziti 255 znakove sady ve
funkci chr$(n)?
*****************
Mas pravdu, asi by tam melo byt charTab[i] = chr(i), ci jak se ta zatracena
funkce ve VBA jmenuje, protoze si nejsem tak uplne jisty, zda ASCII kod a
znak ve VBA jedno jsou (jako napriklad v C). Nicmene to je hnida, myslim, ze
Roumenovi slo o princip reseni - poskladat si znakovou sadu bez diakritiky
do pole a to pak pouzit k prekodovani textu.
-----------------------------------------------------
DaveSil (AKA Devetsil)
Treba je laska jak ponorna reka
jak Punkva, prudka a drava
co nikdy neceka na cloveka
brehy nenavisti okousava
<=====================================8<=====================================>
Posted By: vitas (make love not war) on 'Koudink'
Date: Tue 10.5.2005 8:40.46
Title: Re: Diakritika
(a nebo prinejhorsim "cat 1.txt | tr 'escrzyaie' 'escrzuaie'" :-)
... a cenu za zbytecne pouzity cat letos vyhrava ...
Alfi
vitas
@;;
|