Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо