Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Нередко разработчики программного обеспечения включают в своё "детище" опцию показа всем уже известного окошка "Совет дня" при запуске приложения. В "Советах дня" обычно рассказывается о некоторых особенностях программы, даются краткие подсказки по работе. И, если уж мы собираемся создавать свои собственные программы, то почему бы нам тоже не работать "по-взрослому"? Тем более, что в NeoBook сделать заветное окошко "Совет дня" совсем просто! В проекте показан пример "Совет дня" в классическом варианте чтения из текстового файла "Tips".
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Peter, Не могу разобраться почему в твоем примере советы идут по порядку т.е. 1...2...3... и тд. Ведь генерируется случайное число. Пытаюсь сделать что то наподобие ,но "советы" показываются вразнобой, а при числе 0 показывается полностью весь документ! Может вопрос глуп и некорректен ,но прошу извинить новичка.
Случайное число генерируется только при открытии окна, чтобы начинало читать со случайной строчки файла, а далее при нажатии кнопки Следующий (см. скрытый контейнер в проекте) советы показываются по возрастанию порядка, там нету генерации рандома, только увеличение строки на 1, и если конец файла то переход к 1 строчке:
FileLen "[PubDir]Tips.txt" "[Len]" If "[Num]" "<" "[Len]" SetVar "[Num]" "[Num]+1" - вот здесь наращиваем номер строки FileRead "[PubDir]Tips.txt" "[Num]" "[Tip]" - и читаем его пока он не превысит [Len] Else SetVar "[Num]" "1" - если превысил, то начинаем с первой строки FileRead "[PubDir]Tips.txt" "[Num]" "[Tip]" EndIf
все элементарно, разложу еще раз логику сценария построчно. Открыли окно, туда прочиталась случайная строчка и вывелась на экран. Ее номер положился в переменную [Num]. Далее в кнопке Следующий:
1. Читаем кол-во строк файла Tips (хотя оно уже прочитано при открытии и лежит в [Len], ну да ладно... 2. [Условие]: Если [Num] меньше (и не равно!) [Len], тогда далее (показываем советы) 3. Увеличиваем номер строки совета [Num] на 1 (следующий) 4. Читаем эту новую строчку номер [Num] и кладем ее содержимое в [Tip] для показа... 5. [Если условие нарушено]: [Num] стал равен или больше [Len] 6. Присваиваем в номер строчки [Num] единицу, т.е. будем читать файл сначала. 7. Читаем эту новую строчку номер [Num] и кладем ее содержимое в [Tip] для показа... 8. [Конец условия]
обратите внимание что в конце файла tips есть пустая строка, т.е. нужно следить за соблюдением условия [Num]<[Len]. В данном примере последняя строка не выводится, т.к. когда [Num] станет равной [Len] (последняя строка), условие будет нарушено и будет вызвана первая строка. Если в вашем файле последняя строка не пустая, то условие должно включать и равенство номера строки = общему кол-ву строк: If "[Num]" "<=" "[Len]"
Это "суровое оформление" идет ещё со времен Win95, и, кстати (на мой взгляд), самое информативное, хоть и аскетичное, и уж всяк лучше оформления в стиле Win7 с её идиотскими размытыми шрифтами. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
SetVar "[Num]" "" SetVar "[Len]" "" Переменные [Num] и [Len] обнулять необязательно, при старте необьявленные переменные всегда и так пустые. Если пишешь код во вкладке Startup то он выполнится только один раз в момент запуска и все будет ок, а другое дело если например в кнопке пишешь которую нажать можно и несколько раз, тогда есть смысл обнулять переменные.
Return Зачем тут Return? Это команда прерывания скрипта, но тут можно обойтись и условиями.
Теперь представьте что сгенерировалось максимальное число 6, тогда [Len]=[Num] и условие не выполнится. Это исключение необходимо добавить в секцию Else где и присвоить [Num] переход к началу файла, [Num]=1.