Habe mal eine generelle Frage zu einem Problem:
Ich habe zwei identische Grids (realisiert mit KGrids) - der einzige Unterschied besteht darin, dass sie in unterschiedlichen Sheets eines PageControl liegen - Trades1: KGrid bzw. Trades2: KGrid
Das befüllen erfolgt über eine DLL die mit Metatrader verbunden ist - und zwar einmal die OpenOrders und das andere mal die History (geschlossene Trades).
Was ich jetzt umgehgen will ist folgendes: ich möchte dafür nicht mehrere gleiche Prozeduren dafür schreiben, sondern nur eine verwenden.
Ich hatte mir überlegt mit Records zu arbeiten, die ich jeweils an die Prozedur übergebe.
Ist dies sinnvoll oder was ist dafür die beste Lösung?
Ich hoffe das die Beschreibung verständlich ist??!!
Freepascal <-> Metatrader
Re: Freepascal <-> Metatrader
Hallo,
habe gerade folgendes Phänomen festgestellt:
ich habe eine Tabelle mit verschiedenen Werten. Die Werte kommen über eine Liste aus Metatrader.
Jetzt möchte ich einfach nur zwei Werte (Strings) vergleichen:
was läuft da falsch???
habe gerade folgendes Phänomen festgestellt:
ich habe eine Tabelle mit verschiedenen Werten. Die Werte kommen über eine Liste aus Metatrader.
Jetzt möchte ich einfach nur zwei Werte (Strings) vergleichen:
Code: Alles auswählen
var strDummy,symbol,zelle : AnsiString;
<symbol> ermittel ich über auslesen
zelle := initialTrade.Cells[1,initialTrade.ColCount];
R:=AnsiCompareText(zelle,symbol); -> funktioniert nicht R=0
R:=AnsiCompareText('USDCHF','GBPUSD'); -> funktioniert R=1
was läuft da falsch???
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Freepascal <-> Metatrader
mtbf40 hat geschrieben:Code: Alles auswählen
var strDummy,symbol,zelle : AnsiString;
<symbol> ermittel ich über auslesen
zelle := initialTrade.Cells[1,initialTrade.ColCount];
R:=AnsiCompareText(zelle,symbol); -> funktioniert nicht R=0
R:=AnsiCompareText('USDCHF','GBPUSD'); -> funktioniert R=1
was läuft da falsch???
Schau dir doch mal bitte die Werte der beiden Variablen zelle und symbol vor dem Vergleich an. Wenn sie nicht gleich aussehen, solltest du auch nochmal ein wenig tiefer hineinschauen und jedes Byte miteinander vergleichen -- zum Beispiel mit strcomp(). Sollten sie hingegen gleich aussehen, wäre es durchaus möglich, dass sie gleich sind.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Freepascal <-> Metatrader
danke für den Hinweis...
habe den Fehler gefunden - die Variable Zelle wird ausgelesen nach dem <symbol> in die Zelle geschrieben wurde
habe den Fehler gefunden - die Variable Zelle wird ausgelesen nach dem <symbol> in die Zelle geschrieben wurde
Re: Freepascal <-> Metatrader
ich bin's wieder - mit einer neuen Herausforderung:
in dem Anhang habe ich mal versucht die Situation aufzuzeichnen
wie kann man das am effektivsten machen - mit TList/TStringList od. mit Array von Records (über Pointer) od. über Streams
kann mir da jemand auf die Sprünge helfen - mit einer kleinen schematischen Darstellung
in dem Anhang habe ich mal versucht die Situation aufzuzeichnen
wie kann man das am effektivsten machen - mit TList/TStringList od. mit Array von Records (über Pointer) od. über Streams
kann mir da jemand auf die Sprünge helfen - mit einer kleinen schematischen Darstellung