Что нового

Ввод данных.

TicTac

Новичок
Сообщения
22
Репутация
0
Сопсна как произвести ввод данных,например вылажит окошечко типа МсгБокс и там просят ввести данные после чего они записываются в переменю
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Код:
$var = InputBox("Введите переменную","Введите переменную")

Про возможности InputBox можно почитать в справке
OffTopic:
P.S. Давайте будем уважать русский и английский язык и писать правильно? :mad:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
почти похожий вопрос у меня.
есть элемент окна GUICtrlCreateCombo. он нужен чтобы из выпадающего списка этого элемента выбирать нужную строку.
но эти строки он должен брать из ини файла.. ну или из любого текстового.
у меня не получается чтобы в GUICtrlCreateCombo строки, которые считываются и отображаются в нем были одна под другой. то есть с переносом. все получается в одну строчку.
 

XpycT

Скриптер
Сообщения
380
Репутация
133
Александр сказал(а):
у меня не получается чтобы в GUICtrlCreateCombo строки, которые считываются и отображаются в нем были одна под другой. то есть с переносом. все получается в одну строчку.
А как вы создаете список элементов в GUICtrlCreateCombo???
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Александр сказал(а):
у меня не получается чтобы в GUICtrlCreateCombo строки, которые считываются и отображаются в нем были одна под другой. то есть с переносом. все получается в одну строчку.
а так:
Код:
GUICtrlCreateCombo('', 10, 10)
GUICtrlSetData(-1, 'строка1|строка2', 'строка1')


т.е. устанавливать данные в GUICtrlCreateCombo с помощью функции GUICtrlSetData. строки разделить разделителем, по умолчанию это "|".
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
GUICtrlSetData(-1, 'строка1|строка2', 'строка1')

да, так все работает, но если не известно какая строка будет?
нужно чтобы в строку шло постоянное считываение из текстового файла.. я пытался разделять с помощью "|", но все в одну строчку получается...
считывание вел IniReadSection и FileReadLine но результат отрицательный... :(
 

XpycT

Скриптер
Сообщения
380
Репутация
133
Александр
Попробуй так

Код:
#Region Includes
#include <Array.au3>
#include <GUIConstantsEx.au3>
#EndRegion Includes

$aComboElements = IniReadSection(@ScriptDir & "\ComboElements.ini", "Elements")
_ArrayDisplay($aComboElements) ; Необходи для отобхороженя элементов $aComboElements

GUICreate("My GUI combo")  ; will create a dialog box that when displayed is centered

GUICtrlCreateCombo("item1", 10, 10) ; create first item
For $i = 1 To $aComboElements[0][0]
  GUICtrlSetData(-1, $aComboElements[$i][1])
Next

GUISetState()

While 1
$msg = GUIGetMsg()
        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd


Код:
[Elements]
1 = Line 1
2 = Line 2
3 = Line 3
4 = Line 4
5 = Line 5
6 = Line 6
7 = Line 7
8 = Line 8
9 = Line 9
0 = Line 0
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Александр сказал(а):
считываение из текстового файла

Можно и так :
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <file.au3>

$hGui=GUICreate ('Test Combo',300,200)
$hCombo=GUICtrlCreateCombo("item1", 10, 10) ; create first item

$sFilePath=@ScriptDir & '\Proba.dat'

Dim $aLines
_FileReadToArray ( $sFilePath ,$aLines)
$sLines=_ArrayToString ($aLines,'|',1)

GUISetState()

GUICtrlSetData($hCombo, $sLines)

While 1
	$msg = GUIGetMsg()
	If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
в GUICtrlCreateEdit по умолчанию есть прокрутка по горизонтали и по вертикали.. если ставлю стиль $WS_VSCROLL , то остается прокрутка по верртикали, но не работает клавиша Enter. есть автоперенос слова, а нужно чтобы была возможность переносить слово в любом месте текста, то есть что и делает Enter в обычном блокноте..
может еще какой стиль надо добавить? перепробовал разные сочетания....
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Александр сказал(а):
в GUICtrlCreateEdit по умолчанию есть прокрутка по горизонтали и по вертикали.. если ставлю стиль $WS_VSCROLL , то остается прокрутка по верртикали, но не работает клавиша Enter. есть автоперенос слова, а нужно чтобы была возможность переносить слово в любом месте текста, то есть что и делает Enter в обычном блокноте..
может еще какой стиль надо добавить? перепробовал разные сочетания....

Код:
Opt('GUIOnEventMode',		1)
Opt('TrayIconDebug',		1)
Opt('TrayIconHide',			0)

#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>


GUICreate('Test', 210, 240)
	GUISetOnEvent($GUI_EVENT_CLOSE, '_Pro_Exit')
	
GUICtrlCreateEdit('', 5, 5, 200, 200, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))

GUICtrlCreateButton('Выход', 4, 210, 202, 25)
	GUICtrlSetOnEvent(-1, '_Pro_Exit')

GUISetState()


While 1
	Sleep(10)
WEnd

Func _Pro_Exit()
	Exit
EndFunc


делается так: В справке по необходимой функции есть данные о стандартном (default) стиле для элемента упралвения.
В данном случае: default ( -1) : $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL.
Присвоить все эти стили элементу и удалить не нужные: BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL)
 
Верх