Inserir Texto em Listbox
Tenho um Listbox com varias linhas e todas linha contem na ultima letra um ? , como faco pra inserir na frente desse ? um texto que esta num campo Edit. Ja tentei com o Pos e PosEx e nao consigui.
Bertu
Curtidas 0
Respostas
Bertu
03/06/2008
eu tentei fazer da seguinte maneira
So que tem 2 erros: Se eu ficar clicando no botao varias vezes ele vai adicionando o teste independente se existe ou nao o ´?´
o outro erro é que ele nao esta inserindo na frente do ´?´ ,está criando outra linha pq so consegui fazer usando o Items.Add :$
alguem me ajuda ?
procedure TForm1.Button6Click(Sender: TObject); var i: integer; posini: integer; s: string; begin for i:=0 to ListBox2.Count-1 do begin s:=listBox2.Items.Strings[i]; posIni:=pos(´=´,s); listBox2.Items.Add(s+Edit1.Text); posIni:=pos(´=´,s); end; end;
So que tem 2 erros: Se eu ficar clicando no botao varias vezes ele vai adicionando o teste independente se existe ou nao o ´?´
o outro erro é que ele nao esta inserindo na frente do ´?´ ,está criando outra linha pq so consegui fazer usando o Items.Add :$
alguem me ajuda ?
GOSTEI 0
Bertu
03/06/2008
ahhh esqueci de trocar o = por ? mais eh ? no lugar do = vlww
GOSTEI 0
Rodc
03/06/2008
Creio que é algo assim:
var teste: Integer; teste := Pos(ListBox1.Items.Strings[0], ´?´); ListBox1.Items.Strings[0] := Insert(ListBox1.Items.Strings[0], ´teste´, teste);
GOSTEI 0
Bertu
03/06/2008
olha o erro
[Error] Unit1.pas(104): Constant object cannot be passed as var parameter
[Error] Unit1.pas(104): Constant object cannot be passed as var parameter
GOSTEI 0
Bertu
03/06/2008
up
GOSTEI 0
Rodc
03/06/2008
Tenta assim:
Não sei se no Delphi a função Insert() é assim. Se der erro consulte o help do Delphi.
procedure TForm1.Button6Click(Sender: TObject); var i: integer; posini: integer; s: string; begin for i:=0 to ListBox2.Count-1 do begin s:=listBox2.Items.Strings[i]; posIni:=pos(´?´,s); Insert(s, Edit1.Text, posIni-1); listBox2.Items.Strings[i] := s; end; end;
Não sei se no Delphi a função Insert() é assim. Se der erro consulte o help do Delphi.
GOSTEI 0
Bertu
03/06/2008
nao da pq o PosIni ta Integer e Insert so aceita String ;/
GOSTEI 0
Rodc
03/06/2008
nao da pq o PosIni ta Integer e Insert so aceita String ;/
Consultou o Help? Tente assim:
procedure TForm1.Button6Click(Sender: TObject);
var
i: integer;
posini: integer;
s: string;
begin
for i:=0 to ListBox2.Count-1 do
begin
s:=listBox2.Items.Strings[i];
posIni:=pos(´?´,s);
Insert(Edit1.Text, s, posIni-1);
listBox2.Items.Strings[i] := s;
end;
end;
GOSTEI 0
Bertu
03/06/2008
deu nao... ta adicionando no primeiro ?
se a linha tiver mais de dois ? sempre np primeiro
se a linha tiver mais de dois ? sempre np primeiro
GOSTEI 0