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

 
nadya:
もちろん、変数が適切な型であれば、それは可能です。
セルが1つ。しかし、このように、定数だけで「配列は、カンマで区切られた1次元の定数列で初期化されます。配列は中括弧で囲まれている。"
 
kifa911:
こんにちは、配列の初期化について質問です。とチュートリアルに書かれています。配列は、適切な型の定数のみで初期化 することができます。1次元および多次元配列は、カンマで区切られた定数の1次元シーケンスで初期化されます。配列は中括弧で囲まれている。この場合、私は「一定」という言葉に戸惑います。ある配列のインデックスに、変数経由で値を割り当てることはできないのでしょうか。

の代入は可能ですが、初期化中はできません。

つまり、状況です。

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, 0};
bbb[4] = aaa;

そして、その状況は

int aaa = 4;
int bbb[5] = {0, 1, 2, 3, aaa};

はエラーになる

 
nadya:
もちろん、この変数が適切な型を持っていれば、可能です。

ある関数が、例えば2つのデータの配列を参照渡しする必要があります。

void SomeFunction(int& firstmassive[][3],double& secondmassive[][3])

{

 int iCount=-1,

      ifirst,isecond,ithird;

 double dfirst,dsecond,dthird;

...

 iCount++;

  firstmassive[iCount][0]=ifirst;firstmassive[iCount][1]=isecond;firstmassive[iCount][2]=ithird;

  secondassive[iCount][0]=dfirst;secondmassive[iCount][1]=dsecond;secondmassive[iCount][2]=dthird;

  print("iCount= "+iCount+" firstmassive_2= "+firstmassive[iCount][1]+" isecond= "+isecond);

...

return(0);

}

この機能を解除して動作させると、用語集の「エキスパート」タブに、次のようなメッセージが表示されます。

iCount= 0 firstmassive_2= 0 isecond= =15
iCount= 1 firstmassive_2= 0 isecond= =25
配列には値があるのに、変数の値が渡されていないことが判明しました。私は何か悪いことをしたのだろうか?
 
artmedia70:

プラグインファイル名:GetExstremumZZPrice.mqh ?

ターミナルフォルダTerminal_folder/experts/includeにあります。


名前は同じで、librariesフォルダにあったものがincludedフォルダになりましたが、結果は同じです。
 
kifa911:

ある関数が、例えば2つのデータの配列を参照渡しする必要があります。

この機能を動作させるためにリリースすると、サーマルの「エキスパート」タブに、例えばこのようなメッセージが表示されます。

配列に値があるにもかかわらず、変数値が渡されていないことが判明しました。私は何か悪いことをしたのだろうか?

私はエラーが表示されません。おそらく他の誰かがあなたを助けることができる
 
もう一度、ファイル操作について説明してください。 ファイルに情報を書き込んだ 後、その情報を部分的に削除することは可能ですか?例えば、テキスト文書に何行か書いたとすると、ファイル操作関数を使って不要な行を削除したり、修正したりすることができるのですね。
 
fore-x:
もう一度、ファイル操作について説明してください。ファイルに情報を書き込んだ後、その情報を部分的に削除することは可能ですか?例 えば、テキスト文書に何行か書いたとすると、ファイル操作関数を使って不要な行を削除したり、修正したりすることができるのですね。
できます。
 
Zhunko:
できます。
  if(text != " ") 
    {
    handle = FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE, ';'); //открыл файл
    FileSeek(handle,0,SEEK_SET );                               //переместил указатель   
    while(FileIsEnding(handle)==false)                              
      {
      pos = StringFind(FileReadString(handle),symb, 0);             //нашел нужную строку...  
      if(pos >= 0)break;                                   //...файловый указатель в конце строки
      if(FileIsEnding(handle)==true) break;                            
      }
                                 
      ?????????????????? //тут что делать, как удалить или перезаписать выбранную строку
    
    FileWrite(handle,text);     //записываем новую строку
    FileClose(handle);          //закрываем файл
    }  
ご指導ください。今、私がすべきことは、ラインの先頭に立つこと?それから?
 
kifa911:
こんにちは、配列の初期化について質問です。チュートリアルには、次のように書かれています。配列は、適切な型の定数によってのみ初期化することができる。1次元および多次元配列は、カンマで区切られた定数の1次元シーケンスで初期化されます。配列は中括弧で囲まれている。この場合、私は「一定」という言葉に戸惑います。ある配列のインデックスに、変数経由で値を割り当てることはできないのでしょうか。

つまり、初期化と代入を区別する必要があるのです。
 
Vinin:
昨日や明日のラインを設定したらどうでしょう?

ご清聴ありがとうございました。ラインは任意の日付に設定でき、チャートがそのラインに到達するとEAが起動するのですね。あるいは、私が何か理解していないのかもしれませんが、もしよろしければ説明してください。