Бесплатные снипеты на заказ

orka13

Client
Регистрация
07.05.2015
Сообщения
2 164
Благодарностей
2 164
Баллы
113
подскажите плз, простая задача из строки разделенная запятыми, нужно рандомно взять одно слово/словосочетание например: слово, второе слово, три, четыре пять шесть, один.
C#:
string multistroka = "слово, второе слово, три, четыре пять шесть, один";
string[] split = multistroka.Split(new[] {", "}, StringSplitOptions.None);
return split[new Random().Next(0, split.Count())]; // возвращаем случайный элемент
 
  • Спасибо
Реакции: phoenixs и twisterrr

KiryaPerseus

Client
Регистрация
17.10.2017
Сообщения
159
Благодарностей
54
Баллы
28
Есть задача,подскажите,кто разбирается
Есть сниппет,захожу в почту,беру названия mailboxes в почте,далее кладу их себе в лист
Теперь мне нужно скачать из каждой папки в почте несколько писем,допустим 2
C#:
// Select an IMAP mailbox
success = imap.SelectMailbox("Inbox");
if (success != true) {
    Debug.WriteLine(imap.LastErrorText);
    return success;
}
Как это реализовать?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 441
Благодарностей
1 287
Баллы
113
Помогите, пожалуйста, есть список с именами в столбец - нужно скопировать все дубли в отдельный список.

Например Список #1:
1
5
5
3
2


Получить Список #2 (Не удаляя со старого списка дубли):
5
5


P.s Знаю, что можно сделать через списки перебором - но есть ли возможность сделать одним кубиком?

Заранее, очень благодарен за помощь!
 

evgen2208

Client
Регистрация
12.10.2016
Сообщения
130
Благодарностей
162
Баллы
43
Помогите, пожалуйста, есть список с именами в столбец - нужно скопировать все дубли в отдельный список.


C#:
project.List["list2"].AddRange(
    project.List["list1"].ToList().GroupBy(v => v).Where(g => g.Count() > 1).Select(g => g.Key)

);
 
  • Спасибо
Реакции: Gunjubasik

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 441
Благодарностей
1 287
Баллы
113
Помогите, пожалуйста, есть список с именами в столбец - нужно скопировать все дубли в отдельный список.

Например Список #1:
1
5
5
3
2


Получить Список #2 (Не удаляя со старого списка дубли):
5
5


P.s Знаю, что можно сделать через списки перебором - но есть ли возможность сделать одним кубиком?

Заранее, очень благодарен за помощь!


Я так понимаю, если вместо цифр, будут имена с отступами - это работать не будет? По крайней мере у меня не выходит.

C#:
project.List["Товары на Заказах"].AddRange(
    project.List["Список 2"].ToList().GroupBy(v => v).Where(g => g.Count() > 1).Select(g => g.Key)

);
А как быть, если есть список:

Вася П
Петя Л
Сережа Г
Вася П
Вася П



C#:
project.List["list2"].AddRange(
    project.List["list1"].ToList().GroupBy(v => v).Where(g => g.Count() > 1).Select(g => g.Key)

);
 
Последнее редактирование:

evgen2208

Client
Регистрация
12.10.2016
Сообщения
130
Благодарностей
162
Баллы
43
что за ошибка ?
Может в моей опечатке дело? )

project.List
project.Lists
 
  • Спасибо
Реакции: Gunjubasik

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 441
Благодарностей
1 287
Баллы
113
Регистрация
27.09.2019
Сообщения
69
Благодарностей
44
Баллы
18
Прошу подсказать, что делаю не так.
Суть в том, чтобы проверять наличие изменений во входных настройках.
Сделал с помощью текстовика, который должен заполняться при внесении изменений. Если содержимое строк совпадает, значит настройки не менялись.
Есть переменная project.Variables["donors"] во входных настройках, которая содержит список ссылок типа:

Код:
www.site.com/1
www.site.com/2
www.site.com/3
www.site.com/4
www.site.com/5
www.site.com/6
www.site.com/7
www.site.com/8
каждая ссылка с новой строки.
нужно создать массив из данных этой переменной, с количеством элементов равным количеству ссылок. делаю так:
C#:
string    []    donors = project.Variables["donors"].Value.Split(new [] {"\n"}, StringSplitOptions.RemoveEmptyEntries);
Если выполнить
Код:
return donors.Length;
возвращает верное количество элементов.
Моя задача сравнить содержимое данного массива с другим, который формируется при чтении текстового файла:
C#:
string [] tempList = File.ReadAllLines(tempListFile);
if (string.Join(",", tempList) != string.Join(",", donors))
{ 
     File.WriteAllText(tempListFile, project.Variables["donors"].Value, Encoding.UTF8);
}
Проблема в том, что данные строки всегда отличаются, потому что string.Join(",", donors) имеет лишние переносы.
C#:
return string.Join(",", donors);
/*
Выполнение кода C#  Результат: www.site.com/1
,www.site.com/2
,www.site.com/3
,www.site.com/4
,www.site.com/5
,www.site.com/6
,www.site.com/7
,www.site.com/8
*/
Опыта пока не много, не могу разобраться что не так, поэтому прощу подсказать, как исправить данную проблему.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Прошу подсказать, что делаю не так.
Суть в том, чтобы проверять наличие изменений во входных настройках.
Сделал с помощью текстовика, который должен заполняться при внесении изменений. Если содержимое строк совпадает, значит настройки не менялись.
Есть переменная project.Variables["donors"] во входных настройках, которая содержит список ссылок типа:

Код:
www.site.com/1
www.site.com/2
www.site.com/3
www.site.com/4
www.site.com/5
www.site.com/6
www.site.com/7
www.site.com/8
каждая ссылка с новой строки.
нужно создать массив из данных этой переменной, с количеством элементов равным количеству ссылок. делаю так:
C#:
string    []    donors = project.Variables["donors"].Value.Split(new [] {"\n"}, StringSplitOptions.RemoveEmptyEntries);
Если выполнить
Код:
return donors.Length;
возвращает верное количество элементов.
Моя задача сравнить содержимое данного массива с другим, который формируется при чтении текстового файла:
C#:
string [] tempList = File.ReadAllLines(tempListFile);
if (string.Join(",", tempList) != string.Join(",", donors))
{
     File.WriteAllText(tempListFile, project.Variables["donors"].Value, Encoding.UTF8);
}
Проблема в том, что данные строки всегда отличаются, потому что string.Join(",", donors) имеет лишние переносы.
C#:
return string.Join(",", donors);
/*
Выполнение кода C#  Результат: www.site.com/1
,www.site.com/2
,www.site.com/3
,www.site.com/4
,www.site.com/5
,www.site.com/6
,www.site.com/7
,www.site.com/8
*/
Опыта пока не много, не могу разобраться что не так, поэтому прощу подсказать, как исправить данную проблему.
C#:
string[] donors = project.Variables["donors"].Value.Split(new [] {"\r", "\n"}, StringSplitOptions.RemoveEmptyEntries);
 
  • Спасибо
Реакции: Sanekk и Senior Pomidor

Vinovnik

Client
Регистрация
10.08.2016
Сообщения
354
Благодарностей
106
Баллы
43
Подскажите, как сделать? Нужно ввести текст как-бы у тебя выбрана неправильная раскладка клавиатуры, то есть например (qwerty - йцукен) и наоборот (зеннопостер - ptyyjgjcnth) с учётом регистра.
 

Vinovnik

Client
Регистрация
10.08.2016
Сообщения
354
Благодарностей
106
Баллы
43
для notepad++ есть такая регулярка
Код:
Найти
(Й)|(й)|(Ц)|(ц)|(У)|(у)|(К)|(к)|(Е)|(е)|(Н)|(н)|(Г)|(г)|(Ш)|(ш)|(Щ)|(щ)|(З)|(з)|(Ф)|(ф)|(Ы)|(ы)|(В)|(в)|(А)|(а)|(П)|(п)|(Р)|(р)|(О)|(о)|(Л)|(л)|(Д)|(д)|(Я)|(я)|(Ч)|(ч)|(С)|(с)|(М)|(м)|(И)|(и)|(Т)|(т)|(Ь)|(ь)|(Б)|(б)|(Ю)|(ю)|(Ж)|(ж)|(Э)|(э) 


Заменить
(?1Q)(?2q)(?3W)(?4w)(?5E)(?6e)(?7R)(?8r)(?9T)(?10t)(?11Y)(?12y)(?13U)(?14u)(?15I)(?16i)(?17O)(?18o)(?19P)(?20p)(?21A)(?22a)(?23S)(?24s)(?25D)(?26d)(?27F)(?28f)(?29G)(?30g)(?31H)(?32h)(?33J)(?34j)(?35K)(?36k)(?37L)(?38l)(?39Z)(?40z)(?41X)(?42x)(?43C)(?44c)(?45V)(?46v)(?47B)(?48b)(?49N)(?50n)(?51M)(?52m)(?53<)(?54,)(?55>)(?56.)(?57:)(?58;)(?59")(?60')
может и для зенно можно так сделать?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Vinovnik держи

C#:
var x1 = Convert("qwerty",true); // йцукен
var x2 = Convert("зеннопостер",false); // ptyyjgjcnth
C#:
static string Convert(string input, bool eng_to_rus)
{
    var English = "qwertyuiop[]asdfghjkl;'zxcvbnm,.";
    var Russian = "йцукенгшщзхъфывапролджэячсмитьбю";

    var result = new StringBuilder(input.Length);
    int index;

    if (eng_to_rus)
    {
        foreach (var symbol in input)
            result.Append((index = English.IndexOf(symbol)) != -1 ? Russian[index] : symbol);
    }
    else
    {
        foreach (var symbol in input)
            result.Append((index = Russian.IndexOf(symbol)) != -1 ? English[index] : symbol);
    }
   
    return result.ToString();
}
 
  • Спасибо
Реакции: Vinovnik и AZANIR

Spector

Client
Регистрация
20.06.2019
Сообщения
15
Благодарностей
3
Баллы
3
Всем привет. Может кто помочь
Есть список в котором миллион строк. Нужно чтобы из этого списка бралось нужное количество рандомных строк и сохранялось в одну переменную. Сроки разделять через пробел или другой разделитель

Upd. Знаю немного JS, посмотрел примеры у других, плюс почекал инфу по C# и создал сам что надо (оказывается языки в каком то смысле похожи)
C#:
IZennoList list = project.Lists["List 1"];

string separator = "@@@"; // вместо @@@ пишем нужный разделитель
var number = 10; // число рандомных строк сколько вам нужно
string txt = "";
Random rnd = new Random();
for (int i=0; i<=number; i++) {
    int rndNumber = rnd.Next(0, list.Count);
    string str =l ist.ElementAt(rndNumber);
    txt = txt + separator + str;
}
   
return txt;
Может кому пригодится или кто поправит код
 
Последнее редактирование:
  • Спасибо
Реакции: H769

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 441
Благодарностей
1 287
Баллы
113
Доброго времени суток. Помогите, пожалуйста, написать снипет для парса из переменной - Json обьекта с помощью Newtonsoft.Json

В переменной GET у меня лежит Json обьект:
C#:
{
  "assets": [{
    "appid": 433850,
    "contextid": "1",
    "assetid": "169281666004564938",
    "classid": "3865322693",
    "instanceid": "0",
    "amount": "1"
  }, {
    "appid": 433850,
    "contextid": "1",
    "assetid": "169273228651517584",
    "classid": "3865322694",
    "instanceid": "0",
    "amount": "1"
  }, {
    "appid": 433850,
    "contextid": "1",
    "assetid": "169283384590801978",
    "classid": "2509706763",
    "instanceid": "0",
    "amount": "1"
  }, {
    "appid": 433850,
    "contextid": "1",
    "assetid": "169263449122978337",
    "classid": "1543707863",
    "instanceid": "0",
    "amount": "1"
  }],
  "descriptions": [{
    "appid": 433850,
    "classid": "3865322693",
    "instanceid": "0",
    "currency": 0,
    "background_color": "",
    "icon_url": "iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AbXTJ-DAS_wXI_I-6nDKLnrR2vlHChuEIfiMLyDfzf",
    "descriptions": [{
      "type": "html",
      "value": "This will apply an alternate appearance to a Sniper Rifle item in your inventory.",
      "color": ""
    }],
    "tradable": 0,
    "owner_descriptions": [{
      "type": "",
      "value": "Tradable after: [date]1592791200[/date].",
      "color": "FF0000"
    }],
    "name": "Snowstalker Sniper Rifle",
    "name_color": "692dd7",
    "type": "Rare Sniper Rifle Skin",
    "market_name": "Snowstalker Sniper Rifle",
    "market_hash_name": "Snowstalker Sniper Rifle",
    "commodity": 1,
    "marketable": 0,
    "tags": [{
      "category": "Type",
      "internal_name": "Skin",
      "localized_category_name": "Type",
      "localized_tag_name": "Skin"
    }, {
      "category": "Origin",
      "internal_name": "Icebreaker Crate",
      "localized_category_name": "Origin",
      "localized_tag_name": "Icebreaker Crate"
    }]
  }, {
    "appid": 433850,
    "classid": "3865322694",
    "instanceid": "0",
    "currency": 0,
    "background_color": "",
    "icon_url": "iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AbXTJ8PDm57EliZdK7KLPuuh3czSv-yXAQjDkuxf673vhdjYq0_pukORiqAVsCUYfbNuLXWQqvUSEa5Fl65g",
    "descriptions": [{
      "type": "html",
      "value": "WARNING: Mansport is not responsible for lost or misplaced backpacks.",
      "color": ""
    }],
    "tradable": 0,
    "owner_descriptions": [{
      "type": "",
      "value": "Tradable after: [date]1592780400[/date].",
      "color": "FF0000"
    }],
    "name": "Camouflage Backpack",
    "name_color": "e5a330",
    "type": "Ultra-Rare Backpack Skin",
    "market_name": "Camouflage Backpack",
    "market_hash_name": "Camouflage Backpack",
    "commodity": 1,
    "marketable": 0,
    "tags": [{
      "category": "Type",
      "internal_name": "Skin",
      "localized_category_name": "Type",
      "localized_tag_name": "Skin"
    }, {
      "category": "Origin",
      "internal_name": "Alpha Launch Crate",
      "localized_category_name": "Origin",
      "localized_tag_name": "Alpha Launch Crate"
    }]
  }, {
    "appid": 433850,
    "classid": "2509706763",
    "instanceid": "0",
    "currency": 0,
    "background_color": "",
    "icon_url": "iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AbXTJ8PDm57EliZdK7KLPuuh3WySnxyXoUgz870MKd7sFTkZq98oW1ORiqAVsCUYfbNuvTWBbxTygFD-_t_wg",
    "descriptions": [{
      "type": "html",
      "value": "This will apply an alternate appearance to a Helmet item in your inventory.",
      "color": ""
    }],
    "tradable": 1,
    "name": "FemSteph Motorcycle Helmet",
    "name_color": "1b723f",
    "type": "Common Helmet Skin",
    "market_name": "FemSteph Motorcycle Helmet",
    "market_hash_name": "FemSteph Motorcycle Helmet",
    "market_fee": "0.10",
    "commodity": 1,
    "market_tradable_restriction": 3,
    "market_marketable_restriction": 3,
    "marketable": 1,
    "tags": [{
      "category": "Type",
      "internal_name": "Skin",
      "localized_category_name": "Type",
      "localized_tag_name": "Skin"
    }, {
      "category": "Origin",
      "internal_name": "2017 Invitational Crate",
      "localized_category_name": "Origin",
      "localized_tag_name": "2017 Invitational Crate"
    }]
  }, {
    "appid": 433850,
    "classid": "1543707863",
    "instanceid": "0",
    "currency": 0,
    "background_color": "",
    "icon_url": "iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AEXT1iBhOf9lZ5Z-KEDKb2viz38xvh81McwSIww_C4MIXV",
    "descriptions": [{
      "type": "html",
      "value": "This will apply an alternate appearance to an item in your inventory.",
      "color": ""
    }],
    "tradable": 1,
    "name": "Henley Shirt",
    "name_color": "692dd7",
    "type": "Rare Chest Skin",
    "market_name": "Henley Shirt",
    "market_hash_name": "Henley Shirt",
    "market_fee": "0.10",
    "commodity": 1,
    "market_tradable_restriction": 3,
    "market_marketable_restriction": 3,
    "marketable": 1,
    "tags": [{
      "category": "Type",
      "internal_name": "Skin",
      "localized_category_name": "Type",
      "localized_tag_name": "Skin"
    }]
  }],
  "total_inventory_count": 4,
  "success": 1,
  "rwgrsn": -2
}

Мне нужно в спипете ввести имя ( например ):
Snowstalker Sniper Rifle (Его дорога: descriptions[0].market_name)
И получить в результате его внутренний элемент ID: 169281666004564938 (Дорога к нему: assets[0].assetid)


Т.е. вставляем из переменной имя Snowstalker Sniper Rifle в C# снипет и возвращаем ответ - его элемент: ID: 169281666004564938
 
Последнее редактирование:

SVRyzhov

Client
Регистрация
17.05.2017
Сообщения
47
Благодарностей
5
Баллы
8
Люди добрые! Поможите, чем могёте.
Как из C# работать с google таблицами?
В простую таблицу строка вставляется без проблем, а в гугловскую не вставляется.
C#:
IZennoTable sourceTableGoogl = project.Tables["GoogleTable"];
string A = "A";
string B = "B";
string C = "C";
string D = "D";
string strokaGoogl = String.Format("{0};{1};{2};{3}", A, B, C, D);
sourceTableGoogl.AddRow(strokaGoogl);
 

Yawarog

Client
Регистрация
25.03.2016
Сообщения
14
Благодарностей
4
Баллы
3
Доброго времени суток!
Есть 2 разные таблицы с синонимами.
Задача: эти две таблицы сравнить поячеечно и если 2 ячейки совпали, то строки с этими ячейками объединить в одну строку и положить в 3 таблицу, а если нет совпадений, то просто добавить новую строку.
Пример:
Таблица1
гарячий~горячий~горячии
легкий~лехкий~лехкии
мешать~мишать
крутить

Таблица2
лёхкий~лёгкий~легкий
убирать
горячий~горячие

Таблица 3
гарячий~горячий~горячии~горячие
легкий~лехкий~лехкии~лёхкий~лёгкий
мешать~мишать
крутить


Нюансы:
- всего строк на две таблицы около 10к
- сравнивать ячейки нужно целиком ("легкий" и "легкий шар" не синонимы)
- сначала идут синонимы из таблицы 1 (они основные), потом из таблицы 2 (они второстепенные)
- возможны такие случаи, когда из второй таблицы в одной строке могут встречаться ячейки из первой таблице в разных строках. вариант, который вижу я - это продублировать синонимы и туда, и туда, а я потом сам удалю дубли. если будут решения, предлагайте.

Может вы сможете мне помочь это реализовать с помощью сниппета (или другим способом)? Готов рассмотреть и платный вариант решения вопроса.
 
Последнее редактирование:

WWWorm

Client
Регистрация
29.08.2015
Сообщения
55
Благодарностей
14
Баллы
8
Привет! Никто не встречал снипет для рандомизации текста html тегами, вроде слово выделить жирным, цветом, подчеркивание и т.д.
 

cardelis

Новичок
Регистрация
03.09.2019
Сообщения
9
Благодарностей
6
Баллы
3
Прошу подсказать, как быстро распарсить базу мейлов по доменам?
Пока хватило на такое решение:
список привязан к файлу с базой, в цикле берется строка, регуляркой забирается домен и в файл с названием домена пишется мыло.

C#:
string dir = project.Directory + @"\mails", host = string.Empty, mail = string.Empty;
var mailsList = project.Lists["source"];
Regex rgx = new Regex (@"(?<=@).*\b");


while (mailsList.Count > 0)
{
    mail = mailsList[0];
    mailsList.RemoveAt(0);
    host = rgx.Match(mail).Value;
    
    File.AppendAllText(Path.Combine(dir, host + ".txt"), mail + Environment.NewLine, Encoding.UTF8);
    project.SendInfoToLog(mailsList.Count.ToString());
}
но скорость около 2к мыл в минуту, что при оптимальном раскладе займет около 5-6 часов.
Есть варианты без использования многопотока ускорить процесс?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Прошу подсказать, как быстро распарсить базу мейлов по доменам?
Пока хватило на такое решение:
список привязан к файлу с базой, в цикле берется строка, регуляркой забирается домен и в файл с названием домена пишется мыло.

C#:
string dir = project.Directory + @"\mails", host = string.Empty, mail = string.Empty;
var mailsList = project.Lists["source"];
Regex rgx = new Regex (@"(?<=@).*\b");


while (mailsList.Count > 0)
{
    mail = mailsList[0];
    mailsList.RemoveAt(0);
    host = rgx.Match(mail).Value;
   
    File.AppendAllText(Path.Combine(dir, host + ".txt"), mail + Environment.NewLine, Encoding.UTF8);
    project.SendInfoToLog(mailsList.Count.ToString());
}
но скорость около 2к мыл в минуту, что при оптимальном раскладе займет около 5-6 часов.
Есть варианты без использования многопотока ускорить процесс?
тебе нужно избавиться от постоянной дозаписи в файл. Думаю, на это уходит львиная доля времени. Хранить результаты парсинга где-то, а записывать в файлы в конце всех действий
 
  • Спасибо
Реакции: cardelis

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Вывод в лог и удаление строк убрал. И то и другое сильно тормозит отработку.
C#:
string dir = project.Directory + @"\mails\", host = string.Empty, mail = string.Empty;
var mailsList = project.Lists["source"];
Regex rgx = new Regex (@"(?<=@).*\b");

//Enumerable.Range(0, mailsList.Count).AsParallel().ForAll( i =>
for(int i = 0; i < mailsList.Count; i++)
{
    mail = mailsList[i];
    host = rgx.Match(mail).Value;
    
    lock(CommonCode.SyncObject)
    {
        using (StreamWriter writer = new StreamWriter(dir+host+".txt", true))
        {               
            writer.WriteLine(mail);               
        }
    }
}
mailsList.Clear();
 
  • Спасибо
Реакции: orka13 и cardelis

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
C#:
instance.SetJSValuePromptPolicy("Текст", "Ok");
ребята, нужен снипет, который выйдет по красной ветке если промпта не было https://bezvozni.github.io/randomprompt/
или другим образом сообщит, что промпта нет

такой снипет сложен в реализации? на форуме чтото такое можно найти?
 
Последнее редактирование:

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
аналог зеновского экшена для загрузки файлов, только с поддержкой запятых сложен в реализации? на форуме чтото такое можно найти?
 

Nike59

Client
Регистрация
05.08.2011
Сообщения
122
Благодарностей
121
Баллы
43
аналог зеновского экшена для загрузки файлов, только с поддержкой запятых сложен в реализации? на форуме чтото такое можно найти?
Что за поддержка запятых? В пути файла? Если, да, то никаких сложностей нет. Указываешь путь файла с использованием @. Этот оператор позволяет игнорировать спецсимволы в внутри заковыченного выражения. Только если встречаются двойные кавычки, то каждую надо удваивать.
 
  • Спасибо
Реакции: bezvozni

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
Указываешь путь файла с использованием @. Этот оператор позволяет игнорировать спецсимволы в внутри заковыченного выражения.
это как?
вместо
не работает
 

Nike59

Client
Регистрация
05.08.2011
Сообщения
122
Благодарностей
121
Баллы
43
это как?

вместо

не работает
Надо вначале загнать путь к файлу в строковую переменную, а потом обращаться, например, так:
C#:
// Твой путь: string path = @"D:/p,a,t,hf,i,l,e.txt.mov";
//Для иллюстрации, что пути работают я взял файл с расширением txt
//В примере считывается построчно текстовый файл. В лог выводится первая строка
string path = @"E:/p,a,t,hf,i,l,e.txt";
var array = File.ReadAllLines(path);
project.SendInfoToLog("Выводим первую строку текстового файла:   " + array[0], true);
Код работает нормально.
 
Последнее редактирование:

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
Последнее редактирование:

alex1988

Client
Регистрация
13.07.2014
Сообщения
355
Благодарностей
139
Баллы
43
Подскажите как в слове в случайное место вставить пробел?
Пример на слове привет (при вет, п ривет, пр ивет)
 

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
Надо вначале загнать путь к файлу в строковую переменную, а потом обращаться, например, так:
C#:
// Твой путь: string path = @"D:/p,a,t,hf,i,l,e.txt.mov";
//Для иллюстрации, что пути работают я взял файл с расширением txt
//В примере считывается построчно текстовый файл. В лог выводится первая строка
string path = @"E:/p,a,t,hf,i,l,e.txt";
var array = File.ReadAllLines(path);
project.SendInfoToLog("Выводим первую строку текстового файла:   " + array[0], true);
Код работает нормально.
C#:
string path = @"D:\p,a,t,h\f,i,l,e.MOV";
instance.SetFilesForUpload(path);
не работает ..
 

Nike59

Client
Регистрация
05.08.2011
Сообщения
122
Благодарностей
121
Баллы
43
C#:
string path = @"D:\p,a,t,h\f,i,l,e.MOV";
instance.SetFilesForUpload(path);
не работает ..
Вот эта штука instance.SetFilesForUpload() работает с возможностью передачи нескольких файлов. Подозреваю, что "," является в ней разделителем файлов (параметров). Поэтому и ломается. Мой пример загрузки (считывания) текстового файла с запятыми в путях протестирован и работает (Версия 7.1.6 у меня). Поэтому стоит, наверное, найти способ переименовать пути к файлу, чтобы не было запятых. Например, заменить запятые подчеркиваниями или вообще убрать. Понятно, что вы не просто запятые используете в путях, а с какой-то целью. Подумайте, как можно сделать по-другому, без них и других спецсимволов (хотя запятая и не спецсимвол, но может быть зарезервирована как разделитель).

P.S. Тут еще может быть нюанс. Политика загрузки файлов.
Попробуй установить перед оператором загрузки вот это:

C#:
 instance.SetFileUploadPolicy("ok", "");
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: bezvozni

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
короче пришлось делать копию без запятых и заливать её
 

Кто просматривает тему: (Всего: 4, Пользователи: 0, Гости: 4)