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:
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;
Mir wirde wirklich sehr geholfen sein wenn jemannd diese Umänderungen dann in eine Datei namens StdTranslator.dll umwandeln würde. Dankeschön
[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]