<ruby id="jnjjj"><b id="jnjjj"></b></ruby>

    <p id="jnjjj"><cite id="jnjjj"><dfn id="jnjjj"></dfn></cite></p>

    <ruby id="jnjjj"></ruby>

    <p id="jnjjj"></p>
        <del id="jnjjj"><mark id="jnjjj"></mark></del>
        <del id="jnjjj"><mark id="jnjjj"><progress id="jnjjj"></progress></mark></del>

          <address id="jnjjj"><pre id="jnjjj"></pre></address>

              <ruby id="jnjjj"><mark id="jnjjj"></mark></ruby>

              <pre id="jnjjj"></pre>
                <p id="jnjjj"></p>
                <pre id="jnjjj"><mark id="jnjjj"><thead id="jnjjj"></thead></mark></pre><output id="jnjjj"><cite id="jnjjj"></cite></output><p id="jnjjj"><mark id="jnjjj"></mark></p>

                <pre id="jnjjj"></pre>
                  <p id="jnjjj"></p>
                      當前位置:小豆培訓網 > 電腦IT > 程序開發

                      aardioRuby可視化快速開發獨立EXE桌面程序

                      分類:程序開發 地區:香港 時間: 閱讀: 修改

                      aardioRuby可視化快速開發獨立EXE桌面程序 今天小豆培訓網學歷教育小編就來給大家簡單介紹一下。

                      aardio 可以方便地調用 Buby,支持系統自帶 Ruby 環境。如果沒有安裝 Ruby ,aardio 會自動安裝。所以 aardio Ruby 開發的軟件可以生成體積較小的獨立 EXE 文件。

                      用 aardio 執行 Ruby 代碼

                      用法很簡單,aardio 代碼示例:

                      import win.ui;var winform = win.form(text="執行Ruby代碼")winform.add(edit={cls="edit";left=26;top=16;right=737;bottom=435;edge=1;multiline=1})import process.ruby;//執行 Ruby 代碼var out = process.ruby.exec("puts '測試UTF-8'")winform.edit.print(out);//解析 Ruby 表達式并返回為 aardio 對象var out = process.ruby.eval(`[1, 2, { name: "tanaka", age: 19 }]`)winform.edit.print(out);winform.show();win.loopMessage();

                      在 aardio 中運行上面的代碼:

                      aardioRuby可視化快速開發獨立EXE桌面程序

                      process.ruby.exe() 以管道方式打開 Ruby 進程執行 Ruby 代碼,第一個參數可以是 *.rb 代碼文件路徑,也可以直接指定 Ruby 代碼。可以添加不定個數啟動參數,也可以在一個字符串參數中寫多個啟動參數。

                      process.ruby.eval() 可以解析第一個字符串參數指定的 Ruby 表達式的值,返回值會自動轉換為純 aardio 對象。

                      CGI 調用 Ruby

                      import win.ui;var winform = win.form(text="Ruby cgi")var code = /*require 'cgi'cgi = CGI.newputs cgi.headerputs "This is a test"*///創建測試文件string.save("/res/index.rb",code);//啟動嵌入式 HTTP 服務器,自動分配空閑服務端口import process.ruby.simpleHttpServer;var url = process.ruby.simpleHttpServer.startUrl("/res/index.rb");//創建瀏覽器控件顯示網頁import web.form;var wb = web.form(winform);wb.go(url);winform.show();win.loopMessage();

                      process.ruby.simpleHttpServer 基于 aardio 標準庫 wsock.tcp.simpleHttpServer 創建了一個嵌入式的多線程 HTTP 服務器,自動分配空閑服務端口,不會與其他程序沖突,在程序退出時此 HTTP 服務器會自動退出。很省心不需要寫多余的代碼。

                      上面的 "/res/index.rb" 可以放到工程資源目錄下,發布的時候能生成獨立 EXE 文件。

                      aardioRuby可視化快速開發獨立EXE桌面程序

                      創建 Ruby 交互解釋器

                      aardio 代碼示例:

                      import consoleconsole.setTitle("Ruby 交互解釋器");import process.ruby;process.ruby.cmd("irb");

                      按 Ctrl D 或者輸入 exit 以后回車可以退出。

                      執行 Rake 命令

                      import win.ui;/*DSG{{*/var winform = win.form(text="執行Rake命令")winform.add(edit={cls="edit";left=26;top=16;right=737;bottom=435;edge=1;multiline=1;z=1})/*}}*/var rakefile = /*task :purchaseAlcohol,[:arg1, :arg2] do |t, args| puts "#{args[:arg1].to_i args[:arg2].to_i}"end*///創建測試文件string.save("/rakefile",rakefile )import process.ruby;var result,err = process.ruby.rake("purchaseAlcohol[123,2]");winform.edit.print(result,err);winform.show();win.loopMessage();

                      process.ruby.rake() 創建進程管道運行 rake 命令,返回值分別為:標準輸出,錯誤輸出。

                      第一個參數指定 rake 命令。可選自第二個參數開始指定其他命令行參數。多個命令行參數自動合并,不在雙引號內、且包含空白或需要轉義的參數轉義處理后首尾自動添加雙引號。

                      需要先在工作目錄下創建 rakefile 。可以用 process.ruby.workDir 指定 Ruby 工作目錄。默認工作目錄為 "/" ,"/" 在 aardio 中表示應用程序根目錄(開發時為工程根目錄,發布后為 EXE 所在目錄 )。

                      用 aardio 可視化開發圖形界面

                      用 aardio Ruby 混合開發的主要目的是為了使用 aardio 的可視化開發圖形界面。

                      aardioRuby可視化快速開發獨立EXE桌面程序

                      如果不熟悉 aardio ,建議先看一遍 aardio 開始頁的《 aardio 編程語言快速入門——語法速覽 》。aardio 開發界面很簡單,相關教程、范例、開源項目也很多,這里就不多講了。

                      1、C# 怎么樣可以關閉非主窗體,同時關閉整個程序(進程)

                      不把Login設置成主窗體,把登錄后的窗體設置為主窗體在主窗體的Load事件處理方法中加載Login窗體,并把主窗體的visible屬性設置為false加載Login的時候把主窗體的句柄傳給它關閉Login的時候,把住窗體的visible屬性設置為true關閉登錄后的窗體,程序就關閉了 查看原帖>>

                      2、怎么用c語言寫窗體程序

                      步驟:1、注冊窗口類;2、創建窗體;3、消息循環;4、編寫窗口消息處理函數。

                      代碼:

                      #include <windows.h>#include<tchar.h>LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow){    WNDCLASS wc;    wc.style = CS_HREDRAW | CS_VREDRAW;    wc.lpfnWndProc = WindowProc;    wc.cbClsExtra = 0;    wc.cbWndExtra = 0;    wc.hInstance = hInstance;    wc.hIcon = NULL;    wc.hCursor = LoadCursor(NULL,IDC_ARROW);    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();    wc.lpszMenuName = NULL;    wc.lpszClassName = _T("MyWindowClass");    if (!RegisterClass(&wc))    {        MessageBox (NULL, _T("無法注冊窗口類"), _T("錯誤"), MB_OK);        return 0 ;    }    HWND newWindow = CreateWindow(                                        _T("MyWindowClass"),                                        _T("我的第一個winapi程序"),                                        WS_OVERLAPPEDWINDOW,                                        0,                                        0,                                        CW_USEDEFAULT,                                        CW_USEDEFAULT,                                        NULL,                                        NULL,                                        hInstance,                                        NULL                                    );    if (NULL == newWindow)    {        MessageBox (NULL, _T("無法創建窗體"), _T("錯誤"), MB_OK);        return 0;    }    ShowWindow(newWindow, nCmdShow);    UpdateWindow(newWindow);    MSG msg;    while(GetMessage(&msg, NULL, 0, 0))    {        TranslateMessage(&msg);        DispatchMessage(&msg);    }}    LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)    {        switch (uMsg)        {            case WM_DESTROY:            {                PostQuitMessage(0);                break;            }            default :                return DefWindowProc(hwnd, uMsg, wParam, lParam);        }        return 0;    }

                        

                      就是一個只有標題欄、關閉按鈕、最小化按鈕、最大化/還原按鈕、顯示區域的窗體。

                      3、html5能開發windows窗體程序嗎?

                      一般來說,html5的功能展示是依賴于瀏覽器的。瀏覽器提供了多少可調用的接口,使用html5就可以實現多少功能。但是瀏覽器一般不會實現html5完全訪問或控制本地資源的權限,所以實現的功能還是有限的。x0dx0a不過目前也有許多通過html5+css+js甚至結合其他語言實現的桌面程序。例如目前可以采用的方案舉幾個例子:x0dx0a1、Node-WebKitx0dx0a1.1Node-WebKit能把HTML5應用打包成本地桌面應用,在Windows、Linux或Mac平臺上,不需要其它依賴就可以獨立運行你的HTML5應用。x0dx0a1.2支持Node.js。可以使用Node.js的所有模塊來開發app或游戲。不僅可以使用Node.js原生的模塊,而且可以使用第三方的node.js模塊。x0dx0a2、heX是網易有道團隊的一個開源項目,允許采用前端技術(HTML,CSS,JavaScript)開發桌面應用軟件的跨平臺解決方案。這個項目目前處于停滯狀態。x0dx0a3、自己開發一下基于瀏覽器框架的應用。例如基于谷歌瀏覽器核心,前端使用瀏覽器渲染功能結合html5+css+js,后端使用c++開發。

                      注意:信息由用戶發布,其真實性、合法性由發布人負責,請仔細甄別,注意防騙!如違法/虛假/侵權請:舉報

                      咨詢留言

                      標簽

                      免費領取資料

                      返回頂部

                        <ruby id="jnjjj"><b id="jnjjj"></b></ruby>

                        <p id="jnjjj"><cite id="jnjjj"><dfn id="jnjjj"></dfn></cite></p>

                        <ruby id="jnjjj"></ruby>

                        <p id="jnjjj"></p>
                            <del id="jnjjj"><mark id="jnjjj"></mark></del>
                            <del id="jnjjj"><mark id="jnjjj"><progress id="jnjjj"></progress></mark></del>

                              <address id="jnjjj"><pre id="jnjjj"></pre></address>

                                  <ruby id="jnjjj"><mark id="jnjjj"></mark></ruby>

                                  <pre id="jnjjj"></pre>
                                    <p id="jnjjj"></p>
                                    <pre id="jnjjj"><mark id="jnjjj"><thead id="jnjjj"></thead></mark></pre><output id="jnjjj"><cite id="jnjjj"></cite></output><p id="jnjjj"><mark id="jnjjj"></mark></p>

                                    <pre id="jnjjj"></pre>
                                      <p id="jnjjj"></p>
                                          伦理电影