Einlesen eines XML-Documents aus dem Internet?
spacer
Autor Nachricht
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15840
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Di 07.02.12 12:14 
Ich habe drauf gewartet, dass du einmal überlegst wie du da denn wohl dran kommst. Du musst von oben nach unten jeweils den richtigen Knoten suchen und im untersten dabei das Attribut prüfen. Das ist ja eigentlich logisch, oder? Einen Quelltext in der Richtung hast du bisher nicht gepostet.

Mit XPath geht das auch in einem Rutsch über einen Abfragestring.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Di 07.02.12 12:57 
und wie benutze ich XPath?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15840
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Di 07.02.12 13:14 
Du kannst die XPath Abfrage direkt in selectNodes bzw. selectSingleNode packen und bekommst die/den passenden Knoten zurück. ;-)

Oder du erstellst dir ein StyleSheet Dokument, in dem du dir die gewünschten Filter setzt. Dann rufst du transformNode deines Dokuments auf und übergibst dort das StyleSheet-Dokument. So kannst du direkt an den Wert kommen, der dich interessiert.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Di 07.02.12 13:59 
und wie muss ich das eingeben??
ich hab jetzt die unterpunkte von Doc... durchforstet und bin auf zwei verschieden stylesheets gestoßen, einmal StyleSheetType und StyleSheetREF. Dann habe ich das so versucht

WriteLn(Doc.StylesheetHRef);

aber mehr als versuchen kann ich nicht, weil ich mich ja auf einem total unbekannten gebiet gebiet befinde. Das heißt ich kann hier nur irgentwie die sachen eingeben was man mir vorschlägt (IDE;Forum) und gucken was passiert, aber bis jetzt is dabei halt noch nicht viel rumm gekommen.

was genau macht stylesheet, und wie muss ich das benutzen, oder nenne mir einen weg, der einfacher zu schreiben ist pls.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 1004
Erhaltene Danke: 10

WIN7,PuppyLinux
Turbo Delphi, FreePascal
BeitragVerfasst: Di 07.02.12 15:18 
Hallo,

Die Suche nach 'Cube' bringt eine Liste hervor, aber das ist sicher noch nicht so, wie Du es gerne hättest.
Ihc habe die XML Datei ins selbe Verzeichnis gepackt.

ausblenden volle Höhe Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
program XMLSuche;
//Freepascal 2.6.0
uses
SysUtils,DOM,xmlread;
const
XMLName = 'eurofxref-daily.xml';

procedure Attribute(A:TDOMNamedNodeMap);
var
i : longInt;
begin
IF A = NIL then
begin
writeln('No attribues');
EXIT;
end;

with A do
begin
For i := 0 to length-1 do
with Item[i] do
write(NodeName+' '+NodeValue+' ;');
writeln;
end;

end;

procedure SpucksAus(rootnode:TDOMNodeList);
var
i : longint;
begin
IF rootnode = NIL then
EXIT;
with rootnode do
begin
for i := 0 to (Count - 1) do
with Item[i] do
begin
writeln(NodeName,'___',NodeValue);
Attribute(Attributes);
SpucksAus(ChildNodes);
end;
end;

end;

procedure XML_Ausgeben;
var
Documento: TXMLDocument;
Suche: TDOMNode;
begin
ReadXMLFile(Documento, IncludeTrailingPathDelimiter(GetCurrentDir)+XMLName);

//Alles ausgeben
SpucksAus(Documento.DocumentElement.ChildNodes);
readln;

// Nach 'Cube' suchen 'cube' findet nichts
Suche := Documento.DocumentElement.FindNode('Cube');
IF Suche <> NIL then
SpucksAus(Suche.Childnodes)
else
writeln('Suche nicht erfolgreich');

Documento.Free;

end;

Begin
XML_Ausgeben;
readln
end.

Die Ausgabe sieht so aus:
ausblenden volle Höhe Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
gesmes:subject___

#text___Reference rates <-- Wo kommt #text als Nodename her, Typbezeichner ??
No attribues
gesmes:Sender___

gesmes:name___

#text___European Central Bank
No attribues
Cube___

Cube___
time 2012-02-06 ;
Cube___
rate 1.3042 ;currency USD ;
Cube___
rate 99.97 ;currency JPY ;
Cube___
usw......
Cube___
rate 40.404 ;currency THB ;
Cube___
rate 9.9450 ;currency ZAR ;


Suche nach Cube
Cube___
time 2012-02-06 ;
Cube___
rate 1.3042 ;currency USD ;
Cube___
rate 99.97 ;currency JPY ;
usw......
Cube___
rate 40.404 ;currency THB ;
Cube___
rate 9.9450 ;currency ZAR ;


Wie Jaenicke schon schrieb, musst Du nach 'USD' in den Attributen als NodeValue suchen.

Gruß Horst
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15840
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Di 07.02.12 17:44 
Ungetestet und nicht schön (praktisch nur vom letzten Quelltext kopiert):
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
uses
MSXML2_TLB;

var
API: TIdHttp;
Doc: IXMLDOMDocument3;
CurrencyNode: IXMLDOMNode;
begin
Doc := CoDOMDocument60.Create;
API := TIdHTTP.Create;
try
try
Doc.loadXML(API.Get('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'));
CurrencyNode := Doc.selectSingleNode('/*/*/*/*[@currency=''JPY'']');
if Assigned(CurrencyNode) then
ShowMessage(CurrencyNode.attributes.getNamedItem('rate').nodeValue);
except
on E: Exception do
Showmessage('Keine Internetverbindung möglich:'#13#10 + E.Message);
end;
finally
API.Free;
end;
end;
So sollte es in Delphi gehen. In Lazarus sollte es ähnlich sein.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 1004
Erhaltene Danke: 10

WIN7,PuppyLinux
Turbo Delphi, FreePascal
BeitragVerfasst: Di 07.02.12 20:16 
Hallo,

in Freepascal gibt es die Unit xpath.
ausblenden volle Höhe Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
program XMLSuche;
(*
{$SMARTLINK ON}
{$OPTIMIZATION ON}
{$OPTIMIZATION REGVAR}
{$OPTIMIZATION PEEPHOLE}
{$OPTIMIZATION CSE}
{$OPTIMIZATION ASMCSE}
*)


uses
classes,SysUtils,DOM,xmlread,xpath;
const
XMLName = 'eurofxref-daily.xml';

procedure Attribute(A:TDOMNamedNodeMap;var sl:TStringList);
var
i : longInt;
s : ANSIString;
begin
IF A = NIL then
begin
writeln('No attribues');
EXIT;
end;

with A do
begin
s := '';
For i := 0 to length-1 do
with Item[i] do
s:=NodeValue+'='+s;
if s <> '' then
begin
setlength(s,system.Length(S)-1 );
sl.Add(s);
end;
end;

end;

procedure SpucksAus(rootnode:TDOMNodeList;var sl: TStringList);
var
i : longint;
begin
IF rootnode = NIL then
EXIT;
with rootnode do
begin
for i := 0 to (Count - 1) do
with Item[i] do
begin
Attribute(Attributes,sl);
SpucksAus(ChildNodes,sl);
end;
end;

end;

procedure XML_Ausgeben;
var
Doc : TXMLDocument;
rslt: TXPathVariable;
Suche: TDOMNode;
i :integer;
S: TStringList;

begin
s := TStringList.create;
ReadXMLFile(Doc, IncludeTrailingPathDelimiter(GetCurrentDir)+XMLName);
rslt := EvaluateXPathExpression('/*/*/*/*[@currency=''JPY'']', doc.DocumentElement);

For i := 0 to rslt.AsNodeSet.Count-1 do
begin
Suche := TDomNode(rslt.AsNodeSet[i]);
Suche := Doc.DocumentElement.FindNode(Suche.NodeName);
IF Suche <> NIL then
SpucksAus(Suche.Childnodes,S)
else
writeln('Suche nicht erfolgreich');
end;

writeln(S.text);
writeln('Ein EURO sind ',S.Values['USD'],' $');
//Ein EURO sind 1.3042$
writeln('Ein EURO sind ',S.Values['JPY'],' Yen');

s.free;
Doc.Free;
end;

Begin
XML_Ausgeben;
readln
end.
(* Ausgabe der Stringliste
2012-02-06
USD=1.3042
JPY=99.97
BGN=1.9558
CZK=24.980
DKK=7.4342
GBP=0.82810
HUF=293.01
LTL=3.4528
LVL=0.6993
PLN=4.1770
RON=4.3420
SEK=8.8025
CHF=1.2067
NOK=7.5925
HRK=7.5830
RUB=39.4254
TRY=2.3017
AUD=1.2192
BRL=2.2549
CAD=1.3019
CNY=8.2329
HKD=10.1135
IDR=11718.28
ILS=4.8552
INR=63.9780
KRW=1463.27
MXN=16.5907
MYR=3.9374
NZD=1.5721
PHP=55.533
SGD=1.6303
THB=40.404
ZAR=9.9450

Ein EURO sind 1.3042 $
Ein EURO sind 99.97 Yen
*)


Dummerweise kommt dort nur 'Cube' zum Vorschein und nicht nur die passende Zeile:
<Cube currency='JPY' rate='99.97'/>

Das ergibt ein 600 kB Programm, wer hätte das gedacht.
Gruß Horst

EDIT ich habe die Stringliste mit Name=Value bepackt.
Ausgabe mit
writeln('Ein EURO sind ',S.Values['USD'],' $');
//Ein EURO sind 1.3042$
ist doch sehr einleuchtend.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Mi 08.02.12 12:41 
was genau macht diese Zeile???
ausblenden Delphi-Quelltext markieren
1:
CurrencyNode := Doc.selectSingleNode('/*/*/*/*[@currency=''JPY'']');


is das die zeile, die die einzelnen unterknoten anspricht? und wenn jaa, wie wird dann der Bereich
('/*/*/*/*[@currency=''JPY'']') definiert???

Und was genau ist das für eine Variabele(CurrencyNode')??? bzw rückgabetyp (IXMLDomNode) ???
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 1004
Erhaltene Danke: 10

WIN7,PuppyLinux
Turbo Delphi, FreePascal
BeitragVerfasst: Mi 08.02.12 13:28 
Hallo,

ich habe da keinen blassen Schimmer, ich hab das mal schlicht von jaenicke übernommen :-), um zu schauen, ob das Beispiel von Freepascal auch hier anwendbar ist.
Gute Güte, Du kannst Dich doch über Xpath und die Abfragen dort irgendwo schlau machen.
de.wikipedia.org/wiki/XPath dort ist unten auch ein Tutorial angegeben. Man kann auch irgenwie zügig auf die attribute zugreifen, das ist doch sicher etwas, was Du suchst.

Gruß Horst
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15840
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Mi 08.02.12 13:40 
Da in den XML-Daten ein Namespace verwendet wird, ist es das einfachste einfach zu sagen, dass man einen Knoten in der vierten Ebene sucht, egal was für Knoten das sind, dessen Attribut currency dem wert entspricht.

Man könnte natürlich auch den Namespace deklarieren und dann direkt auf die Knoten zugreifen.

Der Variablentyp stammt aus der Windows-API. Wie das bei Lazarus aussieht, weiß ich nicht, aber das sollte in den XML-Units ja zu sehen sein. Und man kann doch sicher auch in Lazarus einfach die XML-Komponenten von MS importieren, oder?
Ich versuche gern zu helfen, aber ich habe nicht die Absicht mich deshalb mit Lazarus herumzuquälen. Da musst du schon selbst schauen. ;-)
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Fr 10.02.12 11:13 
was muss ich denn machen, damit:
ausblenden Delphi-Quelltext markieren
1:
2:
uses
MSXML2_TLB;

funktioniert? muss ich da wieder ne Komponente auf die form legen??? wenn ja welche?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15840
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Fr 10.02.12 11:28 
Du musst die passende Typbibliothek importieren. Frag mich nicht wie das in Lazarus geht, da musst du selbst schauen. Vielleicht gibt es die entsprechende Unit auch schon. Irgendwie wird es da aber schon gehen, schließlich wäre Lazarus ja sonst Lichtjahre hinter Delphi 7, an das es sich ja anlehnt. Und viele sagen ja, dass es teilweise sogar besser sei. ;-)

In Delphi sieht das so aus (bei den Klassennamen siehst du auch die passende für das Dokument):

Einloggen, um Attachments anzusehen!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Fr 10.02.12 13:58 
Und was währe die passende Typ Bibliothek?? Ich will doch nur meinem Array die richtigen werte aus dem passenden unterknoten zuweisen... das kann doch nicht so kompliziert sein... du kommst immer wieder mit neuen sachen, die echt kompliziert sind (das fing an mit Indy( aber das ging ja noch), dann irgentwann kam dann mal xpath, jetzt soll ich noch ne typbibliothen einbinden, wo ich noch nichmal weiß wofür die gut ist und was die im programm macht, geschweige denn wie man die einbindet...

Es kann doch nicht so schwer sein einfach nur simple unterknoten einer online xml-datei einzulesen. Also bekannte meinerseits meinten auch dass das echt eifach sei, nur dass sie mir nich helfen könnten weil die sich halt nicht mit delphi geschweige denn lazarus aus kennen, mein lehrer kennt auch nur wirklich die prmitiven grundlagen der oop.

das heißt es kann mir hierbei echt keiner helfen, also forum arbeit. Ich bin aber noch schüler, der selber grade mal die grundlagen kennt und ihr schreibt eure info immer soo, als ob ihr vorraussetzt dass ich schon alles wüsste, wenn das der fall wäre würde ich ja nicht um hilfe fragen...

Also nocheinmal gibt es einen "relativ" simplen weg die Unterknoten einzulesen?? wenn ja dann zeigt ihn mir, wenn nicht, dann brauche ich detailierte anweisungen, sonst kann ich dass noch nicht schaffen.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Administrator
Beiträge: 8371
Erhaltene Danke: 244

W2k, WXPpro
TP3 - D7pro
BeitragVerfasst: Fr 10.02.12 14:14 
Moin!

Leute, er ist offensichtlich überfordert, also mehr Basics, der Rest kommt später von alleine. ;)


user profile iconSchosch hat folgendes geschrieben Zum zitierten Posting springen:
Also nocheinmal gibt es einen "relativ" simplen weg die Unterknoten einzulesen?? wenn ja dann zeigt ihn mir, wenn nicht, dann brauche ich detailierte anweisungen, sonst kann ich dass noch nicht schaffen.
Probier das mal so, vielleicht kommst du damit weiter (Achtung! Das Demo-Projekt ist mit D7 erstellt!):
ausblenden volle Höhe Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
type
TForm1 = class(TForm)
Memo1: TMemo;
btnGetXML: TButton;
IdHTTP1: TIdHTTP;
Edit1: TEdit;
btnGetXrate: TButton;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure btnGetXMLClick(Sender: TObject);
procedure btnGetXrateClick(Sender: TObject);
end;

procedure TForm1.btnGetXMLClick(Sender: TObject);
begin
Memo1.Text := IdHTTP1.Get('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
end;

procedure TForm1.btnGetXrateClick(Sender: TObject);
var
i: Integer;
XML: String;
begin
XML := Memo1.Text;
i := Pos(Edit1.Text, XML);
if (i > 0) then begin
while not (XML[i] in ['0'..'9','.']) do
Inc(i);
Edit2.Clear;
repeat
Edit2.Text := Edit2.Text +XML[i];
Inc(i);
until not (XML[i] in ['0'..'9','.']);
end
else
ShowMessage('Kurs nicht gefunden!');
end;



cu
Narses
Einloggen, um Attachments anzusehen!
_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: Gausi, Schosch
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Fr 10.02.12 14:48 
Ahhh, endlich mal ein quelltext mit dem auch ich was anfangen kann :D :D ich werde versuchen den noch ein wenig umzugestalten, weil ich nicht erst manuell einen knoten suchen will, sondern ihn von anfang an schon habe... aber ich glaube das müsste ich hin kriegen :D

Moderiert von user profile iconNarses: Beiträge zusammengefasst

So ich hab das jetzt mal so versucht:
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
var PassNode :TDOMNode;
API: TIdHttp;
Doc: TXMLDocument;
i: Integer;
XML: String;
begin
B_New.Click;
Memo1.Text := IdHTTP1.Get('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');

begin
XML := Memo1.Text;
i := Pos('USD', XML);
if (i > 0) then begin
while not (XML[i] in ['0'..'9','.']) do
Inc(i);
repeat
Waehrungen[9] := Waehrungen[9] + StrToFloat(XML+[i]);
Inc(i);
until not (XML[i] in ['0'..'9','.']);
end
//else
// ShowMessage('Kurs nicht gefunden!');
end;


abr jetzt sagt der mir in zeile 17, dass der operator XML nicht übergeben ist.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic star
Administrator
Beiträge: 8371
Erhaltene Danke: 244

W2k, WXPpro
TP3 - D7pro
BeitragVerfasst: Fr 10.02.12 16:18 
Moin!

user profile iconSchosch hat folgendes geschrieben Zum zitierten Posting springen:
Ahhh, endlich mal ein quelltext mit dem auch ich was anfangen kann
:| Tatsächlich? ;)

user profile iconSchosch hat folgendes geschrieben Zum zitierten Posting springen:
ich werde versuchen den noch ein wenig umzugestalten, weil ich nicht erst manuell einen knoten suchen will, sondern ihn von anfang an schon habe... aber ich glaube das müsste ich hin kriegen
Nun, es macht nicht den Eindruck, dass du überhaupt verstanden hast, was mein Quelltext tut. :gruebel: Vielleicht solltest du erst verstehen, was da passiert und danach umbauen. :nixweiss:

Welchen Teil des Quelltextes hast du denn nicht verstanden? :lupe:

Tipp: Wenn du meinst, du hast schon alles verstanden, dann versuche doch mal eine Funktion zu schreiben, die dir den Wechselkurs zurück liefert (als Double), wenn du das XML (als String) und die gesuchte Währung (als String) lieferst. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Schosch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46

WinXP
Lazarus
BeitragVerfasst: Sa 11.02.12 15:15 
okee, ich hatte die idee, dass ich die wechselkurse in nem edit feld ausgeben lasse, und den inhalt von edit.text mit der typumwandelung strtofloat() in das array eintrage. was an sich ja kein problem ist, nur ist die ausgabe in dem editfeld keine gültige Zahl, weil das Komma als Punkt dargestellt wird und der den punkt halt nicht als komma erkennt. also muss ich befor ich die ausgabe benutzen kann den Punkt durch ein komma ersetzen. Wie muss ich das machen??

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Schon gut, ich habs raus ^^ jetzt muss ich nur noch die werte aus dem editfeld nehmen :D :D endlich ist es geschafft^^

Tausend Dank nochmal, an alles die mir geholfen haben !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home