Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Вставить кусок в конец строки


Автор: Canada 22.7.2011, 07:36
Здравствуйте, поиск читал и нашел почти то, что мне нужно, но я не понимаю этого

Цитата

Код

SendMessage(Memo1.Handle, EM_SETSEL, Memo1.SelStart, Memo1.SelStart);
SendMessage(Memo1.Handle, EM_REPLACESEL, 0, Longint(PChar(Line)));


Line - это строка текста который нужно вставить. 


В общем, есть s.String[i] и в конец этой строки надо вставить s1, а как я не могу понять. Помогите, пожалуйста. 

Заранее благодарен! smile 

Автор: 14SatanA88 22.7.2011, 08:01
Функции работы со строками

Код

AdjustLinesBreaks(   const S: string): string    Возвращает строку, содержащую S с преобразованными символами конца строк (CR, LF, LF/CR - это используется в некоторых системах) в пары CR/LF.
AnsiCompareStr(const S1, S2:           string): Integer    Сравнивает две строки ANSI S1 и S2 с учетом регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
AnsiCompareText(const S1,       S2: string): Integer    Сравнивает две строки ANSI S1 и S2 без учета регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
AnsiLowerCase(const S:            string): string    Возвращает строку ANSI S, преобразованную к нижнему регистру. Применима для русских текстов.
AnsiUpperCase(const S:            string): string    Возвращает строку S, преобразованную к верхнему регистру. Применима для русских текстов.
CompareStr(const S1, S2:           string): Integer    Сравнивает две строки S1 и S2 с учетом регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
CompareText(const S1, S2:           string): Integer    Сравнивает две строки S1 и S2 без учета регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
Concat(s1 [, s2,..., sn]:            string): string    Возвращает строку, склеенную из строк s1, ..., sn. Идентична операции "+" для строк.
Copy(S: string; Index,    Count: Integer): string    Возвращает подстроку строки S, начинающуюся с S[Index] и содержащую до Count символов.
CurrToStr(Value: Currency):                     string    Преобразует монетарное значение Value в строку.
Delete(var S: string;        Index,Count: Integer)    Удаляет из S подстроку, начинающуюся с S[Index] и содержащую до Count символов.
DisposeStr(P: PString)    Удаляет строку, ранее размещенную динамически процедурой NewStr.
FloatToStrF(Value: Extended;       Format: TFloatFormat;        Precision, Digits:           Integer): string    Преобразует Value в строку, используя формат Format с точностью Precision и числом цифр Digits. Возможные значения Format: ffGeneral - формат g, ffExponent - формат e, ffFixed - формат f, ffNumber     - формат n, ffCurrency - формат m (обозначения форматов см. в разделе TFloatFormat).
FloatToStr(Value: Extended):                     string    Преобразует Value в строку в формате ffGeneral с точностью 15 цифр.
FormatFloat(const Format:   string; Value: Extended):                     string    Преобразует Value в строку, используя строку форматирования Format (см. Строка описания формата).
Insert(Source: string;       var S: string;       Index: Integer)    Вставляет строку Source в S, начиная с S[index].
IntToHex(Value: Integer;         Digits: Integer):                     string    Возвращает строку, содержащую шестнадцатеричное представление Value с числом возвращаемых цифр Digits.
IntToStr(Value: Integer):                     string    Возвращает строку, содержащую преобразованное целое значение Value.
IsValidIdent(const Ident:             string):                    Boolean    Проверяет, является ли Ident допустимым идентификатором Object Pascal
Length(S: string): Integer    Возвращает число символов в S.
LowerCase(const S: string):                      string    Возвращает строку S, преобразованную к нижнему регистру. Не применима для русских текстов (см. AnsiLowerCase).
NewStr(const S: string):                     PString    Динамически размещает строку S, которая может быть в дальнейшем удалена процедурой DisposeStr. Сохраняется только для обратной совместимости.
Pos(Substr: string;     S: string): Integer    Возвращает позицию (индекс) первого вхождения Substr в S. Если Substr нет в S, возвращается 0.
Str(X [: Width [: Decimals                  ]]; var S)    Преобразует целое или действительное значение X в строку S. Не обязательные параметры: Width - ширина поля, Decimals - число цифр.
StrToCurr(const S: string):                    Currency    Преобразует строку S в монетарное число.
StrToFloat(const S: string):                    Extended    Преобразует строку S в действительное число.
StrToInt(const S: string):                     Integer    Преобразует строку S в целое число.
StrToIntDef(const S: string;         Default: Integer):                     Integer    Преобразует строку S в целое число. Если строка не является допустимым целым, возвращается значение по умолчанию Default.
Trim(const S: string):                     string    Удаляет из строки S начальные и завершающие пробелы и управляющие символы.
TrimLeft(const S: string):                     string    Удаляет из строки S начальные пробелы и управляющие символы.
TrimRight(const S: string):                     string    Удаляет из строки S завершающие пробелы и управляющие символы.
UpperCase(const S: string): string    Возвращает строку S, преобразованную к верхнему регистру. Не применима для русских текстов (см. AnsiUpperCase).
Val(S; var V;     var Code: Integer)    Преобразует строку S в целое число Code.


тебе, насколько я понял, нужно соединить строки?
так это можно просто плюсом сделать.

var ss: string;
ss := s1+s2;


или 

ss := Concat(s1,s2)

если тебе нужно вставить строку не в конец, а в некоторую позицию, используй функцию Insert

Код

s1:='string1';
s2:='string2';
Insert(s1,s2,4);


В этом примере в переменную s2 будет всавлена переменная s1, начиная с 4-го символа.

Автор: superVad 22.7.2011, 09:37
Код

s.String[i] := s.String[i] + s1;

???

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)