Entwickler-Ecke
Internet / Netzwerk - website passwort eingeben -> programm
helmesb04 - So 31.05.09 14:34
Titel: website passwort eingeben -> programm
hallo...
ich bin neu hier und habe eine frage
und zwar möchte ich, wenn man mein programm startet vorher erst sein benutzernamen und sein passwort von meiner website eingibt bevor er zum hauptprogramm kommt.
also so stell ich mir das vor:
ein kleines fenster mit: Loginname (dann ein editfeld), darunter Passwort (daneben editfeld) und unter den beiden sachen dann Login oder Abbrechen!
wenn man dann auf login klickt soll er logischer weise zum richtigen programm gehen ;)
und es soll auch ein Logout Button geben, um sich vom Hauptprogramm auszuloggen, allerdings, wenn man sich nicht ausloggt und das programm schließt und wieder öffnet soll man weiterhin eingeloggt bleiben ;)
ich hoffe ihr könnt mir helfen =)
dann noch eine kleine pupsfrage :D, wie kann ich tabs anlegen, so das sich wie beim firefox bei verschiedenen tabs die verschiedenen seiten öffnen?
danke =)
helmesb04 - So 31.05.09 15:25
keiner ne idee :P
jaenicke - So 31.05.09 15:28
Hallo und :welcome: im Forum!
Für das Loginfenster erstellst du ein kleines neues Fenster mit den Logineingabefeldern (TEdit für den Benutzernamen, TMaskEdit für das Passwort z.B.). Das zeigst du dann z.B. in FormCreate deines Hauptformulars an. Wichtig dabei: Das Fenster darf nicht automatisch erstellt werden (Projekt --> Optionen --> Formulare), sondern das musst du selbst machen.
Und zu den Tabs: Neue Frage --> neues Thema im Forum!
Grundsätzlich musst du eben nicht nur das TabSheet auf dem PageControl neu erstellen (das du vermutlich benutzt) sondern auch die Darstellungskomponente (also vermutlich TWebBrowser).
// EDIT:
Schiebeposts sind laut den Richtlinien erst nach 24 Stunden erlaubt... :roll:
helmesb04 - So 31.05.09 15:44
Hey, danke für deine Antwort =)^^
und entschuldigung das ich das mit den tabs hier hin gepostet habe.
habe jetzt ein neues Formular erstellt und wie du erklärt hast das mit den Benutzernamen und dem Passwort erstellt, sowie ein "login" und ein "abbrechen" button erstellt
jaenicke hat folgendes geschrieben : |
Das zeigst du dann z.B. in FormCreate deines Hauptformulars an. Wichtig dabei: Das Fenster darf nicht automatisch erstellt werden (Projekt --> Optionen --> Formulare), sondern das musst du selbst machen.
|
das habe ich noch nicht ganz verstanden, ich habe bei Projekt --> Optionen --> Form 2 hab ich als hauptformular gemacht
...
hoffe das war soweit richtig!
wie krieg ich das denn hin das wenn ich die benutzernamen und das passwort eingeben habe und auf login klicke zu Form 1 rüberspringt?
der benutzer soll ja auf meiner hp angemeldet sein, das muss man doch irgendwie abfragen oder?
ffgorcky - So 31.05.09 15:50
Naja, Du könntest doch zum Beispiel das so machen
(Das ist jetzt nur "so aus der Hand geschüttelt", also nicht überprüft):
Delphi-Quelltext
1: 2: 3: 4:
| Clipboard.SetText(LoginName); ActiveControl.KeyDown(VK_TAB,shift); Clipboard.SetText(LoginPasswort); ActiveControl.KeyDown(vk_enter,shift); |
helmesb04 - So 31.05.09 15:54
mhm, aber das beantwortet ja eigtl immer noch nicht so richtig die frage, wenn ich
Delphi-Quelltext
1: 2: 3: 4:
| Clipboard.SetText(LoginName); ActiveControl.KeyDown(VK_TAB,shift); Clipboard.SetText(LoginPasswort); ActiveControl.KeyDown(vk_enter,shift); |
eingeben würde, dann wüsste das prog doch immer noch nicht ob die namen richtig oder falsch sind!?,
das prog muss das doch irgendwie von der website oder so abrufen können?
ffgorcky - So 31.05.09 15:56
Oh - ich habe Dich wohl missverstanden.
Ich dachte, dass Du ein Programm schreiben möchtest, welches automatisch im IE oder so den Login macht.
Regan - So 31.05.09 15:57
helmesb04 hat folgendes geschrieben : |
das habe ich noch nicht ganz verstanden, ich habe bei Projekt --> Optionen --> Form 2 hab ich als hauptformular gemacht
...
hoffe das war soweit richtig! |
Nein, nicht ganz. Setze mal wieder Form1 als Hauptformular. Du sollst das automatische Erzeugen von Form2 verhindern. Dazu lässt du dir den Programmquelltext der
Exe-datei anzeigen (Bei Turbo Delphi geht das mit Rechtsklick ->Quelltext anzeigen) und löscht dort das
CreateForm(Form2, TForm2); einfach raus. Im Form1 erstellst du dann Form2 und lässt es per ShowModal anzeigen.
helmesb04 hat folgendes geschrieben : |
wie krieg ich das denn hin das wenn ich die benutzernamen und das passwort eingeben habe und auf login klicke zu Form 1 rüberspringt? |
In Form1 kannst du dann, wenn du ShowModal über das ModalResult der Buttons ausgewertest hast, einfach auf die Form2 Komponenten zugreifen.
jaenicke - So 31.05.09 15:57
ffgorcky hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4:
| Clipboard.SetText(LoginName); ActiveControl.KeyDown(VK_TAB,shift); Clipboard.SetText(LoginPasswort); ActiveControl.KeyDown(vk_enter,shift); | |
Was hat das jetzt damit zu tun? :gruebel:
helmesb04 hat folgendes geschrieben : |
das habe ich noch nicht ganz verstanden, ich habe bei Projekt --> Optionen --> Form 2 hab ich als hauptformular gemacht
...
hoffe das war soweit richtig! |
Nein, du musst dein Hauptformular schon lassen, aber dein Loginformular darf in diesen Optionen nicht links in der Liste der automatisch erstellten Formulare stehen.
Was du dann in FormCreate deines Hauotformulars machst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| TfrmMain = class(TForm) ... private FUsername, FPassword: String; end;
...
procedure TfrmMain.FormCreate(Sender: TObject); begin frmLoginForm := TfrmLoginForm.Create(nil); try frmLoginForm.ShowModal; FUsername := frmLoginForm.edtUsername.Text; FPassword := frmLoginForm.edtPassword.Text; finally frmLoginForm.Free; end; end; |
Wobei frmMain das Hauptformular, frmLoginForm das Loginfenster und edtUsername und edtPassword darauf die Edits sind.
Danach kannst du dann Benutzername und Passwort überall im Programm in FUsername und FPassword verwenden.
// EDIT:
@
Regan: Das kann man ruhig in den Optionen verändern, man muss die automatische Erzeugung der Formulare nicht manuell korrigieren. :D
helmesb04 - So 31.05.09 16:17
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.FormCreate(Sender: TObject); begin Form2 := Form2.Create(nil); try Form2.ShowModal; FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text; finally Form2.Free; end; end; |
habe das so eingetragen.
Wenn ich auf (projekt -> Quelltext anzeigen) gehe zeigt er das hier
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| program hallo;
uses Forms, hallo in 'hallo.pas' , Login in 'Login.pas' ;
{$R *.res}
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. |
Zitat: |
Dazu lässt du dir den Programmquelltext der Exe-datei anzeigen (Bei Turbo Delphi geht das mit Rechtsklick ->Quelltext anzeigen) und löscht dort das CreateForm(Form2, TForm2); einfach raus. Im Form1 erstellst du dann Form2 und lässt es per ShowModal anzeigen.
user profile iconhelmesb04 hat folgendes geschrieben Zum zitierten Posting springen:
wie krieg ich das denn hin das wenn ich die benutzernamen und das passwort eingeben habe und auf login klicke zu Form 1 rüberspringt?
In Form1 kannst du dann, wenn du ShowModal über das ModalResult der Buttons ausgewertest hast, einfach auf die Form2 Komponenten zugreifen. |
das habe ich noch nicht ganz verstanden ;)
jaenicke - So 31.05.09 16:19
helmesb04 hat folgendes geschrieben : |
Delphi-Quelltext 1:
| Form2 := TForm2.Create(nil); | |
Mit Form2.Create versuchst du Create von der Instanz aufzurufen, das geht nicht, da noch keine existiert. ;-)
helmesb04 - So 31.05.09 16:30
okay :D, :roll: bin ich blöd^^. das fenster öffnet sich vor dem Form1 fenster =)...
wenn ich aber auf X klicke, also das fenster schließe, dann kommt das Form1 fenster,
und der button login geht noch nicht, hab ich vllt was überlesen??
aber ich frage mich immer noch... wie will der denn den benutzernamen und passwort kennen, wenn er keine "verbindung" zur seite hat?
der muss die doch irgndwie kennen oder irre ich mich?
jaenicke - So 31.05.09 16:41
Naja, du musst bei dem Loginbutton die Eigenschaft ModalResult auf mrOk setzen. Danach kannst du dann fragen
Delphi-Quelltext
1: 2:
| if Form2.ShowModal = mrOk then ... |
um zu wissen, ob derjenige abgebrochen hat.
Das meinte
Regan vorhin. ;-)
Und danach liest du ja Benutzername und Passwort aus und musst es natürlich auch verwenden.
helmesb04 - So 31.05.09 16:58
jaenicke hat folgendes geschrieben : |
Und danach liest du ja Benutzername und Passwort aus und musst es natürlich auch verwenden. |
ähm, ich weiß jetzt nicht ob ihr mich falsch verstanden habt oder ob ich jetzt etwas nicht verstehe^^
beim klicken auf login geht er zu Form1 über, aber auch wenn ich irgend blödsinn in die editfelder eingebe + login button, geht er zu form1 rüber.
das irritiert mich alles ein bisschen, weil das prog, bzw das login fenster doch auf die website zugreifen muss oder, wegen dem namen und dem pw?
jaenicke - So 31.05.09 17:02
Deshalb musst du nach der Anzeige des Loginfensters auch prüfen, ob derjenige Ok gedrückt hatte oder den Dialog abgebrochen hat (siehe oben), und dann musst du die Eingaben eben auch verarbeiten.
In meinem Beispielcode speichere ich die ja nur.
Und wenn der Login inkorrekt war, dann kannst du z.B. das Loginfenster wieder anzeigen, eine Meldung anzeigen, ...
Regan - So 31.05.09 17:02
Hast du irgendwo in deinem Quelltext auch eine Überprüfung, ob der Login korrekt ist?
helmesb04 - So 31.05.09 17:16
nein hab ich nicht ... , wie soll der das denn auch wissen wenn ich keine verbindung zur website habe, das hab ich ja die ganze zeit gefragt, hab ja auch geschrieben das man einfach irgendn murks schreiben kann und er trotzdem weiterleitet
jaenicke - So 31.05.09 17:23
Ja, das musst du nach der Anzeige des Loginfensters eben machen. Entweder asynchron mit TWebBrowser oder (da es sich um deine Webseite handelt wie du sagtest) besser per TIdHttp und einer speziellen Abfrageseite.
Das heißt du rufst per IdHttp eine bestimmte Seite ab, der du die Daten übergibst, und die gibt nur zurück, ob der Login erfolgreich war. Und dann hast du direkt das Ergebnis.
Wie das konkret aussieht, hängt stark davon ab, wie du auf Serverseite den Login realisierst, ob du TWebBrowser benutzt, Cookies, Referrerchecks, Skripte, ...
helmesb04 - So 31.05.09 17:36
uftata :D, das überschreitet jetzt aber meinen horizont^^ mit dem TIdHttp hatte ich noch nie was am hut...
Zitat: |
Das heißt du rufst per IdHttp eine bestimmte Seite ab, der du die Daten übergibst, und die gibt nur zurück, ob der Login erfolgreich war. Und dann hast du direkt das Ergebnis. |
gibt es irgendwie ein TUT oder hsat du ne ahnung wie sowas funktioniert? oder irgendjemand anderes?
also mit nem beispiel oder sowas, das mir das anschaulicher gemacht wird?
jaenicke - So 31.05.09 17:40
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| uses IdHttp;
var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Create; try PageContents := HttpLoader.Get('http://www.example.com/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; end; end; |
Das ist natürlich sicherheitstechnisch nicht schön, aber für den Anfang...
Die Seite login.php auf dem Server müsste dann erfolgreich oder was anderes ausgeben als Antwort.
helmesb04 - So 31.05.09 17:55
okay danke... jetzt ne dumme frage nebenbei ;)
muss das jetzt in Form1 (unit1) oder Form2 (unit2)? und muss das IdHttp button dingen in f1 oder f2?
muss das mit dem loggin button verlinkt werden?
:oops:
jaenicke - So 31.05.09 17:57
Sauber wäre es, wenn du das in deinem Hauptfenster machst und das Loginfenster nur davon anzeigst, denn sonst bekommst du nur noch mehr Probleme.
Ob der Benutzer Ok gedrückt hat, bekommst du ja über den Rückgabewert von ShowModal wie gesagt, wenn du ModalResult gesetzt hast.
helmesb04 - So 31.05.09 18:08
was ist daran falsch?... verbessert mich bitte :?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure TForm1.FormCreate(Sender: TObject); begin Form2 := TForm2.Create(nil); try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text; finally Form2.Free; end; end;
var HttpLoader: TIdHttp; PageContents: String; begin <span style="color: red"> HttpLoader := TIdHttp.Create;</span> -> Nicht genügend wirkliche Parameter try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + <span style="color: red">FUsername</span> + '&pass=' + <span style="color: red">FPassword</span>); -> undefinierter bezeicher if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; end; end; |
helmesb04 - Mo 01.06.09 15:13
sorry wenn ich störe, aber ich wollte das fertig kriegen, nur weiß nicht wie ich es vollenden muss :roll:
könnt ihr mir noch weiterhelfen bitte :oops:
jaenicke - Mo 01.06.09 15:16
Die Überprüfung musst du direkt nach der Anzeige des Loginfensters in FormCreate machen. Du musst es ja ggf. erneut anzeigen, wenn der Login nicht erfolgreich war.
Wo hast du das denn jetzt hingeschrieben? Einfach so lose irgendwo hingeschmissen? :lol:
helmesb04 - Mo 01.06.09 15:24
mhm... ist das so jetzt ungefähr richtig??
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| var HttpLoader: TIdHttp; PageContents: String; procedure TForm1.FormCreate(Sender: TObject); begin HttpLoader := TIdHttp.Create; Form2 := TForm2.Create(nil); try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text; finally Form2.Free; end; end; |
nur bei
HttpLoader := TIdHttp.Create; sagt er: nicht genügend wirkliche parameter... -.-
ich das ansich denn richtig zusammengefügt?
jaenicke - Mo 01.06.09 15:32
Das var mit den Variablendeklarationen gehört auch in die Prozedur rein, also direkt vors begin. Und dann zum Rest:
Wie wäre es mit logischem Denken? Meinst du wirklich, dass es eine gute Idee ist zuerst den Login online zu überprüfen und dann das Loginfenster anzuzeigen? :roll:
Der Fehler mit den Parametern: Da hast du wohl eine sehr alte Version von Indy. :gruebel:
Versuch als Parameter einfach mal Self.
helmesb04 - Mo 01.06.09 15:45
jaenicke hat folgendes geschrieben : |
Der Fehler mit den Parametern: Da hast du wohl eine sehr alte Version von Indy. :gruebel:
Versuch als Parameter einfach mal Self. |
ich versteh dich nicht ganz... ich weiß jetzt zwar nicht ob das was mit delphi7 zu tun hat aber naja, das mit den parameter und Self sagt mir leider nichts :oops: , bin noch nicht lange mit delphi am gange... ähm so sieht es jetzt bei mir aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.FormCreate(Sender: TObject); var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Creater; Form2 := TForm2.Create(nil); try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text; finally Form2.Free; try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free;
end; end; |
helmesb04 - Mo 01.06.09 15:56
okay ich werd mir das mal angucken ;)... -> melde mich!
helmesb04 - Mo 01.06.09 17:06
hab mir das durchgelesen und die funktion des parametesrs erkannt.
jaenicke hat folgendes geschrieben : |
Versuch als Parameter einfach mal Self. |
procedure TForm1.FormCreate(Sender: TObject); wie soll ich das self denn jetzt darein bauen? das self erkennt er dann nicht, wenn ich das richtig eingesetzt habe :D
HttpLoader := TIdHttp.Create; :P
jaenicke - Mo 01.06.09 17:12
Delphi-Quelltext
1:
| HttpLoader := TIdHttp.Create(Self); |
Es steht doch da, dass da der Parameter fehlt...
Und wie gesagt, liegt nur an deiner alten Version, dass das nötig ist, bei mir ist es das nicht. :P
helmesb04 - Mo 01.06.09 17:17
achsouuu :D, ich dachte man muss das self iwie da oben hinzufügen ;), meine schuld^^
so schaut das jetzt aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.FormCreate(Sender: TObject); var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Create(Self); Form2 := TForm2.Create(nil); try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text; finally Form2.Free; try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; end; end;
end. |
das programm erwartet jetzt aber beim letzten "end." ein ",". habe schon vorher ein end; weggemacht und so, aber das hat iwie nichts gebracht!
jaenicke - Mo 01.06.09 17:23
Rück richtig ein, statt den Quelltext nur so hinzuschleudern, dann siehst du auch warum die Meldung kommt... :roll:
Die Abfrage gehört nicht in das finally, sondern z.B. davor. Aber ich rücke einmal
nur korrekt ein...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.FormCreate(Sender: TObject); var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Create(Self); Form2 := TForm2.Create(nil); try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text;
FPassword := Form2.MaskEdit1.Text; finally Form2.Free; try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; end; end;
end. |
helmesb04 - Mo 01.06.09 17:29
okay danke :D
wenn ich jetzt aber immer noch kein name eingebe und auf login klicke, geht er trotzdem weiter...
den teil hab ich nicht wirklich verstanden bzw wie ich das einfügen muss oder generell wie man das da hinschreibt
jaenicke - Mo 01.06.09 17:31
Das musst du nach dem ShowModal eben alles prüfen:
Wurde Ok gedrückt? (ist ja schon drin)
Sind die Felder ausgefüllt?
Ist der Login erfolgreich?
Und wenn da ein Fehler auftaucht, musst du ggf. das Loginfenster erneut anzeigen, einen Fehler anzeigen, ...
helmesb04 - Mo 01.06.09 17:38
achso ok... ähm, ich bin nicht so der pro dadrin, wie kann ich das denn abfragen ob die felder ausgefüllt sind und ob der account und das pw von der website richtig sind? also ob der login erfolgreich war?
hast du ne n beispiel?
sry das ich immer so blöd frage
jaenicke - Mo 01.06.09 17:51
Delphi-Quelltext
1: 2:
| if frmLoginWindow.edtPassword.Text = '' then ShowMessage('Kein Passwort angegeben'); |
Und so weiter. Du musst natürlich ggf. mehr machen als nur nen Fehler anzuzeigen.
kulka1 - Mo 01.06.09 18:23
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| procedure TForm1.FormCreate(Sender: TObject); var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Create(Self); Form2 := TForm2.Create(nil); try if Form2.ShowModal = mrOk then FUsername := Form2.Edit1.Text; FPassword := Form2.MaskEdit1.Text;
if Form2.Edit1.Text = '' then ShowMessage('Kein Benutzernamen angegeben');
if Form2.MaskEdit1.Text = '' then ShowMessage('Kein Passwort angegeben');
finally Form2.Free; try PageContents := HttpLoader.Get('http://foliga.de/login.php?name=' + FUsername + '&pass=' + FPassword); if PageContents = 'erfolgreich' then ShowMessage('Login erfolgreich'); finally HttpLoader.Free; end;
repeat Form2.ShowModal until PageContents = end; |
ich wollte mit hilfe einer "repeat until" schleife das login fenster so oft wieder erscheinen lassen (wenn ein falscher name und passwort eingegeben wurde) bis der login geklappt hat. allerdings weiß ich nicht was nach dem = in zeile 30 hinmuss!
jaenicke - Mo 01.06.09 18:27
Also irgendwie geht hier der logische Ablauf total durcheinander...
Was passieren muss ist doch:
Solange das Loginfenster anzeigen bis entweder der Benutzer abbricht oder bis der Login erfolgreich war.
Zur Prüfung muss (wenn Ok gedrückt wurde) geschaut werden, ob beide Felder ausgefüllt sind. Oben im Quelltext wird nur die erste Zeile nach dem ShowModal in dem if ausgeführt, der Rest immer!
Und wenn beide ausgefüllt sind, dann wird der Login versucht. Und wenn der erfolgreich war, wird ein Flag gesetzt (boolsche Variable z.B.), dass die Schleife beendet werden kann.
helmesb04 - Mo 01.06.09 18:32
ja ähm, kann man das denn nicht mit einer schleife machen?
jaenicke - Mo 01.06.09 18:33
Doch, sicher. Die Schleife wird um alles gelegt, so dass der gesamte Login immer wieder versucht wird bis abgebrochen wird oder er erfolgreich war.
jaenicke hat folgendes geschrieben : |
Und wenn beide ausgefüllt sind, dann wird der Login versucht. Und wenn der erfolgreich war, wird ein Flag gesetzt (boolsche Variable z.B.), dass die Schleife beendet werden kann. |
helmesb04 - Mo 01.06.09 18:40
Delphi-Quelltext
1: 2: 3:
| repeat Form2.ShowModal until PageContents = end; |
die schleife ist doch soweit korrekt oder? es wird das login fenster so oft aufgerufen bis der login erfolgreich war oder??
nur wie man das erfolgreich da jetzt irgendwie hin bekommt weiß ich nicht :D
until PageContents =
wenns falsch ist korrigier mich bitte :roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!