Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
Внизслияние двух переменных типа string Найти похожие ветки
← →
Dub (2004-07-21 07:13) [0]вопрос следующий:
Есть две переменных типа String. При этом заранее известны их длины: Например 4 символа и 10 символов соответственно.
________Можно ли их слить так, чтобы вторая переменная слилась (или всавилась в первую переменную) начиная со строго фиксированного места, например с 17.
Пример: slovo:="мармелад"; stroka:=" апельсин";
Обычно: slovo+stroka, то получится мармелад апельсин.
Но необходимо получить: slovo+stroka мармелад апельсин
← →
Думкин © (2004-07-21 07:23) [1]Вопрос уточни?
Если строка 4 символа, то как в нее можно вставить начиная с 17-го?
Или она уже не 4 символа?
← →
R © (2004-07-21 07:24) [2]Ну и добавь пробелллов между ними
← →
Dub (2004-07-21 07:43) [3]пробелы вставит можно. А если изменить исходные данные: длины переменных варьируются в каких-то пределах: 1-я: 7 символов (её длина может быть не более 7 символов), а 2-я: 10.НЕо вторая строка должна всё же влиться в первую начиная с 17 символа. Это можно ?
← →
R © (2004-07-21 07:44) [4]Для образца
procedure TForm1.Button1Click(Sender: TObject);
var
S,S1,S2:String;
I,J:SmallInt;
begin
S:=Edit1.text;
S1:=Edit2.text;
I:= SpinEdit1.Value-Length(S); //позиция(17)
If I>0 Then
for J:=1 To I Do
S2:=S2+" ";
Edit3.Text:=S+S2+S1;
end;
← →
Думкин © (2004-07-21 08:02) [5]> [3] Dub (21.07.04 07:43)
Сам то пониамешь что пишешь, или как? Как влиться?
Я так мыслю:
1. Есть 2 строки.
2. Надо получить их объединение и записать результат в 1-ю, но при этом в новой строке положение второй должно быть фиксированным некоторым n.
i := length(s1);
if length(s1)<n then begin
SetLength(s1,n);
FillChar(s1[i+1],n-i,#32)
end;
Insert(s2,s1,n)
← →
Dub (2004-07-21 08:06) [6]Большое Всем спасибо: Вы поняли меня ПРЕКРАСНО - ещё раз СПАСИБО!!!
← →
Anatoly Podgoretsky © (2004-07-21 08:59) [7]Dub (21.07.04 07:43) [3]
Нельзя!
1-я: 7 символов (её длина может быть не более 7 символов), поэтому невозможно вставить начиная с 17 символа.
← →
SergP © (2004-07-21 09:43) [8]
> Dub (21.07.04 07:43) [3]
> пробелы вставит можно. А если изменить исходные данные:
> длины переменных варьируются в каких-то пределах: 1-я: 7
> символов (её длина может быть не более 7 символов), а 2-я:
> 10.НЕо вторая строка должна всё же влиться в первую начиная
> с 17 символа. Это можно ?
Дык посчитай количество пробелов которое нужно добавить в середину, типа как 17-length(slovo) а потом берешь slovo, добавляешь необходимое кол-во пробелов, затем добавляешь stroka
:
← →
FOX © (2004-07-21 11:12) [9]А что, старый добрый format уже не в моде :-)
format( "%-17.17s%s", [slovo, stroka])
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c