Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Совместимость TEdit и переменной вещественноготипа 
:(
    Опции темы
Hohhi
Дата 13.1.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 25.2.2006
Где: Молдова

Репутация: нет
Всего: нет



Привет всем!
Пишу программу, в которой нужно считать в код число вещественного типа. предполагается, что пользователь введёт его в компоненту TEdit. Как поступить, чтобы прошла совместимость?\
Заранее благодарю 
PM MAIL ICQ   Вверх
Alexeis
Дата 13.1.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



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


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Hohhi
Дата 13.1.2007, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 25.2.2006
Где: Молдова

Репутация: нет
Всего: нет



Alexeis, Спасибо, что надо
PM MAIL ICQ   Вверх
Hohhi
Дата 13.1.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 25.2.2006
Где: Молдова

Репутация: нет
Всего: нет



Код

procedure delenie_otrezka(a2,b2,e2:real);
var a,b,fa,fb,e,x:real;
EpsilonEdit:TEdit;
 AEdit: TEdit; BEdit: TEdit;
 ResultEdit: TEdit;
function giper(x:real):real;
begin
giper:=2*x*x*x+6;
end;
function koreni(a1,b1,e1:real):real;
var c1,fa1,fb1,fc1:real;
begin
fa1:=giper(a1);
fb1:=giper(b1);
if (fa1*fb1)>0 then
Application.MessageBox('0','net kornei',0) else
repeat
c1:=(a1+b1)/2;
fc1:=giper(c1);
if fa1*fc1<0 then b1:=c1 else
begin
a1:=c1;  fa1:=fc1; end;
until (abs(b1-a1)<e1);
koreni:=(a1+b1)/2;
end;
begin

x:=koreni(a2,b2,e2);
ResultEdit.Text:=floattostr(x);
end;




procedure TMainForm.CountButtonClick(Sender: TObject);
var a,b,e:real;
begin
if EpsilonEdit.Text<>'' then
e:=strtofloat(EpsilonEdit.Text);
if AEdit.Text<>'' then
a:=strtofloat(AEdit.Text);
if BEdit.Text<>'' then
b:=strtofloat(BEdit.Text);
delenie_otrezka(a,b,e);
end;

Хм, ругается компилятор всё равно
PM MAIL ICQ   Вверх
Sunvas
Дата 13.1.2007, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Hohhi @  13.1.2007,  23:26 Найти цитируемый пост)
Хм, ругается компилятор всё равно

А на что ругается? Может лучше использовать trystrtofloat?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Sunvas
Дата 13.1.2007, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(VICTAR @  13.1.2007,  23:35 Найти цитируемый пост)
У меня ничего не ругаеся. А у тебя на что ругается?

Что-то подсказывает что в эдитах написано то, что нельзя перевести в число.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
VICTAR
Дата 13.1.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 37
Всего: 80



Код

procedure delenie_otrezka(a2,b2,e2:real);
var a,b,fa,fb,e,x:real;
 EpsilonEdit:TEdit;           {вот эти}
 AEdit: TEdit; BEdit: TEdit;  {строчки}
 ResultEdit: TEdit;           {убери  }

function giper(x:real):real;
begin
  giper:=2*x*x*x+6;
end;

function koreni(a1,b1,e1:real):real;
var c1,fa1,fb1,fc1:real;
begin
  fa1:=giper(a1);
  fb1:=giper(b1);
  if (fa1*fb1)>0 then
    Application.MessageBox('0','net kornei',0)
  else
  repeat
    c1:=(a1+b1)/2;
    fc1:=giper(c1);
  if fa1*fc1<0
    then b1:=c1
      else
        begin
          a1:=c1;
          fa1:=fc1;
        end;
  until (abs(b1-a1)<e1);
  koreni:=(a1+b1)/2;
  end;


  begin                              
    x:=koreni(a2,b2,e2);             
    ResultEdit.Text:=floattostr(x);   //здесь!
  end;                               

Если ты хочешь обратиться к ResultEdit и он у тебя есть на форме, то пиши TMainForm.ResultEdit, а если его нет, то для начала создай его.
PM MAIL   Вверх
Hohhi
Дата 14.1.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 25.2.2006
Где: Молдова

Репутация: нет
Всего: нет



VICTAR, Спасибо, Именно надо было Mainform писать
Ещё один вопрос, а как функцию ввести(допустим: х*х+6), и потом в ней значение подставлять
PM MAIL ICQ   Вверх
Alexeis
Дата 14.1.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Hohhi @  14.1.2007,  13:29 Найти цитируемый пост)
Ещё один вопрос, а как функцию ввести(допустим: х*х+6), и потом в ней значение подставлять 


M
Alexeis
Модератор: Пожалуйста, один топик - один вопрос.


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


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Hohhi
Дата 14.1.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 25.2.2006
Где: Молдова

Репутация: нет
Всего: нет



Alexeis, Спасибо
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.