Startseite › Foren › Deutsches LiveCode-Forum › Colorizer › Antwort auf: Colorizer
Mai 30, 2019 um 13:01 Uhr
#15164
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"