szukanie konkretnego znaku w ciagu znaków

0

Witam. Mam problem. POtrzebuje pilnie znalezc sposob w jaki moge okreslic, czy w danym ciagu znakow jest zawarty znak @ (at). Chodzi mi dokladnie o to, by okreslic czy pzry podawaniu do formularza adresu email jest on podany w prawidlowej formie. Jesli to pomoze zalaczam fragment kodu z tlumaczeniem:

if (Edit8.Text<>'') then
    begin
      pom1:=Edit8.Text;
      l1:=Length(pom1);
      l3:=0;
    for l2:=0 to 0 do
      begin
        if (pom1[l2] in ['A'..'Z']) or (pom1[l2] in ['a'..'z']) or (pom1[l2] = '-') or (pom1[l2] = ' ') or (pom1[l2] in ['0'..'9']) or (pom1[l2] = '.') then
          Inc(l3);
      end;

    for l2:=1 to l1 do
      begin
        if (pom1[l2] in ['A'..'Z']) or (pom1[l2] in ['a'..'z']) or (pom1[l2] = '-') or (pom1[l2] = ' ') or (pom1[l2] in ['0'..'9']) or (pom1[l2] = '.') then
          Inc(l3);
      end;
      if (l1<>l3) then
      begin
        Inc(popr);
        showmessage('Blednie wprowadzony adres email');
      end;
   end;

Potrzebuje sposobu, by w "pom1 " sprawdzic czy istnieje tam znak @. Pilne. Z gory dzieki za pomoc:)

0

Pos('@',str) > 0 then jest '@'
Nie wiem czy to dokladnie tak ale cos w ten desen (pozna godzina po 2 nie przespanych nocach)

0
gazoor napisał(a)

Potrzebuje sposobu, by w "pom1 " sprawdzic czy istnieje tam znak @. Pilne. Z gory dzieki za pomoc:)

If Pos(pom1,'@')>0 then ShowMessage('jest) else ShowMessage('ni ma');

?

0

dzieki. moze cos mi sie uda z tego zrobic:]

Sprostowanie:
Poniewaz dalej sie nie moge dokopac jak dokladnie to zrobic wyjasniam:
chodzi mi o to by wstawic wyrazenie w linię kodu zamieszczona ponizej w miejsce ***, ktore bedzie sprawdzalo czy znak @ istnieje we wczytywanym ciagu znakow z pom1 i jesli tak to przepuszcza dalej do bazy danych a jesli nie to wyswietla ponizszy showmessage.

if (l1<>l3) or *** then
begin
Inc(popr);
showmessage('Blednie wprowadzony adres email');
end;

mam nadzieje, ze teraz wyrazilem sie jak najbardziej zrozumiale. Ciagle czekam na pomoc. Pozdrawiam i z gory dziekuje

0

Do sprawdzania poprawności ciągów [jak np. e-mail] zdecydowanie polecam wyrażenia regularne - proste w wykorzystaniu i bardzo elastyczne.

Jak ich użyć w Delphi
Jak dopasować e-mail

Brak standardowych narzędzi w produktach Borlanda do obsługi RegExp uważam za katastrofalne niedopatrzenie...

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