Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.31;
Скачать: 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 вся ветка

Текущий архив: 2009.05.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
9-1180095242
@!!ex
2007-05-25 16:14
2009.05.31
Вопрос по нескольким RC.


2-1240003513
Gringoire
2009-04-18 01:25
2009.05.31
SQL запрос


9-1179840980
ElectriC
2007-05-22 17:36
2009.05.31
Мой 1-й движок


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


8-1194437854
zvukoff
2007-11-07 15:17
2009.05.31
как снять звук с микрофона и тут же его выводить на колонки