Есть код:
Возможно ли одновременно скопировать значение всех Input в буфер обмена?
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <UpdownConstants.au3>
Global $nDn1, $nDk1, $iDn1, $iDk1
Global $nDn2, $nDk2, $iDn2, $iDk2
Global $nDn3, $nDk3, $iDn3, $iDk3
Global $nDn4, $nDk4, $iDn4, $iDk4
Global $nDn5, $nDk5, $iDn5, $iDk5
Global $nInputn1, $nUDn1, $nInputk1, $nUDk1, $nCheckbox1, $nOutputTCM1, $nOutputRM1
Global $nInputn2, $nUDn2, $nInputk2, $nUDk2, $nCheckbox2, $nOutputTCM2, $nOutputRM2
Global $nInputn3, $nUDn3, $nInputk3, $nUDk3, $nCheckbox3, $nOutputTCM3, $nOutputRM3
Global $nInputn4, $nUDn4, $nInputk4, $nUDk4, $nCheckbox4, $nOutputTCM4, $nOutputRM4
Global $nInputn5, $nUDn5, $nInputk5, $nUDk5, $nCheckbox5, $nOutputTCM5, $nOutputRM5
$hGUI = GUICreate('Кабельные вводы', 980, 250, -1, -1, -1, $WS_CLIPCHILDREN)
Create($nInputn1, $nUDn1, $nInputk1, $nUDk1, $nCheckbox1, $nOutputTCM1, $nOutputRM1, 10)
GUISetState()
Dim $TCM = [["ТСМ 20/0+5-12", 5, 12], _
["ТСМ 30/0+13-23", 13, 23], _
["ТСМ 40/0+23-33", 23, 33], _
["ТСМ 60/0+34-51", 34, 51], _
["ТСМ 90/0+52-78", 52, 78], _
["ТСМ 120/0+79-99", 79, 99]]
Dim $RM = [["RM 20 (∅4-14,5)", 4, 14.5], _
["RM 30 (∅10-25)", 10, 25], _
["RM 40 (∅21,5-34,5)", 21.5, 34.5], _
["RM 60 (∅28-54)", 28, 54], _
["RM 90 (∅48-71)", 48, 71], _
["RM 120 (∅67,5-99)", 67.5, 99]]
Dim $RMe = [["RM 20w40 (∅3,5-16,5)", 3.5, 16.5], _
["RM 40 10-32 (∅9,5-32,5)", 9.5, 32.5], _
["RM 60 24-54 (∅24-54)", 24, 54]]
While 1
Fly($nDn1, $nInputn1, $nDk1, $nInputk1, $iDn1, $iDk1, $nOutputTCM1, $nOutputRM1)
Fly($nDn2, $nInputn2, $nDk2, $nInputk2, $iDn2, $iDk2, $nOutputTCM2, $nOutputRM2)
Fly($nDn3, $nInputn3, $nDk3, $nInputk3, $iDn3, $iDk3, $nOutputTCM3, $nOutputRM3)
Fly($nDn4, $nInputn4, $nDk4, $nInputk4, $iDn4, $iDk4, $nOutputTCM4, $nOutputRM4)
Fly($nDn5, $nInputn5, $nDk5, $nInputk5, $iDn5, $iDk5, $nOutputTCM5, $nOutputRM5)
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $nCheckbox1
If BitAND(GUICtrlRead($nCheckbox1), $GUI_CHECKED) Then
Create($nInputn2, $nUDn2, $nInputk2, $nUDk2, $nCheckbox2, $nOutputTCM2, $nOutputRM2, 40)
Else
Delete($nInputn2, $nUDn2, $nInputk2, $nUDk2, $nCheckbox2, $nOutputTCM2, $nOutputRM2)
EndIf
Case $nCheckbox2
If BitAND(GUICtrlRead($nCheckbox2), $GUI_CHECKED) Then
Create($nInputn3, $nUDn3, $nInputk3, $nUDk3, $nCheckbox3, $nOutputTCM3, $nOutputRM3, 70)
GUICtrlSetState ($nCheckbox1, $GUI_DISABLE)
Else
Delete($nInputn3, $nUDn3, $nInputk3, $nUDk3, $nCheckbox3, $nOutputTCM3, $nOutputRM3)
GUICtrlSetState ($nCheckbox1, $GUI_ENABLE)
EndIf
Case $nCheckbox3
If BitAND(GUICtrlRead($nCheckbox3), $GUI_CHECKED) Then
Create($nInputn4, $nUDn4, $nInputk4, $nUDk4, $nCheckbox4, $nOutputTCM4, $nOutputRM4, 100)
GUICtrlSetState ($nCheckbox2, $GUI_DISABLE)
Else
Delete($nInputn4, $nUDn4, $nInputk4, $nUDk4, $nCheckbox4, $nOutputTCM4, $nOutputRM4)
GUICtrlSetState ($nCheckbox2, $GUI_ENABLE)
EndIf
Case $nCheckbox4
If BitAND(GUICtrlRead($nCheckbox4), $GUI_CHECKED) Then
Create($nInputn5, $nUDn5, $nInputk5, $nUDk5, $nCheckbox5, $nOutputTCM5, $nOutputRM5, 130)
GUICtrlSetState ($nCheckbox3, $GUI_DISABLE)
Else
Delete($nInputn5, $nUDn5, $nInputk5, $nUDk5, $nCheckbox5, $nOutputTCM5, $nOutputRM5)
GUICtrlSetState ($nCheckbox3, $GUI_ENABLE)
EndIf
EndSwitch
WEnd
Func CabTCM_Index($pDn, $pDk, $pOutput)
If Number($pDn) > Number($pDk) Or $pDn < $TCM[0][1] Or $pDk > $TCM[UBound($TCM) - 1][2] Then Return GUICtrlSetData($pOutput, "Некорректный диапазон")
GUICtrlSetData($pOutput, '∅' & $pDn & '–' & $pDk & ':' & @TAB)
For $i = 0 To UBound($TCM) - 1
If $pDk <= $TCM[$i][2] Then
For $i = $i To 0 Step -1
If $pDn >= $TCM[$i][1] Then
GUICtrlSetData($pOutput, $TCM[$i][0], 1)
ExitLoop 2
Else
GUICtrlSetData($pOutput, $TCM[$i][0] & ', ', 1)
EndIf
Next
Else
EndIf
Next
EndFunc
Func CabRM_Index($pDn, $pDk, $pOutputRM)
If Number($pDn) > Number($pDk) Or $pDn < $RMe[0][1] Or $pDk > $RM[UBound($RM) - 1][2] Then Return GUICtrlSetData($pOutputRM, "Некорректный диапазон")
GUICtrlSetData($pOutputRM, '∅' & $pDn & '–' & $pDk & ':' & @TAB)
For $i = 0 To UBound($RM) - 1
If $pDn >= $RM[$i][1] And $pDk <= $RM[$i][2] Then Return GUICtrlSetData($pOutputRM, $RM[$i][0], 1)
Next
For $i = 0 To UBound($RMe) - 1
If $pDn >= $RMe[$i][1] And $pDk <= $RMe[$i][2] Then Return GUICtrlSetData($pOutputRM, $RMe[$i][0], 1)
Next
For $i = 0 To UBound($RM) - 1
If $pDk <= $RM[$i][2] Then
For $i = $i To 0 Step -1
If $pDn >= $RM[$i][1] Then
GUICtrlSetData($pOutputRM, $RM[$i][0], 1)
ExitLoop 2
Else
GUICtrlSetData($pOutputRM, $RM[$i][0] & ', ', 1)
EndIf
Next
Else
EndIf
Next
EndFunc
Func Fly(ByRef $nDn1, ByRef $nInputn1, ByRef $nDk1, ByRef $nInputk1, ByRef $iDn1, ByRef $iDk1, ByRef $nOutputTCM1, ByRef $nOutputRM1)
$nDn1 = GUICtrlRead($nInputn1)
$nDk1 = GUICtrlRead($nInputk1)
If $nDn1 <> $iDn1 Or $nDk1 <> $iDk1 Then
CabTCM_Index($nDn1, $nDk1, $nOutputTCM1)
CabRM_Index ($nDn1, $nDk1, $nOutputRM1)
$iDn1 = $nDn1
$iDk1 = $nDk1
EndIf
EndFunc
Func Create(ByRef $nInputn1, ByRef $nUDn1, ByRef $nInputk1, ByRef $nUDk1, ByRef $nCheckbox1, ByRef $nOutputTCM1, ByRef $nOutputRM1, $y)
$nInputn1 = GUICtrlCreateInput('23', 10, $y, 50, 20)
$nUDn1 = GUICtrlCreateUpdown(-1, $UDS_ALIGNLEFT)
GUICtrlSetLimit(-1, 99, 1)
$nInputk1 = GUICtrlCreateInput('33', 75, $y, 50, 20)
$nUDk1 = GUICtrlCreateUpdown(-1, $UDS_ALIGNRIGHT)
GUICtrlSetLimit(-1, 99, 1)
$nCheckbox1 = GUICtrlCreateCheckbox('', 130, $y, 20, 20)
$nOutputTCM1 = GUICtrlCreateInput('', 160, $y, 400, 20)
$nOutputRM1 = GUICtrlCreateInput('', 570, $y, 400, 20)
EndFunc
Func Delete(ByRef $nInputn2, ByRef $nUDn2, ByRef $nInputk2, ByRef $nUDk2, ByRef $nCheckbox2, ByRef $nOutputTCM2, ByRef $nOutputRM2)
GUICtrlDelete($nInputn2)
GUICtrlDelete($nInputk2)
GUICtrlDelete($nCheckbox2)
GUICtrlDelete($nUDn2)
GUICtrlDelete($nUDk2)
GUICtrlDelete($nOutputTCM2)
GUICtrlDelete($nOutputRM2)
EndFunc
Возможно ли одновременно скопировать значение всех Input в буфер обмена?