Sprawdzanie poprawności danych w Delphi

0

Jest w Delphi taka funkacja dzięki której na przykad można sprawdzić poprawność wpisywanego maila lub innych danych??

Chodzi mi o coś podobnego do preg_match() w PHP

Dzieki i POYDRAWIAM.

0

z tego co wiem to nie ma.
Trzeba samemu sobie to napisać. Nie jest to trudne. Wystarczy napisanie pętli która poprzeskakuje sobie literka po literce i jeśli nie znajdzie znaku @ to błąd, jeśli nie bedzie textu przed @ to błąd , kropki , itd .....

0

Hmmm możesz sprawdzić czy w stringu jest '@' i czy nie jest coś (jakiś tekst) przed i po tym znaku

if (Pos('@',strmail)<>0) and (Pos('@',strmail)<>1) and Pos('@',strmail)<>length(strmail))  then
 dobrze;
 else
 zle;

gdzie strmail to zmienan string

funcja Pos(substr,str) zwraca pozycje stringu substr w stringu str,
jeżeli takiego nie ma w str to zwraca zero
dodatkowo możesz sprawdzać czy jest kropka gdzieś po @ :)

Pozdrawiam
tiger

0

tak z nudów napisze sobie taki kodzik :d :

var
  i:integer;
  s:string;
begin
  Edit1.text:='mó[email protected]';
  s:=Edit1.text;
  for i:=0 to Length(s) do
  begin
    if s[i]='@' then 
    begin
       if i>0 then
       Memo1.lines.add('Znak małpy jest w adresie.') 
       else if i=0 then
       Memo1.lines.add('Adres niepoprawny. Brak znaków przed znakiem @');
    end;
    if s[i]='.' then Memo1.lines.add('Kropka jest w adresie');
  ...
 itp, itd...



 Jak bedzie jakiś błąd to nie bijcie bo to tak na szybko   ;P 
0

Są inne funkcje z których można skoryzstac opróczPOS()??

0
Yar napisał(a)

Są inne funkcje z których można skoryzstac opróczPOS()??

Tak jak tu koledzy wspomnieli możesz po kolei lecieć znaki i sprawdzać:)
tylko po co :P
hmmm innych funkcji takiego typu raczej nie ma,
wszystkie które mogą Ci się przydać to Pos() i Length() zwracająca długość

0

Jeżeli interesuje mnie aby w stringu były zawarte same cyfry to też muszę znak po znaku sprawdzać - nie ma łatwiejszych metod ??

Jeszcze raz Dzięki za pomoc i Pozdrawiam.

0

możesz spróbować zmienć na liczbę StrToInt i jak będzie błąd to błąd (wykorzystaj Try albo TryStrToInt)

1 użytkowników online, w tym zalogowanych: 0, gości: 1