Сниппет: Сгенерировать значение, положить в переменную.

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Подскажите снипет. Если в переменной symvols пусто, то нужно с генерировать значение из 8 символов, только прописные буквы, положить его в переменную symvols. Если переменная symvols не пустая, выполнять код дальше.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Подскажите снипет. Если в переменной symvols пусто, то нужно с генерировать значение из 8 символов, только прописные буквы, положить его в переменную symvols. Если переменная symvols не пустая, выполнять код дальше.
C#:
var res = project.Variables["symvols"].Value;

if (string.IsNullOrEmpty(res))
{
    var chars = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
    var buffer = new StringBuilder();

    int count = 8;
    for (int i = 0; i < count; i++)
    {
        buffer.Append(chars[Global.Classes.rnd.Next(chars.Length)]);
    }

    project.Variables["symvols"].Value = buffer.ToString();
}
else
{
    // переменная не пуста
}
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Сто лет жизни тебе тезка, процветанию острову Сахалин! Решил обьеденить сниппеты и что то не пишет строку обратно в таблицу. Что ломает код?

Код:
lock(SyncObjects.TableSyncer){
   
    // берем первую строку с удалением и раскидываем значения по переменным
    var row = project.Tables["AccountsList"].GetRow(0).ToList();
    project.Tables["AccountsList"].DeleteRow(0);
    project.Variables["USER_ADDRESS"].Value = row[0];
    project.Variables["USER_PROFILE_NAME"].Value = row[1];
    project.Variables["PROXY"].Value = row[2];
    project.Variables["USER_TIME_LAST"].Value = row[3];
    project.Variables["USER_COMMENT"].Value = row[4];

// генерируем имя профайла если его нет
var res = project.Variables["USER_PROFILE_NAME"].Value;
if (string.IsNullOrEmpty(res))
{
    var chars = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
    var buffer = new StringBuilder();
    int count = 8;
    for (int i = 0; i < count; i++)
    {
        buffer.Append(chars[Global.Classes.rnd.Next(chars.Length)]);
    }
    project.Variables["USER_PROFILE_NAME"].Value = buffer.ToString();
}
else
{

// возвращаем строку в конец таблицы
    project.Tables["AccountsList"].AddRow(project.Variables["USER_ADDRESS"].Value+"\t"+project.Variables["USER_PROFILE_NAME"].Value+"\t"+project.Variables["PROXY"].Value+"\t"+project.Variables["USER_TIME_LAST"].Value+"\t"+project.Variables["USER_COMMENT"].Value);
}
}
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
А понял, после генерации значения нет записи в таблицу.
 

Vass

Client
Регистрация
03.02.2014
Сообщения
79
Благодарностей
10
Баллы
8
А если нужно генерировать как логин?
 

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