Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дата: Пт, 21 Августа 2009, 11:01 | Сообщение # 125
Генератор идей
Модераторы
Сообщений: 3173
Offline
Попробовал! Почему-то тоже не фурычит... И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??
Добавлено... А, нет, я тут не прав. Ведь тогда будет удаляться всё, начиная с первой найденной закладки (считая с начала файла), а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла).
Дата: Пт, 21 Августа 2009, 11:12 | Сообщение # 126
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (VadimLevkin)
Попробовал! Почему-то тоже не фурычит...
Странно, у меня же фурычит...
Quote (VadimLevkin)
И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??
Если точнее, то это не счетчик первого цикла, а номер строки, которую мы искали (т.е. "{\*\bkmkstart Del}"). После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.
Добавлено (21 Август 2009, 11:10) ---------------------------------------------
Quote (VadimLevkin)
а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла),
Ну тут уж задача гораздо усложняется..... ща что-нибудь придумаем...
Добавлено (21 Август 2009, 11:12) ---------------------------------------------
Quote (VadimLevkin)
читает не как "если содержание строки содержит то-то", а как "если строка идентична по содержанию тому-то"?
Ну конечно же! Кстати из справки:
Quote
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
Дата: Пт, 21 Августа 2009, 11:14 | Сообщение # 128
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (Bodi)
Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца
Quote (Bodi)
не счетчик первого цикла, а номер строки
Спасибо! Интересно, почему же у меня не работает... Сейчас буду разбираться... Но еще вопрос остался: как сделать так, чтобы находилась не первая, а последняя закладка? Чтобы именно последний кусок файла найти и отсечь по последней закладке. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Пт, 21 Августа 2009, 11:23 | Сообщение # 130
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
Math "[lines]-[i]" "" "[startDELL]"
Спасибо, попробую!
Quote (Bodi)
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
Дата: Пт, 21 Августа 2009, 11:25 | Сообщение # 131
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (VadimLevkin)
как сделать так, чтобы находилась не первая, а последняя закладка?
Начинаем искать данную строку, Нашли? Запоминаем ее номер в переменную [n]! Ищем дальше эту же строку! Нашли? Запоминаем ее номер в переменную [n]! Ищем дальше эту же строку! ... ... Не нашли? Значит номер последней найденой строки бедет в переменной [n]!
Добавлено (21 Август 2009, 11:25) ---------------------------------------------
Дата: Пт, 21 Августа 2009, 11:40 | Сообщение # 135
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (sp3d)
ну покажи свой вариант
Мне кажется давать готовые ответы (готовые скрипты) не очень правильно! Пусть лучше сами (юзеры) пытаются найти решение задачи, а те кто его знают, должны давать подсказки и советы!
Твой вариант можно облегчить, но вначале мне нужно понять, что мы ищем:
Дата: Пт, 21 Августа 2009, 11:50 | Сообщение # 136
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (Bodi)
Мне кажется давать готовые ответы (готовые скрипты) не очень правильно!
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все
Добавлено (21 Август 2009, 11:50) --------------------------------------------- я показал пример, также как и мне показывали примеры другие люди, если бы мне непоказывали рабочие примеры, то я бы давно забил на програмирование
Дата: Пт, 21 Августа 2009, 11:51 | Сообщение # 137
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (sp3d)
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все
Ну конечно же, кто ж спорит.... Кстати, ты проверял свой код? Он работает? У меня нет. А вот так работает:
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.
Дата: Пт, 21 Августа 2009, 12:36 | Сообщение # 138
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (Bodi)
А вот так работает:
Браво!!! Действительно работает! И работает как надо! Спасибо за примеры! Без них очень трудно осваивать, это как научиться говорить в одиночестве, не слушая людей... Только я еще не осмыслил работу этого кода до конца. Не догоняю, как определяется в этом коде именно последняя закладка? Ведь скрипт действительно удаляет строки именно с конца.
Quote (Bodi)
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх
Дата: Пт, 21 Августа 2009, 12:42 | Сообщение # 140
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (VadimLevkin)
Только я еще не осмыслил работу этого кода до конца.
Вот-вот, именно поэтому я и говорю, что лучше давать только подсказки, а до конечного результата лучше попробовать додуматься самому!! Тогда будет понятно все до последней капельки!
Quote (VadimLevkin)
Не догоняю, как определяется в этом коде именно последняя закладка?
См. сообщение #131
Добавлено (21 Август 2009, 12:42) ---------------------------------------------
Дата: Пт, 21 Августа 2009, 12:52 | Сообщение # 141
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (Bodi)
См. сообщение #131
А, дошло! Мы просто цикл не остановили, а дали ему пройти до конца. Вторые сутки не сплю, бьюсь с кодом, уже голова не варит...
Quote (sp3d)
не проверял т.к. нет RTF-файла
А RTF - это тот же TXT, только специальных символов и команд много, их блокнот не интерпретирует, просто как текст (значки) и показывает. Кстати, шикарная вещь, этот RTF!, благодаря этому формату в NB можно что угодно с текстом делать... Еще бы освоить всё это... Спасибо за помощь!!! Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Пт, 21 Августа 2009, 13:04 | Сообщение # 143
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (Bodi)
а до конечного результата лучше попробовать додуматься самому!
...прошел год... мой косяк в том что я дал пример и не делал коменты, вот так должно быть понятно принцип работы
Code
................. .создаем цикл для поиска где "countRTF" общее число строк Loop "1" "[countRTF]" "[i]" FileRead "[RTF]" "[i]" "[StrDelete]" . считываем каждую строчку в переменую "StrDelete" SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" "" . ищем по заданой маске в строках. Переменая "startDELL" покажет номер строчки(читаем хелп) If "[startDELL]" ">" "0" . если строчка найдена, то записываем ее номер в переменную "lastBkmks". Последняя запись заменяет предыдущую SetVar "[lastBkmks]" "[i]" . в переменной "lastBkmks" будет всегда отоброжатся последняя найденая строка! . если нам надо отобразить все вхождения поиска, то надо добавить в переменую, а не заменить .SetVar "[lastBkmks]" "[lastBkmks] >[i]<" . да и не тормозим цикл, как в предыдущем примере(Сообщение # 124), надо чтоб он просмотрел все Else EndIf EndLoop .начинаем удаление с последней найденой строчки, т.е. lastBkmks .заканчиваем "countRTF" общим числом Loop "[lastBkmks]" "[countRTF]" "[j]" . ну собственно дальше удаляем .......................
Сообщение отредактировано sp3d - Пт, 21 Августа 2009, 13:25
Дата: Пт, 21 Августа 2009, 13:05 | Сообщение # 144
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (Bodi)
Пожалуйста! Обращайтесь еще....
Обязательно!!! Уж чего чего, а вопросов у меня море! Я просто до посинения сижу, сам пытаюсь решить (это для вас с sp3d эти вопросы простые), но поскольку у меня еще много пробелов в элементарных знаниях, то простейшие задачки решаю часами и сутками. Иной раз кажется, что просто измором беру - NB просто сдаётся, машет своими киберручками и говорит: "Ладно, ладно, вот тебе, видишь, работает! Отстать уже, иди спи..." Иной раз действительно кажется, что вроде бы вообще не прикасался к коду, а он возьми и заработай... Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Пт, 21 Августа 2009, 13:17 | Сообщение # 147
Необукер
Проверенные
Сообщений: 4238
Offline
Bodi, примеры страшны и безполезны только для копипастеров, а если человек пытается попонимать пример, вникнуть в код, то ему только в пользу
Quote (VadimLevkin)
А RTF - это тот же TXT
да без разницы, это надо было туда набивать какой нибудь текст, немного не до этого было, по поводу примеров: VadimLevkin, не приучай себя к копи-пасте, лучше проанализировать даденый пример, так сказать прощупать попонимать, если какя то строчка не понятна, спросить, и тебе помогут ее объяснить
Дата: Пт, 21 Августа 2009, 13:20 | Сообщение # 149
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
ну вот, пока писал уже и сам додумался
Я все внимательно прочитываю, по нескольку раз. Понимание пониманию рознь... Чем разнообразнее комментарии, тем полнее можно понять мысль. Так что за примеры и комменты отдельное спасибо! Кстати, с комментариями действительно понимается проще :). Я код еще "с листа" не читаю. Только свой, и то не всегда... Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Пт, 21 Августа 2009, 13:24 | Сообщение # 150
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Что значит этот синтаксис (>[i]<)?
если тебя смутило ><, то это просто для разделения цифр, иначе они сольются
Quote
123456854238649785 >1< >2< >34< >56< >85<...
Добавлено (21 Август 2009, 13:21) ---------------------------------------------
Quote (Bodi)
Мы все таки пришли к взаимному мнению
надеюсь
Добавлено (21 Август 2009, 13:24) --------------------------------------------- Просто я помню, как сам изучал флеш и php, так те кто пытался объяснять, я долго вникал, а на примерах(с коментами) понимал быстрее, но ты прав, к каждому нужен свой метод
Сообщение отредактировано sp3d - Пт, 21 Августа 2009, 13:24