Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Spuštění s parametry

C# .NET .NET (C# a Visual Basic) Spuštění s parametry American English version English version

Aktivity (1)
Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:13.9.2012 15:56

Chtěl jsem se zeptat jakým způsobem lze spustit program ze souboru, tak aby si načetl třeba do stringu cestu svého spouštěče? Třeba když chci spustit hru na DOSboxu tak si nespustím dosbox a nehledám cestu, ale přesunu ikonu souboru na dosbox. Jestli by šlo to udělat tak, že by se třeba mp3 dala spustit přes applikaci a jak to udělat aby si s tím poradila?

Odpovědět 13.9.2012 15:56
Přecházím na "Cross-Platform Development"
Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:28.9.2012 18:09

Trvalo mi dlouho než jsem na to přišel, ale pokud by se to někomu hodilo, tak stačí do konstruktoru (Main()) Program.cs změnit na Main(string[] args) a args jsou cesty souborů ze kterých byl program spuštěn.

Nahoru Odpovědět 28.9.2012 18:09
Přecházím na "Cross-Platform Development"
Avatar
Kit
Redaktor
Avatar
Odpovídá na Theodor Johnson
Kit:28.9.2012 18:14

Podle mne by v args měl být spíš spouštěcí řetězec programu. Jako první prvek v seznamu jméno programu a za ním jeho parametry.

Nahoru Odpovědět 28.9.2012 18:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 18:17

Jo, 1. bývá celý řetězec s cestou k programu, další parametry z příkazové řádky. Myslím, že tady to je stejně.

Nahoru Odpovědět 28.9.2012 18:17
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:28.9.2012 18:26

Vývojáři by se občas mohli trochu sjednotit. V PHP má ta proměnná název $argv.

Nahoru Odpovědět 28.9.2012 18:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 18:49

Mě přijde, že to chce mít každý nejvíce kůl, jinak si nedokážu odůvodnit, proč v PHP text echujeme :)

Nahoru Odpovědět 28.9.2012 18:49
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:28.9.2012 18:56

Protože se nám nechce měnit kontext :)

Možná máš na mysli funkci printf(), kterou moc nepoužívám.

Nahoru Odpovědět 28.9.2012 18:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 19:03

Co myslíš kontextem? Že je echo struktura?

Nahoru Odpovědět 28.9.2012 19:03
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:28.9.2012 19:06

Změna kontextu je uzavření ?>, napsání textu a opět otevření <?php. Někdo to dělá systematicky, já nikdy.

Nahoru Odpovědět 28.9.2012 19:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 19:22

Ne, já jen narážel na jméno té funkce echo, proč se primárně nepoužívá printf. Je to asi proto, že echo umožňuje vynechávat závorky, ale proč to není opačně :)

Nahoru Odpovědět 28.9.2012 19:22
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:28.9.2012 19:29

Funkce printf() dělá substituce v prvním parametru, což nemusí být vždy žádoucí. Ovšem je sporné, co je vlastně přehlednější.

Nahoru Odpovědět 28.9.2012 19:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 19:33

Aha, tak jsem myslel echo a print.

Nahoru Odpovědět 28.9.2012 19:33
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:28.9.2012 19:36

No jo, když k tomu přidám puts() v Ruby...

Nahoru Odpovědět 28.9.2012 19:36
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:28.9.2012 19:50

a try... with v F# :D Možná sem dám něco jako Hello world v různých jazycích, už jsem to někde viděl, tak vybrat nějaké zajímavé.

Nahoru Odpovědět 28.9.2012 19:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
petr.chatar.anton:29.7.2013 13:35

Oživím tohle téma a chtěl bych se zeptat:
mám úplně jednoduchý program typu echo a chtěl bych mu z jako parametr předat text, který má vypisovat spolu s datem a časem. Jak se tomu programu parametr předá? Např. pro volání MojeECHO "Zpracování ukončeno".
Dík

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PAecho
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime datum;
            String predanyText;
            datum = DateTime.Now;
            Console.WriteLine("{0} {1}", datum, predanyText);
            Console.ReadKey();
        }
    }
}
Editováno 29.7.2013 13:37
 
Nahoru Odpovědět 29.7.2013 13:35
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na petr.chatar.anton
David Čápka:29.7.2013 13:38

Koukni se do hlavičky té metody ;)

Nahoru Odpovědět 29.7.2013 13:38
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
petr.chatar.anton:29.7.2013 13:45

Myslíš takhle?

static void Main(string[] predanyText)
         {
             DateTime datum;
             /// String predanyText;
             datum = DateTime.Now;
             Console.WriteLine("{0} {1}", datum, predanyText);
             Console.ReadKey();
         }

Asi ne, něco mi tam chybí ...

Editováno 29.7.2013 13:47
 
Nahoru Odpovědět 29.7.2013 13:45
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na petr.chatar.anton
Theodor Johnson:29.7.2013 14:05

Chybí, predanyText je pole stringu, takže bys musel napsat Console.Write­Line("{0} {1}", datum, predanyText[0]);

Nahoru Odpovědět 29.7.2013 14:05
Přecházím na "Cross-Platform Development"
Avatar
petr.chatar.anton:30.7.2013 11:53

Děkuju za pomoc, už mi to chodí.

 
Nahoru Odpovědět 30.7.2013 11:53
Avatar
lopi.trucker
Člen
Avatar
Odpovídá na petr.chatar.anton
lopi.trucker:30.7.2013 13:43

pro to přetažení jsem to řešil takhle:

private void Form1_DragEnter(object sender, DragEventArgs e)
        {
            //e.Effect = DragDropEffects.All;
            string[] poleSoubor = (string[])(e.Data.GetData(DataFormats.FileDrop, false));   //vrátí pole s adresama k souborům
            soubor = Convert.ToString(poleSoubor[0]);
            FileInfo fi = new FileInfo(soubor);
            if (fi.Extension == ".ada")
            {
                StreamReader sr = new StreamReader(soubor);
                soubor = sr.ReadToEnd();
                vyplnDataAda(soubor);
            }
            else if (fi.Extension == ".html")
            {
                vyplnDataHtml(soubor);
            }
            else
            {
                SystemSounds.Asterisk.Play();
                string text = "Nepodporovaný soubor!!!";
                messBox messBox = new messBox(text);
                minimalizuj = false;
                messBox.ShowDialog();
                minimalizuj = true;
                //MessageBox.Show("Nepodporovaný soubor!!!", "Chyba", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 
Nahoru Odpovědět 30.7.2013 13:43
Avatar
lopi.trucker
Člen
Avatar
Odpovídá na lopi.trucker
lopi.trucker:30.7.2013 13:54

a co se týče toho spuštění ze souboru tak to si musíš asociovat přes registry svoji příponu souboru, toto jsem vyřešil přes instal creator ve VS 2010, protože když jsem to zkoušel přes regi tak mi to dělalo bordel, chovalo se to jinak na XP, W7, W8 tak jsem to udělal přes ten instal cerator ve VS, kde je možnost si i zaregistrovat svoji příponu a je to bez starostí a problemů na různých platformách woken tady je návod na tubu:

https://www.youtube.com/watch?…

 
Nahoru Odpovědět 30.7.2013 13:54
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 21 zpráv z 21.