Главная страница
    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.009 c
6-1141146769
ftpnoob
2006-02-28 20:12
2006.07.09
Организация FTP-сервера


1-1148648699
001
2006-05-26 17:04
2006.07.09
Стрелка в Excel


2-1150554637
antoxa2005
2006-06-17 18:30
2006.07.09
Missing configuration file c: Program Files Firebird Firebird_1_5


3-1147340281
rubzov11
2006-05-11 13:38
2006.07.09
doa4 c delphi77


15-1149848331
Чапаев
2006-06-09 14:18
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский