´ñ±Û : 2 °³
Çѱ¹ µ¨ÆÄÀÌ µ¿È£È¸ µ¨¸¶´ç
´Ê¹Ù¶÷
(È«½ÂÀÏ)
 
Type
  TStringArray  = Array of AnsiString;

function GetCommaItems(Const Source : String; var  aItemArray : TStringArray; Const Delimiter : Char = ',') : Integer;
Const
  QuoteChar = '"';
var
  P, P1: PChar;
  S : string;
begin
  Result := 0;
  Setlength(aItemArray, 0);
  if Source = '' then
    Exit;
  Try
    Result := 0;
    P := PChar(Source);
    while CharInSet(P^, [#1..#$1F]) do
       P := CharNext(P);

    while P^ <> #0 do begin
      if P^ = QuoteChar then
        S := AnsiExtractQuotedStr(P, QuoteChar)
      else begin
        P1 := P;
        while (P^ > #$1F) and (P^ <> Delimiter) do
          P := CharNext(P);
        SetString(S, P1, P - P1);
      end;

      Setlength(aItemArray, Result + 1);
      aItemArray[Result] := S;
      Inc(Result);
      while CharInSet(P^, [#1..#$1F]) do
        P := CharNext(P);

      if P^ = Delimiter then begin
        P1 := P;
        if CharNext(P1)^ = #0 then
          Inc(Result);
          Setlength(aItemArray, Result);
        repeat
          P := CharNext(P);
        until not CharInSet(P^, [#1..#$1F]);
      end;
    end;
  finally
    Result := length(aItemArray);
  end;
end;
//-----------------------------------------------------

À§Äڵ带 ¼öÇàÇϸé aItemArray¿¡ ´ÔÀÌ ¾ò°íÀÚÇϴ ¹®ÀÚ¿­ÀÌ ±¸ºÐµÇ¾î ´ã±â¸ç °¹¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

·çÇÁ¸¦ µ¹·Á ¸®½ºÆ®¹Ú½º¿¡ ´ãÀ¸½Ã¸é ³¡...
 
 
2017-09-13 ¿ÀÈÄ 1:03:13
´Ê¹Ù¶÷
(È«½ÂÀÏ)
 
Áú´ä¶õÀΠÁÙ ¾Ë°í ´äº¯ ´Þ¾Ò³×¿ä.
´ãºÎÅÏ Áú¹®Àº Áú´ä¶õ¿¡.... 
2017-09-13 ¿ÀÈÄ 1:05:27