mql5言語の特徴、微妙なニュアンスとテクニック - ページ 198 1...191192193194195196197198199200201202203204205...247 新しいコメント Vitaly Muzichenko 2021.02.27 12:52 #1971 Vladimir Simakov: 更新: x86 アーキテクチャで - cpuid prsessor 命令を追加しました。msvsには__cpuid(int[4],int) と __cpuidex(int[4],int,int) があります。サンプルはオンラインでご覧いただけます。 プロセッサーの情報を破棄することにした - 何も表示されない。 デバイス全体の番号を特定する方法がないので、ディスクというかそのパーティションに落ち着きました。 一つ疑問なのは、データ型が 正しいかどうかです。 #property strict #import "kernel32.dll" bool GetVolumeInformationW(string RootPathName, ushort VolumeNameBuffer, uint VolumeNameSize, uint &VolumeSerialNumber[], uint MaximumComponentLength, uint FileSystemFlags, ushort FileSystemNameBuffer, uint FileSystemNameSize); #import //+------------------------------------------------------------------+ void OnStart() { Print(SystemDriveSerialNumber("C")); //--- } //+------------------------------------------------------------------+ //------------------------------------------------------------------------------------------------------------------- string SystemDriveSerialNumber(string sDrive) { uint iVolumeSerialNumber[1]= {0}; string sVolumeSerialNumber=""; if(GetVolumeInformationW("C:\\", NULL, 15, iVolumeSerialNumber, 0, 0, NULL, 15)) { sVolumeSerialNumber=IntegerToHexString(iVolumeSerialNumber[0]); sVolumeSerialNumber=StringSubstr(sVolumeSerialNumber,0,4)+"-"+StringSubstr(sVolumeSerialNumber,4); } return(sVolumeSerialNumber); } //+-------------------------------- string IntegerToHexString(uint num) { char __hex[]= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int len=0,k=0; char buff[64]; do { uint n=num&0xF; buff[len] = __hex[n]; len++; num>>=4; } while(num!=0); for(; k<len/2; k++) { buff[k]^=buff[len-k-1]; buff[len-k-1]^=buff[k]; buff[k]^=buff[len-k-1]; } return CharArrayToString(buff,0,len); } //+------------------------------------------------------------------+ Valeriy Yastremskiy 2021.02.27 13:20 #1972 Vitaly Muzichenko:プロセッサーの情報を破棄することに決定 - 何も表示されない。デバイス全体の番号を特定する方法がないので、ディスクというかそのパーティションに落ち着きました。一つ疑問があるのですが、データ型は 正しいのでしょうか? マザーボードIDは正しいです。 Vitaly Muzichenko 2021.02.27 15:02 #1973 Valeriy Yastremskiy:マザーボードIDは正しいです。 コード例はありますか、見せてください。 Valeriy Yastremskiy 2021.02.27 15:27 #1974 Vitaly Muzichenko:サンプルコードはありますか、見せてください。 μlの中にボードのシリアルナンバーが見当たらないのですが。 wmic baseboard get serialnumber cmdで Vitaly Muzichenko 2021.02.27 15:51 #1975 Valeriy Yastremskiy:μlのボードのシリアルナンバーを取得する方法がわかりません。wmic baseboard get serialnumber cmdで 私も見つけられませんでした。 Vladimir Simakov 2021.02.27 17:47 #1976 Vitaly Muzichenko:... ひとつ疑問なのは、データ型が 正しく書かれているかということです。 #define BOOL bool #define LPWSTR string& #define LPCWSTR const LPWSTR #define DWORD uint #define LPDWORD DWORD& BOOL GetVolumeInformationW( LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize ); なんとなく) update: mql-signatureに適応されました。 Vitaly Muzichenko 2021.02.27 23:21 #1977 Vladimir Simakov: なんとなく)update: mql-signatureに適応されました。 一度に関数に型を入れればコードが伸びないのに、#define構文を一度適用する意味はあるのでしょうか? Igor Makanu 2021.02.27 23:37 #1978 Vitaly Muzichenko:一度に関数に型を入れればコードが伸びないのに、#define構文を一回使う意味はあるのでしょうか? ポイントは、ネイティブのWinAPI関数シグネチャを読む、または使うことができることです。 Vitaly Muzichenko 2021.02.27 23:44 #1979 Igor Makanu:ネイティブのWinAPI関数シグネチャの読み取りや使用が可能であるという意味で そうかもしれませんが、問題はまさにこれです トレーディング、自動売買システム、ストラテジーテストに関するフォーラム mql5の特性、ヒントとコツ ヴィタリー・ムジチェンコ, 2021.02.28 00:21 一度だけ使われた#define構文は、すぐに関数に型を書けるなら、コードを引き伸ばす こともなく、何のためにあるのでしょうか? ディフェンスのメリットは何かありますか? Vitaly Muzichenko 2021.02.28 00:04 #1980 Vladimir Simakov: なんとなく)update: mql-signatureに適応されました。 WinAPI mqlバイブルにはこんな関数があります。 int GetVolumeInformationW( const string root_path_name, ushort &volume_name_buffer[], uint volume_name_size, uint &volume_serial_number, uint &maximum_component_length, uint &file_system_flags, ushort &file_system_name_buffer[], uint file_system_name_size ); 型が違いますね、C#のものでしょう。 #define BOOL bool #define LPWSTR string& #define LPCWSTR const LPWSTR #define DWORD uint #define LPDWORD DWORD& BOOL GetVolumeInformationW( LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize ); --- そこで質問なのですが、どこが正しいのでしょうか? 1...191192193194195196197198199200201202203204205...247 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
更新: x86 アーキテクチャで - cpuid prsessor 命令を追加しました。msvsには__cpuid(int[4],int) と __cpuidex(int[4],int,int) があります。サンプルはオンラインでご覧いただけます。
プロセッサーの情報を破棄することにした - 何も表示されない。
デバイス全体の番号を特定する方法がないので、ディスクというかそのパーティションに落ち着きました。
一つ疑問なのは、データ型が 正しいかどうかです。
プロセッサーの情報を破棄することに決定 - 何も表示されない。
デバイス全体の番号を特定する方法がないので、ディスクというかそのパーティションに落ち着きました。
一つ疑問があるのですが、データ型は 正しいのでしょうか?
マザーボードIDは正しいです。
マザーボードIDは正しいです。
コード例はありますか、見せてください。
サンプルコードはありますか、見せてください。
μlの中にボードのシリアルナンバーが見当たらないのですが。
wmic baseboard get serialnumber
cmdで
μlのボードのシリアルナンバーを取得する方法がわかりません。
wmic baseboard get serialnumber
cmdで
私も見つけられませんでした。
...
ひとつ疑問なのは、データ型が 正しく書かれているかということです。
なんとなく)
update: mql-signatureに適応されました。
なんとなく)
update: mql-signatureに適応されました。
一度に関数に型を入れればコードが伸びないのに、#define構文を一度適用する意味はあるのでしょうか?
一度に関数に型を入れればコードが伸びないのに、#define構文を一回使う意味はあるのでしょうか?
ポイントは、ネイティブのWinAPI関数シグネチャを読む、または使うことができることです。
ネイティブのWinAPI関数シグネチャの読み取りや使用が可能であるという意味で
そうかもしれませんが、問題はまさにこれです
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
mql5の特性、ヒントとコツ
ヴィタリー・ムジチェンコ, 2021.02.28 00:21
一度だけ使われた#define構文は、すぐに関数に型を書けるなら、コードを引き伸ばす こともなく、何のためにあるのでしょうか?
ディフェンスのメリットは何かありますか?
なんとなく)
update: mql-signatureに適応されました。
WinAPI mqlバイブルにはこんな関数があります。
型が違いますね、C#のものでしょう。
---
そこで質問なのですが、どこが正しいのでしょうか?