• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    GREENMATE
    GREENMATE --- ---
    Ahoj zdravim Vás, Měl bych dotaz. dostal jsem za úkol udělat convertor z textˇáku kterej obsahuje text a je strukturován to tabulky. tento obsah mam dostat do Excelovské tabulky. soubory které mam k možnosti načtení jsou bud ve formátu pdf, nebo txt. posilam nahled textaku dekuju za rady jak mam asi na to jit

    _K5_
    _K5_ --- ---
    _K5_: vyřešeno (Lazarus)
    MICTECH
    MICTECH --- ---
    URZA: Ano.

    TENCOKACISTROMY: Mame napsanej tool, kterej tyhle templaty pousti externe a generuje to vsechno co potrebujem, takze uz nepouzivame integraci/spousteni z VSka.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    T4 je pekny, ale prijde mi dost komplikovany.
    Obycejne, kdyz generuju kod, tak mam CmdLine projekt ve Visual Studiu, kterej mi na pozadani ty zdrojaky rovnou pregeneruje.
    Sice to neni tak pekne integrovany do VS, ale zase se to lehce ladi/upravuje a lehce se to distribuuje dalsim lidem na projektu.
    PJOTRIK
    PJOTRIK --- ---
    MICTECH: pekny, neznal jsem. Ale pouzivat to na gettery apod mi neprijde ze by usetrilo praci, to spis nejaky snippety
    URZA
    URZA --- ---
    MICTECH: pouzivas?
    SLUPKA
    SLUPKA --- ---
    NECROMAN: Ono to i píše v té vyjímce co dostaneš, když to neescapuješ, ne? Já myslím, že jsem na to taky přišel nějakým takovým způsobem :))
    NECROMAN
    NECROMAN --- ---
    Tip na dnesni den - pokud chcete ve String.Format vypsat samostatne slozene zavorky, tak je musite escapovat pomoci druhe takove zavorky (nevedel jsem)
    sb.AppendFormat("function {0}(args) {{ return false; }}", someVariable);
    URZA
    URZA --- ---
    Kdyz uz tu jsem tak se zeptam jeste na jednu vec :)

    Pouzivate nejake generatory kodu? Mam ted treba jednu tridu, ktera obsahuje asi 30 properties.. takze s tim jak je C# ukecany jazyk je to obcas pekna drbacka provest nejakou zmenu ktera se tyka vseho .. abstrahuji sice kde se da, pouzivam CTRL+H a multiline edit (VS PowerTools) ale stejne si rikam ze se asi podivam po nejakem sablonovacim generatoru.. ted zase mam jednu takovou tridu ktera ma milion propeties a uz me nebavi ani to { get; set; } pokazde kopirovat :)

    tak jen jestli nemate nejake zkusenosti s necim..
    URZA
    URZA --- ---
    NECROMAN: jo uz jsem se k tomu tak nejak dopracoval.. diky
    NECROMAN
    NECROMAN --- ---
    URZA: bindovani na genericky typ byl vzdy problem... pokud se vzpominam, tak v .NETu 4.0 by to uz melo jit, ale nejsem si jisty v Silverlightu nebo windows phone... zkus Google na databinding generic type wpf
    URZA
    URZA --- ---
    Ahojte, mam dotaz na WPF / XAML :) Se mi nejak nedari vygooglit, mozna delam neco uplne spatne?

    Do jedne moji ItemsControl nastavuji ItemsSource kolekci objektu meho vlastniho typu a v Resources mam definovany DataTemplate jak ten typ ma vypadat v GUI. Doposud bez problemu. Jenze ted jsem se ocitl v situaci ze ten muj vlastni typ vyuziva generika a vypada takto nejak:

    public class GradeValueType<T>
    {
    public string Prefix { get; set; }
    public List<T> NormalValues { get; set; }
    }

    a DataTemplate nejak takto:

    <DataTemplate DataType="{x:Type my:GradeValueType}">
    <StackPanel Orientation="Vertical">
    <TextBlock Text="{Binding Path=Prefix}" />
    <ItemsControl ItemsSource="{Binding Path=NormalValues}" />
    </StackPanel>
    </DataTemplate>

    ..bez toho <T> je to vpohode, ale s tim se to prekladaci nelibi.. nevite nekdo proc?
    MOYYO
    MOYYO --- ---
    VIRTUALVOID: mohlo by stacit, diky
    MOYYO
    MOYYO --- ---
    plz v cem v c# psat nakej jednoduchej parser (neco jako boost::spirit pro c++).
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: nevim, co je "kernelovy bugcheck", ale mobil by se asi pri behu te apikace nemel jen tak zrestartovat :)
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: me se prave podarilo moji aplikaci pro Windows Phone Mango sestrelit system pri beznem pouzivani - pouziva akorat PhotoCamera objekt, zadne interop services, nic divokeho... pokud by se mi to podarilo reprodukovat, tak by to bylo zajimave zjisteni :)

    jinak to, ze se da v registrech povilit BSOD po stisknuti klavesove kombinace jsem cetl, to ale u WP7 asi jen tak nepujde
    VIRTUALVOID
    VIRTUALVOID --- ---
    DARKREIDER:
    TENCOKACISTROMY: jo... tl;dr "compiler as a service" to volaju
    NECROMAN
    NECROMAN --- ---
    Zaludna otazka - napada vas zpusob, jak jen pomoci managed kodu v C#, zadne Win32 API a pod, sestrelit operacni system do BSOD? :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    DARKREIDER: Napriklad s tim budes moct udelat makrovaci funkionalitu jako je VBA v MS Office.
    DARKREIDER
    DARKREIDER --- ---
    JACHYMKO:
    TENCOKACISTROMY: Na rozsirenie mojich obzorov: Ake to bude mat vyuzitie v reale?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO, JACHYMKO: To vypada moc pekne. Musim nekde najit cas, abych si s tim pohral.
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: ok, nazev matody je matouci... spise by mel byt Sync
    jde spise o to, aby po zavolani InitCameraSync uz byl probehly onen init a ne ze "az to nekdy dobehne, tak se to zavola"

    Tuto metodu potom budu volat v
    CameraOperationCompletedEventArgs result = await TaskEx.Run(() => InitCameraSync(cam));
    ... a krasne tak ziskam virtualni synchonnii :)
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: tak idealni to asi neni, ale usnadnuje to v tomto pripade inicializaci. Opravdu nemam rad, kdyz musim mit dve metody, kde v druhe cekam na eventu, ktera se spustila v prvni a ta mezitim skoncila. take kdyz v te druhe jeste musim volat dispatchera pro aplikovani vysledku na UI vlakne. Takhle je to vse na jednom miste, byt to trochu pripomina JavaScriptove closures :)
    K0TEL
    K0TEL --- ---
    Poradil by mi nekdo prosim nejakej peknej free textovej editor. Takovej ten kde si uzivatel muze sam na webove strance editovat text (barvy, font, atd) a hlavne aby umel i tabulky. Dik moc
    GOSHEWAN
    GOSHEWAN --- ---
    JACHYMKO: Nejak podobne to pouzivam na jednom miste take. Co presne je na tom spatne (mimo ten dispose)? Pripadne jak jinak bys to udelal?

    Ja potreboval resit synchronni volani asynchronni metody. Asynchronni, protoze zavolala web service na serveru, ktery pak zavolal jinou web service zpet u me a ten vysledek se musel vratit prvnimu volajicimu (ktery volal synchronne).
    NECROMAN
    NECROMAN --- ---
    Vymyslel jsem včera zajímavý pattern, jak převést asynchronní čekaní na event handler do synchronního vykonání v jendom vlákně pomocí AutoResetEvent - ideální pro použití v Async CTP API :)
    private static CameraOperationCompletedEventArgs InitCameraAsync(PhotoCamera cam)
    {
        // blocking primitive
        AutoResetEvent autoEvent = new AutoResetEvent(false);
        CameraOperationCompletedEventArgs result = null;
        EventHandler<CameraOperationCompletedEventArgs> callback = (sender, e) =>
        {
            // store the result
            result = e;
            // unblock parent thread
            autoEvent.Set();
        };
    
        // event handler
        cam.Initialized += callback;
    
        // this causes camera init
        dummyBrush.SetSource(cam);
        // wait until async event finish
        autoEvent.WaitOne();
        // remove event handler
        cam.Initialized -= callback;
        return result;
    }
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: V tom novém Windowsím API se bez toho člověk už neobejde…
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Jeste jsem to nezkousel. Ale tesim se na to.
    Kliknutím sem můžete změnit nastavení reklam