Ver Mensaje Individual
  #3  
Antiguo 12-06-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
branncg,

Cita:
Empezado por branncg
...Como declarar una función en Delphi que devuelve la k-esima palabra de una cadena...
¡Bienvenido al Club Delphi!

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Retorna un SubString en base a su posición en el String fuente
function GetSubString(Source : String; Position : Integer) : String;
var
   SL : TStringList;
begin
   SL  := TStringList.Create;
   ExtractStrings([' '],[],PChar(Source),SL);
   Result := SL.Strings[Position - 1];
   SL.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   Source : String;
   Position : Integer;

begin

   Source := 'La inteligencia es la habilidad para adaptarse al cambio';
   Position := 2;

   // Retorna y muestra el substring 2 del string Source : inteligencia
   MessageDlg(GetSubString(Source,Position),mtInformation,[mbOK],0);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite obtener un substring de un String por medio de una función.

Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita