albin0

Verfasste Forenbeiträge

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 29)
  • Autor
    Beiträge
  • als Antwort auf: Emoji in "ask" Dialog #14514
    albin0
    Teilnehmer

      Hallo Klaus,

      mobileSetKeyboardType "alphabet"

      funktioniert leider nicht. Egal ob ich es auf die Card direkt lege oder nur in das Mouse Event des betreffenden Buttons der den Dialog aufruft.

      Ich habe jetzt erstmal die Sonderzeichen und Zahlen via regex rausgenommen, aber mit emojis wird man ja blöde…

      Deine Variante klingt sehr elegant, weiß gerade nicht weshalb es nicht geht. Muss das ins Stackscript rein?

      Grüßle

      als Antwort auf: Aktuelles Bild in globales Array speichern. #14401
      albin0
      Teilnehmer

        Super toll…

        Hier nochmal meine Fortschritte. Ich kann nun Bilder wählen und auch wieder abwählen.

        Bild wählen:

        on mouseup   
           global gAuswahl
        
           put filename of img id 3506 into tAuswahl
           ## Checken, ob Bild schon mal ausgewählt wurde:
           if lineoffset(tAuswahl,gAuswahl) <> 0  then
              answer "Dieses Bild ist schon ausgewählt." 
              exit mouseup
           end if
           ## Hier prüfen wir ob die Variable schon 10 Zeilen enthält
           if the num of lines of gAuswahl = 10 then
              answer "Sie können maximal 10 Bilder pro Set wählen."
           else
              ## Nun an gAuswahl anhängen:
              show image "check"
              ## Wenns nicht leer ist packt er noch ein return (CR) davor
              if gAuswahl <> EMPTY then
                 ## Wir fügen tAuswahl als NEUE Zeile an!
                 put CR before tAuswahl
              end if
              ## Jetzt packt er die Zeile "tAuswahl" rein
              put tAuswahl after gAuswahl
           end if
           
        end mouseup

        Bild abwählen:

        on mouseup   
           global gAuswahl
           
           put filename of img id 3506 into tAuswahl
           # Ist das aktuelle Bild in der Variable
           put lineoffset(tAuswahl,gAuswahl) into tLine
           if tLine = 0 then #wenn nein
              answer "Dieses Bild ist nicht ausgewählt"
           else #wenn ja
              # wimpel verstecken
              hide image "check"
              # Zeile leer machen
              put empty into item 1 of line tLine of gAuswahl
              # gAuswahl neu sortieren ohne Leerzeilen
              filter gAuswahl without EMPTY
           end if
           #put gAuswahl into field tTest
        end mouseup

        Vielleicht hilft es ja dem ein oder anderen…

        Vielen Dank Klaus, ich bin somit fertig 😀

        Grüße Tobias

        als Antwort auf: Aktuelles Bild in globales Array speichern. #14357
        albin0
        Teilnehmer

          Huhu Klaus,

          Ich musste erst CLEAR nachschlagen

          naja, manchmal bin ich einfach kreativ.

          Ich probiere lieber rum anstatt einmal zu lesen… 😐
          So mach ich mir gerne mal die Arbeit schwer.

          Ich bin für heute erstmal mega happy. Jetzt fehlt nur noch das abwählen der Bilder, dass bekomme ich dank deiner Hilfe bisher auch noch hin.

          Mit besten Grüßen

          Tobias

          als Antwort auf: Aktuelles Bild in globales Array speichern. #14353
          albin0
          Teilnehmer

            Herrlich wie einfach das doch gehen kann, Danke vielmals Klaus.

            Und wieder geht der Pokal raus an dich.

            Um hier nochmal meine dilettantischen Gehversuche mit LC zu dokumentieren, meine Rangehensweise mit einem extra Textfile =)
            on openCard:

            
            global x
            add 1 to x
            clear URL ("file:" & specialFolderPath("documents") & "/check.txt")
            

            Button:

            on mouseUp
               global gAuswahl
               global x
               if x = 11 then
                  answer "Es wurden zehn Bilder ausgewählt"
               else
                  put filename of img id 1027 into line x of URL ("file:" & specialFolderPath("documents") & "/check.txt")
                  put URL ("file:" & specialFolderPath("documents") & "/check.txt") into field "fieldTest"
               end if
               add 1 to x
            end mouseUp

            Geil oder 😀

            Das hat funktioniert, allerdings ist deine Variante wesentlich eleganter.

            Vielen Dank nochmal

            Tobias

            als Antwort auf: Aktuelles Bild in globales Array speichern. #14347
            albin0
            Teilnehmer

              Hallo Klaus,

              also die Pfade hab ich natürlich entsprechend auf put files (specialfolderpath("external documents")) into gAllPics geändert. Bis gestern Abend hatte ich aber noch einen Denkfehler drin, bzw. hat das Befüllen nicht funktioniert weil hier immer noch die einzelnen Desktoppfade im Grid hinterlegt waren. Nachdem ich die Zellen wieder leer gemacht hatte lief es dann.

              Ich hab ja “n” selbst als Zähler vergeben somit war mir das auch bewusst. Allerdings hab ich kein Element im Grid oder im behavior script gefunden das die Bezeichnung “theDataA” trägt.

              Zum Bahnhof: 😉
              Also unter dem großen Bild ist ein Button, wenn man den drückt, soll der aktuelle absolute Bildpfad also bspw.:
              /storage/emulated/0/Android/data/com.meine-app.bildauswahl/files/DSC01526.jpg
              in einem Array gespeichert werden.
              Anschließend ändere ich über die Navigation den Bildpfad, sprich ich lasse mir mit:
              set the filename of img id 3506 to theImageFolder & line x of gAllPics
              ein anderes Bild groß anzeigen.
              Den Pfad dieses Bildes möchte ich jetzt auch dem Array hinzufügen wenn ich den Button drücke.

              Also was ich sehe, kann ich auswählen. Was ich sehe und schon ausgewählt ist kann ich nicht mehr auswählen.
              Button “auswählen”

              on mouseup   
                 global gAuswahl
                    put filename of THE img "DAS GROSSE BILD" into gAuswahl[<strong>1</strong>]
                 if filename of img "KLEINES BILD AUF DER LETZTEN KARTE" of THE card saveScreen = gAuswahl[<strong>1</strong>] then
                    answer "Dieses Bild ist schon ausgewählt." 
                 else
                    answer "Bild gewählt"
                    set the filename of THE img "KLEINES BILD AUF DER LETZTEN KARTE" of THE card saveScreen to gAuswahl[<strong>1</strong>]
                 end if
              end mouseup

              JA im Moment geht das eben immer nur für ein Bild wenn ich den Button drücke. Deswegen hab ich auch den Zähler fett gemacht. Wenn ich den jetzt durch ne Variable ersetze, überschreibt er mir bei jede push einfach nur den ersten Eintrag. Baue ich ein repeat Konstrukt in den Button schreibt er mir einfach 10 mal das erste Bild rein. Ich bräuchte sowas wie “Immer wenn… mach das…”

              Vielen Dank für deine Mühe, ich neige dazu die Dinge unnötig kompliziert zu umschreiben…

              Grüße Tobias

              als Antwort auf: Aktuelles Bild in globales Array speichern. #14304
              albin0
              Teilnehmer

                Huhu,

                ich habe das DataGrid automatisch befüllt. Funktioniert aktuell leider nur auf dem Desktop. Für Android hab ich es noch nicht geschafft. Sieht so aus:

                   global gAllPics
                   global theImageFolder
                   global gCount
                   put files("C:/Users/JessiLi/Desktop/Kinder/Bilder") into gAllPics
                   put "C:/Users/JessiLi/Desktop/kinder/Bilder/" into theImageFolder
                   
                   get the number of lines of gAllPics
                   put it into gCount
                   
                   put 1 into i
                   put 1 into n
                   repeat for gCount times
                      put theImageFolder & line i of gAllPics into theDataA[n]["Image URL"]
                      add 1 to i
                      add 1 to n
                   end repeat

                Ich weiß es sieht wüst aus, aber es funktioniert erstmal. Leider hab ich noch keine Ahnung was “theDataA[n]” genau ist, ich vermute eine Reihe im Grid. Ich hab mir das mal so aus dem Data Grid Sampler, zu finden in den LC Lessons, zusammen gebastelt.

                Eine Frage hätte ich jetzt noch zu was anderem.
                Angenommen ich habe einen Button “auswählen”, immer wenn ich den drücke soll er mir den aktuellen Namen, der ja durch die Navigation bereits bekannt ist, des großen Bildes in ein Array speichern. Im Anschluss möchte ich eine Liste mit zehn ausgewählten Bildern.

                Wie geht das am Besten?

                Ich habe es noch nicht geschafft einen Button sinnvoll mit einem repeat zu verknüpfen.

                Also in etwa so, Achtung verm. kein Livecode:

                put 1 into i
                if button “auswählenBTN” of THE card “gallery1” is pressed then
                put the filename of image id 1027 into line i of gAuswahlArray
                add 1 to i
                end if

                Wenn ich die schleife in den Button also innerhalb des on mouseup lege kommt logischerweise nur müll raus.

                Ich habe echt keine Ideen mehr, normal müsste auch noch ein if verschachtelt werden welches die Warnung bei 10 ausgewählten Bildern raushaut.

                DANKE vorweg

                Tada Tobias

                als Antwort auf: Aktuelles Bild in globales Array speichern. #14230
                albin0
                Teilnehmer

                  Huhu Klaus und Torsten,

                  Vielen Dank erstmal das Ihr euch die Arbeit macht und antwortet.

                  Also ich werde mir das Video mal ansehen, allerdings hab ich bis morgen erstmal Rechnerverbot auferlegt bekommen. ?

                  Die Geschichte mit den gruppierten Buttons ist übrigens die beste Lösung für die letzte Seite wo die ausgewählten Bilder nochmal klein zu sehen sind.

                  Die Vorbereitung des Grids mit anschließender dynamischer Befüllung wird wohl bei mir noch ein bisschen dauern. Sobald ich da weiter bin, lass ich euch es wissen.

                  Merci und frohe Ostern in die Runde

                  Grüße Tobias

                  als Antwort auf: Aktuelles Bild in globales Array speichern. #14214
                  albin0
                  Teilnehmer

                    das versetehe ich schon, ist saber keine Grund, nicht trotzdem effektiv zu arbeiten. Das kommt Dir ja bei späteren Projekten nur zu Gute!
                    Ausserdem überschätze nicht die Kapazitäten eines Tablets.
                    Eine JPG Datei ist vielleicht < 1 MB, aber nur die Datei!
                    Entpackt im RAM können die bis zu 10 oder 15 MB groß sein.
                    Das mal 10 mal eventuell noch mal 3 und schon sind gut 300 MB vom kärglichen RAM belegt im Tablet.

                    Da hast du natürlich völlig Recht und ich möchte auch nicht liederlich erscheinen. Das habe ich auch schon live festgestellt als ich in einer anderen Testversion versucht habe die Skalierung der Bilder innerhalb der App anzupassen. Das hat zwar geklappt aber enorme Ressourcen benötigt, teilweise haben größere Bilder eine halbe Minute gebraucht um korrekt angezeigt zu werden.

                    Zu 1. wie gesagt, hier hilft eine clevere Namensgebung enorm!
                    Zu 2 und 3, Datagrids sind die komplexesten Objekte in LC!
                    Hier vielleicht gar nicht notwendig, weil wir ja nur ein “Grid” für 10 Bilder benötigen. Denke 10 gruppierte Buttons reichen hier schon.

                    Ich denke ich verstehe deinen Ansatz, aber ich habe mich vermutlich schlecht ausgedrückt. Die zehn Buttons schau ich mir auf jeden Fall für die Auswertung, sprich die letzte Seite an. Allerdings hab ich vermutlich vorher das Problem ein Grid nutzen zu müssen. Die Quelle der Bilder ist ein Ordner der leicht 150 Bilder enthalten kann und alle sollen klein angezeigt werden, weshalb ich bisher auf mehrere Cards gesetzt habe.

                    Da ich aber aufgrund des Seitenverhältnisses des Vollbildes maximal 5-6 Thumbnails auf eine Karte bringen kann, müsste ich um die 20-25 Karten mit je 5-6 Thubnails bauen. Da klickt sich keiner durch. Deswegen dachte ich ich lade den Ordnerinhalt in ein scrollbares grid mit einer Spalte und je nachdem auf welche Reihe der User klickt, das Bild dieser Zelle groß angezeigt wird.

                    Ich kann die Bilder leider auch nicht durchnummerieren, die sollen Ihre original Namen behalten so wie sie aus der Kamera kommen. 🙁

                    Vielen Dank erstmal bis hier, die Buttons schau ich mir jetzt mal an.

                    Ich tüftele weiter…

                    Grüße Tobias

                    als Antwort auf: Aktuelles Bild in globales Array speichern. #14211
                    albin0
                    Teilnehmer

                      Hallo Klaus,

                      schön dich zu lesen. Also vorweg, löse dich von dem Gedanken, dass es eine App für alle, möglichst kompatibel, responsive und performant sein soll.

                      Die App soll ausschließlich auf einem einzigen Tablet in einer Grundschule laufen. Die Kinder sollen von den geladenen Bildern 10 stk auswählen. Diese Auswahl der Bilder (Array) und der Vorname des Kindes soll anschließend in einem Textfile gespeichert werden.

                      Ansonsten werde ich deine Vorschläge natürlich berücksichtigen und zukünftig auf die korrekte Syntax achten. 😉

                      Ich bin jetzt schon mal froh das ich
                      1. Bilder auslesen kann
                      2. Bilder aus einem Array auch anzeigen kann. (Leider noch nicht in einem scrollbaren Grid)
                      3. Zwischen den Bildern hin und her springen kann.
                      4. Ein Bild auswählen kann
                      5. Einen Bildpfad speichern und wieder abrufen kann.
                      6. die globalen Variablen deklarieren und wiederfinden kann.

                      Probleme habe ich nach wie vor bei:
                      1. Schleifen sinnvoll nutzen um ein Array zu füllen
                      2. Ein Datengrid automatisch mit den Bildern zu füllen
                      3. Die Formatierung eines Datengrids

                      Ich hab hier zum Verständnis mal ein kleines Video von der App wie sie jetzt ist.

                      Das gefällt mir schon super, nur würde ich gerne mehrere Bilder auswählen können und eben auch die Auswahl entsprechend anzeigen und in das text file legen.
                      Sowie die kleinen Bilder jeweils in Grids anzeigen, weil die halt scrollbar sind. Aktuell muss ich für 4 Bilder eine extra Karte machen und das nervt.

                      Thank you for your patience

                      kind regards Tobias

                      als Antwort auf: Galerie möglich? #14162
                      albin0
                      Teilnehmer

                        Hallo Klaus,

                        danke nochmal für deinen letzten Hinweis.

                        Hierzu hab ich folgende Idee:

                           put the formattedwidth of Bild1 into bOriginal
                           put the formattedheight of Bild1 into hOriginal
                           put 1300 into sollBreite
                           put 800 into sollHöhe
                           
                           if bOriginal > hOriginal then
                              if hOriginal > sollHöhe then
                                 put (sollHöhe/hOriginal)*bOriginal into sollBreite
                              end if
                           else
                              if bOriginal > sollBreite then
                                 put (sollBreite/bOriginal)*hOriginal into sollHöhe
                              end if
                           end if

                        Obiges hab ich noch nicht getestet, aber ich möchte damit sowohl Hoch als auch Querformat Bilder an meinem Bildobjekt ausrichten, je nachdem. Kann man das theoretisch auch in eine Funktion packen? Unterstützt LC Funktionen? 😀

                        Aktuell versuche ich aber mittels einer Schleife die einzelnen Lines aus dem “allPics” Array in Variablen zu packen, um ggf später die einzelnen Bildobjekte automatisch zu befüllen, vermutlich auch wieder mittels einer for Schleife.

                        Ich habe jetzt mit:
                        put the number of lines of allPics into sumAllPics
                        Schon mal die Anzahl der Wiederholungen bzw. die Anzahl der Bilder im Ordner ermittelt.

                        Wie würde man denn jetzt in Livecode weiter vorgehen?
                        Also:
                        put line 1 of DieBilder into Bild1
                        put line 2 of DieBilder into Bild2
                        put line 3 of DieBilder into Bild3
                        … usw …
                        soll in eine kleine Schleife, mittels der Anzahl der Bilder automatisiert werden.

                        Ich hab jetzt das Gefühl hier mehrere Denkfehler zu machen und ggf ne Endlosschleife zu bauen:

                        put line 1 of allPics into Bild
                           repeat for sumAllPics times
                              line +1
                              answer Bild
                              add 1 to Bild
                           end repeat

                        Stehe wieder auf dem Schlauch.

                        Danke vorweg.

                        Grüße Tobias

                        als Antwort auf: Galerie möglich? #14142
                        albin0
                        Teilnehmer

                          Wow,

                          vielen lieben Dank Klaus, du bist mein persönlicher Held heute. Echt Respekt für deine Geduld, du erklärst die Zusammenhänge ja nicht zum ersten Mal.

                          Ich musste zwar ein bissel basteln aber nu läuft der Spaß langsam an.

                          Hier der code bisher:

                          
                          on mouseUp
                             if the environment = "mobile" then
                                # Ordnerinhalt holen
                                put files (specialfolderpath("external documents")) into DieBilder
                                # nur jpgs erlauben
                                filter DieBilder with "*.jpg"
                                # Dateinamen im Textfeld anzeigen
                                put DieBilder into field "test"
                                # Wenn external documents leer ist Warnung
                                if DieBilder = EMPTY then
                                   answer "Kein Bild gefunden!"
                                   exit mouseup
                                end if
                                
                                # Bilder in den Bildobjekten anzeigen.
                                set the filename of img id 1019 to (specialfolderpath("external documents") & "/" & line 1 of DieBilder)
                                set the filename of img id 1020 to (specialfolderpath("external documents") & "/" & line 2 of DieBilder)
                                set the filename of img id 1021 to (specialfolderpath("external documents") & "/" & line 1 of DieBilder)
                                set the filename of img id 1022 to (specialfolderpath("external documents") & "/" & line 2 of DieBilder)
                             else
                                answer files "Bitte ein Bild auswählen:" with type "Jpeg,PNG|jpg,png|" 
                                put it into DieBilder
                                put it into field "test"
                             end if
                          end mouseUp

                          In der app gibt es jetzt ein Textfeld, welches die Dateinamen im App Ordner/Files anzeigt.
                          Es gibt 4 leere Bilder (Da muss man erstmal drauf kommen) die während des Scriptes umbenannt werden und somit auch die Bilder angezeigt werden können.
                          Und natürlich den Start BTN der das Ganze auslöst.

                          So jetzt muss ich nur mal sehen wie ich das ganze sinnvoll formatiert bekomme, sodass die Bilder auch anständig aussehen.

                          Ich gehe davon aus, dass ich den Bildobjekten, welche ja im Grunde nur als Masken fungieren, auch ein on mouseUp verpassen kann.

                          Bin erstmal happy und mache mal weiter.

                          Vielen Dank, so langsam schließt sich der Kreis…

                          Grüße Tobias

                          als Antwort auf: Galerie möglich? #14131
                          albin0
                          Teilnehmer

                            Jap,

                            das der Button das script ausführt hab ich verstanden.

                            Du wirst sicher lachen aber so sieht das gerade bei mir aus und ich komme nicht klar…

                            on mouseUp
                               if the environment = "mobile" then
                                  put files(specialfolderpath("external-documents")) into DieBilder
                                  put it into field test (funktioniert garnicht)
                                  set the filename of img 1 to (specialfolderpath("external-documents") & "/" & line 1 of DieBilder)
                                  set the filename of img 2 to (specialfolderpath("external-documents") & "/" & line 2 of DieBilder)
                                  #put it into DieBilder
                                  #import paint from file DieBilder
                               else
                                  answer files "Bitte ein Bild auswählen:" with type "Jpeg,PNG|jpg,png|" 
                                  put it into DieBilder
                                  put it into field test    (zeigt mir die Dateien mit Pfad an)
                                  #import paint from file DieBilder     (Das funktioniert, allerdings unformatiert, hast du ja in dem anderen thread schon erläutert)
                               end if
                               
                            end mouseUp

                            Hm, ich glaub ich mach Schluss für Heute, ich check’s wahrscheinlich nicht mehr.

                            als Antwort auf: Galerie möglich? #14129
                            albin0
                            Teilnehmer

                              Bildobjekt, da hast du was gesagt.

                              Selbiges fehlt mir vermutlich, weshalb ich auch null komma nix angezeigt bekomme.

                              Was brauch ich denn genau auf der card, damit das Bild auch angezeigt wird?

                              Grüße

                              als Antwort auf: Galerie möglich? #14127
                              albin0
                              Teilnehmer

                                Hallo,

                                wie kann ich jetzt kontrollieren was genau in der Variable “DieBilder” steht?

                                Wie kann man denn vorgehen wenn man einfach nur zwei zufällige Bilder auf die card bringen will? Ich stehe hier total auf dem Schlauch.

                                mit set the filename of img 2 to (specialfolderpath("external-documents") & "/" & line 2 of DieBilder)

                                ändere ich doch nur die Bezeichnung oder irre ich?

                                Grüße

                                als Antwort auf: Galerie möglich? #14123
                                albin0
                                Teilnehmer

                                  Wenn “Klaus” drauf steht, ist auch “Klaus” drin! ?

                                  😀 lol

                                  Danke erstmal für die Mühe, ich schau mir das mal näher an.

                                  Grüße Tobias

                                Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 29)