PDA

Показать полную графическую версию : [решено] Заполнение listbox значениями из edit и обратно в таком же порядке


eus_deus
30-01-2014, 18:00
Здравствуйте!
Возникла такая задача: нужно строки из edit загрузить в listbox в том же порядке, как и в edit. Нужно для дальнейшего редактирования - перемещения строк вверх вниз, удаления...Подозреваю, что перемешивать в list удобнее. Ну а потом перемешаный помещать обратно в edit

Рабочий пример примерно такой:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 613, 438, 420, 124)
$Edit1 = GUICtrlCreateEdit("", 8, 8, 281, 417)
$List1 = GUICtrlCreateList("", 344, 8, 265, 409)
$Button1 = GUICtrlCreateButton(">", 304, 88, 33, 33)
$Button2 = GUICtrlCreateButton("<", 304, 136, 33, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd


Спасибо!

Creat0R
30-01-2014, 18:22
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <ButtonConstants.au3>
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <EditConstants.au3>
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <GUIConstantsEx.au3>
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <GUIListBox.au3>
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate (http://autoit-script.ru/autoit3_docs/functions/GUICreate.htm)("Form1", 613, 438, 420, 124)
$Edit1 = GUICtrlCreateEdit (http://autoit-script.ru/autoit3_docs/functions/GUICtrlCreateEdit.htm)("", 8, 8, 281, 417)
$List1 = GUICtrlCreateList (http://autoit-script.ru/autoit3_docs/functions/GUICtrlCreateList.htm)("", 344, 8, 265, 409)
$Button1 = GUICtrlCreateButton (http://autoit-script.ru/autoit3_docs/functions/GUICtrlCreateButton.htm)(">", 304, 88, 33, 33)
$Button2 = GUICtrlCreateButton (http://autoit-script.ru/autoit3_docs/functions/GUICtrlCreateButton.htm)("<", 304, 136, 33, 33)
GUISetState (http://autoit-script.ru/autoit3_docs/functions/GUISetState.htm)(@SW_SHOW (http://autoit-script.ru/autoit3_docs/macros.htm#@sw_show))
#EndRegion ### END Koda GUI section ###

While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://autoit-script.ru/autoit3_docs/functions/GUIGetMsg.htm)()

Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Button1
$sEdit = StringReplace (http://autoit-script.ru/autoit3_docs/functions/StringReplace.htm)(GUICtrlRead (http://autoit-script.ru/autoit3_docs/functions/GUICtrlRead.htm)($Edit1), @CRLF (http://autoit-script.ru/autoit3_docs/macros.htm#@crlf), '|')
GUICtrlSetData (http://autoit-script.ru/autoit3_docs/functions/GUICtrlSetData.htm)($List1, $sEdit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Button2
$sList = ''

For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 0 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) _GUICtrlListBox_GetCount (http://autoit-script.ru/autoit3_docs/libfunctions/_guictrllistbox_getcount.htm)($List1) - 1
$sList &= _GUICtrlListBox_GetText (http://autoit-script.ru/autoit3_docs/libfunctions/_guictrllistbox_gettext.htm)($List1, $i) & @CRLF (http://autoit-script.ru/autoit3_docs/macros.htm#@crlf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)

GUICtrlSetData (http://autoit-script.ru/autoit3_docs/functions/GUICtrlSetData.htm)($Edit1, $sList)
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)

eus_deus
30-01-2014, 18:27
Creat0R, все бы хорошо, но в листе получаю не тот порядок, что в edit. а надо точно такой. зато у edit после листа - один в один

Creat0R
30-01-2014, 18:53
в листе получаю не тот порядок »
Нужно у элемента списка убрать стиль $LBS_SORT:

$List1 = GUICtrlCreateList (http://autoit-script.ru/autoit3_docs/functions/GUICtrlCreateList.htm)("", 344, 8, 265, 409, BitXOR (http://autoit-script.ru/autoit3_docs/functions/BitXOR.htm)($GUI_SS_DEFAULT_LIST, $LBS_SORT))

eus_deus
30-01-2014, 19:46
Creat0R, я неправильно сделал с самого начала. Вот смотрите - имею подобные исходные тексты:

[mm_grafics]
Delimeters=#!#
POPUP Конвертация изображений
MENUITEM Конвертировать выделенные изображения#!#1964#!#"%COMMANDER_PATH%\TCIMG.exe"#!#"shape=1 start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_view32.exe||[group=BOX2!!%%L=%L!!%%p=%p!!%%E=%E]~~/convert=%p*.[combo=BOX4]~~/killmesoftly||&&hide||&&wait"
POPUP Конвертация в jpg
MENUITEM Конвертировать выделенные изображения в JPG 95%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=95~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 90%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=90~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 85%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=85~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 80%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=80~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 75%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=75~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 70%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=70~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 60%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=60~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 50%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe||/filelist=%L~~/jpgq=50~~/convert=$D$N$O~~/killmesoftly||&&hide||&&wait||upd<1>
END_POPUP
MENUITEM Конвертировать в JPG все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.jpg~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертировать в GIF все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.gif~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертировать в BMP все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.bmp~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертировать в PNG все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.png~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертировать в TGA все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.tga~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертировать в TIF все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.tif~~/killmesoftly||&&hide||&&wait tcimg=$cm540
MENUITEM Конвертирование с удалением исходных файлов!!!#!#,0
MENUITEM Конвертировать в JPG выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||/filelist=%L~~/convert=%p*.jpg~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
MENUITEM Конвертировать в GIF выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||/filelist=%L~~/convert=%p*.gif~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
MENUITEM Конвертировать в BMP выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||/filelist=%L~~/convert=%p*.bmp~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
MENUITEM Конвертировать в PNG выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.png~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
MENUITEM Конвертировать в TGA выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.tga~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
MENUITEM Конвертировать в TIF выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe||%p*.%E~~/convert=%p*.tif~~/killmesoftly||&&hide||&&wait tcimg=$cm540 pause=1000 delss=%L||1||test<1e!!%E>
END_POPUP

то есть по команде на строку. так же надо и в лист сделать. а получаю


[mm_grafics]
Delimeters=#!#
POPUP Конвертация изображений
MENUITEM Конвертировать выделенные изображения#!#1964#!#"%COMMANDER_PATH%\TCIMG.exe"#!#"shape=1 start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_view32.exe

[group=BOX2!!%%L=%L!!%%p=%p!!%%E=%E]~~/convert=%p*.[combo=BOX4]~~/killmesoftly

&&hide

&&wait"
POPUP Конвертация в jpg
MENUITEM Конвертировать выделенные изображения в JPG 95%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=95~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 90%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=90~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 85%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=85~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 80%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=80~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 75%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=75~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 70%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=70~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 60%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=60~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
MENUITEM Конвертировать выделенные изображения в JPG 50%#!#1892#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_vie w32.exe

/filelist=%L~~/jpgq=50~~/convert=$D$N$O~~/killmesoftly

&&hide

&&wait

upd<1>
END_POPUP
MENUITEM Конвертировать в JPG все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.jpg~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертировать в GIF все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.gif~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертировать в BMP все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.bmp~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертировать в PNG все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.png~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертировать в TGA все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.tga~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертировать в TIF все изображения с расширением под курсором#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.tif~~/killmesoftly

&&hide

&&wait tcimg=$cm540
MENUITEM Конвертирование с удалением исходных файлов!!!#!#,0
MENUITEM Конвертировать в JPG выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

/filelist=%L~~/convert=%p*.jpg~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
MENUITEM Конвертировать в GIF выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

/filelist=%L~~/convert=%p*.gif~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
MENUITEM Конвертировать в BMP выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

/filelist=%L~~/convert=%p*.bmp~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
MENUITEM Конвертировать в PNG выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.png~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
MENUITEM Конвертировать в TGA выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.tga~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
MENUITEM Конвертировать в TIF выделенные изображения с удалением исходных#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\ i_view32.exe

%p*.%E~~/convert=%p*.tif~~/killmesoftly

&&hide

&&wait tcimg=$cm540 pause=1000 delss=%L

1

test<1e!!%E>
END_POPUP

понятно что из за спецсимвола '|' его как то можно исключить или заменить на другой?

eus_deus
30-01-2014, 20:04
нашел как менять. спасибо. тема закрыта. пока подбираю спецсимвол))




© OSzone.net 2001-2012