[GastForen Programmierung/Entwicklung AppleScript Text in "Liste.txt" schreiben via Dialog-Eingabe

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

Text in "Liste.txt" schreiben via Dialog-Eingabe

ehwda
Beiträge gesamt: 66

15. Aug 2014, 11:34
Beitrag # 1 von 3
Bewertung:
(3668 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Mit dem folgenden Script kann man eine Liste in eine .txt-Datei schreiben.

Code
set testD to "versuchversuch.txt" 
set Ort to (path to desktop from user domain) as string
set datei to Ort & testD as alias

try
close access datei --- falls die Datei schon "offen" ist
end try

set schreib to display dialog "welchen Text in die Liste?" default answer " " buttons {"keinen", "diesen"} default button 2

set diesenText to text returned of schreib
set knopf to button returned of schreib
if knopf = "keinen" then error number -128 --- Abbruch
if knopf = "diesen" then

open for access datei with write permission

write diesenText & "\n" to datei starting at eof

close access datei

end if


Was ich gerne gewusst hätte:
1. Wie stelle ich es an, dass das Script Begriffe, die in der Text-Datei schon vorhanden sind, ohne Rückmeldung ignoriert?
2. Wie kann ich mehrere Begriffe im Dialog eingeben - durch ";" getrennt -, die dann als einzelne Zeilen in der Text-Datei erscheinen?

Herzlichen Dank für jede Hilfe.
Gruss, Eugen
X

Text in "Liste.txt" schreiben via Dialog-Eingabe

Hans Haesler
  
Beiträge gesamt: 5797

15. Aug 2014, 14:03
Beitrag # 2 von 3
Beitrag ID: #531061
Bewertung:
(3622 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Eugen,

in der zweiten Zeile sollte 'as Unicode text' verwendet werden (statt 'as text'). Das sei besser wurde einem vor vielen Jahren gesagt.

Das 'as alias' generiert eine Fehlermeldung, wenn die Datei nicht existiert. Also ohne 'as alias', aber später überall im Script 'file datei' verwenden.

Die Datei vorsorglich schliessen wäre okay. Aber besser ist, dafür zu sorgen, dass sie bei einem Problem beim Schreiben dennoch geschlossen wird. Das erreicht man mit 'try'-Wickeln.

Zu Deinen Fragen:
1. Zum Prüfen, ob eine Eingabe schon in der Datei vorhanden ist, muss diese vorgängig in eine Variable gelesen werden. Das Ergebnis in eine Liste verwandeln und dann kann mit 'is in' geprüft werden, ob die Liste den aktuellen Ausdruck schon als Element enthält.

2. Die Eingabe von strichpunkgetrennten Begriffen ist möglich. Dazu wieder die text item delimiters einsetzen.

Der folgende Code ist nicht kommentiert. Zum einen ist er selbsterklärend, zum anderen wurde vorstehend schon alles gesagt.

Code
set testD to "versuchversuch.txt" 
set Ort to (path to desktop from user domain) as Unicode text
set datei to (Ort & testD)

set curString to ""
set curList to {}
try
set curString to read file datei
end try
if curString is not "" then
set AppleScript's text item delimiters to return
set curList to every text item of curString as list
set AppleScript's text item delimiters to {""}
end if

set schreib to display dialog "welchen Text in die Liste?" default answer "" buttons {"keinen", "diesen"} default button 2

set diesenText to text returned of schreib
set knopf to button returned of schreib
if knopf = "keinen" then error number -128 --- Abbruch
if knopf = "diesen" then

set AppleScript's text item delimiters to {";"}
set textList to every text item of diesenText as list
set AppleScript's text item delimiters to {""}

repeat with n from 1 to count of textList
set curItem to item n of textList
if not (curItem is in curList) then
set end of curList to curItem

open for access file datei with write permission
try
write curItem & return to file datei starting at eof
close access file datei
on error
try
close access file datei
end try
end try
end if

end repeat

end if

Sollte dennoch etwas nicht klar sein: nur fragen. :-)

Gruss, Hans


als Antwort auf: [#531052]
(Dieser Beitrag wurde von Hans Haesler am 15. Aug 2014, 14:04 geändert)

Text in "Liste.txt" schreiben via Dialog-Eingabe

ehwda
Beiträge gesamt: 66

15. Aug 2014, 17:10
Beitrag # 3 von 3
Beitrag ID: #531068
Bewertung:
(3593 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank, es gehen wieder ein paar Lichter auf!

Gruss, Eugen


als Antwort auf: [#531061]

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
26.01.2021 - 27.01.2021

Digicomp Academy AG, Zürich oder virtuell
Dienstag, 26. Jan. 2021, 08.30 Uhr - Mittwoch, 27. Jan. 2021, 17.00 Uhr

Kurs

In diesem Advanced-Kurs erlernen Sie weitergehende Methoden im Dokumentenaufbau, der Typografie und im Bereich Layouttechniken. Nach diesem Kurs können Sie strukturierte Dokumente erstellen oder bestehende effizienter anpassen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM2

Veranstaltungen
27.01.2021 - 28.01.2021

Digicomp Academy AG, Bern oder Basel
Mittwoch, 27. Jan. 2021, 08.30 Uhr - Donnerstag, 28. Jan. 2021, 17.00 Uhr

Kurs

Mit After Effects können Sie visuelle Effekte und Animationen für Video, Web, DVD und Blu-Ray erzeugen. In diesem Kurs lernen Sie die Grundlagen kennen und sehen inspirierende Anwendungsbeispiele, die Ihnen helfen, Ihre eigenen Ideen umzusetzen.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AFT

Neuste Foreneinträge


Laser Drucker druckt schwarze Flecken Links und Rechts von Blatt

Gleich Große Icons erstellen

Absätze vor/nach AF suchen

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Langsamer MacMini

Illustrator Skript Übersatztext - Hilfe benötigt

ID CC 2019 und 2020: Crash beim Startvorgang - 2021

Inhalt Textrahmen verbinden

iPhone Farbprofil

Exel ohne leeres Tabellenblatt starten
medienjobs