quot;Desmontarquot; uma Palavra..

Delphi

25/12/2004

Olá pessoal, tudo bem? Espero q sim.. antes de mais nada, um Feliz Natal...

Bom, minha dúvida é a seguinte.. tenho um gerador de palavras q funciona assim: o usuário digita um nome, um numero inicial, numero final e quantos zeros tem a esquerda do numero... exemplo..

Nome: Wolverine #
Nº Inicial : 1
Nº Final: 100
Zeros: 2

Aí ele lista de 001 a 100 assim:

Wolverine 001
Wolverine 002
Wolverine 003
Wolverine 004
Wolverine 005
...
Wolverine 100

Certo.. só q depois disso, eu gostaria de ´desmontar´ essas palavras, deixando somente os números.. 001, 002, 003, etc..

A idéia é a seguinte.. ele me lista essas palavras geradas num memo, depois lista a base de dados em outro memo e compara, jogando todos os nomes q nao tem na base de dados pra um terceiro memo.. aí, a partir desse 3º memo, quero ´desmontar´ as palavras deixando só os números.. Eu pensei em comparar cada palavra e tirar as q forem igual ao nome digitado.. mas no caso, se o nome da revista é 1602 001, e ele comprar, ele vai me deixar somente 1, pq os zeros ele tira ja q tem no nome digitado.. gostaria q me deixasse 001, como é pra ser...

Grato pela atenção..



Allan Elias Ramos :wink:


Aersoftware

Aersoftware

Curtidas 0

Respostas

Dataclass

Dataclass

25/12/2004

Fiz uma procedure levando em consideração a existência de 2 Memos:

memoPalavrasCompletas: TMemo;
memoPalavrasDesmontadas: TMemo;


Você terá de adapta-la mas segue a idéia :

procedure TForm1.desmotaLinhas;
var i:integer;//variável usada no loop
    tamanhoNome:integer;//variavél que receberá o tamanho do NOME
    tamanhoLinhaOriginal:integer;//variavél que receberá o tamanho da linha
begin
  //capturando o tamanha do NOME
  tamanhoNome := length(´Wolverine #´);

  //varrendo o Memo original
  for i:=0 to  memoPalavrasCompletas.Lines.Count-1 do
  begin
    //capturando o  tamanhao da linha atual
    tamanhoLinhaOriginal := length(memoPalavrasCompletas.Lines.Strings[i]);
    //jogando as palavras desmontadas no outro memo
    memoPalavrasDesmontadas.Lines.Add(copy (memoPalavrasCompletas.Lines.Strings[i],tamanhoNome+1,tamanhoLinhaOriginal));
  end;

end;



GOSTEI 0
Aersoftware

Aersoftware

25/12/2004

DataClass, funcionou perfeitamente.. só nao entendi muito bem essa parte..

memoPalavrasDesmontadas.Lines.Add(copy (memoPalavrasCompletas.Lines.Strings[i],tamanhoNome+1,tamanhoLinhaOriginal));


O q exatamente ela faz?? Ou melhor, como.. pq pelo q entendi, ela pega a palavra inteira e tira o tamanho do nome.. é isso?



Allan Elias Ramos :roll:


GOSTEI 0
POSTAR