Delphi 2009 não reconhece funcao Delphi 2007, 2006, 7 ...
Amigos, estou com um problema com o Delphi 2009!
Hoje passei horas em pesquisas pela internet, site da Embarcadero mas não tive resultados sobre o ocorrido.
Oque acontece é o seguinte.
Eu tenho um sistema todo desenvolvido no Delphi 2007, então resolvi migrar para nova versão do compilador. Depois de muito sofrimento para migrar meus componentes RxLibrary para os Jedi já que foi descontinuado o projeto, me deparei com outro problema.
Quando compilo o projeto, ele me volta um Warning. Que segue abaixo:
Resulta neste código do meu sistema:
Pelo que entendi eu tenho que converter a minha função para o novo padrão do Delphi 2009 até então tudo bem. Não questiono isso.
Só que como eu fasso isto? Eu tentei de tudo e não estou conseguindo mudar para a nova função do Delphi 2009 [b:8c8e81c3cf]CharInSet[/b:8c8e81c3cf][color=red:8c8e81c3cf][/color:8c8e81c3cf].
Isso pode ser bobagem e eu esteja tomando uma tunda, mas te conta ... Ta osso! hehehehe
Se puderem me ajudar?
Hoje passei horas em pesquisas pela internet, site da Embarcadero mas não tive resultados sobre o ocorrido.
Oque acontece é o seguinte.
Eu tenho um sistema todo desenvolvido no Delphi 2007, então resolvi migrar para nova versão do compilador. Depois de muito sofrimento para migrar meus componentes RxLibrary para os Jedi já que foi descontinuado o projeto, me deparei com outro problema.
Quando compilo o projeto, ele me volta um Warning. Que segue abaixo:
[DCC Warning] UnitControleDeClientesPesquisa.pas(499): W1050 WideChar reduced to byte char in set expressions. Consider using ´CharInSet´ function in ´SysUtils´ unit.
Resulta neste código do meu sistema:
procedure TFormControleDeClientesPesquisa.CrnEditPesquisaKeyPress(
sender: TObject; var key: Char);
begin
If RadioGroupPesquisaOpcao.ItemIndex = 0 then
Begin
If not ( Key in[08,13,48,49,50,51,52,53,54,55,56,57] ) then
Begin
MsgmAvisoCronos(´INFORMAÇÃO - FORMATAÇÃO DO CAMPO!´,
´Este campo somente pode ser preenchido por NÚMEROS!´,mtInformation);
CrnEditPesquisa.SetFocus;
Key := 0; { Suprime o som }
end
else
Begin
//Quando teclado ENTER, muda o focu para BitBtnsPesquisa
If Key = 13 then
Begin
Key := 0; { Suprime o som }
BitBtnPesquisa.SetFocus;
end;
end;
end;
end;
Pelo que entendi eu tenho que converter a minha função para o novo padrão do Delphi 2009 até então tudo bem. Não questiono isso.
Só que como eu fasso isto? Eu tentei de tudo e não estou conseguindo mudar para a nova função do Delphi 2009 [b:8c8e81c3cf]CharInSet[/b:8c8e81c3cf][color=red:8c8e81c3cf][/color:8c8e81c3cf].
Isso pode ser bobagem e eu esteja tomando uma tunda, mas te conta ... Ta osso! hehehehe
Se puderem me ajudar?
Devmedia
Curtidas 0
Respostas
Luiz Henrique
03/11/2008
Beleza lucas...
Fiz aqui, assim funcionou:
procedure TForm4.FormKeyPress(Sender: TObject; var Key: Char);
var
CharSet: TSysCharSet;
begin
CharSet:= [#08,13,48,49,50,51,52,53,54,55,56,57];
if CharInSet(Key,CharSet) then
ShowMessage(´Esta no Set´)
else
ShowMessage(´Nao esta no Set´);
end;
Trocar seis por meia duzia né...
Fiz aqui, assim funcionou:
procedure TForm4.FormKeyPress(Sender: TObject; var Key: Char);
var
CharSet: TSysCharSet;
begin
CharSet:= [#08,13,48,49,50,51,52,53,54,55,56,57];
if CharInSet(Key,CharSet) then
ShowMessage(´Esta no Set´)
else
ShowMessage(´Nao esta no Set´);
end;
Trocar seis por meia duzia né...
GOSTEI 0
Upgradesource
03/11/2008
Lucas faz o seguinte.
se seu componente CrnEditPesquisa for um Tedit, marque a propriedadade numberondy para true e deixe o seu keypress dessa forma.
procedure TFormControleDeClientesPesquisa.CrnEditPesquisaKeyPress(
sender: TObject; var key: Char);
begin
If RadioGroupPesquisaOpcao.ItemIndex = 0 then
Begin
//Quando teclado ENTER, muda o focu para BitBtnsPesquisa
If Key = #13 then
Begin
Key := 0; { Suprime o som }
BitBtnPesquisa.SetFocus;
end;
end;
end;
o Delphi 2009 controla automaticamente numerico. Basta marcar a propriedade acima.
[ ]´s
se seu componente CrnEditPesquisa for um Tedit, marque a propriedadade numberondy para true e deixe o seu keypress dessa forma.
procedure TFormControleDeClientesPesquisa.CrnEditPesquisaKeyPress(
sender: TObject; var key: Char);
begin
If RadioGroupPesquisaOpcao.ItemIndex = 0 then
Begin
//Quando teclado ENTER, muda o focu para BitBtnsPesquisa
If Key = #13 then
Begin
Key := 0; { Suprime o som }
BitBtnPesquisa.SetFocus;
end;
end;
end;
o Delphi 2009 controla automaticamente numerico. Basta marcar a propriedade acima.
[ ]´s
GOSTEI 0
Devmedia
03/11/2008
Amigos, vou agradecer ajuda dos dois, já que as duas respostas vão servir para diferentes situações no meu sistema.
Muito obrigado de verdade, me quebraram um galho de verdade!
Agora vou correr com a migração do sistema.
Mais uma vez, muito obrigado.
Muito obrigado de verdade, me quebraram um galho de verdade!
Agora vou correr com a migração do sistema.
Mais uma vez, muito obrigado.
GOSTEI 0