Errores, fallos, preguntas - página 867

 

Buenas tardes.

Reinstalé el sistema. He instalado MT5 desde cero. Resulta que el servidor de demostración ha cambiado. Ahora es FXCM-MT5Demo01, no sé cuál era el anterior. Así que mi antigua cuenta de demostración no funcionó.

He registrado una nueva cuenta de demostración. Antes, si te desplazas a la izquierda de la historia, la terminará. En este servidor no hay nada en absoluto. He cambiado de plazo y el historial no se descarga.

No hay nada anterior al 02.10.2012. Cuando pruebo algún Asesor Experto estándar del complejo, no se descarga cuando establezco el marco temporal en un año.

Por favor, aconsejen cómo descargar la historia o denme la dirección del antiguo servidor de demostración.

Win 7 Max Rus SP1 x64, el firewall estándar está desactivado, Avast free 7.0.1466 (activar y desactivar) MT5 v.5.00 Build 712 (10/12/2012)

Al abrir la ventana "Acerca de" en MT5, no puedo Alt+Tab.

 
Vladon:

Estaba en el perfil del sitio, estaba lleno y no lo toqué, entonces hoy estaba haciendo el trabajo - y la tableta está en silencio,

Pensé que qué pasaba - luego fui al sitio y mi identificación no estaba allí.

Rellenado uno nuevo, no puedo decir que haya cambiado o no, en mi opinión los números son los mismos.

¿Recibe actualmente alguna notificación?
 
PVOID:
¿Te llegan las notificaciones en este momento?
Sí, después de volver a introducirlo en la página web.
 

¿Quién lo entiende, es este el resultado correcto?

Código:

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

El resultado es:

ShortToString(Var) y CharToString(Var2) funcionaron correctamente, ambos dieron una "A" rusa.

¿Pero por quéStringFormat("%C",Var2) no da una "A" rusa?

Está escrito en la ayuda:

c

int

Tipo de carácter corto (Unicode).

C

int

Tipo de carácter Char (ANSI)

 
Integer:

¿Pero por qué StringFormat("%C",Var2) no da una "A" rusa?

Lo más probable es que StringFormat funcione con UTF-7, y CharToString con el conjunto de caracteres actual de Windows. Por eso da ese resultado.

Por ejemplo:

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

La pregunta que surge es ¿por qué CharArrayToString tiene la opción de seleccionar la página de código, mientras que CharToString no?

 
avoitenko:

Lo más probable es que StringFormat trabaje con UTF-7, por lo que produce este resultado.

Por ejemplo:

À À

La pregunta es ¿por quéCharArrayToString tiene una opción de selección de conjunto de caracteres, pero CharToString no?


Parece ser que sí, pero está escrito en la ayuda sobre ANSI:

C int Carácter (ANSI).

¿Así que lo escrito en la ayuda debe entenderse como "carácter C int de tipo char (ANSI), pero todavía de la tabla UTF"? Lo que no está claro es el significado de tal cosa.

 
Integer:

¿Así que el texto de ayuda debe entenderse como "carácter C int de tipo char (ANSI), pero todavía de la tabla UTF"? El significado de esto no está claro.

Si yo fuera el desarrollador, reemplazaría StringFormat para %C con la codificación actual de Windows en lugar de UTF-7,

para que el resultado sea idéntico a cuando se llama a CharToString.

 
avoitenko:

Si yo fuera el desarrollador, establecería el StringFormat para %C a la codificación actual de Windows en lugar de UTF-7,

para que el resultado sea el mismo que cuando se llama a CharToString.

Y yo que pensaba que sí, ¿tal vez sea un error?
 
Integer:

¿Quién entiende, es este el resultado correcto?


Simplemente traducimos (con comprobación de errores fatales) los parámetros a la función CRT apropiada.
 
Integer:

¿Quién entiende, es este el resultado correcto?

Gracias por plantear la cuestión. Arreglaremos este comportamiento en una de las próximas compilaciones. Habrá una conversión según CP_ACP