Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   separar string (https://www.clubdelphi.com/foros/showthread.php?t=47765)

mjjj 06-09-2007 17:54:12

separar string
 
Hola amigos... mi preguntao es algo sencilla, pero no conozco una instruccion que pueda solucionarme el problema...

tengo un edit con el siguiente texto, por ejemplo: "25000 A", el texto se compone en un numero de maximo 5 caracteres, un espacio y una letra.
Se puede dar el caso que el texto del edit solo se componga de un numero, ejemplo: "25500".

Lo que necesito hacer es separar en 2 variables, el numero y la letra, es decir, para el ejemplo "25000 A", obtener VAR1=25000 y VAR2=A.

Alguien que me ayude con un codigo para realizar esta operacion... o algun ejemplo de donde sacar alguna idea....

Alguna idea que pudiera funcionar es guiarse con el caracter espacio (" "), que es comun entre todos los textos, en el mejor de los casos, no existe (25500).

De ante mano... muchas gracias

dec 06-09-2007 18:02:18

Hola,

Puedes usar la función "Copy" y, basándote en el espacio en blanco...

Código Delphi [-]
var
  i: integer;
  numero,letra: string;
begin
  letra := '';
  numero := '';

  // Buscamos la posición del espacio
  i := Pos(' ', Trim(Edit1.Text));

  // Si existe un espacio...
  if (i <> 0) then begin
    // Copiamos el número de la cadena
    numero := Copy(Edit1.Text, 0, i-1);
    // Y a continuación la letra
    letra := Copy(Edit1.Text, i+1, Length(Edit1.Text));
  end else begin
    // Si no existe el espacio se asume
    // que la cadena es un número
    numero := Edit1.Text;
  end;

  ShowMessage(numero);
  ShowMessage(letra);

end;

eduarcol 06-09-2007 18:02:25

Para el numero

Código Delphi [-]
var1 := Copy(Texto, 1, Pos(' ', Texto) - 1)

para la letra

Código Delphi [-]
var2 := Copy(Texto, Pos(' ', Texto) + 1, Length(Texto))

Donde texto es la variable

--------
Se me adelantaron, estoy lento para escribir


La franja horaria es GMT +2. Ahora son las 09:19:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi