Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL  
Ищу плагины
mishemДата: Вт, 03 Сентября 2013, 14:08 | Сообщение # 31
Эксперт форума
Я себе представляю это так....

Сохраняем все переменные в файл.

Читаем весь текст из этого файла в переменную.

С помощью плагина hpwControl и регулярного выражения ищем все нужные названия переменных и собираем их в одну строку через запятую. После просто вызываем команду ClearVariables "Сюда вставляем наш список"

Все.
Можно конечно и через цикл, но регуляркой быстрее.
Как состовлять регулярку, не ко мне. :(

Добавлено (03 Сентября 2013, 14:08)
---------------------------------------------
Можно опять же с помощью плагина hpwControl искать символы как с начала так и с конца строки. Если префикс, ищем через цикл в строке префикс . Проверяем, если он превый символ, значит префикс. ;)

Суффикс. Ищем знак равно в !строке. Командой hpwStrRevSearch ищем суффикс указав номер символа =. Если найденный символ меньше значения символа = на указанное количество символов (префикс и суффикс может быть как из одного, так и из нескольких символов), тьо это та переменная которая нам нужна. Копируем ее название. Ну и т.д.

Но регуляркой быстрее.
:D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ себе представляю это так....

Сохраняем все переменные в файл.

Читаем весь текст из этого файла в переменную.

С помощью плагина hpwControl и регулярного выражения ищем все нужные названия переменных и собираем их в одну строку через запятую. После просто вызываем команду ClearVariables "Сюда вставляем наш список"

Все.
Можно конечно и через цикл, но регуляркой быстрее.
Как состовлять регулярку, не ко мне. :(

Добавлено (03 Сентября 2013, 14:08)
---------------------------------------------
Можно опять же с помощью плагина hpwControl искать символы как с начала так и с конца строки. Если префикс, ищем через цикл в строке префикс . Проверяем, если он превый символ, значит префикс. ;)

Суффикс. Ищем знак равно в !строке. Командой hpwStrRevSearch ищем суффикс указав номер символа =. Если найденный символ меньше значения символа = на указанное количество символов (префикс и суффикс может быть как из одного, так и из нескольких символов), тьо это та переменная которая нам нужна. Копируем ее название. Ну и т.д.

Но регуляркой быстрее.
:D


Автор - mishem
Дата добавления - 03 Сентября 2013 в 14:08
ponandДата: Вт, 03 Сентября 2013, 22:42 | Сообщение # 32
Участник
Цитата (mishem)
После просто вызываем команду ClearVariables "Сюда вставляем наш список"


так не получится, ClearVariables удалит только переменную списка.

без плагинов реализовал так, но работает по моему медленно redface



Сообщение отредактировано
ponand - Вт, 03 Сентября 2013, 22:48
 
Сообщение
Цитата (mishem)
После просто вызываем команду ClearVariables "Сюда вставляем наш список"


так не получится, ClearVariables удалит только переменную списка.

без плагинов реализовал так, но работает по моему медленно redface


Автор - ponand
Дата добавления - 03 Сентября 2013 в 22:42
СергейДата: Вт, 03 Сентября 2013, 23:50 | Сообщение # 33
Необукер
Цитата (ponand)
удаления переменных по префиксу
хочу уточнить, это так?!
Код
SetVar "[arr_[color=red]1[/color]]" "test"
SetVar "[arr_[color=red]2[/color]]" "test"
SetVar "[arr_[color=red]3[/color]]" "test"
SetVar "[arr_[color=red]4[/color]]" "test"
допустим выделенное это префикс.
 
Сообщение
Цитата (ponand)
удаления переменных по префиксу
хочу уточнить, это так?!
Код
SetVar "[arr_[color=red]1[/color]]" "test"
SetVar "[arr_[color=red]2[/color]]" "test"
SetVar "[arr_[color=red]3[/color]]" "test"
SetVar "[arr_[color=red]4[/color]]" "test"
допустим выделенное это префикс.

Автор - Сергей
Дата добавления - 03 Сентября 2013 в 23:50
ponandДата: Ср, 04 Сентября 2013, 00:06 | Сообщение # 34
Участник
Цитата (Сергей)
допустим выделенное это префикс.


SetVar "[arr_1]" "test"
префикс так


Сообщение отредактировано
ponand - Ср, 04 Сентября 2013, 00:07
 
Сообщение
Цитата (Сергей)
допустим выделенное это префикс.


SetVar "[arr_1]" "test"
префикс так

Автор - ponand
Дата добавления - 04 Сентября 2013 в 00:06
PeterДата: Ср, 04 Сентября 2013, 00:14 | Сообщение # 35
Админ NeoBook
Цитата (ponand)
но работает по моему медленно

Зачем в скрипте вот эта строчка:
Цитата (ponand)
DefineVar "[%]" "String" "" "Local" "ClearVariables_"

Она - попросту балласт и тормозит весь скрипт.

И вот это:
Цитата (ponand)
If "[[[%]Variable]]" "<>" ""
SetVar "[[[%]Variable]]" ""
EndIf

тоже лишнее, достаточно SetVar "[SomeVar]" " "

Но, я бы сделал иначе, но так тоже можно, если работает.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (ponand)
но работает по моему медленно

Зачем в скрипте вот эта строчка:
Цитата (ponand)
DefineVar "[%]" "String" "" "Local" "ClearVariables_"

Она - попросту балласт и тормозит весь скрипт.

И вот это:
Цитата (ponand)
If "[[[%]Variable]]" "<>" ""
SetVar "[[[%]Variable]]" ""
EndIf

тоже лишнее, достаточно SetVar "[SomeVar]" " "

Но, я бы сделал иначе, но так тоже можно, если работает.

Автор - Peter
Дата добавления - 04 Сентября 2013 в 00:14
ponandДата: Ср, 04 Сентября 2013, 00:54 | Сообщение # 36
Участник
Цитата (Peter)
тоже лишнее, достаточно SetVar "[SomeVar]" " "


Цитата (Peter)
Но, я бы сделал иначе

Предлагайте, всегда интересно мнение профессионала.
построчно пробовал по скорости еще хуже.

Цитата (Peter)
но так тоже можно, если работает.

работает



визуально, скорость обработки не изменилась.
 
Сообщение
Цитата (Peter)
тоже лишнее, достаточно SetVar "[SomeVar]" " "


Цитата (Peter)
Но, я бы сделал иначе

Предлагайте, всегда интересно мнение профессионала.
построчно пробовал по скорости еще хуже.

Цитата (Peter)
но так тоже можно, если работает.

работает



визуально, скорость обработки не изменилась.

Автор - ponand
Дата добавления - 04 Сентября 2013 в 00:54
PeterДата: Ср, 04 Сентября 2013, 01:48 | Сообщение # 37
Админ NeoBook
Цитата (ponand)
Предлагайте, всегда интересно мнение профессионала

Это, кто?
Я-то профессионал?
:D
Профессионалы деньги зарабатывают, а мы так... подмастерье.

В NeoBook вполне неплохо налажена работа со строками, и как показали некоторые опыты, необушные скрипты работают даже быстрее аналогичных VBS, другое дело, что в VBS функций больше, и потому VBS в некотрых ситуациях может оказаться предпочтительнее скриптов NB.

Стандартное решение по поиску символов в строке и есть именно SearchStr (в NeoBook): находится первое вхождение символа в строку, производятся нужные манипуляции, ненужное в строке отбрасывается, и поиск начинается в оставшейся части строки, т.е. цикл повторяется.

Когда я говорил, что сделал бы иначе, то подумал о другой задаче - сначала поиск по префиксу, а потом разделение полученного результата на строки по разделителю, и тут решение уже должно быть иным, а именно - через массив, т.е. строки разбиваются на массив строк, в цикле по массиву ищется префикс, и если находится, то производятся соответствующие манипуляции со строкой.
Обозначенную задачу тоже можно решить подобным методом, но я не уверен, что это будет быстрее, чем прямолинейное сканирование строки (если не наоборот), но строки, которыми будет манипулировать NB, уже будут короче.
Пробовать надо.
Цитата (ponand)
визуально, скорость обработки не изменилась.

Возможно, но первый вариант был вообще, как иногда говорят, жесть, поскольку в строку по поиску одного префикса постоянно подсовывался другой (да и ещё более длинный), и он же подсовывался в имена переменных, которые NB тоже нужно было окучить.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (ponand)
Предлагайте, всегда интересно мнение профессионала

Это, кто?
Я-то профессионал?
:D
Профессионалы деньги зарабатывают, а мы так... подмастерье.

В NeoBook вполне неплохо налажена работа со строками, и как показали некоторые опыты, необушные скрипты работают даже быстрее аналогичных VBS, другое дело, что в VBS функций больше, и потому VBS в некотрых ситуациях может оказаться предпочтительнее скриптов NB.

Стандартное решение по поиску символов в строке и есть именно SearchStr (в NeoBook): находится первое вхождение символа в строку, производятся нужные манипуляции, ненужное в строке отбрасывается, и поиск начинается в оставшейся части строки, т.е. цикл повторяется.

Когда я говорил, что сделал бы иначе, то подумал о другой задаче - сначала поиск по префиксу, а потом разделение полученного результата на строки по разделителю, и тут решение уже должно быть иным, а именно - через массив, т.е. строки разбиваются на массив строк, в цикле по массиву ищется префикс, и если находится, то производятся соответствующие манипуляции со строкой.
Обозначенную задачу тоже можно решить подобным методом, но я не уверен, что это будет быстрее, чем прямолинейное сканирование строки (если не наоборот), но строки, которыми будет манипулировать NB, уже будут короче.
Пробовать надо.
Цитата (ponand)
визуально, скорость обработки не изменилась.

Возможно, но первый вариант был вообще, как иногда говорят, жесть, поскольку в строку по поиску одного префикса постоянно подсовывался другой (да и ещё более длинный), и он же подсовывался в имена переменных, которые NB тоже нужно было окучить.

Автор - Peter
Дата добавления - 04 Сентября 2013 в 01:48
СергейДата: Ср, 04 Сентября 2013, 14:08 | Сообщение # 38
Необукер
а если так:
Цитата (ponand)
нужен плагин с функцией удаления переменных по префиксу и(или) суффиксу.
Цитата (mishem)
Но регуляркой быстрее.
:D собственно функция в прищепке, запускать так:
Прикрепления: search_perfix.zip (0.3 Kb)


Сообщение отредактировано
Сергей - Ср, 04 Сентября 2013, 14:10
 
Сообщениеа если так:
Цитата (ponand)
нужен плагин с функцией удаления переменных по префиксу и(или) суффиксу.
Цитата (mishem)
Но регуляркой быстрее.
:D собственно функция в прищепке, запускать так:

Автор - Сергей
Дата добавления - 04 Сентября 2013 в 14:08
PeterДата: Ср, 04 Сентября 2013, 19:06 | Сообщение # 39
Админ NeoBook
Цитата (Сергей)
а если так:

Интересная мысль, я б не додумался.
:)
В принципе, можно и так, только нужно учесть, что каждое обращение к файлу (FileRead и FileDelLine) предусматривает открытие файла, чтение/удаление строки, закрытие файла (эта последовательность действий скрыта от необукера), и так - весь цикл.
Практичнее вывести хотя бы FileRead из цикла, заменив её один раз на FileToVar (прочесть файл целиком за один присест), и уже в цикле по массиву строк произвести поиск префикса (теоретически так должно быть быстрее).
Желательно ещё и FileDelLine куда-то по-дальше пристроить, но тогда идея уже не та будет.
;)

Добавлено (04 Сентября 2013, 19:06)
---------------------------------------------
Хотя, стоп!
В таком решении есть засада: если мы удаляем в цикле строку, то количество строк в файле будет постоянно меняться, а точнее - уменьшаться, и при чтении/удалении следующей строки получиться перескакивание через строку....

Боюсь, что напрямую так не пойдет...

Нужно тогда делать через While (пока файл не закончился), и, после удаления строки, возвращать цикл на удаленную позицию.

Впрочем, можно попробовать на место удаленной строки вставить чистую, т.е. FileInsLine....
Или посредством той же StrReplace на место "=" записать в строку любой "мусор" (или вообще удалить), LoadVariables её отбросит.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (Сергей)
а если так:

Интересная мысль, я б не додумался.
:)
В принципе, можно и так, только нужно учесть, что каждое обращение к файлу (FileRead и FileDelLine) предусматривает открытие файла, чтение/удаление строки, закрытие файла (эта последовательность действий скрыта от необукера), и так - весь цикл.
Практичнее вывести хотя бы FileRead из цикла, заменив её один раз на FileToVar (прочесть файл целиком за один присест), и уже в цикле по массиву строк произвести поиск префикса (теоретически так должно быть быстрее).
Желательно ещё и FileDelLine куда-то по-дальше пристроить, но тогда идея уже не та будет.
;)

Добавлено (04 Сентября 2013, 19:06)
---------------------------------------------
Хотя, стоп!
В таком решении есть засада: если мы удаляем в цикле строку, то количество строк в файле будет постоянно меняться, а точнее - уменьшаться, и при чтении/удалении следующей строки получиться перескакивание через строку....

Боюсь, что напрямую так не пойдет...

Нужно тогда делать через While (пока файл не закончился), и, после удаления строки, возвращать цикл на удаленную позицию.

Впрочем, можно попробовать на место удаленной строки вставить чистую, т.е. FileInsLine....
Или посредством той же StrReplace на место "=" записать в строку любой "мусор" (или вообще удалить), LoadVariables её отбросит.

Автор - Peter
Дата добавления - 04 Сентября 2013 в 19:06
mishemДата: Ср, 04 Сентября 2013, 19:31 | Сообщение # 40
Эксперт форума
Цитата (Peter)
В таком решении есть засада

Мне стыдно это читать...
После удаления строки присваиваем переменной счетчика -1 и переменной количества строк -1
;)
Цитата (Peter)
Впрочем, можно попробовать на место удаленной строки вставить чистую, т.е

А это вообще...

Отдохнуть тебе надо.
:)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
В таком решении есть засада

Мне стыдно это читать...
После удаления строки присваиваем переменной счетчика -1 и переменной количества строк -1
;)
Цитата (Peter)
Впрочем, можно попробовать на место удаленной строки вставить чистую, т.е

А это вообще...

Отдохнуть тебе надо.
:)

Автор - mishem
Дата добавления - 04 Сентября 2013 в 19:31
PeterДата: Ср, 04 Сентября 2013, 19:40 | Сообщение # 41
Админ NeoBook
Цитата (mishem)
Мне стыдно это читать...
После удаления строки присваиваем переменной счетчика -1 и переменной количества строк -1

mishem, ты читать умеешь:
Цитата (Peter)
количество строк в файле будет постоянно меняться, а точнее - уменьшаться,

Я про это и говорил.
Чего тебе стыдно читать-то?
:D
Цитата (mishem)
А это вообще...

И что тут "вообще"?
Имелось в виду "не трогать" параметры цикла!
Какая разница как делать?
На мой взгляд" вообще" это аккурат в цикле FileRead и FileDelLine !
Цитата (mishem)
и переменной количества строк -1

К тому же я не уверен (никогда такое не делал), что для Lopp-цикла возможно изменение количества итераций цикла в процессе работы. Это у While прокатывает, а Loop - цикл ФИКСИРОВАННЫЙ
Это кому отдыхать-то надо?
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Мне стыдно это читать...
После удаления строки присваиваем переменной счетчика -1 и переменной количества строк -1

mishem, ты читать умеешь:
Цитата (Peter)
количество строк в файле будет постоянно меняться, а точнее - уменьшаться,

Я про это и говорил.
Чего тебе стыдно читать-то?
:D
Цитата (mishem)
А это вообще...

И что тут "вообще"?
Имелось в виду "не трогать" параметры цикла!
Какая разница как делать?
На мой взгляд" вообще" это аккурат в цикле FileRead и FileDelLine !
Цитата (mishem)
и переменной количества строк -1

К тому же я не уверен (никогда такое не делал), что для Lopp-цикла возможно изменение количества итераций цикла в процессе работы. Это у While прокатывает, а Loop - цикл ФИКСИРОВАННЫЙ
Это кому отдыхать-то надо?
:)

Автор - Peter
Дата добавления - 04 Сентября 2013 в 19:40
mishemДата: Ср, 04 Сентября 2013, 19:46 | Сообщение # 42
Эксперт форума
Цитата (Peter)
Чего тебе стыдно читать-то?

Что засада есть...

Цитата (Peter)
что для Lopp-цикла возможно изменение

Возможно.

Цитата (Peter)
а Loop - цикл ФИКСИРОВАННЫЙ

Правильнее было
Цитата (Peter)
К тому же я не уверен (никогда такое не делал),

:)

Цитата (Peter)
Это кому отдыхать-то надо?

Ды обоим.
:D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Чего тебе стыдно читать-то?

Что засада есть...

Цитата (Peter)
что для Lopp-цикла возможно изменение

Возможно.

Цитата (Peter)
а Loop - цикл ФИКСИРОВАННЫЙ

Правильнее было
Цитата (Peter)
К тому же я не уверен (никогда такое не делал),

:)

Цитата (Peter)
Это кому отдыхать-то надо?

Ды обоим.
:D

Автор - mishem
Дата добавления - 04 Сентября 2013 в 19:46
PeterДата: Ср, 04 Сентября 2013, 19:50 | Сообщение # 43
Админ NeoBook
В принципе, из Loop-цикла мжно и выйти (когда строки закончатся) посредством ExitLoop...
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеВ принципе, из Loop-цикла мжно и выйти (когда строки закончатся) посредством ExitLoop...
;)

Автор - Peter
Дата добавления - 04 Сентября 2013 в 19:50
mishemДата: Ср, 04 Сентября 2013, 19:53 | Сообщение # 44
Эксперт форума
Цитата (Peter)
что каждое обращение к файлу (FileRead и FileDelLine) предусматривает открытие файла

Это да, это жестко. Замедление очень сильное. На себе обжигался как то.

Я для этих вещей практически везде использую плагин hpwControl

Прочитал в переменную один раз файл, и с помощью команды hpwLine получаю нужный номер строки.

Этой командой можно без всяких парсингов в любой переменной где есть перенос строки получать нужное значение.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
что каждое обращение к файлу (FileRead и FileDelLine) предусматривает открытие файла

Это да, это жестко. Замедление очень сильное. На себе обжигался как то.

Я для этих вещей практически везде использую плагин hpwControl

Прочитал в переменную один раз файл, и с помощью команды hpwLine получаю нужный номер строки.

Этой командой можно без всяких парсингов в любой переменной где есть перенос строки получать нужное значение.

Автор - mishem
Дата добавления - 04 Сентября 2013 в 19:53
PeterДата: Ср, 04 Сентября 2013, 19:54 | Сообщение # 45
Админ NeoBook
Цитата (mishem)
Что засада есть...

Засада в
Цитата (Peter)
напрямую так не пойдет...

как это в примере.
Цитата (Peter)
Нужно тогда делать через While (пока файл не закончился), и, после удаления строки, возвращать цикл на удаленную позицию.

Чего тут непонятного-то?
:D
Цитата (mishem)
Возможно.

Интересно, покажи пример.
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Что засада есть...

Засада в
Цитата (Peter)
напрямую так не пойдет...

как это в примере.
Цитата (Peter)
Нужно тогда делать через While (пока файл не закончился), и, после удаления строки, возвращать цикл на удаленную позицию.

Чего тут непонятного-то?
:D
Цитата (mishem)
Возможно.

Интересно, покажи пример.
;)

Автор - Peter
Дата добавления - 04 Сентября 2013 в 19:54
mishemДата: Ср, 04 Сентября 2013, 20:24 | Сообщение # 46
Эксперт форума
Цитата (Peter)
Интересно, покажи пример.

Код
SetVar "[x]" "20"
Loop "1" "[x]" "[i]"
    SetVar "[z[i]]" "[i]"
    SetVar "[x]" "[x]-1"
EndLoop


Такого достаточно будет?
Или с пояснениями?
:D

Добавлено (04 Сентября 2013, 20:11)
---------------------------------------------

Цитата (Peter)
Чего тут непонятного-то?

Да то что нет тут никакой засады. И на прямую пойдет, только добавить нужно -1 , и не нужно никакого While

Добавлено (04 Сентября 2013, 20:24)
---------------------------------------------
Вот что в этом коде ошибочно , так это

Код
   
SearchStr "[perfix]" "[str]" "[ok]" "CaseSensitive"
    If "[ok]" "<>" "0"
       FileDelLine "[TempDir]V.tmp" "[i]"
EndIf


Представим что у нас префикс ar_ или еще какой там. И есть переменная Navatar_is_navatorov
Строка будет удалена хоть и нет префикса. И учет регистра здесь не помогает. Я уже поднимал эту тему. И говорил о том что для строк нужен покруче плагин. Даже hpwControl порой не помогает и приходится такую "портянку" городить ради того что бы найти правильный символ в нужном месте.

По этому в этом коде нужно еще условие добавлять, что бы найденный символ располагался первым, или вторым если будет скобка [. С префиксом мелочи, легко. А вот когда суффикс искать надо, тут уже посложнее. :(
Ну, не для нас...
:D

Вообще бы если б кто то замутил плагин по строкам с учетом всяких вариантов, было бы здорово.
:)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Интересно, покажи пример.

Код
SetVar "[x]" "20"
Loop "1" "[x]" "[i]"
    SetVar "[z[i]]" "[i]"
    SetVar "[x]" "[x]-1"
EndLoop


Такого достаточно будет?
Или с пояснениями?
:D

Добавлено (04 Сентября 2013, 20:11)
---------------------------------------------

Цитата (Peter)
Чего тут непонятного-то?

Да то что нет тут никакой засады. И на прямую пойдет, только добавить нужно -1 , и не нужно никакого While

Добавлено (04 Сентября 2013, 20:24)
---------------------------------------------
Вот что в этом коде ошибочно , так это

Код
   
SearchStr "[perfix]" "[str]" "[ok]" "CaseSensitive"
    If "[ok]" "<>" "0"
       FileDelLine "[TempDir]V.tmp" "[i]"
EndIf


Представим что у нас префикс ar_ или еще какой там. И есть переменная Navatar_is_navatorov
Строка будет удалена хоть и нет префикса. И учет регистра здесь не помогает. Я уже поднимал эту тему. И говорил о том что для строк нужен покруче плагин. Даже hpwControl порой не помогает и приходится такую "портянку" городить ради того что бы найти правильный символ в нужном месте.

По этому в этом коде нужно еще условие добавлять, что бы найденный символ располагался первым, или вторым если будет скобка [. С префиксом мелочи, легко. А вот когда суффикс искать надо, тут уже посложнее. :(
Ну, не для нас...
:D

Вообще бы если б кто то замутил плагин по строкам с учетом всяких вариантов, было бы здорово.
:)

Автор - mishem
Дата добавления - 04 Сентября 2013 в 20:24
PeterДата: Ср, 04 Сентября 2013, 20:29 | Сообщение # 47
Админ NeoBook
Цитата (mishem)
Такого достаточно будет?

Да, вполне.
Убедил!
Странно, но, действительно, работает...

Цитата (mishem)
только добавить нужно -1

Тогда - да.


Взял на заметку.
Thanx!!!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Такого достаточно будет?

Да, вполне.
Убедил!
Странно, но, действительно, работает...

Цитата (mishem)
только добавить нужно -1

Тогда - да.


Взял на заметку.
Thanx!!!

Автор - Peter
Дата добавления - 04 Сентября 2013 в 20:29
mishemДата: Ср, 04 Сентября 2013, 20:46 | Сообщение # 48
Эксперт форума
Цитата (Peter)
Никогда и в голову не приходило проверить.

Просто потому что со строками не работаешь, а если и работаешь то очень мало наверно.
Практически очень часто требуется именно в таких моментах, со строками, с символами когда при удалении меняется позиция и количество.

Здесь 10 другой строк набежит, а когда 1000 чами исчисляются, сразу начинаешь искать метод оптимизации. :D

Как то напряжно когда программа с полчаса работает. Успеваешь кино какое нибудь посмотреть.

В принципе когда работает, не напряжно. Напряжно когда на 10 000 ной строке ошибка вылазит. :D

Когда то у меня подпись была, помнишь?
Сел писать программу в пару строк, теперь ошибку ищу в 1 000 ной строке.
Как то так по моему. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Никогда и в голову не приходило проверить.

Просто потому что со строками не работаешь, а если и работаешь то очень мало наверно.
Практически очень часто требуется именно в таких моментах, со строками, с символами когда при удалении меняется позиция и количество.

Здесь 10 другой строк набежит, а когда 1000 чами исчисляются, сразу начинаешь искать метод оптимизации. :D

Как то напряжно когда программа с полчаса работает. Успеваешь кино какое нибудь посмотреть.

В принципе когда работает, не напряжно. Напряжно когда на 10 000 ной строке ошибка вылазит. :D

Когда то у меня подпись была, помнишь?
Сел писать программу в пару строк, теперь ошибку ищу в 1 000 ной строке.
Как то так по моему. :)

Автор - mishem
Дата добавления - 04 Сентября 2013 в 20:46
PeterДата: Ср, 04 Сентября 2013, 20:49 | Сообщение # 49
Админ NeoBook
Не-а - в Delphi НЕ РАБОТАЕТ!
Цикл в ступор не входит (что я предполагал), но по-любому, если, например, задано
N:= 20
for i:= 0 to N do
...
Так и будет 20 итераций, что только с N ни делай!
И вот это - ПРАВИЛЬНО!!!
thumbs_up


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеНе-а - в Delphi НЕ РАБОТАЕТ!
Цикл в ступор не входит (что я предполагал), но по-любому, если, например, задано
N:= 20
for i:= 0 to N do
...
Так и будет 20 итераций, что только с N ни делай!
И вот это - ПРАВИЛЬНО!!!
thumbs_up

Автор - Peter
Дата добавления - 04 Сентября 2013 в 20:49
mishemДата: Ср, 04 Сентября 2013, 20:57 | Сообщение # 50
Эксперт форума
Цитата (Peter)
Странно, но, действительно, работает...

А че странного?
Если логически, когда возвращается в начало цикла идет же проверка методом сравнивания. А сравниваются либо жестко указанные значения, либо переменные.
А переменые у нас что?...
Могут менять свое значение как угодно, и когда угодно.
:)

Добавлено (04 Сентября 2013, 20:52)
---------------------------------------------

Цитата (Peter)
Не-а - в Delphi НЕ РАБОТАЕТ

Цитата (mishem)
Могут менять свое значение как угодно, и когда угодно.

Хотел дописать, только не в делфи.
:D

Добавлено (04 Сентября 2013, 20:57)
---------------------------------------------

Цитата (Peter)
N:= 20
for i:= 0 to N do

Так а здесь условие то другое. Че ты сравниваешь яичницу с омлетом?

Выполнять от 0 до 20.

Это уже в памяти заложено. И нет возврата к переменной N.

Ну это как я понимаю.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Странно, но, действительно, работает...

А че странного?
Если логически, когда возвращается в начало цикла идет же проверка методом сравнивания. А сравниваются либо жестко указанные значения, либо переменные.
А переменые у нас что?...
Могут менять свое значение как угодно, и когда угодно.
:)

Добавлено (04 Сентября 2013, 20:52)
---------------------------------------------

Цитата (Peter)
Не-а - в Delphi НЕ РАБОТАЕТ

Цитата (mishem)
Могут менять свое значение как угодно, и когда угодно.

Хотел дописать, только не в делфи.
:D

Добавлено (04 Сентября 2013, 20:57)
---------------------------------------------

Цитата (Peter)
N:= 20
for i:= 0 to N do

Так а здесь условие то другое. Че ты сравниваешь яичницу с омлетом?

Выполнять от 0 до 20.

Это уже в памяти заложено. И нет возврата к переменной N.

Ну это как я понимаю.

Автор - mishem
Дата добавления - 04 Сентября 2013 в 20:57
PeterДата: Ср, 04 Сентября 2013, 21:11 | Сообщение # 51
Админ NeoBook
Цитата (mishem)
А переменые у нас что?...
Могут менять свое значение как угодно, и когда угодно.

mishem, да, но смысл цикла Loop состоит в указанном количестве повторений, и, по идее, если указано в самом начале (в певой строке), то уже меняться не должно.
В принципе, можно нашлепать "умную" функцию цикла (что разрабы и сделалали), которая постоянно будет проверять "верхний предел", но по-логике...

Добавлено (04 Сентября 2013, 21:11)
---------------------------------------------

Цитата (mishem)
Так а здесь условие то другое. Че ты сравниваешь яичницу с омлетом?

Выполнять от 0 до 20.

Все абсолютно ТО ЖЕ САМОЕ:
NeoBook
Код
SetVar "[x]" "20"
Loop "1" "[x]" "[i]"
т.е. начать с 1 и закончить на [x]

Delphi
Код
N:= 20
for i:= 0 to N do

начать с i и закончить на N

В данном случае, разница только в том, что в Delphi i задана начиная с нуля, и реально будет не 20, а 21 повторение.
Но можно было и начинать с 1.
;)



- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
А переменые у нас что?...
Могут менять свое значение как угодно, и когда угодно.

mishem, да, но смысл цикла Loop состоит в указанном количестве повторений, и, по идее, если указано в самом начале (в певой строке), то уже меняться не должно.
В принципе, можно нашлепать "умную" функцию цикла (что разрабы и сделалали), которая постоянно будет проверять "верхний предел", но по-логике...

Добавлено (04 Сентября 2013, 21:11)
---------------------------------------------

Цитата (mishem)
Так а здесь условие то другое. Че ты сравниваешь яичницу с омлетом?

Выполнять от 0 до 20.

Все абсолютно ТО ЖЕ САМОЕ:
NeoBook
Код
SetVar "[x]" "20"
Loop "1" "[x]" "[i]"
т.е. начать с 1 и закончить на [x]

Delphi
Код
N:= 20
for i:= 0 to N do

начать с i и закончить на N

В данном случае, разница только в том, что в Delphi i задана начиная с нуля, и реально будет не 20, а 21 повторение.
Но можно было и начинать с 1.
;)


Автор - Peter
Дата добавления - 04 Сентября 2013 в 21:11
mishemДата: Ср, 04 Сентября 2013, 21:18 | Сообщение # 52
Эксперт форума
Не, ну вот сейчас сижу анализирую...
Должна и в делфи выполнятся. Мож ты че не так там делаешь?
:D
Присвой N 0 или1 без вычитаний в конце первого срабатывания.
В делфи так же идет проверка значений, если I меньше N прибавить к I 1.
I Переменная. Она меняется и с ней идет сравнение. Почему N тогда не меняется?

Не логично...


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеНе, ну вот сейчас сижу анализирую...
Должна и в делфи выполнятся. Мож ты че не так там делаешь?
:D
Присвой N 0 или1 без вычитаний в конце первого срабатывания.
В делфи так же идет проверка значений, если I меньше N прибавить к I 1.
I Переменная. Она меняется и с ней идет сравнение. Почему N тогда не меняется?

Не логично...

Автор - mishem
Дата добавления - 04 Сентября 2013 в 21:18
PeterДата: Ср, 04 Сентября 2013, 21:22 | Сообщение # 53
Админ NeoBook
mishem, но, я еще раз говорю, что нет ничего сложного, чтобы и в Delphi нашлепать свою функцию Loop, аналогичную по устройству и работе необушной.
;)

Добавлено (04 Сентября 2013, 21:22)
---------------------------------------------

Цитата (mishem)
Она меняется и с ней идет сравнение.

В данном случае переменая"i" выступает "счетчиком" цикла, точно так же, как и в NB (в твоем примере).
В Delphi все устроено правильно, но, если надо, то нет проблем...
См. чуть выше.
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщениеmishem, но, я еще раз говорю, что нет ничего сложного, чтобы и в Delphi нашлепать свою функцию Loop, аналогичную по устройству и работе необушной.
;)

Добавлено (04 Сентября 2013, 21:22)
---------------------------------------------

Цитата (mishem)
Она меняется и с ней идет сравнение.

В данном случае переменая"i" выступает "счетчиком" цикла, точно так же, как и в NB (в твоем примере).
В Delphi все устроено правильно, но, если надо, то нет проблем...
См. чуть выше.
:)

Автор - Peter
Дата добавления - 04 Сентября 2013 в 21:22
mishemДата: Ср, 04 Сентября 2013, 21:59 | Сообщение # 54
Эксперт форума
Ниче не понимаю я в ваших делфях...

С N в цикле можно извращаться как угодно. Получается что эта переменная на цикл не должна влиять ни как. И в тот же момент когда возвращаемся к циклу, N опять становится 20. Бредятина какая то.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеНиче не понимаю я в ваших делфях...

С N в цикле можно извращаться как угодно. Получается что эта переменная на цикл не должна влиять ни как. И в тот же момент когда возвращаемся к циклу, N опять становится 20. Бредятина какая то.

Автор - mishem
Дата добавления - 04 Сентября 2013 в 21:59
PeterДата: Ср, 04 Сентября 2013, 22:19 | Сообщение # 55
Админ NeoBook
Цитата (mishem)
Ниче не понимаю я в ваших делфях...

Цитата (mishem)
Бредятина какая то.

mishem, да никакой бредятины в дэлфях нету, там - наоброт все стройно и логично, и подчинено жестким правилам.
Это ты привык, что в NB можно написать какую угодно бредятину, и интерпретатор проглотит, или что можно как угодно обращаться с данными, параметрами, и т.п..
Если примешься всерьез за Delphi, то быстро поймешь, что без "дисциплины" и шагу не ступишь.
:)
Цитата (mishem)
Получается что эта переменная на цикл не должна влиять ни как

Совершенно справедливо - она лишь задает количество срабатываний.
Цитата (mishem)
в тот же момент когда возвращаемся к циклу, N опять становится 20

Ничего подобного, после оператора for... do с N можно делать что угодно, но она не станет снова 20.
Напиши , скажем, вот такой код^

Код
var I, N : Integer;
begin
   N:= 20;
   for i:= 1 to N do
    begin
      ListBox1.Items.Add (IntToStr(N));
      N:= N-1;
    end;
end;

и посмотри в списке на N.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Ниче не понимаю я в ваших делфях...

Цитата (mishem)
Бредятина какая то.

mishem, да никакой бредятины в дэлфях нету, там - наоброт все стройно и логично, и подчинено жестким правилам.
Это ты привык, что в NB можно написать какую угодно бредятину, и интерпретатор проглотит, или что можно как угодно обращаться с данными, параметрами, и т.п..
Если примешься всерьез за Delphi, то быстро поймешь, что без "дисциплины" и шагу не ступишь.
:)
Цитата (mishem)
Получается что эта переменная на цикл не должна влиять ни как

Совершенно справедливо - она лишь задает количество срабатываний.
Цитата (mishem)
в тот же момент когда возвращаемся к циклу, N опять становится 20

Ничего подобного, после оператора for... do с N можно делать что угодно, но она не станет снова 20.
Напиши , скажем, вот такой код^

Код
var I, N : Integer;
begin
   N:= 20;
   for i:= 1 to N do
    begin
      ListBox1.Items.Add (IntToStr(N));
      N:= N-1;
    end;
end;

и посмотри в списке на N.

Автор - Peter
Дата добавления - 04 Сентября 2013 в 22:19
mishemДата: Ср, 04 Сентября 2013, 22:31 | Сообщение # 56
Эксперт форума
Цитата (Peter)
Напиши , скажем, вот такой код

Да я тут понаизощрялся уже. Думаешь просто так сказал.
:)

Цитата (Peter)
после оператора for... do с N можно делать что угодно

В том то и дело что после. Но к примеру первый цикл закончился, возвращается к for... do и опять N =20.
Или возвращение происходит к строке begin ?
Че я только не перепробовал.
:D
Закрыл с таким кодом
Код

var
    i,N,z: integer;

begin
   N:= 20;

  begin
    begin

     for i:= 0 to N do
     z:= N;
     N:= N-1;

   end;

       Label1.Caption:= Inttostr (N);
  end;
  end;
end.

Добавлено (04 Сентября 2013, 22:31)
---------------------------------------------
Аж сам ржу сижу глядя на этот код.
:D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Напиши , скажем, вот такой код

Да я тут понаизощрялся уже. Думаешь просто так сказал.
:)

Цитата (Peter)
после оператора for... do с N можно делать что угодно

В том то и дело что после. Но к примеру первый цикл закончился, возвращается к for... do и опять N =20.
Или возвращение происходит к строке begin ?
Че я только не перепробовал.
:D
Закрыл с таким кодом
Код

var
    i,N,z: integer;

begin
   N:= 20;

  begin
    begin

     for i:= 0 to N do
     z:= N;
     N:= N-1;

   end;

       Label1.Caption:= Inttostr (N);
  end;
  end;
end.

Добавлено (04 Сентября 2013, 22:31)
---------------------------------------------
Аж сам ржу сижу глядя на этот код.
:D


Автор - mishem
Дата добавления - 04 Сентября 2013 в 22:31
PeterДата: Ср, 04 Сентября 2013, 22:41 | Сообщение # 57
Админ NeoBook
Цитата (mishem)
Но к примеру первый цикл закончился, возвращается к for... do и опять N =20.
Или возвращение происходит к строке begin ?
Че я только не перепробовал.

%)
Ничего не понял - а где тут у тебя "возвращение к циклу"?
Если ты вызываешь, написанный тобой код (функцию, процедуру) откуда-то "извне", то она начинает работать с "var", и первого "begin".

Да, и экспериментуруй с циклами осторожнее, а то придеться тебе жать известную комбинацию из трех клавиш,.
Или того хуже: вспомнищь про кнопку Reset.
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
Но к примеру первый цикл закончился, возвращается к for... do и опять N =20.
Или возвращение происходит к строке begin ?
Че я только не перепробовал.

%)
Ничего не понял - а где тут у тебя "возвращение к циклу"?
Если ты вызываешь, написанный тобой код (функцию, процедуру) откуда-то "извне", то она начинает работать с "var", и первого "begin".

Да, и экспериментуруй с циклами осторожнее, а то придеться тебе жать известную комбинацию из трех клавиш,.
Или того хуже: вспомнищь про кнопку Reset.
:)

Автор - Peter
Дата добавления - 04 Сентября 2013 в 22:41
mishemДата: Ср, 04 Сентября 2013, 22:56 | Сообщение # 58
Эксперт форума
Цитата (Peter)
где тут у тебя "возвращение к циклу"?

Ну это я уже тут под конец чудил. Но все же, давай разберем...

Код
1  var
2    i,N: integer;
3    begin
4      N:= 20;
5      for i:= 0 to N do
6      N:= N-1;
7    end;
8 end.


С какой строки идет повтор цикла? С 3 или с 5? Если с 3, тогда все понятно, здесь не как в НБ. Если с 5, тогда мне ничего не понятно. N опять становится равна 20. С какого перепуга?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Ср, 04 Сентября 2013, 22:56
 
Сообщение
Цитата (Peter)
где тут у тебя "возвращение к циклу"?

Ну это я уже тут под конец чудил. Но все же, давай разберем...

Код
1  var
2    i,N: integer;
3    begin
4      N:= 20;
5      for i:= 0 to N do
6      N:= N-1;
7    end;
8 end.


С какой строки идет повтор цикла? С 3 или с 5? Если с 3, тогда все понятно, здесь не как в НБ. Если с 5, тогда мне ничего не понятно. N опять становится равна 20. С какого перепуга?

Автор - mishem
Дата добавления - 04 Сентября 2013 в 22:56
PeterДата: Ср, 04 Сентября 2013, 23:03 | Сообщение # 59
Админ NeoBook
Только сейчас обратил внимание...
Цитата (mishem)
begin

for i:= 0 to N do
z:= N;
N:= N-1;

end;

Label1.Caption:= Inttostr (N);
end;

У тебя здесь цикл постоянно присваивает переменной z значение N, а в надпись отправляется N, которая всегда остается неизменной.
Надо как-то так:

for i:= 0 to N do
begin
z:= N;
N:= N-1;
end;
Label1.Caption:= Inttostr (N);

Только нагляднее будет тот пример, что я привел выше.

Да, и нахрена нужна переменная Z?
Без неё можно так:

for i:= 0 to N do
N:= N-1;
Label1.Caption:= Inttostr (N);

Добавлено (04 Сентября 2013, 23:03)
---------------------------------------------

Цитата (mishem)
С какой строки идет повтор цикла? С 3 или с 5?

с 6-й.
Цикл начинает работать (повторять) со строки после do


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеТолько сейчас обратил внимание...
Цитата (mishem)
begin

for i:= 0 to N do
z:= N;
N:= N-1;

end;

Label1.Caption:= Inttostr (N);
end;

У тебя здесь цикл постоянно присваивает переменной z значение N, а в надпись отправляется N, которая всегда остается неизменной.
Надо как-то так:

for i:= 0 to N do
begin
z:= N;
N:= N-1;
end;
Label1.Caption:= Inttostr (N);

Только нагляднее будет тот пример, что я привел выше.

Да, и нахрена нужна переменная Z?
Без неё можно так:

for i:= 0 to N do
N:= N-1;
Label1.Caption:= Inttostr (N);

Добавлено (04 Сентября 2013, 23:03)
---------------------------------------------

Цитата (mishem)
С какой строки идет повтор цикла? С 3 или с 5?

с 6-й.
Цикл начинает работать (повторять) со строки после do

Автор - Peter
Дата добавления - 04 Сентября 2013 в 23:03
mishemДата: Ср, 04 Сентября 2013, 23:09 | Сообщение # 60
Эксперт форума
Цитата (Peter)
Напиши , скажем, вот такой код^

var I, N : Integer;
begin
   N:= 20;
   for i:= 1 to N do
    begin
      ListBox1.Items.Add (IntToStr(N));
      N:= N-1;
    end;
end;

Я еще больше потерялся... :(

Добавлено (04 Сентября 2013, 23:08)
---------------------------------------------

Цитата (Peter)
цикл постоянно присваивает переменной z

Это у меня до этого был вывод и эжтой переменной.
Ты внимания не обращай что там написано. Я что то дописывал, что то удалял... Это я просто показал что проводил эксперементы.
:)
Цитата (Peter)
Только нагляднее будет тот пример, что я привел выше.

В том то и дело что я что то совсем потерялся..

Цитата (Peter)
Без неё можно так:

А так в лейбл возвращается 19 или 20 не помню уже. По моему 19, отсюда и вопрос был почему N постоянно 20. Но судя по листбоксу ...

Короче "Потерялася я..."
:D

Добавлено (04 Сентября 2013, 23:09)
---------------------------------------------

Цитата (Peter)
постоянно присваивает переменной z

Да, и Z постоянно была 20.
Почему?????


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Напиши , скажем, вот такой код^

var I, N : Integer;
begin
   N:= 20;
   for i:= 1 to N do
    begin
      ListBox1.Items.Add (IntToStr(N));
      N:= N-1;
    end;
end;

Я еще больше потерялся... :(

Добавлено (04 Сентября 2013, 23:08)
---------------------------------------------

Цитата (Peter)
цикл постоянно присваивает переменной z

Это у меня до этого был вывод и эжтой переменной.
Ты внимания не обращай что там написано. Я что то дописывал, что то удалял... Это я просто показал что проводил эксперементы.
:)
Цитата (Peter)
Только нагляднее будет тот пример, что я привел выше.

В том то и дело что я что то совсем потерялся..

Цитата (Peter)
Без неё можно так:

А так в лейбл возвращается 19 или 20 не помню уже. По моему 19, отсюда и вопрос был почему N постоянно 20. Но судя по листбоксу ...

Короче "Потерялася я..."
:D

Добавлено (04 Сентября 2013, 23:09)
---------------------------------------------

Цитата (Peter)
постоянно присваивает переменной z

Да, и Z постоянно была 20.
Почему?????

Автор - mishem
Дата добавления - 04 Сентября 2013 в 23:09
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: