Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Удаление строки
Удаление строки
ВадимДата: Пт, 21 Августа 2009, 10:20 | Сообщение # 121
Генератор идей
Quote (Bodi)
попадаем на строчку с командой "ExitLoop" и соответственно сразу же выходим из цикла...
Ага, точно! Поменял местами ExitLoop и EndIf. Но все равно не работает ... В смысле, не удаляет строки.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
VadimLevkin - Пт, 21 Августа 2009, 10:34
 
Сообщение
Quote (Bodi)
попадаем на строчку с командой "ExitLoop" и соответственно сразу же выходим из цикла...
Ага, точно! Поменял местами ExitLoop и EndIf. Но все равно не работает ... В смысле, не удаляет строки.

Автор - Вадим
Дата добавления - 21 Августа 2009 в 10:20
BodiДата: Пт, 21 Августа 2009, 10:23 | Сообщение # 122
Ветеран форума
...а если "ExitLoop" будет стоять перед "EndIf", то из цикла мы выйдем только если условие будет истино.

Добавлено (21 Август 2009, 10:23)
---------------------------------------------

Quote (Bodi)
Но все равно не работает ... В смысле, не удаляет строки

Странно.... может с проверкой что не так? А такие строчки, которые мы ищем, вообще в файле есть?
 
Сообщение...а если "ExitLoop" будет стоять перед "EndIf", то из цикла мы выйдем только если условие будет истино.

Добавлено (21 Август 2009, 10:23)
---------------------------------------------

Quote (Bodi)
Но все равно не работает ... В смысле, не удаляет строки

Странно.... может с проверкой что не так? А такие строчки, которые мы ищем, вообще в файле есть?

Автор - Bodi
Дата добавления - 21 Августа 2009 в 10:23
ВадимДата: Пт, 21 Августа 2009, 10:34 | Сообщение # 123
Генератор идей
Quote (Bodi)
А такие строчки, которые мы ищем, вообще в файле есть?

Да, конечно, есть! Специально создаю всякий раз, проверяю через блокнот, чтобы и закладочка была на месте :D .


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Bodi)
А такие строчки, которые мы ищем, вообще в файле есть?

Да, конечно, есть! Специально создаю всякий раз, проверяю через блокнот, чтобы и закладочка была на месте :D .

Автор - Вадим
Дата добавления - 21 Августа 2009 в 10:34
BodiДата: Пт, 21 Августа 2009, 10:44 | Сообщение # 124
Ветеран форума
Все, до меня доперло :D
Вот рабочий код:
Quote
FileLen "[RTF]" "[lines]"
Loop "1" "[lines]" "[Numlines]"
.читаем каждую строку в переменную
FileRead "[RTF]" "[Numlines]" "[StrDelete]"
.сравниваем содержание очередной строки с "закладкой"
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
.настраиваем счетчик для удаления с нужной строки и удаляем строки
Loop "[Numlines]" "[lines]" "[NumStrDelete]"
FileDelLine "[RTF]" "[Numlines]"
EndLoop
ExitLoop
EndIf
EndLoop

Изменения, как вы видите не существенные.
Но попробуй сам понять, в чем была ошибка ;)


Сообщение отредактировано
Bodi - Пт, 21 Августа 2009, 10:44
 
СообщениеВсе, до меня доперло :D
Вот рабочий код:
Quote
FileLen "[RTF]" "[lines]"
Loop "1" "[lines]" "[Numlines]"
.читаем каждую строку в переменную
FileRead "[RTF]" "[Numlines]" "[StrDelete]"
.сравниваем содержание очередной строки с "закладкой"
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
.настраиваем счетчик для удаления с нужной строки и удаляем строки
Loop "[Numlines]" "[lines]" "[NumStrDelete]"
FileDelLine "[RTF]" "[Numlines]"
EndLoop
ExitLoop
EndIf
EndLoop

Изменения, как вы видите не существенные.
Но попробуй сам понять, в чем была ошибка ;)

Автор - Bodi
Дата добавления - 21 Августа 2009 в 10:44
ВадимДата: Пт, 21 Августа 2009, 11:01 | Сообщение # 125
Генератор идей
Попробовал! Почему-то тоже не фурычит...
И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??

Добавлено...
А, нет, я тут не прав. Ведь тогда будет удаляться всё, начиная с первой найденной закладки (считая с начала файла), а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла).

Добавлено...
Может быть NB этот фрагмент

Code
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
читает не как "если содержание строки содержит то-то", а как "если строка идентична по содержанию тому-то"?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
VadimLevkin - Пт, 21 Августа 2009, 11:10
 
СообщениеПопробовал! Почему-то тоже не фурычит...
И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??

Добавлено...
А, нет, я тут не прав. Ведь тогда будет удаляться всё, начиная с первой найденной закладки (считая с начала файла), а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла).

Добавлено...
Может быть NB этот фрагмент

Code
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
читает не как "если содержание строки содержит то-то", а как "если строка идентична по содержанию тому-то"?

Автор - Вадим
Дата добавления - 21 Августа 2009 в 11:01
BodiДата: Пт, 21 Августа 2009, 11:12 | Сообщение # 126
Ветеран форума
Quote (VadimLevkin)
Попробовал! Почему-то тоже не фурычит...

Странно, у меня же фурычит...
Quote (VadimLevkin)
И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??

Если точнее, то это не счетчик первого цикла, а номер строки, которую мы искали (т.е. "{\*\bkmkstart Del}").
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.

Добавлено (21 Август 2009, 11:10)
---------------------------------------------

Quote (VadimLevkin)
а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла),

Ну тут уж задача гораздо усложняется..... ща что-нибудь придумаем... ;)

Добавлено (21 Август 2009, 11:12)
---------------------------------------------

Quote (VadimLevkin)
читает не как "если содержание строки содержит то-то", а как "если строка идентична по содержанию тому-то"?

Ну конечно же! Кстати из справки:
Quote
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
 
Сообщение
Quote (VadimLevkin)
Попробовал! Почему-то тоже не фурычит...

Странно, у меня же фурычит...
Quote (VadimLevkin)
И, честно говоря, не понимаю, почему такая замена, ведь [Numlines] - это счетчик первого цикла, а нам нужен там счетчик внутреннего цикла (чтобы все строки удалить начиная с [Numlines])... ??

Если точнее, то это не счетчик первого цикла, а номер строки, которую мы искали (т.е. "{\*\bkmkstart Del}").
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.

Добавлено (21 Август 2009, 11:10)
---------------------------------------------

Quote (VadimLevkin)
а надо кроме прочего, чтобы именно последний кусок файла удалялся - от конца файла до последней закладки, если считать закладки с начала файла),

Ну тут уж задача гораздо усложняется..... ща что-нибудь придумаем... ;)

Добавлено (21 Август 2009, 11:12)
---------------------------------------------

Quote (VadimLevkin)
читает не как "если содержание строки содержит то-то", а как "если строка идентична по содержанию тому-то"?

Ну конечно же! Кстати из справки:
Quote
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]

Автор - Bodi
Дата добавления - 21 Августа 2009 в 11:12
СергейДата: Пт, 21 Августа 2009, 11:13 | Сообщение # 127
Необукер
Quote (VadimLevkin)
нужен там счетчик внутреннего цикла

Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[lines]"
Loop "1" "[lines]" "[i]"
.читаем каждую строку в переменную
FileRead "[RTF]" "[i]" "[StrDelete]"
.сравниваем содержание очередной строки с "закладкой"
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
Math "[lines]-[i]" "" "[startDELL]"
ExitLoop
EndIf
EndLoop
Loop "[startDELL]" "[lines]" "[i]"
.со строки "startDELL" удаляй до конца
EndLoop


Сообщение отредактировано
sp3d - Пт, 21 Августа 2009, 11:17
 
Сообщение
Quote (VadimLevkin)
нужен там счетчик внутреннего цикла

Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[lines]"
Loop "1" "[lines]" "[i]"
.читаем каждую строку в переменную
FileRead "[RTF]" "[i]" "[StrDelete]"
.сравниваем содержание очередной строки с "закладкой"
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
Math "[lines]-[i]" "" "[startDELL]"
ExitLoop
EndIf
EndLoop
Loop "[startDELL]" "[lines]" "[i]"
.со строки "startDELL" удаляй до конца
EndLoop

Автор - Сергей
Дата добавления - 21 Августа 2009 в 11:13
ВадимДата: Пт, 21 Августа 2009, 11:14 | Сообщение # 128
Генератор идей
Quote (Bodi)
Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца

Quote (Bodi)
не счетчик первого цикла, а номер строки
Спасибо! Интересно, почему же у меня не работает... Сейчас буду разбираться... Но еще вопрос остался: как сделать так, чтобы находилась не первая, а последняя закладка? Чтобы именно последний кусок файла найти и отсечь по последней закладке.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Bodi)
Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца

Quote (Bodi)
не счетчик первого цикла, а номер строки
Спасибо! Интересно, почему же у меня не работает... Сейчас буду разбираться... Но еще вопрос остался: как сделать так, чтобы находилась не первая, а последняя закладка? Чтобы именно последний кусок файла найти и отсечь по последней закладке.

Автор - Вадим
Дата добавления - 21 Августа 2009 в 11:14
СергейДата: Пт, 21 Августа 2009, 11:18 | Сообщение # 129
Необукер
Quote (Bodi)
Вот рабочий код:
непойму, а чем вам
Code
SearchStr "{\*\bkmkstart Del}" "[RTF]" "[startDELL]" ""
не подходит?!

Добавлено (21 Август 2009, 11:18)
---------------------------------------------

Quote (VadimLevkin)
по последней закладке.
используй счетчик, и пляши от последних данных
 
Сообщение
Quote (Bodi)
Вот рабочий код:
непойму, а чем вам
Code
SearchStr "{\*\bkmkstart Del}" "[RTF]" "[startDELL]" ""
не подходит?!

Добавлено (21 Август 2009, 11:18)
---------------------------------------------

Quote (VadimLevkin)
по последней закладке.
используй счетчик, и пляши от последних данных

Автор - Сергей
Дата добавления - 21 Августа 2009 в 11:18
ВадимДата: Пт, 21 Августа 2009, 11:23 | Сообщение # 130
Генератор идей
Quote (sp3d)
Math "[lines]-[i]" "" "[startDELL]"
Спасибо, попробую!
Quote (Bodi)
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
Любопытно... И как это должно выглядеть? Сейчас пороюсь в справке. Пробел, впрочем, я тоже могу удалить.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (sp3d)
Math "[lines]-[i]" "" "[startDELL]"
Спасибо, попробую!
Quote (Bodi)
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
Любопытно... И как это должно выглядеть? Сейчас пороюсь в справке. Пробел, впрочем, я тоже могу удалить.

Автор - Вадим
Дата добавления - 21 Августа 2009 в 11:23
BodiДата: Пт, 21 Августа 2009, 11:25 | Сообщение # 131
Ветеран форума
Quote (VadimLevkin)
как сделать так, чтобы находилась не первая, а последняя закладка?

Начинаем искать данную строку,
Нашли? Запоминаем ее номер в переменную [n]!
Ищем дальше эту же строку!
Нашли? Запоминаем ее номер в переменную [n]!
Ищем дальше эту же строку!
...
...
Не нашли? Значит номер последней найденой строки бедет в переменной [n]!

Добавлено (21 Август 2009, 11:25)
---------------------------------------------

Quote (VadimLevkin)
Любопытно... И как это должно выглядеть?

Code
"[City] = [#34]St. Louis[#34]"
 
Сообщение
Quote (VadimLevkin)
как сделать так, чтобы находилась не первая, а последняя закладка?

Начинаем искать данную строку,
Нашли? Запоминаем ее номер в переменную [n]!
Ищем дальше эту же строку!
Нашли? Запоминаем ее номер в переменную [n]!
Ищем дальше эту же строку!
...
...
Не нашли? Значит номер последней найденой строки бедет в переменной [n]!

Добавлено (21 Август 2009, 11:25)
---------------------------------------------

Quote (VadimLevkin)
Любопытно... И как это должно выглядеть?

Code
"[City] = [#34]St. Louis[#34]"

Автор - Bodi
Дата добавления - 21 Августа 2009 в 11:25
СергейДата: Пт, 21 Августа 2009, 11:29 | Сообщение # 132
Необукер
Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop

Добавлено (21 Август 2009, 11:29)
---------------------------------------------
[lastBkmks] и будет последняя закладка

Сообщение отредактировано
sp3d - Пт, 21 Августа 2009, 11:30
 
Сообщение
Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop

Добавлено (21 Август 2009, 11:29)
---------------------------------------------
[lastBkmks] и будет последняя закладка


Автор - Сергей
Дата добавления - 21 Августа 2009 в 11:29
BodiДата: Пт, 21 Августа 2009, 11:33 | Сообщение # 133
Ветеран форума
Quote (sp3d)
Math "[lines]-[i]" "" "[startDELL]"

Зачем? %)

Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else

EndIf
EndLoop

Зачем? %)
 
Сообщение
Quote (sp3d)
Math "[lines]-[i]" "" "[startDELL]"

Зачем? %)

Quote
SetVar "[RTF]" "[PubDir]del.txt"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else

EndIf
EndLoop

Зачем? %)

Автор - Bodi
Дата добавления - 21 Августа 2009 в 11:33
СергейДата: Пт, 21 Августа 2009, 11:35 | Сообщение # 134
Необукер
вот в принцепе должен работать, не проверял т.к. нет RTF-файла
Code
SetVar "[RTF]" "[PubDir]del.rtf"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop
Loop "[lastBkmks]" "[countRTF]" "[i]"
FileDelLine "[RTF]" "[i]"
EndLoop

Добавлено (21 Август 2009, 11:35)
---------------------------------------------

Quote (sp3d)
Зачем?
ну покажи свой вариант


Сообщение отредактировано
sp3d - Пт, 21 Августа 2009, 11:35
 
Сообщениевот в принцепе должен работать, не проверял т.к. нет RTF-файла
Code
SetVar "[RTF]" "[PubDir]del.rtf"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop
Loop "[lastBkmks]" "[countRTF]" "[i]"
FileDelLine "[RTF]" "[i]"
EndLoop

Добавлено (21 Август 2009, 11:35)
---------------------------------------------

Quote (sp3d)
Зачем?
ну покажи свой вариант

Автор - Сергей
Дата добавления - 21 Августа 2009 в 11:35
BodiДата: Пт, 21 Августа 2009, 11:40 | Сообщение # 135
Ветеран форума
Quote (sp3d)
ну покажи свой вариант

Мне кажется давать готовые ответы (готовые скрипты) не очень правильно! Пусть лучше сами (юзеры) пытаются найти решение задачи, а те кто его знают, должны давать подсказки и советы!

Твой вариант можно облегчить, но вначале мне нужно понять, что мы ищем:

Quote (VadimLevkin)
если содержание строки содержит то-то

или
Quote (VadimLevkin)
если строка идентична по содержанию тому-то
 
Сообщение
Quote (sp3d)
ну покажи свой вариант

Мне кажется давать готовые ответы (готовые скрипты) не очень правильно! Пусть лучше сами (юзеры) пытаются найти решение задачи, а те кто его знают, должны давать подсказки и советы!

Твой вариант можно облегчить, но вначале мне нужно понять, что мы ищем:

Quote (VadimLevkin)
если содержание строки содержит то-то

или
Quote (VadimLevkin)
если строка идентична по содержанию тому-то

Автор - Bodi
Дата добавления - 21 Августа 2009 в 11:40
СергейДата: Пт, 21 Августа 2009, 11:50 | Сообщение # 136
Необукер
Quote (Bodi)
Мне кажется давать готовые ответы (готовые скрипты) не очень правильно!
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все

Добавлено (21 Август 2009, 11:50)
---------------------------------------------
я показал пример, также как и мне показывали примеры другие люди, если бы мне непоказывали рабочие примеры, то я бы давно забил на програмирование

 
Сообщение
Quote (Bodi)
Мне кажется давать готовые ответы (готовые скрипты) не очень правильно!
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все

Добавлено (21 Август 2009, 11:50)
---------------------------------------------
я показал пример, также как и мне показывали примеры другие люди, если бы мне непоказывали рабочие примеры, то я бы давно забил на програмирование


Автор - Сергей
Дата добавления - 21 Августа 2009 в 11:50
BodiДата: Пт, 21 Августа 2009, 11:51 | Сообщение # 137
Ветеран форума
Quote (sp3d)
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все

Ну конечно же, кто ж спорит....
Кстати, ты проверял свой код? Он работает? У меня нет.
А вот так работает:
Quote
SetVar "[RTF]" "[PubDir]del.rtf"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop
Loop "[lastBkmks]" "[countRTF]" "[i]"
FileDelLine "[RTF]" "[lastBkmks]"
EndLoop

Потому что (повторяю еще раз):
Quote (Bodi)
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.
 
Сообщение
Quote (sp3d)
Неправильно, это раздувать код, и паказывать человеку длинные пути(огородами) и мусолить нерабочий код. Надо с самого начало приучать к поиску простого, а не усложнять все

Ну конечно же, кто ж спорит....
Кстати, ты проверял свой код? Он работает? У меня нет.
А вот так работает:
Quote
SetVar "[RTF]" "[PubDir]del.rtf"
FileLen "[RTF]" "[countRTF]"
Loop "1" "[countRTF]" "[i]"
FileRead "[RTF]" "[i]" "[StrDelete]"
SearchStr "{\*\bkmkstart Del}" "[StrDelete]" "[startDELL]" ""
If "[startDELL]" ">" "0"
SetVar "[lastBkmks]" "[i]"
Else
EndIf
EndLoop
Loop "[lastBkmks]" "[countRTF]" "[i]"
FileDelLine "[RTF]" "[lastBkmks]"
EndLoop

Потому что (повторяю еще раз):
Quote (Bodi)
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх (т.к. мы удалили одну строку). Следовательно, нам надо удалять уже не следующую строчку, а эту же, чтобы очистить файл доконца.

Автор - Bodi
Дата добавления - 21 Августа 2009 в 11:51
ВадимДата: Пт, 21 Августа 2009, 12:36 | Сообщение # 138
Генератор идей
Quote (Bodi)
А вот так работает:

Браво!!! Действительно работает! И работает как надо! thumbs_up
Спасибо за примеры! Без них очень трудно осваивать, это как научиться говорить в одиночестве, не слушая людей...
Только я еще не осмыслил работу этого кода до конца. Не догоняю, как определяется в этом коде именно последняя закладка? Ведь скрипт действительно удаляет строки именно с конца.
Quote (Bodi)
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх
До этого момента я этой ночью допер, только реализовать не смог... Я что только не по перепробовал.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Bodi)
А вот так работает:

Браво!!! Действительно работает! И работает как надо! thumbs_up
Спасибо за примеры! Без них очень трудно осваивать, это как научиться говорить в одиночестве, не слушая людей...
Только я еще не осмыслил работу этого кода до конца. Не догоняю, как определяется в этом коде именно последняя закладка? Ведь скрипт действительно удаляет строки именно с конца.
Quote (Bodi)
После того, как мы нашли эту строчку, мы ее удаляем, и все остальные строки, находившиеся после данной строки, поднимаются вверх
До этого момента я этой ночью допер, только реализовать не смог... Я что только не по перепробовал.

Автор - Вадим
Дата добавления - 21 Августа 2009 в 12:36
СергейДата: Пт, 21 Августа 2009, 12:37 | Сообщение # 139
Необукер
Quote (Bodi)
Кстати, ты проверял свой код? Он работает? У меня нет

Quote (sp3d)
не проверял т.к. нет RTF-файла
 
Сообщение
Quote (Bodi)
Кстати, ты проверял свой код? Он работает? У меня нет

Quote (sp3d)
не проверял т.к. нет RTF-файла

Автор - Сергей
Дата добавления - 21 Августа 2009 в 12:37
BodiДата: Пт, 21 Августа 2009, 12:42 | Сообщение # 140
Ветеран форума
Quote (VadimLevkin)
Только я еще не осмыслил работу этого кода до конца.

Вот-вот, именно поэтому я и говорю, что лучше давать только подсказки, а до конечного результата лучше попробовать додуматься самому!! Тогда будет понятно все до последней капельки!
Quote (VadimLevkin)
Не догоняю, как определяется в этом коде именно последняя закладка?

См. сообщение #131

Добавлено (21 Август 2009, 12:42)
---------------------------------------------

Quote (sp3d)
не проверял т.к. нет RTF-файла

У меня тоже нет. Я проверел в txt-файле :)
 
Сообщение
Quote (VadimLevkin)
Только я еще не осмыслил работу этого кода до конца.

Вот-вот, именно поэтому я и говорю, что лучше давать только подсказки, а до конечного результата лучше попробовать додуматься самому!! Тогда будет понятно все до последней капельки!
Quote (VadimLevkin)
Не догоняю, как определяется в этом коде именно последняя закладка?

См. сообщение #131

Добавлено (21 Август 2009, 12:42)
---------------------------------------------

Quote (sp3d)
не проверял т.к. нет RTF-файла

У меня тоже нет. Я проверел в txt-файле :)

Автор - Bodi
Дата добавления - 21 Августа 2009 в 12:42
ВадимДата: Пт, 21 Августа 2009, 12:52 | Сообщение # 141
Генератор идей
Quote (Bodi)
См. сообщение #131
А, дошло! Мы просто цикл не остановили, а дали ему пройти до конца. Вторые сутки не сплю, бьюсь с кодом, уже голова не варит...
Quote (sp3d)
не проверял т.к. нет RTF-файла
А RTF - это тот же TXT, только специальных символов и команд много, их блокнот не интерпретирует, просто как текст (значки) и показывает. Кстати, шикарная вещь, этот RTF!, благодаря этому формату в NB можно что угодно с текстом делать... Еще бы освоить всё это... :D
Спасибо за помощь!!! :)


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Bodi)
См. сообщение #131
А, дошло! Мы просто цикл не остановили, а дали ему пройти до конца. Вторые сутки не сплю, бьюсь с кодом, уже голова не варит...
Quote (sp3d)
не проверял т.к. нет RTF-файла
А RTF - это тот же TXT, только специальных символов и команд много, их блокнот не интерпретирует, просто как текст (значки) и показывает. Кстати, шикарная вещь, этот RTF!, благодаря этому формату в NB можно что угодно с текстом делать... Еще бы освоить всё это... :D
Спасибо за помощь!!! :)

Автор - Вадим
Дата добавления - 21 Августа 2009 в 12:52
BodiДата: Пт, 21 Августа 2009, 12:57 | Сообщение # 142
Ветеран форума
Quote (VadimLevkin)
А, дошло! Мы просто цикл не остановили, а дали ему пройти до конца.

Именно! :)
Quote (VadimLevkin)
Спасибо за помощь!!!

Пожалуйста! Обращайтесь еще.... ;)
 
Сообщение
Quote (VadimLevkin)
А, дошло! Мы просто цикл не остановили, а дали ему пройти до конца.

Именно! :)
Quote (VadimLevkin)
Спасибо за помощь!!!

Пожалуйста! Обращайтесь еще.... ;)

Автор - Bodi
Дата добавления - 21 Августа 2009 в 12:57
СергейДата: Пт, 21 Августа 2009, 13:04 | Сообщение # 143
Необукер
Quote (Bodi)
а до конечного результата лучше попробовать додуматься самому!
...прошел год... :D
мой косяк в том что я дал пример и не делал коменты, вот так должно быть понятно принцип работы
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
 
Сообщение
Quote (Bodi)
а до конечного результата лучше попробовать додуматься самому!
...прошел год... :D
мой косяк в том что я дал пример и не делал коменты, вот так должно быть понятно принцип работы
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]"    
. ну собственно дальше удаляем
.......................

Автор - Сергей
Дата добавления - 21 Августа 2009 в 13:04
ВадимДата: Пт, 21 Августа 2009, 13:05 | Сообщение # 144
Генератор идей
Quote (Bodi)
Пожалуйста! Обращайтесь еще....

Обязательно!!! :) Уж чего чего, а вопросов у меня море! Я просто до посинения сижу, сам пытаюсь решить (это для вас с sp3d эти вопросы простые), но поскольку у меня еще много пробелов в элементарных знаниях, то простейшие задачки решаю часами и сутками. Иной раз кажется, что просто измором беру - NB просто сдаётся, машет своими киберручками и говорит: "Ладно, ладно, вот тебе, видишь, работает! Отстать уже, иди спи..." :D Иной раз действительно кажется, что вроде бы вообще не прикасался к коду, а он возьми и заработай...


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Bodi)
Пожалуйста! Обращайтесь еще....

Обязательно!!! :) Уж чего чего, а вопросов у меня море! Я просто до посинения сижу, сам пытаюсь решить (это для вас с sp3d эти вопросы простые), но поскольку у меня еще много пробелов в элементарных знаниях, то простейшие задачки решаю часами и сутками. Иной раз кажется, что просто измором беру - NB просто сдаётся, машет своими киберручками и говорит: "Ладно, ладно, вот тебе, видишь, работает! Отстать уже, иди спи..." :D Иной раз действительно кажется, что вроде бы вообще не прикасался к коду, а он возьми и заработай...

Автор - Вадим
Дата добавления - 21 Августа 2009 в 13:05
СергейДата: Пт, 21 Августа 2009, 13:07 | Сообщение # 145
Необукер
Quote (VadimLevkin)
А, дошло!
ну вот, пока писал уже и сам додумался :)
 
Сообщение
Quote (VadimLevkin)
А, дошло!
ну вот, пока писал уже и сам додумался :)

Автор - Сергей
Дата добавления - 21 Августа 2009 в 13:07
ВадимДата: Пт, 21 Августа 2009, 13:17 | Сообщение # 146
Генератор идей
Quote (sp3d)
...прошел год...

Да, слишком долго - это слишком...(эт я про себя). Жизнь, она не вечная... Хочется учиться быстрее.
Quote (sp3d)
. если нам надо отобразить все вхождения поиска, то надо добавить в переменую, а не заменить
Это интересная мысль! Надо будет подумать...
Quote
.SetVar "[lastBkmks]" "[lastBkmks]>[i]<"
Что значит этот синтаксис (>[i]<)?


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (sp3d)
...прошел год...

Да, слишком долго - это слишком...(эт я про себя). Жизнь, она не вечная... Хочется учиться быстрее.
Quote (sp3d)
. если нам надо отобразить все вхождения поиска, то надо добавить в переменую, а не заменить
Это интересная мысль! Надо будет подумать...
Quote
.SetVar "[lastBkmks]" "[lastBkmks]>[i]<"
Что значит этот синтаксис (>[i]<)?

Автор - Вадим
Дата добавления - 21 Августа 2009 в 13:17
СергейДата: Пт, 21 Августа 2009, 13:17 | Сообщение # 147
Необукер
Bodi, примеры страшны и безполезны только для копипастеров, а если человек пытается попонимать пример, вникнуть в код, то ему только в пользу
Quote (VadimLevkin)
А RTF - это тот же TXT
да без разницы, это надо было туда набивать какой нибудь текст, немного не до этого было, по поводу примеров: VadimLevkin, не приучай себя к копи-пасте, лучше проанализировать даденый пример, так сказать прощупать попонимать, если какя то строчка не понятна, спросить, и тебе помогут ее объяснить :)
 
СообщениеBodi, примеры страшны и безполезны только для копипастеров, а если человек пытается попонимать пример, вникнуть в код, то ему только в пользу
Quote (VadimLevkin)
А RTF - это тот же TXT
да без разницы, это надо было туда набивать какой нибудь текст, немного не до этого было, по поводу примеров: VadimLevkin, не приучай себя к копи-пасте, лучше проанализировать даденый пример, так сказать прощупать попонимать, если какя то строчка не понятна, спросить, и тебе помогут ее объяснить :)

Автор - Сергей
Дата добавления - 21 Августа 2009 в 13:17
BodiДата: Пт, 21 Августа 2009, 13:19 | Сообщение # 148
Ветеран форума
Quote (sp3d)
Bodi, примеры страшны и безполезны только для копипастеров, а если человек пытается попонимать пример, вникнуть в код, то ему только в пользу

thumbs_up

Мы все таки пришли к взаимному мнению :)

 
Сообщение
Quote (sp3d)
Bodi, примеры страшны и безполезны только для копипастеров, а если человек пытается попонимать пример, вникнуть в код, то ему только в пользу

thumbs_up

Мы все таки пришли к взаимному мнению :)


Автор - Bodi
Дата добавления - 21 Августа 2009 в 13:19
ВадимДата: Пт, 21 Августа 2009, 13:20 | Сообщение # 149
Генератор идей
Quote (sp3d)
ну вот, пока писал уже и сам додумался

Я все внимательно прочитываю, по нескольку раз. Понимание пониманию рознь... Чем разнообразнее комментарии, тем полнее можно понять мысль. Так что за примеры и комменты отдельное спасибо! Кстати, с комментариями действительно понимается проще :). Я код еще "с листа" не читаю. Только свой, и то не всегда... :D


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (sp3d)
ну вот, пока писал уже и сам додумался

Я все внимательно прочитываю, по нескольку раз. Понимание пониманию рознь... Чем разнообразнее комментарии, тем полнее можно понять мысль. Так что за примеры и комменты отдельное спасибо! Кстати, с комментариями действительно понимается проще :). Я код еще "с листа" не читаю. Только свой, и то не всегда... :D

Автор - Вадим
Дата добавления - 21 Августа 2009 в 13:20
СергейДата: Пт, 21 Августа 2009, 13:24 | Сообщение # 150
Необукер
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
 
Сообщение
Quote (VadimLevkin)
Что значит этот синтаксис (>[i]<)?
если тебя смутило ><, то это просто для разделения цифр, иначе они сольются
Quote
123456854238649785
>1< >2< >34< >56< >85<...

Добавлено (21 Август 2009, 13:21)
---------------------------------------------

Quote (Bodi)
Мы все таки пришли к взаимному мнению
надеюсь :)

Добавлено (21 Август 2009, 13:24)
---------------------------------------------
Просто я помню, как сам изучал флеш и php, так те кто пытался объяснять, я долго вникал, а на примерах(с коментами) понимал быстрее, но ты прав, к каждому нужен свой метод


Автор - Сергей
Дата добавления - 21 Августа 2009 в 13:24
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Удаление строки
  • Страница 5 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск: