Fórum Comparar strings e depois adicionar em um memo #337653
09/02/2007
0
Tenho uma Constante deste tipo:
const
exemplo: String = (´03,05,07,08,11,15,19,25,31,35´) ;
Tenho uma listbox com informações assim adicionadas:
01
02
04
06
07
09
15
22
25
31
33
O que estou pretendendo?
Quero que quando clicar no botão específico, sejam adicionadas em um memo os valores assim:
04,07,15,25,22
Em resumo é o seguinte:
O primeiro número da constante, serve para procurar na listbox a linha correspondente a este número, no exemplo acima o primeiro número da constante é 03, portanto, tenho que encontrar o terceiro númedo da listbox que no exemplo é 04 e adicionar este 4 em um memo, e assim por diante.
Alguém poderia me ajudar, pois já tentei de várias formas e nunca dar certo.
Obrigado.
Ranyeryfip
Curtir tópico
+ 0Posts
10/02/2007
Nasguone
crie uma variavel que vai ler su string, e variaveis que irão copiar os numeros que vc quer de dentro desta string
Tipo assim:
Var
VarPrincipal, Var01,Var02,Var03 :tring
begin
varprincipal := sua string;
var01 := Copy(varprincipal,1,2);
var02 := Copy(varprincipal,4,5);
var03 := Copy(varprincipal,7,8);
concatene tudo isso e depois passe para um memo
Ou use um array ao invez de variaveis.......
Espero que te ajude
ECS
Gostei + 0
10/02/2007
Ranyeryfip
Amigo, obrigado pela ajuda mas assim não dar certo. Tipow eu tenho que pegar o primeiro número da minha STRING e com esse copiar na LISTBOX os caracteres que estão na linha da LISTBOX.
Eu queria fazer uma rotina que fosse pegando parte parte da constante e fazendo isto abaixo:
Const
exemplo: String = ´03,07,09,10´;
listbox1.ItemIndex:= strtoint(´03´) - 1;
memo1.Lines.Add(listbox1.items[listbox1.itemindex]);
E fizesse o exemplo acima com os outros valores 07,09,10 e assim sucessivamente. Fazendo um por um eu sei, mas o código vai ficar muito grande pois, são várias constantes.
Espero a ajuda de vocês.
Gostei + 0
10/02/2007
Nasguone
var
var01,var02,var03,var04,varcontada : string;
R,valindex : integer;
begin
var01 := ´01´;
var02 := ´02´;
var03 := ´03´;
var04 := ´04´;
ListBox1.ItemIndex:=0;
ValIndex :=ListBox1.ItemIndex;
for R := valindex to ListBox1.Count -1 do
begin
ValIndex := ValIndex + 1;
ListBox1.ItemIndex := ValIndex;
varcontada := ListBox1.Items.Strings[R];
if (trim(varcontada) = trim(var01)) or
(trim(varcontada) = trim(var02)) or
(trim(varcontada) = trim(var03)) or
(trim(varcontada) = trim(var04)) then
begin
memo1.Lines.Add(listbox1.items[valindex]);
end;
end;
end;
eu fiz um teste aqui ele leu e gravou no memo veja se e isso
coloquei um botao uma listbox e um memo
Gostei + 0
10/02/2007
Ranyeryfip
[b:41d9c17d54]Mais uma vez muito obrigado pela ajuda.[/b:41d9c17d54]
Mas no caso eu não tenho essas variáveis abaixo:
var01 := ´01´;
var02 := ´02´;
var03 := ´03´;
var04 := ´04´;
Eu vou ter várias constantes, tipo:
const
a: String = ´04,06,07,08´;
b: String = ´02,03,09,15´;
Quero fazer uma rotina que vá quebrando essas strings. E procurando ela na listbox.
Vlw pela ajuda.
Gostei + 0
10/02/2007
Nasguone
voce pode utilizar um copy string da inteira para variavel e a partir do array fazer o for para copiar para o memo..
Gostei + 0
10/02/2007
Ranyeryfip
Obrigado pelo empenho em me ajudar.
Consegui fazer da maneira que queria.
Vlw.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)