Главная страница
    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.47 MB
Время: 0.01 c
2-1150487677
Float
2006-06-16 23:54
2006.07.09
Включение компа


2-1150648613
mctarik
2006-06-18 20:36
2006.07.09
Почему ничего не происходит при выполнении данного кода ...


15-1150178594
Ega23
2006-06-13 10:03
2006.07.09
С Днём рождения! 13 июня


2-1150568892
PRT
2006-06-17 22:28
2006.07.09
Как найти handlu всех открытых приложений ???


2-1150873143
greg123
2006-06-21 10:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский