AZJIO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ViSiToR Цитата: Это изначально неправильное кодирование программы | что именно неправильно? понятно, что современем приходится переписывать, и кстати, это я уже делал, то период обростания фичами, то переписывание для упрощения, даже сейчас средствами AutoIT текст переводится в шестнадцатеричные данные и передаются как параметр утилитке, но оказывается ей можно передать данные в текстовом виде. Цитата: ну вот кусок, который почти пол-ста строк Код: Case $msg = $unsetldr $showsizeldr00=FileGetSize ( 'SETUPLDR.BIN' ) If $showsizeldr00>=298096 Then FileWriteLine (@ScriptDir&'\list.txt', 'FILE = SETUPLDR.BIN' ) FileWriteLine (@ScriptDir&'\list.txt', 'TTL = Replace' ) FileWriteLine (@ScriptDir&'\list.txt', 'Offset = 173314' ) FileWriteLine (@ScriptDir&'\list.txt', 'Change = "TXTSETUP.SIF"' ) ------------------------//------------------------------- FileWriteLine (@ScriptDir&'\list.txt', 'Offset = 172886' ) FileWriteLine (@ScriptDir&'\list.txt', 'Change = "WINNT.SIF"' ) FileWriteLine (@ScriptDir&'\list.txt', 'Offset = 191849' ) FileWriteLine (@ScriptDir&'\list.txt', 'Change = "i386"' ) FileWriteLine (@ScriptDir&'\list.txt', 'Offset = 277870' ) RunWait ( @Comspec & ' /C '&@ScriptDir&'\Replace.exe /p list.txt', '', @SW_HIDE ) EndIf | в нём проверяется размер файла если больше, то... теперь мне нужно указать конкретный размер файла, типа Код: If $showsizeldr00=298096 Then GUICtrlSetData($Label89, 'размер 291кб') If $showsizeldr00=302192 Then GUICtrlSetData($Label89, 'размер 295кб') If $showsizeldr00=261376 Then GUICtrlSetData($Label89, 'размер 255кб') If $showsizeldr00=247024 Then GUICtrlSetData($Label89, 'размер 241кб') | и в отдельности для каждого файла выполнить одну и ту же функцию. Выражение "если больше" уже не устраивает, так как нужно добавить два файла которые больше, но их нельзя патчить этими строками, нужно для каждого файла свою комбинацию, а для 4-х файлов справедлива однотипная комбинация. Или вот с кнопками Код: #include <GUIConstants.au3> GUICreate("типа так",500,420) ; размер окна $tab=GUICtrlCreateTab (10,10, 480,400) ; размер вкладки $tab95=GUICtrlCreateTabitem ("один") ; имя вкладки $reestr91=GUICtrlCreateButton ("Старт Regedit", 20,280,141,22) $tab55=GUICtrlCreateTabitem ("два") ; имя вкладки $reestr=GUICtrlCreateButton ("Старт Regedit", 20,280,141,22) $tab55=GUICtrlCreateTabitem ("три") ; имя вкладки $reestr61=GUICtrlCreateButton ("Старт Regedit", 20,280,141,22) $pathreestr = "" GUICtrlCreateTabitem ("") ; конец вкладок GUISetState () While 1 $msg = GUIGetMsg() Select Case $msg = $reestr91 If $pathreestr = "" Then $pathreestr="regedit.exe" Run($pathreestr) Case $msg = $reestr61 If $pathreestr = "" Then $pathreestr="regedit.exe" Run($pathreestr) Case $msg = $reestr If $pathreestr = "" Then $pathreestr="regedit.exe" Run($pathreestr) Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd |
|