![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, как "разложить" строку на части. [D7, 95/98]
fast2 © (2006-06-16 20:28:00)Есть строка вида '2342,5434,6765,4568,3432' Как "вірезать числа? Может есть простой алгоритм готовый?
Leonid Troyanovsky (2006-06-16 23:31:00) [1]
> Пусик © (16.06.06 23:14) [8]
> Надеюсь, что теперь понятно будет:
> LOL
Непедагогично, IMHO, бо Начинающим.
--
Regards, LVT.
begin...end (2006-06-16 23:23:00) [2]> Пусик © (16.06.06 23:14) [8]
LOL
Пусик (2006-06-16 23:14:00) [3]
> begin...end © (16.06.06 22:40) [7]
Надеюсь, что теперь понятно будет:
type
TArrNum=array of Integer;
...
function ParseStrNum(const Src: String): TArrNum;
var
L: TStringList;
i: Integer;
begin
L := TStringList.Create;
try
L.Text := StringReplace(Src,',',#13#10,[rfReplaceAll]);
SetLength(Result,L.Count);
for i := 0 to L.Count-1 do Result[i] := StrToInt(L[i]);
finally
L.Free;
end;
end;
Вызов:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
Arr: TArrNum;
begin
s := '2342,5434,6765,4568,3432';
Arr := ParseStrNum(s);
PS.
Что за манера устраивать придирки. Выдана идея, нет - надо придраться и получить полный код.
Может, тебе и теперь код непонятен? Могу даже и комментарии еще написать. Специально для камчатки.
begin...end (2006-06-16 22:40:00) [4]> Пусик © (16.06.06 22:25) [6]
До "камчатки" по-прежнему не доходит глубина смысла Ваших свежих идей. Ибо тот же результат в memo можно было "продемонстрировать" и без TStringList. А пример [1], кроме демонстрации в memo, ничего больше и не показывает.
Пусик (2006-06-16 22:25:00) [5]
> begin...end © (16.06.06 20:58) [3]
>
> > Пусик © (16.06.06 20:33) [1]
>
> Вопрос с задней парты: а какую роль здесь играет TStringList?
>
Для "камчатки":
TStringList здесь играет основную роль.
TMemo-же только для демонстрации показан.
> sniknik © (16.06.06 20:59) [4]
>
> зачем усложнять?
см. выше.
fast2 (2006-06-16 21:35:00) [6]а если мне надо в цикле обработать. Т.е. выполнять от 1 до колич. элементов, разделенных запятой. А в цикле "прочитать" i-тый элемент.
sniknik (2006-06-16 20:59:00) [7]зачем усложнять?
var
s: String;
begin
s := '2342,5434,6765,4568,3432';
Memo1.Lines.Delimiter:= ',';
Memo1.Lines.DelimitedText:= s;
end;
begin...end (2006-06-16 20:58:00) [8]> Пусик © (16.06.06 20:33) [1]
Вопрос с задней парты: а какую роль здесь играет TStringList?
fast2 (2006-06-16 20:53:00) [9]>Пусик © (16.06.06 20:33) [1]
Огромное спасибо!
Пусик (2006-06-16 20:33:00) [10]
var
L: TStringList;
s: String;
begin
s := '2342,5434,6765,4568,3432';
L := TStringList.Create;
try
L.Text := StringReplace(s,',',#13#10,[rfReplaceAll]);
Memo1.Lines.Text := L.Text;
finally
L.Free;
end;