Вниз
Скачать: CL | DM;

TStrings -> метод GetDelimitedText свойства DelimitedText   Найти похожие ветки 

 
NieL ©   (2009-04-16 15:00) [0]

Уважаемые Мастера, я как начинающий программист не въезжаю в некоторые тонкости поэтому прошу разъяснить следующий момент:

Вот код метода GetDelimitedText свойства DelimitedText (класс TStrings):


function TStrings.GetDelimitedText: string;
var
 S: string;
 P: PChar;
 I, Count: Integer;
begin
 Count := GetCount;
 if (Count = 1) and (Get(0) = "") then
   Result := QuoteChar + QuoteChar
 else
 begin
   Result := "";
   for I := 0 to Count - 1 do
   begin
     S := Get(I);
     P := PChar(S);
     while not (P^ in [ #0.." ", QuoteChar, Delimiter]) do
     {$IFDEF MSWINDOWS}
       P := CharNext(P);
     {$ELSE}
       Inc(P);
     {$ENDIF}
     if (P^ <> #0) then S := AnsiQuotedStr(S, QuoteChar);
     Result := Result + S + Delimiter;
   end;
   System.Delete(Result, Length(Result), 1);
 end;
end;



Чем обусловлена необходимость использования в коде блоков (без них ведь все и так как мне кажется работает как надо):


 if (Count = 1) and (Get(0) = "") then
   Result := QuoteChar + QuoteChar


и


P := PChar(S);
     while not (P^ in [ #0.." ", QuoteChar, Delimiter]) do
     {$IFDEF MSWINDOWS}
       P := CharNext(P);
     {$ELSE}
       Inc(P);
     {$ENDIF}
     if (P^ <> #0) then S := AnsiQuotedStr(S, QuoteChar);


 
clickmaker ©   (2009-04-16 15:03) [1]

> {$IFDEF MSWINDOWS}
>       P := CharNext(P);
>     {$ELSE}

CharNext есть только в windows api. Тогда как VCL задумывалась как кросс-платформенная



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
15-1237886380
AlexDan
2009-03-24 12:19
2009.05.31
Подключение Microsoft SQL Server 2005


15-1237592324
Kerk
2009-03-21 02:38
2009.05.31
Посоветуйте чего посмотреть


2-1240203801
Индеец
2009-04-20 09:03
2009.05.31
Перегрузка конструкторов


9-1180082560
@!!ex
2007-05-25 12:42
2009.05.31
Переброска изображения между Рендеринг Таргетами.


2-1240133756
dplz
2009-04-19 13:35
2009.05.31
constant expression expected в операторе case




   Наверх