![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выдернуть подструку из строки [D7, XP]
Ezorcist © (2006-09-28 22:25:00)заключенную в символы.
т.е. для строки
F(Str,Sym:String):Sring;
F('bla-bla!DATA!bla-bla-bla','!')='DATA'
ProgRAMmer Dimonych (2006-09-29 16:15:00) [1]А если строка будет '123!234!23232!2323', что надо выдавать?
Ezorcist (2006-09-29 16:12:00) [2]2 Loginov Dmitry
thx!
Loginov Dmitry (2006-09-29 14:58:00) [3]Ketmar © (29.09.06 11:38) [13]
фигня получится.
А абаснавать?
Ketmar (2006-09-29 11:38:00) [4]>[12] Loginov Dmitry(c) 29-Sep-2006, 07:42
фигня получится.
Loginov Dmitry (2006-09-29 07:42:00) [5]procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := 'bla-bla!DATA!bla-bla-bla';
Caption := AnsiDequotedStr(string(@S[Pos('!', S)]),'!')
end;
:))
Германн (2006-09-29 02:45:00) [6]
> SergP © (29.09.06 02:28) [10]
Я то собсс-но писАл свой пост для автора! А он молчит! И все изыскания на форуме, имхо невпопад. :-(
Может подойдёт один пример, может другой а может и никакой!
SergP (2006-09-29 02:28:00) [7]> [0] Ezorcist (28.09.06 22:25)
> заключенную в символы.
>
> т.е. для строки
>
> F(Str,Sym:String):Sring;
>
> F('bla-bla!DATA!bla-bla-bla','!')='DATA'
Ну типа так можно:
Не проверял, но по идее должно работать.
А до ума уже сам доводи...
function F(Str,Sym:String):Sring;
var
k:integer;
begin
Result:=Str;
k:=pos(Sym,result);
if k>0 then delete(result,1,length(Sym)+k-1);
k:=pos(Sym,result);
if k>0 then SetLength(result,k-1);
end;
Германн (2006-09-29 01:50:00) [8]
> Fay © (29.09.06 01:13) [8]
>
> 2 Германн © (29.09.06 1:09) [7]
> > А строка DATA в примере ./DATA./ во что включена? Не в
> символы что-ли?
> Нет.
>
А во что тогда?
Или
> Мне опять высказаться о "проблемах с терминологией" на форуме"?
Fay (2006-09-29 01:13:00) [9]2 Германн © (29.09.06 1:09) [7]
> А строка DATA в примере ./DATA./ во что включена? Не в символы что-ли?
Нет.
Германн (2006-09-29 01:09:00) [10]
> Fay © (29.09.06 01:02) [6]
>
> 2 Германн © (29.09.06 0:30) [5]
> > Поскольку TStrings.Delimiter имеет тип Char, а по примеру
> ...
> Сабж : "Выдернуть подструку из строки заключенную в символы"
>
Мне опять высказаться о "проблемах с терминологией" на форуме"?
А строка DATA в примере ./DATA./ во что включена? Не в символы что-ли?
Fay (2006-09-29 01:02:00) [11]2 Германн © (29.09.06 0:30) [5]
> Поскольку TStrings.Delimiter имеет тип Char, а по примеру ...
Сабж : "Выдернуть подструку из строки заключенную в символы"
Германн (2006-09-29 00:30:00) [12]
> default © (28.09.06 23:43) [4]
>
> Ketmar © (28.09.06 23:31) [3]
> я про сам вопроса сабжа
>
А что такого в вопросе? Для конференцииНачинающимвполне приемлемо.
А вот в Кэтмара [1] можно было бы кинуть камень. Поскольку TStrings.Delimiter имеет тип Char, а по примеру в вопросе F(Str,Sym:String):Sring;
требуется String!
"Можно было бы", но не советую. Во-первых (имхо) ему все эти камни по-фигу, как и мне. А во-вторых, в ответ может полететь другой камень, более тяжёлый и более меткий! :-)
default (2006-09-28 23:43:00) [13]Ketmar © (28.09.06 23:31) [3]
я про сам вопроса сабжа
Ketmar (2006-09-28 23:31:00) [14]зато писать ничего не надо. %-)
default (2006-09-28 23:19:00) [15]мда
Ketmar (2006-09-28 22:43:00) [16]TStrings.Delimiter, TStrings.DelimitedText?