Hirdetés

Új hozzászólás Aktív témák

  • Keem1

    veterán

    Srácok, iránymutatást kérnék. Előrebocsátom, hogy PHP-ban jobban otthon vagyok, mint C#-ban, de ez sem teljesen idegen számomra.
    Megörököltem a cégnél egy "Terike néni feladatát megkönnyítendő" windows forms alkalmazást. Csak desktop, csak Windows 7/10, eddig egyszerű. A program a cégnél más, különböző alkalmazások, ill. a webes rendszer által generált egységes XML-ből szedi ki a szükséges adatokat és teszi be az adott gépen futó adatbázisba (kvázi innen-onnan gyűjtött XML-ből helyi adatot konvertál).
    A program kezelője a formon csak simán bekkattintotta a fájlokat, mehet gomb, kilép gomb. Ez már működik.
    Felmerült, hogy task schedulerből kéne időzítetten is működtetni, tehát parancssorral indíthatóvá kéne tennem.

    Valahogy így:
    programom.exe bemeneti_file.xml mit_csinaljon_vele

    Ami eddig megvan:
    Form1_Load(object sender, EventArgs e)
    {
    ..
    string[] args = Environment.GetCommandLineArgs();
    if (args.Length > 1) FromConsole(args);
    ...
    }

    Az args tömb első (0.) eleme az exe útvonala, ezért ha a mérete nagyobb 1-nél, akkor parancssorból kaptuk az adatokat, meghívjuk a FromConsole() metódust. A második paraméter a fájl lesz, eddig pipa, az eddigi tallózás helyett (létezési ellenőrzéssel) már meg is van a fájlunk. A második az a művelet, amit szeretnénk tenni vele. Itt kéne optimális esetben az adott gomb eseményét meghívni, ennek végén pedig egy Close() lesz.

    - tudok-e úgy hívni egy gomb eseményt, hogy a nevét ismerem sztringként (parancssori paraméter)?
    - tudom-e ellenőrizni, hogy a metódus létezik-e?
    - mennyire jó ötlet rögtön így hívni egy eseményt? és ha nem stimmelnek a metódus paraméterei?
    - ha valami beüt (nem valószínű, de esetleg hibaüzenet, felhasználói interakcióra várás), kilép-e a program simán egy Close() esetén?

Új hozzászólás Aktív témák