StarEdik
Новичок
- Сообщения
- 365
- Репутация
- 4
Привет всем. Имеется файл «temp2002-2015.txt» с временными интервалами в не сортированном виде . Как сортировать, упорядочит этот файл по левой колонке .
Код формы
К примеру имеем не сортированный список
03.01.2002 14:55 - 03.01.2002 11:55
24.10.2014 02:10 - 26.10.2014 08:20
09.03.2015 17:25 - 12.03.2015 02:50
20.11.2014 09:35 - 22.11.2014 15:45
08.12.2011 14:00 - 09.12.2011 15:40
10.12.2010 05:40 - 11.12.2010 13:10
26.09.2014 18:45 - 29.09.2014 02:00
03.01.2002 14:50 - 03.01.2002 15:55
17.12.2014 19:10 - 20.12.2014 01:20
14.01.2015 04:45 - 16.01.2015 12:00
01.12.2012 00:00 - 03.12.2012 09:10
04.12.2010 00:20 - 08.12.2010 02:20
10.02.2015 12:10 - 12.02.2015 20:30
04.01.2002 15:45 - 04.01.2002 16:50
А должны получить вот такой список
03.01.2002 14:50 - 03.01.2002 15:55
03.01.2002 14:55 - 03.01.2002 15:00
04.01.2002 15:45 - 04.01.2002 16:50
04.12.2010 00:20 - 08.12.2010 02:20
10.12.2010 05:40 - 11.12.2010 13:10
08.10.2011 14:00 - 09.10.2011 15:40
01.12.2012 00:00 - 03.12.2012 09:10
26.09.2014 18:45 - 29.09.2014 02:00
24.10.2014 02:10 - 26.10.2014 08:20
20.11.2014 09:35 - 22.11.2014 15:45
17.12.2014 19:10 - 20.12.2014 01:20
14.01.2015 04:45 - 16.01.2015 12:00
10.02.2015 12:10 - 12.02.2015 20:30
09.03.2015 17:25 - 12.03.2015 02:50
03.01.2002 14:55 - 03.01.2002 11:55
24.10.2014 02:10 - 26.10.2014 08:20
09.03.2015 17:25 - 12.03.2015 02:50
20.11.2014 09:35 - 22.11.2014 15:45
08.12.2011 14:00 - 09.12.2011 15:40
10.12.2010 05:40 - 11.12.2010 13:10
26.09.2014 18:45 - 29.09.2014 02:00
03.01.2002 14:50 - 03.01.2002 15:55
17.12.2014 19:10 - 20.12.2014 01:20
14.01.2015 04:45 - 16.01.2015 12:00
01.12.2012 00:00 - 03.12.2012 09:10
04.12.2010 00:20 - 08.12.2010 02:20
10.02.2015 12:10 - 12.02.2015 20:30
04.01.2002 15:45 - 04.01.2002 16:50
А должны получить вот такой список
03.01.2002 14:50 - 03.01.2002 15:55
03.01.2002 14:55 - 03.01.2002 15:00
04.01.2002 15:45 - 04.01.2002 16:50
04.12.2010 00:20 - 08.12.2010 02:20
10.12.2010 05:40 - 11.12.2010 13:10
08.10.2011 14:00 - 09.10.2011 15:40
01.12.2012 00:00 - 03.12.2012 09:10
26.09.2014 18:45 - 29.09.2014 02:00
24.10.2014 02:10 - 26.10.2014 08:20
20.11.2014 09:35 - 22.11.2014 15:45
17.12.2014 19:10 - 20.12.2014 01:20
14.01.2015 04:45 - 16.01.2015 12:00
10.02.2015 12:10 - 12.02.2015 20:30
09.03.2015 17:25 - 12.03.2015 02:50
Код:
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <GuiDateTimePicker.au3>
#include <StaticConstants.au3>
#include <WinAPIEx.au3>
#include <Date.au3>
#Include <ListViewConstants.au3>
#Include <WinAPI.au3>
;Opt('GUIOnEventMode', 1)
Opt("WinTitleMatchMode", 2)
Opt("MouseCoordMode", 2)
$Gui=GUICreate('Test', 280, 650, @DesktopHeight-5, 40)
$nButtonOpenFile= GUICtrlCreateButton('Open File', 175, 2, 100, 25)
$nButtonSort = GUICtrlCreateButton('Сортировать', 5, 610, 80, 30)
$nButtonSave = GUICtrlCreateButton('Save', 90, 610, 80, 30)
$nButtonExit = GUICtrlCreateButton('Exit', 195, 610, 80, 30)
$nListView = GUICtrlCreateListView('', 2, 30, 280, 570, $LVS_REPORT, $LVS_EX_GRIDLINES)
$hListView = GUICtrlGetHandle($nListView)
_GUICtrlListView_AddColumn($hListView, 'Test', 260)
$aTextItem = 0
GUISetState(@SW_SHOW, $Gui)
;............................
_WinAPI_EmptyWorkingSet()
;............................
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nButtonOpenFile
$sFile = FileOpenDialog('Выберите файл для обработки', _
@ScriptDir & '\', 'Текстовые файлы (*.txt)', 1, '', $Gui)
If Not FileExists($sFile) Then
MsgBox(16, 'Error', 'No ' & $sFile)
Exit
EndIf
$sText = FileRead($sFile)
$aText = StringSplit(StringStripCR($sText), @LF)
Dim $aTextItem[$aText[0]][1]
For $i = 1 To $aText[0]
$aTextItem[$i - 1][0] = $aText[$i]
Next
$sText = ''
$aText = 0
_GUICtrlListView_DeleteAllItems($hListView)
_GUICtrlListView_AddArray($hListView, $aTextItem)
Case $nButtonSort
; ...................
; ....................
Case $nButtonSave
GUICtrlSetState($nButtonSort, $GUI_DISABLE)
GUICtrlSetState($nButtonSave, $GUI_DISABLE)
$iCount = _GUICtrlListView_GetItemCount($hListView)
For $i = 0 To $iCount - 1
$sText &= _GUICtrlListView_GetItemText($hListView, $i) & @CRLF
Next
$hFile = FileOpen($sFile, 2)
FileWrite($hFile, StringTrimRight($sText, 2))
FileClose($hFile)
$sText = ''
$iCount = 0
$hFile = 0
GUICtrlSetState($nButtonSort, $GUI_ENABLE)
GUICtrlSetState($nButtonSave, $GUI_ENABLE)
Case $nButtonExit
Exit
EndSwitch
WinSetOnTop($Gui,"",1)
WEnd