|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Скрипты Inno Setup. Помощь и советы [часть 2] |
|
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
|
Ветеран Сообщения: 1133 |
Профиль | Отправить PM | Цитировать
Лимит страниц.
Тема закрыта. Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3] Внимание! Данная тема предназначена только для обсуждения написания скриптов ! Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Ссылка на архив предыдущей темы (также можно скачать из вложения) |
|
------- Отправлено: 22:06, 23-08-2009 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Cartmans,
Цитата Cartmans:
Цитата Cartmans:
|
||
Отправлено: 08:07, 02-03-2010 | #1391 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата solvador:
хоть инно и определяет set как служебное слово, но свое множество я так и не смог определить тоже самое в отношении in |
|
Отправлено: 11:01, 02-03-2010 | #1392 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать South, такая же беда.
Написал такой код: procedure DBBackup(); var C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z: String; begin CreateBackup; {вызов процедуры создания резервных копий} C:= 'c'; D:= 'd'; E:= 'e'; F:= 'f'; G:= 'g'; H:= 'h'; I:= 'i'; J:= 'j'; K:= 'k'; L:= 'l'; M:= 'm'; N:= 'n'; O:= 'j'; P:= 'p'; Q:= 'q'; R:= 'r'; S:= 's'; T:= 't'; U:= 'u'; V:= 'v'; W:= 'w'; X:= 'x'; Y:= 'y'; Z:= 'z'; if FindFirst(ExpandConstant('{app}\gamedata.db*'), FindFiles) then {ищем по маске файлы в директории} begin repeat Delete(FindFiles.Name, 1, 11); {режем строку до одной последней буквы} case FindFiles.Name of {сравнение и результат} C: CreateDBBackup; D: CreateDBBackup; E: CreateDBBackup; F: CreateDBBackup; G: CreateDBBackup; H: CreateDBBackup; I: CreateDBBackup; J: CreateDBBackup; K: CreateDBBackup; L: CreateDBBackup; M: CreateDBBackup; N: CreateDBBackup; O: CreateDBBackup; P: CreateDBBackup; Q: CreateDBBackup; R: CreateDBBackup; S: CreateDBBackup; T: CreateDBBackup; U: CreateDBBackup; V: CreateDBBackup; W: CreateDBBackup; X: CreateDBBackup; Y: CreateDBBackup; Z: CreateDBBackup; // else MsgBox(FindFiles.Name, mbCriticalError, mb_OK); {выводим имя пропущенного файла для проверки} end; until not FindNext(FindFiles); FindClose(FindFiles); end; end; По крайней мере для реализации её таким способом |
Последний раз редактировалось solvador, 02-03-2010 в 13:13. Отправлено: 13:00, 02-03-2010 | #1393 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Цитата solvador:
procedure DBBackup(); var // C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z: String; FindFiles : TFindRec; LastChar : Char; begin CreateBackup; {вызов процедуры создания резервных копий} //C:= 'c'; D:= 'd'; E:= 'e'; F:= 'f'; G:= 'g'; H:= 'h'; I:= 'i'; J:= 'j'; K:= 'k'; L:= 'l'; M:= 'm'; N:= 'n'; O:= 'j'; P:= 'p'; Q:= 'q'; R:= 'r'; S:= 's'; T:= 't'; U:= 'u'; V:= 'v'; W:= 'w'; X:= 'x'; Y:= 'y'; Z:= 'z'; if FindFirst(ExpandConstant('{app}\gamedata.db*'), FindFiles) then begin {ищем по маске файлы в директории} repeat // Delete(FindFiles.Name, 1, 11); {режем строку до одной последней буквы} LastChar:=UpperCase(FindFiles.Name)[Length(FindFiles.Name)]; if (LastChar<>'A') and (LastChar<>'B') then CreateDBBackup; // case FindFiles.Name of {сравнение и результат} // C: CreateDBBackup; D: CreateDBBackup; E: CreateDBBackup; F: CreateDBBackup; G: CreateDBBackup; H: CreateDBBackup; // I: CreateDBBackup; J: CreateDBBackup; K: CreateDBBackup; L: CreateDBBackup; M: CreateDBBackup; N: CreateDBBackup; // O: CreateDBBackup; P: CreateDBBackup; Q: CreateDBBackup; R: CreateDBBackup; S: CreateDBBackup; T: CreateDBBackup; // U: CreateDBBackup; V: CreateDBBackup; W: CreateDBBackup; X: CreateDBBackup; Y: CreateDBBackup; Z: CreateDBBackup; //else MsgBox(FindFiles.Name, mbCriticalError, mb_OK); {выводим имя пропущенного файла для проверки} // end; until not FindNext(FindFiles); FindClose(FindFiles); end; end; |
|
Отправлено: 13:42, 02-03-2010 | #1394 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать South, ну разумеется проще
Я же говорю, что ни капли не программист. Хотя и LastChar (хотел сказать аналогичный пример) всё время был на виду пока листал руководства, но использовать его ума не хватило Спасибо! Правда там есть архивы заканчивающиеся на 1...9. Но думаю это решается быстро. Хм... посмотрел статьи Ерёмина, где как мне казалось видел аналогичный пример. Там такого нет, видимо ошибся... |
Последний раз редактировалось solvador, 02-03-2010 в 14:27. Отправлено: 14:06, 02-03-2010 | #1395 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать кое-что смог сделать со множествами, оказывается они все-таки есть, только вот работать с ними как-то не очень удобно
var c:Char; b:byte; MySet1: set of char; MySet2: set of byte; begin MySet1:=['a','b','x','y']; MySet2:=[byte(1),byte(2),byte(3),byte(4),byte(5),byte(6),byte(7),byte(8),byte(9)]; c:='a'; if c in MySet1 then MsgBox('c in MySet1; c = '+c, mbCriticalError, mb_OK); b:=0; if b in MySet2 then MsgBox('b in MySet2; b = '+IntToStr(b), mbCriticalError, mb_OK); end; |
Отправлено: 14:44, 02-03-2010 | #1396 |
Старожил Сообщения: 178
|
Профиль | Отправить PM | Цитировать Inno ISCmplr Setup 5.3.8 build 100301 by Restools
|
Отправлено: 15:18, 02-03-2010 | #1397 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать South, ещё раз Спасибо. Пригодится.
Попробовал опираясь на ваш код слегка его подправить Получилось так: const Symbol = 'cdefghijklmnopqrstuvwxyz'; procedure DBBackup(); var FindFiles : TFindRec; begin CreateBackup; {вызов процедуры создания резервных копий} if FindFirst(ExpandConstant('{app}\gamedata.db*'), FindFiles) then begin {ищем по маске файлы в директории} repeat if Pos(FindFiles.Name[Length(FindFiles.Name)],Symbol) > 0 then CreateDBBackup; until not FindNext(FindFiles); FindClose(FindFiles); end; end; |
Отправлено: 15:21, 02-03-2010 | #1398 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать solvador,
можно и так, только, если пишешь , то лучше написать как . вдруг расширение в верхнем регистре будет написано Цитата solvador:
|
|
Отправлено: 16:02, 02-03-2010 | #1399 |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать svensoft, мне нужен скрипт без наворотов))
|
Отправлено: 16:36, 02-03-2010 | #1400 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Inno Setup .:[все вопросы]:. | Mchik | Автоматическая установка приложений | 1329 | 23-08-2009 20:13 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|