Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Listeneintäge intelligent ZUSAMMENFASSEN

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 449
Wohnort: Geldern

BeitragVerfasst am: 19.08.2005 - 00:39    Titel: Listeneintäge intelligent ZUSAMMENFASSEN Antworten mit Zitat

Hallo zusammen.

Ich habe mal eine nicht ganz leicht zu verstehende schlanke Routine erstellt, um Listeneinträge zusammenzufassen (und nicht nur einfach doppelte entfernen; wie es das im Forum schon gibt).

Nehmen wir an, wir haben die unten zu sehende Liste; beispielsweise einen Lieferschein oder eine Zeiterfassung. Es gibt mehrere Einträge doppelt (in diesem Fall die 1, die 5 und die 7).
Die Liste wird sortiert (anhand der korrekten Spalte – der Ordnungsnummer. Das ist in dem Fall Spalte 4, Buchstabe 1 (habe ich zur leichteren Anpassung zuerst festgelegt in sp und bu).

set sp to "4"
set bu to "1"

set liste to "
1977 350 1,6 349867 Eintrag 7
1977 350 2,3 398292 Eintrag 2
1977 350 0,4 394832 Eintrag 3
1977 350 0,1 947383 Eintrag 4
1977 350 0,3 215504 Eintrag 1
1977 350 0,3 645637 Eintrag 5
1977 350 0,9 218283 Eintrag 6
1977 350 0,7 645637 Eintrag 5
1977 350 1,2 215504 Eintrag 1
1977 350 1,1 349867 Eintrag 7"


----- Anfang der eigentlichen Routine

set liste to do shell script "echo \"" & liste & "\" | tr '\\r' '\\n' | sort -n -k " & sp & "." & bu & " | tr '\\n' '\\r'"

set my text item delimiters to ASCII character (13)
set liste to every text item of liste
set liste_duplikatezusammen to {}
set my text item delimiters to ""

repeat with i from 1 to (count of liste) in liste
try
set tempEintrag to item i of liste
if ((characters 14 thru 19 of tempEintrag) as string) is not in (liste_duplikatezusammen as string) then
set the end of liste_duplikatezusammen to tempEintrag
else
set tz to ((((characters 10 thru 12 of tempEintrag) as string) as real) + (((characters 10 thru 12 of (item (i - 1) of liste)) as string) as real) as string)
set last item of liste_duplikatezusammen to ((characters 1 thru 9 of tempEintrag) & tz & (characters 13 thru -1 of tempEintrag)) as string
end if
end try
end repeat

----- Ende der eigentlichen Routine

set my text item delimiters to return
return (liste_duplikatezusammen as string)

return liste_duplikatezusammen


Als Ergebnis erhalten wir sauber und korrekt folgendes Ergebnis:

"1977 350 1,5 215504 Eintrag 1
1977 350 0,9 218283 Eintrag 6
1977 350 2,7 349867 Eintrag 7
1977 350 0,4 394832 Eintrag 3
1977 350 2,3 398292 Eintrag 2
1977 350 1,0 645637 Eintrag 5
1977 350 0,1 947383 Eintrag 4"

Also die Liste ist nach Zahlen sortiert (der Ordnungsnummernspalte und aufsteigend, nicht einfach nur alphanumerisch) und die Einträge sind jeweils der dritten Spalte nach zusammengerechnet:

Aus 0,3 und 1,2 ist 1,5 geworden...

Mit reinen AppleScript-Befehlen wäre solch eine Routine wesentlich länger vom Quellcode und auch wesentlich langsamer. Ein wichtiger Teil ist die vorherige Behandlung über ein kleines Shell Script. Dadurch funktioniert dieses Snippet auch nur unter Mac OS X.
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sdenjuopl148
•---->
•---->


Anmeldedatum: 17.12.2022
Beiträge: 725
Wohnort: New York city

BeitragVerfasst am: 29.03.2023 - 01:16    Titel: Antworten mit Zitat

Men Nike Sneakers
Nike Shoes
Nike Outlet
Air Jordan 1
Air Jordan 1 High
Nike Shoes
Adidas Sneakers
Nike Sneakers For Women
Adidas Running Shoes
Balenciaga Triple S
Air Jordan 1
Pandora Charms
Nike Shoes Women
Jordan 1's
Pandora Black Friday
Salvatore Ferragamo Belt
Jordan Ones
Pandora Jewelry
Nike Shoes
Pandora Charms
Cheap Moncler
Pandora
Pandora Jewelry Official Site
Goyard Bag
Pandora Charms
Nike Outlet
Jordan Shoes
Pandora Store
Nike Men Shoes
Puma Outlet
NMD R1
Moncler
Asics Outlet
Moncler Jackets Women
Adidas Website
Adidas Shoes Women
Pandora Jewelry Official Site
Balenciaga
Pandora Outlet
Pandora Charms
Pandora Jewelry
Nike Airmax
Pandora Jewelry
Basketball Shoes
Dior Jordan 1
Adidas Shoes Canada
Air Jordan 1 Retro High Og
Jordan 5 Retro
Pandora Jewelry
Moncler Coats For Men
Adidas Sale
Wholesale Jordan
Pandora Charms Sale Clearance
Pandora
Pandora Jewelry Bracelets
Nike Canada
Air Max 270 Men
Pandora Rings
Adidas Outlet
Pandora Charms
Pandora Charms Sale Clearance
Pandora Jewelry Outlet
Pandora Bracelets
Moncler Jackets Outlet
Moncler Jacket
Moncler Jacket For Women
Pandora Bracelet
Asics Running Shoes Women
Men's Nike Shoes
Adidas Shoes
Yeezy
Asics Sneakers For Women
Wholesale Jordan Shoes
Nike Air Max 270
Pandora Charms
Wholesale Jordan
Air Jordan 1
Pandora
Nike Running Shoes
Ferragamo Belt
Yeezy
Pandora Jewelry Official Site
Jordans Sneakers
Air Jordans 1
Nike
Cheap Nike Shoes
Pandora Charms
Jordan 1 Retro
Ferragamo
Pandora Outlet
Goyard Handbags
Pandora Charms Sale Clearance
Jordan Retro 1 High OG
Air Jordan 1 Low
Pandora
Pandora Jewelry
Nike Outlet Store
Asics Gel-Kayano
Balenciaga Shoes
Pandora
Pandora Jewelry
Pandora Canada
Asics Shoes
Air Max 97
Pandora Jewelry
Pandora Outlet
Adidas Canada
Jordans Wholesale Suppliers
Pandora Rings
Nike Store
Asics Shoes
Air Jordan
Pandora Store
Balenciaga Shoes
Balenciaga
Pandora Charms
Ferragamo Shoes Women
Pandora Jewelry
Nike
Nike Store UK
Pandora Jewelry Official Site
Pandora Outlet
Pandora
Pandora
Moncler Jackets
Pandora Charms
Air Jordan 1 Low
Cheap Moncler
Moncler Coat Women
Pandora Jewelry
Cheap Adidas Shoes
Nike
Asics Outlet Online
Pandora Jewelry
Adidas Shoes Men
Pandora Charms
Jordan 1 Retro
Pandora Bracelets
Nike Air Jordan
Jordan 1 Low
Pandora Jewelry Official Site
Moncler Outlet
Moncler Outlet Online
Balenciaga
Pandora Charms
Balenciaga Outlet
Pandora Charms
Pandora Charms Sale Clearance
Pandora Jewelry
Ferragamo Belt Men
Nike Outlet
Nike Air Jordan 1
Pandora Bracelet
Pandora Jewelry
Nike Shoes For Women
Pandora Jewelry
Nike Snkrs
_________________
sdenjuopl148
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> OS X-Snippets Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter