C #: мне нужна помощь для создания уникальных текстовых файлов с уникальными именами файлов для каждого события - PullRequest
0 голосов
/ 29 октября 2019

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

  • У меня есть этот фрагмент кода на легком языке, который генерирует один уникальный текстовый файл с уникальным именем файла каждый раз, когда происходит один из четырех различных типов событийместо (каждый отдельный текстовый файл служит отдельной записью в журнале). мне нужно преобразовать этот код в c # (я буду использовать этот код внутри торговой платформы ninjatrader), используя streamwriter или любые другие решения c #, которые позволили бы мне генерировать уникальные текстовые файлы с именами файлов, создаваемыми динамически, которые включали бы некоторые строковые входы, переменные идата и время в формате, аналогичном следующему:

//    pass in a string containing line to be written to the file         
method void recordevent(string msg)     
variables:     
string filepath;     
begin     
    //    create file name, including a directory based upon the symbol     
    //     
    //    note:   symbol should not contain characters that are not valid in file names     
    //            indicator name should not contain invalid characters for a file name     
    //            add whatever other parameters desired         
    filepath = string.format("{0}\{1}_{2}_{3:yyyyMMddhhmmss}_{4}_{5}.txt",     
        iprimarydirectory,     
        filnamplusymtic,
        gronam,     
        datetime.now,
        casnum,
        numtostr(price,2));

    print(filepath);
    sw = streamwriter.create(filepath);  
    sw.autoflush = true;    
    sw.writeline(msg);      
    sw.close();     
end;

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

очень хорошо, я надеюсь, что эта версия моего первоначального вопроса будет более понятной и управляемой. спасибо всем, привет.

1 Ответ

0 голосов
/ 29 октября 2019

Я не собираюсь пытаться расшифровать весь ваш пост. Если вопрос только в том, как добавить строку в файл (создать ее, если она не существует), тогда ее довольно просто до конца:

private void WriteFile(string text)
    {
      // lock a generic object to ensure only one thread is accessing the following code block at a time
      lock (lockObj)
      {
          string filePath = Path.Combine(@"C:\ntlogs\",$"{DateTime.Now.ToString("yyyyMMdd HHmmss")}.txt");
          File.AppendAllText(filePath, text);
      }

Если есть другие конкретные проблемы, с которыми вы сталкиваетесь, создайтеотдельный вопрос и спрашивай об этом конкретно без всякой дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...