[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 608

 
T-G: 最初の行をプログラムでスキップする方法
単純なことです。
FileReadString(ExtCsvHandle);
 
alsu:
単純なことです。
つまり、数えるだけで、どこにも記憶させず、不要なものとして捨てる。
 
alsu:
この例では、パラメータが関数に渡されるときだけが違います。
では、なぜ dellline 関数はこれらの名前を持つ行を最初の variant では削除し、2 番目の variant では削除しないのでしょうか?
 
Fox_RM:
では、なぜ dellline 関数はこれらの名前を持つ行を最初の variant では削除し、2 番目の variant では削除しないのでしょうか?


1) down_line+TimeToStr

2)"ダウンライン_"+TimeToStr

dellline(up_line,down_line);

 
Solree:
私のMTはありません。MQLで書かれたライブラリは1つだけです(stdlib.mq4)。ここで例を挙げていただけますか?
誰にでもあるものです。Look here: ...\MetaTrader 4 ╱Experts ╱Samples ╱DLLSample
 
Zhunko:
みんな持ってる。Look here: ...MetaTrader 4 ╱╱Samples╱DLLSample
場所が違う。ありがとうございます。神出鬼没のVisual C++が必要なようですね。でも、もしかしたらMinGW用のビルド方法を知っている人がいるかも?例題全体をコンパイルしてリンクしようとしたが、見ないし、気にもしない...。
 
Solree:
探す場所を間違えていました。ありがとうございます。神懸かり的なVisual C++が必要になりそうですね。でも、もしかしたらMinGWでビルドする方法を知っている人がいるかも?例題全体をコンパイルしてリンクしようとしたが、見ないし、気にもしない...。
codeblocksの下でmingwですべてうまくビルドしています。具体的にどのような問題があるのでしょうか。
 

以下のような状況で、csvファイルを読み込んでいます。

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

が、csvファイルにはヘッダがあり、最初の余分な行は

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

最初の行をプログラムでスキップする方法、または値を保存するときにプログラムで一般的に削除する方法、それはすべてを台無しにします。

ありがとうございました。

alsu:

単純なことです。

FileReadString(ExtCsvHandle);


ループの前に置くのか? それは混乱する... 私はヘッダーをスキップする必要がある

Time,Value
 
T-G:


ループの前に置くのか? それは混乱する... 私はヘッダーをスキップする必要がある


ループの前に置いたり、ボディに置いたり...。また、なぜ混乱するかというと、ヘッダーが1行目ではないので、いつ遭遇するかわからないことが問題なのでしょうか?
 

例えばこのように、見出しが省略されます。

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);   
      
   }
}