Como retirar os espaços em Branco de um ListBox..

Delphi

28/09/2005

Olá pessoal do forum..
Estou com um problema q é o programa ler a linha de listbox e qdo encontrar espaço em branco ele apagar tudo o q tiver pela frente, tipo..

Exemplo:

DadosCadastrais #¬

Ele apagar o espaço em branco e a sequencia de caracteres depois dele ¬.

Alguem pode me ajudar..


O4pr3ndiz

O4pr3ndiz

Curtidas 0

Respostas

Crash

Crash

28/09/2005

utilize o metodo pos para encontrar o caracter ´ ´. para vc acessar o texto utilize ListBox1.Items.Text

t+


GOSTEI 0
Bruno Belchior

Bruno Belchior

28/09/2005

Adapte à tua necessidade:
var
  Cont: Shortint;
  Resultado, StringInicial: string;
begin
  Cont := 1;
  StringInicial := ´DadosCadastrais #¬´;
  while Copy(StringInicial, Cont, 1) <> ´ ´ do
  begin
    Resultado := Resultado + StringInicial[Cont];
    Inc(Cont);
  end;
  ShowMessage(Resultado);
end;



GOSTEI 0
Michelli88

Michelli88

28/09/2005

Não sei se é isso que vc precisa, mas o metodo [b:0b1b1d3f47]Trim[/b:0b1b1d3f47] tira todos os espaços em branco.

Exemplo:

str:=´  exemplo de string ";
str:=Trim(str);


Resultado: ´exemplodestring´



GOSTEI 0
O4pr3ndiz

O4pr3ndiz

28/09/2005

ele recohecer o spaço na linha ele apagar o espaço e as palavras q estiverem na frente...

exemplo:
origem
cadastro1 837635
cadastro2 #

resultado
cadastro1
cadastro2

mais explicado q isto eh impossivel... :)


GOSTEI 0
O4pr3ndiz

O4pr3ndiz

28/09/2005

Realmente o codigo funciona bem, mas pra listas maiores q 10 linhas ele trava, veja como implementei e se alguem puder me ajudar eu agradeço.
Coloquei o seguinte codigo no envento onclick

procedure TForm1.Button2Click(Sender: TObject);
var
Cont, i: integer;
Resultado, StringInicial: string;
begin

//corre a lista e apaga aos vazios e comentario da frente
for I := 0 to Lista.Lines.Count-1 do
begin
Cont := 1;
Resultado := ´´;
StringInicial := Lista.Lines[i];
while Copy(StringInicial, Cont, 1) <> ´ ´ do
begin
// Resultado := Resultado + Lista.Lines[i];
Resultado := Resultado + StringInicial[Cont];
Inc(Cont);
end;
Lista.Lines[I] := Resultado;
end;


obrigado


GOSTEI 0
Marcio.theis

Marcio.theis

28/09/2005

Tente desta forma:
var
    x, linha, pos: integer;
begin
for x:=0 to Lista.Items.Count - 1 do
    begin
    pos:=0;
    for linha:=1 to Length(Lista.Items.Strings[x]) do
        begin
        if Lista.Items.Strings[x][linha] = ´ ´ then
            begin
            Lista.Items.Strings[x]:=copy(Lista.Items.Strings[x],1,pos);
            Break;
            end
        else
            Inc(pos);
        end;
    end;
end;



GOSTEI 0
O4pr3ndiz

O4pr3ndiz

28/09/2005

Todas as suas dicas funcionaram perfeitamente...

Valew.. /]/]@t


GOSTEI 0
POSTAR