mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 18:49:16 +02:00
* AlwaysQuote added (bug ID 31126)
git-svn-id: trunk@35333 -
This commit is contained in:
parent
0013769c4b
commit
f0a8355b84
@ -603,6 +603,7 @@ type
|
|||||||
FDefaultEncoding: TEncoding;
|
FDefaultEncoding: TEncoding;
|
||||||
FEncoding: TEncoding;
|
FEncoding: TEncoding;
|
||||||
FSpecialCharsInited : boolean;
|
FSpecialCharsInited : boolean;
|
||||||
|
FAlwaysQuote: Boolean;
|
||||||
FQuoteChar : Char;
|
FQuoteChar : Char;
|
||||||
FDelimiter : Char;
|
FDelimiter : Char;
|
||||||
FNameValueSeparator : Char;
|
FNameValueSeparator : Char;
|
||||||
@ -707,6 +708,7 @@ type
|
|||||||
property Encoding: TEncoding read FEncoding;
|
property Encoding: TEncoding read FEncoding;
|
||||||
property LineBreak : string Read GetLineBreak write SetLineBreak;
|
property LineBreak : string Read GetLineBreak write SetLineBreak;
|
||||||
Property StrictDelimiter : Boolean Read FStrictDelimiter Write FStrictDelimiter;
|
Property StrictDelimiter : Boolean Read FStrictDelimiter Write FStrictDelimiter;
|
||||||
|
property AlwaysQuote: Boolean read FAlwaysQuote write FAlwaysQuote;
|
||||||
property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
|
property QuoteChar: Char read GetQuoteChar write SetQuoteChar;
|
||||||
Property NameValueSeparator : Char Read GetNameValueSeparator Write SetNameValueSeparator;
|
Property NameValueSeparator : Char Read GetNameValueSeparator Write SetNameValueSeparator;
|
||||||
property ValueFromIndex[Index: Integer]: string read GetValueFromIndex write SetValueFromIndex;
|
property ValueFromIndex[Index: Integer]: string read GetValueFromIndex write SetValueFromIndex;
|
||||||
|
@ -200,7 +200,8 @@ Var
|
|||||||
p : pchar;
|
p : pchar;
|
||||||
BreakChars : set of char;
|
BreakChars : set of char;
|
||||||
S : String;
|
S : String;
|
||||||
|
doQuote : Boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
CheckSpecialChars;
|
CheckSpecialChars;
|
||||||
result:='';
|
result:='';
|
||||||
@ -213,11 +214,16 @@ begin
|
|||||||
For i:=0 to count-1 do
|
For i:=0 to count-1 do
|
||||||
begin
|
begin
|
||||||
S:=Strings[i];
|
S:=Strings[i];
|
||||||
p:=pchar(S);
|
doQuote:=FAlwaysQuote;
|
||||||
//Quote strings that include BreakChars:
|
If not DoQuote then
|
||||||
while not(p^ in BreakChars) do
|
begin
|
||||||
inc(p);
|
p:=pchar(S);
|
||||||
if (p<>pchar(S)+length(S)) then
|
//Quote strings that include BreakChars:
|
||||||
|
while not(p^ in BreakChars) do
|
||||||
|
inc(p);
|
||||||
|
DoQuote:=(p<>pchar(S)+length(S));
|
||||||
|
end;
|
||||||
|
if DoQuote then
|
||||||
Result:=Result+QuoteString(S,QuoteChar)
|
Result:=Result+QuoteString(S,QuoteChar)
|
||||||
else
|
else
|
||||||
Result:=Result+S;
|
Result:=Result+S;
|
||||||
@ -722,6 +728,7 @@ begin
|
|||||||
FDefaultEncoding:=TEncoding.Default;
|
FDefaultEncoding:=TEncoding.Default;
|
||||||
FEncoding:=nil;
|
FEncoding:=nil;
|
||||||
FWriteBOM:=True;
|
FWriteBOM:=True;
|
||||||
|
FAlwaysQuote:=False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function TStrings.Add(const S: string): Integer;
|
Function TStrings.Add(const S: string): Integer;
|
||||||
|
Loading…
Reference in New Issue
Block a user