Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

разделители триад [D7]


dim2001 ©   (2006-06-13 14:54:00) 

уважаемые спецы!! меня заклинило, как убрать символ разделителя триад ' при считывании из файла переменной типа string


TUser   (2006-06-13 18:07:00) [1]


> n:=1;
> while n<length(s) do begin
>  if s[n]='''' then begin
>    delete(s, n, 1)
>    continue;
>  end;
>  n:=n+1;
> end;
> должно работать

не должно, если символ '''' - первый или последний в строке, и в других случаях также черевато ошибкой.

n:=1;
while n <= length (s) do
 if s[n] = '''' then
   delete (s, n, 1)
   else inc (n);

n := 1;
for i := 1 to length (s) do begin
 if s[i] <> '''' then
   s[n] := s[i]
   else dec (n);
   inc (n);
 end;
SetLength (s, n-1);


Александр Иванов   (2006-06-13 16:37:00) [2]

проверил, работает:
m:='11'#39'222.33';
ShowMessage(StringReplace(m, #39, '', []));


tButton   (2006-06-13 16:33:00) [3]

n:=1;
while n<length(s) do begin
 if s[n]='''' then begin
   delete(s, n, 1)
   continue;
 end;
 n:=n+1;
end;

должно работать


dim2001   (2006-06-13 16:10:00) [4]

попробовал
    mys:=StringReplace( mystr,'''','',[ ]);
где mystr числа вроде 11'222.33    mys=1122233  съедает точку  
что за ерунда ???  точно сегодня 13-е .......


novill   (2006-06-13 15:26:00) [5]

что может быть проще Stringreplace?


dim2001   (2006-06-13 15:08:00) [6]

мне бы попроще я нашел номер этого символа AnsiPos() а какой функцией его экстракт забыл


Александр Иванов   (2006-06-13 15:04:00) [7]

replace


Наверх

Титульная страница Поиск, карта сайта Написать письмо