<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 20.5 解析命令行參數 允許程序在初始化的時候分析命令行參數是很有用的,對于一個文檔視圖架構的程序來說,你應該允許程序通過這樣的方式打開文件.也可能你想讓你的程序可以從命令行啟動,以便進行一些自動化的工作,這時候你可以通過命令行參數告訴你的應用程序不要顯示用戶界面.雖然通常應用程序的大部分工作都是通過用戶界面完成的,但是有時候命令行參數還是很有用的,比如用它來打開程序的調試開關. wxWidgets提供了wxCmdLineParser類用來簡化這部分的編程工作,以避免你需要直接處理wxApp::argc和 wxApp::argv.這個可以處理開關類型參數(比如-verbose),選項類型參數(比如-debug:1)以及命令參數(比如 "myfile.txt")等.對于開關類型參數和選項類型參數,它允許你設置它們的長參數形式和短參數形式,你還可以給每個參數提供一個幫助字符串,這個字符串將在需要顯示使用幫助的時候打印在當前的Log目標上. 下面的例子演示了怎樣使用開關類型,選項類型等各種參數: ``` #include "wx/cmdline.h" static const wxCmdLineEntryDesc g_cmdLineDesc[] = { { wxCMD_LINE_SWITCH, wxT("h"), wxT("help"), wxT("displays help on the command line parameters") }, { wxCMD_LINE_SWITCH, wxT("v"), wxT("version"), wxT("print version") }, { wxCMD_LINE_OPTION, wxT("d"), wxT("debug"), wxT("specify a debug level") }, { wxCMD_LINE_PARAM, NULL, NULL, wxT("input file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL }, { wxCMD_LINE_NONE } }; bool MyApp::OnInit() { // 分析命令行 wxString cmdFilename; wxCmdLineParser cmdParser(g_cmdLineDesc, argc, argv); int res; { wxLogNull log; // 傳遞False參數以便在分析命名行發生錯誤的時候不顯示使用幫助對話框. res = cmdParser.Parse(false); } // 檢查是否用戶正在詢問使用幫助 if (res == -1 || res &gt; 0 || cmdParser.Found(wxT("h"))) { cmdParser.Usage(); return false; } // 檢查是否用戶正在詢問版本號 if (cmdParser.Found(wxT("v"))) { #ifndef __WXMSW__ wxLog::SetActiveTarget(new wxLogStderr); #endif wxString msg; wxString date(wxString::FromAscii(__DATE__)); msg.Printf(wxT("Anthemion DialogBlocks, (c) Julian Smart, 2005 Version %.2f, %s"), wbVERSION_NUMBER, (const wxChar*) date); wxLogMessage(msg); return false; } // 檢查是否用戶希望以調試模式啟動 long debugLevel = 0; if (cmdParser.Found(wxT("d"), & debugLevel)) { } // 檢查是否用戶傳遞了一個工程名 if (cmdParser.GetParamCount() &gt; 0) { cmdFilename = cmdParser.GetParam(0); // 在windows系統上,如果通過資源管理器打開一個文件的時候, // 傳遞的是短格式的文件名 // 因此我們可以把它變成長格式文件名 wxFileName fName(cmdFilename); fName.Normalize(wxPATH_NORM_LONG|wxPATH_NORM_DOTS| wxPATH_NORM_TILDE|wxPATH_NORM_ABSOLUTE); cmdFilename = fName.GetFullPath(); } ... return true; } ``` 使用wxFileName對文件名進行正常化是必要的,因為有時候在以命令行方式啟動程序的時候,windows會傳遞短格式的文件名. 正如我們在前面介紹的那樣,在MacOSX上,當打開一個文檔的時候不使用命令行參數,而使用直接調用wxApp:: MacOpenFile函數的方法.但是命令行參數的方法確實在多數系統上是被使用的,因此,為了讓你開發的程序適用于各種[平臺,你還是應該提供命令行參數的支持.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看