Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Anton Martynov                       2:5080/1003    10 Jun 2003  14:57:04
 To : Alexander Chelmodeev
 Subject : Re: TABs -> Spaces
 -------------------------------------------------------------------------------- 
 
 "Alexander Chelmodeev" <Alexander.Chelmodeev@p5.f17.n5062.z2.fidonet.org>
 wrote in message news:1055190549@p5.f17.n5062.z2.fidonet.ftn...
 
 >  AM> есть файл. текстовый. кое-где в строках встречаются TABы,
 >  AM> которые мне надо преобразовать в пробелы... пользуюсь функцией:
 >
 > Function tab2space(s:String; i:integer):string;
 > begin
 >   result:=copy(s,1,i-1)+copy('        ',1,9-(i mod 8));
 >   result:=result+copy(s, i+1, maxint);
 > end;
 
 привет...
 
 не, александр, это не катит. в твоем примере неаакуратная замена
 происходит. я сделал так:
 
 function ReplaceTabs(s: string): string;
 var
   ss: string;
   i, j: integer;
   ch: char;
   SpaceCount, CurrentPosition, NextPosition: integer;
   Spaces: string;
 begin
   Result:=s;
   if (Pos(#9, s) = 0) then
     Exit;
 
   ss:='';
   for i:=1 to Length(s) do begin
     ch:=s[i];
     if (ch = #9) then begin
       if ((i mod 8) = 0) then begin
         ss:=ss + ' ';
         continue;
       end;
       if ((i mod 8) <> 0) then begin
         CurrentPosition:=Length(ss) + 1;
         NextPosition:=9 - (CurrentPosition mod 8) + CurrentPosition;
         SpaceCount:=NextPosition - CurrentPosition;
         Spaces:='';
         for j:=1 to SpaceCount do begin
           Spaces:=Spaces + ' ';
         end;
         ss:=ss + Spaces;
       end;
     end
     else begin
       ss:=ss + ch;
     end;
   end;
   Result:=ss;
 end;
 
 --
 enjoy with a poison...
     injected with a poison ... d909 (ua)
 --- ifmail v.2.15dev5
  * Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 TABs -> Spaces   Anton Martynov   09 Jun 2003 12:00:01 
 Re: TABs -> Spaces   Anton Martynov   09 Jun 2003 13:04:00 
 TABs -> Spaces   Yura Balyuk   15 Jun 2003 13:55:08 
 TABs -> Spaces   Anton Martynov   18 Jun 2003 10:54:03 
 TABs -> Spaces   Alexander Chelmodeev   09 Jun 2003 20:28:19 
 Re: TABs -> Spaces   Anton Martynov   10 Jun 2003 14:57:04 
 Re: TABs -> Spaces   Andrew S. Bogatyrev   10 Jun 2003 13:24:29 
 TABs -> Spaces   Alexander Chelmodeev   18 Jun 2003 23:01:26 
 Re: TABs -> Spaces   Anton Martynov   19 Jun 2003 10:50:20 
Архивное /ru.algorithms/146465154ab4a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional