Programa login sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
shochan
Üye
Mesajlar: 89
Kayıt: 06 Eki 2008 04:54
Konum: Kayseri

Programa login sorunu

Mesaj gönderen shochan »

S.a arkadaşlar benim bir sorum olacak ben programıma bir kullanıcı giriş ekranı yaptım forumda yaptığım aramalar sonucu bulduğum kodlarla veri tabanındaki kullanıcı adı ve şifre alanında arama yaptırıp eğer yazılan değerler vt de varsa diğer form show oluyor. Fakat şöyle birşeyde oluyor kullanıcı adı ve şifre kısmını boş bıraktığımda yine giriş yapıyor nedendir anlayamadım doğru yazdığımda yada yanlış yazdığımda bir sorun yok ama boş bırakırsam yine giriş yapıyor.
Kullandığım kod:

Kod: Tümünü seç

begin
if ibTable1.Locate('USER_ID',VarArrayOf([edit1.Text]),[loPartialkey, loCaseinsensitive])=true and ibTable1.Locate('PASSWORD',VarArrayOf([edit2.Text]),[loPartialkey, loCaseinsensitive])=true then
begin
anafrm.Show;
girisfrm.Hide;
end
else
begin
showmessage('Hatalı Kullanıcı Adı yada Şifre..!');
edit1.Text:='';
edit2.Text:='';
edit1.SetFocus;
end;
en üstteki if ile başlayan kodu forumdaki aramalarım sonucu buldum editleri boş bıraktığımda neden giriş yapıyor onu anlamadım yardımlarınızı bekliyorum

Not: Mantık hatası yada başka birşey varsa söyleyin çünkü ilkdefa programa giriş ekranı yapıyorum

Herkese iyi çalışmalar şimdiden yadımı geçen yada konuyu okuyan bütün arkadaşlara teşekkürler.
  • Devler Gibi İşler Yapmak İçin Karıncalar Gibi Çalışmak Lazım ...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Programa login sorunu

Mesaj gönderen conari »

VarArrayOf()
ları kaldırıp dene
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Programa login sorunu

Mesaj gönderen vkamadan »

@conari' ye ilave olarak loPartialkey kaldırmalısınız, yoksa kullanıcı adı ve şifrenin bir kısmı dahi tutsa doğru varsayacaktır.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
shochan
Üye
Mesajlar: 89
Kayıt: 06 Eki 2008 04:54
Konum: Kayseri

Re: Programa login sorunu

Mesaj gönderen shochan »

Öncelikle yardımlarınız için teşekkür ederim vkamadan ve conari hocam ikinizinde dediklerini yaptım dediğiniz kısımları sildim fakat tabloda boş kayıt olmamasına rağmen editler boşken giriş butonuna tıkladığımda 2. form açılıyor bu kodu ilkkez kullandığımdanmı yoksa biyerde hatamı yapıyorum bilmiyorum eğer daha farklı bir yol yöntemi varsa söylerseniz sevinirim.

kullandığım kodun son hali:

Kod: Tümünü seç

begin
if ibTable1.Locate('USER_ID',(edit1.Text),[loCaseinsensitive])=true and ibTable1.Locate('PASSWORD',(edit2.Text),[loCaseinsensitive])=true then
begin
anafrm.Show;
girisfrm.Hide;
end
else
begin
showmessage('Hatalı Kullanıcı Adı yada Şifre..!');
edit1.Text:='';
edit2.Text:='';
edit1.SetFocus;
end;
şimdiden ilgilenen arkadaşlara teşekkürler iyi çalışmalar
  • Devler Gibi İşler Yapmak İçin Karıncalar Gibi Çalışmak Lazım ...
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Programa login sorunu

Mesaj gönderen vkamadan »

shochan yazdı:
kullandığım kodun son hali:

Kod: Tümünü seç

begin
if ibTable1.Locate('USER_ID',(edit1.Text),[loCaseinsensitive])=true and ibTable1.Locate('PASSWORD',(edit2.Text),[loCaseinsensitive])=true then
yukarıdaki bölümü aşağıdaki gibi değiştirerek deneyin, mantıksal sınama ifadelerinde her sınama ayrı parantez içine alınmalıdır bu gibi kullanımlarda genelde derleme anı hatası oluşması lazım sizde nasıl oluşmadığını anlamadım ama zaten çalışsada doğru sonuç vermeyecektir.

Kod: Tümünü seç

if (ibTable1.Locate('USER_ID',(edit1.Text),[loCaseinsensitive])) and (ibTable1.Locate('PASSWORD',(edit2.Text),[loCaseinsensitive])) then
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
shochan
Üye
Mesajlar: 89
Kayıt: 06 Eki 2008 04:54
Konum: Kayseri

Re: Programa login sorunu(ÇÖZÜLDÜ)

Mesaj gönderen shochan »

Yok hocam doğru söylüyorsunuz derleme hatası aldım ama kodda bi kaç değişiklik yaparak yani en son yazdığım haliyle derleme hatası almıyorum fakat dediğiniz gibi doğru sonuçte vermiyor sizin vermiş olduğunuz kodu deneyip sonucu yazıcam tekrar ilginiz için teşekkür ediyorum

DÜZELTME

Hocam çok teşekkür ediyorum sizin vermiş olduğunuz kodu aynen yazdım ve istediğim sonucu verdi çok çok teşekkür ederim saygılar iyi çalışmalar :bravo:
En son shochan tarafından 22 Oca 2010 12:40 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
  • Devler Gibi İşler Yapmak İçin Karıncalar Gibi Çalışmak Lazım ...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Programa login sorunu

Mesaj gönderen aslangeri »

s.a.
locate yerine sql ile arama yapmayı dene.
daha iyi olacaktır.
illa locate kullanacağım diyor isen locate ile iki alanda birden arama yapabiliyor olman lazım.

Kod: Tümünü seç

if ibTable1.Locate('USER_ID;PASSWORD',VarArrayOf([edit1.Text,edit2.Text]),[])=true then
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
shochan
Üye
Mesajlar: 89
Kayıt: 06 Eki 2008 04:54
Konum: Kayseri

Re: Programa login sorunu

Mesaj gönderen shochan »

aslangeri hocam şuan sorunum çözülmüş durumda sabah forumda yaptığım aramalarda sizin vermiş olduğunuz kodu buldum fakat çalıştıramamıştım ondan sonra buraya yazdım sağolsun vkamadan hocamın dediği şekilde istediğim sonucu alıyorum sizinde ilginiz için teşekkür ederim
  • Devler Gibi İşler Yapmak İçin Karıncalar Gibi Çalışmak Lazım ...
Cevapla