本文整理汇总了C++中JString::ConvertToUInt方法的典型用法代码示例。如果您正苦于以下问题:C++ JString::ConvertToUInt方法的具体用法?C++ JString::ConvertToUInt怎么用?C++ JString::ConvertToUInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JString
的用法示例。
在下文中一共展示了JString::ConvertToUInt方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
JXPSPrintSetupDialog*
CBPSPrinter::CreatePrintSetupDialog
(
const Destination destination,
const JCharacter* printCmd,
const JCharacter* fileName,
const JBoolean collate,
const JBoolean bw
)
{
assert( itsCBPrintSetupDialog == NULL );
if (itsFontSize == kUnsetFontSize)
{
JString fontName;
CBGetPrefsManager()->GetDefaultFont(&fontName, &itsFontSize);
JArray<JIndexRange> matchList;
if (nxmRegex.Match(fontName, &matchList))
{
const JString hStr = fontName.GetSubstring(matchList.GetElement(2));
const JBoolean ok = hStr.ConvertToUInt(&itsFontSize);
assert( ok );
itsFontSize--;
}
}
itsCBPrintSetupDialog =
CBPSPrintSetupDialog::Create(destination, printCmd, fileName,
collate, bw, itsFontSize,
(CBGetPTTextPrinter())->WillPrintHeader());
return itsCBPrintSetupDialog;
}
示例2: JString
void
SVNTabBase::ComparePrev
(
const JCharacter* revStr
)
{
JString r = "PREV";
if (!JStringEmpty(revStr))
{
JString s = revStr;
JUInt rev;
if (s.ConvertToUInt(&rev) && rev > 0)
{
r = JString(rev-1, JString::kBase10);
r += ":";
r += JString(rev, JString::kBase10);
}
else
{
r += ":";
r += revStr;
}
}
Compare(r, kJTrue);
}
示例3: lineIndexRegex
void
JExtractFileAndLine
(
const JCharacter* str,
JString* fileName,
JIndex* startLineIndex,
JIndex* endLineIndex
)
{
static JRegex lineIndexRegex(":([0-9]+)(-([0-9]+))?$");
*fileName = str;
JArray<JIndexRange> matchList;
if (lineIndexRegex.Match(*fileName, &matchList))
{
JString s = fileName->GetSubstring(matchList.GetElement(2));
JBoolean ok = s.ConvertToUInt(startLineIndex);
assert( ok );
const JIndexRange endRange = matchList.GetElement(4);
if (endLineIndex != NULL && !endRange.IsEmpty())
{
s = fileName->GetSubstring(endRange);
ok = s.ConvertToUInt(endLineIndex);
assert( ok );
}
else if (endLineIndex != NULL)
{
*endLineIndex = *startLineIndex;
}
fileName->RemoveSubstring(matchList.GetElement(1));
}
else
{
*startLineIndex = 0;
if (endLineIndex != NULL)
{
*endLineIndex = 0;
}
}
}
示例4: stream
void
GDBGetFrame::HandleSuccess
(
const JString& cmdData
)
{
const JString& data = GetLastResult();
JIndexRange r;
if (framePattern.Match(data, &r))
{
std::istringstream stream(data.GetCString());
stream.seekg(r.last);
JStringPtrMap<JString> map(JPtrArrayT::kDeleteAll);
JString* s;
JIndex frameIndex;
if (!GDBLink::ParseMap(stream, &map))
{
(CMGetLink())->Log("invalid data map");
}
else if (!map.GetElement("level", &s))
{
(CMGetLink())->Log("missing frame index");
}
else if (!s->ConvertToUInt(&frameIndex))
{
(CMGetLink())->Log("frame index is not integer");
}
else
{
itsWidget->SelectFrame(frameIndex);
}
}
else
{
(CMGetLink())->Log("GDBGetFrame failed to match");
}
}
示例5: if
void
XDLink::ReceiveMessageFromDebugger()
{
itsLink->StopTimer();
JString data;
const JBoolean ok = itsLink->GetNextMessage(&data);
assert( ok );
if (data.IsEmpty() || data.GetFirstCharacter() != '<')
{
return;
}
Broadcast(DebugOutput(data, kOutputType));
if (itsInitFinishedFlag)
{
if (!itsProgramIsStoppedFlag)
{
itsProgramIsStoppedFlag = kJTrue;
Broadcast(ProgramStopped(CMLocation("", 1)));
}
itsDebuggerBusyFlag = kJFalse;
Broadcast(DebuggerReadyForInput());
}
xmlDoc* doc = xmlReadMemory(data.GetCString(), data.GetLength(),
NULL, NULL, XML_PARSE_NOCDATA);
if (doc != NULL)
{
xmlNode* root = xmlDocGetRootElement(doc);
if (root != NULL && strcmp((char*) root->name, "init") == 0)
{
itsIDEKey = JGetXMLNodeAttr(root, "idekey");
const JString uri = JGetXMLNodeAttr(root, "fileuri");
const JCharacter* map[] =
{
"idekey", itsIDEKey,
"uri", uri
};
JString msg = JGetString("ConnectionInfo::XDLink", map, sizeof(map));
Broadcast(UserOutput(msg, kJFalse));
Send("feature_set -n show_hidden -v 1");
Send("step_into");
JString programName;
GetProgram(&programName);
Broadcast(AttachedToProcess());
Broadcast(SymbolsLoaded(JI2B(uri == itsScriptURI), programName));
itsInitFinishedFlag = kJTrue;
itsScriptURI = uri;
}
else if (root != NULL && strcmp((char*) root->name, "response") == 0)
{
const JString status = JGetXMLNodeAttr(root, "status");
const JString reason = JGetXMLNodeAttr(root, "reason");
if (status == "break" && reason == "error" &&
root->children != NULL && root->children->children != NULL &&
strcmp((char*) root->children->name, "error") == 0 &&
root->children->children->type == XML_TEXT_NODE)
{
JString msg = (char*) root->children->children->content;
const JString encoding = JGetXMLNodeAttr(root->children, "encoding");
if (encoding == "base64")
{
msg.DecodeBase64(&msg);
}
msg += "\n";
Broadcast(UserOutput(msg, kJTrue));
}
const JString idStr = JGetXMLNodeAttr(root, "transaction_id");
JUInt id;
if (idStr.ConvertToUInt(&id))
{
HandleCommandRunning(id);
}
CMCommand* cmd;
if (GetRunningCommand(&cmd))
{
itsParsedDataRoot = root;
cmd->Finished(JI2B(
root->children == NULL || strcmp((char*) root->children->name, "error") != 0));
itsParsedDataRoot = NULL;
SetRunningCommand(NULL);
if (!HasForegroundCommands())
{
RunNextCommand();
}
//.........这里部分代码省略.........
示例6: if
void
GFGLink::ParseLine
(
const JString& data
)
{
// we only care about virtual functions
JBoolean required = kJFalse;
if (data.Contains("implementation:pure virtual"))
{
required = kJTrue;
}
else if (!data.Contains("implementation:virtual"))
{
return;
}
JArray<JIndexRange> subList;
if (memberLine.Match(data, &subList))
{
JIndexRange sRange = subList.GetElement(2);
JString name = data.GetSubstring(sRange);
if (name.BeginsWith("~"))
{
return;
}
GFGMemberFunction* fn = jnew GFGMemberFunction();
assert(fn != NULL);
fn->SetFnName(name);
fn->ShouldBeRequired(required);
sRange = subList.GetElement(3);
JIndex line;
JString lineStr = data.GetSubstring(sRange);
lineStr.ConvertToUInt(&line);
sRange = subList.GetElement(4);
JString base = data.GetSubstring(sRange);
if (base != itsCurrentClass)
{
jdelete fn;
return;
}
sRange = subList.GetElement(5);
JString access = data.GetSubstring(sRange);
if (access == "protected")
{
fn->ShouldBeProtected(kJTrue);
}
ParseInterface(fn, line);
// Override entry from base class so function will only be
// marked as pure virtual if nobody implemented it.
JBoolean found;
const JIndex i =
itsClassList->SearchSorted1(fn, JOrderedSetT::kAnyMatch, &found);
if (found)
{
itsClassList->DeleteElement(i);
}
itsClassList->InsertAtIndex(i, fn);
}
}
示例7: if
JBoolean
CBCtagsUser::HasExuberantCtags()
{
if (itsHasExuberantCtagsFlag == kUntested)
{
itsHasExuberantCtagsFlag = kFailure;
// this hack is required on Linux kernel 2.3.x (4/19/2000)
j_sig_func* origHandler = signal(SIGCHLD, emptyHandler);
pid_t pid;
#if defined _J_SUNOS
pid_t* ppid = NULL;
#else
pid_t* ppid = &pid;
#endif
int fromFD;
JError err = JExecute(kCheckVersionCmd, ppid,
kJIgnoreConnection, NULL,
kJCreatePipe, &fromFD,
kJTossOutput, NULL);
if (err.OK())
{
JString vers;
JReadAll(fromFD, &vers);
JArray<JIndexRange> matchList;
if (versionPattern.Match(vers, &matchList))
{
matchList.RemoveElement(1);
const JSize count = matchList.GetElementCount();
JString s;
for (JIndex i=1; i<=count; i++)
{
JUInt v = 0;
const JIndexRange r = matchList.GetElement(i);
if (!r.IsEmpty())
{
s = vers.GetSubstring(r);
while (!isdigit(s.GetFirstCharacter()))
{
s.RemoveSubstring(1, 1);
}
const JBoolean ok = s.ConvertToUInt(&v);
assert( ok );
}
if (v > kMinVersion[i-1] ||
(i == count && v == kMinVersion[i-1]))
{
itsHasExuberantCtagsFlag = kSuccess;
break;
}
else if (v < kMinVersion[i-1])
{
break;
}
}
}
}
if (origHandler != SIG_ERR)
{
signal(SIGCHLD, origHandler);
}
}
return JI2B( itsHasExuberantCtagsFlag == kSuccess );
}
示例8: JString
void
CMVarNode::ConvertToBase()
{
itsCanConvertBaseFlag = kJFalse;
if (itsOrigValue != NULL && !itsOrigValue->IsEmpty())
{
JTree* tree;
if (itsValue != *itsOrigValue && GetTree(&tree))
{
tree->BroadcastChange(this);
}
itsValue = *itsOrigValue;
}
if (itsBase == 0 || itsIsPointerFlag)
{
return; // avoid constructing matchList
}
JArray<JIndexRange> matchList;
if (valuePattern.Match(itsValue, &matchList))
{
JString vStr = itsValue.GetSubstring(matchList.GetElement(2));
JUInt v;
itsCanConvertBaseFlag = JI2B(
vStr.ConvertToUInt(&v, vStr.GetFirstCharacter() == '0' ? 8 : 10) &&
(itsBase != 1 || (0 <= v && v <= 255)));
if (itsCanConvertBaseFlag)
{
// save value for when base reset to "default"
itsOrigValue = new JString(itsValue);
assert( itsOrigValue != NULL );
// replace only the value, preserving whatever else is there
if (itsBase == 1)
{
assert( 0 <= v && v <= 255 );
vStr = JString(v, JString::kBase16, kJTrue);
vStr += " '";
JBoolean found = kJFalse;
for (JIndex i=0; i<kSpecialCharCount; i++)
{
if (JCharacter(v) == kSpecialCharInfo[i].c)
{
vStr += kSpecialCharInfo[i].s;
found = kJTrue;
}
}
if (!found)
{
vStr.AppendCharacter(v);
}
vStr.AppendCharacter('\'');
}
else
{
vStr = JString(v, (JString::Base) itsBase, kJTrue);
if (itsBase == 8)
{
vStr.PrependCharacter('0');
}
}
JIndexRange r;
itsValue.ReplaceSubstring(matchList.GetElement(2), vStr, &r);
JTree* tree;
if (GetTree(&tree))
{
tree->BroadcastChange(this);
}
}
}
}
示例9: localtime
void
GMessageHeader::SetHeader
(
const JString& header
)
{
itsHeader = header;
itsHeader.TrimWhitespace();
return;
JArray<JIndexRange> subList;
JBoolean matched = yearRegex.Match(itsHeader, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(2);
JString year = itsHeader.GetSubstring(sRange);
year.ConvertToUInt(&itsYear);
}
matched = timeRegex1.Match(itsHeader, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(2);
itsTime = itsHeader.GetSubstring(sRange);
if (itsYear == 0)
{
sRange = subList.GetElement(3);
JString year = itsHeader.GetSubstring(sRange);
year.ConvertToUInt(&itsYear);
}
}
else
{
matched = timeRegex2.Match(itsHeader, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(2);
itsTime = itsHeader.GetSubstring(sRange);
if (itsYear == 0)
{
sRange = subList.GetElement(3);
JString year = itsHeader.GetSubstring(sRange);
year.ConvertToUInt(&itsYear);
}
}
}
matched = dateRegex.Match(itsHeader, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(2);
JString dow = itsHeader.GetSubstring(sRange);
sRange = subList.GetElement(3);
itsMonth = itsHeader.GetSubstring(sRange);
sRange = subList.GetElement(4);
JString day = itsHeader.GetSubstring(sRange);
day.ConvertToUInt(&itsDay);
itsShortDate = itsMonth + " " + day;
time_t now;
struct tm *local_time;
time(&now);
local_time = localtime(&now);
if (itsYear != (JIndex)(local_time->tm_year + 1900))
{
JString year = JString(itsYear, JString::kBase10);
itsShortDate += " " + year;
}
itsDate = dow + ", " + day + " " + itsMonth + " " + JString(itsYear) + " " + itsTime;
}
}
示例10: JString
void
GARMessageHeader::SetDate
(
const JString& date
)
{
itsDate = date;
itsDate.TrimWhitespace();
JArray<JIndexRange> subList;
JString year = JString(itsYear, JString::kBase10);
JBoolean matched = monthRegex1.Match(itsDate, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(3);
itsMonth = itsDate.GetSubstring(sRange);
sRange = subList.GetElement(2);
JString day = itsDate.GetSubstring(sRange);
if (!day.IsEmpty())
{
if (day.GetFirstCharacter() == '0')
{
day.RemoveSubstring(1,1);
}
}
day.ConvertToUInt(&itsDay);
itsShortDate = itsMonth + " " + day;
time_t now;
struct tm *local_time;
time(&now);
local_time = localtime(&now);
if (itsYear != (JIndex)(local_time->tm_year + 1900))
{
JString year = JString(itsYear, JString::kBase10);
itsShortDate += " " + year;
}
return;
}
matched = monthRegex2.Match(itsDate, &subList);
if (matched)
{
JIndexRange sRange = subList.GetElement(3);
itsMonth = itsDate.GetSubstring(sRange);
sRange = subList.GetElement(2);
JString day = itsDate.GetSubstring(sRange);
if (!day.IsEmpty())
{
if (day.GetFirstCharacter() == '0')
{
day.RemoveSubstring(1,1);
}
}
day.ConvertToUInt(&itsDay);
itsShortDate = itsMonth + " " + day;
time_t now;
struct tm *local_time;
time(&now);
local_time = localtime(&now);
if (itsYear != (JIndex)(local_time->tm_year + 1900))
{
JString year = JString(itsYear, JString::kBase10);
itsShortDate += " " + year;
}
return;
}
else
{
itsShortDate = itsDate;
}
}
示例11: stream
void
GDBGetStack::HandleSuccess
(
const JString& cmdData
)
{
JTreeNode* root = (GetTree())->GetRoot();
JIndex initFrameIndex = 0;
const JString& data = GetLastResult();
std::istringstream stream(data.GetCString());
JIndexRange origRange, newRange;
JStringPtrMap<JString> map(JPtrArrayT::kDeleteAll);
JString frameName, fileName;
while (framePattern.MatchAfter(data, origRange, &newRange))
{
stream.seekg(newRange.last);
if (!GDBLink::ParseMap(stream, &map))
{
(CMGetLink())->Log("invalid data map");
break;
}
origRange.first = origRange.last = ((std::streamoff) stream.tellg()) + 1;
JString* s;
JIndex frameIndex;
if (!map.GetElement("level", &s))
{
(CMGetLink())->Log("missing frame index");
continue;
}
if (!s->ConvertToUInt(&frameIndex))
{
(CMGetLink())->Log("frame index is not integer");
continue;
}
frameName = *s;
while (frameName.GetLength() < kFrameIndexWidth)
{
frameName.PrependCharacter('0');
}
frameName += ": ";
JString* fnName;
if (!map.GetElement("func", &fnName))
{
(CMGetLink())->Log("missing function name");
continue;
}
frameName += *fnName;
if (map.GetElement("file", &s))
{
fileName = *s;
}
JIndex lineIndex = 0;
if (map.GetElement("line", &s) &&
!s->ConvertToUInt(&lineIndex))
{
(CMGetLink())->Log("line number is not integer");
continue;
}
CMStackFrameNode* node =
new CMStackFrameNode(root, frameIndex, frameName,
fileName, lineIndex);
assert( node != NULL );
root->Prepend(node);
if (assertPattern.Match(*fnName))
{
initFrameIndex = frameIndex + 1;
}
}
itsArgsCmd->Send();
(GetWidget())->FinishedLoading(initFrameIndex);
}