Что нового

Замена даты времени в xml фаиле с периодичностью 6 секунд

MaxHex

Новичок
Сообщения
16
Репутация
0
Версия AutoIt: 3.
3.3.14.3
Описание:
Здравствуйте, подскажите возможно ли сделать такое: есть xml фаил (во вложении), в нем есть тэги <time></time> (их может быть и 1000 и 10), нужна функция которая будет принимать параметры: год, день, месяц, час, минуты, секунды - а далее все последующие теги будет редактировать с последовательностью 6 секунд.
 

Вложения

  • 1.txt
    3 КБ · Просмотры: 2
Автор
M

MaxHex

Новичок
Сообщения
16
Репутация
0
Реализовал функцию по увеличению времени на 6 секунд вот так:
Код:
Func _PlusTime($Year, $Month,$Day, $Hour, $Minute, $Secund) ; увеличивае время на 6 секунд и возвращает массив на 6 элементов (год, месяц, день, час, минуты, секунды)
	Dim $ArrayData[6]
	If $Secund + 6 >= 60 Then
		$Secund = $Secund + 6 - 60
		$Minute = $Minute + 1
	ElseIf $Secund < 60 Then
		$Secund = $Secund + 6
	EndIf
	If $Minute >= 60 Then
		$Minute = $Minute - 60
		$Hour = $Hour + 1
	EndIf
	If $Hour >= 24 Then
		$Hour = $Hour - 24
		$Day = $Day + 1
	EndIf
	If $Month = 1 Or $Month = 3 Or $Month = 5 Or $Month = 7 Or $Month = 8 Or $Month = 10 Or $Month = 12 And $Day > 31 Then
		$Day = $Day - 31
		$Month = $Month+1
	EndIf
	If $Month = 4 Or $Month = 6 Or $Month = 9 Or $Month = 11 And $Day > 30 Then
		$Day = $Day - 30
		$Month = $Month + 1
	EndIf
	If $Month = 2 And IsInt ($Year/4) = 1 And $Day > 29 Then
		$Day = $Day - 29
		$Month = $Month + 1
	ElseIf $Month = 2 And IsInt ($Year/4) = 0 And $Day > 28 Then
		$Day = $Day - 28
		$Month = $Month + 1
	EndIf
	If $Month > 12 Then
		$Month = $Month - 12
		$Year = $Year + 1
	EndIf

	$Secund = _two_digital ($Secund)
	$Minute = _two_digital ($Minute)
	$Hour = _two_digital ($Hour)
	$Day = _two_digital ($Day)
	$Month = _two_digital ($Month)

	$ArrayData[0] = $Year
	$ArrayData[1] = $Month
	$ArrayData[2] = $Day
	$ArrayData[3] = $Hour
	$ArrayData[4] = $Minute
	$ArrayData[5] = $Secund
	;Return $Year & "-" & $Month & "-" & $Day & "T" & $Hour & ":" & $Minute & ":" & $Secund & "Z"
	Return $ArrayData
EndFunc

Func _two_digital ($Parametr)
	If StringLen ($Parametr) < 2 Then
		$Parametr = 0 & $Parametr
	EndIf
	Return $Parametr
EndFunc
Если не сложно можете указать на ошибки, если они есть
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
С задачей по увеличению (уменьшению) времени , даты справится штатная функция из UDF 'Date.au3'
Код:
#include <Date.au3>
_DateAdd($sType, $iValToAdd, $sDate)
 

semiono

Новичок
Сообщения
18
Репутация
0
Код:
      <item>
         <string name="Group" value="SurfaceSchemeColorSetPreferences10"/>
         <member name="Values">
            <int name="surface.system.root" value="-14342101"/>
         </member>
      </item>
Подскажите как value изменить? Может близкий пример есть?
 
Верх