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


Автор: poiuyt1234 16.2.2009, 14:31
Есть строка. Например нужно выбрать подстроку с первой буквой восьмым символом в исходной строке и последней буквой 21 символом в исходной строке. Есть ли функции делающие такое? или надо свой код писать? 

Автор: Данкинг 16.2.2009, 15:55
Copy не подходит?

Автор: Poseidon 16.2.2009, 17:08
Чот не совсем понятны словосочитания
Цитата(poiuyt1234 @  16.2.2009,  14:31 Найти цитируемый пост)
первой буквой восьмым символом

и
Цитата(poiuyt1234 @  16.2.2009,  14:31 Найти цитируемый пост)
последней буквой 21 символом


Можно на примере что надо?

Автор: Kbl4AH 16.2.2009, 17:34
Цитата(Poseidon @  16.2.2009,  17:08 Найти цитируемый пост)
Чот не совсем понятны словосочитания

вырезать из строки символы с 8-го по 21-й smile 

Автор: Poseidon 16.2.2009, 17:38
Цитата(Kbl4AH @  16.2.2009,  17:34 Найти цитируемый пост)
вырезать из строки символы с 8-го по 21-й 
ну так епть
Код

copy(stroka, 8, 21-8 +1)

 smile 

Автор: Akella 16.2.2009, 19:07
Вы все не правы! Человеку нужна специальная функция, а не ваше copy smile 

Автор: Virtuals 16.2.2009, 21:30
во у меня есть такая
правда не уверен что в вашем дистр. она есть, у мну поставка по спецзаказу.
Код

function specialchikchik(stroka:string;ot,do:integer):string;
begin
if ot <length(stroka) then
 if do =<length(stroka) then
  if ot =<do then
result:=copy(stroka, ot, do-ot +1)
else result:='sam durak parametri prover';
end;

 smile 

Автор: Christoph 16.2.2009, 23:51
Классные параметры  smile 

Автор: Poseidon 17.2.2009, 00:38
Virtuals, тебе же сказали, copy не катит. Надо так:
Код

function specialchikchik(stroka: string; otsuda, dosuda: integer): string;
var
  i: Integer;
begin
  for i:= otsuda to dosuda do
  Result:= Result+ stroka[i];
end;

 smile 

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