Startseite › Foren › Deutsches LiveCode-Forum › Maximalwert in Liste finden
- Dieses Thema hat 9 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 11 Monaten von Torsten.
-
AutorBeiträge
-
-
Dezember 2, 2021 um 20:13 Uhr #39591
Hallo und guten Abend.
Ich brauche mal wieder Hilfe bei einer eigentlich simplen Aufgabe.
ich habe in einer Liste (field “PickHistory”) flgendes stehen:Mi, 23.11.2021, KW_47, 487 00 0,00
Mi, 01.12.2021, KW_48, 240 14731 8,84
Do, 02.12.2021, KW_48, 626 27912 16,75Ich möchte nun aus der Spalte 6 den Höchsten Wert (also 16,75) in ein Feld einfügen.
Kann mir da bitte jemand Helfen? -
Dezember 2, 2021 um 20:28 Uhr #39593
Hi akrages,
das geht nur mit einem Loop und einem kleinen Trick. 🙂
Ich nehme mal an, die Daten sind per TAB getrennt?
Wenn nicht, das Skript eben anpassen!... put field "PickHistory" into les_picks set itemdel to TAB repeat for each line tLine in les_picks put item 6 of tLine into tValue ## Der Trick! ## Denn LC rechnet ENGLISCH also mit . statt KOMMA replace "," with "." in tValue ## Nun sammeln: put tValue & "," after tListe end repeat ## Nun können wir mit der eingebauten Funktion MAX() den höchsten Wert auslesen put max(tListe) into tHöchsterWert ## Zur Anzeige wieder eindeutschen: replace "." with "," in tHöchsterWert answer "Höchster Wert:" && tHöchsterWert ...
Gruß
Klaus
-
Dezember 2, 2021 um 20:48 Uhr #39595
Das ging ja fix.
Hatte ein Script ganz ähnlich deinem schon mal ausprobiert
aber auch mit deinem Script bekomme ich folgende Fehlermeldung:
button “Button”: execution error at line 20 (Function: error in source expression), char 1??
-
Dezember 2, 2021 um 21:00 Uhr #39596
Was genau ist denn Zeile 20?
Falls es die hier ist:
answer “Höchster Wert:” && tHöchsterWertDann mal mit Klammern versuchen:
answer (“Höchster Wert:” && tHöchsterWert) -
Dezember 2, 2021 um 21:05 Uhr #39598
Ich habe das hier ausprobiert und sah “Höchster Wert: 16,75” im Dialog!
Bitte überprüfe, ob es sich bei Dir wirklich um TAB als Delimiter
handelt und es das 6te Item ist. Das ist nicht so ersichtlich. -
Dezember 2, 2021 um 21:10 Uhr #39600
Hab herausgefunden woran es lag.
Ich hatte in der Liste noch eine Überschrift stehen:Datum KW Picks Schritte KM
Nachdem ich diese gelöscht habe läuft das Script so wie es soll.
Wie kann ich dein Script dahingehend ändern, dass die erste Zeile nicht brücksichtigt wird?
-
Dezember 2, 2021 um 21:15 Uhr #39601
Hab die Lösung.
clear line 1 in les_picks
Vielen Dank.
-
Dezember 2, 2021 um 21:25 Uhr #39602
Oder besser:
... put line 2 to -1 of field "PickHistory" into les_picks ...
🙂
-
Dezember 2, 2021 um 21:42 Uhr #39604
Oder:
... delete line 1 of les_picks ...
-
Dezember 3, 2021 um 13:40 Uhr #39641
Hallo akrages,
noch etwas kürzer und ohne itemdelimiter geht es bei den gezeigten Daten auch so:
put field "PickHistory" into tData replace "," with "." in tData -- notwendig, weil Livecode die englische Zahlenformatierung verwendet sort lines of tData numeric descending by word 6 of each -- Wörter sind durchgehende Zeichenketten, die durch Leerzeichen oder Tabs gtrennt sein können put word 6 of first line of tData into tMaximalwert replace "." with "," in tMaximalwert answer tMaximalwert
Happy scripting!
Torsten
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.