Автор Тема: Помогите с проверкой текста и добавление даты  (Прочитано 965 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gunter123 [?]

  • Осваивающий
  • **
  • Сообщений: 110
  • Репутация: 42
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Если используете функцию с подчеркиванием, то попробуйте такой код:
Код: AutoIt [Выделить]
#include <Array.au3>
#include <File.au3>
#include <Date.au3>

$iDaysCount = 6            ; Количество дней
Dim $aList[0]
_FileReadToArray(@ScriptDir & '\Список.txt', $aList)
If @error Then Exit 1
_ArrayDelete($aList, 0)

For $i = UBound($aList) -1 To 0 Step -1
   If _IsDate($aList[$i]) Then
      If _DateDiff('d', StringRight($aList[$i], 4) & '/' & StringMid($aList[$i], 4, 2) & '/' & StringLeft($aList[$i], 2) & ' 00:00:00', _NowCalc()) > $iDaysCount Then
         Do
            _ArrayDelete($aList, $i)
         Until $i = UBound($aList) OR _IsDate($aList[$i]) OR UBound($aList) = 0
      EndIf
   EndIf
Next

_ArrayAdd($aList, @CRLF & @MDAY & '.' & @MON & '.' & @YEAR & @CRLF & "Группа а. ")
_ArrayAdd($aList, @CRLF & @MDAY & '.' & @MON & '.' & @YEAR & @CRLF & "Группа б. ")
_FileWriteFromArray(@ScriptDir & '/Список.txt', $aList)

Func _IsDate($sDate)
   Return ((StringLen($sDate) = 10) AND (StringRegExp($sDate, "(\d{2}\.\d{2}\.\d{4})") = 1))
EndFunc

Если не работает, прикрепите ваш файл с датами
У вас в первом сообщении написано, что разница в датах должна быть больше 6 дней, а не 5. Добавил переменную в начале скрипта, можете изменять
« Последнее редактирование: Апрель 17, 2018, 09:25:52 от gunter123 »
Is it future or is it past?

Русское сообщество AutoIt

Re: Помогите с проверкой текста и добавление даты
« Ответ #15 Отправлен: Апрель 17, 2018, 09:16:31 »

Оффлайн Serega1383 [?]

  • Новичок
  • *
  • Сообщений: 25

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Выдаёт ошибку: array variable subscript badly formatted.
Dim $aList[0]
Dim $aList[^ ERROR

Оффлайн Serega1383 [?]

  • Новичок
  • *
  • Сообщений: 25

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Надо чтоб в этом файле удалил все до даты 25.11.2018 (то есть старше 5 дней от текущей даты) и добавил сегодняшнюю дату с ниже подписью класс .



Добавлено: Ноябрь 30, 2018, 09:28:01
Вот этот файл нужно второй который. В


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Ноябрь 30, 2018, 09:30:05 от Serega1383, Причина: Объединение сообщений »

Оффлайн xXx [?]

  • Новичок
  • *
  • Сообщений: 42
  • Репутация: 11
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Код: AutoIt [Выделить]
#include <Date.au3>
$sFine_IN = @ScriptDir & '\1.txt'
$sFine_OUT = @ScriptDir & '\2.txt'
$sChr = Chr(164)

$sText = FileRead($sFine_IN)
If @error Then Exit

$sText = StringRegExpReplace($sText, '(?mi)(^\d\d\.\d\d\.\d{4}\s+класс)', $sChr & '\1')
$aArray = StringRegExp($sText, $sChr & '(\d\d\.\d\d\.\d{4})([^' & $sChr & ']+)', 3)
$sText = ''

For $i = 0 To UBound($aArray) - 1 Step 2
    If _DateDiff('D', StringRegExpReplace($aArray[$i], '(\d\d)\.(\d\d)\.(\d{4})', '\3/\2/\1'), _
            _NowCalcDate()) < 6 Then $sText &= $aArray[$i] & $aArray[$i + 1]
Next
$sText &= @CRLF & @MDAY & '.' & @MON & '.' & @YEAR & @CRLF & 'Класс.' & @CRLF

FileWrite($sFine_OUT, $sText)


Русское сообщество AutoIt

Re: Помогите с проверкой текста и добавление даты
« Ответ #18 Отправлен: Декабрь 01, 2018, 01:12:53 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
2871 Просмотров
Последний ответ Март 10, 2011, 16:28:33
от madmasles
6 Ответов
3703 Просмотров
Последний ответ Декабрь 05, 2011, 05:45:39
от AZJIO
1 Ответов
2934 Просмотров
Последний ответ Февраль 02, 2012, 09:55:21
от madmasles
5 Ответов
2326 Просмотров
Последний ответ Июнь 10, 2014, 17:03:53
от Talany
8 Ответов
1588 Просмотров
Последний ответ Октябрь 20, 2014, 13:59:37
от Nefakt
0 Ответов
1386 Просмотров
Последний ответ Февраль 16, 2015, 17:30:38
от itskun
3 Ответов
2329 Просмотров
Последний ответ Декабрь 22, 2015, 22:12:27
от ra4o
18 Ответов
6508 Просмотров
Последний ответ Февраль 08, 2016, 21:33:10
от avtoIT
0 Ответов
854 Просмотров
Последний ответ Август 22, 2016, 19:48:31
от endpoints
7 Ответов
1536 Просмотров
Последний ответ Февраль 05, 2017, 12:08:34
от axsmak