´Ê¹Ù¶÷ (È«½ÂÀÏ)
|
|
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
|
|