• ú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
    TOOMIX
    TOOMIX --- ---
    RUTHAN: rozumim tomu dobre, ze potrebujes string[] args co Ti vlezou jako patametr do Mainu v Program.cs nejak prenest do formulare, ktery v tom mainu otevres treba pres Application.Run(new Form())?
    RUTHAN
    RUTHAN --- ---
    VITI: Cil: Tak nejak oboje.

    Proste vytvorim novy projekt Windows Form Application aplikaci, tam si udelam nejaky button event a chci v nem jakokoliv zpracovavat vstupy z prikazovyho radku (nepoviny) a pokud se zadan prislusny parametr chci na formulari spustit nejaky event, ktery by jich uzivatel musel kliknout rucne.. Cili se to snazim automatizovat.

    Nikdy predtim jsem to neresil, ale v soucasti project je i defaultne Program.cs, kde je nejaka staticka main metoda, pres kterou ty vstupy musim poresit paklize je projekt consolova aplikace. Ted se potrebuju naucit jak to aplikovat na tu formularovou aplikaci, co kde upravit a tak.
    VITI
    VITI --- ---
    RUTHAN: chces to jen zprovoznit nebo se neco ucis?
    Ve statickym kontextu - tride zadnou instanci (this) nemas, takze tam posli misto this treba tu instanci formulare, tj F.
    Jinak tomu "ktery resi vstupy z cmd" bohuzel nerozumim.
    RUTHAN
    RUTHAN --- ---
    VITI: Dik, budu toho potrebovat vic.

    Tohle mu dava - Keyword 'this' is not valid in a static property, static method, or static field initializer.

    Kdyz mam aplikaci, kde mam Form1, jak tam presne udelam tu instanci v ramci toho Program.cs, ktery resi vstupy z cmd?

    Mam to tahle:

    Program.cs:

    static void Main(string[] args)
    {
    ..
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());

    // Pak zkousim udelat instanci toho formu1:
    Form1 F = new Form1();

    // Pak ten click:
    F.button1_Click(this, EventArgs.Empty);

    MAIMONIDES
    MAIMONIDES --- ---
    ICARUS: tech způsobů je asi 8
    ICARUS
    ICARUS --- ---
    MAIMONIDES: Myslis Blazor? Zatim ne, bohuzel.
    MAIMONIDES
    MAIMONIDES --- ---
    Zkoušel tu někdo js v c#?
    VITI
    VITI --- ---
    RUTHAN: metoda ma povinne parametry, tak nejaky zadej:
    Button1_Click(this, EventArgs.Empty);
    NECROMAN
    NECROMAN --- ---
    JAACOB: jo, je to novinka ze C# 5.0, sikovne vesi hlavne pro MVVM
    Caller Info Attributes in C# 5.0 - CodeProject
    https://www.codeproject.com/Tips/606379/Caller-Info-Attributes-in-Csharp-5-0
    RUTHAN
    RUTHAN --- ---
    MORMEGIL: Pro me output jako output a kdyby to slo presmerovat, tak by se mi to hodilo..

    Jinak resim ted jinou vec mam Windows aplikaci a chtel bych ji pridat nejaky command line parameter, tak aby se na zaklade vstupu zavolal event na formulari?

    Nacist ten vstup v Program.cs v Mainu umim, ale uz nej nejmim zavolat ten event, kdyz se pokusim udelat si instanci toho formulare, tak dostavam - Error 1 No overload for method 'button1_Click' takes 0 arguments C:\temp\WindowsFormsApplication2\WindowsFormsApplication2\Program.cs no overload for method.
    Jak se tohle resi?
    JAACOB
    JAACOB --- ---
    Btw - objevili jsme s kolegou nedavno super attributy v C#, ktere automaticky doplni optional parametry metody o zdroj volani. Bohuzel jen nazev metody, fajl a cislo radku (assebly / namespace by imho byl uzitecnejsi), ale aspon neco...

    CallerMemberNameAttribute Class (System.Runtime.CompilerServices) | Microsoft Docs
    https://docs.microsoft.com/...ntime.compilerservices.callermembernameattribute?view=netframework-4.8
    JAACOB
    JAACOB --- ---
    RUTHAN: Nevim, jestli ti to k necemu bude, ale hookovali jsme se sveho casu na Debug cally a ty si pak teoreticky muzes vypsat kam chces. Viz: MSDN - Debug.Listeners. Zahlidl jsem i nejake ConsoleTrace listenery a podobne, ale nevim co presne s tim vlastne chces delat.
    MORMEGIL
    MORMEGIL --- ---
    RUTHAN: Inu, tak si ji napiš, jsou to vážně dvě nesouvisející věci. (Ale Rider umí konzoli zobrazit ve svém vlastním okně.) Ale úplně nevím, jak souvisí spouštění ručně z filesystému s tím, kam se co vypisuje.
    RUTHAN
    RUTHAN --- ---
    NECROMAN: Ja bych potreboval jednu funkci pro oboje - vypisovat do konzole, to co chci vypisovat i pri spusteni programu, lip se pak veci ladi.. Samozrejme muzu neco zbuildit a pak si to spustit rucne z filesystemu mimo VS, ale je to par kliku navic.
    SAJAGI
    SAJAGI --- ---
    Umí nějak VS 2019 pro F# automaticky generovat overridy abstraktních metod z bázové třídy? Psát to ručně je hrozný opruz :/
    NECROMAN
    NECROMAN --- ---
    RUTHAN: nepleteš si Debug.Writeline a Console.Writeline? To jsou dvě různé věci, i když se používají podobně.
    MORMEGIL
    MORMEGIL --- ---
    RUTHAN: Nevím o tom, že by VS2010 umělo přesměrovat konzoli do output okna, to jsou fakt dvě různé věci.
    RUTHAN
    RUTHAN --- ---
    Ahoj,
    jeden patlal dotaz da se Visual C# 2010 express nejak primet, aby do output okna pro consolovou aplikaci vypisoval Console.Writelie - vystup? Kdyz aplikci spustim pres cmd - tak se vsechno vypisuje, ale do Output console se nepise nic.
    System.Diagnostics.Debug.WriteLine funguje v Output windows, ale zase ne na command line.

    Netusim, jestli je to bug nebo feature?
    NECROMAN
    NECROMAN --- ---
    Visual Studio 2019 16.2 je venku
    Visual Studio 2019 version 16.2 Generally Available and 16.3 Preview 1 | The Visual Studio Blog
    https://devblogs.microsoft.com/...l-studio-2019-version-16-2-generally-available-and-16-3-preview-1/
    PJOTRIK
    PJOTRIK --- ---
    FREELA: mrkni na Orchard (ale vyzkouseno nemam)
    FREELA
    FREELA --- ---
    Co je podle vas momentalne nejlepsi CMS v ASP.NET? Delal jsem v Dotnetnuke a Umbraco.

    Mel bych zkusit prozkoumat jeste dalsi?
    SKLICIDLO
    SKLICIDLO --- ---
    SKLICIDLO: Píšu jak tatar. Můžeš ladit i bez zdrojáků, jen teda na úrovni strojáku.
    SKLICIDLO
    SKLICIDLO --- ---
    NECROMAN: Ano. Jestli to není vs projekt, ale generic c++ přes makefile, pomůže to zbuildit přímo na cílovém stroji, kde chceš debugovat (stejně tam musíš dostrkat i další věci jako třeba gdb a další devtools). Pak si ten buildnutý projekt syncneš na stroj, ze kterého chceš ladit a ve VS Code vesele ladíš přes SSH nativní procesy. A mám takovej pocit, že když nemáš zdrojáky, můžeš furt ladit assembly.
    NECROMAN
    NECROMAN --- ---
    SKLICIDLO: spíše ta otázka je, zda lze debugovat nativní linuxovou C++ appku, ne VC++, ve Visual Studiu? Jednotlivé soubory drží pohromadě jen makefile a pokus o otevření ve VS skončil dost nezlavně.
    SKLICIDLO
    SKLICIDLO --- ---
    NECROMAN: Běžně, na dálku přes ssh a vsdbg. Plnohodnotný.
    NECROMAN
    NECROMAN --- ---
    Dotaz, nezkoušel jste někdo debugovat C++ linuxovou appku v Dockeru ve WSL z prostředí Visual Studia, nebo to už je moc daleké scifi?
    MORMEGIL
    MORMEGIL --- ---
    KOSTEJ: B je zjevně nesmysl: Nebude posílat A=123&B=456, ale bude se pokoušet najít lokální soubor s tímhle jménem, aby ho mohl poslat. A a C jsou totéž, D je skoro totéž, ale navíc pošle hlavičku Content-Type: application/x-www-form-urlencoded, což je patrně právě to, co chceš. Za mě bych tedy vybral D.
    MIRROR
    MIRROR --- ---
    KOSTEJ: ted uplne hadam - ale nebude tam hrat roli mimetype obsahu requestu? ze tahle metoda ti to rovnou vrati nejen ve form-encoded, ale i s hlavickou content-type?
    NECROMAN
    NECROMAN --- ---
    KOSTEJ: to je nějaký pěkně starý test. WebClient jsem neviděl v demech či návodech už tak od roku 2012, co vyšel C# 5.0 s async/await a nový HttpClient.
    SIRLOON
    SIRLOON --- ---
    KOSTEJ: se c# sem si dlouho nehral, ale jestli se nepletu, tak u a b a c mas hovadsky predavany typy. Minimalne u B by to chtelo sice string, ale s cestou k souboru. Ostatni metody neznam :-/
    Kliknutím sem můžete změnit nastavení reklam