質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

Q&A

解決済

1回答

1019閲覧

MQL4 ボタンの作成についての質問

y_masa.teratail

総合スコア13

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

0グッド

0クリップ

投稿2022/03/18 15:00

プログラミング初学者です。
MQL4を勉強しており、他の方が作ったコードを見ながら勉強しているのですが、
Buttonの作成についてわからないことがありましたので質問させていただきます。

int Oninit( )
createButton(buttonId, btn_text, btn_Width, btn_Height, btn_Font, btn_FontSize, >btn_background_color, btn_border_color, btn_text_ON_color);…①
ButtonId以降はグローバル領域で定義

現在私が読解しているコードに上記の記載があり、ボタンを作成する関数であるようなのですが、この記述以前に

void CreateButton(string sObjName,string sLabel, int iPoX,int iPoY,int iSizeX, int iSizeY, int iCorner, int iFontSize, color cFontColor , color cBgColor){}…②

といったような関数の定義づけがされていないのはなぜでしょうか。①の記述を踏まえて書くと②となる、ということなのでしょうか。

詳しい方アドバイス頂けると幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

①は、参照ですね。
②は、①を実行することで、行われる実際の関数の中身ですね。

MT4では、②を①の前に記述/定義する必要はなく、 ①の後でも、別ソースの中ででも②があれば問題ないようです。
C言語などでは、①の前に②の型を宣言するか、②の定義が必要ですが。

正しい説明にはなっていないかもしれませんが、こういうことです。

投稿2022/03/19 01:45

編集2022/03/19 01:51
yu-ima

総合スコア249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_masa.teratail

2022/03/20 06:27

ご返信頂き、ありがとうございます。 MQL4ではそういう仕様になっているということなのですね。 もしよろしければ、どうやってこの知識を知ったのか教えていただけると幸いです。 (ネット検索等したのですが、この結論にたどり着けませんでした。)
yu-ima

2022/03/20 09:42 編集

こんにちは。 申し訳ありませんが、多分.....としか言えません。 私は、長年 いろんな言語でソフトを書いてきた者で、 C言語においては、参照の前に必ず定義か、型宣言が必要でした。 MT4を書くようになって それが必ずしも必要で無いことを体現し、そういうことかな? と思いました。 また、変数の定義も実行文の途中でも記述できてしまいますね。 追伸. 別ソースに分けた場合は、参照する側のソースで、型宣言が必要な気がします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問