![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос
bondik © (2002-11-14 16:03:00)Можно.как написать в Delphi аналог процедуры Insert, но процедурой Delete и функцией Copy не пользоваться.
В первой строке входа дана подстрока, которая вставляется, во второй строке входа строка, куда вставляется и в третьей строке входа позиция, начиная с которой подстрока будет входить в строку.
Игорь Шевченко (2002-11-14 16:39:00) [1]Skier © (14.11.02 16:25)
Тогда я пас - учиться всегда нужно самому :-)
С уважением,
Андрей Прокофьев (2002-11-14 16:34:00) [2]Что-то в этом роде:
procedure MyInsert(const SubStr : String; var Str : String; const Index : Integer);
var L : Integer;
begin
L := Length(SubStr);
SetLength(Str, Length(Str)+ L);
Move(Str[Index], Str[Index+L], L);
Move(SubStr[1], Str[Index], L);
end;
Reindeer Moss Eater (2002-11-14 16:33:00) [3]StrNew + StrCopy,StrPCopy or Move
Skier (2002-11-14 16:25:00) [4]>Игорь Шевченко
От преподавателя... :))
NickBat (2002-11-14 16:24:00) [5]
function MyIns(SubStr, Str: string; Ind: integer): string;
var
ii: integer;
begin
Result:="";
for ii:=1 to Length(Str) do
begin
if ii<>Ind
then Result:=Result+Str[ii]
else Result:=Result+Substr;
end;
end;
Ну и по-хорошему вставить проверку на корректность позиции в строке куда вставлять (чтоб не больше длины строки).
Игорь Шевченко (2002-11-14 16:24:00) [6]bondik (14.11.02 16:03)
Можно, только откуда взялись такие условия ?
KoluChi (2002-11-14 16:22:00) [7]>Андрей Прокофьев © (14.11.02 16:05)
>см StrUtols.StuffString
function StuffString(const AText: string; AStart, ALength: Cardinal;
const ASubText: string): string;
begin
Result := Copy(AText, 1, AStart - 1) +
ASubText +
Copy(AText, AStart + ALength, MaxInt);
end;
Или не тот StrUtils.pas?
serz (2002-11-14 16:16:00) [8]так сказано
stone (2002-11-14 16:07:00) [9]а почему нельзя пользовать Copy?
KoluChi (2002-11-14 16:06:00) [10]Изобретаем велосипед? Можно, по-символьно.
Андрей Прокофьев (2002-11-14 16:05:00) [11]см StrUtols.StuffString