Поучить строку из таблицы по критерию "даты" и потом изменить "дату"

Infernal_Rain

Client
Регистрация
09.01.2016
Сообщения
20
Благодарностей
4
Баллы
3
Здравствуйте.
Подскажите, пожалуйста, если не решение, то хотя бы логику следующей задачи:

Есть таблица, ( http://joxi.ru/52akMN3TEa7zkr ) в которой каждая строка содержит определенные данные для авторизации. В строке есть дата последней авторизации.
1. Нужно получить строки, в которых дата подходит под определенное условие, например, не равна сегодняшней (текущей).
В примере из таблицы со скрина - это две первые строки с датами 27.06.
Остальные имеют текущую (28.06.) дату и не подходят.

2. Получить эти строки, произвести авторизацию и в случае успешной авторизации изменить дату на текущую.

С проверкой авторизации - все понятно. Не могу понять, как выбрать строки по условию даты и как потом обновить данные даты.

Вариант - брать строку с удалением, а потом записывать новую с новыми данными - не подходит. Строки должны оставаться на своих местах и не смещаться.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 444
Благодарностей
1 287
Баллы
113

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Первый блок
1) Операции над таблицей - Взять столбец (G) - В список (Даты)
2) Создаем счечтик, пишем в переменной счетчика 0 (это по сути номер строки, я так буду дальше писать, что бы не путать)
3) Список Даты - Получить строку - по номеру (номеру строки)
4) Полученную строку сверяешь с нужной датой.
5) Если дата которая нужна, записываешь номер строки в другой список (Список "Номер строки")
*) Если дата которая не нужна, то не записываешь
6) Увеличиваешь "Номер строки" на 1 и берешь новую строку
7) Когда номера кончатся, то по красной ветке веди ко второму блоку

Второй блок
1) Проверка на кол-во строк в списке Номер строки, и логика if {-Variable.number_str-}!=0, что означает, если строк нету, то будет красная ветка и работа завершится.
2) Если строки есть, то берем первую строку из Списка"Номер строки" с удалением.
3) Операции над таблицей - записать ячейку - Столбец G - Строка (из пременной)

Все))

Если надо это сделать в цикле, не забывайте очищать списки которые использовались для работы.
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Не могу понять, как выбрать строки по условию даты и как потом обновить данные даты.
Нужно получить значение ячейки таблицы, провести необходимые действия и перезаписать эту ячейку, в случае необходимости. Пара в коде вместо тучи кубиков getcell и setcell
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Здравствуйте.
Подскажите, пожалуйста, если не решение, то хотя бы логику следующей задачи:

Есть таблица, ( http://joxi.ru/52akMN3TEa7zkr ) в которой каждая строка содержит определенные данные для авторизации. В строке есть дата последней авторизации.
1. Нужно получить строки, в которых дата подходит под определенное условие, например, не равна сегодняшней (текущей).
В примере из таблицы со скрина - это две первые строки с датами 27.06.
Остальные имеют текущую (28.06.) дату и не подходят.

2. Получить эти строки, произвести авторизацию и в случае успешной авторизации изменить дату на текущую.

С проверкой авторизации - все понятно. Не могу понять, как выбрать строки по условию даты и как потом обновить данные даты.

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

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
C#:
string nowDate = "28 июн";
var table = project.Tables["table"];
int n = table.RowCount;
for(int i = 0; i < n; i++)
{
    string date = table.GetCell(G, i);
    if(date!=nowDate)
    {
    //авторизация - состряпаете тут Post для авторизации где Вам там надо
    }
    table.SetCell(G, i, date);
}
 

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