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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> string extened integer !!! help please 
:(
    Опции темы
artsb
Дата 28.1.2010, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(muratboy31 @  28.1.2010,  10:54 Найти цитируемый пост)
1.1251,4851 

Maybe 11.251,4851 smile


muratboy31, save your number as string. Otherwise not be able.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
muratboy31
Дата 28.1.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



yes i save it as string but what it gets from web site is that;

2.0980  so it writes it with '.'  

Код

procedure TFormMain.FormCreate(Sender: TObject);
begin
  DecimalSeparator := ',';
  ThousandSeparator := '.';
  ini1 := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Settings.INI ');
  euro:= ini1.ReadFloat('Settings','JPY', 2.0980);



user posted image

Это сообщение отредактировал(а) muratboy31 - 28.1.2010, 11:21
PM MAIL   Вверх
artsb
Дата 28.1.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



And read as string.
Код

procedure TFormMain.FormCreate(Sender: TObject);
begin
  DecimalSeparator := ',';
  ThousandSeparator := '.';
  ini1 := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Settings.INI ');
  euro:= ini1.ReadString('Settings','JPY', '2.1150');



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
muratboy31
Дата 28.1.2010, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



i will try thanks

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


Бывалый
*


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

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



thousand seperator didnt work ;
1235,4923

and also i get error when coverting to other currencies...  is it possible that i get it because of download string?
user posted image

İNSİDE İNİ FİLE:
Цитата

[Kurlar Alış]
EURO=2,0879
TL=1,4851
JPY=0,016674



Код

var
  Amount, CFactor : real;
  euro,tlr,jpy: string;
  euro5,tlr5,jpy5: extended;
  FormMain: TFormMain;
implementation


Код

procedure TFormMain.FormCreate(Sender: TObject);
var   
  ini1 : TINIFile;
begin
  DecimalSeparator := ',';
  ThousandSeparator := '.';
  ini1 := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Kurlar.INI ');
  euro:= ini1.Readstring('Kurlar Satış','EURO', '0,00');
  tlr:= ini1.Readstring('Kurlar Satış','TLR', '0,00');
  jpy:= ini1.Readstring('Kurlar Satış','JPY', '0,00');
  ini1.Free;

  RGCurrency.ItemIndex:=0;
  RGDecimals.ItemIndex:=3;
  CurrConvert2;
  CurrConvert;

end;


Код

procedure TFormMain.ConvertShow;
var
  FStr: string;
begin
  if RGDecimals.ItemIndex = 0 then
    FStr := '0,0'
  else if RGDecimals.ItemIndex = 1  then
    FStr := '0,00'
  else if RGDecimals.ItemIndex = 2  then
    FStr := '0,000'
  else if RGDecimals.ItemIndex = 3  then
    FStr := '0,0000';
 
  tl.Text := FormatFloat(FStr, Tlr5)      + '  TLR';
  eur.Text := FormatFloat(FStr, Tlr5 / euro5) + '  EUR';
  jp.Text := FormatFloat(FStr, Tlr5 / jpy5) + '  JPY';

end;


Код

procedure TFormMain.CurrConvert;
var   
  ini1 : TINIFile;
begin
  try
  ini1 := TINIFile.Create( ExtractFilePath(Application.ExeName)+'Kurlar.INI ');
  euro:= ini1.Readstring('Kurlar Satış','EURO', '0,00');
  tlr:= ini1.Readstring('Kurlar Satış','TLR', '0,00');
  jpy:= ini1.Readstring('Kurlar Satış','JPY', '0,00');
  ini1.Free;

  euro5  := strtofloat(euro);
  tlr5  := strtofloat(tlr);
  jpy5 := strtofloat(jpy);

    Amount := StrToFloat(EdInput.Text);
    case RGCurrency.ItemIndex of
      1 : CFactor := euro5;
      2 : CFactor := jpy5;
    else
      CFactor := 1;
    end;
    Tlr5 := Amount * CFactor;
    ConvertShow;
    SetLabelInvisible;
  except
    on EConvertError do
      MessageDlg('Yanlış Değer!', mtWarning, [mbOk], 0);
  end;
end;


Код

procedure TFormMain.RGCurrency1Click(Sender: TObject);
begin
  CurrConvert;
end;

procedure TFormMain.RGDecimals1Click(Sender: TObject);
begin
  CurrConvert;
 end;


Код

procedure TFormMain.EdInputKeyPress(Sender: TObject; var Key: Char);
var
  defstyle: dWord;
begin
  defstyle := GetWindowLong(EdInput.Handle, GWL_STYLE);
  SetWindowLong(EdInput.Handle, GWL_STYLE, defstyle or ES_NUMBER);

  if Key = #13 then 
    CurrConvert;
    
  else
    if (Key = ',') and (DecimalSeparator = '.') then 
      Key := '.' 
    else
      if (Key = '.') and (DecimalSeparator = ',') then 
        Key := ',';
 end;
end;



Код

procedure TFormMain.bsSkinSpeedButton1Click(Sender: TObject);
var
alisjpy2, satisjpye3, z,ze,jpye, satis, satise, satisjpye, aranan,aranan2,aranan6,  gun1,ay1,yil1 :string;
yer,yere,yer6,i:Integer;
ini1 : TINIFile;
songuncel: TDate;
saat:ttime;
saat2, songuncel2:string;
begin
  ini1 := TINIFile.Create(ExtractFilePath(Application.ExeName)+'Kurlar.INI ');
  gun1:=formatdatetime('DD', tarih.date);
  ay1:=formatdatetime('MM', tarih.date);
  yil1:=formatdatetime('YYYY', tarih.date);
  try
   z:=IDHttp1.Get('http://www.tcmb.gov.tr/kurlar/'+yil1+ay1+'/'+gun1+ay1+yil1+'.html');
  except
   Showmessage('Bu Tarihe Ait Döviz Kuru Bulunamadı !!!');
   Exit;
  end;
  z:=IDHttp1.Get('http://www.tcmb.gov.tr/kurlar/'+yil1+ay1+'/'+gun1+ay1+yil1+'.html');
  ze:=IDHttp1.Get('http://www.tcmb.gov.tr/kurlar/'+yil1+ay1+'/'+gun1+ay1+yil1+'.html');
  jpye:=IDHttp1.Get('http://www.tcmb.gov.tr/kurlar/'+yil1+ay1+'/'+gun1+ay1+yil1+'.html');
///////////////////////////////////////////////////////
  aranan:='1 TÜRK LİRASI';
  aranan2:='1 EURO';
  aranan6:='100 JAPON YENİ';

    for i:=1 to 1 do
    begin
    ////////////////////////////////////////
    yer:=pos(aranan,z);
    yere:=pos(aranan2,ze);
    yer6:=pos(aranan6,jpye);
    if yer=0 then
      begin
      ShowMessage('Kur bilgisi yok');
      exit;
    end
      else
      begin
      /////////////////////////////////////
      yer:=yer+length(aranan);
      yere:=yere+length(aranan2);
      yer6:=yer6+length(aranan6);
      //////////////////////////////////////
      z:=copy(z,yer,length(s)-yer);
      ze:=copy(ze,yere,length(ze)-yere);
      jpye:=copy(jpye,yer6,length(jpye)-yer6);
     ///////////////////////////////////////
      z:=trim(z);
      ze:=trim(ze);
      jpye:=trim(jpye);
      ////////////////////////////////////////
      satis:=copy(z,14,6);
      satise:=copy(ze,14,6);
      satisjpye:=copy(jpye,14,6);
      /////////////////////////////////////////
      ini1.WriteString('Kurlar Satış','EURO', satise);
      ini1.WriteString('Kurlar Satış','TL', satis);

      satisjpye2:= FloatToStr(StrToFloat(satisjpye)/100);
      ini1.WriteString('Kurlar Satış','JPY', alisjpy2);
      ini1.Free;

        DecimalSeparator := ',';
        ThousandSeparator := '.';
        RGDecimals.ItemIndex:=3;
        CurrConvert;

      end;
    end;
end;




Это сообщение отредактировал(а) muratboy31 - 29.1.2010, 18:31
PM MAIL   Вверх
artsb
Дата 29.1.2010, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



muratboy31,
Write:
1. convert float to string
2. add thousand seperator
3. write to file as string
Read:
1. read from file as string
2. delete thousand seperator
3. convert string to float


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
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.1565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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