|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3] |
|
Скрипты Inno Setup. Помощь и советы [часть 3]
|
Ветеран Сообщения: 1133 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 |
|
------- Отправлено: 00:28, 04-11-2010 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать EvilAlex, Держи, тока консольное окошко на распаковке будет, тут уж звиняй, мож кто подскажет, как на прогрессбаре распаковку показать, вместо консоли.
|
------- Последний раз редактировалось Gnom_aka_Lexander, 12-02-2020 в 14:56. Отправлено: 00:07, 09-05-2011 | #1561 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Всех с Праздником!
Подскажите, как в бинарном файле произвести поиск значений (допустим "C7 46 04 00 00 18 00") и определить смещение, если такие значения есть. Пример поиска строковых данных естьа вот как быть с поиском шестнадцатеричных... Даже такие варианты пробовал ![]() |
Последний раз редактировалось solvador, 09-05-2011 в 14:20. Причина: исправил Отправлено: 13:55, 09-05-2011 | #1562 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать нашел в своих примерах скриптов, может поможет
[Setup] AppName=My Program AppVerName=My Program version 1.5 DefaultDirName={pf}\My Program [Files] Source: compiler:Examples\MyProg.exe; DestDir: {app} [*C*ode] procedure WriteToFile(); var FS: TFileStream; str: string; i: integer; begin str:= ''; for i:= 0 to 10 do str:= str + IntToStr(Random(10)); // сгенерили рандомную строку FS := TFileStream.Create(ExpandConstant('{app}\MyProg.exe'), fmOpenReadWrite); // открыли файл try FS.Seek(1572,soFromBeginning); // установили курсор по смещению 1572 от начала файла FS.WriteBuffer(str, Length(str)); // записали рандомную строку в позицию курсора finally FS.Free; // освободили файл end; end; procedure ReadFromFile(); var FS: TFileStream; str: string; i: integer; begin str:= StringOfChar(' ', 10); // подготовили буфер для чтения длиной 10 байт FS := TFileStream.Create(ExpandConstant('{app}\MyProg.exe'), fmOpenReadWrite); // открыли файл try FS.Seek(1572,soFromBeginning); // установили курсор по смещению 1572 от начала файла FS.ReadBuffer(str, Length(str)); // считали в буфер 10 байт от позиции курсора MsgBox(str, mbInformation, MB_OK); // вывели сообщение с тем, что считали finally FS.Free; // освободили файл end; end; procedure ReadFromFileByte(); var FS: TFileStream; str: string; i: integer; begin str:= StringOfChar(' ',1); FS := TFileStream.Create(ExpandConstant('{src}\struct.dat'), fmOpenReadWrite); try FS.Seek(21,soFromBeginning); FS.ReadBuffer(str, 1); i:= Ord(str[1]); MsgBox(IntToStr(i), mbInformation, MB_OK); finally FS.Free; end; end; procedure DeinitializeSetup(); begin ReadFromFile(); // прочитали строку из файла WriteToFile(); // записали строку в файл ReadFromFile(); // опять прочитали end; |
------- Отправлено: 14:10, 09-05-2011 | #1563 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y.,
В этом примере тоже ищется строка. А надо чтобы искались hex значения. Таких примеров я не встречал. А может есть сторонние утилиты, работающие с бинарными файлами через командную строку. ЗЫ за пример Спасибо, но он у меня есть. И ничего толкового я из него извлечь не смог. |
Отправлено: 14:16, 09-05-2011 | #1564 |
Ветеран Сообщения: 510
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:29, 09-05-2011 | #1565 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать insombia, ну переменная не определена, что тут непонятного ?
мб при объединении скриптов в var добавить её забыли. иногда ошибки есть из-за отсутствия ; после предыдущей операции в коде, я так понимаю, это из-за расширенного компилятора эти ошибки бывают. |
Отправлено: 18:19, 09-05-2011 | #1566 |
Ветеран Сообщения: 510
|
Профиль | Отправить PM | Цитировать murlakatamenka как сделать чтобы она определилась?
|
Отправлено: 20:51, 09-05-2011 | #1567 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать вернее было сказать, что она не объявлена
В секции [code] после var написать FilenameLabel: TLabel; |
Отправлено: 23:03, 09-05-2011 | #1568 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Цитата Лександер:
|
|
Последний раз редактировалось slysoft, 10-05-2011 в 00:09. Отправлено: 23:55, 09-05-2011 | #1569 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Последний раз редактировалось Gnom_aka_Lexander, 10-05-2011 в 11:57. Отправлено: 11:02, 10-05-2011 | #1570 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Утилиты - [addon] Inno Setup | CrOsP | Наборы обновлений для Windows XP/2003/Windows 7 | 33 | 11-05-2011 16:03 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Inno Setup 5.3.6 | OSZone Software | Новости программного обеспечения | 0 | 15-11-2009 17:30 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|