[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 608

 
T-G: cómo saltar la primera línea mediante programación
Es muy sencillo:
FileReadString(ExtCsvHandle);
 
alsu:
Es muy sencillo:
Es decir, sólo cuenta, pero no lo memorices en ningún sitio, descártalo por innecesario.
 
alsu:
En su ejemplo, la única diferencia es cuando los parámetros se pasan a la función
¿Por qué entonces la función dellline borra las líneas con estos nombres en la primera variante, pero no en la segunda?
 
Fox_RM:
¿Por qué entonces la función dellline borra las líneas con estos nombres en la primera variante, pero no en la segunda?


1) down_line+TimeToStr

2) " downline_"+TimeToStr

dellline(up_line, down_line );

 
Solree:
No hay ninguna MT en mi MT. Sólo hay una biblioteca escrita en MQL (stdlib.mq4). ¿Puedes poner un ejemplo?
Todo el mundo tiene uno. Mire aquí: ...\NMetaTrader 4\Nmuestras\NDLLSample
 
Zhunko:
Todo el mundo tiene uno. Mire aquí: ...MetaTrader 4\Nmuestras
Lugar equivocado. Gracias. Parece que necesitas algo de Visual C++. Pero tal vez alguien sabe cómo construir para MinGW? Intentó compilar y enlazar todo el ejemplo, no lo ve, no le importa...
 
Solree:
Estaba buscando en el lugar equivocado. Gracias. Parece que va a necesitar el horrible Visual C++. Pero tal vez alguien sabe cómo construir bajo MinGW? Intentó compilar y enlazar todo el ejemplo, no lo ve, no le importa...
Construyo todo en mingw bajo codeblocks bien. ¿Cuál es exactamente el problema?
 

Por favor, avise que la situación es la siguiente, leo un archivo csv como este

void ReadDate(){
   while(!IsStopped()){
      string dTime = FileReadString(ExtCsvHandle); // читаем строчку 1
      string sValue = FileReadString(ExtCsvHandle); // читаем строчку 2
      Print("Date=",StrToTime(dTime), "Value=",sValue);   
      
   }
}

pero el archivo csv tiene una cabecera, la primera línea extra

Time,Value
15.02.2012 00:00:00;Значение1
15.02.2012 00:01:07;Значение2
15.02.2012 00:02:26;Значение3
15.02.2012 00:00:00;Значение1
15.02.2012 00:01:07;Значение2
15.02.2012 00:02:26;Значение3

como omitir programáticamente la primera línea, o borrar programáticamente en general al guardar un valor se estropea todo.

Gracias de antemano.

alsu:

Es muy sencillo:

FileReadString(ExtCsvHandle);


¿Y dónde debería ponerlo? ¿Antes del bucle? Eso confundiría las cosas... Sólo necesito omitir el encabezado

Time,Value
 
T-G:


¿Y dónde debería ponerlo? ¿Antes del bucle? Eso confundiría las cosas... Sólo necesito omitir el encabezado


Puedes ponerlo antes del bucle, puedes ponerlo en el cuerpo... ¿Y por qué te confunde, el problema es que la cabecera no es la primera línea y no sabes cuándo se va a encontrar?
 

Así, por ejemplo, faltará el titular

void ReadDate(){
   FileReadString(ExtCsvHandle); //Пропускаем 'Time'
   FileReadString(ExtCsvHandle); //Пропускаем 'Value'
   while(!IsStopped()){
      string dTime = FileReadString(ExtCsvHandle); // читаем строчку 1
      string sValue = FileReadString(ExtCsvHandle); // читаем строчку 2
      Print("Date=",StrToTime(dTime), "Value=",sValue);   
      
   }
}
Razón de la queja: