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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> extended problem 
:(
    Опции темы
huismori
  Дата 29.3.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



i am trying to show image for rates but it doesnt always show the correct image... i dont know what i am doing wrong !!!

Код

var
      ini:TInifile; 
      euro, alis:extended;     
begin
      ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Rates.INI ');
      euro:= ini.ReadFloat('Rate1','EURO', 2.1150);  
      alis:= ini.ReadFloat('Rate2','EURO', 2.1150);   
      ini.free;
      if alis < euro then
      Edit1.RightImageIndex:=14 else
      if alis = euro then
      Edit1.RightImageIndex:=13 else
      if alis > euro then
      Edit1.RightImageIndex:=12 ;
end;

PM MAIL   Вверх
Keeper89
Дата 29.3.2010, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Код

uses
  Math;

const
  VALUE_FIX = 0.001;

var
  ini:TInifile; 
  euro, alis:extended;
  compareResult: (-1..1);    
begin

  ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Rates.INI ');
  try
    euro:= ini.ReadFloat('Rate1','EURO', 2.1150);  
    alis:= ini.ReadFloat('Rate2','EURO', 2.1150);   
  finally
    ini.free;
  end;

  compareResult := Math.CompareValue(alis, euro, VALUE_FIX);

  if compareResult = -1 then
    Edit1.RightImageIndex:=14
  else if compareResult = 0 then
    Edit1.RightImageIndex:=13
  else
    Edit1.RightImageIndex:=12;
end;



--------------------
PM MAIL WWW   Вверх
huismori
Дата 30.3.2010, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



thanks keeper but i got this error;
Код

compareResult: (-1..1);

identifier expected but '-' found
PM MAIL   Вверх
bems
Дата 30.3.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Keeper89, квадратные скобки же


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Keeper89
Дата 31.3.2010, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Цитата(bems @  30.3.2010,  15:55 Найти цитируемый пост)
Keeper89, квадратные скобки же 

Мой косяк, лучше даже так:
Код

uses
  Math, Types;

const
  VALUE_FIX = 0.001;

var
  ini:TInifile; 
  euro, alis:extended;

begin
  ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Rates.INI ');
  try
    euro:= ini.ReadFloat('Rate1','EURO', 2.1150);  
    alis:= ini.ReadFloat('Rate2','EURO', 2.1150);   
  finally
    ini.free;
  end;

  case Math.CompareValue(alis, euro, VALUE_FIX) of
    LessThanValue:
        Edit1.RightImageIndex := 14;
    EqualsValue:
        Edit1.RightImageIndex := 13;
    GreaterThanValue:
        Edit1.RightImageIndex := 12;
  end;
end;



--------------------
PM MAIL WWW   Вверх
muratboy31
Дата 2.4.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



really good trick keeper  smile 

Это сообщение отредактировал(а) muratboy31 - 2.4.2010, 14:53
PM MAIL   Вверх
huismori
Дата 2.4.2010, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



when i use it like that i get an error

Код

   case Math.CompareValue(alisex, euro30, VALUE_FIX) of
    LessThanValue:
        tl5.RightImageIndex := 14;
        tl4.RightImageIndex := 14;
    EqualsValue:
        tl5.RightImageIndex := 13;
        tl4.RightImageIndex := 13;
    GreaterThanValue:
        tl5.RightImageIndex := 12;
        tl4.RightImageIndex := 12;
   end;


Цитата

Constant expression expected.

PM MAIL   Вверх
Keeper89
Дата 2.4.2010, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Цитата(huismori @  2.4.2010,  15:15 Найти цитируемый пост)
when i use it like that i get an error

Код

case Math.CompareValue(alisex, euro30, VALUE_FIX) of
    LessThanValue:
        begin
            tl5.RightImageIndex := 14;
            tl4.RightImageIndex := 14;
        end;
    EqualsValue:
        begin
            tl5.RightImageIndex := 13;
            tl4.RightImageIndex := 13;
        end;
    GreaterThanValue:
        begin
            tl5.RightImageIndex := 12;
            tl4.RightImageIndex := 12;
        end;
end;



--------------------
PM MAIL WWW   Вверх
huismori
Дата 2.4.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



i love u keeper smile 
thanks alot

another question how would i calculate percantage... from alisex to euro... for example ;

-%0,10   when it less
or
+%0,5    when it is more
PM MAIL   Вверх
Keeper89
Дата 2.4.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Код

uses
  Math, Types;
  
const
  VALUE_FIX = 0.001;
  
var
  ini:TInifile; 
  euro, alisex: extended;
  
begin
  ini := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Rates.INI ');
  try
    euro:= ini.ReadFloat('Rate1','EURO', 2.1150);  
    alisex:= ini.ReadFloat('Rate2','EURO', 2.1150);   
  finally
    ini.free;
  end;
  
    case Math.CompareValue(alisex, euro30, VALUE_FIX) of
    LessThanValue:
        begin
            tl5.RightImageIndex := 14;
            tl4.RightImageIndex := 14;
            Showmessage(Format('-%.2f', [(euro30 - alisex) / 100]));
        end;
    EqualsValue:
        begin
            tl5.RightImageIndex := 13;
            tl4.RightImageIndex := 13;
        end;
    GreaterThanValue:
        begin
            tl5.RightImageIndex := 12;
            tl4.RightImageIndex := 12;
            Showmessage(Format('+%.2f', [(alisex - euro30) / 100]));
        end;
end;
end;



--------------------
PM MAIL WWW   Вверх
huismori
Дата 2.4.2010, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



it always show  -0.00  or +0.00    like that ... no % and correct percentage...
PM MAIL   Вверх
Keeper89
Дата 2.4.2010, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Then your values are to small, try to use
Код

'%f'

instead of
Код

'%.2f'


Это сообщение отредактировал(а) Keeper89 - 2.4.2010, 16:06


--------------------
PM MAIL WWW   Вверх
huismori
Дата 2.4.2010, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



now it is  -0  or  +0       still not correct value...
PM MAIL   Вверх
Keeper89
Дата 2.4.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Try
Код

'%g'

instead of
Цитата(Keeper89 @  2.4.2010,  16:05 Найти цитируемый пост)
    
'%f'




--------------------
PM MAIL WWW   Вверх
huismori
Дата 5.4.2010, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



thanks keeper that worked i think but is there anyway to make it shorter because it show sooo many numbers

user posted image

it would b enough if it show last 3 digits or 4...

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

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

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

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

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


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

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


 




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


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

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