> 
> I trying to build a very small interpreter. I can type commands like:
> 
> $ add "Luciano de Souza" luchya...@gmail.com
> 
> Somewhere in my code, I can have something like:
> 
> procedure parse(commandline: string; var params: array of string);
> 
> In this case, the commandline has the format: "add %s %s". So 
> I would obtain:
> 
> parse('add "Luciano de Souza" luchya...@gmail.com', params);
> 
> After this command, the parameter would have the following values:
> 
> params[0] := 'add';
> params[1] := 'Luciano de Souza';
> params[2] := 'luchya...@gmail.com';
> 
> My question is: there is a way to do it easily using a 
> standard class of Freepascal?
> 

Use TSTringList.DelimitedText:

  params.Delimiter:=' ';
  params.StrictDelimiter:=false;
  params.QuoteChar:='"';
  params.DelimitedText:='add "Luciano de Souza" luchya...@gmail.com';

results in

 params[0] := 'add';
 params[1] := 'Luciano de Souza';
 params[2] := 'luchya...@gmail.com';

Ludo

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to