Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


Сообщения: 2358
Благодарности: 559

Профиль | Отправить PM | Цитировать


Цитата K.A.V.:
Обучение IO: собственные странички »
Очень не хотелось бы связываться с IO, который забраковали даже сами разрабы, как явно устаревший и во всём уступающий nsDialogs...
Цитата K.A.V.:
пример Считываем данные из консольного приложения в ListView »
Даже если пересилить себя и связаться допотопным IO, то этот способ оч громоздский по сравнению с одной строкой
ExecDos::exec /NOUNLOAD /ASYNC /TOWINDOW

Но оказалось есть интересный способ получить данные из ListBox_а (конечно не в полной мере, какой хотелось бы...), но всё же выход :

Код: Выделить весь код
OutFile ExecDos_TOWINDOW.exe
!include nsDialogs.nsh
Var Dialog
Var hcli
Var ListBox
Page custom MyPage leave

Function MyPage
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateListBox} 0 20 100% 100u "$ListBox"
Pop $ListBox
;System::Call "user32::OemToChar(t$ListBox, t.$ListBox)" #ни хрена не работает, местоположение менял...
ExecDos::exec /NOUNLOAD /ASYNC /TOWINDOW "cmd /?" "" $ListBox
Pop $hcli
nsDialogs::Show
FunctionEnd

Function leave
SendMessage $ListBox ${LB_GETCURSEL} 0 0 $1 
IntOp $1 $1 + 1
;MessageBox MB_OK $1
System::Call user32::SendMessage(i$ListBox,i${LB_GETTEXT},ir1,t.r1) 
;System::Call "user32::OemToChar(tr1, t.r1)"    # здесь работает, но здесь не надо...
MessageBox MB_OK $1 
ExecDos::wait $hcli
FunctionEnd

Section
SectionEnd
Цитата K.A.V.:
в справочнике, как ни странно, есть решение этой проблемы »
Точно так. Знал ведь , да забыл... Но почему то не работает там, где надо (см. пример в коде, комбинировал по разному - без результата... ). Может я чего опять упустил...

Цитата K.A.V.:
Не совсем понял вопрос, но...в справке на страничке описания ListView есть в сааамом конце команда для перемотки списка »
Я имел ввиду, что из консоли мне насыпится куча строк, а надо использовать только конкретные номера строк, а остальные ессно игнорировать...
Но с LB_GETCURSEL наверное может удастся это реализовать... Как - пока не придумал...

ps В доке сказано, что можно посылать данные с помощью /TOWINDOW не только в чёртов ListView :
Цитата:
Edit, RichEdit, ListView and ListBox supported
А как бы это сделать на практике ? Например, отправить инфу в окно Edit (с помощью nsDialogs ) ...

Последний раз редактировалось MKN, 11-02-2015 в 13:19.


Отправлено: 12:17, 11-02-2015 | #1484