Erro ao mudar uma String
Pessoal eu estou tentando formatar um Edit que é o numero do telefone, mas esta dando esse erro:
´Esse programa efetuou uma operação ilegal´ e ja fecha o programa...
Bom estou tentando o seguinte queria pegar o texto de um Edit (Ex: 6799086734) e transforma-lo em ((67)9908-6734)
Bom estou fazendo o seguinte.. declaro uma String e atribuo o valor do Texto do edit para a variavel.... e tento mudar ela com o seu indice.. mas isso ta gerando esse erro... Sera que não posso mudar assim????
Exemplo como estou fazendo Texto[1]:= Texto[3];
sera que não posso fazer isso??? :cry:
Obrigado pela atenção...
´Esse programa efetuou uma operação ilegal´ e ja fecha o programa...
Bom estou tentando o seguinte queria pegar o texto de um Edit (Ex: 6799086734) e transforma-lo em ((67)9908-6734)
Bom estou fazendo o seguinte.. declaro uma String e atribuo o valor do Texto do edit para a variavel.... e tento mudar ela com o seu indice.. mas isso ta gerando esse erro... Sera que não posso mudar assim????
Exemplo como estou fazendo Texto[1]:= Texto[3];
sera que não posso fazer isso??? :cry:
Obrigado pela atenção...
Japa
Curtidas 0
Respostas
Japa
05/10/2003
Ja sei o porque desse erro... e porque estou tentando utilizar um elemento a mais do vetor.... tipo tentando acessar uma memoria que não existe... como fazer para não acontecer isso?? sera que o edit não deixa aumentar mais alem do tamanho que eu tenho (quanto ao tamanho que eu digito)??? :cry: obrigado pela atenção....
GOSTEI 0
Beppe
05/10/2003
Strings não são auto ajustáveis. Para aumentar o tamanho de uma string, chame SetLength numa variável, ou concatene(+).
GOSTEI 0
Japa
05/10/2003
ahhh Obrigado amigo... :D Bom em programação em C aprendi a fazer uma lista encadeada sera que no pascal tem como fazer tambem???
Obrigado pela atenção...
Obrigado pela atenção...
GOSTEI 0
Ljr
05/10/2003
vc poderia colocar o trecho do codigo que ta dando problema?
Tentei fazer assim e nao deu nenhum erro.
Tentei fazer assim e nao deu nenhum erro.
var txt: string; begin Edit1.text:= ´a´; txt:= edit1.text; txt[1]:= txt[10]; caption:= txt; end;
GOSTEI 0
Beppe
05/10/2003
Claro, c duvida?
Ex:
É isso q vc queria?
type PList = ^TList; TList = record Next: PList; Info: ... end; function Prepend(List: PList; Info: ...): PList; begin New(Result); Result.Info := Info; Result.Next := List; end;
Ex:
Root := NewList(nil, ...);
É isso q vc queria?
GOSTEI 0
Japa
05/10/2003
Brigadão pela força amigos vou tentar aqui :wink:
GOSTEI 0
Japa
05/10/2003
Amigo voce pode me explicar um pouco o seu codigo??? e que estou com um pouco quer dizer muitas duvidas hehehe
Plist=^Tlist // aqui ele recebe o ponteiro ^Tlist???
TList=record // aqui e como declarar uma Struct (registro)??
New(Result); //Aqui ele aloca uma parte da memoria???
Aqui não entendi nada :cry:
Bom ainda tem mais uma duvida, quando é que vou saber que é o ultimo numero??? tipo no C é NULL e no pascal é esse nil???
Descupe as minhas perguntas e que sou meio (totalmente) leigo em pascal, e ainda por cima sou meio burrinho :cry:
type
PList = ^TList;
TList = record
Next: PList;
Info: ...
end;
Plist=^Tlist // aqui ele recebe o ponteiro ^Tlist???
TList=record // aqui e como declarar uma Struct (registro)??
function Prepend(List: PList; Info: ...): PList;
begin
New(Result);
Result.Info := Info;
Result.Next := List;
end;
New(Result); //Aqui ele aloca uma parte da memoria???
Root := NewList(nil, ...);
Aqui não entendi nada :cry:
Bom ainda tem mais uma duvida, quando é que vou saber que é o ultimo numero??? tipo no C é NULL e no pascal é esse nil???
Descupe as minhas perguntas e que sou meio (totalmente) leigo em pascal, e ainda por cima sou meio burrinho :cry:
GOSTEI 0
Beppe
05/10/2003
Me diz o q tu quer fazer e eu mostro como.
GOSTEI 0
Japa
05/10/2003
Amigo eu queria (so para aprender) fazer uma lista encadeada de inteiros que tive-se um edit e que eu tive-se um botão.. e ao clicar no botão ativa-se o evento para inserir em um TMemo... para aprender sera que voce me ajudaria??? obrigado... :D
GOSTEI 0
Beppe
05/10/2003
Não precisa ser uma lista encadeada, pode ser um TList(a classe na unit Classes).
var
L: TList;
begin
L := TList.Create;
end;
Addicionar um inteiro:
Pegar o primeiro:
Pegar o último:
Deletar um número:
Classes.TList trabalha com pointers/objetos, por isso as [i:8a3525c410]typecasts[/i:8a3525c410]
var
L: TList;
begin
L := TList.Create;
end;
Addicionar um inteiro:
L.Add(Pointer(Numero));
Pegar o primeiro:
Integer(L[0]);
Pegar o último:
Integer(L[L.Count - 1]);
Deletar um número:
L.Delete(Indice);
Classes.TList trabalha com pointers/objetos, por isso as [i:8a3525c410]typecasts[/i:8a3525c410]
GOSTEI 0
Japa
05/10/2003
Putz e tão facil assim poxa valews Ataliba agradeço mutio :D
GOSTEI 0