limit := 10000
hr := 0, dPart := 0
data := [["Число","Значение"]]
Loop,% limit {
hundred := hr // 100 * 100
unit := hr - hundred
(unit > 24 && dPart := unit // 10 * 10)
str := (unit == 1 + dPart || unit == 21 + dPart) ? "час" : (unit > 1 + dPart && unit < 5 + dPart) || (unit > 21 + dPart && unit < 25 + dPart) ? "часа" : "часов"
data.Push( [hr, str] ), hr++
}
Gui,1: Add,ListView,w200 h400 NoSort vLVval +LV0x00010000 +HwndLV_H,Число|Значение
Gui,1: Show,,Список
CreateTable(data, "LVval")
return
CreateTable(tableArr,ctrlNameValue) {
Gui, 1: ListView, %ctrlNameValue%
GuiControl, -ReDraw, %ctrlNameValue%
LV_Delete()
Loop, % LV_GetCount("Column")
LV_DeleteCol(1)
Loop,% tableArr[1].Length()
LV_InsertCol(A_Index,"", tableArr[1][A_Index])
Loop,% tableArr.Length()-1 {
rNmbr := LV_Add("", "")
Loop,% cCount := tableArr[rNmbr+1].Length()
LV_Modify(rNmbr, "Col" . A_Index,tableArr[rNmbr+1][A_Index])
} Loop, % tableArr[1].Length()
LV_ModifyCol(A_Index, "AutoHdr")
GuiControl, +ReDraw, %ctrlNameValue%
}
GuiClose:
ExitApp
UPD 1: Поправка на сотни.
UPD 2: Поспешишь, людей насмешишь.
Прошу прощения, так будет правильно:
limit := 10000
hr := 0, dPart := 0
data := [["Число","Значение"]]
Loop,% limit {
unit := hr - (hr // 100 * 100)
unit > 20 ? dPart := unit // 10 * 10 : dPart := 0
str := (unit == 1 + dPart) ? "час" : (unit > 1 + dPart && unit < 5 + dPart) ? "часа" : "часов"
data.Push( [hr, str] ), hr++
}
Gui,1: Add,ListView,w200 h400 NoSort vLVval +LV0x00010000 +HwndLV_H,Число|Значение
Gui,1: Show,,Список
CreateTable(data, "LVval")
return
CreateTable(tableArr,ctrlNameValue) {
Gui, 1: ListView, %ctrlNameValue%
GuiControl, -ReDraw, %ctrlNameValue%
LV_Delete()
Loop, % LV_GetCount("Column")
LV_DeleteCol(1)
Loop,% tableArr[1].Length()
LV_InsertCol(A_Index,"", tableArr[1][A_Index])
Loop,% tableArr.Length()-1 {
rNmbr := LV_Add("", "")
Loop,% cCount := tableArr[rNmbr+1].Length()
LV_Modify(rNmbr, "Col" . A_Index,tableArr[rNmbr+1][A_Index])
} Loop, % tableArr[1].Length()
LV_ModifyCol(A_Index, "AutoHdr")
GuiControl, +ReDraw, %ctrlNameValue%
}
GuiClose:
ExitApp