Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2012, 23:36   #1
ITanyshka
Пользователь
 
Регистрация: 01.12.2012
Сообщений: 16
По умолчанию Обмен валют

Помогите плиз с програмкой, мне нужно получить курс валют, для этого использую XML. но подключить его мне не удаёться, выбивает ошибки. Обесните плиз как его правельно подключить. Зарание спасибо...
Код:
begin
if DateUpdate<>form1.dtp1.DateTime then begin
    XMLDoc:=GetCursFile(GetUrlCBRF(form1.dtp1.DateTime));
    mmo1.Lines.Add:=floattostr(GetKursValutFromCBRF(form1.GroupBox1.Text,XMLDoc).Value);
    DateUpdate:=form1.dtp1.DateTime;
    i:=form1.GroupBox1.itemindex;
    form1.GroupBox1.Items.Text:=GetListValuta(XMLDoc);
    form1.GroupBox1.ItemIndex:=i;
   end;
[Error] Unit1.pas(194): Undeclared identifier: 'GetCursFile'
[Error] Unit1.pas(194): Undeclared identifier: 'GetUrlCBRF'

Последний раз редактировалось ITanyshka; 01.12.2012 в 23:40. Причина: добавлеия
ITanyshka вне форума Ответить с цитированием
Старый 01.12.2012, 23:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А где ты этот код взяла? У меня такое чувство что эти две функции самописные, и должны быть выложены автором, приведенного тобой примера, отдельно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.12.2012, 23:48   #3
ITanyshka
Пользователь
 
Регистрация: 01.12.2012
Сообщений: 16
По умолчанию

Нашла в нете. нуда, они прописаны, но серавно вибывает ошибки. Вот код который я взела
Код:
function GetCursFile (const fileURL:string): string;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of char;
  BufferLen: DWORD;
  f: File;
  sAppName: String;
begin
  result:='';
  sAppName := ExtractFileName(Application.ExeName);
  hSession :=InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      repeat
        InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
        result:=result+Buffer;
      until BufferLen = 0;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end
end;


Function CopyTextFromTeg(s:string;s1,s2:string):string;
var i1,i2:integer;
    sm:string;
begin
  i1:=pos(s1,s);
  sm:=copy(s,i1,length(s));
  i2:=pos(s2,sm)+i1-1;
  result:=copy(s,i1+length(s1),i2-i1-length(s1));
end;

Function GetKursValutFromCBRF(Valuta:STring;XMLDoc:string):Tvaluta;
var ValutaList:TstringList;
    x:integer;
    s:string;
    ValueE,nominalE:Extended; // Валюта разрядность
begin
   ValutaList:=TstringList.Create;
   ValutaList.text:=XMLDoc;
  for X:=1 to ValutaList.count-1 do
    if pos('<CharCode>'+Valuta+'</CharCode>', ValutaList[x])>0 then begin
       s:=ValutaList[x+1];
       nominalE:=StrTofloat(CopyTextFromTeg(s,'<Nominal>','</Nominal>'));
       s:=ValutaList[x+3];
       ValueE:=StrTofloat(CopyTextFromTeg(s,'<Value>','</Value>'));
       result.Value:=ValueE/nominalE;
       result.ValutaName:=Valuta;
       s:=ValutaList[x+2];
       result.FullName:=CopyTextFromTeg(s,'<Name>','</Name>');
       result.Nominal:=nominalE;

    end;
   ValutaList.free;
end;

Function GetListValuta(XMLDoc:string):String;
var x:integer;
    ValutaList:TstringList;
begin
   ValutaList:=TstringList.Create;
   ValutaList.Text:=XMLDoc;
   result:='';
   for X:=0 to ValutaList.count-1 do begin
     if pos('<CharCode>',ValutaList[x])>0 then
     result:=result+CopyTextFromTeg(ValutaList[x],'<CharCode>','</CharCode>')+#13+#10;

   end;
   ValutaList.free;

end;
Function GetUrlCBRF(date:Tdate):string;
begin
  result:='http://www.cbr.ru/scripts/XML_daily.asp?date_req='+FormatDateTime('DD/MM/YYYY',date);
end;

Последний раз редактировалось ITanyshka; 02.12.2012 в 00:53.
ITanyshka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление курсов валют Che Guevara PHP 1 10.02.2012 12:38
Калькулятор валют... sew960i Фриланс 9 22.02.2010 21:26
Загрузка курсов валют 69angel69 Microsoft Office Excel 3 09.04.2008 20:44
Скачать курс валют nemaster21 Общие вопросы Delphi 1 21.11.2007 17:41
Курсы валют aaa Microsoft Office Excel 2 20.11.2007 09:37