ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
3871
3871
EMPFEHLEN
-
Hallo
Ich schlage mich zur Zeit mit dem Qt 3.3.4 herum. Als Entwicklungsumgebung setzte ich Visual Studio.Net 2003 ein.
Nun zu meinen Problem: Ich muss ein Programm mit einer Login-Maske erstellen, um so nur den Benutzern Zugang zum Programm zu gewähren, welche auch über das notwendige Passwort verfügen. Beim ersten Login ist das Passwort gegeben, anschliessend sollte der Benutzer das Passwort über das Menu ändern können.
Das Passwort sollte auch in einem Logfile abgelegt sein, wenn möglich natürlich verschlüsselt.
Kann mir jemand weiterhelfen, ich habe leider keine Ahnung wie ich das machen kann.
Gruss halde
-
22.07.05 09:33 #2
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Wenn du eine Einführung in QT brauchst, guck dir das an -> http://www.tutorials.de/tutorials178446.html
mfg
umbrasaxum
-
Vielen Dank für diese Hilfe
Für mein Problem brachte es jedoch nicht viel.
Ich habe mit dem Qt-Designer eine Login-Maske mit einem QLineEdit für die Passworteingabe erstellt.
Zusätzlich habe ich das richtige Passwort folgendermassen initialisiert:
QString Login = "Passwort";
Sobald beim QLineEdit eine Eingabe getätigt wird, wird der OK-Button auf visible gesetzt, sodass man das Passwort bestätigen kann.
void frm_Login::enablebtn_OK( const QString &)
{
if (e_Passwort>0)
btn_OK->setEnabled(true);
else
btn_OK->setEnabled(false);
}
Mein Problem ist nun, wie kann ich bei Qt diese zwei Strings vergleichen und bei einer falschen Eingabe eine Fehlermeldung anzeigen.
Für den Passwortvergleich habe ich eine eigene Funktion erstellt:
void frm_Login::vergleichePasswort(const QString &)
In C++ würde dies etwa folgendermassen aussehen:
bool getPasswort()
{
bool ok_flag = false;
string wort;
while ( ok_flag != true)
{
cout<< "Geben Sie das Passwort ein:";
cin.sync();
cin>>setw(20)>>wort;
if (wort !=geheimwort)
cout << "Passwort ungültig!"
else
ok_flag = true;
}
return ok_flag;
}
Vielen Dank für Eure Hilfe (wenn möglich mit Source)..
Halde
-
Wenn du QT programmierst solltest du diese Seite eigentlich in und
auswendig kennen
:
http://doc.trolltech.com/3.3/
Dann hättest du sicherlich das gefunden:
http://doc.trolltech.com/3.3/qstring.html#compare-2
Dein 2tes Problem loest du am besten mit der:
http://doc.trolltech.com/3.3/qmessagebox.html
Gruß
RedWing"I'm not deaf, I'm ignoring you"
----
-
Da sehe ich eigentlich kein großes Problem. Da du ja wohl beide Strings in einem QString-Objekt gespeichert hast, kannst du direkt den Vergleichs-Operator verwenden. Die Ausgabe der Meldung erfolgt dann mit einer QMessageBox.
Zitat von halde
Code :1 2 3 4 5 6 7
QString strInput = ...; QString strLogin = "Passwort"; if( strInput != strLogin ) { QMessageBox::warning(this, "Titel", "Falsches Passwort"); }
-
Dieses Problem konnte ich lösen. Jedoch habe ich schon das nächste endeckt.
Zuerst möchte ich ein Log-Dialog dem Benutzer zeigen. Sobald er das Passwort richtig eingeben hat, soll dieser Log-Dialog verschwinden und es soll ein neuer Dialog (die eigentliche Appliaktion) gestartet werden.
Ich habe div. Versuche vorgenommen und Lektüren studiert, jedoch ohne Erfolg.
Das war mein letzter Versuch:
int main( int argc, char* argv[] )
{
QApplication LoginMask( argc, argv );
// Instantiierung eines QApplication-Objekts
QSplashScreen *frm_Login = new QSplashScreen();
frm_Login->show(); // zeige Form Login
Form1 Login;
LoginMask.setMainWidget( &Login ); // 'Login' ist das Hauptwidget
frm_Login->finish(&Login);
Login.show();
delete frm_Login;
return LoginMask.exec();
};
Das frm_Login ist das erste Fenster und anschliessend muss Form1 angezeigt werden.
Es wird jedoch direkt immer das Form1 angezeigt.
Kann mir jemand helfen.
Gruss Andreas
-
QSplashScreen habe ich noch nicht verwendet, aber lt. Klassenreferenz benötigt es ein Bitmap im Konstruktor bzw. es sollte später mit "setPixmap()" zugewiesen werden. Ich könnte mir denken, dass ohne Bitmap kein Fenster angezeigt wird.
Ähnliche Themen
-
Webservice: Visual Studio 2008 vs Visual Studio 2010 Express for Windwos Phone
Von Johannes7146 im Forum .NET Web und KommunikationAntworten: 4Letzter Beitrag: 27.09.10, 23:06 -
[Visual Studio 2008] UML-Designer / Plugin für C# . NET
Von Marschal im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 01.04.10, 14:50 -
Fehlersammlung ! Projekt von Visual Studio 6 auf Visual Studio 8 portieren
Von sand13r im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 07.08.08, 15:23 -
Konvertieren eines Visual Studio 7 Projektes in Visual Studio 6
Von Ulrich Michalik im Forum C/C++Antworten: 2Letzter Beitrag: 18.11.04, 19:20 -
Visual Studio 2003 und Visual Studio 2002 parallel auf einem Rechner
Von LissiOne im Forum .NET ArchivAntworten: 2Letzter Beitrag: 16.11.04, 17:12





Zitieren
Login






