Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Login u aplikaciji

[es] :: Pascal / Delphi / Kylix :: Login u aplikaciji

[ Pregleda: 3120 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_CaRtMan_

Član broj: 126731
Poruke: 305
*.PPPoE-3581.sa.bih.net.ba.



+1 Profil

icon Login u aplikaciji17.05.2008. u 11:25 - pre 193 meseci
Zaista potrebno. Ali ne znam kako rjesiti. Napravio sam dva ona textfielda tipa "TEdit" i button tipa "TButton". Ostvario sam konekciju sa bazom (access). TADO komponentu koristim. Dodao sam TADOQuery, TDataSetProvider, TClientDataSet, TDataSource. I sve to fino spojio. U TADOQuery-u selektujem podatke iz tabele korisnici..

Eh nemam ideju kako dalje. Tek ucim Delphi.
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.adsl-1.sezampro.yu.



Profil

icon Re: Login u aplikaciji17.05.2008. u 14:34 - pre 193 meseci
Ako nemaš ideju, kreni od pretrage foruma, pa google, etc. Posle toga nam se obratiš da ti konkretno pomognemo.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

_CaRtMan_

Član broj: 126731
Poruke: 305
89.146.171.*



+1 Profil

icon Re: Login u aplikaciji17.05.2008. u 16:45 - pre 193 meseci
Pretrazivao sam forum i google, ali nisam naisao ni na sta. Slabo sta mogu naci za Delphi, pa zato i pitam.
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: Login u aplikaciji18.05.2008. u 23:07 - pre 193 meseci
Kreni odavde:
http://www.google.com/search?q=delphi+ado+example

A zatim pronadji knjigu Mastering Delphi 7 ili neku noviju, pa citaj.

Ako koristis Delphi 7, pregledaj ADO primere koji dolaze uz Delphi. Lokacija je
c:\\Program Files\\Borland\\Delphi7\\Demos\\Ado\\

Izbor baza podataka kao pocetne tacke za ucenje nije bas najpametniji izbor, ali dobro, bitno je da imas volju.


Dakle, oko tvog problema, lepo si to sve povezao, i TADOQuery ti vraca sve podatke iz tabele korisnici. Problem je da pronadjes da li u toj tabeli postoji ono sto je upisano u TEdit polja. Za to mozes koristiti funkciju Locate.

Neka bude da je u TEdit pod imenom edit1 upisano ime, a u edit2 lozinka. U OnButtonClick pises (pisem napamet, mozda ce biti gresaka):

Code:

// Prvi nacin
if (ADOQuery1.Locate("korisnik; lozinka", [edit1.text, edit2.text])) then
begin
  // Korisnik postoji i uneta je ispravna lozinka
end
else
  ShowMessage('Neispravno korisnicko ime ili lozinka');

// Drugi nacin
if (ADOQuery1.Locate("korisnik", [edit1.text])) then
begin
  // Korisnik postoji, proveri mu lozinku
  if (ADOQuery1.FieldByName('lozinka').AsString = edit2.text) then
  begin
    // lozinka je ispravna
  end
  else
    ShowMessage('Neispravna lozinka');
end
else
  ShowMessage('Korisnik sa tim imenom ne postoji');
 
Odgovor na temu

_CaRtMan_

Član broj: 126731
Poruke: 305
89.146.186.*



+1 Profil

icon Re: Login u aplikaciji20.05.2008. u 13:34 - pre 193 meseci
Hvala na odgovoru. Iskoristio sam prvi nacin s tim da sam morao ispraviti neke greske Tamo gdje je ako je ispravno unesen username i password nastimao sam da otvara glavnu formu. Al kad odem frmlogin.close; zatvori mi cijelu aplikaciju, a trebao bi samo tu formu.. ??

I jos me zanima na koji nacin cu znati podatke o korisniku. Konto sam da selektujem sve iz tabele korisnici gdje je username = edtUsername.text (to je onaj TEdit). ali ne znam kako bih to uradio. u main formi napravim query i kako da napisem u onaj SQL Wide String List Editor nesto tipa:

SELECT * FROM otKorisnik; ili tako nesto?? pa onda pretrazujem podatke gdje je username=frmlogin.edtUsername.text;

Da mi je nekako smjestit ko varijable sve to..

 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: Login u aplikaciji20.05.2008. u 15:31 - pre 193 meseci
Citat:
_CaRtMan_:Al kad odem frmlogin.close; zatvori mi cijelu aplikaciju, a trebao bi samo tu formu.

Prvu formu koju kreiras program prihvata kao glavnu formu i kada tu formu zatvoris gasi se ceo program. Tvoja prva forma je login, pa kad se ona zatvori, zatvara se i program.

Za ostalo, procitaj ovo - to je PRVI link medju rezultatima na Guglu (link sam ti ostavio u prosloj poruci).
http://delphi.about.com/od/database/a/databasecourse_2.htm
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.adsl-1.sezampro.yu.



Profil

icon Re: Login u aplikaciji20.05.2008. u 16:57 - pre 193 meseci
Odlično, delphi je pravi izbor za učenje.

Za problem koji si naveo, možeš naučiti više stvari, prvenstveno preko foruma. Lično, na tvom mestu bih išao ovim redosledom:

1) pretražio forum da vidim kako inicijalizovati formu (login), posle koje, ako je uslov zadovoljen, prikazuje se glavna;
2) ispravan način korišćena dbGo komponenti, povezivanje na bazu i korišćenje TDataModule;
3) kad sam kreirao login formu, nakačio se ispravno na bazu, napravio bih funkciju na osnovu koje ću proveriti da li postoji korisnik u bazi (tabeli). Za nju bih koristio neku od query komponenti i sql sintaksu.
4) ako te po logovanju zanimaju podaci o korisniku, prilikom sql upita, ukoliko je uslov zadovoljen, podatke o korisniku možeš iščitati i prikazati na više načina (u zavisnosti kako to želiš, odgovor će biti konkretniji);

O svemu ovome, ima više kvalitetnih diskusija, te predlažem da se osloniš na njih i rešićeš probleme.

Pozdrav.
Someone's sitting in the shade today because someone planted a tree a long time ago.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Login u aplikaciji20.05.2008. u 18:33 - pre 193 meseci
> Hvala na odgovoru. Iskoristio sam prvi nacin s tim da sam morao ispraviti neke greske Tamo gdje je ako je ispravno unesen username i password
> nastimao sam da otvara glavnu formu. Al kad odem frmlogin.close; zatvori mi cijelu aplikaciju, a trebao bi samo tu formu.. ??

Uradi ovako, loginformu najpre izbaci iz autocreated forms (Project/Options), u unitu gde je ona napiši otprilike ovako:

Code:

function DoLogin: Boolean;
var
  frm: TfrmLogin;
begin
   frm := TfrmLogin.Create(nil);
   try
      Result := frm.ShowModal = mrOK; 
   finally
     frm.Free;
   end;
end;



> SELECT * FROM otKorisnik; ili tako nesto?? pa onda pretrazujem podatke gdje je username=frmlogin.edtUsername.text;

Code:

DataSet.Sql = 'SELECT * FROM KORISNIK WHERE USER_NAME = :UserName';
DataSet.Prepare;
DataSet.Params[0] := Trim(edtUserName.Text);
DataSet.ExecSql;

 
Odgovor na temu

_CaRtMan_

Član broj: 126731
Poruke: 305
89.146.174.*



+1 Profil

icon Re: Login u aplikaciji22.05.2008. u 15:15 - pre 192 meseci
Hvala na odgovorima :)

Tnx svima.
sakvic, mozes li tacno reci gdje to u unity-u da napisem? kad izbacim? Znaci ja imam:

- login formu
- formu 1
- formu 2

auto-create je login forma i ona je fsnormal, kad sve bude ok, otvara formu 1 koja je fsMDIForm , a u form 2 imam button koji otvara form 2 i ona je MDIChild. Eh sad zelim da kad se logujem da mi login forma nestane, a da prikazuje samo formu 1 i da nakon klika na button otvori formu 2 a da ne izbaci error:

Cannot create form. No MDI Forms are currently active.

A neko gore dade mi onaj link, pogledacu ono oko pa vidjet malo oko uzimanja podataka i tako.

Pozdrav !

EDIT

Evo ubacio sam:

function DoLogin: Boolean;
var
frm: TfrmLogin;
begin
frm := TfrmLogin.Create(nil);
try
Result := frm.ShowModal = mrOK;
finally
frm.Free;
end;
end;

i izbacio iz autocreate, ali onda kad pokrenem nema stada kreira xd :)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Login u aplikaciji22.05.2008. u 18:30 - pre 192 meseci
> sakvic, mozes li tacno reci gdje to u unity-u da napisem? kad izbacim? Znaci ja imam:

> - login formu
> - formu 1
> - formu 2

Najbolje direktno u project.dpr (Project/View source), otprilike:

Code:

  Application.Initialize;

  if DoLogin then
    Application.CreateForm(TForm1, Form1);
  
  Application.Run;


 
Odgovor na temu

zedin
Edin Omeragic

Član broj: 181832
Poruke: 8
91.191.28.*



Profil

icon Re: Login u aplikaciji22.05.2008. u 18:30 - pre 192 meseci
Možda je najbolje da login dodaš na samom početku programa, pogledaj source od projekta ( desni klik na sam projekat pa View Source ), onda modifikuj kod gdje se kreira glavna forma. Za glavnu formu postavi samo MDI formu.

Code:

begin
  Application.Initialize;

  if DoLogin Then
  begin
    Application.CreateForm(TMainForm, MainForm);
    Application.Run;
  end else begin
     ShowMessage('Pogresan user name. ');
  end;
end.



Bilo bi dobro da DoLogin funkcija vraca mrOk ili mrCancel rezultat a da informacije o loginu smjestis u neku globalnu variablu. Najbolje kreiraj strukturu za informacije o korisniku npr. TUser , i deklarisi globalnu variablu koja za logovanog korisnika.

Code:

type TUser = record
  ID: Integer;
  Username:String ;
  *ostalo*
end;

var LogedUser :TUser;
function IsUserLoged() :Boolean;
begin 
  return (LogedUser.ID > 0); 
end;



Dalje probaj da napravis da se program ne zatvara ako se user name pogrijesi.
 
Odgovor na temu

Milan Milosevic

Član broj: 67
Poruke: 932
79.101.170.*



+31 Profil

icon Re: Login u aplikaciji26.05.2008. u 18:00 - pre 192 meseci
Dobro je za ucenje ali tako nista neces zastiti.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Login u aplikaciji

[ Pregleda: 3120 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.