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:
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 ...
Ö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.
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 ...
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.
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
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 ...
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.
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 ...