TMSSmoothMessageDialog -> Auswertung der Buttons
-
Hallo!
Ich habe hier einen Komponenten-Pack von TMS, dieser enthält unter anderem den SmoothMessageDialog1, leider ist der Beispielcode in Delphi geschrieben und ich scheinbar zu doof um das zu verstehen. Ich poste mal den Code:
procedure TForm8.DoDialog2; begin case AdvSmoothMessageDialog2.ExecuteDialog of mrOk: ShowSmoothMessage('Try Later clicked'); mrCancel: ShowSmoothMessage('Buy now clicked'); mrRetry: ShowSmoothMessage('Try premium clicked'); end; end;
Scheinbar wird an oben angegebener Stelle ausgewertet, ich versteh nicht wie das im Builder funktioniert.
Wäre für Hilfe dankbar.
LG, Maik
-
switch(AdvSmoothMessageDialog2->ExecuteDialog()) { case mrOk: ShowSmoothMessage('Try Later clicked'); break; case mrCancel: ShowSmoothMessage('Buy now clicked'); break; case mrRetry: ShowSmoothMessage('Try premium clicked'); break; }
Alternativ auch:
int retVal = AdvSmoothMessageDialog2->ExecuteDialog(); if(retVal==mrOk) ShowSmoothMessage('Try Later clicked'); else if(retVal==mrCancel) ShowSmoothMessage('Buy now clicked'); else if(retVal==mrRetry) ShowSmoothMessage('Try premium clicked');
mfg
xXx
-
Vielen Dank, hat mir sehr geholfen.
LG, Maik
-
Hallo!
Bis jetzt hat das alles wunderbar funktioniert, leider hab ich jetzt ein Problem. Bei nachfolgendem Code erscheint der SmoothMessageDialog ganz normal, aber wenn ich etwas Anklicke passiert garnichts, obwohl die Button-Results korrekt eingestellt sind. Hab ich was übersehen? Für Hilfe wär ich echt dankbar, ich glaub ich seh vor lauter Bäumen gerade keinen Wald
// Pruefen ob Automat zugeordnet werden soll AdvSmoothMessageDialog1->Caption = "Möchten Sie den Automaten '" + ADOQuery1->FieldByName("BEZEICHNUNG")->AsString + "'\nmit der Zulassungs-Nr. '" + ADOQuery1->FieldByName("SNNR") ->AsString + "' dem Aufstellplatz '" + f_kundenverwaltung->ADOQuery1->FieldByName("AUFSTELLPLATZ") ->AsString + "' zuordnen?"; switch(AdvSmoothMessageDialog1->Execute()) { case mrYes: // Automat zuordnen NR_KD = f_kundenverwaltung->ADOQuery1->FieldByName("NR_KD")->AsInteger; SNNR = ADOQuery1->FieldByName("SNNR")->AsString; // Gebuehr abfragen GEBUEHR = StrToFloat(InputBox("Monatliche Gebühr", "Betrag", "0,00")) / 1.19; // Wirtanteil in Prozent abfragen PROZENT_WIRT = StrToFloat(InputBox("Wirtanteil in Prozent", "Prozent", "0,00")); // Erstbefuellung abfragen ERSTBEFUELLUNG = StrToFloat(InputBox("Erstbefüllung", "Betrag", "0,00")); // Aufstellungsdatum abfragen A_DATUM = StrToDate(InputBox("Datum eingeben", "An welchem Datum wurde der Automat ausgeliefert?", (DateToStr(Date())))); // Vor der ersten Abrechnung wird das Auslieferungsdatum verwendet ABRDAT_A = A_DATUM; // Terminal dem Kunden zuordnen DecimalSeparator = '.'; ADOQuery2->SQL->Clear(); ADOQuery2->SQL->Text = "UPDATE automatenverwaltung.automatenverwaltung SET NR_KD = " + IntToStr(NR_KD) + ", GEBUEHR_KD = " + (GEBUEHR) + ", ERSTBEFUELLUNG = " + (ERSTBEFUELLUNG) + ", PROZENT_WIRT = " + (PROZENT_WIRT) + ", A_DATUM = '" + FormatDateTime("yyyy.mm.dd", A_DATUM) + "', ABRDAT_A = '" + FormatDateTime("yyyy.mm.dd", A_DATUM) + "' WHERE SNNR = '" + AnsiString(SNNR) + "'"; ADOQuery2->ExecSQL(); DecimalSeparator = ','; // Statusmeldung ausgeben f_kundenverwaltung->AdvSmoothMessageDialog4->Caption = "Automat '" + ADOQuery1->FieldByName("SNNR")->AsString + "'\nwurde dem Aufstellplatz '" + f_kundenverwaltung->ADOQuery1->FieldByName("AUFSTELLPLATZ") ->AsString + "' zugeordnet!"; f_kundenverwaltung->AdvSmoothMessageDialog4->Execute(); // Fenster schliessen Close(); // Anzeige fuer zuegordnete Terminals aktualisieren f_kundenverwaltung->ADOQuery2->Active = false; f_kundenverwaltung->ADOQuery2->Active = true; break; case mrNo: break; }
LG, Maik