Что нового

Ввод внешних данных из input в скрипт

Nefakt

Новичок
Сообщения
74
Репутация
3
Всем привет.
Хотел узнать как сделать что бы при вводе в input значений переводились в скрипт и использовались. Например хочу сделать цикл не бесконечный а что бы он повторялся столько раз сколько было вписано в input.
Пример.
Код:
While $i <= (тут подставляется значение из input)
действия
EndIf
    $i = $i + 1
	   Wend


Заранее спасибо.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
я не совсем понял суть вопроса..но может быть так?
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 246, 121, 192, 132)
$Input1 = GUICtrlCreateInput("", 32, 40, 121, 21)
$Label1 = GUICtrlCreateLabel("", 32, 80, 44, 17)
GUISetState(@SW_SHOW)
$cont = DllStructCreate('int')
DllStructSetData($cont, 1, '1')
$getdata = DllStructGetData($cont, 1)
While $getdata
	$read = GUICtrlRead($Input1)
	If $read <> DllStructGetData($cont, 1) And Not $read = '' Then
		DllStructSetData($cont, 1, $read)
		GUICtrlSetData($Label1, DllStructGetData($cont, 1))
	ElseIf $read = '' Then
		GUICtrlSetData($Label1, '')
	ElseIf $read = 1 Then
		GUICtrlSetData($Label1, $read)
	EndIf
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case -3
			$cont = 0
			Exit
	EndSwitch
WEnd
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Это раздел ботоводов а не новичков.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
сколько было вписано в input
Может быть это вы имели в виду?
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $ii
$gui = GUICreate("", 320, 202)
$Input = GUICtrlCreateInput("", 16, 16, 289, 21)
$Edit = GUICtrlCreateEdit("", 4, 80, 220, 73)
$Exit = GUICtrlCreateButton("Выход", 226, 80, 91, 21)
GUIRegisterMsg($wm_command,"__WM_COMMAND")
GUISetState(@SW_SHOW)
While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE,$Exit
			Exit
	EndSwitch
WEnd
Func __WM_COMMAND($hWnd,$Msg,$wPar,$lPar)
	If $hWnd=$gui And BitAND($wPar,0xFFFF)=$Input And BitShift($wPar,16)=768 Then
		$ii+=1
		GUICtrlSetData($Edit,"В строку было произведено "&$ii&" нажатий")
	EndIf
EndFunc



Добавлено:
Сообщение автоматически объединено:

Belfigor
:D Это как раз раздел новичков
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Теперь, после моего божественного вмешательства, да.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Не зря я как атеист, молился на тотем ;)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Nefakt [?]
повторялся столько раз сколько было вписано в input
Код:
While $i <= GUICtrlRead($Input) ; (тут подставляется значение из input)
  ; действия
  $i = $i + 1
WEnd
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Еще пример
Код:
$x = InputBox("Тест", "Введите целое число")
If @error = 1 Then Exit

If Not StringIsDigit ($x) Or $x<1 Then   
   MsgBox(48, "Ошибка", "Надо ввести целое число больше 0")
   Exit
Else
   For $i=1 To $x
	  ConsoleWrite($i & @crlf)
   Next   
EndIf
 
Верх