Split file StringFunctions.cpp into two files StringFunctions.h and StringFunctions.cpp.
parent
1a6b5ded64
commit
889c0fbe8e
|
@ -29,104 +29,6 @@
|
||||||
|
|
||||||
// Global include
|
// Global include
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// converts a string into integer
|
|
||||||
// may be of the form 0xabc123
|
|
||||||
long GetNumInt(const char* p)
|
|
||||||
{
|
|
||||||
long num = 0;
|
|
||||||
while (*p >= '0' && *p <= '9')
|
|
||||||
{
|
|
||||||
num = num * 10 + *p - '0';
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
if (*p == 'x' || *p == 'X')
|
|
||||||
{
|
|
||||||
while (*++p != 0)
|
|
||||||
{
|
|
||||||
if (*p >= '0' && *p <= '9')
|
|
||||||
{
|
|
||||||
num = num * 16 + *p - '0';
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (*p >= 'A' && *p <= 'F')
|
|
||||||
{
|
|
||||||
num = num * 16 + *p - 'A' + 10;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (*p >= 'a' && *p <= 'f')
|
|
||||||
{
|
|
||||||
num = num * 16 + *p - 'a' + 10;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return num;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// converts a string into a float number
|
|
||||||
extern float GetNumFloat(const char* p)
|
|
||||||
{
|
|
||||||
double num = 0;
|
|
||||||
double div = 10;
|
|
||||||
bool bNeg = false;
|
|
||||||
|
|
||||||
if (*p == '-')
|
|
||||||
{
|
|
||||||
bNeg = true;
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
while (*p >= '0' && *p <= '9')
|
|
||||||
{
|
|
||||||
num = num * 10. + (*p - '0');
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*p == '.')
|
|
||||||
{
|
|
||||||
p++;
|
|
||||||
while (*p >= '0' && *p <= '9')
|
|
||||||
{
|
|
||||||
num = num + (*p - '0') / div;
|
|
||||||
div = div * 10;
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int exp = 0;
|
|
||||||
if (*p == 'e' || *p == 'E')
|
|
||||||
{
|
|
||||||
char neg = 0;
|
|
||||||
p++;
|
|
||||||
if (*p == '-' || *p == '+') neg = *p++;
|
|
||||||
|
|
||||||
while (*p >= '0' && *p <= '9')
|
|
||||||
{
|
|
||||||
exp = exp * 10 + (*p - '0');
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
if (neg == '-') exp = -exp;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (exp > 0)
|
|
||||||
{
|
|
||||||
num *= 10.0;
|
|
||||||
exp--;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (exp < 0)
|
|
||||||
{
|
|
||||||
num /= 10.0;
|
|
||||||
exp++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bNeg) num = -num;
|
|
||||||
return static_cast<float>(num);
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
CBotExprNum::CBotExprNum()
|
CBotExprNum::CBotExprNum()
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
// Modules inlcude
|
// Modules inlcude
|
||||||
#include "CBot.h"
|
#include "CBot.h"
|
||||||
|
|
||||||
|
#include "CBotVar/CBotVar.h"
|
||||||
|
|
||||||
#include "CBotCall.h"
|
#include "CBotCall.h"
|
||||||
#include "CBotStack.h"
|
#include "CBotStack.h"
|
||||||
#include "CBotCStack.h"
|
#include "CBotCStack.h"
|
||||||
|
@ -28,7 +30,7 @@
|
||||||
|
|
||||||
#include "CBotInstr/CBotFunction.h"
|
#include "CBotInstr/CBotFunction.h"
|
||||||
|
|
||||||
#include "StringFunctions.cpp"
|
#include "StringFunctions.h"
|
||||||
|
|
||||||
// Local include
|
// Local include
|
||||||
|
|
||||||
|
|
|
@ -178,3 +178,97 @@ void DestructElements(CBotString* pOldData, int nCount)
|
||||||
pOldData++;
|
pOldData++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
long GetNumInt(const char* p)
|
||||||
|
{
|
||||||
|
long num = 0;
|
||||||
|
while (*p >= '0' && *p <= '9')
|
||||||
|
{
|
||||||
|
num = num * 10 + *p - '0';
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
if (*p == 'x' || *p == 'X')
|
||||||
|
{
|
||||||
|
while (*++p != 0)
|
||||||
|
{
|
||||||
|
if (*p >= '0' && *p <= '9')
|
||||||
|
{
|
||||||
|
num = num * 16 + *p - '0';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (*p >= 'A' && *p <= 'F')
|
||||||
|
{
|
||||||
|
num = num * 16 + *p - 'A' + 10;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (*p >= 'a' && *p <= 'f')
|
||||||
|
{
|
||||||
|
num = num * 16 + *p - 'a' + 10;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
float GetNumFloat(const char* p)
|
||||||
|
{
|
||||||
|
double num = 0;
|
||||||
|
double div = 10;
|
||||||
|
bool bNeg = false;
|
||||||
|
|
||||||
|
if (*p == '-')
|
||||||
|
{
|
||||||
|
bNeg = true;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
while (*p >= '0' && *p <= '9')
|
||||||
|
{
|
||||||
|
num = num * 10. + (*p - '0');
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*p == '.')
|
||||||
|
{
|
||||||
|
p++;
|
||||||
|
while (*p >= '0' && *p <= '9')
|
||||||
|
{
|
||||||
|
num = num + (*p - '0') / div;
|
||||||
|
div = div * 10;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int exp = 0;
|
||||||
|
if (*p == 'e' || *p == 'E')
|
||||||
|
{
|
||||||
|
char neg = 0;
|
||||||
|
p++;
|
||||||
|
if (*p == '-' || *p == '+') neg = *p++;
|
||||||
|
|
||||||
|
while (*p >= '0' && *p <= '9')
|
||||||
|
{
|
||||||
|
exp = exp * 10 + (*p - '0');
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
if (neg == '-') exp = -exp;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (exp > 0)
|
||||||
|
{
|
||||||
|
num *= 10.0;
|
||||||
|
exp--;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (exp < 0)
|
||||||
|
{
|
||||||
|
num /= 10.0;
|
||||||
|
exp++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bNeg) num = -num;
|
||||||
|
return static_cast<float>(num);
|
||||||
|
}
|
||||||
|
|
|
@ -116,3 +116,18 @@ void ConstructElements(CBotString* pNewData, int nCount);
|
||||||
* \param nCount
|
* \param nCount
|
||||||
*/
|
*/
|
||||||
void DestructElements(CBotString* pOldData, int nCount);
|
void DestructElements(CBotString* pOldData, int nCount);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief GetNumInt Converts a string into integer may be of the form 0xabc123.
|
||||||
|
* \param p
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
long GetNumInt(const char* p);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief GetNumFloat Converts a string into a float number.
|
||||||
|
* \param p
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
float GetNumFloat(const char* p);
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ set(SOURCES
|
||||||
CBotCallMethode.cpp
|
CBotCallMethode.cpp
|
||||||
CBotStringArray.cpp
|
CBotStringArray.cpp
|
||||||
CBotTypResult.cpp
|
CBotTypResult.cpp
|
||||||
|
StringFunctions.cpp
|
||||||
CBotInstr/CBotInstr.cpp
|
CBotInstr/CBotInstr.cpp
|
||||||
CBotInstr/CBotInstrUtils.cpp
|
CBotInstr/CBotInstrUtils.cpp
|
||||||
CBotInstr/CBotWhile.cpp
|
CBotInstr/CBotWhile.cpp
|
||||||
|
|
|
@ -17,15 +17,20 @@
|
||||||
* along with this program. If not, see http://gnu.org/licenses
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Modules inlcude
|
||||||
|
#include "StringFunctions.h"
|
||||||
|
|
||||||
|
#include "CBotProgram.h"
|
||||||
|
#include "CBotEnums.h"
|
||||||
|
|
||||||
#include "CBotVar/CBotVar.h"
|
#include "CBotVar/CBotVar.h"
|
||||||
|
|
||||||
// definition of string functions
|
|
||||||
|
|
||||||
|
// Local include
|
||||||
|
|
||||||
// gives the length of a chain
|
// Global include
|
||||||
// execution
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
bool rStrLen( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrLen( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -45,9 +50,7 @@ bool rStrLen( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// int xxx ( string )
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cIntStr( CBotVar* &pVar, void* pUser )
|
CBotTypResult cIntStr( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -64,10 +67,7 @@ CBotTypResult cIntStr( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypInt );
|
return CBotTypResult( CBotTypInt );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// gives the left side of a chain
|
|
||||||
// execution
|
|
||||||
|
|
||||||
bool rStrLeft( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrLeft( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -100,9 +100,7 @@ bool rStrLeft( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// string xxx ( string, int )
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cStrStrInt( CBotVar* &pVar, void* pUser )
|
CBotTypResult cStrStrInt( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -127,9 +125,7 @@ CBotTypResult cStrStrInt( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypString );
|
return CBotTypResult( CBotTypString );
|
||||||
}
|
}
|
||||||
|
|
||||||
// gives the right of a string
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// execution
|
|
||||||
|
|
||||||
bool rStrRight( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrRight( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -162,9 +158,7 @@ bool rStrRight( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gives the central part of a chain
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// execution
|
|
||||||
|
|
||||||
bool rStrMid( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrMid( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -214,9 +208,7 @@ bool rStrMid( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gives the central part of a chain
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cStrStrIntInt( CBotVar* &pVar, void* pUser )
|
CBotTypResult cStrStrIntInt( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -251,10 +243,7 @@ CBotTypResult cStrStrIntInt( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypString );
|
return CBotTypResult( CBotTypString );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// gives the number stored in a string
|
|
||||||
// execution
|
|
||||||
|
|
||||||
bool rStrVal( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrVal( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -276,9 +265,7 @@ bool rStrVal( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// float xxx ( string )
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cFloatStr( CBotVar* &pVar, void* pUser )
|
CBotTypResult cFloatStr( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -295,10 +282,7 @@ CBotTypResult cFloatStr( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypFloat );
|
return CBotTypResult( CBotTypFloat );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// find string in other
|
|
||||||
// exécution
|
|
||||||
|
|
||||||
bool rStrFind( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrFind( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -330,9 +314,7 @@ bool rStrFind( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// int xxx ( string, string )
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cIntStrStr( CBotVar* &pVar, void* pUser )
|
CBotTypResult cIntStrStr( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -357,9 +339,7 @@ CBotTypResult cIntStrStr( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypInt );
|
return CBotTypResult( CBotTypInt );
|
||||||
}
|
}
|
||||||
|
|
||||||
// gives a string to uppercase
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// exécution
|
|
||||||
|
|
||||||
bool rStrUpper( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrUpper( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -382,9 +362,7 @@ bool rStrUpper( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gives a string to lowercase
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// exécution
|
|
||||||
|
|
||||||
bool rStrLower( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
bool rStrLower( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -407,9 +385,7 @@ bool rStrLower( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// string xxx ( string )
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// compilation
|
|
||||||
|
|
||||||
CBotTypResult cStrStr( CBotVar* &pVar, void* pUser )
|
CBotTypResult cStrStr( CBotVar* &pVar, void* pUser )
|
||||||
{
|
{
|
||||||
// it takes a parameter
|
// it takes a parameter
|
||||||
|
@ -426,7 +402,7 @@ CBotTypResult cStrStr( CBotVar* &pVar, void* pUser )
|
||||||
return CBotTypResult( CBotTypString );
|
return CBotTypResult( CBotTypString );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
void InitStringFunctions()
|
void InitStringFunctions()
|
||||||
{
|
{
|
||||||
CBotProgram::AddFunction("strlen", rStrLen, cIntStr );
|
CBotProgram::AddFunction("strlen", rStrLen, cIntStr );
|
||||||
|
|
|
@ -0,0 +1,137 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the Colobot: Gold Edition source code
|
||||||
|
* Copyright (C) 2001-2015, Daniel Roux, EPSITEC SA & TerranovaTeam
|
||||||
|
* http://epsitec.ch; http://colobot.info; http://github.com/colobot
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
* See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see http://gnu.org/licenses
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Modules inlcude
|
||||||
|
#include "CBotTypResult.h"
|
||||||
|
|
||||||
|
// Local include
|
||||||
|
|
||||||
|
// Global include
|
||||||
|
|
||||||
|
// Forward declaration
|
||||||
|
class CBotVar;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrLen Gives the length of a chain execution
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrLen( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief cIntStr int xxx ( string ) compilation
|
||||||
|
* \param pVar
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
CBotTypResult cIntStr( CBotVar* &pVar, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrLeft Gives the left side of a chain execution
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrLeft( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief cStrStrInt string xxx ( string, int ) compilation
|
||||||
|
* \param pVar
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
CBotTypResult cStrStrInt( CBotVar* &pVar, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrRight Gives the right of a string execution
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrRight( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrMid Gives the central part of a chain execution
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrMid( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrVal Gives the number stored in a string execution.
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrVal( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief cIntStrStr int xxx ( string, string ) compilation
|
||||||
|
* \param pVar
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
CBotTypResult cIntStrStr( CBotVar* &pVar, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrUpper Gives a string to uppercase exécution
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrUpper( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief rStrLower Gives a string to lowercase exécution.
|
||||||
|
* \param pVar
|
||||||
|
* \param pResult
|
||||||
|
* \param ex
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
bool rStrLower( CBotVar* pVar, CBotVar* pResult, int& ex, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief cStrStr String xxx ( string ) compilation
|
||||||
|
* \param pVar
|
||||||
|
* \param pUser
|
||||||
|
* \return
|
||||||
|
*/
|
||||||
|
CBotTypResult cStrStr( CBotVar* &pVar, void* pUser );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief InitStringFunctions
|
||||||
|
*/
|
||||||
|
void InitStringFunctions();
|
Loading…
Reference in New Issue