Login...mitnahme von Benutzername und Passwort!
-
Den Button Nr. 7 auslassen.
if (Form2->Components[i]->ClassNameIs("TButton")&&Form2->Components[i]->Name!="Button7")
-
Ok das abfangen wäre sicher kein problem!
Ich hab nun mal das hier probiert:
void __fastcall TForm1::Button3Click(TObject *Sender) { Form3->Query1->Close(); Form3->Query1->SQL->Clear(); Form3->Query1->SQL->Add("select * from Login where LName like '" +Edit1->Text+ "' AND Passwort = '"+Edit2->Text+ "';"); Form3->Query1->Open(); if (!Form3->Query1->Eof) { if (Form3->Query1->FieldByName("Rechte")->AsBoolean==true) { //ShowMessage ("Gut"); Form4->Show(); String str = Form3->Query1->FieldByName("MARechte")->AsString; Form4->Button1->Enabled = (str[0] == "1") ? true : false; Form4->Button2->Enabled = (str[1] == "1") ? true : false; Form4->Button3->Enabled = (str[2] == "1") ? true : false; Form4->Button4->Enabled = (str[3] == "1") ? true : false; Form4->Button5->Enabled = (str[4] == "1") ? true : false; Form4->Button6->Enabled = (str[5] == "1") ? true : false; Form4->Button7->Enabled = (str[6] == "1") ? true : false; Form4->Button8->Enabled = (str[7] == "1") ? true : false; Form4->Button9->Enabled = (str[8] == "1") ? true : false; Form4->Button10->Enabled = (str[9] == "1") ? true : false; Form4->Button11->Enabled = (str[10] == "1") ? true : false; Form4->Button12->Enabled = (str[11] == "1") ? true : false; Form1->DestroyWnd(); //Form3->Table2->Open(); } } else { ShowMessage ("Falscher Benutzername oder falsches Passwort"); Edit1->SetFocus(); } }Und da kommt Fehler: Konvertierung von Char nach Char nicht möglich?!
Hab ich was übersehen?
-
Form4->Button1->Enabled = (str[0] == '1') ? true : false; etc.
-
ich zitiere mich mal selbst...

Linnea schrieb:
DJ BlackEagle schrieb:
PS: li... ein Array fängt immer mit 0 an, nicht mit 1.
Strings sind 1 basiert ...
also lieber bei
Form4->Button1->Enabled = (str[1] == '1') ? true : false;beginnen
-
Für AnsiString
str[1]für std::string
str[0]
-
Danke ihr beiden....das funktioniert jetzt!
Werde dann mal das andere Beispiel von Fragg testen...weil das für weitere Komponenten anscheinend eleganter ist!
-
Und da hab ich gleich noch eine Frage:
Da ich ja als Admin im Prog auch rechte anlegen will und ändern...also wie kann ich zB an bestimmte positionen in den string schreiben?
Beispiel:
Ich hab für jeden Button eine Checkbox...und ich möchte Button7 aktivieren..wie müsste also das OnCklick Ereigniss der Checkbox aussehen, das er mir eben an die siebte stelle eine 1 schreibt...bzw von 0 auf 1 ändert?
-
Eins verstehe ich nicht ganz. Wieso macht ihr das hier
Form4->Button1->Enabled = (str[1] == '1') ? true : false;so kompliziert.
Das hierForm4->Button1->Enabled = (str[1] == '1');reicht doch auch;
Desweiteren könnte man doch die Nummern der Buttons auch in deren Tag schreiben. Da bräuchtet ihr keine Namen abzufragen.
-
String ur="000000000000";// String Aus Datenbank ur[7]='1'; //... In Datenbank schreiben
-
also müsste ich es so machen:
if (CheckBox->Checked) { Form3->Query1->??? und jetzt?? Ein FieldByName(""), oder wie bekomm ich den String per Syntax rein? }Oder wo muss ich das ur[7]='1' hinschreiben?
-
Am besten unterhält man sich mit einer Datenbank in einer Sprache die sie versteht.(SQL)
Für ändern UPDATE ...
Für löschen DELETE ...
-
Ja schon klar...
könntest mir bitte mal ein beispiel geben bitte...wie ich in den String reinschreiben kann...den syntax weiß ich nich!
Also einfach mal ein Codebeispiel?!
-
Hier ist genau das gleiche.
http://www.c-plusplus.net/forum/viewtopic.php?t=93756
-
Hmm...das is schon klar....ich weiß nur mit dem nix anzufangen:
String ur="000000000000";// String Aus Datenbank ur[7]='1'; //... In Datenbank schreibenkannst mir das mal in so ein ähnliches beispiel wie bei dem anderen Thread geben?!

-
String alt="101000000000"; String neu=alt; neu[7]='1'; String sql="UPDATE artikel SET passwort='"+neu+"' WHERE passwort='"+alt+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-
Damit du nicht das eventuell gleiche Passwort bei anderen Benutzern änderst solltest du es so erweitern...

String alt="101000000000"; String neu=alt; neu[7]='1'; String sql="UPDATE artikel SET passwort='"+neu+"' WHERE passwort='"+alt+"' AND username='"+user+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-

Sorry, bin zur Zeit etwas verwirrt. Nicht passwort sondern Rechte.
Im Code entsprechend ändern.....
-
Huh?
Wie was wo?
Passwort?
Ich wollte doch Rechte über Checkboxen ändern!
-
Kamill schrieb:
Huh?
Wie was wo?
Passwort?
Ich wollte doch Rechte über Checkboxen ändern![moralapostel on]
a) Les es dir nochmal genau durch...
b) Empfehle ich ein gutes Buch...
c) bin ich erstaunt wie geduldig Fragg ist
Respekt!
d) Empfehle ich ein gutes Buch...
e) Such dir vielleicht mal ein gutes Tutorial...
f) Empfehle ich ein gutes Buch...
[moralaposten off]
-
Ja gutes Buch....schön!
Und fragg is halt nen netter typ =)!
Werde es mal ausprobieren, und wenns nich geht meld ich mich wieder!