Извините, но видимо Вы меня не поняли. Имелось ввиду привязка файла ко списку экшеном а не в настройках списка.При сохранении можно указывать свой разделитель, либо если нужно поменять на другой - то замена
А разве не сработает, если в настройках списка поставить галочку "Загружать из файла", прописать нужный разделитель и привязывать кубиком?Имелось ввиду привязка файла ко списку экшеном а не в настройках списка.
В том-то и дело, что разделители будут меняться в течении одного проекта и нужно, чтобы было возможно изменить разделитесь автоматически а не каждый раз менять вручную.А разве не сработает, если в настройках списка поставить галочку "Загружать из файла", прописать нужный разделитель и привязывать кубиком?
Что конкретно нужно сделать? Есть какие-то строки, у которых один разделитель, а потом другие строки с другим разделителем и их нужно записать в список? Или что-то другое?В том-то и дело, что разделители будут меняться в течении одного проекта и нужно, чтобы было возможно изменить разделитесь автоматически а не каждый раз менять вручную.
Нужно, чтобы можно было бы указать при прикреплении файла ко списку одновременно указать и уникальный разделитель для конкретного файла, чтобы сразу список принял тот вид, который нужен.Что конкретно нужно сделать? Есть какие-то строки, у которых один разделитель, а потом другие строки с другим разделителем и их нужно записать в список? Или что-то другое?
Тебе хотелось бы, чтобы можно было к списку прикрепить несколько разных файлов с разными разделителями, но такого функционала нет. Поэтому можно это сделать на C#.Нужно, чтобы можно было бы указать при прикреплении файла ко списку одновременно указать и уникальный разделитель для конкретного файла, чтобы сразу список принял тот вид, который нужен.
Взял рандом файл -» Прикрепил ко списку -» Указал разделитель списка для файла = Список принял тот вид который нужен, то есть правильно понял какие данные нужно считать за единицу ячейки списка
String s = System.IO.File.ReadAllText("путь к файлу");
for (int i = 0; i < s.Split(new char[] {'разделитель'}).Length; i++)
project.Lists["list"].Add(s.Split(new char[] {'разделитель'})[i]);
String s = System.IO.File.ReadAllText("путь к файлу");
for (int i = 0; i < s.Split(new char[] {'разделитель', 'разделитель1', 'разделитель2'}).Length; i++)
project.Lists["list"].Add(s.Split(new char[] {'разделитель', 'разделитель1', 'разделитель2'})[i]);
String s = System.IO.File.ReadAllText("путь к файлу") + System.IO.File.ReadAllText("путь к файлу1");
s.Split(new string[] {"разделитель"}, StringSplitOptions.None);
То, что нужно было, спасибо!Если разделитель - это не 1 символ, а несколько, то тогда надо так:
А мне кажется, ты не так понялТо, что нужно было, спасибо!
Все правильно ) Именно сложные разделители мне нужны. Не то, чтоб в одном файле много, а просто у разных файлов разделители разные и они сложные сочетания. Например такие +++ или такие $ $ $ *** $$$ ну и т.д.А мне кажется, ты не так понял
Несколько символов в другом смысле.
Например, есть строка "111|222|333". Разделитель '|' - один символ. Есть другая строка "111№%:222№%:333". Разделитель "№%:" - много символов. Я это имела в виду. Если у тебя так, что есть строки с разными разделителями, то их нельзя все написать в s.Split(new string[] {"разделитель"}, StringSplitOptions.None);. Т.е. как, можно, но вот так тогда s.Split(new string[] {"разделитель", "разделитель1", "разделитель2"}, StringSplitOptions.None); Но если ты так сделаешь, тебе надо подумать, не является ли тот символ (или символы), которые используются как разделитель для строк из одного файла, обычной частью строк из другого файла (не разделителем). Надеюсь, понятно написала.
Такс.. Ща хотел поставить и встал перед проблемой.А мне кажется, ты не так понял
Несколько символов в другом смысле.
Например, есть строка "111|222|333". Разделитель '|' - один символ. Есть другая строка "111№%:222№%:333". Разделитель "№%:" - много символов. Я это имела в виду. Если у тебя так, что есть строки с разными разделителями, то их нельзя все написать в s.Split(new string[] {"разделитель"}, StringSplitOptions.None);. Т.е. как, можно, но вот так тогда s.Split(new string[] {"разделитель", "разделитель1", "разделитель2"}, StringSplitOptions.None); Но если ты так сделаешь, тебе надо подумать, не является ли тот символ (или символы), которые используются как разделитель для строк из одного файла, обычной частью строк из другого файла (не разделителем). Надеюсь, понятно написала.
Ну давай я посмотрю в вики за тебя http://zennolab.com/wiki/ru:input-settingsТакс.. Ща хотел поставить и встал перед проблемой.
Мне нужно, чтобы разделитель можно было бы указать во входных данных ) Не подскажешь как это сделать?
Ох, блин Например, ты записал разделитель в переменную divider.Это я знаю, только с кодом не работает)
String s = System.IO.File.ReadAllText("путь к файлу");
String divider = project.Variables["divider"].Value;
for (int i = 0; i < s.Split(new string[] {divider}, StringSplitOptions.None).Length; i++)
project.Lists["list"].Add(s.Split(new string[] {divider}, StringSplitOptions.None)[i]);
Спасибо Как благодарность сейчас отправлю в личку ту инфу, что ты просилаОх, блин Например, ты записал разделитель в переменную divider.
Это я написала для варианта, когда у тебя разделитель - сложное сочетание (как ты и говорил).Код:String s = System.IO.File.ReadAllText("путь к файлу"); String divider = project.Variables["divider"].Value; for (int i = 0; i < s.Split(new string[] {divider}, StringSplitOptions.None).Length; i++) project.Lists["list"].Add(s.Split(new string[] {divider}, StringSplitOptions.None)[i]);
IZennoList list = project.Lists["List"]; // список проекта
string path = project.Variables["path"].Value; // путь к файлу
string separator = project.Variables["separator"].Value; // разделитель
string str = File.ReadAllText(path);
string[] split = str.Split(new[] {separator}, StringSplitOptions.None);
foreach (string s in split)
list.Add(s);
То, что надо было, спасибо!!Не надо ничего вставлять "вместо", просто создай переменные с названиями path и separator.
В переменной path должен быть путь к файлу, в переменной separator - разделитель.
Замени строкуА можно сделать так, чтобы разделитель был не обычным текстом а регулярным выражением?