Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

proteus

[Resolvido] string

Recommended Posts

como pegar os valores de uma string....tipo"o rato roeu a roupa do rei"como pegar cada palavra destas....

Compartilhar este post


Link para o post
Compartilhar em outros sites

pege o tamanho total da string Len(String)analise cada caracter e compare se igual a " " se sim a palavra terminou utilize a função MID é um bom começo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

era o que eu temia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faço um pouquinho diferente: mapeio o caracter divisor no caso desta frase seria um espaço, depois então copio cada palavra de acordo com as posições dos espaços.

 

Exemplo:

 

Var posicoes: array[1..20] of integer;

i,j: integer;

 

begin

 

for i:=0 to length(frase) do

if copy(frase,i,1) = ' ' then

begin

posicoes[j]:=i;

inc(j);

end;

 

for i:=0 to 20 do

memo1.lines.add(copy(frase,posicoes,posicoes[i+1]-posicoes));

end;

 

Dá pra pegar a lógica?

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

program pconsole;{$APPTYPE CONSOLE}uses SysUtils, DBTables;var res, w : string;i :integer;begin { TODO -oUser -cConsole Main : Insert code here }while uppercase(res) <> 'EXIT' DO BEGIN writeln('console >'); readln(res); res:=uppercase(res); For i:=0 to length(res) do if copy(res,i,1) = ' ' then begin w :=copy(res,i, 0); break; end; writeln(w); end;end.não está escrevendo nada...não tá copiando nada..você poderia esplicar como se usa este copy... pq eu não estou tendo sucesso.... com o mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está fazendo um Aplicação pra console? daí não sei pode ficar um pouco diferente, mas o código rodando GUI está abaixo só você adcionar um edit e um memo pra testar:

 

var posicoes: array[1..20] of integer;

i,j: integer;

begin

j:=1;

posicoes[1]:=0;

for i:=0 to length(edit1.text) do

if copy(edit1.text,i,1) = ' ' then

begin

inc(j);

posicoes[j]:=i;

end;

for i:=1 to j do

memo1.lines.add(copy(edit1.text,posicoes,posicoes[i+1]-posicoes));

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu kra...

mas eu consegui com o codigo abaico

 For i:=1 to (length(res)-1) do    if (res[i]=' ') or (i =length(res)) then    begin      w :=copy(res,1,i);      param :=copy(res, i, length(res)-i );      break;    end;

 

vlw... mesmo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.