[GastForen Programmierung/Entwicklung AppleScript Position eines Listeneintrags finden

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Position eines Listeneintrags finden

mcrudi
Beiträge gesamt: 29

14. Okt 2019, 09:56
Beitrag # 1 von 5
Bewertung:
(12057 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen,

ich habe nach langer Recherche mal wieder eine Frage.
Ist es möglich in AppleScript die Positionsnummer eines Eintrages in eine Liste zu bestimmen?
Zum Beispiel wenn ich eine Liste habe:
Code
set myList to {"A", "B", "C"} 
-- Und hier jetzt die Nummer von "B" in der Liste.


Ich bekomme in meinem Fall eine Liste aus einer PDF-Datei
Ich müsste wissen an welcher Stelle der Eintrag "Artikel Nr." steht, damit ich den folgen Wert (Position +1) auslesen kann.
Leider ist die Position der Artikelnummer nicht immer gleich.

Für Eure Hilfe schon mal vielen Dank.

Mcrudi
X

Position eines Listeneintrags finden

Hans Haesler
  
Beiträge gesamt: 5826

14. Okt 2019, 14:01
Beitrag # 2 von 5
Beitrag ID: #572265
Bewertung:
(12040 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mcrudi,

das sollte möglich sein.

Ein paar Fragen:
– Würdest Du bitte eine typische Liste posten?
– Ist die Zusammensetzung der Artikelnummern immer gleich? (Anzahl Zeichen; Ziffern, Buchstaben).
– Wodurch unterscheidet sich eine Artikelnummer von den übrigen Listen-Elementen?

Gruss, Hans


als Antwort auf: [#572251]

Position eines Listeneintrags finden

Hans Haesler
  
Beiträge gesamt: 5826

14. Okt 2019, 17:48
Beitrag # 3 von 5
Beitrag ID: #572276
Bewertung:
(12025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mcrudi,

jetzt habe ich endlich die Aufgabe konzentrierter gelesen als das erste Mal ...

Wenn ich es richtig verstehe, geht es "nur" darum, die Position des Elements "Artikel Nr." in der Liste zu finden.
Die Zusammensetzung der Nummern spielt also keine Rolle.

Ich werde im Laufe des Abends eine Lösung posten.

Gruss, Hans


als Antwort auf: [#572251]

Position eines Listeneintrags finden

Hans Haesler
  
Beiträge gesamt: 5826

14. Okt 2019, 18:42
Beitrag # 4 von 5
Beitrag ID: #572277
Bewertung:
(12015 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mcrudi,

eine erste Lösung:

Code
set actList to {"Alpha", "Beta", "Gamma", "Artikel Nr.", "Delta", "Epsilon", "Zeta"} 
set nItems to count of actList

if actList contains "Artikel Nr." then
repeat with n from 1 to nItems
if item n of my actList is "Artikel Nr." then
set actPos to n
display dialog "Die Position von \"Artikel Nr.\" = " & actPos
exit repeat
end if
end repeat
else
display dialog "Die aktuelle Liste enthält kein Element \"Artikel Nr.\"" buttons "OK" default button 1 with icon 2
end if

Das funktioniert aber nur, wenn "Artikel Nr." immer so geschrieben ist.
Wenn mal, z. B., ein Bindestrich getippt wurde (was korrekter wäre): "Artikel-Nr.", dann kann das Element nicht gefunden werden.

Anstelle des Dialogs – welcher die Position verkündet –, kann die Variable 'actPos' in einer Ergänzung des Scripts eingesetzt werden.

Gruss, Hans


als Antwort auf: [#572251]

Position eines Listeneintrags finden

mcrudi
Beiträge gesamt: 29

14. Okt 2019, 19:51
Beitrag # 5 von 5
Beitrag ID: #572279
Bewertung:
(11994 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

danke für die Antwort. Leider war die Seite für mich längere Zeit nicht erreichbar. Der Code liest sich logisch. Ich werde das gleich mal ausprobieren.

Vielen Dank schon mal.

Viele Grüße,
Mcrudi


als Antwort auf: [#572277]
X