0

Button, der den Inhalt mehrerer Textfelder in die Zwischenablage kopiert

Hallo,

ich bin relativ neu hier unterwegs (komme aus der FileMaker Welt) und probiere gerade ein wenig mit der Datenbankerstellung unter iOS herum.
Ich möchte jetzt einen Button erstellen, der den Inhalt mehrerer Textfelder (getrennt durch CR/LF) in die Zwischenablage kopiert, damit ich diese dann in einem anderen Programm einfügen kann.
Ist das möglich und wenn ja wie?
Danke & Gruß
OttoGeorg

24 Antworten

null
    • OLIVER
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich fürchte, da gibt es keine Möglichkeit in Ninox. Nach meiner (bisherigen) Erfahrung erlaubt das Betriebssystem es nicht, direkt in die Zwischenablage zu schreiben.

    Weil mich das grundsätzlich interessiert: Wie wird das in Filemaker gemacht, gibt es dort außer dem Befehl des Betriebssystems eine interne Möglichkeit? Wenn ja, könnte man das den Ninox-Entwicklern als Feature request schicken.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Oliver hat grundsätzlich recht - mit Standardmittel geht es momentan nicht. Ich habe eine Möglichkeit gefunden über html und JS sowas zu realisieren. Angenommen, daeine Textfelder heißen 'Feld 1','Feld 2' und 'Feld 3'.

    Wenn du jetzt einen Berechnungsfeld erstellst und die Formel:

    .........

    let myT := 'Feld 1' + "
    " + 'Feld 2' + "
    " + 'Feld 3';
    html(---
    <input type="button" id="copyID" value="In die Zwischenablage kopieren" />
        <textarea id="content">{ myT }</textarea>
        <script type="text/javascript">
            var button = document.getElementById("copyID"),
                input = document.getElementById("content");
     button.addEventListener("click", function(event) { "{" }
                event.preventDefault();
                input.select();
                document.execCommand("copy");
    alert("Folgender Text wurde in die Zwischenablage kopiert:  "+content.value);{ "}" });
        </script>
    ---)

    .........

    hinzufügst, kriegst du sowas wie einen Button "In die Zwischenablage kopieren". Wenn du drauf klickst erscheint ein popupFenster und die Dreif Felder sin in die Zwischenablage kopiert. Es ist nur so: unter diesenButton befindet sich noch ein Fenster mit Texten. Dieses kann mn nicht ausblenden bzw. wenn ich es ausblende funktioniert die Übername in Clipboard nicht. Ich weiß nicht ob es ein Programmfehler ist, dass Ninox Javascript in HTML erlaubt. Und wenn ja, wie lange diese Möglichkeit zur Verfügung steht. Momentan kann man nutzen.

     

    Leo

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen
    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,
    das ist ja eine tolle Lösung, die ich zwar überhaupt nicht verstehe (dafür reicht's bei mir nicht), aber super brauchbar ist.
    Bei mir taucht nur das Problem auf, dass der "Button" beim Wechsel in einen anderen Datensatz nicht mehr funktioniert.
    = es passiert nichts.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Holzi,

    Bei mir funktioniert die Zwischenablage in der Mac-App und in der Cloud auf Mac (Safari). Was nutzt du für Applikation?

    Leo

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

    Moin allerseits, bei mir funktioniert es auch mit Chrome auf Mac. Der helle Wahnsinn. Ich hatte eine solche Funktion bisher gar nicht vermisst, bin aber einmal mehr begeistert, das Leo wieder einen Weg gefunden hat. Gut möglich, dass mir jetzt, wo es geht, auch ein sinnvoller Nutzungszweck einfallen wird. Klasse! 

    • dogsch
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Moin,

    allen vielen Dank, wie das in FileMaker genau geht schaue ich mir morgen an und melde mich dann.

    Gruß

    OttoGeorg

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen, ich nutze die Mac-App. Aufruf über Button im Formular funktioniert. Wenn ich im gleichen Formular über die Ansicht in einen anderen Datensatz wechsele = neues Fenster, bewirkt der Button absolut nichts. Wahrscheinlich mache ich mal wieder irgendwas falsch?

    • dogsch
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo,

    also unter FileMaker gibt es einen Befehlt "Kopieren [Auswahl ; <Tabelle::Feld>]" (siehe auch https://fmhelp.filemaker.com/help/15/fmp/de/#page/FMP_Help%2Fcopy.html%23wwconnect_header).

    Gruß

    OttoGeorg

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Holzi,

    reden wir über meine Vorlage? Ein der 3 Felder muss gefüllt werden, damit im Feld oberhalb des Buttons ein Text erscheint. Dieser Text kann dann mit dem Button in die zwischenablage kopiert werden. Habe di Datenbank noch unter Nr 309_Skript_für_Zwischenablage ins Webinar Team hochgeladen.

    Leo

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,
    ja, exact Deine Vorlage.
    Ich habe allerdings die Textfelder und den "Button" in ein Formular gepackt. Beim ersten auslösen funktioniert das script.
    Wenn ich dann in einen anderen Datensatz wechsele (nicht in der Tabellenansicht sondern über einen Aufruf in der Ansichtstabelle) passiert nichts. Wechsele ich in der Tabellenansicht in einen anderen Datensatz und schalte wieder um in die "Ansicht" funktioniert der Aufruf wieder.
    Ich habe Nr 309_Skript_für_Zwischenablage auch ausprobiert. Kopie in die Zwischenablage funktioniert, aber die Meldung ist fehlerhaft (siehe Screenshot).

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Kann es es sein , dass du das ganze auf einem iPad versuchst? Ich habe jetzt mein altes iPad ausgegraben. Dort funktioniert das ganze gar nicht- werde in der App noch im Web ( obwohl Java Script aktiviert ist). 

    Also Einschränkung: Momentan geht in MacApp und in der Web auf Mac (Safari) und Windows (Chrome)

    Leo

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,
    imac, aktuelles OS, MacApp (nichts anderes)

    Ist ja nicht so wichtig, aber hier für Dich mal zum nachsehen:

    https://www.dropbox.com/s/z7vol7pemxc6yii/Leo_Zwischenablage.ninox?dl=0

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    wenn du einen neuen Datensatz erstellst, ist dein Feld "Zusammengefasstetags" leer. 

    wenn ich die Feormel von f(x)-Feld anschaue- hast du dort :

    ---

    "let myT := "Bezeichnung: " + Bezeichnung + "
    " + Zusammengefasstetags;"

    ---

    rein geschrieben. Wenn aber Zusammengefasstetags leer ist kommt als Meldung nur Bezeichnung:  DEINEBEZEICHNUNG.

    Und genau das wird in die Zwischenablage kopiert. Was genau erwartest du vom Button "in die zwischenablage kopieren"?

    • Holzi
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich hatte das Beispiel nur geschickt um auf das Problem "Wechsel des Datensatzes" zu verweisen. Natürlich muss das Feld Zusammengefasstetags einen Inhalt haben. Also keinen neuen Datensatz anlegen, sondern einen bestehenden (mit Inhalt der Felder), dann in die Zwischenablage.
    FUNKTIONIERT.
    Dann Wechsel in einen anderen Datensatz über die Ansicht. Es geht ein neues Fenster mit dem angewählten Datensatz auf. Jetzt funktioniert das kopierenn in die Zwischenablage nicht mehr.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ok, jetzt habe ich kapiert und auch nachvollzogen. Tatsächlich funktioniert es in diesem Fall nicht, warum auch immer.

    • Jens_Peters
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo.

    Deine Lösung bzgl. Zwischenablage habe ich in mein System eingebaut. Genau das, was ich seit Monaten gesucht habe. Funktioniert in der Mac-Version perfekt. Vielen Dank.

    Ich verfolge Deine Lösungen und Ideen schon lange, einfach der Hammer. Du bist wie ein wandeldes Lexikon :-).

    Dem Funktionsfeld habe sogar noch einen Trigger beim Anklicken zugefügt, in einem anderen Feld eine Markierung für "schon kopiert" zu setzen. 

    VG Jens

    • Matthias_S
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe Leo's Funktion mal ein bisschen erweitert, um die neuen Deep-Links auszulesen und zu kopieren. So kann man schnell und einfach die Deep-Links in ein Feld einsetzen und einen Verweis auf einen Datensatz machen z.B. um auf ein Produkt zu verweisen.
    Es funktioniert in der Mac-App und im Web:

    html(---
    <textarea  rows="3" id="content" readonly><script>function (){ "{" }
    url = window.location.href;{ "}" }</script></textarea><br>
    <p align="right">
    <input type="button" wight="100%" id="copyID" value="In die Zwischenablage kopieren" /></p>
         <script type="text/javascript">
    var text = window.location.href;
    var res = text.replace("file:///Applications/Ninox%20Database.app/Contents/Resources/html/index.html", "https://app.ninox.com/");
    document.getElementById("content").innerHTML = res;
            var button = document.getElementById("copyID"),
                input = document.getElementById("content");
     button.addEventListener("click", function(event) { "{" }
                event.preventDefault();
                input.select();
                document.execCommand("copy");
    alert("Folgender Text wurde in die Zwischenablage kopiert:\n\n"+content.value);{ "}" });
        </script>
    ---)

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Matthias,

    sieht sehr gut aus. Zu Deeplinks muss ich aber sagen, dass diese Funktion leider für mich nutzlos ist. Normalerweise baue ich die Datenbanken so, dass Ninox nach dem Start die Dashboard-Tabelle öffnet. Wenn man den Deeplink aus Email öffnet (Projektmanagement, Aufgabenverwaltung) dann öffnet sich der Browser und landet im Dashboard. Zu der eigentlichen Aufgabe kommt man nicht. Sehr schade.

    Leo

    • Matthias_S
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja genau. Bei der Funktion nach dem Öffnen ist es leider nutzlos.
    Habe die Formel bei einem Kunden eingebaut, der seine Geräte mit einem Produktblatt beschriftet und dort einen QR-Code braucht um direkt zum Gerätedatensatz zu gelangen.
    Die Deeplinks müssten eigentlich von der Priorität die „Nach dem Öffnen“-Funktion überschreiben.

    Habe es leider noch nicht hinbekommen, dass er den Link direkt nach dem Anlegen eines DS in ein Textfeld schreibt. Vielleicht hat da jemand eine Idee.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Der Link hat die Struktur:

    https://app.ninox.com/#/teams/XXXXXXXXXXX/database/YYYYYYYYYYYYY/module/B/view/TpGE1HmmV2dP8FDd/node/ZZ/tab/0. Diese variiert sich je nach Ansicht aber die XXXX ist Team-ID, YYYYY-Datenbank ID und ZZ ist die DatensatzID mit Tabellenkennung (z.B. B4 oder F34). Die Struktur kann man bei dem ersten Datensatz auslesen und dann nach anlegen so etwas schreiben:

    ---
    LINKFELD:="https://app.ninox.com/#/teams/"+teamId()+"/database/"+databaseId()+"/module/B/view/TpGE1HmmV2dP8FDd/node/"+raw(this)+"/tab/0"

    ---

    Leo

    • kunstbroker
    • kunstbroker
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Community, seit dem letzten Update (vor 5 min) funktioniert die Kopieren Funktion in der App nicht mehr (Android). Zuvor ging ea immer beim zweiten Mal Drücken des Buttons. Woran liegts? Hier noch der Code:

     

    let myT := Beschreibung;
    html(---
    <input type="button" id="copyID" value="Ausführen" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    <textarea rows="1" id="content">{ myT }</textarea>
    <script type="text/javascript">
    var button = document.getElementById("copyID"),
    input = document.getElementById("content");
    button.addEventListener("click", function(event) { "{" }
    event.preventDefault();
    input.select();
    document.execCommand("copy");
    alert("Folgender Text wurde in die Zwischenablage kopiert: "+content.value);{ "}" });
    </script>
    ---)

     

    vielen Dank

    • kunstbroker
    • kunstbroker
    • vor 2 Jahren
    • Gemeldet - anzeigen

    weiss jemand weiter?

    • Michael.3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo zusammen,

     

    der Code von Leonid hat mir echt weitergeholfen. Ich möchte eine in Ninox gespeicherte IBAN über eine URL "https://de.iban.com/iban-checker"  verproben lassen. Um hier möglichst viele Klicks zu sparen wäre es cool, wenn Leonids Skript gleichzeitig die URL öffnet.

     

    Leider scheitern meine Versuche. Hat jemand eine Idee?

     

    Das i-Tüpfelchen wäre, wenn die in der Zwischenablage gespeicherte IBAN, dann automatisch in das Feld der WebSide übergeben würde, aber ich denke, dass das mit einer MacOS Version von Ninox nicht geht; liege ich da richtig?

     

    Viele Grüße

     

    Michael

Content aside

  • vor 1 JahrZuletzt aktiv
  • 24Antworten
  • 5816Ansichten
  • 1 Folge bereits