Я выбираю файл, выполняется консольная команда с ним, как мне в результатах работы найти определенные слова типа Индекс: 1, 2, 3 и так далее и вставить их в Выпадающий список?
Поиск строк по маске выполняется компонентом StrMask, верно? Но похоже, он не хочет работать с результатом работы консольной программы.
--- Добавлено в 2017-04-08 11:51:16
Вот новый вариант программы, добавил Выпадающий список
Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,21,105)
{
Width=765
Height=295
Caption="EasyWIM"
BorderStyle=1
}
Add(Label,199530,686,7)
{
Left=10
Top=10
Width=59
Height=17
Caption="Файл WIM"
}
Add(Label,15284519,686,98)
{
Left=10
Top=60
Width=120
Height=17
Caption="Папка для распаковки"
}
Add(Edit,9602735,266,42)
{
Left=10
Top=30
Width=255
Text=""
link(onChange,7723552:doString,[(317,48)(317,55)])
}
Add(Edit,6448763,203,112)
{
Left=10
Top=80
Width=255
Text=""
}
Add(Button,10166825,77,42)
{
Left=280
Top=30
Width=20
Caption="..."
link(onClick,3214129:doExecute,[])
}
Add(Button,15887377,81,109)
{
Left=280
Top=80
Width=20
Caption="..."
link(onClick,4020917:doBrowse,[(130,115)(130,118)])
}
Add(ODialog,3214129,147,42)
{
Filter="*.wim"
Title="Выберите файл WIM"
FileName="*.wim"
link(onExecute,9602735:doText,[])
}
Add(Browse,4020917,147,112)
{
Title="Укажите папку для распаковки файла WIM"
NewStyle=0
link(onBrowse,6448763:doText,[])
}
Add(Button,8158137,84,175)
{
Left=10
Top=220
Width=75
Height=40
Caption="Распаковка"
link(onClick,11355605:doString,[])
}
Add(WinExec,6803986,539,175)
{
FileName="dism.exe"
Point(onConsoleResult)
Point(doConsoleInput)
Point(doConsoleExec)
link(Params,11355605:FString,[(552,163)(408,163)(408,219)(265,219)])
link(onConsoleResult,3789731:doEvent1,[(593,188)(593,251)])
}
Add(FormatStr,11355605,259,175)
{
Mask=" /mount-wim /index:1 /wimfile:%1 /mountdir:%2"
Point(FString)
link(onFString,6803986:doConsoleExec,[(415,181)(415,202)])
link(Str1,1913286:Var2,[])
link(Str2,15239786:Var2,[(272,169)(209,169)])
}
Add(FormatStr,5534339,315,231)
{
DataCount=1
Mask="/unmount-wim /mountdir:%1 /discard"
Point(FString)
link(onFString,3759111:doConsoleExec,[(443,237)(443,258)])
link(Str1,11593969:Var2,[(321,229)(230,229)])
}
Add(FormatStr,15589987,329,301)
{
Mask="/image:%1 /add-driver /driver:%2 /recurse /forceunsigned"
Point(FString)
link(onFString,8716994:doConsoleExec,[(450,307)(450,321)])
link(Str1,11593969:Var3,[(335,223)])
link(Str2,14730865:Text,[(342,289)(309,289)(309,405)(276,405)])
}
Add(Button,16473098,81,298)
{
Left=210
Top=220
Width=75
Height=40
Caption="Добавление драйверов"
link(onClick,15589987:doString,[(245,304)(245,307)])
}
Add(Button,4467391,81,235)
{
Left=110
Top=220
Width=75
Height=40
Caption="Запаковка"
link(onClick,5534339:doString,[(239,241)(239,237)])
}
Add(GetDataEx,15239786,203,154)
{
link(Data,6448763:Text,[])
}
Add(GetDataEx,1913286,259,105)
{
link(Data,3793120:Var2,[])
}
Add(Edit,14730865,270,361)
{
Left=10
Top=130
Width=255
Text=""
}
Add(Button,9774882,82,362)
{
Left=280
Top=130
Width=20
Caption="..."
link(onClick,15145513:doBrowse,[(131,368)(131,370)])
}
Add(Label,15331021,683,151)
{
Left=10
Top=110
Width=110
Height=17
Caption="Папка с драйверами"
}
Add(Browse,15145513,154,364)
{
Title="Укажите папку с драйверами"
link(onBrowse,14730865:doText,[(228,370)(228,367)])
}
Add(WinExec,8716994,539,301)
{
FileName="dism.exe"
RunEvent=1
Point(doConsoleExec)
Point(onConsoleResult)
link(Params,15589987:FString,[(552,289)(444,289)(444,345)(335,345)])
link(onConsoleResult,3789731:doEvent3,[(593,314)(593,265)])
}
Add(WinExec,3759111,539,238)
{
FileName="dism.exe"
Point(doConsoleExec)
Point(onConsoleResult)
link(Params,5534339:FString,[(552,226)(436,226)(436,275)(321,275)])
link(onConsoleResult,3789731:doEvent2,[(593,251)(593,258)])
}
Add(Memo,15792275,742,245)
{
Left=310
Top=40
Width=440
Height=220
Font=[Lucida Console,8,0,0,204]
ScrollBars=3
ReadOnly=0
Point(Position)
Point(onShow)
}
Add(Hub,3789731,616,245)
{
InCount=3
OutCount=1
link(onEvent1,8723266:doCharset,[])
}
Add(GetDataEx,11593969,224,218)
{
Angle=3
link(Data,15239786:Var1,[(200,223)(200,159)])
}
Add(GetDataEx,3793120,259,84)
{
link(Data,9602735:Text,[(265,79)(272,79)])
}
Add(Label,9603378,683,53)
{
Left=10
Top=160
Width=100
Height=17
Caption="Редакция Windows"
}
Add(Charset,8723266,672,245)
{
link(onCharset,15792275:doAdd,[])
}
Add(ComboBox,14930163,602,77)
{
Left=10
Top=180
Width=255
Height=21
Text=""
DataType=1
}
Add(FormatStr,7723552,336,49)
{
DataCount=1
Mask="/get-wiminfo /wimfile:%1"
Point(FString)
link(onFString,16362163:doConsoleExec,[(387,55)(387,90)])
link(Str1,3793120:Var1,[(342,30)(256,30)(256,89)])
}
Add(WinExec,16362163,406,63)
{
FileName="dism.exe"
Point(onConsoleResult)
Point(doConsoleInput)
Point(doConsoleExec)
link(Params,7723552:FString,[(419,51)(381,51)(381,93)(342,93)])
link(onConsoleResult,5586221:doCharset,[])
}
Add(Charset,5586221,462,70)
{
link(onCharset,2860730:doCompare,[])
}
Add(StrMask,2860730,525,70)
{
Mask="Индекс: #"
link(onTrue,14930163:doAdd,[])
}