Недавние сообщения

Страницы: 1 2 [3] 4 5 ... 10
21
Стол заказов / Re: пакетная обработка логов
« Последний ответ от xXx Отправлен Июнь 20, 2019, 22:54:03 »
Код: AutoIt [Выделить]
#include <File.au3>
Global $iSum, $FileList, $sStrOut
Global $sFileOut = '+ИТОГОВЫЙ+.log'
Global $sFindDir = @ScriptDir ; Папка c файлами

$FileList = _FileListToArray($sFindDir, '*.log', 1)
If @error Then Exit 11
$sFindDir = StringRegExpReplace($sFindDir, '[\\/]+$', '')
For $i = 1 To $FileList[0]
    $sRead = FileRead($sFindDir & '\' & $FileList[$i])
    If @error Then ContinueLoop
    $aArray = StringRegExp($sRead, '(?m)^\h*(?:[^;]*;){3}56;(?:[^;]*;){7}\h*([\d.-]+)', 3)
    If @error Then ContinueLoop
    For $j = 0 To UBound($aArray) - 1
        $iSum += $aArray[$j]
    Next
    $sStrOut &= '"' & $FileList[$i] & '" имеет отмененных чеков на сумму ' & ($iSum * -1) & @CRLF
    $iSum = 0
Next
FileWrite($sFindDir & '\' & $sFileOut, $sStrOut)

22
Общие вопросы по AutoIt / Re: Фиксированное значение знаков после точки(запятой)
« Последний ответ от VadimKHL Отправлен Июнь 20, 2019, 14:17:20 »
Оооо! Спасибо!
23
Общие вопросы по AutoIt / Re: Фиксированное значение знаков после точки(запятой)
« Последний ответ от Tempo Отправлен Июнь 20, 2019, 14:11:27 »
Код: AutoIt [Выделить]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

_Example()

Func _Example()
    Local $hGUI = GUICreate("Пример", 400, 300), $sValue
    For $i = 0 To 13
        $sValue = StringFormat("%.3f", $i + 10)
        GUICtrlCreateLabel($sValue, 10, $i * 20 + 10, 380, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
    Next
    GUISetState()

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Example
 

24
Общие вопросы по AutoIt / Фиксированное значение знаков после точки(запятой)
« Последний ответ от VadimKHL Отправлен Июнь 20, 2019, 13:55:03 »
Число 12111 / 1000 отображается как 12,111.
Как заставить отображаться 12000 / 1000 как 12,000?

Т.е. запретить убирать незначемые нули после точки с определенной разрядность (два или три знака после точки).
25
Стол заказов / Re: пакетная обработка логов
« Последний ответ от sngr Отправлен Июнь 20, 2019, 12:14:31 »
Код: AutoIt [Выделить]
#include 'array.au3'
#include 'file.au3'
$aArr=_FileListToArray(@ScriptDir,'*.txt')
$zzz=''
For $i = 1 To  $aArr[0]
    $file=FileRead(@ScriptDir&'\'&$aArr[$i])
    $str=StringRegExp($file,'[^;]+;([^;]*;)([^;]*;)56;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;[^;]*;([^;]*);',3)
    For $y = 0 To UBound($str)-1 Step 3
        $zzz&=$str[$y]&$str[$y+1]&$str[$y+2]& @CRLF
    Next
Next
FileWrite(@ScriptDir&'\_123.log',$zzz)

27
Стол заказов / пакетная обработка логов
« Последний ответ от Glass4217 Отправлен Июнь 20, 2019, 06:42:48 »
Версия AutoIt: 3.5.4

Описание: Всем добрый день, возникла по работе необходимость читать логи с касс. а у меня пока серьезный затык с обработкой регулярных выражений.
есть несколько файл-логов один чек выглядит как несколько строк:
480911;07.03.19;08:45:35;65;1;5894;19;0;0;0.00;0.000;0.00;
480912;07.03.19;08:48:07;11;1;5894;19;7004079;1;45.10;1.000;45.10;
480913;07.03.19;08:48:12;11;1;5894;19;7007402;1;73.40;2.000;146.80;
480914;07.03.19;08:48:15;11;1;5894;19;7007401;1;73.40;1.000;73.40;
480915;07.03.19;08:48:45;75;1;5894;19;1;1;265.30;0.000;40.47;
480916;07.03.19;08:48:40;40;1;5894;19;;0;34.70;1.000;300.00;
480917;07.03.19;08:48:45;54;1;5894;19;42382|3803250158|9289000100066214|20190307084900|;1;0.00;209.000;265.30;
480918;07.03.19;08:48:45;55;1;5894;19;;0;0.00;0.000;265.30;

формат:
Номер транзакции;Дата;Время;Тип транзакции;Номер ККМ;Номер чека;Код кассира;игнорируем;игнорируем;игнорируем;игнорируем;цена;разделитель всегда ";" в игнорируемом тексте нет символа ;

собственно нужно ловить чеки где тип транзакции равен 56 и вывести данные по этому чеку в лог указывая дату, время и сумму чека.
примерно так:
Line 315: 820957;12.06.19;09:50:24;56;1;5665;21;;0;0.00;0.000;-1133.45;
Line 319: 820961;12.06.19;09:50:24;56;1;5665;21;;0;0.00;0.000;-96.21;
Line 385: 821027;12.06.19;10:07:59;56;1;5671;21;;0;0.00;0.000;-397.40;
Line 389: 821031;12.06.19;10:07:59;56;1;5671;21;;0;0.00;0.000;-290.90;
Line 428: 821070;12.06.19;10:12:54;56;1;5673;21;;0;0.00;0.000;-1339.76;
Line 430: 821072;12.06.19;10:12:54;56;1;5673;21;;0;0.00;0.000;-81.86;
Line 444: 821086;12.06.19;10:15:06;56;1;5673;21;;0;0.00;0.000;-1683.99;
Line 979: 821621;12.06.19;11:37:25;56;1;5712;21;;0;0.00;0.000;-919.43;
Line 983: 821625;12.06.19;11:37:25;56;1;5712;21;;0;0.00;0.000;-157.70;
Line 1199: 821841;12.06.19;12:20:25;56;1;5723;21;;0;0.00;0.000;-3504.23;
Line 1205: 821847;12.06.19;12:20:25;56;1;5723;21;;0;0.00;0.000;-543.88;
Line 1296: 821938;12.06.19;13:19:43;56;1;5733;21;;0;0.00;0.000;-1326.70;
Line 1445: 822087;12.06.19;14:04:26;56;1;5742;21;;0;0.00;0.000;-425.76;
Line 1516: 822158;12.06.19;14:12:23;56;1;5750;21;;0;0.00;0.000;-688.15;
Line 1518: 822160;12.06.19;14:12:23;56;1;5750;21;;0;0.00;0.000;-54.66;
Line 1622: 822264;12.06.19;14:22:49;56;1;5758;21;;0;0.00;0.000;-1304.00;
Line 1627: 822269;12.06.19;14:22:49;56;1;5758;21;;0;0.00;0.000;-502.20;
Line 1759: 822401;12.06.19;15:27:47;56;1;5769;21;;0;0.00;0.000;-450.10;
Line 1763: 822405;12.06.19;15:27:47;56;1;5769;21;;0;0.00;0.000;-362.00;
Line 2328: 822970;12.06.19;20:01:33;56;1;5823;21;;0;0.00;0.000;-174.94;
Line 2334: 822976;12.06.19;20:01:33;56;1;5823;21;;0;0.00;0.000;-347.45;
Line 2343: 822985;12.06.19;20:44:58;56;1;5825;21;;0;0.00;0.000;-233.00;
Line 2360: 823002;12.06.19;20:47:38;56;1;5828;21;;0;0.00;0.000;-28.20;
   или суммарные данные за файл как вариант.
20190612.log имеет отмененных чеков на сумму 16045,97 Файлов несколько сотен, в ручную обрабатывать к сожалению нет времени, а сам в регулярные выражения я туплю.
Задача в указанном каталоге обработать все файлы и выдать в файл-лог итог.
Выручайте ребята я сотрусь об эксель их выковыривать.
Примечания: полный файл лог во вложении
28
Код: AutoIt [Выделить]
#include 'array.au3'
$file='aaaa'
$str=StringRegExp($file,'\d+',3)
If Not @error Then _ArrayDisplay($str,1)
MsgBox(32,'',VarGetType($str))
$file='111'
$str=StringRegExp($file,'\d+',3)
If Not @error Then _ArrayDisplay($str,2)
MsgBox(32,'',VarGetType($str))
 

http://autoit-script.ru/index.php?topic=10070.0
29
Многие функции которые призваны, например, вернуть массив, в случае ошибки, возвращают, всякое, числа, строки... причём возвращаемые значения не всегда описаны в справке, и если я обращаюсь к этой переменной как к массиву, скрипт завершается. Как мне определить заранее, как мне обращаться к переменной?
30
Дни рождения / С днём рождения Djmarka!
« Последний ответ от Представитель Сообщества Отправлен Июнь 20, 2019, 01:03:31 »
От имени всего Русского сообщества AutoIt поздравляем Вас Djmarka с днём рождения!


Нажмите для отображения изображения в оригинальном размере.

Цитировать
Пусть все мечты исполнятся,
Пусть все желанья сбудутся,
Пусть радости запомнятся,
А горести забудутся.

Здоровье будет крепкое,
В делах всегда согласие,
Любовь навеки верная —
Без ссор и разногласия.

Зарплата только вовремя,
Стабильная, высокая.
Работа будет лёгкая
И не совсем далёкая.

Пусть жизнь Вам дарит самые
Прекрасные мгновения.
Желаем только радости
И счастья, с днем рождения!
Страницы: 1 2 [3] 4 5 ... 10