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

Schleife zum Einlesen von Textfiles?

 
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 -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Joggo
•->
•->


Anmeldedatum: 22.11.2000
Beiträge: 7

BeitragVerfasst am: 01.12.2000 - 13:54    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Hallo Leute,

Ich komme gerade nicht weiter. Folgendes:

Habe hier 3 Textfiles, die in 3 Variablen gespeichert werden sollen.

Die Pfadangaben sind bereits in Variablen gespeichert.

Jetzt geht es mir um's Einlesen der Daten.
Ich kann jetzt zwar 3 mal das ganze Gesums von

open acces for usw....

hinschreiben, aber ich habe mir gedacht, daß es doch eine Möglichkeit geben müßte, das in einer Schleife zu erledigen. Also habe ich zwei Listen angelegt, eine mit den Pfadvariablen und eine mit den Variablen, in die der Text hinein soll.

Jetzt habe ich versucht, eine Schleife zu programmieren, die im ersten Durchlauf Pfad1 und Variable1 benutzt, im nächsten Pfad2 und Variable2...

Das lief auch fehlerlos, nur hatte ich das Problem, daß meine Variablen am Schluß leer waren.:(

Die Daten wurden eingelesen, das habe ich überprüft, indem ich am Schleifenende einen Dialog anzeigen ließ, mit dem Inhalt der Variablen.

Das Problem ist ja, daß ich innerhalb der Schleife die Variablennamen nicht benutzen kann, es muß ja bei jedem Durchlauf eine andere Variable angesprochen werden.

set aktuelleVariable to item i of VariablenListe

So hatte ich es mir gedacht, aber wie bringe ich die Daten in die endgültigen Textvariablen.

Ich hoffe, ihr könnt mir den entscheidenden Tipp geben.

Joggo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
maccer
•->
•->


Anmeldedatum: 29.11.2000
Beiträge: 10

BeitragVerfasst am: 01.12.2000 - 14:00    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Hi,
meines Erachtens machst Du einen Denkfehler, denn Du legst den Text so nicht in der Ziel-Variablen sondern in der aktuelleVariable selbst (noch nicht mal in die Liste) ab.
Du mußt die Ziel-Variable selbst in der Schleife ansprechen, was Du erreichst, indem Du den Namen über Zusammensetzung dynamisch änderst und zwar so: Copy tempText to ("Zielvariable" & i)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Joggo
•->
•->


Anmeldedatum: 22.11.2000
Beiträge: 7

BeitragVerfasst am: 01.12.2000 - 14:02    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Hallo maccer,

erst mal danke für deine Antwort aber leider funktioniert das nicht.

Ich habe zuerst einmal meine Variablen umbenannt, damit das evtl. klappen könnte. Sie heißen jetzt Text1, Text2, Text3.

Den eingelesenen Text habe ich jetzt auch erst mal in der Variablen tempText abgelegt.

Wenn ich nun schreibe:
copy tempText to ("Text" & i)
bekomme ich eine Fehlermeldung.

-> Can't set "Text" & i to tempText.
Access not allowed.

Das Problem ist doch, daß ich aus der Konstruktion im besten Fall einen String machen kann aber es wird keine Variable daraus.

Hast du noch eine Idee, oder habe ich schon wieder was übersehen?

Ich habe mein Skript jetzt auf die umständliche, aber funktionierende Art geschrieben. Es reizt mich jetzt aber doch, herauszufinden, ob es nicht irgendwie möglich ist, die Variablen variabel anzusprechen. <- cool formuliert ;-)

Bin für weitere Tipps dankbar
Joggo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 01.12.2000 - 14:05    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Hi Joggo,
ihr habt mich neugierig gemacht. Deshalb habe ich mal ein kleines Testskript geschrieben. Dieses Skript löst zwar dein Problem mit dem Einlesen von Daten in einer Schleife, die variable Übergabe an Variablen Wink ist aber dadurch noch nicht richtig gelöst.

property Var1 : ""
property Var2 : ""
property Var3 : ""
property Var4 : ""
set itemList to {"Labertext", "Alles Blödsinn", "Wieso, mir gefällt's ", "Aus, Schluß!"}
set varList to {Var1, Var2, Var3, Var4}
set i to 1
repeat until i > (count items in itemList)
                                 
set tempText to (item i of itemList)
copy tempText to (item i of varList)
set i to i + 1
                                 
end repeat
set Var1 to (item 1 of varList)
set Var2 to (item 2 of varList)
set Var3 to (item 3 of varList)
set Var4 to (item 4 of varList)
display dialog Var1 & return & Var2 & return & Var3 & return & Var4



Die itemList entspricht praktisch deiner Pfad-Liste, ich wollte es im Beispiel nur etwas einfacher machen.

Das Problem mit den Variablen in der varList ist, daß die Zeile

copy tempText to (item i of varList)

auf den ersten Blick zwar das tut, was man erwartet. Also den Text in die Variable kopieren.

Das ist aber nicht so. Wenn man am Ende des Skripts die varList anzeigen läßt, offenbart sich der Fehler. Du hast jetzt eine Liste mit Text.

Zuerst ist item 1 der varList eine Variable, durch obige Zeile wird der Listeninhalt "Variable" durch den Listeninhalt "Text" ersetzt. So gesehen brauchst du eigentlich gar keine Variablenliste, es würde auch folgendes genügen:

set varList to {"","","",""}

Im Schleifenablauf werden jetzt diese List-Items mit Text gefüllt. Am Schluß des Skripts speichere ich die einzelnen List-Items in verschiedene Variablen.

So, jetzt wäre es natürlich absolut stark, wenn jemand noch eine Lösung hätte, wie man ohne diesen Umweg die Variablen füllen kann.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Kurt
•-->
•-->


Anmeldedatum: 04.12.2000
Beiträge: 21
Wohnort: Röthenbach a.d.P. bei Nürnberg

BeitragVerfasst am: 04.12.2000 - 22:54    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Versuch's mal mit dem 'reference to operator'

property Var1 : ""
property Var2 : ""
property Var3 : ""
property Var4 : ""
set itemList to {"Labertext", "Alles Blödsinn", "Wieso, mir gefällt's ", "Aus,  Schluß!"}
set varList to {ref to Var1, ref to Var2,.....}
set i to 1
repeat until i > (count items in itemList)
set tempText to (item i of itemList)
set content of(item i of varList) to temptxt
set i to i + 1
end repeat
display dialog Var1 & return & Var2 & return & Var3 & return & Var4

Über den construct set refvar to a ref(erence) to var und der umgekehrten Zuweisung set content of refvar to "Inhalt" kann man der ursprünglichen Variablen Var direkt Werte zuweisen.

MfG Kurt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 04.12.2000 - 23:01    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Hallo Kurt,

deine Lösung sieht interessant aus. Das habe ich gleich mal ausprobiert.

Funktioniert! Very Happy
Allerdings muss man die Zeile:

set content of(item i of varList) to temptxt

abändern. Statt content muss contents geschrieben werden.

Jetzt kann ich gleich einige meiner Skripts abändern. Wink

Gruß
Snow
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 01.03.2003 - 17:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 11.12.2000 - 15:42    Titel: Schleife zum Einlesen von Textfiles? Antworten mit Zitat

Halloo Joggo,

Verstehe ich etwas falsch? Warum nicht
set {var1, var2, var3, var4} to {"Text", "Text2", "Text3", "Text4"} ;
bezüglich der eingelesenen Daten:
set The_L to {}
repeat 4 times --was auch immer
set end of The_L to Ö --Daten, hier Text
end repeat
set {var1, var2, var3, var4} to the_L

oder hab ich die Frage so gründlich mißverstanden??

Gruß, Folker
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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 -> AppleScript-Forum 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