エラー、バグ、質問 - ページ 327 1...320321322323324325326327328329330331332333334...3185 新しいコメント DenisR 2011.03.07 07:58 #3261 mrProF: 一見すると、ファイル全体が str...に書き込まれているように見えます。 FILE_ANSIフラグを追加、デフォルトでunicodeを読み込むため:) また、最後に空白行があるので、iは15になります。 MQL5のドキュメントによると、FileReadString関数は「ファイルポインタの現在の位置でファイルから文字列を読み取る」そうです。csv-fileから読み込む場合、現在の位置から最も近いセパレータまで、または文字列の終わりの符号まで読み込まれます".だから、「ファイル全体が書き込まれる」というのは反対です。FILE_ANSIを使用してみましたが、うまくいきません。最後の空行について:よくわからないのですが、どの行のことか説明してください。 Дмитрий Александрович 2011.03.07 08:05 #3262 DenisR:MQL5のドキュメントに よると、FileReadString関数は「ファイルポインタの現在の位置から文字列を読み取る」そうです。csvファイルから読み込む場合、現在の位置から最も近いセパレータまで、またはテキスト文字列の終わりまで読み込まれます。だから、「ファイル全体が書き込まれる」というのは反対です。FILE_ANSIを使用してみましたが、うまくいきません。最後の空文字列について:よく理解できないのですが、どの文字列のことを指しているのか明確にしてください。 カンマを正しく見つけるかどうかです。エンコーディングが一致しないと、カンマを見ないことがあります。 デバッガで見てみます。 あなたのコードをコピーし、フラグを追加しました - すべてがOKです。 Дмитрий Александрович 2011.03.07 08:13 #3263 で、結果はというと、こんな感じです。 ansiがないとアブラカダブラと読み、カンマを見ないとファイルの末尾に飛んでいってしまうのです。 ansiでは、問題なく読み取れます。 添付ファイルをご覧ください。 ファイル: 07x03.jpg 194 kb 07u03_file_ansi.jpg 205 kb 07203_empty_line.jpg 158 kb Alexey Da 2011.03.07 08:15 #3264 -Alexey-: MetaEditorでは、「ファイル内の関数一覧」ボタンで一覧が表示されます。下にスクロールすると、Rの文字までのクラスがありますが、Pで終わり、それ以上動きません(下向きの黒い三角形が非アクティブになります)。修正お願いします。もっと詳しく知りたい。ビルド、ファイル、解像度...ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。 DenisR 2011.03.07 08:23 #3265 mrProF: で、結果はというと、こんな感じです。 ansiがないとアブラカダブラと読み、カンマを見ずにファイルの末尾に飛んでしまうのです。 ansiでは、問題なく読み取れます。 添付ファイルをご覧ください。 ansiからは(5 505 1009)と読み取れます。つまり、iは何らかの理由で0ではなく5になり、ファイルサイズは 以前と同じ505、FileTellは以前と同じ1009になります。MT4では、同じスクリプトが(15 505 505)と表示されます。 削除済み 2011.03.07 08:29 #3266 alexvd:より詳細な情報が必要です。ビルド、ファイル、解像度...ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。Interesting: そして、少なくともおおよそのリストサイズとは?リストの大きさには限界があるのかもしれませんが...。 -アレクセイちょうど100行。 面白いですね。 私のライブラリの1つ(110の関数)で実験したところ、リストに100から106まで表示されました(常に異なる数字、ただし110ではない)。最後のビルドは、行数が100を超えると問題が発生するようです。ChartObject.mqhは、62行しかありません。解像度1680x1050。Windows7では、フォントスキームは拡大フォントです。 Дмитрий Александрович 2011.03.07 08:31 #3267 DenisR: ansiからは(5 505 1009)と読み取れます。つまり、iは何らかの理由で0ではなく5になり、ファイルサイズは以前と同じ505、FileTellは以前と同じ1009になります。MT4では、同じスクリプトが(15 505 505)と表示されます。 うーん、私のは155091009ですね。//+------------------------------------------------------------------+ //| test.mq5 | //| mrProF | //| http:// | //+------------------------------------------------------------------+ #property copyright "mrProF" #property link "http://" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() {int handle; ulong i, size; double _Ask, _Bid; string str; handle = FileOpen("test.csv",FILE_CSV|FILE_READ|FILE_ANSI,','); if (handle != INVALID_HANDLE) { size = FileSize(handle); for (i = 0; i < size; i++) { str = FileReadString(handle); _Ask = FileReadNumber(handle); _Bid = FileReadNumber(handle); if (FileIsEnding(handle)) { Print(i," ",size," ",FileTell(handle)); break; } } } FileClose(handle); return; } //+------------------------------------------------------------------+ 一行ずつデバッグしてみてください。 DenisR 2011.03.07 08:39 #3268 mrProF: うーん、155091009はあるんだけどなー。 私も最初は15 505 1009だったのですが、端末が最新版(408)にアップデートされ、5 505 1009になりました。しかし、いずれにせよ、ファイルの終了記号は、ファイル自体のサイズより大きくすることはできません。それが今の私の一番の関心事です。 削除済み 2011.03.07 08:47 #3269 alexvd:より詳細な情報が必要です。ビルド、ファイル、解像度...ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。ビルド404と408、Win XP Prof SP3、3.0GHz CPUと3.0Gb RAMを搭載しています。文字サイズや その他の設定(色を除く)は標準的なものです。アクションは以下の通りです。1.ライブラリやその他のプログラムモジュールを作成する。2.100を超えなければならない手続きと関数のセットを生成する。私の場合、110でした(移行ライブラリをコケにした)。具体的には、関数は110個で、約3310行の大きさのモジュールが出来上がりました。3.モジュールをコンパイルする。4.機能一覧に目を通すようにしています。リストには100から106の関数が表示されました(再コンパイルするたびに関数の数や構成が異なります)。最初は106の機能名が表示され、だんだん数が減っていく。同時に、110の機能すべてがリストに載ることはなかった。追記もうひとつ不思議だったのは、最初のコンパイルで何個の関数(50個以下であることは確かです)が出てこなくなり、2、3回再コンパイルしなければならなくなったことです。リストの形成順序を変えて、例えばグループメニューの形で個々のクラスを割り当てるか(「詰め」クラスを別リストに表示)、Delphiのように別のマネージャーを組織するか(このような要望の議論はすでにフォーラムで行われています)。 Alexey Da 2011.03.07 08:47 #3270 -Alexey-:alexvd:より詳細な情報が必要です。ビルド、ファイル、解像度...ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。 Bild lastは、行数が100を超えると問題が発生するようです。ChartObject.mqhは、62行しかありません。解像度1680x1050。Windows7では、フォントスキームは拡大フォントです。はい、再現しました。ありがとうございます、見てみましょう。 1...320321322323324325326327328329330331332333334...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
一見すると、ファイル全体が str...に書き込まれているように見えます。
FILE_ANSIフラグを追加、デフォルトでunicodeを読み込むため:)
また、最後に空白行があるので、iは15になります。
MQL5のドキュメントに よると、FileReadString関数は「ファイルポインタの現在の位置から文字列を読み取る」そうです。csvファイルから読み込む場合、現在の位置から最も近いセパレータまで、またはテキスト文字列の終わりまで読み込まれます。だから、「ファイル全体が書き込まれる」というのは反対です。FILE_ANSIを使用してみましたが、うまくいきません。最後の空文字列について:よく理解できないのですが、どの文字列のことを指しているのか明確にしてください。
デバッガで見てみます。
あなたのコードをコピーし、フラグを追加しました - すべてがOKです。
ansiがないとアブラカダブラと読み、カンマを見ないとファイルの末尾に飛んでいってしまうのです。
ansiでは、問題なく読み取れます。
添付ファイルをご覧ください。
MetaEditorでは、「ファイル内の関数一覧」ボタンで一覧が表示されます。下にスクロールすると、Rの文字までのクラスがありますが、Pで終わり、それ以上動きません(下向きの黒い三角形が非アクティブになります)。修正お願いします。
もっと詳しく知りたい。
ビルド、ファイル、解像度...
ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。
で、結果はというと、こんな感じです。
ansiがないとアブラカダブラと読み、カンマを見ずにファイルの末尾に飛んでしまうのです。
ansiでは、問題なく読み取れます。
添付ファイルをご覧ください。
より詳細な情報が必要です。
ビルド、ファイル、解像度...
ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。
そして、少なくともおおよそのリストサイズとは?リストの大きさには限界があるのかもしれませんが...。
-アレクセイ
ちょうど100行。
面白いですね。
私のライブラリの1つ(110の関数)で実験したところ、リストに100から106まで表示されました(常に異なる数字、ただし110ではない)。
最後のビルドは、行数が100を超えると問題が発生するようです。ChartObject.mqhは、62行しかありません。解像度1680x1050。Windows7では、フォントスキームは拡大フォントです。
ansiからは(5 505 1009)と読み取れます。つまり、iは何らかの理由で0ではなく5になり、ファイルサイズは以前と同じ505、FileTellは以前と同じ1009になります。MT4では、同じスクリプトが(15 505 505)と表示されます。
一行ずつデバッグしてみてください。
うーん、155091009はあるんだけどなー。
より詳細な情報が必要です。
ビルド、ファイル、解像度...
ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。
ビルド404と408、Win XP Prof SP3、3.0GHz CPUと3.0Gb RAMを搭載しています。
文字サイズや その他の設定(色を除く)は標準的なものです。
アクションは以下の通りです。
1.ライブラリやその他のプログラムモジュールを作成する。
2.100を超えなければならない手続きと関数のセットを生成する。私の場合、110でした(移行ライブラリをコケにした)。
具体的には、関数は110個で、約3310行の大きさのモジュールが出来上がりました。
3.モジュールをコンパイルする。
4.機能一覧に目を通すようにしています。
リストには100から106の関数が表示されました(再コンパイルするたびに関数の数や構成が異なります)。最初は106の機能名が表示され、だんだん数が減っていく。
同時に、110の機能すべてがリストに載ることはなかった。
追記
もうひとつ不思議だったのは、最初のコンパイルで何個の関数(50個以下であることは確かです)が出てこなくなり、2、3回再コンパイルしなければならなくなったことです。
リストの形成順序を変えて、例えばグループメニューの形で個々のクラスを割り当てるか(「詰め」クラスを別リストに表示)、Delphiのように別のマネージャーを組織するか(このような要望の議論はすでにフォーラムで行われています)。
alexvd:
より詳細な情報が必要です。
ビルド、ファイル、解像度...
ChartObject.mqh ファイルで試したところ、上下にスクロールするようになりました。
Bild lastは、行数が100を超えると問題が発生するようです。ChartObject.mqhは、62行しかありません。解像度1680x1050。Windows7では、フォントスキームは拡大フォントです。
はい、再現しました。
ありがとうございます、見てみましょう。