从专业人员到超级专业人员的任何问题 - 1。 - 页 22 1...151617181920212223242526272829...45 新评论 Alexander 2011.05.16 20:30 #211 int start() { //---- int massa=100,shag=10,kol=4; perebor(massa,shag,kol); //---- return(0); } //+------------------------------------------------------------------+ void perebor(int massa, int shag, int kol) { int massiv[]; ArrayResize(massiv,kol); int x=kol; int handle = FileOpen("test.csv",FILE_WRITE,' '); recurs(massa,shag,massiv,x,kol,handle); FileClose(handle); } void recurs (int massa, int shag, int & massiv[], int x, int kol, int handle) { int i,y; for(i=0;i<=massa;i+=shag) { if(x-1>0) { massiv[kol-x]=i; recurs(massa-i,shag,massiv,x-1,kol,handle); } else { massiv[kol-x]=massa-i; for(y=0;y<kol;y++) { FileWrite(handle,y," - ",massiv[y]); } return; } } } Vasiliy Sokolov 2011.05.17 17:05 #212 非常感谢您提供的代码。不过我很难理解它是如何工作的:) Alexander 2011.05.17 17:55 #213 你正确地写道,该问题应以递归方式解决。有一定数量的元素。只要该元素不是最后一个,该函数就会以先前迭代中所有增量的值减少的质量值进入自身。在最后一个元素上,只需计算最后的剩余量并打印。 --- 2011.05.30 00:33 #214 我在功能上缺少什么,以至于按钮不可见? 它是DLL中的一个函数。 #define IDB_BUTTON 6500 //------------------------------------------------------------------ int __stdcall CreateBtn(int hWnd) { HWND wnd=(HWND)hWnd; // хендл окна чарта HWND pwnd=GetParent(wnd); // получили родителя для создания кнопки ShowWindow(wnd, SW_HIDE); // скрыли чарт // создали кнопку HWND btn=CreateWindow("Button", "DLL BUTTON", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON, 15, 15, 100, 100, pwnd, (HMENU)IDB_BUTTON, (HINSTANCE)GetModuleHandle(NULL), NULL); ShowWindow(btn, SW_SHOW); // показали кнопку UpdateWindow(btn); // нарисовали на ней текст (для проверки что окно кнопки существует) HDC hdc = GetDC(btn); TextOut(hdc, 0, 0, (LPSTR)"String", 6); ReleaseDC(btn, hdc); RECT Rect; GetWindowRect(btn, &Rect); // получили размер return(Rect.right-Rect.left); // вернули для проверки размера } 当从脚本中调用 该函数 时,一切都很顺利。 顶部的图表显示了文本"String",函数本身返回正确的按钮宽度数字100。 但这个按钮是不可见的。 ------------- ZS 找到了问题所在--忘记做UpdateWindow 。 谢谢大家 :) Parkhomenko 2011.06.28 09:28 #215 如何在MT5中禁用图表上的新闻???? --- 2011.06.28 12:09 #216 parkhomenko: 如何禁用MT5中显示在图表上的新闻???? 这里 最了解 Igor Makanu 2011.07.01 19:49 #217 你对如何从MT4调用 "记事本 "有什么想法吗? 我厌倦了将数据存储在.txt中,然后用手打开它(用鼠标)。 我想在完成计算后打开记事本文件 ...МТ4\experts\files\data.txt。 谢谢 --- 2011.07.01 19:53 #218 #import "shell32.dll" int ShellExecuteA(int hwnd, string oper, string prog, string param, string dir, int show); #import ShellExecuteA(0, "Open", "notepad.exe", "data.txt", TerminalPath()+"\\experts\\files", 3); [Deleted] 2011.07.02 23:12 #219 如何按条件将加号改为减号? 从小说界看来,如果加号或减号有一个int整数类型的值,你可以设置int pl = +;)) 也许有一个选项....... if(......) + ; else -; --- 2011.07.02 23:32 #220 Martingeil: 如何通过条件将加号改为减号? 选择S=1或S=-1,然后将所需值乘以S 比如说像这样。 double S(bool b) { if (b) return(1); else return(-1); } a=123; Print(a*S(a<0)) Print(a*S(a==123)) 1...151617181920212223242526272829...45 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在功能上缺少什么,以至于按钮不可见?
它是DLL中的一个函数。
当从脚本中调用 该函数 时,一切都很顺利。
顶部的图表显示了文本"String",函数本身返回正确的按钮宽度数字100。
但这个按钮是不可见的。
-------------
ZS
找到了问题所在--忘记做UpdateWindow 。
谢谢大家 :)
如何禁用MT5中显示在图表上的新闻????
这里 最了解
你对如何从MT4调用 "记事本 "有什么想法吗?
我厌倦了将数据存储在.txt中,然后用手打开它(用鼠标)。 我想在完成计算后打开记事本文件 ...МТ4\experts\files\data.txt。
谢谢
如何按条件将加号改为减号?
从小说界看来,如果加号或减号有一个int整数类型的值,你可以设置int pl = +;))
也许有一个选项.......
如何通过条件将加号改为减号?
选择S=1或S=-1,然后将所需值乘以S
比如说像这样。