[GastForen Programmierung/Entwicklung AppleScript Schreiben von Liste in Datei Absatzorientiert

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

Schreiben von Liste in Datei Absatzorientiert

michael m.
Beiträge gesamt: 162

10. Mär 2011, 15:05
Beitrag # 1 von 5
Bewertung:
(2639 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe eine Absatzorientierte Liste mit Wörter die in einem Script in eine Variable eingelesen, dann in eine Liste umgewandelt wird und dann ein Datensatz hinzufügt.

Dann soll diese Liste wieder mit Absatzorientierten Wörtern gespeichert werden.

Das Speichern ist das Problem.

Code
(* AbsatzWorte.txt 
Adobe
Apple
Dymo
Microsoft
Häuschen
Mäuschen
Straße
@mail
*)

set absFile to "Macintosh HD:Users:michael:Desktop:AbsatzWorte.txt"

-- Einlesen der Datei Absatzweise
set absInhalt to read file absFile

-- schreiben des Inhaltes in eine Liste
set absListe to every paragraph of absInhalt

-- Stichwort hinzufügen
set neueDatensatz to "Das ist ein neuer Datensatz"

-- Datensat anfügen
set end of absListe to neueDatensatz

absListe

set newFile to open for access file ((path to desktop as text) & "neueAbsatzWorte.txt") with write permission

(* Herauskommen soll eine Liste Absatzorientiert
Adobe
Apple
Dymo
Microsoft
Häuschen
Mäuschen
Straße
@mail
Das ist ein neuer Datensatz
*)


Über Hilfe würde ich mich sehr freuen.

Vielen Dank
Michael
X

Schreiben von Liste in Datei Absatzorientiert

TMA
Beiträge gesamt: 391

11. Mär 2011, 07:24
Beitrag # 2 von 5
Beitrag ID: #466734
Bewertung:
(2618 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,
zum Speichern benutze ich immer diesen Handler hier:
Code
on writeLogDatei(theLogString, logFile, overwriteVar) 
set theLogString to theLogString as string
try
close access file logFile
end try
set tmpLogdatei to (open for access file logFile with write permission)
if overwriteVar = true then set eof of tmpLogdatei to 0
write theLogString starting at eof to tmpLogdatei
close access tmpLogdatei
end writeLogDatei


Dem Handler übergeben musst du:
1. Der Text der in die Datei geschrieben werden soll
2. Der Speicherpfad der Textdatei (als String)
3. true/false (Inhalt der Textdatei: überschreiben oder anfügen)

Gruß
TMA


als Antwort auf: [#466689]

Schreiben von Liste in Datei Absatzorientiert

michael m.
Beiträge gesamt: 162

11. Mär 2011, 09:35
Beitrag # 3 von 5
Beitrag ID: #466749
Bewertung:
(2600 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

vielen Dank.
Ich haben Handler mal integriert und das speichern funktioniert auch, aber ich erhalte keine Datei mit Absätze.

Ich erhalte diesen Inhalt:
Zitat AdobeAppleDymoMicrosoftHäuschenMäuschenStraße@mailDas ist ein neuer Datensatz


Ich habe beim Einlesen der Liste folgenden Code verwendet:

set absListe to every paragraph of absInhalt
Damit erhalte ich eine Liste mit den Inhalten des Wörter aus dem Absatz.

Jetzt weiss ich aber nicht so richtig, wie ich diese wieder umkehren kann.

Viele Grüsse

Michael


als Antwort auf: [#466734]

Schreiben von Liste in Datei Absatzorientiert

TMA
Beiträge gesamt: 391

11. Mär 2011, 09:55
Beitrag # 4 von 5
Beitrag ID: #466751
Bewertung:
(2594 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michael,
vor dem schreiben der Textdatei musst du die Liste als String umwandeln und als Delimiter return mitgeben (oder was du halt brauchst):
Code
set my text item delimiters to return 
set absListe to absListe as string
set my text item delimiters to ""


Gruß
TMA


als Antwort auf: [#466749]

Schreiben von Liste in Datei Absatzorientiert

michael m.
Beiträge gesamt: 162

11. Mär 2011, 11:07
Beitrag # 5 von 5
Beitrag ID: #466756
Bewertung:
(2574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

vielen Dank, hat super geklappt.
Wieder mal etwas neues gelernt.

Jetzt begebe ich mich dran den Handler zu erweitern, indem ich die Liste in der Variable erst sortieren lasse, dann auf Duplikate prüfe, dann den Absatz erzeuge und dann abspeichern.

Viele Grüsse

Michael


als Antwort auf: [#466751]
X