Datagrid – auslesen

Startseite Foren Deutsches LiveCode-Forum Datagrid – auslesen

Schlagwörter: 

Ansicht von 53 Antwort-Themen
  • Autor
    Beiträge
    • #4989
      AnHa
      Teilnehmer

        Hallo Livecoder,

        vielleicht könnt Ihr Profis mir Neuling helfen.
        Ich versuche mich gerade an einem Angebotserstellungsprogramm.

        Ich möchte gerne über ein auf meinem Main stack/card positionierten Textfeld
        Daten aus einem Datagrid auslesen. Dieses Datgrid ist auf einer separaten card plaziert. Die Daten (Artikel) werden über eine Importfunktion eingelesen.

        D.h. Sobald der User anfängt die Artikelnummer im Textfeld einzugeben soll ihm die zur Auswahl verfügbaren Artikel inkl. Texte angezeigt werden (Popup?). Durch Mouse Klick kann er den Artikel komplett übernehmen. Wie greife ich diese Daten ab? Ich habe 7 Columns in meinem Datagrid.

        Danke vorab.

        Gruß

        Andreas

      • #5006
        Klaus Major
        Administrator

          Hallo Andreas,

          hier müssen wir Schritt für Schritt vorgehen und benötigen auch ein paar weitere infos von Dir.

          1. Die Daten aus einem Datagrid beommen wir auf zwei Arten:
          a.
          put the dgtext of grp “Dein Datagrid hier” into TAB_und_CR_getrennter_Text
          Ergibt eine Variable TAB_und_CR_getrennter_Text in diesem Format:
          zeile1_spalte1 TAB spalte2 TAB spalte3 …

          zeileN_spalte1 TAB spalte2…

          b.
          put the dgDATA of grp “Dein Datagrid hier” into ein_Array
          Ergibt ein Array ein_Array in diesem Format:
          ein_Array[1][spalte1]
          ein_Array[1][spalte2]
          ein_Array[1][spalte3]

          ein_Array[N][spalte1]
          ein_Array[N][spalte2]
          ein_Array[N][spalte3]

          2. So ein “Popup”, also ein Hilfsfeld bei Eingaben wie z.B. in einem Browser, macht m an am besten mit einem LIST Field, was wir unter dem Eingabefeld bei Bedarf auftauchen lassen.

          Das Skript dieses Listenfeldes besteht nur aus ein paar Zeilen wie:

          on mouseup
            put the selectedtext of me into fld "wohin auch immer der gewählte Eintrag gehen soll..."
            ## Wir sind schon fertig, also:
            hide me
          end mouseup

          Nun kommt es darauf an, welche Spalten Du wie in diesem “Hilfsfeld” anzeigen lassen möchtest?
          Wie ist die Anordnung der Spalten im Datagrid? Seriennummer zuerst?

          Gib doch einfach mal ein Beispiel, wie Du Dir das so gedacht hast, dannk kümmern wir uns um die Programmierung des eigentlichen Suchfeldes.

          Das ist schon ein recht komplexes Problem, aber wir kriegen das hin! 🙂

          Gruß

          Klaus

        • #5008
          AnHa
          Teilnehmer

            Hallo Klaus,

            vielen Dank für deine Antwort.

            Ich versuche mal das Suchfeld/Popup zu erklären.
            Die Daten die im Datagrid (2te Card) gespeichert sind, sind Artikeldaten (Artikelnummer, Bez. 1-4, Mengeneinheit,Preis – Die Columns bleiben immer identisch).
            In Card 1 soll der User ein Angebot mit diesen Daten schreiben können.
            Dazu soll er in einem Feld beginnen die Artikelnummer oder Bezeichnung einzutippen. Das Feld
            soll ihm dann die passenden Artikel zu seiner Eingabe vorschlagen, quasi eine Autovervollständigung.
            Durch Doppelklick soll der Artikel dann in das Angebot übernommen werden können.

            Ich probiere mich jetzt gleich mal an deiner Anleitung. Ich muss das mal Schritt für Schritt nachvollziehen damit ich es auch lerne!

            Danke vorab.

            Gruß

            Andreas

          • #5010
            Klaus Major
            Administrator

              Dein Problem ist mir schon klar, nur ist es sehr wichtig, zu wissen, in welchem Format Du die Daten in dem “Hilfsfeld” anzeigen lassen möchtest.

              Und WELCHE Daten genau?
              Den ganzen “Datensatz” oder z.B. nur den Namen des Produktes?

              Es soll ja für den User einfach und übersichtlich sein.

            • #5012
              AnHa
              Teilnehmer

                Achso! Sorry.

                Im Idealfall sollen die Daten so angezeigt werden wie im Datagrid.
                D.H. als Liste und mit farblicher Trennung (weiß der Zeilen.

                Angezeigt werden sollte nur die Artikelnummer & die Bezeichnungen 1-4 (5 Spalten gesamt).

                Das wäre klasse!

              • #5014
                Klaus Major
                Administrator

                  OK, schmückendes Beiwerk wie farbliche Trennung lassen wir erst einmal außen vor! 😎

                  Zuerst benötigen wir die oben genannten Infos aus dem Datagrid.
                  Das “Hilsfeld” sollte wie gesagt ÜBERSICHTLICH sein, also scheiden hier vielleicht schon mal TABULATOREN darin aus, der User möchte nicht scrollen, sondern auf einen Blick alles Wichtige sehen und erkennen.

                  Vielleicht zunächst die gewünschten Spalten einfach per KOMMA getrennt:
                  Artikelnummer, Bezeichnung1, Bezeichnung2, Bezeichnung3, Bezeichnung4

                  Deine Aufgabe ist nun, eine Variable mit den Daten aus dem Datagrid in diesem Format zu füllen.
                  Aus dieser Variablen werden wir dann später die gewünschten Infos extrahieren, wenn der user etwas eingibt. Soweit klar?

                  Also frisch ans Werk! 🙂

                • #5016
                  Klaus Major
                  Administrator

                    Kurze Frage, ist Dein Datagrid vom Typ TABLE?

                  • #5018
                    AnHa
                    Teilnehmer

                      Ja, mein Datagrid ist vom Typ Table.

                      Vielen Dank für deine Hilfe.
                      Ich werde berichten was ich fabriziert habe! :o)

                    • #5020
                      Klaus Major
                      Administrator

                        OK, kleiner Tip, alles, was wir mehr als einmal ausführen möchten/sollen/müssen, in einem separaten Handler auf der Karte oder im Stack auslagern.

                        Also nicht:

                        on mouseup
                          do this
                          do that
                          get this
                          get that
                          put this
                          put that 
                          etc...
                        end mouseup

                        Sondern so, weil wir das ja nicht unbedingt noch einmal skripten wollen:

                        on mouseup
                          mein_toller_handler
                        end mouseup

                        Und dann im Kraten- oder Stackskript:

                        command mein_toller_handler
                          do this
                          do that
                          get this
                          get that
                          put this
                          put that 
                          etc...
                        end mein_toller_handler

                        Somit können wir den Handler bei Bedarf von mehreren Stellen aufrufen, ohne ihn jedes Mal neu schreiben zu müssen. Dan nennt man Modularität! 🙂

                        Also versuche bitte, für die oben genannte Aufgabe eine Funktion zu erstellen, die die Daten aus dem Datagrid holt und eine Variable im oben genannten Format zurückliefert. Capisce?

                      • #5026
                        AnHa
                        Teilnehmer

                          Hallo Klaus,

                          Leider nix Capisce.
                          Durch mein ganzes rumprobieren bin ich noch mehr verwirrt als vorher.

                          Mit folgendem Code importiere ich die Artikel:

                          on mouseUp
                             
                             answer file "Bitte eine CSV-Datei zum Import auswählen" with type "comma Separated Values|csv|CSV"
                            
                             if the result = "cancel" then
                                exit mouseup
                             end if
                          
                             put it into tFileName
                             ## Inhalt der Datei in Variable lesen
                             put URL ("file:" & tFileName) into tFileContents
                             
                             ## Datagrids benötigen TAB getrennte Werte:
                             replace ";" with tab in tFileContents
                             
                             ## Nun einfach die Property "dgtext" des Datagrid auf diese Variable setzen
                             set the dgText of group "artikel" to tFileContents
                             
                          end mouseUp
                          
                          Das funktioniert!
                          
                          Im Stack Script habe ich jetzt geschrieben:
                          

                          command artikel_handler
                          put the dgtext of grp “artikel” into art
                          put the dgData of grp “artikel” into artikel_array
                          ##artikel_array[1][“Teil”]
                          ##artikel_array[1][“Bezeichnung”]
                          ##artikel_array[1][“Bezeichnung 2”]
                          ##artikel_array[1][“Bezeichnung 3”]
                          ##artikel_array[1][“Bezeichnung 4”]
                          ##artikel_array[1][“Mengeneinheit”]
                          ##artikel_array[1][“Bruttopreis”]

                          end artikel_handler

                          Was muss ich bei den auskommentieren Arrays genau hineinschreiben?
                          Wenn ich es wie oben mache, bekomme ich eine Fehlermeldung.

                          Mir würde es total helfen wenn du mir sagen könntest, was man wie und wohin genau
                          für Code schreiben soll.(Schritt für Schritt)
                          Ich möchte das gerne mal zu 100% nachvollziehen können.
                          Will euch aber auch nicht zu viel Arbeit machen ;o)

                          DANKE

                        • #5028
                          Klaus Major
                          Administrator

                            Immer wichtig: Wie lautet die Fehlermeldung, die Du bekommst?
                            Wahrsxheinlich so etwas wie “No such object…”

                            Daher musst Du im Skript angeben, wo genau das Datagrid liegt, also wie auf einem Brief die vollständige Adresse angeben:

                            command artikel_handler
                             put the dgtext of grp "artikel" OF CARD "wo auch immer das Datagrid liegt" into art
                             put the dgData of grp "artikel" OF CARD "wo auch immer das Datagrid liegt" into artikel_array
                            ...
                          • #5030
                            AnHa
                            Teilnehmer

                              Hier die Fehlermeldung bei

                              command artikel_handler
                              put the dgtext of grp “artikel” into art
                              put the dgData of grp “artikel” into artikel_array
                              artikel_array[1][“Teil”]

                              stack “Angebot”: compilation error at line 6 (Expression: bad factor) near “[“, char 4

                            • #5032
                              Klaus Major
                              Administrator

                                Ach so, ja nun, du musst auch eine ANWEISUNG schreiben, also z.B.

                                PUT artikel_array[1][“Teil”] into whatever

                                Du musst Dich aber auch entscheiden, woraus Du die benötigten Daten extrahierst, entweder aus
                                the dgtext of grp xxx
                                oder
                                the dgdata of grp xxx

                              • #5034
                                AnHa
                                Teilnehmer

                                  uppsss.

                                  PUT artikel_array[1][“Teil”] into whatever

                                  Kommen diese jetzt alle in die gleiche Variable?
                                  Wie trenne ich diese dann wieder.

                                  Ich muss das nur einmal verstehen….

                                • #5036
                                  Klaus Major
                                  Administrator

                                    PUT artikel_array[1][“Teil”] into whatever

                                    Ja nun, wie auf einem Blatt Papier, wo nur ein Wort draufsteht, können wir doch auch etwas VOR oder HINTER dieses Wort schreiben, oder nicht?

                                    Das Selbe geht natürlich auch in LC:

                                    ...
                                    PUT artikel_array[1]["Teil"] into whatever
                                    put "Dies ist der Anfang der Variable whatever" & TAB BEFORE whatever
                                    put TAB & "und das das Ende der Variable..." AFTER whatever
                                    ...

                                    Aber so werden wir das nicht machen, das war nur ein Beispiel, um Deinen ERROR zu erklären!

                                    Ich fürchte, Du denkst schon zu kompliziert am Anfang.
                                    Bitte versuche Dir das Problem selber zu erklären und zwar, wie Du es mit einem Blatt Papier machen würdest, wenn Du nur ein weiteres Blatt hast, auf dem der Inhalt des Array aufgezeichnet ist.

                                    Wie würdest Du manuell die benötigeten Infos auf besagtem Balatt auf das leere Blatt Papier bkommen? Was müssen wir dazu wissen?

                                    Ich weiß, ich gehe Dir mit all den Fragen auf den Sack, aber das ist alles essentiell, niemand hat gesagt, daß Programmierung einfach ist.

                                    Ausserdem hast du Dir als Anfangproblem ein ziemlich komplexes Thema vorgenommen, aber da musst Du nun durch. Das geht aber nur mit kleinen Schritten, die Du auch alle verstehen musst.

                                  • #5038
                                    AnHa
                                    Teilnehmer

                                      Nein. Das ist sogar sehr gut das du mir diese Fragen stellst.
                                      Nur so lernt man doch.

                                      Ich brauche die Arraybezeichnung wie “Teil” “Bezeichnung” etc. richtig?
                                      Diese Daten sind doch im artikel_array gespeichert.

                                      put artikel_array[1]["Teil"] into teil
                                         put artikel_array[1]["Bezeichnung"] into bez
                                         put artikel_array[1]["Bezeichnung 2"] into bez2
                                         put artikel_array[1]["Bezeichnung 3"] into bez3
                                         put artikel_array[1]["Bezeichnung 4"] into bez4
                                         put artikel_array[1]["Mengeneinheit"] into menge
                                         put artikel_array[1]["Bruttopreis"] into preis
                                      

                                      Ich stehe auf dem Schlauch. Arrays kann man doch zusammenfassen?
                                      Ich habe jetzt wieder alles je in eine variable geschrieben.

                                      Das ist mir noch nicht schlüssig. Wo ist mein Denkfehler?

                                    • #5040
                                      AnHa
                                      Teilnehmer

                                        ha. nun zeigt das List field zumindest schonmal die 1 Zeile an!!!

                                        command artikel_handler
                                           put the dgtext of grp "artikel" of card "import" into art
                                         
                                           put the dgData of grp "artikel" of card "import" into artikel_array
                                           
                                           put artikel_array[1]["Teil"] into teil
                                           put artikel_array[1]["Bezeichnung"] into bez
                                           put artikel_array[1]["Bezeichnung 2"] into bez2
                                           put artikel_array[1]["Bezeichnung 3"] into bez3
                                           put artikel_array[1]["Bezeichnung 4"] into bez4
                                           put artikel_array[1]["Mengeneinheit"] into menge
                                           put artikel_array[1]["Bruttopreis"] into preis
                                          
                                           put teil, bez, bez2, bez3, bez4, menge, preis into anzeige
                                           replace "," with space in anzeige
                                           put anzeige into fld "list"
                                           
                                        end artikel_handler
                                        

                                        Wie bekomme ich nun die anderen als Auswahlmöglichkeit angezeigt?

                                        Danke

                                      • #5042
                                        Klaus Major
                                        Administrator

                                          Hm, sieht so aus, als müssten wir hier bei 0 anfangen, dafür ist dieses Forum eigenltich nicht gedacht.

                                          Normalerweise macht man so etwas mit nämlich einem REPEAT LOOP über alle Keys des Arrays.

                                          Aber ich sehe, daß Du nun DOCH den gesamten Inhalt des Datagrids anzeigen möchtest und nicht, wie oben erwähnt, nur eine Teilmenge davon (Artikelnummer, Bezeichnung 1, Bezeichnung 2, Bezeichnung 3, Bezeichnung 4).

                                          OK, in dem Fall machst du eigentlich nur Folgendes:

                                          ...
                                          ## TAB und CR getrennten TEXT (im Gegensatz zum ARRAY) aus dem Datagrid holen:
                                          put the dgtext of grp "artikel" of card "import" into alle_artikel
                                          replace TAB with "," in alle_artikel
                                          ## Oder mit SPACE ersetzen, wie in Deinem Handler, Du entscheidest!
                                          
                                          put alle_artikel into fld "list"
                                          ## Fertig.
                                          ...

                                          Aber wir benötigen das als FUNKTION nicht als Handler, also was eine Variable mit den gewünschten Infos zurück liefert! Kriegst Du das hin?

                                          Damit wir später einfach das hier benutzen können:

                                          put alle_artikel_aus_dem_datagrid() into fld “list”

                                          Dein handler füllt direkt alles in das Feld “list”, kann aber sein, daß wir diese Daten auch mal nur als Variable benötigen oder in ein anderes Feld schreiben möchten!

                                          Was Du oben geschrieben hast, ist aber nur ein kleiner Aspekt der Aufgabe, die ich Dir gestellt habe (die in BOLD!)

                                          Gruß

                                          Klaus

                                        • #5044
                                          AnHa
                                          Teilnehmer

                                            In der List sollen nur die Artikelnr & Bezeichnungen angezeigt werden,
                                            die mit der Eingabe im Textfeld (identisch sind).
                                            Also User schreibt z.B. 1170… in das Textfeld und das list field gibt alle im Datagrid möglichen Artikel die mit 1170 beginnen als Auswahl an.

                                            So wollte ich das darstellen.

                                            Ich werde das mal versuchen hinzubekommen.
                                            Sicherlich kommt noch die ein oder andere Frage :o)

                                            Danke dir für deine Mühe und Geduld mit mir.

                                            Gruß

                                            Andreas

                                          • #5046
                                            Klaus Major
                                            Administrator

                                              Wie gesagt, mir ist schon klar, was Du genau machen willst.

                                              OK, hier mal eine funktionierende Funktion, die Dir genau diese infos aus dem Datagrid herauszieht.
                                              Das sollte im Stackscript liegen:

                                              function artikel_aus_datagrid
                                                 ## Wir arbeiten mit dem ARRAY:
                                                 put the dgData of grp "artikel" of card "import" into artikel_array
                                                 
                                                 ## Wir müssen wissen, wieviele "Datensätze" das Datagrid beinhaltet.
                                                 ## Dafür fragen wir die Anzahl der KEYS des Array ab:
                                                 put the keys of artikel_array int tKeys
                                                 put the num of lines of tKeys into tAnzahl
                                                 
                                                 ## Nun gehen wir durch jeden einzelnen Datansatz des Datagrids und erstellen eine 
                                                 ## neue Variable mit den benötigten Infos: Artikelnummer, Bezeichnung1..., Bezeichnung4
                                                 ## Diese liefern wir dann in dieser Funktion zurück
                                                 put empty into ReturnWert
                                                 
                                                 ## Nun "loopen" wir durch alle Datensätze
                                                 repeat with i = 1 to tAnzahl
                                                    
                                                    ## In jedem Durchlauf wird i durch die laufende Nummer ersetzt!
                                                    put artikel_array[i]["Teil"] after ReturnWert
                                                    
                                                    ## wir "kleben" die einzelnen Daten mit einem KOMMA aneinander:
                                                    put "," & artikel_array[i]["Bezeichnung"] after ReturnWert
                                                    put "," &  artikel_array[i]["Bezeichnung 2"] after ReturnWert
                                                    put "," &  artikel_array[i]["Bezeichnung 3"] after ReturnWert
                                                    
                                                    ## Hier müssen wir am Ende eine neue Zeile einfügen, daher das CR
                                                    put "," &  artikel_array[i]["Bezeichnung 4"] & CR after ReturnWert
                                                 end repeat
                                                 
                                                 ## So nun haben wir am Ende der Variablen ReturnWert aber eine leere Zeile, das letzte CR, 
                                                 ## die wir nun weglöschen:
                                                 delete char -1 of ReturnWert
                                                 
                                                 ## Fertig, nun können wir die neuen Daten zurückliefern:
                                                 return ReturnWert
                                              end artikel_aus_datagrid

                                              Nun können wir, wann immer nötig:

                                              put artikel_aus_datagrid() into fld “was auch immer”

                                              Deine Aufgabe ist nun, diese Funktion zu verstehen und nachzuempfinden, was, wie und warum ich es so gemacht haben! Denn das hier ist leider der einfachste Teil deines Problems. 🙂

                                              Morgen geht es dann weiter…

                                              Gruß

                                              Klaus

                                            • #5049
                                              AnHa
                                              Teilnehmer

                                                Hallo Klaus,

                                                wunderbar. Danke. Funktioniert bis dato.

                                                Ich denke das ich die Funktion jetzt verstehe und mir der Zusammenhang nun langsam klar wird.

                                                Jetzt müsste ja eigentlich “nur” noch das Textfeld eine Validierung mit der Eingabe des User und des list fields bekommen.

                                                Gruß

                                                Andreas

                                              • #5051
                                                Klaus Major
                                                Administrator

                                                  Hallo Andreas,

                                                  Hinweis: Auf Grund langjähriger Tätigkeit als Musiker und Softwareentwickler bin ich ein nachtaktives Wesen geworden! 🙂

                                                  OK, weiter gehts…

                                                  In meinem Beispiel hier verwende ich den Namen “Eingabe” für das Feld, in dem der User Artikelnummer oder Bezeichnung eingibt und den Namen “list”, den Du bereits verwendet hast, für das “Hilfsfeld”, das unter dem Eingabefeld auftauchen soll.

                                                  Das Feld “list” ist zunächst einmal nicht sichtbar, wir lassen es auftauchen, wenn der User seine Eingabe macht.

                                                  Um effektiv, und somit schnell, zu arbeiten, werden wir meine Funktion nur EINMAL nutzen und den Rückgabewert irgendwo zwischenspeichern.

                                                  Das machen wir aber nicht in einer lokalen oder globalen Variablen, sondern in einer Custom Property des Feldes “list”.

                                                  Eine Property ist ja sowas wie height, width etc. eines LC Objektes, das sind die “eingebauten” Properties.

                                                  “Custom Properties” sind nun Properties, die nicht eingebaut sind und die wir selber definieren.

                                                  Stell Dir das ungefähr so vor wie eine Variable, die aber weder lokal noch global ist, sondern an ein LC Objekt “angetackert” ist.

                                                  Das hat den Vorteil, daß sie mit dem Stack gespeichert wird, wenn wir den Stack speichern sollten. Das hat in unserem Fall keine Bedeutung, ist aber unbedingt wissenswert!

                                                  Jedes LC Objekt kann eine oder auch mehrere CPs enthalten, ja sogar Custom Property Sets, was sowas wie ein Array ist, aber das nur am Rande…

                                                  Wir können Custom Properties benennen, wie wir auch Variablen benennen würden, also immer EIN Wort.

                                                  Ich verwende immer ein kleines C am Anfang des Namens, um schon aus der Ferne zu sehen, daß es eine CP ist und keine Variable.

                                                  Setzen und Abfragen von CPs:

                                                  set the cLieblingsFarbe of stack “mein Stack” to “blau”
                                                  ## MitWerten füllen IMMER mit SET, put funktioniert hier nicht!

                                                  answer the cLieblingsFarbe of stack “mein Stack”
                                                  ## -> blau

                                                  OK, kommen wir nun zum Skript vom Feld “Eingabe”:

                                                  on openfield
                                                     ## User hat in das Feld geklickt, nun geht es los:
                                                     ## Zunächst speichern wir die benötigten Infos aus dem Datagrid in einer CP des Feldes "list", 
                                                     ## um später schneller darauf zugreifen zu können
                                                     set the cTempDaten of fld "list" to artikel_aus_datagrid()
                                                     
                                                     ## Aufräumen (Feld leeren) ist auch eine gute Idee, aber optional:
                                                     put empty into me
                                                  end openfield
                                                  
                                                  ## Nun müssen wir die Eingabe(n) des user prüfen und im Feld "list" alle Zeilen anzeigen
                                                  ## die den eingegebenen String (= Zeichenkette = ein oder mehrere Buchstaben) enthalten.
                                                  ## Das machen wir mit FILTER und Platzhaltern (wildcards), die KEINE oder einen oder mehrere 
                                                  ## unbekannte Buchstaben repräsentieren. Dazu nutzen wir den Asterisk, also das Zeichen über 
                                                  ## dem PLUS-Zeichen auf der Tastatur: *
                                                  ## Beispiel mit einer mehrzeiligen Variable namens el_testo:
                                                  ## filter el_testo with "eins*"
                                                  ## zeigt uns alle Zeilen an, sofern vorhanden, die mit eins ANFANGEN, egal ob dahinter 
                                                  ## noch was kommt oder nicht
                                                  ## filter el_testo with "*eins"
                                                  ## zeigt uns alle Zeilen an, sofern vorhanden, die mit eins ENDEN, egal ob davor noch...
                                                  ## filter el_testo with "*eins*"
                                                  ## zeigt uns alle Zeilen an, sofern vorhanden, die mit eins ANFANGEN, den String 
                                                  ## IRGENDWO in der Zeile ENTHALTEN oder mit eins ENDEN.
                                                  
                                                  ## Und das machen wir nachdem der User etwas eingegeben hat, also -> on keyup der_eingebene_buchstabe
                                                  ## Den Parameter benötigen wir hier aber nciht.
                                                  on keyup tKey
                                                     ## Den gesamten bereits eingegebenen Text des Felds abgreifen:
                                                     put me into SuchString
                                                     
                                                     ## Nun die gespeicherte CP in eine Variable packen und darin FILTERn
                                                     put the cTempDaten of fld "list" into AlleDaten
                                                     
                                                     ## Text des Feldes mit WILDCARD vorne und hinten
                                                     filter AlleDaten with ("*" & SuchString & "*")
                                                     
                                                     ## Prüfen, ob es passende Daten gibt, wenn nicht, BEEPen oder so, 
                                                     ## damit der user das auch mitbekommt.
                                                     if AlleDaten = EMPTY then
                                                        ## Nichts gefunden
                                                        beep
                                                        
                                                        ## Nun den Handler verlassen
                                                        exit keyup      
                                                     end if
                                                     
                                                     ## Wir haben also etwas gefunden, nun dem User auch anzeigen
                                                     put AlleDaten into fld "list"
                                                     
                                                     ## Feld könnte noch versteckt sein:
                                                     if the visible of fld "list" = FALSE then
                                                        show fld "list"
                                                     end if
                                                  end keyup

                                                  Nun das Skript für das LIST-Feld “list”

                                                  on mousedoubleup
                                                     ## Den angeklickten/ausgewählten Text ins Feld "Eingabe" oder wohin auch immer schreiben
                                                     put the selectedtext of me into fld "Eingabe"
                                                     
                                                     ## Fertig, nun Tschüss, mein Listenfeld:
                                                     hide me
                                                  end mousedoubleup

                                                  Fertig, bitte mal ausprobieren und verstehen, bei Bedarf wieder nachfragen.
                                                  Und bitte immer alle unbekannten Begriffe im DICTIONARY nachschlagen!

                                                  Gruß

                                                  Klaus

                                                • #5053
                                                  AnHa
                                                  Teilnehmer

                                                    Hallo Klaus,

                                                    Musiker und Softwareentwickler. Sehr interessante Kombi. Da wird man sehr wahrscheinlich Nachtaktiv :o). Bei mir als “Sesselpupser” ist das leider nicht so.

                                                    Ich habe die Daten mal eingespielt…..und was soll ich sagen. KLAPPT natürlich.
                                                    Ich werde das heute Abend mal Schritt für Schritt nachvollziehen um es zu verstehen.
                                                    Die weiteren Schritte wie Export und Druckfunktion werde ich hoffentlich ohne Hilfe hinbekommen.

                                                    Ich weiß gar nicht wie oft ich jetzt DANKE sagen muss.

                                                    ALSO VIELEN DANK FÜR DEINE HILFE.

                                                    Gruß

                                                    Andreas

                                                  • #5055
                                                    Klaus Major
                                                    Administrator

                                                      Hi Andreas,

                                                      schön, daß es klappt, ich habe das nämlich nicht ausprobiert, sondern aus dem Kopf niedergeschrieben. 🙂

                                                      Wenn du magst, kannst Du Dir ja mal meine Website ansehen: http://www.major-k.de
                                                      Oben geht es zur Softwareentwicklung, unten zur Basspage.

                                                      Gruß

                                                      Klaus

                                                    • #5057
                                                      AnHa
                                                      Teilnehmer

                                                        Hallo Klaus,

                                                        aus dem Kopf niedergeschrieben? Respekt!!!

                                                        Eine kleine Frage hätte ich doch noch.
                                                        Ich übernehme ja aus der List die (Artikelnummer, Bezeichnung 1-4).

                                                        Wie kann ich mir den passenden Preis und die Mengeneinheit in separate Textfelder (hinter Eingabefeld) ausgeben lassen. Diese Daten stehen auch im Datagrid, sollen aber bei der Listauswahl wegen der Übersichtlichkeit nicht mit angezeigt werden.

                                                        Vielleicht schwirrt dir das ja auch einfach so im Kopf rum :o)

                                                        DANKE VORAB

                                                        Deine Seite schaue ich mir auf jeden Fall mal an.

                                                        Gruß

                                                        Andreas

                                                      • #5059
                                                        Klaus Major
                                                        Administrator

                                                          Alter, Du bist unersättlich! 😀

                                                          OK, ersetze den “mousedoubleup” Handler von Feld “list” mit diesem hier:

                                                          on mousedoubleup
                                                             ## Den angeklickten/ausgewählten Text ins Feld "Eingabe" oder wohin auch immer schreiben
                                                             put the selectedtext of me tSelectedText
                                                             put tSelectedText into fld "Eingabe"
                                                             
                                                             hide me
                                                             
                                                             ## Hier für muss das Feld nicht sichtbar sein.
                                                             ## wir werden diese Zeile aus dem DGTEXT des Datagrids extrahieren, dafür mussen wir:
                                                             replace "," with TAB in tSelectedText
                                                             ## Du weisst warum, oder?
                                                             
                                                             put the dgData of grp "artikel" of card "import" into artikel_text
                                                             
                                                             ## Nun arbeiten wir mit LINEOFFSET, in welcher Zeile steht der gesamte Artikel:
                                                             put lineoffset(tSelectedText,artikel_text) into tZeile
                                                             
                                                             ## Nun diese Zeile extrahieren
                                                             put line tZeile of artikel_text into tArtikel
                                                             
                                                             ## Nun die entsprechenden Spalten herausziehen
                                                             set itemdel to TAB
                                                             
                                                             ## Bitte überprüfen, aber das müssten die gesuchten ITEMS in der Zeile sein
                                                             ## Und natürlich XXX und YYY mit den Namen Deiner entsprechenden Felder ersetzen!
                                                             
                                                             ## Mengeneinheit
                                                             put item 6 of tArtikel into fld "xxx"
                                                             
                                                             ## Bruttopreis
                                                             put item 7 of tArtikel into fld "yyy"
                                                             
                                                             ## Ein wenig aufräumen, damit diese Daten nicht mit gespeichert werden:
                                                             set the cTempDaten of me to empty
                                                          end mousedoubleup

                                                          Gruß

                                                          Klaus

                                                        • #5064
                                                          AnHa
                                                          Teilnehmer

                                                            Hallo KLaus,

                                                            klar. Ich muss das jetzt durchziehen :o)

                                                            Eine letzte kleine Frage noch:

                                                            Ich bekomme im Code kein Fehler angezeigt, aber er gibt mir die Items nicht aus.
                                                            Der Rest klappt.

                                                            DANKE

                                                          • #5066
                                                            Klaus Major
                                                            Administrator

                                                              Pardon, mein Fehler!

                                                              Diese Zeile:

                                                              put the dgData of grp “artikel” of card “import” into artikel_text

                                                              Bitte ersetzen durch:

                                                              put the DGTEXT of grp “artikel” of card “import” into artikel_text

                                                              Dann sollte es klappen.

                                                            • #5068
                                                              AnHa
                                                              Teilnehmer

                                                                Nein. Sorry von mir.
                                                                Das hatte ich schon geändert.

                                                                Ich sehe aber gerade das er nicht bei allen Artikeln die Menge & Preis anzeigt.
                                                                Im Datagrid sind diese vorhanden. Er scheint es überall da nicht anzuzeigen wo in den
                                                                Artikelbezeichnungen ein Komma vorkommt.

                                                              • #5070
                                                                Klaus Major
                                                                Administrator

                                                                  Ach ja, DAS (Kommata in bezeichnungen oder sonstwo) ist natürlich ein Problem.

                                                                  Dann machen wir Folgendes, anstatt den TAB durch Komma zu ersetzen, nehmen wir die PIPE |
                                                                  Auf dem Mac ALT-7, Windows keine Ahnung…

                                                                  In der Funktion artikel_aus_datagrid:

                                                                  ...
                                                                   repeat with i = 1 to tAnzahl
                                                                        
                                                                        ## In jedem Durchlauf wird i durch die laufende Nummer ersetzt!
                                                                        put artikel_array[i]["Teil"] after ReturnWert
                                                                        
                                                                        ## wir "kleben" die einzelnen Daten mit einem KOMMA aneinander:
                                                                        put "," & artikel_array[i]["Bezeichnung"] after ReturnWert
                                                                        put "," &  artikel_array[i]["Bezeichnung 2"] after ReturnWert
                                                                        put "," &  artikel_array[i]["Bezeichnung 3"] after ReturnWert
                                                                        
                                                                        ## Hier müssen wir am Ende eine neue Zeile einfügen, daher das CR
                                                                        put "," &  artikel_array[i]["Bezeichnung 4"] & CR after ReturnWert
                                                                     end repeat
                                                                  ...

                                                                  Überall das Komma ersetzen mit |:

                                                                  ...
                                                                  put "|" &  artikel_array[i]...
                                                                  ...

                                                                  Dann im MOUSEDOUBLEUP Hanlder vom Feld “list” ebenso:

                                                                  on mousedoubleup
                                                                     ## Den angeklickten/ausgewählten Text ins Feld "Eingabe" oder wohin auch immer schreiben
                                                                     put the selectedtext of me tSelectedText
                                                                     put tSelectedText into fld "Eingabe"
                                                                     
                                                                     hide me
                                                                     
                                                                     ## Hier für muss das Feld nicht sichtbar sein.
                                                                     ## wir werden diese Zeile aus dem DGTEXT des Datagrids extrahieren, dafür mussen wir:
                                                                     replace "|" with TAB in tSelectedText
                                                                  ...

                                                                  Du kannst natürlich auch einen anderen Buchstaben als Trenner (# o.ä.) benutzen, dann musst Du die Skripts halt ensprechend ändern.

                                                                  Gruß

                                                                  Klaus

                                                                • #5072
                                                                  AnHa
                                                                  Teilnehmer

                                                                    PERFECTO !!!!

                                                                    DANKE VIELMALS

                                                                    GRUß

                                                                    ANDREAS

                                                                  • #5074
                                                                    Klaus Major
                                                                    Administrator

                                                                      Bitte schön, gern geschehen, Rechnung kommt Ende des Monats! 😀

                                                                    • #5076
                                                                      AnHa
                                                                      Teilnehmer

                                                                        Wenn ich den Verlauf so sehe wird das ziemlich teuer :O(

                                                                      • #5078
                                                                        Klaus Major
                                                                        Administrator

                                                                          Ich gebe Dir 2% Skonto bei Barzahlung! 😀

                                                                        • #5080
                                                                          AnHa
                                                                          Teilnehmer

                                                                            :o)

                                                                            und schon das nächste Hindernis.
                                                                            Wie kann ich mit den Item`s eine Berechnung anstellen?
                                                                            Item 7 (Bruttopreis) wird doch in der Variablen tpreis gespeichert.
                                                                            Ich bekomme jedoch eine Fehlermeldung.

                                                                            Hier der Code:

                                                                            put item 7 of tArtikel into tpreis
                                                                               put tpreis & " €" into fld "preis"
                                                                               put fld "menge"  into wert1
                                                                               put fld "preis" into wert2
                                                                               put  wert1 * wert2 into ergebnis
                                                                               put ergebnis into fld "gesamtpreis"

                                                                            Hier die Fehlermeldung:

                                                                            field “list”: execution error at line 74 (Operators *: error in right operand), char 1

                                                                            Woran liegt das? Am dgTEXT ?

                                                                            DANKE

                                                                            Andreas

                                                                          • #5082
                                                                            Klaus Major
                                                                            Administrator

                                                                              Zunächst einmal bitte generell im Deutschen auf das Apostroph im Plural verzichten:
                                                                              Ein ITEM, zwei ITEMS 😎

                                                                              Die Fehlermeldung besagt, daß der Inhalt eins dieser Felder offensichtlich KEINE Zahl ist!
                                                                              Bitt mal nachsehen, ob sich vielleicht ein CR oder TAB oder sonstws da eingschlichen hat.

                                                                              Ah, oder da ist ein KOMMA drin: 1,50!
                                                                              LC ist englisch und kennt daher nur den PUNKT als Dezimaltrenner: 1.50

                                                                              Ich habe mir für solche Situationen zwei kleine Funktionen geschreiben:

                                                                              function ohne_komma tZahl
                                                                                replace "," with "." in tZahl
                                                                                return tZahl
                                                                              end ohne_komma
                                                                              
                                                                              function mit_komma tZahl
                                                                                replace "." with "," in tZahl
                                                                                return tZahl
                                                                              end mit_komma

                                                                              Lege die ins Stackskript und nutze die eine für berechnungen, die andere für das Anzeigen.

                                                                              ...
                                                                              put item 7 of tArtikel into tpreis
                                                                              put tpreis & " €" into fld "preis"
                                                                              
                                                                              ## Zur Berechnung
                                                                              put fld "menge"  into wert1
                                                                              put fld "preis" into wert2
                                                                              put  ohne_komma(wert1) * ohne_komma(wert2) into ergebnis
                                                                              put mit_komma(ergebnis) into fld "gesamtpreis"
                                                                              ...

                                                                              Aber ich sehe, mit dem EURO Zeichen kann LC natürlich nciht rechnen, Punkt hin oder Komma her!
                                                                              Ändere die Reihenfolge in dem Skript, dann klappt das auch!
                                                                              Also entweder:

                                                                              ...
                                                                              put item 7 of tArtikel into tpreis
                                                                              put tpreis & " €" into fld "preis"
                                                                              
                                                                              ## Zur Berechnung
                                                                              put fld "menge"  into wert1
                                                                              
                                                                              ## diesen Wert OHNE Eurozeichen haben wir bereits in der Variablen tpreis
                                                                              ## also nimm das zur Berechnung
                                                                              ## put fld "preis" into wert2
                                                                              put  ohne_komma(wert1) * ohne_komma(tpreis) into ergebnis
                                                                              put mit_komma(ergebnis) into fld "gesamtpreis"
                                                                              ...

                                                                              Oder

                                                                              ...
                                                                              put item 7 of tArtikel into tpreis
                                                                              
                                                                              ## Zur Berechnung
                                                                              put fld "menge"  into wert1
                                                                              
                                                                              ## diesen Wert OHNE Eurozeichen haben wir bereits in der Variablen tpreis
                                                                              ## also nimm das zur Berechnung
                                                                              ## put fld "preis" into wert2
                                                                              put  ohne_komma(wert1) * ohne_komma(tpreis) into ergebnis
                                                                              put mit_komma(ergebnis) into fld "gesamtpreis"
                                                                              
                                                                              ## Jetzt erst das EURO Zeichen hinzufügen:
                                                                              put tpreis & " €" into fld "preis"
                                                                              ...

                                                                              Gruß

                                                                              Klaus

                                                                            • #5084
                                                                              Klaus Major
                                                                              Administrator

                                                                                Übrigens, der Fehler mit der falschen Reihenfolge der Befehle oben kostet extra! 😀

                                                                              • #5086
                                                                                AnHa
                                                                                Teilnehmer

                                                                                  Der Geldtransporter ist schon unterwegs :o)

                                                                                  Dafür könntest du mir noch eine Frage beantworten.
                                                                                  Wie passe ich die Berechnung an, wenn das Text Field “Menge” durch den User geändert wird?

                                                                                  Irgendwann habe ich auch dein LC-Wissen. Das motiviert mich jetzt :o)

                                                                                • #5088
                                                                                  Klaus Major
                                                                                  Administrator

                                                                                    Du könntest ein “on closefield” Handler an das Feld “Menge” kleben, was die Berechnung erneut durchführt.

                                                                                    Bin jetzt weg zur Probe für den Rockgig am Samstag! 🙂

                                                                                  • #5090
                                                                                    AnHa
                                                                                    Teilnehmer

                                                                                      Danke.

                                                                                      Viel Spass beim “Rocken”

                                                                                    • #5099
                                                                                      AnHa
                                                                                      Teilnehmer

                                                                                        Hallo Klaus,

                                                                                        hoffe die Probe war erfolgreich ?

                                                                                        Den “on closefield” Handler habe ich hinbekommen!

                                                                                        Ich versuche mich aber seit gestern an dem format ,00 €.
                                                                                        Irgendwie klappt es nicht so wirklich.

                                                                                        Im field gesamtpreis schneidet er mir die zweite null weg.
                                                                                        z.b 20,99 zeigt er an. Bei 20,90 nur 20,9.

                                                                                      • #5101
                                                                                        Klaus Major
                                                                                        Administrator

                                                                                          Hi Andreas,

                                                                                          Proben mit mir sind IMMER erfolgreich! 😀
                                                                                          Heute abend mal wieder eine Session hier in Osanbrück und morgen dann der Gig, love it!

                                                                                          OK, Du kannst das erzwingen, in dem Du “the numberformat” setzt, etwa so:

                                                                                          ...
                                                                                          set the numberformat to "0.00" # 2 Dezimalstellen
                                                                                          put  ohne_komma(wert1) * ohne_komma(tpreis) into ergebnis
                                                                                          put mit_komma(ergebnis) into fld "gesamtpreis"
                                                                                          ...

                                                                                          Et voila, Feld “gesamtpreis” sollte nun zwei Dezimalstellen hinter dem Komma anzeigen.
                                                                                          Das funktioniert aber NUR mit den Resultaten einer Rechenoperation, kann man aber zur Not erwzingen, indem man 0 addiert. Beispiel:

                                                                                          ...
                                                                                          put 200.0 into derPreis
                                                                                          set the numberformat to "0.00"
                                                                                          ## derPreis ist immer noch 200.0
                                                                                          add 0 to derPreis
                                                                                          answer derPreis
                                                                                          ## -> 200.00
                                                                                          ...

                                                                                          Gruß

                                                                                          Klaus

                                                                                        • #5105
                                                                                          AnHa
                                                                                          Teilnehmer

                                                                                            :o)

                                                                                            Spielst du in einer eigenen Band? Wo ist den dein GIG?

                                                                                            Leider klappt das nicht mit der Anzeige. Hier mein Code:

                                                                                            put item 7 of tArtikel into tpreis
                                                                                               ##put tpreis & " €" into fld "preis"
                                                                                               put tpreis into fld "preis"
                                                                                               
                                                                                               ## Zur Berechnung
                                                                                               put fld "menge"  into wert1
                                                                                               
                                                                                               
                                                                                               ## diesen Wert OHNE Eurozeichen haben wir bereits in der Variablen tpreis
                                                                                               ## also nimm das zur Berechnung
                                                                                               put fld "preis" into wert2
                                                                                               
                                                                                               set the numberformat to "0.00" # 2 Dezimalstellen
                                                                                             
                                                                                               put  ohne_komma(wert1) * ohne_komma(wert2) into ergebnis
                                                                                               put mit_komma(ergebnis) into fld "gesamtpreis"
                                                                                               
                                                                                          • #5109
                                                                                            Klaus Major
                                                                                            Administrator

                                                                                              Gute, Frage, kann ich im Moment leider nicht beantworten.
                                                                                              Offensichtlich kommt LC irgendwie nicht mit meinen “ohne/mitkomme Funktionen zurecht.

                                                                                              habe das hier ausprobiert:

                                                                                              on mouseUp pMouseButton
                                                                                                 put 10  into menge
                                                                                                 put "2,3" into preis
                                                                                                 
                                                                                                 set the numberformat to 0.00 # 2 Dezimalstellen
                                                                                                 put ohne_komma(menge) into menge
                                                                                                 put ohne_komma(preis) into preis
                                                                                                 put  menge * preis into ergebnis
                                                                                                 answer ergebnis
                                                                                                 answer mit_komma(ergebnis) 
                                                                                              end mouseUp

                                                                                              Ich habe zunächst einmal die Angabe für numberformat mit 0.00 ersetzt, dann bekam ich Folgendes:
                                                                                              answer ergebnis -> 23.00
                                                                                              answer mit_komma(ergebnis) -> 23
                                                                                              ???
                                                                                              Muss ich drüber nachdenken, sorry…

                                                                                              Nein, im Moment habe ich keine eigene Band, ich helfe in einer Coverband aus und wir spielen morgen hier, leider nur ein FACEBOOK Link:
                                                                                              https://www.facebook.com/events/179765879286157/
                                                                                              Hofstelle Duling, Drosselweg 2, 49134 Wallenhorst

                                                                                              Gruß

                                                                                              Klaus

                                                                                            • #5113
                                                                                              AnHa
                                                                                              Teilnehmer

                                                                                                Rock for Children ! Dann muss es gut werden!

                                                                                                Schade. Habe auch jetzt schon einiges propiert.
                                                                                                Leider auch noch keine Lösung.

                                                                                              • #5115
                                                                                                Klaus Major
                                                                                                Administrator

                                                                                                  Ich werde mal auf der LC Mailingliste nachfragen…

                                                                                                • #5121
                                                                                                  Klaus Major
                                                                                                  Administrator

                                                                                                    OK, da ich beim Programmieren nich nue Zeit und Gedulg aufgewendet habe, um herauszufinden, warum etwas ncuht funktionert, wenn es doch einen Workaround gibt, hab ich mich and die Funktion format() in LC erinnert.

                                                                                                    Die macht genau das, was wir benötigen, nämlich X Nachkommestellen DAUERHAFT zu erzwingen!
                                                                                                    Ich habe die Vermutung “numberformat” ist eine irgendwie “flüchtige/rtemporäre” Angelegenheit.

                                                                                                    Da diese funktion aus der Sprache C kommt, ist ihre Syntax leider uach etwas kryptisch.
                                                                                                    Hier mnein obiges Beispielskript nun mit FORMAT():

                                                                                                    on mouseUp pMouseButton
                                                                                                       put 10  into menge
                                                                                                       put "2,3" into preis
                                                                                                       
                                                                                                       #set the numberformat to 0.00 # 2 Dezimalstellen
                                                                                                       put ohne_komma(menge) into menge
                                                                                                       put ohne_komma(preis) into preis
                                                                                                       put  menge * preis into ergebnis
                                                                                                       put format("%1.2f",ergebnis) into ergebnis
                                                                                                       answer mit_komma(ergebnis)
                                                                                                    end mouseUp

                                                                                                    Das f bedeutet, wir möchten eine FLOATING Number (also eine Zahl mit Nachkommastellen haben)
                                                                                                    Und die 2 davor, daß wir genau ZWEI Nachkommastellen haben möchten.

                                                                                                    Du kannst das auch schachteln, aber das ist nicht besonders leserlich 😀

                                                                                                    put ohne_komma(menge) into menge
                                                                                                    put ohne_komma(preis) into preis
                                                                                                    put mit_komma(format(“%1.2f”,menge * preis)) into fld “ergebnis”

                                                                                                    Gruß

                                                                                                    Klaus

                                                                                                  • #5123
                                                                                                    AnHa
                                                                                                    Teilnehmer

                                                                                                      SUPI. Das klappt sehr gut.

                                                                                                      So. Wenn ich jetzt noch den Tausender Separator 1.000,00 € eingefügt bekomme kann ich beruhigt ins Wochenende starten.

                                                                                                    • #5125
                                                                                                      Klaus Major
                                                                                                      Administrator

                                                                                                        Das musst Du leider manuell machen, indem Du die Anzahl der Zeichen zählst und an ensprechender Stelle den Punkt setzt. Dafür gibt es keine Funktion o.ä. in LC.

                                                                                                      • #5127
                                                                                                        Klaus Major
                                                                                                        Administrator

                                                                                                          Zur Info:
                                                                                                          Ich habe auf der Mailingliste vom Chefentwickler von LC, Mr. Mark Waddingham, eine Antwort mit verständlicher Erklärung bekommen, die ich mal unübersetzt hier rein stelle:
                                                                                                          ############################################################################
                                                                                                          The numberFormat is a local property and is only used when a number gets converted to a string…

                                                                                                          put menge * preis into ergebnis — ergebnis is a number
                                                                                                          answer ergebnis — ergebnis is converted to a string using the numberFormat 0.00 and passed to ‘answer’.

                                                                                                          In the last line ‘answer mit_komma(ergebnis)’ you are passing ergebnis (a number) to a function. In the function, that number is converted to a string using the default numberFormat (as it is local to handlers, and you have not set it) as you are using ‘replace’ on it.

                                                                                                          So, the ‘issue’ here is the locality of numberFormat.
                                                                                                          ############################################################################
                                                                                                          Klingt komisch, ist aber so. 🙂

                                                                                                        • #5129
                                                                                                          AnHa
                                                                                                          Teilnehmer

                                                                                                            Danke für diese Info :o)

                                                                                                            Gestatte mir bitte noch zwei Fragen:

                                                                                                            Wie schreibe ich die Zähl-Schleife richtig, dass der Punkt korrekt gesetzt wird?

                                                                                                            Ich habe schon einiges probiert. Das hat er mir den Tausender Punkt gesetzt aber
                                                                                                            leider nicht aufgehört weitere Puntke zu setzen. Und Bang hat sich LC aufgehängt.

                                                                                                            2te Frage: Ich gebe ja die Artikel, Preise in Feldern aus.
                                                                                                            Hier werden ja auch noch einige Felder hinzukommen.
                                                                                                            Ist es in LC möglich die Texte in jedem Feld (das Angebot an sich) zu exportieren und bei Bedarf
                                                                                                            wieder genau so einzulesen, falls der User an seinem Angebot nachträglich was ändern möchte?

                                                                                                            DANKE DANKE DANKE DANKE DANKE DANKE

                                                                                                          • #5131
                                                                                                            Klaus Major
                                                                                                            Administrator

                                                                                                              Nicht vor Sonntag, bin jetzt weg…

                                                                                                              Wichtig, in einem (hier offensichtlich) “endlosen” repeat loop IMMER eine Bedingung reinpacken, die den Loop verlassen kann!

                                                                                                              Du kannst auch versuchen mit CMD. (Punkt) die Unterbrechung zu erzwingen.
                                                                                                              Dann kommt wohl eine Fehlermeldung, aber Du bist aus dem Loop raus!

                                                                                                            • #5133
                                                                                                              AnHa
                                                                                                              Teilnehmer

                                                                                                                Hallo Klaus,

                                                                                                                wie du es schaffst natürlich.

                                                                                                                Ich wünsche dir viel Spaß bei deinem GIG.

                                                                                                                Lass es ordentlich krachen.

                                                                                                                Gruß

                                                                                                                Andreas

                                                                                                              • #5147
                                                                                                                Klaus Major
                                                                                                                Administrator

                                                                                                                  Hallo Andreas,

                                                                                                                  ich denke, mit weit über 50 Postings in diesem Thread haben wir die Grenzen dieses Forum schon lange gesprengt. Ausser uns wird sich sicher niemand hier durchkämpfen.

                                                                                                                  Ausserdem hat es sich mittlerweile mehr zu einem persönlichen Coaching entwickelt, was ich eigentlich als Dienstleistung anbiete.

                                                                                                                  Und mit erfolg, siehe hier:
                                                                                                                  https://www.livecode-blog.de/forums/topic/meine-erste-app-ist-fertig/

                                                                                                                  Vorschlag: Eröffne einen neuen Thread für das Tausendertrenner Problem.
                                                                                                                  Ich habe die Funktion schon fertig! 🙂

                                                                                                                  Oder erwäge eventuell, falls Du im Berufsleben stehst und kein Student, Schüler oder arbeitslos bist, mich zu engagieren für Coaching per Skype und/oder Email.

                                                                                                                  Ich hoffe, Du empfindest das nicht als zu aufdringlich, aber ich bin seit über 6 Jahren arbeitslos, da kommt man schon mal auf solche Gedanken…

                                                                                                                  Bin aber natürlich nicht böse, wenn nicht, und werde selbstredend auch weiterhin hier Fragen beantworten, aber wie oben erwähnt, am Besten für jedes neue Problem einen neuen Thread aufmachen, dann haben alle was davon.

                                                                                                                  Gruß

                                                                                                                  Klaus

                                                                                                              Ansicht von 53 Antwort-Themen
                                                                                                              • Du musst angemeldet sein, um auf dieses Thema antworten zu können.