AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Excel-Funktion im Hintergrund ablaufen lassen

Ein Thema von Delphi-Narr · begonnen am 11. Dez 2009 · letzter Beitrag vom 16. Dez 2009
 
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Excel-Funktion im Hintergrund ablaufen lassen

  Alt 14. Dez 2009, 18:48
Achso, ok. Jetzt habe ich die Datei eurofxref-hist.xml

Die ist so aufgebaut:
XML-Code:
<?xml version="1.0" encoding="UTF-8" ?>
- <gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
  <gesmes:subject>Reference rates</gesmes:subject>
- <gesmes:Sender>
  <gesmes:name>European Central Bank</gesmes:name>
  </gesmes:Sender>
- <Cube>
- <Cube time="2009-12-10">
  <Cube currency="USD" rate="1.473" />
  <Cube currency="JPY" rate="130.03" />
  <Cube currency="BGN" rate="1.9558" />
  <Cube currency="CZK" rate="25.705" />
  <Cube currency="DKK" rate="7.4417" />
  <Cube currency="EEK" rate="15.6466" />
  <Cube currency="GBP" rate="0.9043" />
  <Cube currency="HUF" rate="272.05" />
  <Cube currency="LTL" rate="3.4528" />
  <Cube currency="LVL" rate="0.7072" />
  <Cube currency="PLN" rate="4.1405" />
  <Cube currency="RON" rate="4.2382" />
  <Cube currency="SEK" rate="10.4367" />
  <Cube currency="CHF" rate="1.5113" />
  <Cube currency="NOK" rate="8.4355" />
  <Cube currency="HRK" rate="7.2668" />
  <Cube currency="RUB" rate="44.8505" />
  <Cube currency="TRY" rate="2.202" />
  <Cube currency="AUD" rate="1.6074" />
  <Cube currency="BRL" rate="2.5904" />
  <Cube currency="CAD" rate="1.5472" />
  <Cube currency="CNY" rate="10.0556" />
  <Cube currency="HKD" rate="11.4168" />
  <Cube currency="IDR" rate="13905.61" />
  <Cube currency="INR" rate="68.7" />
  <Cube currency="KRW" rate="1716.4" />
  <Cube currency="MXN" rate="19.0312" />
  <Cube currency="MYR" rate="5.0045" />
  <Cube currency="NZD" rate="2.0236" />
  <Cube currency="PHP" rate="68.075" />
  <Cube currency="SGD" rate="2.0473" />
  <Cube currency="THB" rate="48.793" />
  <Cube currency="ZAR" rate="11.0565" />
  </Cube>
- <Cube time="2009-12-09">
  <Cube currency="USD" rate="1.4768" />
  <Cube currency="JPY" rate="129.91" />
  <Cube currency="BGN" rate="1.9558" />
  <Cube currency="CZK" rate="25.749" />
  <Cube currency="DKK" rate="7.4416" />
  ...
  </Cube>
</cube>
Nicht zu jedem Datum ist jede Währung vorhanden. Im Optimalfall sollten es (Stand wie oben) 2802 Einträge sein. 20 Währungen aus dem ersten Cube sind in dieser Zahl vorhanden. Ich habe auch nicht nachgeprüft, ob bei älteren Daten andere Währungen sind. Ist auch ersteinmal unwichtig.
Also zur Auswahl stehen die aufgelisteten Währungen.
Erst muss also das Datum gesucht werden.
Hatte das bisher so, dass alle Daten durchsucht werden, solange das Datum2 (das aus der Datei) > ist als das aus der Datumsauswahl.
Dann wird die Variable i auf die Stelle gesetzt, ab wo der Kurs des eingegebenen Datums gilt.


Also

Eingabe: 27.10.2009


Datei:

0 -> 12.12.2009
1 -> 11.12.2009
2 -> 30.11.2009
3 -> 15.11.2009
4 -> 28.10.2009
5 -> 26.10.2009

als i erhalte ich also 5.

Jetzt müssen alle Unterpunkte von Cube[i] durchsucht werden, bis der Wert von currency gleich die angegebene Währung ist und dann muss die Variable Kurs auf den Wert vom Attribut "rate" gesetzt werden. Wenn die Währung nicht existiert, soll der Anwender dies mitgeteilt bekommen.

Könnte sich jemand die Zeit nehmen, mir mal zu erklären, wie ich das jetzt realisieren kann?
Liebe Grüße!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz