Ver Mensaje Individual
  #1  
Antiguo 12-07-2014
tonioaburto tonioaburto is offline
Registrado
NULL
 
Registrado: jul 2014
Posts: 1
Reputación: 0
tonioaburto Va por buen camino
Smile Pasar parametros a string

Buenas tardes, cree los siguientes métodos, para pasar parámetros en cadenas como en otros lenguajes, si se puede mejorar estaría bien o si no espero les sirva como esta.
Código Delphi [-]
procedure Split(Delimiter: char; Str: string; ListOfStrings: TStrings) ;
begin
   ListOfStrings.Clear;
   ListOfStrings.Delimiter := Delimiter;
   ListOfStrings.DelimitedText := Str;
end;


function replaceParams(strBefore:string; values:string):string;
var
   contParam,i:integer;
   nStr:string;
   arStr:TStringList;
begin
    arStr := TStringList.Create;
    values:=StringReplace(values, ' ', '_',[rfReplaceAll, rfIgnoreCase]);
    Split(';', values, arStr) ;
    contParam:=0;
    nStr:='';
    for i:=1 to length(strBefore)  do begin
        if (strBefore[i] = '?') and (strBefore[i] <> ' ') then begin
            nStr := nStr + quotedStr(StringReplace(arStr[contParam], '_', ' ',[rfReplaceAll, rfIgnoreCase]));
            inc(contParam);
        end
        else begin
             nStr:= nStr + strBefore[i];
        end;
    end;
    Result := nStr;
end;


//se puede hacer una llamada como en el siguiente ejemplo
Procedure InsertReg(nombre:string; apellido:string; depto:integer);
var
   sentence, values:string;
begin
    values:=nombre+';'+apellido+';'+inttostr(depto);
    sentence := 'INSERT INTO empleados VALUES (?, ?, ?, 1)';
    accessData(replaceParams(sentence, values),'');
end;

Última edición por ecfisa fecha: 12-07-2014 a las 00:58:59. Razón: Agregar etiquetas [DELPHI] [/DELPHI]
Responder Con Cita