Delphi İle TCMB den Döviz Kurlarını Çekme

Aşağıdaki procedure de USD ve EURO kuru çekilmiştir

Kurlar diye bir adet memory table oluşturulmuştur

Kurlar Memory Table Field Yapısı
object Kurlar: TJvMemoryData

FieldName = ‘DOVTUR’
DataType = ftString
Size = 100

FieldName = ‘KUR’
DataType = ftFloat


	Procedure DovizKurlari;
	var
		XMLNode: IXMLNode;
		I: Integer;
		XMLDocumentKur: TXMLDocument;
	Begin
		XMLDocumentKur := TXMLDocument.Create(Application);
		try
			try
				XMLDocumentKur.Active := false;
				XMLDocumentKur.FileName := 'https://www.tcmb.gov.tr/kurlar/today.xml';
				XMLDocumentKur.Active := true;
			Except  on E: Exception do
			Begin
				Msg_HataMesaji('İnternet bağlantınızı kontrol edin. TCMB günlük kur bilgisine ulaşılamadı!');
			end;
		end;

		Kurlar.Open;
		Kurlar.EmptyTable;
	
		if XMLDocumentKur.Active then
		Begin
			XMLNode := XMLDocumentKur.DocumentElement.ChildNodes.FindNode('Currency');
			repeat
				if XMLNode.HasAttribute('CurrencyCode') then
				begin
					if (XMLNode.Attributes['CurrencyCode'] = 'USD') then
					begin
						Kurlar.Append;
							KurlarDOVTUR.AsString := 'USD';
							KurlarKUR.AsFloat := StrToFloatDef(StringReplace(XMLNode.ChildNodes.Nodes['ForexSelling'].Text, '.', ',', [rfReplaceAll]), 0);
							DolarKuru := StrToFloatDef(StringReplace(XMLNode.ChildNodes.Nodes['ForexSelling'].Text, '.', ',', [rfReplaceAll]), 0);
						Kurlar.Post;
					end
					else if (XMLNode.Attributes['CurrencyCode'] = 'EUR') then
					begin
						Kurlar.Append;
							KurlarDOVTUR.AsString := 'EURO';
							KurlarKUR.AsFloat := StrToFloatDef(StringReplace(XMLNode.ChildNodes.Nodes['ForexSelling'].Text, '.', ',', [rfReplaceAll]), 0);
							EuroKuru := StrToFloatDef(StringReplace(XMLNode.ChildNodes.Nodes['ForexSelling'].Text, '.', ',', [rfReplaceAll]), 0);
						Kurlar.Post;
					end;
				end;
				XMLNode := XMLNode.NextSibling;
			until XMLNode = nil;
			End
			Else
			Begin
				if Msg_Soru('USD ve EURO Kurunu Elle Tanımlamak İster misiniz ? ') then
				Begin
					Kurlar.Append;
						KurlarDOVTUR.AsString := 'USD';
						KurlarKUR.AsFloat     := StrToFloatDef(InputBox('','USD Kurunu Giriniz','1'),1);
						DolarKuru             :=  KurlarKUR.AsFloat;
					Kurlar.Post;

					Kurlar.Append;
						KurlarDOVTUR.AsString := 'EURO';
						KurlarKUR.AsFloat     := StrToFloatDef(InputBox('','EURO Kurunu Giriniz','1'),1);
						EuroKuru              := KurlarKUR.AsFloat ;
					Kurlar.Post;
				End
				Else
				Begin
					Kurlar.Append;
						KurlarDOVTUR.AsString := 'USD';
						KurlarKUR.AsFloat     := 1;
						DolarKuru             := 1;
					Kurlar.Post;

					Kurlar.Append;
						KurlarDOVTUR.AsString := 'EURO';
						KurlarKUR.AsFloat     := 1;
						EuroKuru              := 1;
					Kurlar.Post;
				End;
		    End;
		finally
			XMLDocumentKur.Free;
		end;
	End;