本文整理汇总了C++中wyString类的典型用法代码示例。如果您正苦于以下问题:C++ wyString类的具体用法?C++ wyString怎么用?C++ wyString使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了wyString类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Replace
wyInt32
FindAndReplace::ReplaceAll(wyString& replacewhat, wyString& replacewith, wyUInt32 wholeworld, wyUInt32 matchcase)
{
if (replacewhat.GetLength() == 0)
{
return -1;
}
wyInt32 startposition = 0;
wyInt32 endposition = SendMessage(m_hwndedit, SCI_GETLENGTH, 0, 0);
wyInt32 flags = 0;
if(wholeworld)flags = SCFIND_WHOLEWORD;
if(matchcase)flags = SCFIND_MATCHCASE;
::SendMessage(m_hwndedit, SCI_SETTARGETSTART, startposition, 0);
::SendMessage(m_hwndedit, SCI_SETTARGETEND, endposition, 0);
::SendMessage(m_hwndedit, SCI_SETSEARCHFLAGS, flags, 0);
wyInt32 posfind = SendMessage(m_hwndedit, SCI_SEARCHINTARGET, replacewhat.GetLength(), (LPARAM)replacewhat.GetString());
if((posfind != -1) && (posfind <= endposition))
{
::SendMessage(m_hwndedit, SCI_BEGINUNDOACTION, 0, 0);
return Replace(posfind, endposition,
replacewhat, replacewith,
wholeworld, matchcase);
}
return 0;
}
示例2: SendMessage
wyInt32
FindAndReplace::Replace(wyInt32 posfind, wyInt32 endposition,
wyString &replacewhat, wyString &replacewith,
wyUInt32 wholeworld, wyUInt32 matchcase)
{
wyInt32 lastmatch = posfind;
wyInt32 replacements = 0;
//Replacement loop
while(posfind != -1)
{
wyInt32 lentarget = SendMessage(m_hwndedit, SCI_GETTARGETEND, 0, 0) - SendMessage(m_hwndedit, SCI_GETTARGETSTART, 0, 0);
wyInt32 movepasteol = 0;
wyInt32 replacelen = replacewith.GetLength();
wyInt32 lenreplaced = replacelen;
::SendMessage(m_hwndedit, SCI_REPLACETARGET, replacelen, (LPARAM)replacewith.GetString());
//Modify for change caused by replacement
endposition += lenreplaced - lentarget;
// For the special cases of start of line and end of line
// something better could be done but there are too many special cases
lastmatch = posfind + lenreplaced + movepasteol;
if(lentarget == 0)
{
lastmatch = SendMessage(m_hwndedit, SCI_POSITIONAFTER, lastmatch, 0);
}
if(lastmatch >= endposition)
{
// Run off the end of the document/selection with an empty match
posfind = -1;
}
else
{
::SendMessage(m_hwndedit, SCI_SETTARGETSTART, lastmatch, 0);
::SendMessage(m_hwndedit, SCI_SETTARGETEND, endposition, 0);
posfind = SendMessage(m_hwndedit, SCI_SEARCHINTARGET, replacewhat.GetLength(), (LPARAM)replacewhat.GetString());
}
replacements++;
}
::SendMessage(m_hwndedit, SCI_SETSEL, lastmatch, lastmatch);
::SendMessage(m_hwndedit, SCI_ENDUNDOACTION, 0, 0);
return replacements;
}
示例3: OnError
// Function to get the path the selected item in a Treeview //
wyBool
FavoriteBase::SelItemPath(HWND htree, HTREEITEM item, wyString &fullpath, wyBool bFileFlag)
{
wyWChar data[MAX_PATH + 1] = {0};
wyWChar foldpath[MAX_PATH + 1] = {0};
TVITEM tvitem;
wyString path, temp, temp2, datastr, foldpathstr;
// application data path //
if(!pGlobals->m_configdirpath.GetLength())
{
if(!SUCCEEDED(::SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, foldpath)))
return OnError(_("Error in favorites"));
wcscat(foldpath ,L"\\SQLyog");
}
else
{
//wcscpy(foldpath, pGlobals->m_configdirpath.GetAsWideChar());
wcsncpy(foldpath, pGlobals->m_configdirpath.GetAsWideChar(), MAX_PATH);
foldpath[MAX_PATH] = '\0';
}
while(item)
{
tvitem.mask = TVIF_TEXT | TVIF_IMAGE;
tvitem.hItem = item;
tvitem.cchTextMax = MAX_PATH;
tvitem.pszText = data ;
TreeView_GetItem(htree, &tvitem);
datastr.SetAs(data);
if(tvitem.iImage != NFILE || !bFileFlag)
{
temp.Sprintf("\\%s", datastr.GetString());
if(path.GetLength() > 0)
{
temp2.SetAs(path);
path.Sprintf("\\%s%s", datastr.GetString(), temp2.GetString());
}
else
path.Sprintf("\\%s", datastr.GetString());
}
item = TreeView_GetParent(htree, item);
}
foldpathstr.SetAs(foldpath);
fullpath.SetAs(foldpathstr.GetString());
fullpath.Add(path.GetString());
return wyTrue;
}
示例4:
//function to get the banner text
void
TableView::GetBanner(wyString& bannertext)
{
bannertext.Clear();
//set the text
if(!m_mydata || !m_mydata->m_table.GetLength() || !m_mydata->m_db.GetLength())
{
bannertext.SetAs(_("Select a Table/View from the Object Browser"));
}
}
示例5: SendMessage
void
EditorBase::GetCompleteTextByPost(wyString &query, MDIWindow *wnd)
{
wyUInt32 nstrlen;
wyChar *data;
THREAD_MSG_PARAM tmp = {0};
//set the lparam sent
if(GetWindowThreadProcessId(m_hwnd , NULL) == GetCurrentThreadId())
{
nstrlen = SendMessage(m_hwnd, SCI_GETTEXTLENGTH, 0, 0);
data = AllocateBuff(nstrlen + 1);
SendMessage(m_hwnd, SCI_GETTEXT, (WPARAM)nstrlen+1, (LPARAM)data);
query.SetAs(data);
free(data);
}
else
{
if(WaitForSingleObject(pGlobals->m_pcmainwin->m_sqlyogcloseevent, 0) != WAIT_OBJECT_0 )
{
query.SetAs("");
return;
}
tmp.m_lparam = (LPARAM)&query;
tmp.m_hevent = CreateEvent(NULL, TRUE, FALSE, NULL);
//now post the message to ui thread and wait for the event to be set
PostMessage(wnd->GetHwnd(), UM_GETEDITORTEXT, (WPARAM)this->GetHWND(), (LPARAM)&tmp);
if(WaitForSingleObject(tmp.m_hevent, 10000) == WAIT_TIMEOUT)
{
//CloseHandle(tmp.m_hevent);
query.SetAs("");
//return;
}
//WaitForSingleObject(tmp.m_hevent, INFINITE);
//close the event handle
CloseHandle(tmp.m_hevent);
tmp.m_hevent = NULL;
//data = (wyChar*)tmp.m_lparam;
}
return;
}
示例6:
void
ExportAsSimpleSQL::AddColumnNames(ExportSQLData *data, wyString &value)
{
wyInt32 count;
value.Add("(");
for(count = 0; count < m_myres->field_count; count++)
{
if(data->m_selcol[count] == wyTrue)
value.AddSprintf("`%s`, ", m_myres->fields[count].name);
}
value.Strip(2); // Strip one for ',' and one for blank space
value.Add(") ");
}
示例7: WriteFile
wyBool
ExportAsSimpleSQL::WriteToFile(wyString &buffer)
{
DWORD dwbyteswritten;
wyInt32 ret;
wyString error;
m_buffer.Add(buffer.GetString());
//if size of filebuffer is more then write to file
if(m_buffer.GetLength() >= SIZE_8K)
{
ret = WriteFile(m_filename, m_buffer.GetString(), m_buffer.GetLength(), &dwbyteswritten, NULL);
m_buffer.Clear();
if(!ret)
{
error.Sprintf(_("Error no : %d"), GetLastError());
MessageBox(m_hwnd, error.GetAsWideChar(), pGlobals->m_appname.GetAsWideChar(), MB_OK | MB_ICONERROR);
return wyFalse;
}
}
return wyTrue;
}
示例8: SendMessage
//Function adds text in the edit box.
void
TabMessage::AddText(wyString& str)
{
SendMessage(m_hwnd, SCI_SETREADONLY, false, 0);
SendMessage(m_hwnd, SCI_SETTEXT, 0, (LPARAM)str.GetString());
SendMessage(m_hwnd, SCI_SETREADONLY, true, 0);
SendMessage(m_hwndcombo, CB_SETCURSEL, 0, 0);
}
示例9: ShowMessage
void
FindAndReplace::NotFoundMsg(wyString tofind)
{
wyString msg;
msg.AddSprintf(_("Finished searching the document. Cannot find \"%s\""), tofind.GetString());
ShowMessage(msg.GetAsWideChar(), MB_OK | MB_ICONINFORMATION);
}
示例10: InitOpenFile
wyBool
InitOpenFile(HWND hwnd, wyString &filename, wyInt32 filter, wyInt32 bufsize)
{
wyWChar file[MAX_PATH] = {0};
wyBool ret;
ret = InitOpenFile(hwnd, file, filter, bufsize);
filename.SetAs(file);
return ret;
}
示例11: wyString
wyInt32
EditorBase::ExecuteQueryThread(wyString query, wyInt32 *stop, MDIWindow *wnd, wyInt32& curline, wyBool isanalyze)
{
wyInt32 start=0, end=0, *err = 0;
QueryThread thd;
HANDLE evt;
QueryResultList *list = NULL;
wyString *str = new wyString;
wyString *querystr;
PMYSQL tmpmysql;
err = new wyInt32;
*err = 0;
querystr = new wyString();
querystr->SetAs(query.GetString());
wnd->m_stopmysql= wnd->m_mysql;
tmpmysql = &wnd->m_stopmysql;
QUERYTHREADPARAMS *param = new QUERYTHREADPARAMS;
list = new QueryResultList;
param->startpos = start;
param->endpos = end;
param->linenum = curline;
param->executestatus = EXECUTE_ALL;
param->query = querystr;
param->stop = stop;
param->list = list;
param->str = str;
param->tab = wnd->GetActiveTabEditor()->m_pctabmgmt;
param->tunnel = wnd->m_tunnel;
param->mysql = &wnd->m_mysql;
param->error = err;
param->isadvedit = m_isadvedit;
param->lpcs = &wnd->m_cs;
param->wnd = wnd;
param->isprofile = wyTrue;
param->m_highlimitvalue = -1;
param->m_lowlimitvalue = -1;
param->m_iseditor = isanalyze;
param->executeoption = ALL;
param->isedit = wyFalse;
param->tmpmysql = tmpmysql;
param->isexplain = wyFalse;
InitializeExecution(param);
evt = thd.Execute(param);
return 1;
}
示例12: AllocateBuff
// function to process file type Favorite//
wyBool
FavoriteBase::AddFile(HMENU hmenu, wyString &parentpath, wyWChar *filename)
{
wyInt32 i , j=0;
wyUInt32 lengthwchar = 1;
wyWChar ext[_MAX_EXT] = {0} , *data = {0};
wyChar *path = {0};
MENUITEMINFO lpmii={0};
parentpath.GetAsWideChar(&lengthwchar);
path = AllocateBuff(parentpath.GetLength() + 2);
data = AllocateBuffWChar(wcslen(filename) + 2);
wcscpy(data, (wyWChar*)filename);
strcpy(path, (wyChar*)parentpath.GetString());
for(i = wcslen(data) - 1; i && data[i]!='.'; i--, j++)
ext[j] = data[i];
if(wcsnicmp(ext, L"lqs", 3) != 0)
return wyFalse;
ext[j] = 0;
data[i] = 0;
lpmii.cbSize = sizeof(MENUITEMINFO);
lpmii.fMask = MIIM_STRING|MIIM_ID|MIIM_DATA;
lpmii.wID = m_menuid++;
lpmii.dwItemData = (ULONG_PTR)path;
lpmii.cch = wcslen(data);
lpmii.dwTypeData = data;
VERIFY(::InsertMenuItem(hmenu, -1, TRUE, &lpmii));
free(data);
return wyTrue;
}
示例13: row
void
EditorBase::AddResultMsg(Tunnel * tunnel, MYSQL_RES * myres, wyString& errorormsg, wyUInt32 timetaken)
{
wyUInt32 rowsret;
wyString newmsg;
rowsret = (wyUInt32)tunnel->mysql_num_rows(myres);
VERIFY(newmsg.Sprintf(_("(%lu row(s) returned)\n(%d ms taken)\n\n"), rowsret, timetaken ) < SIZE_128);
errorormsg.SetAs(newmsg);
return;
}
示例14: VERIFY
// Function to add the given item to the treeview control //
HTREEITEM
FavoriteBase::AddItem(HWND htree, HTREEITEM parent, wyString name, wyInt32 pos)
{
TV_INSERTSTRUCT str ;
str.hParent = parent ;
str.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE ;
str.hInsertAfter = TVI_SORT;
str.item.pszText = (LPWSTR)name.GetAsWideChar();
str.item.iImage = pos ;
str.item.iSelectedImage = pos;
HTREEITEM htreeitem;
VERIFY(htreeitem = (HTREEITEM)SendMessage(htree, TVM_INSERTITEM, NULL, (wyInt32)&str));
return(htreeitem);
}
示例15:
void
EditorBase::AddErrorMsg(Tunnel * tunnel, PMYSQL mysql, wyString& errorormsg, wyUInt32 timetaken)
{
wyUInt32 errnum;
wyString newerror;
errnum = tunnel->mysql_errno(*mysql);
/* it may happen that due to http error the errornumber is 0 so we return */
if(0 == errnum)
return;
VERIFY(newerror.Sprintf(_("Error Code: %d\n%s\n(%lu ms taken)\n\n"), errnum, tunnel->mysql_error(*mysql), timetaken) < SIZE_1024);
errorormsg.Add(newerror.GetString());
return;
}