Diskuze: C# práce s CMD skrze formulář

C# .NET .NET (C# a Visual Basic) C# práce s CMD skrze formulář American English version English version

Avatar
eriksokol
Člen
Avatar
eriksokol:

Ať dělám co dělám button3 nedělá absolutně nic i když mu vše smažu a vložím třeba jen zápis do textboxu, netuší někdo proč prosím?

http://www.itnetwork.cz/dev-lighter/404

 
Odpovědět 24.6.2014 19:53
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:

Upni to někde na pastebin... Nechce se mi prodírat skrz bílé znaky.

EDIT: To nejsou bilé znaky, ale chybí ti '{' u té první metody...
EDIT2: Když je to závislé ten kód na GUI, tak je lepší upnout celý solution, popřípadě upnout i ten designerský kód.

Editováno 24.6.2014 20:04
 
Nahoru Odpovědět 24.6.2014 20:01
Avatar
eriksokol
Člen
Avatar
eriksokol:

Ehm nechápu ve zdroji tu závorku samozřejmě mám, my bad

http://pastebin.com/nZfygCx9

design jsem vůbec neřešíl zatím

http://pastebin.com/TcPvc5dW

 
Nahoru Odpovědět 24.6.2014 20:11
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:

Nejde o to jak ten design vypadá, ale že je ten kód na tom designu závislý a ten, který ti bude radit si potom musí určitým způsobem ten kód upravovat, přidávat ty komponenty atd.

Co to tak zkoumám, tak chceš vytvořit normalní command prompt, který ale bude brát vstup z textboxu?

 
Nahoru Odpovědět 24.6.2014 20:42
Avatar
eriksokol
Člen
Avatar
Odpovídá na Jan Vargovský
eriksokol:

Dobrá,
ano a výstup opět do textboxu taky.

 
Nahoru Odpovědět 24.6.2014 20:43
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:
Process process = new Process()
{
    EnableRaisingEvents = true
};
process.StartInfo = new ProcessStartInfo("cmd.exe")
{
    UseShellExecute = false,
    RedirectStandardInput = true,
    RedirectStandardOutput = true,
    RedirectStandardError = true,
    CreateNoWindow = true,
};
process.Start();

process.OutputDataReceived += (o, e) => { Debug.WriteLine("Data received: " + e.Data); };
process.ErrorDataReceived += (o, e) => { Debug.WriteLine("error"); };
process.BeginOutputReadLine();
process.BeginErrorReadLine();

process.StandardInput.WriteLine("time /t");
process.StandardInput.WriteLine("dir");

Douprav si to dle toho mého kódu. Ten input si klidně můžeš vytáhnout tak jako u sebe a pak to budeš volat u nějakého stisku tlačítka.

 
Nahoru Odpovědět 24.6.2014 21:09
Avatar
eriksokol
Člen
Avatar
Odpovídá na Jan Vargovský
eriksokol:

Jo to vypadá mnohem lépe, díky.
Ale můj problém je pořád nevyřešen a přestávám to chápat ... button3 stále bez reakce. Zkusil jsem vymazat většinu kódu a ten button je pořád nějaký pokažený , asi to založím jako nový projekt nebo nevím

 
Nahoru Odpovědět 24.6.2014 21:47
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:

No, chvíli to trvalo, ale snad pomůže :)

http://leteckaposta.cz/635189002
 
Nahoru Odpovědět 24.6.2014 22:33
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:

Ještě jsem to trošku upravil.

http://leteckaposta.cz/896982698
 
Nahoru Odpovědět 24.6.2014 22:40
Avatar
eriksokol
Člen
Avatar
eriksokol:

No to už vypadá úplně jinak no, mimochodem nechápu to, ale prostě stačilo založit nový projekt a opsat to do něj, každopádně tvůj kód sice přesahuje moje znalosti, ale kouknu na něj a zkusím postudovat, děkuji za pomoc :)

 
Nahoru Odpovědět 24.6.2014 23:04
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na eriksokol
Jan Vargovský:

No tím to určitě nebylo, jen jsi na něco zapomněl.

Jinak pro ostatní http://www.itnetwork.cz/dev-lighter/405

 
Nahoru Odpovědět 24.6.2014 23:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.