Fórum copy com pos #391371
26/11/2010
0
Pjava
Curtir tópico
+ 0Posts
26/11/2010
Wilson Junior
procedure TForm1.BitBtn1Click(Sender: TObject); var Texto, Letra: string; De, Ate: integer; begin Memo1.Clear; Texto := 'MA4567 - M26112010 - M19 M198R15Y67T89AJR'; Letra := 'M'; while Pos(Letra, Texto) > 0 do begin De := Pos( Letra, Texto ); Ate := Pos( ' ', Texto ) - 1; if Ate < 0 then Ate := Length( Texto ) ; Memo1.Lines.Add( Copy(Texto, De, Ate) ); Delete( Texto, De, 1 ); Delete( Texto, 1, Pos(Letra, Texto)-1 ); end; end;
Obs.: Coloquei um componente TMemo somente para mostrar os valores.
Espero ter colaborado.
Gostei + 0
26/11/2010
Pjava
Gostei + 0
26/11/2010
Wilson Junior
Veja se esta rotina lhe ajuda
{ Retorna o pedaço da string a partir da esquerda
Campos:
Texto = string de onde será retirado o pedaço;
Delim = Delimitador de pedaços;
Indice = Posição do pedaço, começa em 0 igual a um StringList.
Exemplo:
Texto = 'Maria-Joaquina-da-Silva'
Delim = '-'
Indice = 0 -> Maria
1 -> Joaquina
2 -> da
3 -> Silva }
function PedacoL(Texto: String; const Delim: String; Indice: Integer): String;
var
x, px: Integer;
begin
Result := '';
if Pos( Delim, Texto ) = 0 then
begin
if Indice = 0 then
Result := Texto
else
Result := ''
;
Exit;
end
;
Texto := Texto + Delim;
for x := 0 to Indice - 1 do
begin
if Texto = '' then
Break
;
px := Pos( Delim, Texto + Delim );
Texto := Copy( Texto + Delim, px + Length( Delim ), Length( Texto ) );
end;
px := Pos( Delim, Texto + Delim);
Result := Copy( Texto + Delim, 1, px - 1 );
end;
Espero ter colaborado.
Gostei + 0
26/11/2010
Pjava
Gostei + 0
26/11/2010
Pjava
var
iPos: Integer;
begin
iPos := Pos(' ', ReverseString(ComboBox1.Text))-1;
if iPos > 0 then
lblOrdem.Caption := LeftStr(ComboBox1.Text, iPos);
end;Gostei + 0
26/11/2010
Leandro
Trim(Copy(Texto,1,Pos('-',Texto)-1))
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)