47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
/******************************************************************************/
|
|
/* String Manipulation Functions - string_inc */
|
|
/******************************************************************************/
|
|
/* Copyright(c) Krynnhaven - Xanas */
|
|
/* Created: January 18, 2004 */
|
|
/* Updated: January 19, 2004 */
|
|
/******************************************************************************/
|
|
|
|
|
|
// Returns a word (based on space or ' mark) in a string - used for listener commands
|
|
string ReturnWord(string sString, int iWordNumber, string sDelimeter=" ");
|
|
|
|
string ReturnWord(string sString, int iWordNumber, string sDelimiter=" ")
|
|
{
|
|
int iSub, iSub2, done;
|
|
int iCount = 1; //this is a string to decompile
|
|
string sWord, sText; //01234567
|
|
while(!done) // 45 7
|
|
{
|
|
iCount++;
|
|
iSub = FindSubString(sString, sDelimiter);
|
|
if(iSub == -1)
|
|
{
|
|
done=TRUE;
|
|
if(iCount == iWordNumber)
|
|
sWord=sString;
|
|
}
|
|
else if(iWordNumber == 1)
|
|
{
|
|
sWord = GetSubString(sString, 0, iSub); done=TRUE;
|
|
}
|
|
else
|
|
{
|
|
iSub+=1; sText = GetSubString(sString, iSub, GetStringLength(sString));
|
|
WriteTimestampedLogEntry(sText);
|
|
iSub2=FindSubString(sText, sDelimiter);
|
|
if(iSub2 == -1) iSub2 = GetStringLength(sString);
|
|
if(iCount == iWordNumber)
|
|
{ sWord = GetSubString(sText, 0, iSub2); done=TRUE;}
|
|
}
|
|
sString = GetSubString(sString, iSub, GetStringLength(sString));
|
|
WriteTimestampedLogEntry(IntToString(iCount)+" :count word: "+IntToString(iWordNumber));
|
|
|
|
}
|
|
return sWord;
|
|
}
|