Что нового

Нужна программа для посчета среднего балла на конкурсе 4 учасника 3 конкурса

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
Версия AutoIt: 3

Описание: нужна программа как в квн с простым интерфейсом и и простым счетом среднеарифметического количества баллов за конкурс, нужно девушкам в офисе подарок устроить на 8 марта помогите пожалуйста

Примечания:
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Lupik_Bb
A, например, Excel чем не подходит?
Там вид ячеек можно по-всякому изменить, размер, цвет, шрифт...

В любом случае, нужны подробности - что конкретно должна делать прога, как выглядеть...
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
Хотелось бы без екселя
а прога должна делать несколько пунктов
1 считать среднее число балов за конкурс по каждому участнику
2 общие число за все конкурсы по участнику
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Lupik_Bb
А вам нужно этот результат людям показывать, например, на мониторе\телевизоре\проекторе или только для расчета?
Можно сделать как на картинке - нарисовать таблицу:
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
да на картинке почти то что нужно, показывать на телевизоре буду
конкурса будет 2 и как сделать чтобы был средний бал по каждому конкурсу на человека + общий итог в конце, оценивать будут 5 человек по 5тибальной системе
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Lupik_Bb [?]
1 считать среднее число балов за конкурс по каждому участнику
я так понимаю за конкурс по каждому участнику ставят одну отметку и среднего там вроде нет.
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
оценивать будут 5 человек по 5тибальной системе по 5 оценок за каждый конкурс каждому учаснику
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Lupik_Bb
У телевизора какое разрешение?
К вечеру наверно пример напишу, в виде двух окон - в одном ввод данных, на другом показ результатов
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Начало, критикуй. Обновлено 4 раза.
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>

Local $iNumContest = 5 ; устанавливает количество конкурсов
Local $hGUI, $iListView, $hListView, $TrDBLCLK = 0, $aElement[2], $hGUIChild, $iInput

; Создаёт ini-файл для примера, если не существует
$ini = @ScriptDir & '\Contest.ini'
If Not FileExists($ini) Then
	$hFile = FileOpen($ini, 2)
	FileWrite($hFile, _
			'[Name]' & @CRLF & _
			'1=Наташа' & @CRLF & _
			'2=Лариса' & @CRLF & _
			'3=Оксана' & @CRLF & _
			'4=Светлана' & @CRLF & _
			'5=Вера' & @CRLF & _
			'6=Лена')
	FileClose($hFile)
EndIf

$aIni = IniReadSection($ini, 'Name')
If @error Then Exit

; Приблизительные размеры окна
$sHeader = ''
For $i = 1 To $aIni[0][0]
	$sHeader &= '|' & $aIni[$i][1]
Next

; $iWidth = $aIni[0][0] * 90
$iWidth = (StringLen($sHeader) - $aIni[0][0] + 9) * 13 ; ширина букв умножить на ширину символа
$Height = ($iNumContest+2) * 23 ; количество строк умножить на высоту строк
If $Height < 150 Then $Height = 150 ; минимальная высота

$hGUI = GUICreate("Таблица оценок за конкурсы", $iWidth+20, $Height+20)
GUISetBkColor(0xd5d2af) ; устанавливает цвет фона Gui
$iListView = GUICtrlCreateListView($sHeader, 10, 10, $iWidth, $Height, BitOR($LVS_SINGLESEL, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE))
GUICtrlSetFont(-1, 14, 400)
$hListView = GUICtrlGetHandle(-1)
GUICtrlSetBkColor(-1, 0xFFFEEE) ; устанавливает цвет фона ListView
For $i = 1 To $iNumContest
	GUICtrlCreateListViewItem('Конкурс ' & $i, $iListView)
Next
GUICtrlCreateListViewItem('Итоговый', $iListView)

; Выравнивает колонки по ширине текста в них
For $i = 0 To $aIni[0][0] - 1
	GUICtrlSendMsg($iListView, $LVM_SETCOLUMNWIDTH, $i, $LVSCW_AUTOSIZE)
	GUICtrlSendMsg($iListView, $LVM_SETCOLUMNWIDTH, $i, $LVSCW_AUTOSIZE_USEHEADER)
Next

; Вычисление ширины окна более точно, по ширине колонок
$ColumnWidth = 0
For $i = 0 To $aIni[0][0]
	$ColumnWidth += _GUICtrlListView_GetColumnWidth($hListView, $i)
Next
If $ColumnWidth < 200 Then $ColumnWidth = 200
WinMove($hGui, '', Default, Default, $ColumnWidth+40)

GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1
	If $TrDBLCLK Then
		$TrDBLCLK = 0
		$iAnswer = 0
		For $i = 1 To 5
			$iAnswer += _GuiSetEvaluation($i)
			If @error Then ContinueLoop 2
		Next
		$iAnswer /= 5
		_GUICtrlListView_SetItemText($hListView, $aElement[0], $iAnswer, $aElement[1])
		$iAmount = 0
		For $i = 0 To $iNumContest - 1
			$iAmount += Number(_GUICtrlListView_GetItemText($hListView, $i, $aElement[1]))
		Next
		_GUICtrlListView_SetItemText($hListView, $iNumContest, $iAmount, $aElement[1])
	EndIf

	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

; Окно оценок
Func _GuiSetEvaluation($iNum, $iSizeX = 210, $iSizeY = 210)
	Local $iYes, $iMode, $iAnswer = 0, $iError = 0, $iInput0 = 0
	If $iSizeX < 170 Then $iSizeX = 170
	$iMode = Opt('GUIOnEventMode', 0)
	GUISetState(@SW_DISABLE, $hGUI)
	
	$hGUIChild = GUICreate(_GUICtrlHeader_GetItemText(_GUICtrlListView_GetHeader($hListView), $aElement[1]) & ', оценка ' & $iNum, $iSizeX, $iSizeY, -1, -1, BitOR($WS_CAPTION, $WS_SYSMENU, $WS_POPUP), $WS_EX_TOPMOST, $hGUI)
	
	$iInput = GUICtrlCreateInput('', 10, 10, $iSizeX - 20, $iSizeY - 60)
	GUICtrlSetFont(-1, 72, 700)
	
	$iYes = GUICtrlCreateButton('ОК', ($iSizeX - 70) / 2, $iSizeY - 40, 70, 28)
	GUISetState(@SW_SHOW, $hGUIChild)
	GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
	While 1
		Switch GUIGetMsg()
			Case $iYes
				$iInput0 = Number(GUICtrlRead($iInput))
				If $iInput0 < 1 Or $iInput0 > 5 Then ContinueLoop
				ExitLoop
			Case $GUI_EVENT_CLOSE
				$iError = 1
				ExitLoop
		EndSwitch
	WEnd
	GUISetState(@SW_ENABLE, $hGUI)
	GUIDelete($hGUIChild)
	Opt('GUIOnEventMode', $iMode)
	GUIRegisterMsg($WM_COMMAND, '')
	Return SetError($iError, 0, $iInput0)
EndFunc   ;==>_GuiSetEvaluation

; Ловит двойной  клик в списке и записывает индексы ячейки по X,Y
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
	Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
	$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
	$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
	$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
	$iCode = DllStructGetData($tNMHDR, "Code")
	Switch $hWndFrom
		Case $hListView
			Switch $iCode
				Case $NM_DBLCLK ; двойной клик - редактируем пункт ListView
					Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
					$aElement[0] = DllStructGetData($tInfo, "Index")
					$aElement[1] = DllStructGetData($tInfo, "SubItem")
					If $aElement[0] <> $iNumContest And $aElement[0] <> -1 And $aElement[1] <> -1 And $aElement[1] <> 0 Then $TrDBLCLK = 1
			EndSwitch
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

; Делает ограничения на ввод только чисел от 1 до 5
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
	Local $nNotifyCode, $nID, $sText, $iInput0
	$nNotifyCode = BitShift($iwParam, 16)
	$nID = BitAND($iwParam, 0xFFFF)
	Switch $hWnd
		Case $hGUIChild
			Switch $nID
				Case $iInput
					Switch $nNotifyCode
						Case $EN_CHANGE
							$iInput0 = GUICtrlRead($iInput)
							$sText = StringRegExp($iInput0, '[1-5]', 2)
							If @error Then
								GUICtrlSetData($iInput, '')
							Else
								If $iInput0 <> $sText[0] Then GUICtrlSetData($iInput, $sText[0])
							EndIf
					EndSwitch
			EndSwitch
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
Re: Нужна программа для посчета среднего балла на конкурсе 4 учасника конкурса

разрешения телевизора 1366/768
в виде двух окон - в одном ввод данных, на другом показ результатов, а так сделать возможно?
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Lupik_Bb
Можно хоть как, главное чтобы ТЗ сразу, а то я не любитель переделывать работу, оно как бы время.
Как угадать кому будут присвоены данные из второго окна? Поэтому я сделал вывод временного окна. Можно сделать чтобы окна оценок были в одном GUI, но чтобы всё было в одном GUI я не понимаю, потому что непонятна последовательность работы с GUI.

Обновил выше пример, добавлен запрет на ввод оценок кроме 1-5 и добавлено вычисление размера окна.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Lupik_Bb
Вот пример - 2 конкурса, 4 участника
Table.au3 отсюда http://www.autoitscript.com/forum/topic/105814-table-udf/ и положить рядом со скриптом или в папку Include в папке Autoit

В окне управления для каждого участника в каждый инпут вводите подряд оценки от пяти человек, без разделителей, например, 12345 и т.п.

Код:
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Table.au3>

Dim $aTableName[4] = ['Наташа', 'Света', 'Ира', 'Виктория'] ; имена


$hColor1 = 0x000000 ; цвет фона окна
$hColor2 = 0xFFFFFF ; цвет фона таблицы
$hColor3 = 0xC80E0E ; цвет шрифта имен
$hColor4 = 0x9B36FF ; цвет шрифта конкурсов
$hColor5 = 0xFF0000 ; цвет текста таблицы


$hParent = GUICreate('Управление', 700, 350, -1, -1, -1)
$Label1 = GUICtrlCreateLabel('Конкурс 1', 36, 24, 101, 40)
GUICtrlSetFont(-1, 12, 400, Default, 'Comic Sans MS')
GUICtrlCreateLabel($aTableName[0], 36, 74, 101, 40)
GUICtrlCreateLabel($aTableName[1], 136, 74, 101, 40)
GUICtrlCreateLabel($aTableName[2], 236, 74, 101, 40)
GUICtrlCreateLabel($aTableName[3], 336, 74, 101, 40)

$Input1 = GUICtrlCreateInput('', 36, 94, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input2 = GUICtrlCreateInput('', 136, 94, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input3 = GUICtrlCreateInput('', 236, 94, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input4 = GUICtrlCreateInput('', 336, 94, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$check1 = GUICtrlCreateCheckbox('Фиксировать и отправить', 460, 100, 220, 20)


$Label2 = GUICtrlCreateLabel('Конкурс 2', 36, 144, 101, 40)
GUICtrlSetFont(-1, 12, 400, Default, 'Comic Sans MS')

GUICtrlCreateLabel($aTableName[0], 36, 194, 101, 40)
GUICtrlCreateLabel($aTableName[1], 136, 194, 101, 40)
GUICtrlCreateLabel($aTableName[2], 236, 194, 101, 40)
GUICtrlCreateLabel($aTableName[3], 336, 194, 101, 40)
$Input5 = GUICtrlCreateInput('', 36, 214, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input6 = GUICtrlCreateInput('', 136, 214, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input7 = GUICtrlCreateInput('', 236, 214, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$Input8 = GUICtrlCreateInput('', 336, 214, 100, 44, 0x2000)
GUICtrlSetFont(-1, 15, 400, Default, 'Comic Sans MS')
GUICtrlSetLimit(-1, 5)
$check2 = GUICtrlCreateCheckbox('Фиксировать и отправить', 460, 220, 220, 20)
GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')
GUISetState(@SW_SHOW, $hParent)


$hChild = GUICreate('Окно1', 1366, 768, 0, 0, $WS_POPUP)
GUISetBkColor($hColor1)

$nClose_Button = GUICtrlCreateButton('X', 1366 - 19, 3, 10, 10)
GUICtrlSetColor(-1, 0xFFFFFF)

GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlCreateLabel('', 0, 0, 1366, 15, $WS_CLIPSIBLINGS, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor(-1, $hColor1)
GUISetState(@SW_SHOW, $hChild)

GUICtrlCreateLabel('Конкурс', 12, 25, 1340, 50, 0x01)
GUICtrlSetBkColor(-1, 0xD5DCEE)
GUICtrlSetFont(-1, 20, 400, Default, 'Comic Sans MS')
$table = _GUICtrlTable_Create(30, 80, 232, 165, 4, 5, 2)
_GUICtrlTable_Set_ColumnWidth($table, 1, 370)
;_GUICtrlTable_Set_Text_Cell($table, 1, 1, '')

_GUICtrlTable_Set_Text_Cell($table, 2, 1, 'Конкурс 1')
_GUICtrlTable_Set_Text_Cell($table, 3, 1, 'Конкурс 2')
;_GUICtrlTable_Set_Text_Cell($table, 4, 1, 'Конкурс 3')
_GUICtrlTable_Set_Text_Cell($table, 4, 1, 'Средний балл')

_GUICtrlTable_Set_Text_Cell($table, 1, 2, $aTableName[0])
_GUICtrlTable_Set_Text_Cell($table, 1, 3, $aTableName[1])
_GUICtrlTable_Set_Text_Cell($table, 1, 4, $aTableName[2])
_GUICtrlTable_Set_Text_Cell($table, 1, 5, $aTableName[3])
_GUICtrlTable_Set_TextColor_All($table, $hColor5)
_GUICtrlTable_Set_TextColor_Column($table, 1, $hColor3)
_GUICtrlTable_Set_TextColor_Row($table, 1, $hColor4)
_GUICtrlTable_Set_Justify_Row($table, 0, 0)
_GUICtrlTable_Set_Justify_All($table, 1, 1)
;_GUICtrlTable_Set_TextFont_Row($table, 2, 30, 800)
_GUICtrlTable_Set_TextFont_All($table, 55, 400, 0, 'MS Sans Serif')
_GUICtrlTable_Set_CellColor_All($table, $hColor2)
WinSetOnTop($hParent, '', 1)


While 1
	$aMsg = GUIGetMsg(1)
	Switch $aMsg[1]
		Case $hParent
			Switch $aMsg[0]
				Case $GUI_EVENT_CLOSE
					Exit
				Case $check1
					If GUICtrlRead($check1) = 1 Then
						$sTring1 = GUICtrlRead($Input1) & GUICtrlRead($Input2) & GUICtrlRead($Input3) & GUICtrlRead($Input4)
						If StringLen($sTring1) = 20 Then
							$aCon1 = StringSplit($sTring1, '')
							_GUICtrlTable_Set_Text_Cell($table, 2, 2, Round(($aCon1[1] + $aCon1[2] + $aCon1[3] + $aCon1[4] + $aCon1[5]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 2, 3, Round(($aCon1[6] + $aCon1[7] + $aCon1[8] + $aCon1[9] + $aCon1[10]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 2, 4, Round(($aCon1[11] + $aCon1[12] + $aCon1[13] + $aCon1[14] + $aCon1[15]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 2, 5, Round(($aCon1[16] + $aCon1[17] + $aCon1[18] + $aCon1[19] + $aCon1[20]) / 5, 1))
							GUICtrlSetState($Input1, $GUI_DISABLE)
							GUICtrlSetState($Input2, $GUI_DISABLE)
							GUICtrlSetState($Input3, $GUI_DISABLE)
							GUICtrlSetState($Input4, $GUI_DISABLE)
							
							$sum1 = _GUICtrlTable_Get_Text_Cell($table, 2, 2) + _GUICtrlTable_Get_Text_Cell($table, 3, 2)
							$sum2 = _GUICtrlTable_Get_Text_Cell($table, 2, 3) + _GUICtrlTable_Get_Text_Cell($table, 3, 3)
							$sum3 = _GUICtrlTable_Get_Text_Cell($table, 2, 4) + _GUICtrlTable_Get_Text_Cell($table, 3, 4)
							$sum4 = _GUICtrlTable_Get_Text_Cell($table, 2, 5) + _GUICtrlTable_Get_Text_Cell($table, 3, 5)
							If _GUICtrlTable_Get_Text_Cell($table, 2, 2) = '' Or _GUICtrlTable_Get_Text_Cell($table, 3, 2) = '' Then
								_GUICtrlTable_Set_Text_Cell($table, 4, 2, $sum1)
								_GUICtrlTable_Set_Text_Cell($table, 4, 3, $sum2)
								_GUICtrlTable_Set_Text_Cell($table, 4, 4, $sum3)
								_GUICtrlTable_Set_Text_Cell($table, 4, 5, $sum4)
							Else
								_GUICtrlTable_Set_Text_Cell($table, 4, 2, Round(($sum1 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 3, Round(($sum2 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 4, Round(($sum3 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 5, Round(($sum4 / 2), 1))
							EndIf
							
						Else
							GUICtrlSetState($check1, $GUI_UNCHECKED)
							MsgBox(262144, 'Ошибка', 'Проверьте введенные данные!')
						EndIf
					Else
						GUICtrlSetState($Input1, $GUI_ENABLE)
						GUICtrlSetState($Input2, $GUI_ENABLE)
						GUICtrlSetState($Input3, $GUI_ENABLE)
						GUICtrlSetState($Input4, $GUI_ENABLE)
					EndIf
				Case $check2
					If GUICtrlRead($check2) = 1 Then
						$sTring2 = GUICtrlRead($Input5) & GUICtrlRead($Input6) & GUICtrlRead($Input7) & GUICtrlRead($Input8)
						If StringLen($sTring2) = 20 Then
							$aCon2 = StringSplit($sTring2, '')
							_GUICtrlTable_Set_Text_Cell($table, 3, 2, Round(($aCon2[1] + $aCon2[2] + $aCon2[3] + $aCon2[4] + $aCon2[5]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 3, 3, Round(($aCon2[6] + $aCon2[7] + $aCon2[8] + $aCon2[9] + $aCon2[10]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 3, 4, Round(($aCon2[11] + $aCon2[12] + $aCon2[13] + $aCon2[14] + $aCon2[15]) / 5, 1))
							_GUICtrlTable_Set_Text_Cell($table, 3, 5, Round(($aCon2[16] + $aCon2[17] + $aCon2[18] + $aCon2[19] + $aCon2[20]) / 5, 1))
							GUICtrlSetState($Input5, $GUI_DISABLE)
							GUICtrlSetState($Input6, $GUI_DISABLE)
							GUICtrlSetState($Input7, $GUI_DISABLE)
							GUICtrlSetState($Input8, $GUI_DISABLE)
							$sum1 = _GUICtrlTable_Get_Text_Cell($table, 2, 2) + _GUICtrlTable_Get_Text_Cell($table, 3, 2)
							$sum2 = _GUICtrlTable_Get_Text_Cell($table, 2, 3) + _GUICtrlTable_Get_Text_Cell($table, 3, 3)
							$sum3 = _GUICtrlTable_Get_Text_Cell($table, 2, 4) + _GUICtrlTable_Get_Text_Cell($table, 3, 4)
							$sum4 = _GUICtrlTable_Get_Text_Cell($table, 2, 5) + _GUICtrlTable_Get_Text_Cell($table, 3, 5)
							If _GUICtrlTable_Get_Text_Cell($table, 2, 2) = '' Or _GUICtrlTable_Get_Text_Cell($table, 3, 2) = '' Then
								_GUICtrlTable_Set_Text_Cell($table, 4, 2, $sum1)
								_GUICtrlTable_Set_Text_Cell($table, 4, 3, $sum2)
								_GUICtrlTable_Set_Text_Cell($table, 4, 4, $sum3)
								_GUICtrlTable_Set_Text_Cell($table, 4, 5, $sum4)
							Else
								_GUICtrlTable_Set_Text_Cell($table, 4, 2, Round(($sum1 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 3, Round(($sum2 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 4, Round(($sum3 / 2), 1))
								_GUICtrlTable_Set_Text_Cell($table, 4, 5, Round(($sum4 / 2), 1))
							EndIf

						Else
							GUICtrlSetState($check2, $GUI_UNCHECKED)
							MsgBox(262144, 'Ошибка', 'Проверьте введенные данные!')
						EndIf
					Else
						GUICtrlSetState($Input5, $GUI_ENABLE)
						GUICtrlSetState($Input6, $GUI_ENABLE)
						GUICtrlSetState($Input7, $GUI_ENABLE)
						GUICtrlSetState($Input8, $GUI_ENABLE)
					EndIf
			EndSwitch
		Case $hChild
			Switch $aMsg[0]
				Case $nClose_Button
					GUISetState(@SW_HIDE, $hChild)
			EndSwitch
	EndSwitch
WEnd

Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
	Switch BitAND($wParam, 0xFFFF)
		Case $Input1 Or $Input2 Or $Input3 Or $Input4 Or $Input5 Or $Input6 Or $Input6 Or $Input7 Or $Input8
			GUICtrlSetData($Input1, StringRegExpReplace(GUICtrlRead($Input1), '6|7|8|9|0', ''))
			GUICtrlSetData($Input2, StringRegExpReplace(GUICtrlRead($Input2), '6|7|8|9|0', ''))
			GUICtrlSetData($Input3, StringRegExpReplace(GUICtrlRead($Input3), '6|7|8|9|0', ''))
			GUICtrlSetData($Input4, StringRegExpReplace(GUICtrlRead($Input4), '6|7|8|9|0', ''))
			GUICtrlSetData($Input5, StringRegExpReplace(GUICtrlRead($Input5), '6|7|8|9|0', ''))
			GUICtrlSetData($Input6, StringRegExpReplace(GUICtrlRead($Input6), '6|7|8|9|0', ''))
			GUICtrlSetData($Input7, StringRegExpReplace(GUICtrlRead($Input7), '6|7|8|9|0', ''))
			GUICtrlSetData($Input8, StringRegExpReplace(GUICtrlRead($Input8), '6|7|8|9|0', ''))
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>_WM_COMMAND
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
WSWR признаюсь в своем полном тупняке и бессилии :shok: не получается у меня запустить видимо я не вкурил Table.au3 по ссылке перешел скрипт создал а при запуске ругается javascript:void(0);
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Lupik_Bb
Надо файл скачать а не HTML. Вообще посмотрел пример, не понял как в нём применять результаты. Ввёл данные, а кнопки "ОК" нет.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Lupik_Bb
Вот, вроде выложил exe+au3
http://autoit-script.ru/index.php?action=downloads;sa=view;down=301

AZJIO
Надо как на картинке - заполнить все поля (20 цифр) конкурса, и нажать "Фиксировать и отправить", тогда результат отразится в основном окне
 
Автор
L

Lupik_Bb

Новичок
Сообщения
8
Репутация
0
вроде получилось :laugh: спасибо огромное теперь переименую поля под конкурсы и имена и будем сегодня с мужиками тестировать чтобы дамам в офисе подарок на 8 марта сделать
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Lupik_Bb
В моём варианте можно выставить любое количество конкурсов и любое количество участников. Если что - двойной клик вызывает окно ввода оценок. Хотя я не продумал вариант в случае ошибки, потому что после ввода в ListView отменить уже нельзя, только заново вводить все конкурсы.
 
Верх