Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Компиляция и пошаговая компиляция дают разные результаты   Найти похожие ветки 

 
Юля   (2005-08-09 11:45) [0]

Всем привет!!Возникла следующая проблема:
В базу заносятся данные.Например, 1-я строка таблицы: первые два поля заносим с клавиатура, а остальные получаются на их основе при помощи генератора сл. чисел. Аналогично последующие строки.(первые два поля одинаковые для всех строк.).При пошаговой компиляции результат правильный, но как только жму RUN от сл. чисел не остаётся и следа, получаются повторяющиеся строки. В чем причина?


 
Poirot ©   (2005-08-09 11:47) [1]

А можно для начала хотябы код посмотреть?:) А то гадалка сегоджня в отпуске:)) лето знаетели:))


 
Юля   (2005-08-09 12:08) [2]

Table1.Insert;
Table1Dop1.AsString:=Edit1.Text;
Table1Dop2.AsString:=Edit2.Text;
x:=0;
while (x<StrToint(Table1Dop1.AsString)) do
begin
x:=Random(StrToint(Table1Dop2.AsString)+1);
end;
Table1Izmer.Asstring:=IntToStr(x);
Table1.Post;


 
Digitman ©   (2005-08-09 12:12) [3]


> пошаговая компиляция


это как ?


 
Юля   (2005-08-09 12:19) [4]

Это когда все время жмешь F7 и можно посмотреть работу программы по шагам.


 
roottim ©   (2005-08-09 12:22) [5]

randomize; в секции инициализации модуля имеется ?


 
Poirot ©   (2005-08-09 12:24) [6]

Юля   (09.08.05 12:19) [4]
Это не компиляция а уже процесс после неё - отладка в пошаговом режиме:)


 
Юля   (2005-08-09 12:28) [7]

имеется


 
Юля   (2005-08-09 12:30) [8]

Poirot, пускай отладка,но программа у меня от этого лучше не рабоает.


 
Max Zyuzin ©   (2005-08-09 12:34) [9]

>Юля   (09.08.05 12:08) [2]
А какие значения вводятся в Edit1 и Edit2?
И какие числа начинают повторятся?


 
Юля   (2005-08-09 12:40) [10]

в Edit-ы вводятся числа.<-они долны быть одинаковыми для всех строк. А значения, которые выдает генератор сл. чисел, вряд ли должны повторятся(например 3 строки полностью одинаковые).


 
Poirot ©   (2005-08-09 12:46) [11]

Советую продебажить кусок самой генерации x, есть подозрение, что то что вы джелаете в этом случае с нормальной скоростью и таки даёт это результат генератор работает нормально, но вот так как первые строки одинаковые могут быть проблемы с определением этого условия (x<StrToint(Table1Dop1.AsString))... так как. я не ручаюсь, но возможно чиско и буит постоянно одинаковым на протяжении какого-то периода...


 
k2 ©   (2005-08-09 13:01) [12]

пример по random в справке, на randomize обрати внимание


 
k2 ©   (2005-08-09 13:13) [13]

сорри проглядела


 
Юля   (2005-08-09 13:31) [14]

Но все таки, почему при во время отладки и просто запуска на выполнение получаются разные результаты: в первом правильный, а во втором - ерунда.


 
Poirot ©   (2005-08-09 13:50) [15]

Мб особенность генератора или так и небольншая накладка в алгоритме вашем? попробуй поюзать не стандартный, а какой нить другой. например, у кнута позаимствованный - он, по умолчанию, в сишной реализации, что есть в нете, выдаёт сразу последовательно 2000 помоему псевдослучайных чисел :)


 
sniknik ©   (2005-08-09 14:57) [16]

Poirot ©   (09.08.05 13:50) [15]
> Мб особенность генератора
не может быть.

> или так и небольншая накладка в алгоритме вашем?
100%
в 17й строке.

> попробуй поюзать не стандартный ...
думаеш он свой алгоритм попутно исправит, вставляя нестандартный генератор случайных чисел? наивныыый... ;о)

Юля
ищи ошибку у себя в коде. и не говори, что то что ты здесь привел, это реальный код. это отмазка несоответствующая действительности. типа, просили код - получите код, сейчас выдумаем...
(а соответствует... это еще хуже.)

код лажовый, почему? да очень просто, в вопросе идет речь о последовательности, первые значения задаются, следующие расчитываются. в любом случае их(значений) несколько должно быть.
приведенных код "расчитывает" и записывает единственное, и то неверное (вернее единственно возможное при равенстве значений и "смертельное" (бесконечный цикл) при Edit1.Text > Edit2.Text. на что жалоб нет (код не работал ни разу? впечатление что так, а написано трассировали...)).
вобщем полное несоответствие показаного кода с описанными действиями якобы происходящими, ни тебе последовательности, ни расчета (следующего значения из предыдущего. как написано).

в половине вариантов значений программа впадает в "ступор", и даже прверки на эти значения нет, нда...
попробуй задать вопрос сдесь
http://www.delphimaster.ru/cgi-bin/forum.pl?n=18


 
Digitman ©   (2005-08-09 15:16) [17]


> в Edit-ы вводятся числа


в Edit НЕ вводятся "числа" - в Edit вводятся некие строковые значения, которые могут представлять в т.ч. и строковые представления неких ц/ч значений.


 
msguns ©   (2005-08-09 16:28) [18]

>Юля   (09.08.05 12:08) [2]

Странный код..
Надо получить случайное значение в некотором диапазоне v1 - v2, которые задаются эдитами, так ?
Разумно было бы сделать расчет так:
result := v1+RANDOM(v2-v1),
а не заставлять генератор, а вместе с ним и процессор с системой заодно плясать буги-вуги до тех пор, пока солнце не взойдет, то бишь полученное случайным образом число от (0-v2) не превысит v1

или я чего-то недопонял ?


 
msguns ©   (2005-08-09 16:29) [19]

И, кстати, казалось бы, причем тут базы данных



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.044 c
10-1103624279
Vaitek
2004-12-21 13:17
2005.09.25
SafeArray


1-1125472037
Василий
2005-08-31 11:07
2005.09.25
Компоненты


2-1123952654
Андрей Молчанов
2005-08-13 21:04
2005.09.25
Диалоги


4-1122801708
Pasha L
2005-07-31 13:21
2005.09.25
Как получить список запущенных приложений


2-1123885149
Витёк
2005-08-13 02:19
2005.09.25
Обработка события входа и выхода курсора мыши!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский