Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.06.2010, 12:17
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию Большой вопрос

У меня на форме11 естькнопка .. при нажатии должна рассчитатся формула для которой данные берутся из формы 12 (из Edit22 Edit 24) как правильно написать данную формулу...?
Вот. часть процедуры.. (она не правильная) :

procedure TForm11.Button1Click(Sender: TObject);
var a:integer;
begin
a:=Form12.Edit22.Tag+Form12.Edit24.Tag;
Ответить с цитированием
  #2  
Старый 09.06.2010, 12:26
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Ничего не понятно, но смю предположить, что прочто не можешь получить данные с другой формы...
Просто пропиши ее в uses первой...
Цитата:
Вот. часть процедуры.. (она не правильная)
А что не правильно???
Цитата:
как правильно написать данную формулу...?
Какую формулу???
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 09.06.2010, 12:45
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию

Эта працедура не работает.. Получается я из Формы12 беру данные для формулы...которая считается в Форме 11.. когда расчитываю программа выдает ошибку и выделяет синей строкой строчку Form11.shoumodal.
Код:
(procedure TForm11.Button1Click(Sender: TObject);
var a:integer;
begin
a:=Form12.Edit22.Tag+Form12.Edit24.Tag;
DBEdit3.Text:=inttostr (a);   )
Admin: Пользуемся тегами!

И Еще, формула эта вообще не считает.. в поле DBEdit3 прописывается 0

Последний раз редактировалось Admin, 09.06.2010 в 12:52.
Ответить с цитированием
  #4  
Старый 09.06.2010, 13:15
Аватар для Mad programmer
Mad programmer Mad programmer вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 23
Репутация: 10
По умолчанию

Св-во Tag=0 у обоих Edit-ов.
Я тебя правильно понял? Ты вводишь данные в Edit и эти значения тебе надо использовать в формуле?
Ответить с цитированием
  #5  
Старый 09.06.2010, 13:35
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Цитата:
Сообщение от valenina
расчитываю программа выдает ошибку и выделяет синей строкой строчку

И Еще, формула эта вообще не считает.. в поле DBEdit3 прописывается 0
Что за ошибку?

формула:
Код:
a:=strtoint(Form12.Edit22.Text)+strtoint(Form12.Edit24.Text);
DBEdit3.Text:=inttostr (a);
Ответить с цитированием
  #6  
Старый 10.06.2010, 06:32
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mad programmer
Св-во Tag=0 у обоих Edit-ов.
Я тебя правильно понял? Ты вводишь данные в Edit и эти значения тебе надо использовать в формуле?
Да правильно. ЗначениЯ мне надо использовать в формуле, которая пишется в другой Форме..! не знаю что поставить после Edit. Tag поставила наобум...

Последний раз редактировалось valenina, 10.06.2010 в 07:01.
Ответить с цитированием
  #7  
Старый 10.06.2010, 07:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Поставить StrToInt(Form12.Edit22.Text)
Ответить с цитированием
  #8  
Старый 10.06.2010, 07:24
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию

Спасибо огромное, сработало..!!!!
Надо было каждый компонент по отдельности записать...
Ответить с цитированием
  #9  
Старый 10.06.2010, 07:52
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию

Я дополнила формулу и теперь моя процедура выглядет след образом:
Код:
procedure TForm11.Button1Click(Sender: TObject);
var a,b,c:integer;
begin
a:=strtoint(Form12.Edit22.Text)+strtoint(Form12.Edit24.Text);
b:=a*Strtoint(Edit2.Text)+strtoint(Edit4.Text);
DBEdit1.Text:=floattostr((1.1*(DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat*3.14*DataModule3.Kod_BTable1.FieldByName('B_Стенки').AsFloat*DataModule3.Kod_HTable1.FieldByName('H_Ёмкости').AsFloat+2*(3.14*DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat*DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat)/4*DataModule3.Kod_BTable1.FieldByName('B_Стенки').AsFloat)*1.6*DataModule3.Kod_STable1.FieldByName('S_Стеклопластика').AsFloat));//+floattostr((strtofloat(Edit2.Text)*2)+strtofloat(Edit4.Text));
 //DBEdit2.Text:=DBEdit1.Text+floattostr((strtofloat(Edit2.Text)*a)+strtofloat(Edit4.Text));
   c:=b+strtoint(DBEdit1.Text);
  DBEdit3.Text:=inttostr (c);

Но когда я пытаюсь расчитать возникает след ошибка: "is not a valid integer value"

одскажите пожалуйста в чем дело?

Последний раз редактировалось Admin, 10.06.2010 в 10:57.
Ответить с цитированием
  #10  
Старый 10.06.2010, 08:03
Аватар для Mad programmer
Mad programmer Mad programmer вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 23
Репутация: 10
По умолчанию

c:=b+strtoint(DBEdit1.Text);
с-integer;
в DBEdit1.Text храниться Float.
P.S. Вместо Edit используй SpinEdit и не надо будет strtoint делать....
Ответить с цитированием
  #11  
Старый 10.06.2010, 08:40
valenina valenina вне форума
Прохожий
 
Регистрация: 31.05.2010
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mad programmer
c:=b+strtoint(DBEdit1.Text);
с-integer;
в DBEdit1.Text храниться Float.
P.S. Вместо Edit используй SpinEdit и не надо будет strtoint делать....

SpinEdit-это компонент?
Даже если я переделываю процедуру:
Код:
procedure TForm11.Button1Click(Sender: TObject);
var a,b,c:real;
begin
a:=strtofloat(Form12.Edit22.Text)+strtoint(Form12.Edit24.Text);
b:=a*Strtofloat(Edit2.Text)+Strtofloat(Edit4.Text);
DBEdit1.Text:=floattostr((1.1*(DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat*3.14*DataModule3.Kod_BTable1.FieldByName('B_Стенки').AsFloat*DataModule3.Kod_HTable1.FieldByName('H_Ёмкости').AsFloat+2*(3.14*DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat*DataModule3.Kod_DTable1.FieldByName('D_Ёмкости').AsFloat)/4*DataModule3.Kod_BTable1.FieldByName('B_Стенки').AsFloat)*1.6*DataModule3.Kod_STable1.FieldByName('S_Стеклопластика').AsFloat));//+floattostr((strtofloat(Edit2.Text)*2)+strtofloat(Edit4.Text));
    c:=b+Strtofloat(DBEdit1.Text);
  DBEdit3.Text:=floattostr (c);
Admin: Последнее предупреждение, при рецедиве БАН.

она все равно выдает ошибку

Последний раз редактировалось Admin, 10.06.2010 в 10:58.
Ответить с цитированием
  #12  
Старый 10.06.2010, 09:05
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

В одном из Edit'ов пустое значение!
не 0 а именно пустая строка.
Ответить с цитированием
  #13  
Старый 11.06.2010, 12:54
Аватар для Mad programmer
Mad programmer Mad programmer вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 23
Репутация: 10
По умолчанию

А сейчас какую ошибку выдает? В базе данных точно все значения возможно преобразовать в real?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025