Автор Тема: Вычисление разницы во времени в файле txt  (Прочитано 130 раз)

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

Оффлайн Ragn [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Здравствуйте, уважаемы форумчане.
Помогите решить проблему.

Как двумя скриптами 1.au3 и 2.au3 при их срабатывании - записать в один "файл.txt" текст построчно ?
Запись - через Tab.
Первый скрипт записывает в строке:  "1", tab, текущая дата, tab, текущее время, tab
Второй скрипт - то же самое, но в начале строки - "2".

Действует условие:  Если строка начинается с "2" - то нужно вычислить разницу во времени (в минутах) в отношении ближайшей верхней строки. И через Tab - записать.
Получится вот такой текст в документе "файл.txt":
(нажмите для показа/скрытия)

Ссылка на файл:
dropmefiles.com/ujg7x

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

Вычисление разницы во времени в файле txt
« Отправлен: Ноябрь 09, 2018, 16:07:59 »

Помечен как лучший ответ пользователем Ragn Отправлен Ноябрь 12, 2018, 14:22:07

Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 811
  • Репутация: 145
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вычисление разницы во времени в файле txt
« Ответ #1, Отправлен: Ноябрь 09, 2018, 21:29:28 »
Попробуйте так (это не окончательный вариант - нет проверок на ошибки итд )
Скрипт 1
Код: AutoIt [Выделить]
#include <Date.au3>

FileWrite('File.txt', '1' & @TAB & _NowDate() & @TAB & _NowTime() & @CRLF)


Скрипт 2
Код: AutoIt [Выделить]
#include <Date.au3>

Local $TimeDif = ''
$FileData = StringSplit(FileReadLine('File.txt', -1), @TAB)
$StartData=StringRegExpReplace($FileData[2], '(\d{2}).(\d{2}).(\d{4})', '$3/$2/$1')&' '& $FileData[3]
If $FileData[1] = 1 Then $TimeDif = _DateDiff('n',$StartData,_NowCalc())
FileWrite('File.txt', '2' & @TAB & _NowDate() & @TAB & _NowTime() & @TAB & $TimeDif & @CRLF)


Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 811
  • Репутация: 145
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вычисление разницы во времени в файле txt
« Ответ #2, Отправлен: Ноябрь 10, 2018, 00:05:41 »
Я , вероятно не верно понял условие и считал время , только , если перед строкой 2 была строка 1 , если не важно, что перед строкой 2 , то ещё проще:
Код: AutoIt [Выделить]
#include <Date.au3>

Local $TimeDif = ''
$FileData = StringSplit(FileReadLine('File.txt', -1), @TAB)
$StartData=StringRegExpReplace($FileData[2], '(\d{2}).(\d{2}).(\d{4})', '$3/$2/$1')&' '& $FileData[3]
$TimeDif = _DateDiff('n',$StartData,_NowCalc())
FileWrite('File.txt', '2' & @TAB & _NowDate() & @TAB & _NowTime() & @TAB & $TimeDif & @CRLF)

если нужно искать последнюю строку с 1 , то нужно её искать тогда,Ragn,уточните.

Оффлайн Ragn [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вычисление разницы во времени в файле txt
« Ответ #3, Отправлен: Ноябрь 12, 2018, 14:23:03 »
Первый вариант - нормально работает.
Спасибо.

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

Re: Вычисление разницы во времени в файле txt
« Ответ #3 Отправлен: Ноябрь 12, 2018, 14:23:03 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
4700 Просмотров
Последний ответ Май 08, 2010, 16:39:15
от lognik
12 Ответов
5847 Просмотров
Последний ответ Ноябрь 20, 2010, 04:59:52
от Kaster
18 Ответов
10741 Просмотров
Последний ответ Декабрь 12, 2011, 09:01:51
от Kaster
4 Ответов
5212 Просмотров
Последний ответ Апрель 16, 2012, 16:01:57
от Kaster
8 Ответов
5411 Просмотров
Последний ответ Декабрь 15, 2014, 17:04:16
от madmasles
1 Ответов
1750 Просмотров
Последний ответ Декабрь 31, 2013, 15:14:16
от firex
4 Ответов
1267 Просмотров
Последний ответ Октябрь 29, 2014, 16:55:13
от vld-k
14 Ответов
4262 Просмотров
Последний ответ Март 03, 2016, 16:29:50
от Alofa
15 Ответов
2878 Просмотров
Последний ответ Май 27, 2016, 16:39:47
от CreatoR
4 Ответов
5962 Просмотров
Последний ответ Август 24, 2016, 13:27:30
от iltmpz