Favicon Svetmobilne.cz  Svět mobilně Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie
Strana 3 z 3 PrvníPrvní 123
Zobrazené výsledky: 31 až 36 z 36

Téma: Programování v C#

  1. #31
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Ahoj,
    no jak bys to udělal v reálu - pokuď je číslo kladný, sečteš všechny cifry jako kladný, pokud záporný, tak první jako zápornou a další kladný. Takže nějakej if(něco) a .... chytrýmu napověz.... (řešit domácí úkol Ti tu nebudu, od toho to je, by ses to naučil :-)).
    Matyáš
    Odpovídat lze po přihlášení

  2. #32
    Nováček
    Registrace
    Mar 2008
    Příspěvků
    5

    Zdravím nenašel by se tady někdo na doučování C# v Plzni, prosím ozvěte se díky.
    Odpovídat lze po přihlášení



  3. #33
    Čestný člen Avatar uživatele P@pi
    Registrace
    May 2006
    Příspěvků
    1,688

    Zdravim s dalším dotazem,
    mám za úkol udělat vícevláknový downloader obrázků z webu. Stáhnu zdroják pomocí HttpWebRequest (tedy výsledek je String). Udělal jsem si normálně parser, ten hledá <img (na phpko a další "jiné" tagy kašlu), uloží je do Dictionary<String, String> (první hodnota je celá cesta, druhá je pouze soubor) nebo jenom normálně předám pomocí dvou parametrů String a pak je pomocí metody WebClient.DownloadFile(cesta, soubor) stáhnu. Pak jedu znova a hledám další img tag. Tak todle není vícevláknově, ale je to filozofie té mojí aplikace. Funguje to dobře.

    Problém však nastane po přechodu na více vláken. Podle zadání by se to asi mělo dělat jak je napsané výše, akorát se metoda DownloadFile zavolá pomocí jiného vlákna a parser jede dál. To mi funguje, ale problém je, že se nestáhnou všechny obrázky (jen některé a to ještě různě, někdy 10 obr., někdy 13 z 15 apod.). Asi prostě parser jede dál a pak to vlákno zinicializuje znova a ten nedotáhlý obrázek se nestáhne (moje úvaha). No tak jsem zkusil parser předělat do jiného vlákna a pomocí if a Thread.IsAlive a Thread.Sleep (x) to pozastavovat podle potřeby. Žel se mi to nepovedlo, nevím proč.

    Moje otázky zní:
    a, lze nějak přímo "oslovit" hlavní vlákno (tedy to, které defaultně běží bez nějakých dalších vláken a které startuje v main metodě)? Tedy abych nemusel deklarovat další vlákno a do toho zabalit to hlavní (=parser)? Potřebuji ho uspat. Samozřejmě to jde zabalit/vytvořit nové pro parser, ale zajímá mě to :-).

    b, Hlavní problém. Lze nějak dynamicky měnit počet vytvořených vláken? Tedy aby mi to pro každý obrázek vytvořilo nové vlákno bez toho, abych ho musel deklarovat? Příklad budu stahovat 5 obrázků, tak to vytvoří pět vláken, když 90, tak 90 vláken. Jinak je totiž musím natvrdo deklarovat a jestliže bych chtěl 1 obr = 1 vlákno, tak to nelze, protože nevím, kolik bude obr.

    c, jak na debugger ve Visual Studio 2005 a více vláken? Zdá se mi to nebo to tak nějak divně nelogicky přeskakuje mezi příkazy?

    Děkuji a omlouvám se za delší popis ;-). Strýček Google už mě zklamal, pošlete linky a ještě lépe nějakou radu, díky
    Odpovídat lze po přihlášení

  4. #34
    Občasný diskutér
    Registrace
    Aug 2007
    Příspěvků
    83

    mno jsem dispozici jestli neco potrebujes sidney muzes me napsat na majl....nebo pak muzem pres icq nebo se sam mrkni na www.luki.webzdarma.cz do sekce programovani ....je to sice takovej mutant mezi c/c++ ale je to docela hodne obstojny navic veci jsou si dost podobny a predevsim si myslim ze dnes na skolach se nevyucuje klasicky ccko ale spis c++ aspon jeho proceduralni cast
    Odpovídat lze po přihlášení

  5. #35
    Občasný diskutér Avatar uživatele Matajon
    Registrace
    May 2006
    Příspěvků
    131

    P@pi: spíš bych volil řešení nestahovat obrázky synchronně metodou WebClient.DownloadFile() ale asyncrhonně (prakticky v novém threadu) metodou WebClient.DownloadFileAsync().
    Odpovídat lze po přihlášení

  6. #36
    Čestný člen Avatar uživatele P@pi
    Registrace
    May 2006
    Příspěvků
    1,688

    Citace Původně odesláno od Matajon Zobrazit příspěvek
    P@pi: spíš bych volil řešení nestahovat obrázky synchronně metodou WebClient.DownloadFile() ale asyncrhonně (prakticky v novém threadu) metodou WebClient.DownloadFileAsync().
    Díky za nápad, todle mně netrklo. Zkusím a napíšu.
    Odpovídat lze po přihlášení

Strana 3 z 3 PrvníPrvní 123

Podobná témata

  1. Programování na Androidu, lze?
    Od jozka.1 v sekci Programování
    Reakcí: 5
    Poslední příspěvek: 19-04-2011, 12:24
  2. programování GPGPU
    Od klouda v sekci Programování
    Reakcí: 24
    Poslední příspěvek: 10-07-2010, 13:13
  3. Klávesnice: Klávesnice na programování
    Od xmarek v sekci Periferie
    Reakcí: 8
    Poslední příspěvek: 10-09-2009, 12:57
  4. Začátky programování
    Od Belbas v sekci Programování
    Reakcí: 36
    Poslední příspěvek: 26-07-2009, 16:16
  5. programováni zacatky
    Od sapin II v sekci Programování
    Reakcí: 47
    Poslední příspěvek: 28-12-2008, 23:06