> > 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