Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизПодскажите, как "разложить" строку на части. Найти похожие ветки
← →
fast2 (2006-06-16 20:28) [0]Есть строка вида "2342,5434,6765,4568,3432" Как "вірезать числа? Может есть простой алгоритм готовый?
← →
Пусик © (2006-06-16 20:33) [1]
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;
← →
fast2 (2006-06-16 20:53) [2]>Пусик © (16.06.06 20:33) [1]
Огромное спасибо!
← →
begin...end © (2006-06-16 20:58) [3]> Пусик © (16.06.06 20:33) [1]
Вопрос с задней парты: а какую роль здесь играет TStringList?
← →
sniknik © (2006-06-16 20:59) [4]зачем усложнять?
var
s: String;
begin
s := "2342,5434,6765,4568,3432";
Memo1.Lines.Delimiter:= ",";
Memo1.Lines.DelimitedText:= s;
end;
← →
fast2 (2006-06-16 21:35) [5]а если мне надо в цикле обработать. Т.е. выполнять от 1 до колич. элементов, разделенных запятой. А в цикле "прочитать" i-тый элемент.
← →
Пусик © (2006-06-16 22:25) [6]
> begin...end © (16.06.06 20:58) [3]
>
> > Пусик © (16.06.06 20:33) [1]
>
> Вопрос с задней парты: а какую роль здесь играет TStringList?
>
Для "камчатки":
TStringList здесь играет основную роль.
TMemo-же только для демонстрации показан.
> sniknik © (16.06.06 20:59) [4]
>
> зачем усложнять?
см. выше.
← →
begin...end © (2006-06-16 22:40) [7]> Пусик © (16.06.06 22:25) [6]
До "камчатки" по-прежнему не доходит глубина смысла Ваших свежих идей. Ибо тот же результат в memo можно было "продемонстрировать" и без TStringList. А пример [1], кроме демонстрации в memo, ничего больше и не показывает.
← →
Пусик © (2006-06-16 23:14) [8]
> 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 23:23) [9]> Пусик © (16.06.06 23:14) [8]
LOL
← →
Leonid Troyanovsky © (2006-06-16 23:31) [10]
> Пусик © (16.06.06 23:14) [8]
> Надеюсь, что теперь понятно будет:
> LOL
Непедагогично, IMHO, бо Начинающим.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.232 c