![]() |
Importfilter
Hallo,das ist wirklich eine gelungene Website. Ich will man ehrlich sein. Ich habe von Programmiersprachen allgemein keine Ahnung und hoffe das mir jemand vieleicht freundlicherweise helfen kann. Und zwar habe ich eine Börsensoftware namens Spekulator. Diese hat zwar die möglichkeit Kurse zu Importieren und besitzt eine vorgefertigte Delphi Rotine siehe unten, ist aber leider nur in der Lage zum Import folgenden Kursformates.
(StdTranslator.dpr)
Delphi-Quellcode:
library StdTranslator;
uses SysUtils; function BWInvestment(EDatei,ADatei:PChar):boolean;stdcall; var T1,T2: TextFile; s,Titel:string; begin result:=true; try Titel:=extractfilename(EDatei); setlength(Titel,length(Titel)-4); AssignFile(T1,EDatei); AssignFile(T2,ADatei); try Reset(T1); Rewrite(T2); readln(T1,s); writeln(T2,'Name'+#9+s); s:=''; while not EOF(T1) do begin readln(T1,s); writeln(T2,Titel+#9+s); end; finally CloseFile(T1); CloseFile(T2); end; except result:=false; end; end; exports BWInvestment; begin end. Die exportierte Funktion BWInvestment wandelt die historischen Kurse von folgenden Format (1und1.txt) Date Open High Low Close 22.05.98 112,48 115,3 25.05.98 113 113,51 112,74 113 26.05.98 112,48 112,48 110,18 110,44 ... in dieses: (1und1.bwi) Name Date Open High Low Close 1und1 22.05.98 112,48 115,3 1und1 25.05.98 113 113,51 112,74 113 1und1 26.05.98 112,48 112,48 110,18 110,44 ... Ich benötige aber einen Importfiler der dieses Kursformat umwandelt Date,Open,High,Low,Close,Volume,Adj. Close* 1-Jul-02,21.15,21.30,20.71,21.20,505260,19.85 28-Jun-02,20.78,21.37,20.72,21.37,725406,20.01 27-Jun-02,20.65,20.80,20.19,20.45,1038750,19.15 26-Jun-02,19.50,20.38,19.25,20.21,1029610,18.92 25-Jun-02,19.66,20.30,19.66,20.05,546257,18.77 und zwar besteht das Problem dabei das die Monatsangabe in Worten geschrieben ist ,es müsste eine möglichkeit geben diese wortangabe der jeweiligen Monatszahl zuzuordnen. Außerdem müssen die Trennzeichen in Semmikolon (;) umgewandelt werden, anstatt (-) bzw.( ,) . Jemand hat mir freundlicherweise schon dazu etwas vorbereitet (siehe unten) doch besteht bei mir das Problem das ich keine Delphi Software besitze und auch keine Ahnung vom Kompelieren habe. 1) bitte benutze die code-tags z.b. das hier: 1-Jul-02,21.15,21.30,20.71,21.20,505260,19.85 du entfernst den text bis einschließlich dem ersten "-" liest dann den text bis zum nächsten "-" und vergleichst dann... man könnte z.b. ein array anlegen, alla: Code: const CMonthTextArray : array [1..12] of string = ('jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'); und (angenommen dein Monatstext steht in der Variable AMonthText) dann per: Code:
Delphi-Quellcode:
Mir wirde wirklich sehr geholfen sein wenn jemannd diese Umänderungen dann in eine Datei namens StdTranslator.dll umwandeln würde. Dankeschön
var
Index : Byte; MonthNumber : Byte; begin MonthNumber := 0; for Index := Low(CMonthTextArray) to High(CMonthTextArray) do begin if (AnsiLowerCase(AMonthText) = CMonthTextArray[Index]) then begin MonthNumber := Index; Break; end; end; end; [edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit] [edit=Christian Seehase]Meine Korrektur korrigiert ;-) Mfg, Christian Seehase[/edit] |
Re: Importfilter
Hi!
Herzlich Willkommen in der DP. Benutze doch bitte die [delphi.] [/delphi.] Tags (ohne die Punkte), um den Code besser zu formatieren. Ciao Frederic |
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Fragen / Anregungen zur DP" nach "Sonstige Fragen zu Delphi" verschoben.
Hat nichts mit der DP zu tun. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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