duvida basica
ola gostaria de exclarecer uma duvida, no rad studio,como eu faço pra alterar so o primeiro numero de uma string por exemplo:
var
valor:string;
begin
valor:=1501;
estou tentando usar o stringreplace
tipo assim
valor:=stringreplace(valor, 1, 5, [rfreplaceall]);
edit1.text:=valor;
quando clico ele me retorna 5505 como eu faço pra alterar so o primeiro 1?
onde o valor seria 5501?
Paulo Silva
Curtidas 0
Respostas
Wesley Yamazack
08/01/2009
Boa tarde meu caro.
Segue abaixo a solução para o seu problema.
Var
vStrPrimeiroN : String;
vStrRestante : String;
QtdCaracteres : Integer;
begin
Edit1.Text := 12345;
//Serve para pegar o tamanho da sua Caixa de texto
QtdCaracteres := Length(Edit1.Text);
//Serve para copiar o primeiro caracter e Salvar o mesmo na variavel vStrPrimeiroN
vStrPrimeiroN := Copy(Edit1.Text,1,1);
//Serve para copiar todos os caracteres retirando o primeiro e Salvar o mesmo na variavel vStrRestante
vStrRestante := Copy(Edit1.Text,2,QtdCaracteres);
//SERVE PARA VOCÊ DAR O REPLACE SOMENTE NO CARACTER INICIAL, E DEPOIS CONCATENAR(JUNTAR) COM O RESTANTE DOS CARACTERES
Edit1.Text := StringReplace(vStrPrimeiroN,vStrPrimeiroN,[ DIGITE AQUI IRA SUBSTITUIR ] ,[rfReplaceAll]) + vStrRestante;
Espero que ajude, se não ficar muito claro pode postar novamente, ate retirarmos sua dúvida.
Att,
Wesley Yamazack
Segue abaixo a solução para o seu problema.
Var
vStrPrimeiroN : String;
vStrRestante : String;
QtdCaracteres : Integer;
begin
Edit1.Text := 12345;
//Serve para pegar o tamanho da sua Caixa de texto
QtdCaracteres := Length(Edit1.Text);
//Serve para copiar o primeiro caracter e Salvar o mesmo na variavel vStrPrimeiroN
vStrPrimeiroN := Copy(Edit1.Text,1,1);
//Serve para copiar todos os caracteres retirando o primeiro e Salvar o mesmo na variavel vStrRestante
vStrRestante := Copy(Edit1.Text,2,QtdCaracteres);
//SERVE PARA VOCÊ DAR O REPLACE SOMENTE NO CARACTER INICIAL, E DEPOIS CONCATENAR(JUNTAR) COM O RESTANTE DOS CARACTERES
Edit1.Text := StringReplace(vStrPrimeiroN,vStrPrimeiroN,[ DIGITE AQUI IRA SUBSTITUIR ] ,[rfReplaceAll]) + vStrRestante;
Espero que ajude, se não ficar muito claro pode postar novamente, ate retirarmos sua dúvida.
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
08/01/2009
Paulo,
Boa noite ficou claro a explicação.
Podemos fechar o chamado ?
Att,
Wesley Yamazack
Boa noite ficou claro a explicação.
Podemos fechar o chamado ?
Att,
Wesley Yamazack
GOSTEI 0
Paulo Silva
08/01/2009
Sim ficou wesley brigadao kra te perguntar mais duas coisinhas eu uso messagebox como faço pra essas mensagens ficarem em foco tipo showmodal? tipo somente se o usuario clicar no ok ela deixa ele acessar a aplicação, eu coloquei uma grid pra contar o numero do registro pra mim eu fiz assim
no evento on new record to clientdataset bom funciona bem so que quando eu vou editar o mesmo o numero some
as vezes O.o teria uma outra forma de fazer isso?
cdsitendetalheNUMEROITEN.AsInteger :=
cdsitendetalhe.RecordCount+1;
cdsitendetalhe.RecordCount+1;
GOSTEI 0
Wesley Yamazack
08/01/2009
Paulo
Vamos la abaixo segue a forma padrão de se mandar uma mensagem.
var
Txt1, Txt2: String;
begin
Txt1 := "Consultoria";
Txt2 := "DevMedia";
MessageBox(Application.Handle, PChar(Txt1), "Titulo1", MB_ICONINFORMATION + MB_OK);
MessageBox(Application.Handle, PChar(" Consultor : "+Txt2), "Titulo2", MB_ICONINFORMATION + MB_OK);
Com relação ao clientdataset, eu sempre que vou pegar a quantidade de registros do ClientDataSet, coloco em dois lugares.
1 - Ao abrir o form.
2 - Ao Gravar(Gerar) um novo registro, Sendo assim a quantidade de registros será sempre verdadeira, pois só será contato registros que estiverem realmente gravados.
Att,
Wesley Yamazack
Vamos la abaixo segue a forma padrão de se mandar uma mensagem.
var
Txt1, Txt2: String;
begin
Txt1 := "Consultoria";
Txt2 := "DevMedia";
MessageBox(Application.Handle, PChar(Txt1), "Titulo1", MB_ICONINFORMATION + MB_OK);
MessageBox(Application.Handle, PChar(" Consultor : "+Txt2), "Titulo2", MB_ICONINFORMATION + MB_OK);
Com relação ao clientdataset, eu sempre que vou pegar a quantidade de registros do ClientDataSet, coloco em dois lugares.
1 - Ao abrir o form.
2 - Ao Gravar(Gerar) um novo registro, Sendo assim a quantidade de registros será sempre verdadeira, pois só será contato registros que estiverem realmente gravados.
Att,
Wesley Yamazack
GOSTEI 0
Paulo Silva
08/01/2009
a questao é que quero impedir o usuario de clicar no form eu uso isso mais o usuario consegue simplesmete clicar no form saka?
MESSAGEBOX(Application.Handle, Existem informações que ainda não foram +#13+salvas deseja continuar, Confrimar, MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2)=ID_YES como seria pro usuario nao conseguir clicar no form enquanto a mensagem estivesse ativa?
GOSTEI 0
Wesley Yamazack
08/01/2009
Paulo, tem como você me mandar o teu exemplo, com esta msg, pois estou fazendo aqui, mas as minhas msgs elas ficam como showmodal.
Aguardo seu exemplo.
Att,
Wesley Yamazack
Aguardo seu exemplo.
Att,
Wesley Yamazack
GOSTEI 0
Paulo Silva
08/01/2009
bom usando o messagebox(application.handle) nao fika como showmodal nem a pau eu resolvi o problema usando
application.messagebox() assim funciona O.o
pode fechar o chamado
GOSTEI 0
Wesley Yamazack
08/01/2009
Paulo, estamos fechando o chamado.
Att,
Wesley Yamazack
Att,
Wesley Yamazack
GOSTEI 0