Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парочка вопросов, про Memo и StringGrid 
:(
    Опции темы
Aannttoonn
Дата 13.12.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Весело. Попробую.
PM MAIL ICQ   Вверх
Aannttoonn
Дата 13.12.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Помоему функции StrToFlot и FloatToStr сдецл глючные.
PM MAIL ICQ   Вверх
Neitron
Дата 14.12.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А как ты хотел? smile



--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Aannttoonn
Дата 15.12.2005, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я хотел очень точно считать,а они, понимаешь ли, правильно не работают когда числа очень маленькие. Вот не знаю теперь как переводить из Str во Float.
PM MAIL ICQ   Вверх
Vyacheslav
Дата 15.12.2005, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Цитата(Aannttoonn @ 13.12.2005, 19:37)
Помоему функции StrToFlot и FloatToStr сдецл глючные.

Господа. А что Вы хотели? Чем простите, отличаются два числа?
0.0001 и 9,99999974737875E-5. Вы машине хотя бы то скажите как вам нужно выводить
Код

float a=0.0001;
Edit1->Text=Format("%.4f", ARRAYOFCONST((a)) );
Edit2->Text=AnsiString::FloatToStrF( a, ffFixed, 10, 4)





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Aannttoonn
Дата 15.12.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А как считать a с Edit1
PM MAIL ICQ   Вверх
Vyacheslav
Дата 15.12.2005, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Код

float a = Edit1->Text.ToDouble();




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Aannttoonn
Дата 16.12.2005, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Vyacheslav не получается!
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   float a = Edit1->Text.ToDouble();
   Edit1->Text=Format("%.4f", ARRAYOFCONST((a)) );
   if(a==0.001) Edit2->Text="Õîðîøî";
    else Edit2->Text="Ìàìà";
   a=a++;
   Edit3->Text=AnsiString::FloatToStrF( a, ffFixed, 10, 10);
}


Это сообщение отредактировал(а) Aannttoonn - 16.12.2005, 22:11
PM MAIL ICQ   Вверх
Vyacheslav
Дата 19.12.2005, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Кто Вас учил так сравнивать float? Вы можете только проверить, что два числа равны друг другу с определенной прогрешностью. Это же не целые числа
Хотя бы так, что ли
Код

if(  SameValue(a, float(0.001)  ) 

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

ВниманиеПодправил выражение сравнения float. В Builder 6 появились специальные функции для таких целей


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Aannttoonn
Дата 19.12.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Но мне ведь изестно это число точно. Как мне следить за тем что комп его также точно понимает. Просто я делаю лабораторные и мне нужны только точные значения или ну с погрешностью там до 0,000000001.
PM MAIL ICQ   Вверх
Vyacheslav
Дата 20.12.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



Вы не доверяете компьютеру? Как то я работал со сотрудницей, которая в свои обязанности включила проверку правильности расчета на компьютере smile
А если Вам нужна большая точность, то Вы должны то надо тспользовать соответствующие приемы. Например вместо float, использовать double( long double) . Или даже скорее всего не long double, а BCD ( TBcd ).


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Aannttoonn
Дата 23.12.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Как я понял чтобы в Memo обращаться к какой-нибудь строке надо либо заранее задать кол-во строк в Memo. Либо после заполнения одной строки организовывать переход на другую - как это сделать (когда пишу ”\n” остаются какие-то чёрые полоски).
PM MAIL ICQ   Вверх
_hunter
Дата 23.12.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



можно и так Lines->Add()


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
abrekos
Дата 23.12.2005, 13:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Aannttoonn @ 12.12.2005, 21:41)
Жуткий глюк или чё. Пишу
float a=0.0001;
Edit1->Text=a;
Выводит в Edit1:
9,99999974737875E-5
Объясните кто знает.

Используй в таких случаях double smile
  Вверх
Aannttoonn
Дата 24.12.2005, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Как в Memo удалять символы до какого-нибудь знака?
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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