Hoi GolezTrol,
Ik heb ge-experimenteerd met de TStringList.CommaText property en die deed niet helemaal wat ik wou. Er waren problemen als ik strings in de list had met spaties erin.
Blijkbaar beschouwt "CommaText" die ook als delimiters. Oplossing is er dubbele quotes rondzetten, maar dat gaf problemen met strings zoals "*.c" (daarvan bleef alleen de ".c" over om een of andere reden. Ik had de indruk dat je alleen dubbele quotes mocht gebruiken als de string inderdaad een spatie bevatte, en anders niet...
Dan maar zelf wat eenvoudige functies geschreven voor conversie van een stringlist naar een komma delimited string en omgekeerd. Er mogen geen quotes in gebruikt worden, de strings (die dus ook spaties kunnen bevatten) staan gewoon tussen de komma's. Bij het converteren worden de strings in de StringList eerst "getrimd".
Dit is de kode:
Code:
procedure StringToTStrings(S: string; T: TStrings);
var P: Integer;
begin
T.Clear;
P := pos(',', S);
while P > 0 do
begin
T.Add(trim(copy(S, 1, P - 1)));
delete(S, 1, P);
P := pos(',', S);
end;
if S > '' then T.Add(trim(S));
end;
function TStringsToString(T: TStrings): string;
var I: Integer;
begin
Result := '';
for I := 0 to T.Count - 1 do
Result := Result + ',' + trim(T[I]);
if length(Result) > 0 then delete(Result, 1, 1);
end;
Ik heb deze namiddag de nieuwe versie (via FreeVCS) ingecheckt, ik denk dat die gauw beschikbaar komt.
p.s.: de *.zip file van vandaag staat er nu, ik heb hem er zelf neergezet. De officiële komt wel.
Bookmarks