本文整理汇总了C++中AnsiString::Pos方法的典型用法代码示例。如果您正苦于以下问题:C++ AnsiString::Pos方法的具体用法?C++ AnsiString::Pos怎么用?C++ AnsiString::Pos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnsiString
的用法示例。
在下文中一共展示了AnsiString::Pos方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FileListCreator
//---------------------------------------------------------------------------
void FileListCreator(AnsiString TopDir, TStringList *SL, AnsiString Exts, bool SubFolder)
{
void *Handle;
TWin32FindData Data;
Exts = UpperCase(Exts);
Handle = FindFirstFile((TopDir + "\\*.*").c_str(), &Data);
if (Handle == INVALID_HANDLE_VALUE) return;
if (!((AnsiString(Data.cFileName) == ".") || (AnsiString(Data.cFileName) == ".."))){
if (Exts.Pos(ExtractFileExt(Data.cFileName).UpperCase())){
SL->Add(TopDir + "\\" + Data.cFileName);
}
if ((Data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && SubFolder){
FileListCreator(TopDir + "\\" + Data.cFileName, SL, Exts);
}
}
while (FindNextFile(Handle, &Data)){
if (!((AnsiString(Data.cFileName) == ".") || (AnsiString(Data.cFileName) == ".."))){
if (Exts.Pos(ExtractFileExt(Data.cFileName).UpperCase())){
SL->Add(TopDir + "\\" + Data.cFileName);
}
if ((Data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && SubFolder){
FileListCreator(TopDir + "\\" + Data.cFileName, SL, Exts);
}
}
}
FindClose(Handle);
}
示例2: CurCardLost
// это таймер приема данных
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
char ch;
DWORD temp;
if (!ReadFile(hPort, &ch, 1, &temp, NULL)) return; // читаем посимвольно
if (ch!='\r') sRecString+=ch; // и ждем конца строки
else
{
int index =sRecString.Pos("Card Out"); // пришло сообщение о извлечении карты
if (index!=0) // ну может имеет смысл это убрать все это. чтоб стабилнее работало
{ mLog->Lines->Add("get Card Out");
CurCardLost();
}
index = sRecString.Pos("CurCard"); // CurCard - это префикс такой
if (index==0)
{
sRecString="";
return;
}
AnsiString sNewCardID;
sNewCardID=sRecString.SubString(index+8,sRecString.Length()-index-7);
sRecString="";
if (sNewCardID!=lCurCardID->Caption) NewCardFound(sNewCardID);
bGetCardFlag=true;
}
}
示例3: ZnajdzTekstOpini
//---------------------------------------------------------------------------
/// Meotoda odpowiada za w³aœciwe wyszukiwanie danych opini, metoda przyjmuje znaczniki pocz¹tkowe oraz koñcowe,
/// pomiêdzy którymi znajduj¹ siê po¿¹dane teksty.
AnsiString __fastcall ParsujDane::ZnajdzTekstOpini(AnsiString &ATextOpini, AnsiString AZnacznikPocz, AnsiString AZnacznikKoniec, bool ATnij)
{
AnsiString txt;
int pozycjaZnacznik, start, koniec;
pozycjaZnacznik = ATextOpini.Pos(AZnacznikPocz);
if (pozycjaZnacznik == 0) return "";
while (true)
{
txt += ATextOpini[pozycjaZnacznik];
if (ATnij) { if (txt.Pos(AZnacznikPocz) > 0) { txt = txt.Delete(1, AZnacznikPocz.Length()); } }
if (txt.Pos(AZnacznikKoniec) > 0) break;
pozycjaZnacznik++;
}
if (!ATnij)
{
start = AZnacznikPocz.Length() + 1;
koniec = txt.Length() - AZnacznikPocz.Length() - AZnacznikKoniec.Length();
}
else
{
start = 1;
koniec = txt.Length() - AZnacznikKoniec.Length();
}
txt = txt.SubString(start, koniec);
txt.TrimLeft(); txt.TrimRight();
return txt;
}
示例4: QDialog
ConnectDialog::ConnectDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ConnectDialog) {
ui->setupUi(this);
setWindowIcon(QIcon(QString::fromUtf8(":/resources/conceptclienticon.png")));
ui->label->setBuddy(ui->addressEdit);
QStringList wordList;
AnsiString history;
#ifdef _WIN32
h_path = getenv("LOCALAPPDATA");
if (!h_path.Length())
h_path = getenv("APPDATA");
mkdir(h_path + "/ConceptClient-private");
h_path += (char *)"/ConceptClient-history.dat";
#else
h_path = getenv("HOME");
mkdir(h_path + "/.ConceptClient-private", 0777L);
h_path += (char *)"/.ConceptClient-history";
#endif
history.LoadFile(h_path.c_str());
this->history = history;
AnsiString sep = "\n";
int len_sep = sep.Length();
int pos = history.Pos(sep);
int index = 0;
int start = 0;
while (pos > 0) {
if (pos > 1) {
history.c_str()[pos - 1] = 0;
wordList << history.c_str();
}
AnsiString temp = history;
history = temp.c_str() + pos + len_sep - 1;
pos = history.Pos(sep);
}
QCompleter *completer = new QCompleter(wordList);
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui->addressEdit->setCompleter(completer);
ui->addressEdit->setText(QString::fromUtf8("concept://"));
ui->addressEdit->addAction(QIcon(QString::fromUtf8(":/resources/gtk-index.png")), QLineEdit::LeadingPosition);
QAction *action = ui->addressEdit->addAction(QIcon(QString::fromUtf8(":/resources/gtk-delete.png")), QLineEdit::TrailingPosition);
QStyle *l_style = QApplication::style();
ui->OkButton->setIcon(l_style->standardIcon(QStyle::SP_DialogOkButton));
ui->CancelButton->setIcon(l_style->standardIcon(QStyle::SP_DialogCancelButton));
QObject::connect(action, SIGNAL(triggered()), this, SLOT(clearHistory()));
}
示例5: GetStrWithReplacedPoints
//---------------------------------------------------------------------------
AnsiString GetStrWithReplacedPoints(AnsiString Str, AnsiString PointStr=GetPointStr())
{
AnsiString RetStr;
int posPoint=Str.Pos(",");
if (posPoint>0) RetStr=Str.SubString(1,posPoint-1)+PointStr+Str.SubString(posPoint+1,Str.Length()-posPoint);
posPoint=Str.Pos(".");
if (posPoint>0) RetStr=Str.SubString(1,posPoint-1)+PointStr+Str.SubString(posPoint+1,Str.Length()-posPoint);
return RetStr;
}
示例6: IsFileNameOrURL
//---------------------------------------------------------------------------
bool IsFileNameOrURL(AnsiString S)
{
if (S.Pos(":\\")){
//ファイル(ルートフォルダのあるもの)
return true;
}else if (S.Pos("\\\\")){
//ネットワーク上のファイル?
return true;
}else if (S.Pos("://")){
//URL
return true;
}
return false;
}
示例7: tcpServerExecute
void __fastcall TfrmMain::tcpServerExecute(TIdPeerThread *AThread)
{
TSimpleClient *Client;
AnsiString Com; // System command
AnsiString Msg;
//Get the text sent from the client
try
{
Msg = AThread->Connection->ReadLn("",5000);
}
catch (...)
{
}
// Get the clients package info
if (Msg.Length()==0)return;
Client = (TSimpleClient *)(AThread->Data);
// Check to see if the clients name has been assigned yet
if (Client->Name == "Logging In")
{
// if not, assign the name and announce the client
Client->Name = Msg;
UpdateClientList();
BroadcastMessage("System", Msg + " has just logged in.");
AThread->Connection->WriteLn(memEntry->Lines->Text);
}
else
// If name is set, then send the message
if (Msg[1] != '@')
{
// Not a system command
BroadcastMessage(Client->Name, Msg);
}
else
{
// System command
Com = UpperCase(Trim(Msg.SubString(2, Msg.Pos(":") -2)));
Msg = UpperCase(Trim(Msg.SubString(Msg.Pos(":") +1, Msg.Length())));
if (Com == "CLIENTS")
AThread->Connection->WriteLn( AnsiString("@") + AnsiString("clients:") +
lbClients->Items->CommaText);
if (Com == "KILL")
KillClient(Msg);
}
}
示例8: ZnajdzDane
//---------------------------------------------------------------------------
/// Metoda odpowiada za znalezienie danych w przekazanym tekœcie, szukany tekst musi znajdowaæ siê pomiêdzy
/// pocz¹tkowym znacznikiem a znakiem wystêpuj¹cym na koñcu tekstu, w przypadku nie znalezienie znacznika pocz¹tkowego
/// metoda zwraca pusty tekst.
AnsiString __fastcall ParsujDane::ZnajdzDane(AnsiString &AText, AnsiString AZnacznikPocz, char AZnakKonca)
{
int pozycjaZnacznik, start, koniec;
AnsiString tekst, str = "";
pozycjaZnacznik = AText.Pos(AZnacznikPocz);
start = pozycjaZnacznik;
if (pozycjaZnacznik == 0) return "";
pozycjaZnacznik = pozycjaZnacznik + AZnacznikPocz.Length();
while(AText[pozycjaZnacznik] != AZnakKonca)
{
str += AText[pozycjaZnacznik];
pozycjaZnacznik++;
if ((AText[pozycjaZnacznik] == ']' && AText[pozycjaZnacznik - 1] != '\"') ||
(AText[pozycjaZnacznik] == '\"' && AText[pozycjaZnacznik - 1] == '\\'))
{
str += AText[pozycjaZnacznik];
pozycjaZnacznik++;
}
}
koniec = pozycjaZnacznik;
AText.Delete(start, koniec + 1 - start);
str.TrimLeft(); str.TrimRight();
return str;
}
示例9: ConvertPathCygwinToWindows
AnsiString GenericUtils::ConvertPathCygwinToWindows(AnsiString original){
//In case of source path I have to fix the Drive letter as well
if(original.Length() > 11 && original.Pos("/cygdrive/") == 1){
AnsiString driveLetter = original[11];
original = driveLetter + ":\\" + original.SubString(13, original.Length());
}
AnsiString answer;
//This loop fixes the spaces
for(int i = 1; i <= original.Length(); i++){
if(i != original.Length() && original[i] == '\\' && original[i + 1] == ' '){
answer += ' ';
i++; //Skip the next character since it is a space
}else{
answer += original[i];
}
}
//Now fix the back slashes
for(int i = 1; i <= answer.Length(); i++){
if(answer[i] == '/'){
answer[i] = '\\';
}
}
return answer;
}
示例10: FormShow
//---------------------------------------------------------------------------
void __fastcall TfrmClimateAM::FormShow(TObject *Sender)
{
int cant=AnsiString(condTemp->FileName).Length();
if (cant==0)
{
}
else
{
int existe=access(condTemp->FileName, 0);
if(existe==-1) // el archivo no existe
{
Application->MessageBox("The specified file does not exist!!!","¡Advertencia!",MB_OK);
return;
}
else
{
FileData *util=new FileData();
AnsiString nombre = AnsiString(condTemp->FileName);
int posicion=nombre.Pos(".");
int longitud=nombre.Length();
int caract=longitud-posicion;
AnsiString ext=nombre.SubString(posicion+1,caract);
if(ext=="prn") num=util->GetFieldsName(List,condTemp->FileName);
if(ext=="csv") num=util->GetFieldsNameFromCSVFile(List,condTemp->FileName);
delete util;
}
}
PutValuesOnForm();
}
示例11: UsunZnacznik
//---------------------------------------------------------------------------
/// Metoda odpowiedzialna za usunieciê przekazanych znaczników z przekazanego tekstu,
/// metoda umo¿liwia umieszczenie znacznika konca lini w zamian za przyjmowany znacznik
void __fastcall ParsujDane::UsunZnacznik(AnsiString &AText, AnsiString AZnacznik, bool AWstawENDL)
{
int pozycjaZnacznik, i;
i = 0;
while (true)
{
pozycjaZnacznik = AText.Pos(AZnacznik);
if (AZnacznik == ' ')
{
if (AText.Pos(' ') > 1) break;
}
if (pozycjaZnacznik > 0) AText.Delete(pozycjaZnacznik, AZnacznik.Length());
if (pozycjaZnacznik > 0 && AWstawENDL) AText.Insert("<ENDL>",pozycjaZnacznik);
if (pozycjaZnacznik == 0) break;
}
AText.TrimLeft(); AText.TrimRight();
}
示例12: StrToIntEx
int __fastcall TThreadSubmitToDB::GetRowsForSQLLDR(const AnsiString & Text)
{
int Result = -1;
if(Text.Pos(SQLLDR_KEY_WORD1) > 0)
{
Result = StrToIntEx(Text.SubString(strlen(SQLLDR_KEY_WORD1) + 1,Text.Length() - strlen(SQLLDR_KEY_WORD1) + 1).c_str());
}
return Result;
}
示例13: while
//---------------------------------------------------------------------------
TStringList * __fastcall TForm1::Parse(AnsiString str ,AnsiString delimeter)
{
TStringList *list = new TStringList ;
int pos = str.Pos(delimeter);
if(pos<=0)
{
list->Add(str);//no delimeter so only this
return list ;
}
while(pos >0)
{
AnsiString unit = str.SubString(1,pos-1);
str = str.SubString(pos+1,str.Length()-pos);
list->Add(unit);
pos = str.Pos(delimeter);
}
return list ;
}
示例14: KeyPressDbl
void __fastcall TfrmPropVisor::KeyPressDbl(TObject *Sender, char &Key)
{
AnsiString s;
s = ((TEdit*)Sender)->Text;
bool Num = ((Key >= '0') && (Key <= '9'));
bool Dec = ((Key == DecimalSeparator) && (s.Pos(DecimalSeparator) == 0));
//bool Neg = ((Key == '-') && (((TEdit*)Sender)->SelStart == 0) && (s.Pos('-') == 0));
if( !Num && !Dec /*&& !Neg*/ )
Key = 0;
}
示例15: GetStrName
//用空格或者'-'分割字符串,取后部分。
AnsiString GetStrName(AnsiString AStr)
{
AnsiString IName;
int IPos;
IPos = AStr.Pos("-");
if(IPos == 0)
{
IPos = AStr.Pos(" ");
if(IPos == 0)
{
IName = "";
}
else
{
IName = AStr.SubString(IPos + 1, AStr.Length());
}
}
else
{
IName = AStr.SubString(IPos + 1,AStr.Length());
}
return IName;
}