¿Por qué no funciona el indicador de noticias en Windows 7? - página 3

 
ver mi correo electrónico personal, pero es sólo para esta semana
 

¿es así como se supone que debe ser?

Archivos adjuntos:
news_1.mq4  18 kb
 
Abzasc:

¿es este el aspecto que debe tener?


Bueno, a grandes rasgos ) Sólo que parece que tienes las etiquetas de las líneas duplicadas en cada subventana.
 
alexx_v:
Bueno a grandes rasgos ) Sólo que parece que tienes las letras de las líneas duplicadas en cada subventana.

Entonces es más fácil abrir una ventana separada para el indicador :) No sé dónde cambiar, lo intentaré mañana.

También pensando como Mischek. El archivo se llama ahora Calendar-08-01-2010.csv, así que tendré que copiar una nueva dirección aquí cada semana

y el cambio en el código en esta pieza

// -----------------------------------------------------------------------------------------------------------------------------
string LoadNews(datetime curr_time)
{ 
  bool reload = false;
  int pos = 0, pos1 = 0;
  int file = 0, file2 = 0;
  string str = "", str2 = "";
// ---------- название ФАЙЛА
  file = FileOpen("Calendar-08-01-2010.csv", FILE_BIN|FILE_READ);
  if(file!=-1)
  {
    FileClose(file); 
// ---------- название ФАЙЛА
    str2 = ReadFile("Calendar-08-01-2010.csv");
        
    pos = StringFind(str2, "\n");
    int cache_time = StrToTime(StringSubstr(str2, 0, pos));
    str2 = StringSubstr(str2, pos+2);

    if(cache_time<=curr_time-update*60) reload = true;
  }
  else reload = true;

  LastUpdate = curr_time;
  if(reload)
  {
// ---------- АДРЕС
    str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-08-01-2010.csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);
    if(str == "") return(0);
    Str_Replace("\n\n", "\n", str);
    str = StringTrimRight(str);

// ---------- название ФАЙЛА
    WriteFile("Calendar-08-01-2010.csv", TimeToStr(curr_time, TIME_DATE|TIME_SECONDS)+"\n"+str);
  }  
  else
    str = StringTrimRight(str2);
  return (str);  
}

// -----------------------------------------------------------------------------------

actualizar

Falló en un lugar, aunque funcionó :)

Archivos adjuntos:
news_2.mq4  18 kb
 

No, no, no...

// -----------------------------------------------------------------------------------------------------------------------------
string LoadNews(datetime curr_time)
{ 
  bool reload = false;
  int pos = 0, pos1 = 0;
  int file = 0, file2 = 0;
  string str = "", str2 = "";
// ---------- название ФАЙЛА
  file = FileOpen("news.csv", FILE_BIN|FILE_READ);
  if(file!=-1)
  {
    FileClose(file); 
// ---------- название ФАЙЛА
    str2 = ReadFile("news.csv");
        
    pos = StringFind(str2, "\n");
    int cache_time = StrToTime(StringSubstr(str2, 0, pos));
    str2 = StringSubstr(str2, pos+2);

    if(cache_time<=curr_time-update*60) reload = true;
  }
  else reload = true;

  LastUpdate = curr_time;
  if(reload)
  {
// ---------- АДРЕС
    str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-08-01-2010.csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);
    if(str == "") return(0);
    Str_Replace("\n\n", "\n", str);
    str = StringTrimRight(str);
    WriteFile("news.csv", TimeToStr(curr_time, TIME_DATE|TIME_SECONDS)+"\n"+str);
  }  
  else
    str = StringTrimRight(str2);
  return (str);  
}

// -----------------------------------------------------------------------------------
Creo que eso es lo que deberíamos hacer, de lo contrario leemos los datos y los escribimos en news.csv, y luego intentamos leer desde Calendar-08-01-2010.csv, pero ¿lo guardamos en algún sitio?
 
Ya está, menos mal que me lo perdí ). Pues no creo que merezca la pena cambiarlo, porque ahora sería más fácil hacer una "muleta" - una variable externa, donde escribir la nueva fecha al inicio de la nueva semana y sustituirla en la dirección de la consulta a mano
 
alexx_v:

No, no, no...

Creo que eso es lo que deberíamos hacer, de lo contrario leemos los datos y los escribimos en news.csv, y luego intentamos leer desde Calendar-08-01-2010.csv, pero ¿lo guardamos en algún sitio?
No funciona así, así es como empecé :)
 
alexx_v:
Ya está, menos mal que me lo perdí ). Pues no creo que merezca la pena cambiarlo, porque ahora sería más fácil hacer una "muleta" - una variable externa, donde escribir la nueva fecha al inicio de la nueva semana y sustituirla en la dirección de la consulta a mano
Sí, probablemente la opción más fácil.
 
Abzasc:
No funciona así, por ahí empecé yo :)
Hmmm. Devuelto news.csv - reiniciado - funcionó... Maravilloso :)
 

aquí vamos:

extern string кастыль= "08-01-2010";

y la dirección de la consulta en consecuencia:

str = ReadWebPage("http://cdn.dailyfx.com/files/Calendar-"+кастыль+".csv?week=&sort=dateDesc&timezone=&currency=|&importance=|&time="+curr_time);

parece funcionar, mientras podamos arreglárnoslas con esto.

---

Ahora está haciendo todas las noticias para todas las monedas, el antiguo filtro no funciona.