Código: private void Vpercentasgem() { string txtvazio = " "; if (Stingvalida_percentagem(Txtpalavrachave.Text)) { palpass = "%" + txt.Replace(' ', '%') + "%"; } else { txt = txtvazio; palpass = "%" + txtvazio + "%"; } } tenho aqui um problema que eu quero que ele não mostre registos quando ponho o caracter especial % ,pois tenho a função "Stingvalida_percentagem" que esta a controlar isso, que funciona perfeitamente. pois o unico caracter especial que eu tenho validado que não funciona como eu quero é o % , os outros tdos mandam o regs na pesquiza se na instrução else puser como esta manda todos se puser palpass = "%" + txt.Replace(' %', '\\') + "%"; se fizer replace de % por \ como barra é invalido funciona bem mas eu gstava de fazer isto de outra maneira agradecia um help
se puderes coloca o codigo da função valida percentagem para ter ver a logica de execução, ja que o codigo que meteste aparentemente esta correcto. cumps
aparentemente esta correcto e funciona pergeitamente mas queria fazer de outra maneira , pois parece que n querem que fassa siim. pelo menos a instrução do else de qq das maneiras esta aqui o valida_percentagem Código: private Boolean Stingvalida_percentagem(String str) { str.Trim(); int count = str.Length; Boolean result = true; char testChar = ' '; for (int i = 0; i < count; i++) { if ((str[i].Equals('%'))) { result = false; break; } testChar = str[i]; } return result; } ou seja so queria mudar esta expressão Código: palpass = "%" + txt.Replace(' %', '\\') + "%";
não estou a perceber bem o que queres fazer.... mas : 1. a tua função Stingvalida_percentagem pode ser substituida por Código: bool validaPercentagem = txt.IndexOf('%') == -1; exemplo : bool validaPercentagem = "kjsdlkasjdasd%kjashdkja sdasd".IndexOf('%') == -1; para perceber melhor o que queres "dá-me" uma string inicial , e o resultado final (string) esperado para cada caso p.f. /ing
o que eu quero é alf%rib , ou %alf%rib, ou %alf%rib% -(qq string com percentagem em qq posição) evolve vazio pq essa string não existe no registo por caus a da % % apenas tb devolve vazio isso é a instrução que vem a segir ao else
Código: string teste="alf%rib"; bool temPercentagem = teste.IndexOf('%') != -1; if (temPercentagem) teste=""; isto?
é a unica maneira que ha de fazer , pois essa foi a que fiz, e funciona , mas que me esrta a orientar diz que não é a melhor forma brigada na mesma