0

Statuspanel

Gibt es so etwas in der Art wie ein Statuspanel?

Hintergrund: mit einem Button verschicke ich e-mails an verschiedene Empfänger. Und ich möchte anzeigen, welche e-mail gerade verschickt wird, erstens damit der User sieht, wo er gerade steht und zweitens, damit er sieht, dass etwas weiter geht bzw. ich könnte auch anzeigen 1/89, 2/80, 3/80 usw.

Ich habe auch probiert den jeweiligen Status in ein Textfeld zu schreiben, aber das wird nicht während der Schleife aktualisiert sondern nur am Ende.

LG, Peter

7 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Peter,

    bei mir geht sowas mit alert(). Ich weiß nicht wie deine Schleife aussieht. Ich vermute, du nimmst die Empfänger aus einer Tabelle. Dann wäre die Formel etwa so:

    ---

    var myCount:=0;
    let myCNT:=cnt(select Kunden);
    for i select Kunden.Email do
    sendEmail({
    from: "userEmail()",
    to: i,
    subject: "test",
    text: "test",
    html: "<b>test</b>"
    });
    myCount:=myCount+1
    alert("Email " + myCount + " vom "+myCNT)
    end;
    alert ("Alle "+myCNT+ " Emails wurden versendet")

    ---

    Leo

    • pbosch
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo!

    Danke für den Code. Ja, so sollte es funktionieren. Aber ich dachte immer, alert wird nur 1x am Ende der Verarbeitung ausgegeben und hat ja auch einen OK Button zur Bestätigung. Ich habe diesen Code probiert und bekomme nur die 1 Meldung mit "Ende"

    for i from 1 to 10000 do
    alert(i)
    end;
    alert("Ende")

    LG, Peter

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Peter,

    nur mit alert ()  funktioniert es tatsächlich nicht. Aber für Email-Versand braucht Ninox gewisse Zeit und da gehts. In meinem Fall aktualisiere ich mehrere hunderte Dateien von unserem Server mit importFile, dabei analysiert Ninox in der Schleife mehrere Bedingungen und gibt eine Statusmeldung.

    Leo

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo, ich hatte etwas Ähnliches mal mit einem Textfeld gemacht, das ich innerhalb der Schleife immer wieder aktualisiert habe (und nach Abschluss wieder ausgeblendet). Die Lösung mit alert() klingt interessant, aber wie muss ich mir das prakatisch vorstellen? Wird der Inhalt des Meldungsfensters bei jedem Schleifendurchlauf automatisch erneuert? Normalerweise bleibt das Meldungsfenster ja unverändert stehen, bis man auf "Ok" klickt.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter,

    ja, normalerweise schon. Ich habe bis jetzt folgende Ausnahmen in der Schleife endekt:

    sendEmail();

    http();

    importFile();

    Die neue Alert-Meldung erstzt die alte und es sieht wie dynamische statusmeldung aus:
    probier mal auf die schnelle volgende Code:
    ---

    for i in range(11) do
    sendEmail({
    from: userEmail(),
    to: userEmail(),
    subject: "test",
    text: "test",
    html: "<b>test</b>"
    });
    alert("Email " + (i + 1) + " vom 10")
    end;
    alert("Finish!")
    ---

    Leo

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Potzblitz, das funktioniert tatsächlich! Cool! Irre, was du immer so rausfindest. Das sollten wir auch unbedingt in die Referenz aufnehmen. Ich werde den alert()-Eintrag mal entsprechend ergänzen.

    • pbosch
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Das ist ja toll, herzlichen Dank! Da wäre ich nie draufgekommen, dass alert in diesen Fällen anders funktioniert als normal. Es gibt immer wieder positive Überraschungen! :-)

    LG, Peter

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 7Antworten
  • 1172Ansichten