Logo Hardware.com.br
GBastos
GBastos Super Participante Registrado
777 Mensagens 4 Curtidas

Problema em inteiro no Delphi

#1 Por GBastos 28/11/2002 - 15:09
Pessoal, estou tendo um problema com inteiro no Delphi que acontece quando faço o seguinte:

var
I, Tamanho: Integer;
Aux1, Aux2: string;
begin
Aux1 := Edit1.text;
Tamanho := Edit1.Gettextlen;
Aux2 := '';
for I := 1 to (Tamanho - 1) do
Aux2[I] := Aux1[I];
end;

O que acontece é que depois de entrar no for nao sei pq o I fica como 0 e dá erro de acesso na string. Já tentei forçar o valor do I botando I := 1 e usando um while com um I := I + 1, mas acontece a mesma coisa, alguém sabe porque?

Aproveitando, alguém poderia sugerir uma solução elegante para fazer algo como a função do backspace em uma string, ou seja retirar o último caracter?
romulo
romulo General de Pijama Registrado
7.4K Mensagens 0 Curtidas
#2 Por romulo
28/11/2002 - 17:04
GBastos
Pessoal, estou tendo um problema com inteiro no Delphi que acontece quando faço o seguinte:


Vai dar erro pois a variável Aux2 estaria com tamanho zero, não permitindo o acesso à posições inexistentes. Tente assim:


var
I, Tamanho: Integer;
Aux1, Aux2: string;
begin
Aux1 := Edit1.text;
Tamanho := Edit1.Gettextlen;
Aux2 := '';
for I := 1 to (Tamanho - 1) do
Aux2 := Aux2 + Aux1[I];
end;
Minha coleção de jogos (todos originais)
CouLtiER
CouLtiER Membro Senior Registrado
526 Mensagens 0 Curtidas
#5 Por CouLtiER
30/11/2002 - 18:23
No meu pouco entendimento de Object Pascal,
vc nao pode tratar uma STRING como um VETOR assim....
massss..... Se for pra por tudo no braço :wink:
-----------------------------
var
I, Tamanho: Integer;
Aux: string;
begin
aux:='';
Tamanho := length(Edit1.text);
for I := 1 to (Tamanho - 1) do
aux:=aux+copy(edit1.text,i,1);
end;
--------------------------------
:arrow: Mas ainda sim, acho a solucao do Romulo eh a melhor ao meu ver.
- CouLtIER -
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal