Začínáme s ASP 10. díl: matematické funkce a barvy

Diskuze čtenářů k článku

asdf  |  28. 01. 2003 19:21

co dela String?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jaroslav Lhotak  |  23. 05. 2001 16:12

Dobry den,

jsem rad, ze me clanky se opravdu ctou. Ohledne optimalizace nemohu jak jinak nez souhlasit. Pouziti prikazu CASE by bylo jiste na miste. Ja zvolil ne prilis efektivni IF ... THEN, ale je to take cesta, ktera vede ke stejnemu vysledku. Vyvstava otazka rychlosti - zda-li pouziti IF... THEN namisto CASE opravdu tak zpomaluje skript

Diky za podnetne navrhy, v pristich pokracovanich se jiz takovymto neoptimalizovanych kodum vyhnu
J.Lhotak

Souhlasím  |  Nesouhlasím  |  Odpovědět
mEN  |  23. 05. 2001 16:30

mno, Case i If budou asi tak stejne rychle, ovsem vy jste asi zamerne prehledl, ze namiste by bylo pouzit While cyklus, anebo jste to neprehledl a mozna jste behem studia VBScriptu tak daleko.... ehm

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jaroslav Lhotak  |  24. 05. 2001 06:57

Nic jsem zamerne neprehledl, premyslel jsem jestli je vhodnejsi volit transparentni kod, ktery bude KAZDEMU ZACATECNIKOVI jasny, nebo slozitejsi, ktery by preferovali PROFESIONALOVE. Asi jste zapomnel na jeden maly, lec podstatny detail - tento serial neni urcen pro profesionaly (viz. nazev Zaciname ...). Budu velmi rad, kdyz se take zapojite do tymu redakce ZIVE a budete tak moci prezentovat sam sebe, nikoliv jen kritizovat praci ostatnich. S pozdravem J.Lhotak

Souhlasím  |  Nesouhlasím  |  Odpovědět
mEN  |  24. 05. 2001 14:33

ale no tak kritizovani neci prace by melo toho nekoho vybicovat k lepsim vykonum, nemyslite?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jaroslav Lhotak  |  24. 05. 2001 14:57

Ano do jiste miry souhlasim, nicmene vzdy zalezi na forme, ktera se zvoli. Beru si tedy z toho jakesi ponauceni  do budoucna. Mejte se krasne
S pozdravem J.Lhotak 

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomáš Kokoška  |  29. 05. 2001 08:46

Myslím, že ideální kód není ani použití WHILE ... LOOP, protože celý výpočet se dá řešit jediným řádkem a funkce CompleteRGB není vůbec nutná. Věřím, že taková varianta bude nejrychlejší. Tady je kód, kterým je možné funkci CompleteRGB buď úplně nahradit nebo aspoň vyplnit:

"#" & String(6 - Len(Hex(RGB(r, g, b))), 48) & Hex(RGB(r, g, b))

Vím, že to není pro začítečníka úplně průhledné, ale právě takové příklady jsou nejvíce inspirující (znám to na sobě).

Pozn. Funkce String má dva argumenty: počet znaků a ASCII kód opakovaného znaku. 48 je samozřejmě kód pro nulu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomas Banovec  |  23. 05. 2001 14:48

uz sa necudujem, preco je ZIVE take pomale, ked je tak neefektivne naprogramovane

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomas Banovec  |  23. 05. 2001 14:45

neviem, ale myslim, ze by to mohlo ist aj cez Select Case What 
case "r" 
                 ....
case "g"
                 ....
end select

aspon vo VB6 to funguje, takze by to malo ist aj v ASP - este som to neskusal  (i ked niektore veci nejdu ako napriklad Val(), ktory by mal previest retazec na cislo a ked retazec nie je cislo tak vyhodit 0 a nie nejaky debilny error, ktory vyhodi CLng()  ) 

Souhlasím  |  Nesouhlasím  |  Odpovědět
mEN  |  23. 05. 2001 11:25

ta vami uvadena funkce CompleteRGB je opravdu ukazka, jak naucit lidi neefektivne programovat. Sada podminek If .... then .... by v tomto pripade mela byt kdyz uz takhle blbe, tak aspon pres ElseIf, a kazdopadne, pokud ma funkce pridat leading zeros, a to na fixni pocet mist, tak bych to delal While Len(color) < x ... atd. Opravdu zasnu nad kvalitou clanku

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomáš Kokoška  |  23. 05. 2001 10:13

Autor v závěru uvádí dvě mylné informace:

1. Musel funkci CStr  použít - to není pravda, protože jak správně uvedl, tato funkce převádí hodnotu číselnou na řetězec. Výsledkem funkce Hex je ovšem vždy řetězec, není tedy nutné ho na řetězec převádět.  (Je to celkem samozřejmé, protože výraz "FF" může počítač těžko identifikovat jako číselnou hodnotu).

2. Metoda response.write  podporuje výlučně textové parametry - to je sice svým způsobem pravda, ovšem vzhledem k tomu, že všechny proměnné jsou definovány jako variant   (implicitně) - tzn. že mohou nabývat hodnot různých formátů - není to žádný problém.  Např. příkaz response.write(a)   se bez problému provede bez ohledu na to, zda má a   hodnotu 1, "něco jiného" nebo 27.12.2001 12:23:06.

 

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jan Viper  |  23. 05. 2001 09:19

9. dil.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jaroslav Lhotak  |  23. 05. 2001 09:34

Doslo zrejme k preklepu, lekce venovana retezcum byla rozdelena na dve casti, druha cast mela byt prave ta 9.

S pozdravem

J.Lhotak

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor