|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Работа со строками
Приветствую!
Ребята, скажите как из строки такого типа: "255,155,155" вытащить каждое из трех значений в переменную? |
#2
|
||||
|
||||
Copy() с позициями групп чисел. Подходит при постоянной длине исходной строки.
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Alloc (14.02.2016)
|
#3
|
|||
|
|||
Если строка всегда по одному шаблону,то
Код:
var S,S1,S2,S3:String; begin S:='255,255,255'; S1:=Copy(S,1,3); S2:=Copy(S,4,3); S3:=Copy(S,9,3); end; |
Этот пользователь сказал Спасибо Oleg.E за это полезное сообщение: | ||
Alloc (14.02.2016)
|
#4
|
||||
|
||||
Цитата:
Дело в том, что значения могут быть и такого типа: 10,122,255.. поэтому нужно как то смотреть по запятым, но вот я не знаю как. Вообще это у меня цвет в RGB который я буду сохранять и загружать в/из ini файла |
#5
|
||||
|
||||
Цитата:
большая ссылка Flash, Flash, Hundred Yard Dash! Buddy, it's nice to see you. |
Этот пользователь сказал Спасибо Verevkin за это полезное сообщение: | ||
Alloc (15.02.2016)
|
#6
|
|||
|
|||
как-то так
Код:
var S:String; S1,S2,S3:String; p:Integer; begin S:='1,15,255'; p:=pos(',',S); S1:=copy(S,1,p-1); S:=copy(S,P+1,100);//100-заведомо большое число S2:=Copy(S,1,p-1); S3:=Copy(S,p+1,100); end; |
#7
|
||||
|
||||
Можно ещё средствами строкового списка
Код:
var dt: array of byte; sl: TStrings; i: integer; begin Memo1.Clear; sl:= TStringList.Create; sl.DelimitedText:= '10,122, 255,243 1,5,62'; SetLength(dt, sl.Count); for i := Low(dt) to High(dt) do dt[i]:= StrToInt(sl[i]); sl.Free; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |