• Как сделать постоянный фоновый Process в C#?

    iamserge
    @iamserge Автор вопроса
    cicatrix, Да, было бы проще, но у меня есть проблемы и зависимость от python, там очень спицифич. API предлгают только на нем официально и выбора пока нет ...
  • Как сделать постоянный фоновый Process в C#?

    iamserge
    @iamserge Автор вопроса
    Спасибо, но у меня это скорее хобби и я пока мало готов к таким подвигам, да еще и новые библиотеки осваивать. Вожусь в рамках Visual Studio Community 2019 b и ни шагу в сторону :) Да и я с этим еле разобрался ...
  • Как сделать постоянный фоновый Process в C#?

    iamserge
    @iamserge Автор вопроса
    Попробовал вторым способом, но получил:

    'StandardOut has not been redirected or the process hasn't started yet.'


    Т.е. просто вытащил часть отдельно, чтобы пока попробовать получить вручную в процессе работы скрипта ...
    private void button1_Click(object sender, EventArgs e)
            {
    
                output = process.StandardOutput.ReadToEndAsync().ToString();
                errors = process.StandardError.ReadToEndAsync().ToString();
    
                richTextBox2.AppendText(errors);
                richTextBox2.AppendText(output);
    
            }


    Т.е. процесс начался точно, видимо мои настройки для процесс process не работают? Просто больше не знаю в чем еще может быть дело, если оставить там где был код, т.п. при запуске формы, то вывод вот такой:

    System.Threading.Tasks.Task`1[System.String]System.Threading.Tasks.Task`1[System.String]


    У меня такое чувство, что я интуитивно это неверно понял, но вроде бы как где бы тут быть подвоху если все называется крайне очевидно ...
  • Как создать DateTime с TimeZoneInfo не меняя время?

    iamserge
    @iamserge Автор вопроса
    Вроде бы как это заработало, просто у меня много мест которые нужно сводить воедино на МСК и центр. европу и я сам сейчас понять не могу правильно или нет, просто потому что так виртуозно во времени не ориентируюсь :) Но похоже что это оно т.е. решение ...
  • Куда пропала Новая Зеландия?

    iamserge
    @iamserge Автор вопроса
    GavriKos, Т.е. у меня есть дата и время, как строка. Есть место, нужно добавить к нему часовой пояс. То есть

    Сначала есть: 2020-08-17 02:00:00 // Просто время события в NZ
    Потом нужно: 2020-08-17 02:00:00+12:00 // Отметить часовоя пояс т.к. я знаю, что это у них но время дано без часового пояса
    В итоге сделать: 2020-08-16 17:00:00+03:00 // Когда это все в МСК
  • Куда пропала Новая Зеландия?

    iamserge
    @iamserge Автор вопроса
    GavriKos, А так это разве не готовая? Т.е. у меня он есть, но его как города там нету вот в чем дело ... Еще есть London к примеру, но с ним проблем никаких нет.

    Не понимаю о чем вы, что может быть еще более готовым в этой ситуации?
  • Куда пропала Новая Зеландия?

    iamserge
    @iamserge Автор вопроса
    Мне нужна столица, т.е. Wellington ... Но я правда два этих пояса вижу первый раз ... Вродебы как он на самом краю этого архипелага Chatham и туда относится? Т.е. она у них как то прямо на границе почти, жуть как заморочено все ...
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Владимир Коротенко,

    singleton

    Спасибо, у меня от переизбытка новых слов сегодня явно перегруз будет ... Но выглядит заманчиво. Пока пойду готовить мидии в словочном соусе, подумаю над всем этим :)
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Владимир Коротенко, А как его "ловить" потом? Т.е. я пробовал создать Worker, глобально, ну а потом его в таймере как то "опросить что там" ... То есть для меня этот поток потерялся что ли, он там внутри стартует и как к нему подобраться то потом из моего таймера?
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Спасибо, попробовал это воспроизвести, частично попробовал переделать с консольного на WinForms, но это пока дело десятое ... На самом деле совсем не вижу, как тут собственно по таймеру пытаться понять что там вообще скрипт делает и куда то это деть ... На деле в RichTextBox нужно, видимо от того что конструкция этам мне мало знакома ...

    И да using исправил, говорит что у меня 8.0 и такой синтаксис не подходит, получилось на вид точно так как я делал раньше. Правда теперь все это глубоко внутри класса и потока ...
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Петр, Странно, а ведь странно я то там 20 секунд как минимум "что-то делаю" ... Похоже я что то не так сделал все таки ...
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Т.е. непонятно про контейнеры, да и вообще назначение Display, для того ли оно чтобы вывод собирать куда-то и может выводить его или ... ?

    И про то как срабатывает опрос WaitForExit(0), что вообще подразумевается под его true/false ... ?
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Попробовал, кажется "оно" заработало, правда вот

    var exited = process.WaitForExit(0);
                    TechLog.AppendText(exited.ToString());


    завалил меня сначала false, а потом изобилием true, хотя он судя по всему работает как что то получить я пока не понял ...

    В то же время Display я сделал как отдельно функцию, но не совсем понял что в ней и быть то должно ... https://docs.microsoft.com/ru-ru/dotnet/api/system... вот тут в примере, вроде бы как заполняется некий output ....

    То есть мне так же нужно создать свои контейнеры и туда все собирать? При этом странно, что у меня куча True от этого опроса, т.к. я пока скприт напичкал вот чем, там вроде бы как и нет ничего ...

    time.sleep(5)
    print("1 Sleep")
    
    time.sleep(5)
    print("2 Sleep")
    
    time.sleep(5)
    print("3 Sleep")
    
    time.sleep(5)
    print("4 Sleep")
    
    time.sleep(5)
    print("5 Sleep")
  • Как получить отслеживаемый и постоянный как поток ProcessStartInfo в C#?

    iamserge
    @iamserge Автор вопроса
    Честно сказать не силен в потоках, т.е. последний мой опыт это лет 10 назад потоки в Delphi, оттого я и знаю в общих чертах как это работает. Но тут не совсем понятно, зачем нужен список и как собственно поток сюда добавить, ведь поток само создается как объект из готового класса ... Вот собственно самый простой пример, https://metanit.com/sharp/tutorial/11.2.php

    Но как оно все еще в класс оборачивается? Да еще и работает не очень понятно ... Ниже в целом все что у меня вообще происходит, параметры это просто переменные, которые я перед этим по ситуации заполняю из того что есть ... Но это все по искомому вопросу что есть как таковое ...

    ProcessStartInfo psi = new ProcessStartInfo();
                        psi.FileName = @"C:/Python/Python38-32/python.exe";
                        var PyScript = @"Load.py";
    
                        psi.UseShellExecute = false;
                        psi.CreateNoWindow = true;
                        psi.RedirectStandardOutput = true;
                        psi.RedirectStandardError = true;
    
                        var errors = "";
                        var output = "";
    
                        psi.Arguments = $"\"{PyScript}\" \"{URIForSaveTicks}\" \"{SymbolForLoad}\" \"{YearFrom}\" \"{MonthFrom}\" \"{DayFrom}\" \"{HoursFrom}\" \"{MinutesFrom}\" \"{SecondsFrom}\" \"{msFrom}\" \"{YearTo}\" \"{MonthTo}\" \"{DayTo}\" \"{HoursTo}\" \"{MinutesTo}\" \"{SecondsTo}\" \"{FromFullOneString}\"";
    
                        using (var process = Process.Start(psi))
                        {
                            errors = process.StandardError.ReadToEnd();
                            output = process.StandardOutput.ReadToEnd();
                        }


    Т.е. в примере, поток создается и сам там по себе работает, правда без всякого учета что нужно получать результат работы скрипта, а не просто выводит готовое в консоль ... Вообще как убрать ProcessStartInfo и исполнить тоже самое в потоках для меня тоже темный лес ...

    Если можете, напишите пожайлуста как это выглядит или может ссылка какая есть на такие более продвинутые случаи ...
  • C# как задать Zoom в timespan?

    iamserge
    @iamserge Автор вопроса
    https://docs.microsoft.com/en-us/dotnet/api/system...

    Не миогу заполнить, примеров нет и описания толком нет
  • Возможно ли копировать nfc и издать его через телефон?

    iamserge
    @iamserge
    В рамках полного непонимания теории, могу согласиться с предыдущим ответом. С одним лишь уточнением, что стоит поменять местами все что после дефиса ... и затем задаться вопросом какая теория точно для этого нужна. Простая, доступная, реализовал ли ее уже кто либо и записал ли это так как пишите вы. Очень может быть он говорил на другом языке и слова использовал другие ... Но поставить программу на телефон сейчас вроде бы можно, не сверх сложно это, так что все может быть, была бы программа ... написанная, либо переписанная с того, что сейчас умело этим занимается ... . Так сказать помогу теорией теоретической, раз по теме не понимаю ...
  • Параллельное сохранение файла консоли где я хочу?

    iamserge
    @iamserge Автор вопроса
    Вот она та самая штучка, как > дает мне верное направление, остается только удачно ее приладить ... судя по всему при запуске относительно себя добавить путь и еще каких то хитрых параметров, чтобы имена файлов формировались по маске ... А то может и все в один файл, у меня сразу будет полный лог всех событий, в котором я точно смогу понять когда все прервалось и почему - если грамотно опишу вывод в самой программе и качество лога будет зависеть только от этого.

    Очень хорошо, когда можно коротко и самое главное КРАСИВО, еще раз дублировать информацию и завалить HDD всякой фигней =) Спасибо за помощь, я уж думал не получится нифига.
  • Параллельное сохранение файла консоли где я хочу?

    iamserge
    @iamserge Автор вопроса
    а вам типа в падлу в лом

    Я хотел как КРАСИВО! То есть продублировать еще раз, как все, но так чтобы КРАСИВО, как будто я не занимаюсь черти чем, а делаю не как все и весь такой молодец. Понимаете почему?

    Т.к. мне даже если там уже три раза было надо, продублировали себе дизайнер, программист и архивариус. Мне как пользователю надо ЕЩЕ четвертый раз, потому что для кого, если не для меня они все это делали? Друг для друга? Нет, совсем нет, они делали это для себя, потому что каждый не хотел трогать то что сделал другой и лазить туда ... Мне же то что породила система для себя в первую очередь - тоже нет желание трогать и считать ЭТО частью данных своей программы, что весьма неудобно ... Портируемая версия мне тогда даже не приснится ....
  • Параллельное сохранение файла консоли где я хочу?

    iamserge
    @iamserge Автор вопроса
    #, Ох все таки выглядит жутко. В Linux я так понял судя по статье уже пишется в три, но там частенько проще найти ... все на на всем не лежит "пол кило" интерфейсов и прочего ...

    Пока острая необходиость как бы отпала, все таки если вернусь к этому скорее всего добавлю просто запись в файл "топорно" через создание нового, самыми банальными средствами ...

    p.s. Еще раз задумался о "дублировании" данных и едином формате хранения казалось бы одного и того же, как же оно все таки тут ярко выражено в некотором смысле как такая вот особенность системы ...
  • Параллельное сохранение файла консоли где я хочу?

    iamserge
    @iamserge Автор вопроса
    #, дословно .... "Параллельное сохранение файла консоли где я хочу?" то есть хранить все копии того файла, что я не знаю где, там где я знаю где ... Как то так ... он останется где был, а у меня моя копия ....