duvida simples, nao consigo achar ´espaço´ em um caracter
é o seguinte tenho uma função que escreve um numero por extenço, mas o maximo seria 70 caracteres por linha, para isso criei um loop onde vou formatar, até ai td bem... so que no meio da formatação ele não reconhece o caracter espaço, segue abaixo:
steste := Copy(editExtenso.Text,count,1);
if steste = ´´ then
iTamanho := count;
if count > 70 then count :=139; // sai fora do loop
oq esta acontecendo é que steste mesmo sendo = ´´ parece que ele não reconhece, ja debuguei e ele nunca passa pela linha 3 ( iTamanho := count;)
alguem entendeu o problema e pode me ajudar???
steste := Copy(editExtenso.Text,count,1);
if steste = ´´ then
iTamanho := count;
if count > 70 then count :=139; // sai fora do loop
oq esta acontecendo é que steste mesmo sendo = ´´ parece que ele não reconhece, ja debuguei e ele nunca passa pela linha 3 ( iTamanho := count;)
alguem entendeu o problema e pode me ajudar???
Matheuscaetano
Curtidas 0
Respostas
Rjun
15/06/2005
Amigo
´´ é diferente de ´ ´.
Se você quer comparar com espaço, então faça:
´´ é diferente de ´ ´.
Se você quer comparar com espaço, então faça:
steste := Copy(editExtenso.Text,count,1); if steste = ´ ´ then iTamanho := count; if count > 70 then count :=139; // sai fora do loop
GOSTEI 0
Matheuscaetano
15/06/2005
oi Rogerio,
agradeço a colaboração, mas o pior é que já tentei isso tbm... não encontra do mesmo jeito... estranho...
agradeço a colaboração, mas o pior é que já tentei isso tbm... não encontra do mesmo jeito... estranho...
GOSTEI 0
Rjun
15/06/2005
Coloque o trecho inteiro do loop(FOR ou WHILE). Não sei qual você usou. Coloque também a declaração das variáveis que você esta utilizando.
GOSTEI 0
Matheuscaetano
15/06/2005
na verdade esta desta forma:
while count <> 140 do
begin
steste := Copy(editExtenso.Text,count,1);
if steste = ´ ´ then
iTamanho := count;
if count > 70 then count :=139;
Inc(count);
end;
while count <> 140 do
begin
steste := Copy(editExtenso.Text,count,1);
if steste = ´ ´ then
iTamanho := count;
if count > 70 then count :=139;
Inc(count);
end;
GOSTEI 0
Marco Salles
15/06/2005
amigo por acaso voce não quer fazer isto ????
count:=1; while count <> 140 do begin if edit1.Text[count] = ´ ´ then begin iTamanho := count; break; end; Inc(count); end;
GOSTEI 0
Rjun
15/06/2005
Bom, teoricamente seu código está correto. No entanto, vale notar que:
1) Você faz um WHILE até 140 mas no meio você interrompe ele caso a variável count seja maior que 70. Então seria mais lógico o loop ser até 70;
2) Em loop com variáveis contadoras, utilize <= e não <>. Imagine se por algum motivo desconhecido sua variavel pule de 139 para 141. Ele ficaria num loop infinito;
3) Não consegui entender a finalidade desse loop, ja que a cada espaço em branco encontrado, você sobscreve a variável iTamanho. Se você quer encontrar o primeiro espaço em branco, utilize a função POS.
4) Qual a finalidade do loop?[/code]
1) Você faz um WHILE até 140 mas no meio você interrompe ele caso a variável count seja maior que 70. Então seria mais lógico o loop ser até 70;
2) Em loop com variáveis contadoras, utilize <= e não <>. Imagine se por algum motivo desconhecido sua variavel pule de 139 para 141. Ele ficaria num loop infinito;
3) Não consegui entender a finalidade desse loop, ja que a cada espaço em branco encontrado, você sobscreve a variável iTamanho. Se você quer encontrar o primeiro espaço em branco, utilize a função POS.
4) Qual a finalidade do loop?[/code]
GOSTEI 0