// stringoperatedlg.cpp: 實現檔案
//#include "pch.h"
#include "framework.h"
#include "stringoperate.h"
#include "stringoperatedlg.h"
#include "afxdialogex.h"
#ifdef _debug
#define new debug_new
#endif
// 用於應用程式「關於」選單項的 caboutdlg 對話方塊
class caboutdlg : public cdialogex
;#endif
protected:
virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援
// 實現
protected:
declare_message_map()
};caboutdlg::caboutdlg() : cdialogex(idd_aboutbox)
void caboutdlg::dodataexchange(cdataexchange* pdx)
begin_message_map(caboutdlg, cdialogex)
end_message_map()
// cstringoperatedlg 對話方塊
cstringoperatedlg::cstringoperatedlg(cwnd* pparent /*=nullptr*/)
: cdialogex(idd_stringoperate_dialog, pparent)
, m_strsource(_t(""))
, m_strsqlit(_t(""))
, m_ninput(0)
, m_stroutput(_t(""))
, m_nformat(0)
void cstringoperatedlg::dodataexchange(cdataexchange* pdx)
begin_message_map(cstringoperatedlg, cdialogex)
on_wm_syscommand()
on_wm_paint()
on_wm_querydragicon()
on_bn_clicked(idc_btn_split, &cstringoperatedlg::onbnclickedbtnsplit)
on_bn_clicked(idc_btn_format, &cstringoperatedlg::onbnclickedbtnformat)
end_message_map()
// cstringoperatedlg 訊息處理程式
bool cstringoperatedlg::oninitdialog()
} // 設定此對話方塊的圖示。 當應用程式主視窗不是對話方塊時,框架將自動
// 執行此操作
seticon(m_hicon, true); // 設定大圖示
seticon(m_hicon, false); // 設定小圖示
// todo: 在此新增額外的初始化**
setdlgitemtext(idc_edit1, "abc--def--ghi--jkl");
setdlgitemtext(idc_edit2, "--");
return true; // 除非將焦點設定到控制項,否則返回 true
}void cstringoperatedlg::onsyscommand(uint nid, lparam lparam)
else }
// 如果向對話方塊新增最小化按鈕,則需要下面的**
// 來繪製該圖示。 對於使用文件/檢視模型的 mfc 應用程式,
// 這將由框架自動完成。
void cstringoperatedlg::onpaint()
else }
//當使用者拖動最小化視窗時系統呼叫此函式取得游標
//顯示。
hcursor cstringoperatedlg::onquerydragicon()
void cstringoperatedlg::onbnclickedbtnsplit()
updatedata(true);
if (m_strsqlit.isempty())
cstringarray strdestarray;
stringsplit(m_strsource, strdestarray, m_strsqlit);
for (size_t i = 0; i < strdestarray.getsize(); i++)
updatedata(false);
}void cstringoperatedlg::stringsplit(cstring strsource, cstringarray& strdestarray, cstring strdivision)
if (npos>nprepos)
npos += strdivision.getlength(); }}
void cstringoperatedlg::onbnclickedbtnformat()
cstring strinput = "";
getdlgitem(idc_edit_input)->getwindowtext(strinput);
if (strinput.isempty())
float finput = -1;
switch (m_nformat)
updatedata(false);
}
字串格式化輸出
你好 info s name s age s salary s name,name,age,job s 也可以換成 d s代表 string d 代表只能接受數字 他的作用是幫助你檢測輸入的資料型別 還有乙個 f 代表的是浮點小數 注意 s點位符要和括號裡的位數相等 msg 這個地方是不顯示的 na...
字串格式化輸出
我們格式化構建字串可以有3種方法 1 元組佔位符 m python astr i love s m print astr 2 字串的format方法 m python astr i love format python m print astr 3 字典格式化字串 m python astr i l...
字串格式化輸出
格式化字串時,python使用乙個字串作為模板 模板中有格式符 這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。python用乙個tuple將多個值傳遞給模板,每個值對應乙個格式符。比如下面的例子 print i m s.i m d year old vamei 99 上面的例子中,i m...