![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пробелы задолбали [D7]
GeoShot © (2009-10-06 17:09:00)Добрый день, подскажите: считываю с Memo с заданного диапазона позиций значение в переменную integer, бывает что весь диапазон заполнен пробелами.
faiwer (2009-10-06 17:33:00) [1]s:= ...; // string
ss:='';
for t:=1 to length(s) do
if s[t] in ('0'..'9') then ss:=ss+s[t];
if ss='' then value:=0 else value:=inttostr(ss);
чтото вроде этого сгодится? )
GeoShot (2009-10-06 17:16:00) [2]по сути мне надо заменить 5пробелов в 0
GeoShot (2009-10-06 17:15:00) [3]Да я вроде так и делаю CDP[k] - строковый масив, а ICDTV[k,0] - целочисленный
faiwer (2009-10-06 17:13:00) [4]А по русски? у тя есть мемо в которой цифры и пустота, ты считываешь с нужного места текст в надежде получить оттуда int но иногда там просто пробелы?
ну дык считывай их в строку, а из строки вручную выцеживай число.
GeoShot (2009-10-06 17:12:00) [5]for i:=stLine to enLine do
begin
CDP[k] :=Copy(Memo1.Lines[i-1],StrToInt(StringGrid1.Cells[1,1]),StrToInt(StringGrid1.Cells[3,1]));
Time[k]:=Copy(Memo1.Lines[i-1],StrToInt(StringGrid1.Cells[1,2]),StrToInt(StringGrid1.Cells[3,2]));
Vel[k] :=Copy(Memo1.Lines[i-1],StrToInt(StringGrid1.Cells[1,3]),StrToInt(StringGrid1.Cells[3,3]));
ICDTV[k,0]:=StrToInt(CDP[k]);
ICDTV[k,1]:=StrToInt(Time[k]);
ICDTV[k,2]:=StrToInt(Vel[k]);
k:=k+1;
end;