Fehler, Irrtümer, Fragen - Seite 867

 

Guten Tag.

Das System wurde neu installiert. Ich habe MT5 von Grund auf neu installiert. Wie sich herausstellte, hat sich der Demoserver geändert. Es ist jetzt FXCM-MT5Demo01, ich weiß nicht, was vorher die alte Version war. Mein altes Demokonto hat also nicht funktioniert.

Ich habe ein neues Demokonto registriert. Wenn Sie vorher nach links scrollen, wird die Geschichte beendet. Auf diesem Server gibt es überhaupt nichts. Ich habe den Zeitrahmen gewechselt und der Verlauf wird nicht heruntergeladen.

Vor dem 02.10.2012 gibt es nichts. Wenn ich einen Standard-Expert Advisor des Komplexes teste, wird er nicht heruntergeladen, wenn ich den Zeitrahmen auf ein Jahr einstelle.

Bitte teilen Sie mir mit, wie ich die Geschichte herunterladen kann, oder geben Sie mir die Adresse des alten Demoservers.

Win 7 Max Rus SP1 x64, Standard-Firewall ist deaktiviert, Avast free 7.0.1466 (ein- und ausschalten) MT5 v.5.00 Build 712 (10/12/2012)

Wenn ich das Fenster "Über" in MT5 öffne, kann ich nicht Alt+Tab drücken.

 
Vladon:

Ich war in der Website-Profil, es war voll und ich habe es nicht berühren, dann heute war ich tun Arbeit - und die Tablette ist still,

Ich dachte, was ist los - dann ging ich auf die Website und meine ID war nicht da.

Ich habe ein neues Formular ausgefüllt, ich kann nicht sagen, ob es sich geändert hat oder nicht, meiner Meinung nach sind die Zahlen die gleichen.

Erhalten Sie derzeit irgendwelche Benachrichtigungen?
 
PVOID:
Bekommen Sie die Benachrichtigungen im Moment?
Ja, nachdem ich sie erneut auf der Website eingegeben habe.
 

Wer weiß, ob dies das richtige Ergebnis ist?

Code:

   ushort Var=1040;
   Alert("1: "+StringFormat("%c",Var));
   
   uchar Var2=192;
   Alert("2: "+StringFormat("%C",Var2));   
   
   Alert("3: "+ShortToString(Var)+" "+CharToString(Var2));

Das Ergebnis ist:

ShortToString(Var) und CharToString(Var2) funktionierten korrekt, beide ergaben ein russisches "A".

Aber warum ergibtStringFormat("%C",Var2) nicht ein russisches "A"?

Dies ist in der Hilfe beschrieben:

c

int

Kurzer (Unicode) Zeichentyp.

C

int

Char (ANSI) Zeichentyp

 
Integer:

Aber warum ergibt StringFormat("%C",Var2) nicht ein russisches "A"?

Wahrscheinlich arbeitet StringFormat mit UTF-7, und CharToString mit dem aktuellen Windows-Zeichensatz. Deshalb ist das Ergebnis auch so gut.

Zum Beispiel:

uchar ar[1];
ar[0]=192;
Print(CharArrayToString(ar,0,WHOLE_ARRAY,CP_UTF7)," ",CharArrayToString(ar,0,WHOLE_ARRAY,CP_ACP));
À À

Es stellt sich die Frage, warum CharArrayToString die Möglichkeit hat, die Codepage auszuwählen, während CharToString dies nicht tut?

 
avoitenko:

StringFormat arbeitet höchstwahrscheinlich mit UTF-7, weshalb es dieses Ergebnis liefert.

Zum Beispiel:

À À

Die Frage ist, warumCharArrayToString hat eine Zeichensatzauswahl Option, aber CharToString nicht?


Es scheint so zu sein, aber es ist in der Hilfe über ANSI geschrieben:

C int Char (ANSI) Zeichen.

So in der Hilfe geschrieben sollte als "C int Zeichen von char (ANSI) Typ, aber immer noch von UTF-Tabelle" verstanden werden? Was so etwas bedeutet, ist nicht klar.

 
Integer:

Der Hilfetext ist also als "C int-Zeichen vom Typ char (ANSI), aber noch aus der UTF-Tabelle" zu verstehen? Was das zu bedeuten hat, ist nicht klar.

Wäre ich der Entwickler, würde ich StringFormat für %C durch die aktuelle Windows-Kodierung anstelle von UTF-7 ersetzen,

so dass das Ergebnis identisch mit dem des Aufrufs von CharToString wäre.

 
avoitenko:

Wäre ich der Entwickler, würde ich das StringFormat für %C auf die aktuelle Windows-Kodierung anstelle von UTF-7 setzen,

so dass das Ergebnis dasselbe ist wie beim Aufruf von CharToString.

Und ich dachte schon, vielleicht ein Fehler?
 
Integer:

Wer weiß, ob das das richtige Ergebnis ist?


Wir übersetzen einfach (mit fataler Fehlerprüfung) die Parameter in die entsprechende CRT-Funktion.
 
Integer:

Wer weiß schon, ob das das richtige Ergebnis ist?

Vielen Dank, dass Sie das Thema angesprochen haben. Wir werden dieses Verhalten in einem der nächsten Builds beheben. Es erfolgt eine Umrechnung gemäß CP_ACP