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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2007, 12:31   #11
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

В первой форме только задаются переменные. Во второй форме выполняется алгоритм.

Заполнив поля и нажав на кнопку "Расчет" первая форма становится неактивной и появляется вторая форма. Идет выполнение алгоритма, на экране отображается какая итерация просчитывается. Но это все в идеале.
Нажимаю на кнопку "Расчет", а он мне ошибку. Запускаю дебаг, там все переменные, которые вводили в первой форме, на нулях.
forester вне форума Ответить с цитированием
Старый 08.10.2007, 12:43   #12
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

Чтобы перевести из строковой в числовую я использовал такой примерно такой код:

s=val(txtSum)

но он действует только в пределах одной формы.

А на StrToInt ругается...
forester вне форума Ответить с цитированием
Старый 08.10.2007, 12:52   #13
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
Сообщение

Цитата:
Сообщение от forester Посмотреть сообщение
но он действует только в пределах одной формы.

А на StrToInt ругается...
значит в модуле другой (формы) не подключен SysUtils
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 08.10.2007, 13:11   #14
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

Я вынес переменные в модуль и объявил как глобальные. Теперь все становится на свои места. Только я в алгоритме где-то накосячил. Неправильно считает.
forester вне форума Ответить с цитированием
Старый 08.10.2007, 13:58   #15
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Я вынес переменные в модуль и объявил как глобальные. Теперь все становится на свои места.
просто такой элементарной ошибки никто не предполагал, ты лучше кусок кода давай где не получается
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 09.10.2007, 18:30   #16
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

Public CsR As Integer, MvZ, SvO, SvZ, Ch As Integer
Public Const t_work_end = 10
Public Const max_Z = 40
Public t_Z(max_Z)
Public COZ(3) As Integer
Public t_end_Z(3)
Public t_Kmin, t_H, t_K, z, t_S
Public s_COZ As Long, n_Ch_z As Integer, ch_Z As Integer, n_CsR As Integer, n_t_wait As Integer
Public n_L As Integer, n_Lmin As Integer, p_Ef As Double

Public Sub Body_Alg()
s_COZ = 0
frmRaschet.Enabled = False: frmRaschet.Visible = False
frmAlg.Enabled = True: frmAlg.Visible = True
For n_CsR = 1 To CsR
frmAlg.Cls
frmAlg.CurrentX = 600: frmAlg.CurrentY = 200
frmAlg.Print "Ðàñ÷åò " & n_CsR & "-é ðåàëèçàöèè"
ch_Z = 0
COZ(1) = 0: COZ(2) = 0: COZ(3) = 0
t_end_Z(1) = 0: t_end_Z(2) = 0: t_end_Z(3) = 0
Call Potok_Zayavok
For n_Ch_z = 1 To ch_Z
t_Kmin = t_end_Z(1)
For n_L = 1 To Ch
If t_end_Z(n_L) < t_Kmin Then t_Kmin = t_end_Z(n_L): n_Lmin = n_L
Next n_L
Call Obslujivanie
Next n_Ch_z
s_COZ = s_COZ + COZ(1) + COZ(2) + COZ(3)
Next n_CsR
frmAlg.Enabled = False: frmAlg.Visible = False
frmRaschet.Enabled = True: frmRaschet.Visible = True
p_Ef = s_COZ / CsR - 1 + 0.5 * Ch - 0.5 * Ch * Ch
frmRaschet.txtSr_ot_Prib = Format$(p_Ef, "#.##")
End Sub

Sub Potok_Zayavok()
T = 0
For n_L = 1 To max_Z
z = Rnd(1)
t_S = T - SvZ * Log(z)
If t_S > t_work_end Then Exit For
ch_Z = ch_Z + 1
t_Z(ch_Z) = t_S
T = t_S
Next n_L
End Sub

Sub Obslujivanie()
n_L = n_Lmin
n_t_wait = 0
t_H = t_Z(n_Ch_z)
If t_Z(n_Ch_z) < t_end_Z(n_L) Then
n_t_wait = t_end_Z(n_L) - t_Z(n_Ch_z)
If n_t_wait > MvZ Then Exit Sub
t_H = t_end_Z(n_L)
End If
z = Rnd(1)
t_K = t_H - SvO * Log(z)
If t_K > t_work_end Then
t_end_Z(n_L) = t_work_end: Exit Sub
End If
COZ(n_L) = COZ(n_L) + 1
t_end_Z(n_L) = t_K
End Sub

Последний раз редактировалось forester; 09.10.2007 в 18:33.
forester вне форума Ответить с цитированием
Старый 09.10.2007, 22:56   #17
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

Как в текстбоксе имитировать нажатие клавиши Enter. Мне нужно вывести что-то вроде отчета. Через SendKeys что-то не получается...
forester вне форума Ответить с цитированием
Старый 10.10.2007, 14:10   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

что за текстбокс?
в любом случае либо Perform() либо Компонент.KeyDown()
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 10.10.2007, 14:57   #19
forester
Пользователь
 
Аватар для forester
 
Регистрация: 06.10.2007
Сообщений: 12
По умолчанию

TextBox
Я пробовал через VbCr, а он выдает вертикальную жирную палочку, вместо предполагаемого Enter.
forester вне форума Ответить с цитированием
Старый 10.10.2007, 15:36   #20
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

какая версия Дельфи, если не секрет?

Тебе случайно не перевод на новую строку нужен?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
3D модель в GLScene -=<[Evklidd]>=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 04.02.2008 15:32
Математическая модель для программы TranQ Помощь студентам 1 11.06.2007 14:44