Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2013, 00:16   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Генератор чисел (есть 1 трабл)

Вобщем намутил генератор чисел, в sSpinEdit1 указывается генерировать "от", а в sSpinEdit2 указывается генерировать "до"

Все время выдает ошибку на строку кода который генерирует
Цитата:
[Warning] Unit3.pas(38): For loop control variable must be simple local variable
Сам код (может это и быдлокод, но хз как по другому):
Код:
for m:=Form1.sSpinEdit1.Value to Form1.sSpinEdit2.Value do
Synchronize(RichEditAdd2);
m:integer; пробовал и m:longint; (т.к генерация чисел к примеру от 1 000 000 до 1 100 000 и т.д), в чем трабл? Можно ли делать так как сделал я? И когда софт генерирует числа, жму кнопку очистить (sRichEdit2.Clear а оно как подлагивает, строка прокрутки остается хотя текст пропадает, даже если "перекрыть" этот кусок прокрутки оставшейся другим окном, все ровно прокрутка остается (грешу на код)
FleXik вне форума Ответить с цитированием
Старый 04.07.2013, 01:05   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

longint и integer одно и тоже.

вы переводили варнинг то хоть или наугад?(что переводится как предупреждение, а не ошибка)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.07.2013, 01:16   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

варнинг переводил, пишут что, цитирую "Переменная, которая участвует в заголовке цикла for в качестве счётчика, должна быть объявлена внутри той процедуры, где расположен этот цикл for."

у меня переменная-счетчик m используется в 2 процедурах, первая - Execute, вторая Synchronize, и обьявляю я переменную-счетчик не в этих двух процедурах, а для всего Unit'а, если обьявляю в двух процедурах (т.е для каждой) переменную-счетчик то код генерации работает не правильно, а если обьявляю для всего Unit'а то все ок
FleXik вне форума Ответить с цитированием
Старый 04.07.2013, 02:02   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

в вашем случае в принципе криво выносить работу с компонентом, в другой поток.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.07.2013, 03:11   #5
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
это не ошибка, это лишь предупреждение, код от этого компилироватся не перестанет.

в вашем случае в принципе криво выносить работу с компонентом, в другой поток.
Я понял что это предупреждение. По поводу кривизны подробнее пожалуйста, и как решить ту траблу с полосой прокрутки. Проверил только что с Memо на том же коде, с Memо все ок (полоса после нажатия кнопки "удалить" удаляется), но такой "баг" может потому что RichEdit работает в раз 5 быстрее Memo? Да-да числа RichEdit выдает раз в 5 быстрее чем Memo. С RichEdit'ом такая проблема только тогда когда прокручу вниз, а если не крутить вниз и нажать кнопку "удалить", то с RichEdit'ом все ок, как убрать этот мини-баг (бесит)?

--------
Ппц, только что проверил без выделенного потока на sRichEdit, все нормально, но я не первый раз с выделенным потоком работаю... как исправить мелочь?

Последний раз редактировалось FleXik; 04.07.2013 в 03:30.
FleXik вне форума Ответить с цитированием
Старый 04.07.2013, 12:39   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поток чисто ради синхрониза в цикле не имеет смысла, синхрониз-метож выполняется основным потоком итак.
так что убрать поток.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.07.2013, 21:11   #7
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
поток чисто ради синхрониза в цикле не имеет смысла, синхрониз-метож выполняется основным потоком итак.
так что убрать поток.
У меня зависает тогда кнопка "Генерировать".
FleXik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
генератор чисел -=zAA=- Помощь студентам 23 17.08.2012 23:22
C++ генератор чисел proteo Помощь студентам 0 28.11.2010 20:33
Генератор чисел MDS Помощь студентам 0 07.04.2010 19:38
си, структуры, объединения, но трабл в двоично-десятичном хранении чисел aka_Kiss Помощь студентам 10 16.11.2009 20:30
Генератор чисел. TheWanderer Общие вопросы C/C++ 13 16.10.2008 16:49