Строка в кавычках
Конвертирование обычной строки в строку в кавычках
В строгом смысле, кавычка это знак или символ применяемый для выделения строки. Кавычки устанавливаются в начале и конце строки. В английском языке, кавычка представлена символом ". The VCL имеет функции для вставки или удаления кавычек из строки.
Функция AnsiQuotedStr() используется для конвертирования обычной строки в строку в кавычках. Синтаксис функции:
AnsiString __fastcall AnsiQuotedStr(const AnsiString Source, char Quote);
Эта Функция принимает одну строку, аргумент и возвращает строку с кавычками с обеих сторон. Пример:
//---------------------------------------------------------------------------
void __fastcall TForm1::edtQuotedExit(TObject *Sender)
{
char *BookTitle = edtQuoted->Text.c_str();
char Quote = '"';
AnsiString Quoted = AnsiQuotedStr(BookTitle, Quote);
edtBookTitle->Text = Quoted;
}
//---------------------------------------------------------------------------
Конвертирование строки в кавычках в обычную строку
Функция QuotedStr() применяется для добавления кавычек с обеих сторон строки. Синтаксис функции:
AnsiString __fastcall QuotedStr(const AnsiString S);
Эта Функция получает строку и возвращает её с добавленными кавычками с обеих сторон. Пример:
//---------------------------------------------------------------------------
void __fastcall TForm1::edtQuotedExit(TObject *Sender)
{
char *BookTitle = edtQuoted->Text.c_str();
AnsiString Quoted = QuotedStr(BookTitle);
edtBookTitle->Text = Quoted;
}
//---------------------------------------------------------------------------
Удаление кавычек из строки
Если строка в кавычках, то для их удаления используйте функцию AnsiExtractQuotedStr(). Синтаксис функции:
AnsiString __fastcall AnsiExtractQuotedStr(char * &Source, char Quote);
Эта Функция получает два аргумента. Параметр Source это строка с признаком окончания строки, что возвращается как значение типа AnsiString. При использовании этой функции, вы должны определить какой знак или символ будет использоваться как кавычки. Пример:
//---------------------------------------------------------------------------
void __fastcall TForm1::edtQuotedExit(TObject *Sender)
{
char *BookTitle = edtQuoted->Text.c_str();
char Quote = '"';
AnsiString RemoveQuotes = AnsiExtractQuotedStr(BookTitle, Quote);
edtBookTitle->Text = RemoveQuotes;
}
//---------------------------------------------------------------------------