Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1147233895
OrenYastreb
2006-05-10 08:04
2006.07.09
Ввод пароля в Paradox


1-1149054716
Dr. Andrew
2006-05-31 09:51
2006.07.09
Как тобразить в подсказке Hint символы U+007C?


2-1150444896
redlord
2006-06-16 12:01
2006.07.09
label и его handel


15-1149738442
Dot
2006-06-08 07:47
2006.07.09
TASM & Div DD


2-1150971343
Blari
2006-06-22 14:15
2006.07.09
Детский вопрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский