Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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.