Antwort auf: Colorizer

Startseite Foren Deutsches LiveCode-Forum Colorizer Antwort auf: Colorizer

#15164
Torsten
Teilnehmer

    Habs einigermassen schnell hingekriegt. Hier mal der Code als Beispiel:

    Im Interface gibt es ein field “Text” und hinter diesem ein field “Counter” welches sichtbar ist, wenn das Textfeld ausgeblendet wird. Dadurch erreiche ich, dass die Verarbeitung einerseits schneller wird (weil mein visuelles Update gemacht werden muss) und ich aber (im Gegensatz zu lockscreen) auch noch einen Fortschrittsindikator einbauen kann, der mir sagt, ob ích mir noch einen Kaffee machen kann 🙂

    Die Bedingung

    if i mod 500 is zero

    erreicht, dass die Anzeige des Counters auch nur alle 500 Schritte gemacht wird, weil eine zu häufige Anzeige das Programm auch wieder verlangsamt.

    
       set cursor to watch
       set the visible of field "Text" to false
       set the visible of field "Counter" to true
       put the seconds into tStartSeconds
       put the number of segments in field "Text"  into tNumberOfSegments
       
       repeat with i = 1 to the number of segments in field "Text" 
          
          if i mod 500 is zero then put i & "/" & tNumberOfSegments into word 2 of field "Counter"
          
          put segment i of field "Text" into tWord
          if tWord is empty then next repeat
          
          ## Erkennung, ob ein Segment einen Domainnamen enthält (www.web.de etc.)
          
          set itemdelimiter to "."  -- die Domainnamen in der Datei sind ohne Protokoll, z.b. www.economist.com
          if the number of items in tWord > 1 then 
             
             ## färbe den Domainnamen in blau
             set the textcolor of segment i of field "Text" to "blue"
             
          end if
          
       end repeat
       
       set the visible of field "Counter" to false
       set the visible of field "Text" to true
       set cursor to arrow
       
       answer "Die Aktion dauerte:" && the seconds - tStartSeconds  && "Sekunden"