Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Joggo •->


Anmeldedatum: 22.11.2000 Beiträge: 7
|
Verfasst am: 01.12.2000 - 13:54 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 |
|
 |
maccer •->


Anmeldedatum: 29.11.2000 Beiträge: 10
|
Verfasst am: 01.12.2000 - 14:00 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 |
|
 |
Joggo •->


Anmeldedatum: 22.11.2000 Beiträge: 7
|
Verfasst am: 01.12.2000 - 14:02 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 01.12.2000 - 14:05 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 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 |
|
 |
Kurt •-->

Anmeldedatum: 04.12.2000 Beiträge: 21 Wohnort: Röthenbach a.d.P. bei Nürnberg
|
Verfasst am: 04.12.2000 - 22:54 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 04.12.2000 - 23:01 Titel: Schleife zum Einlesen von Textfiles? |
|
|
Hallo Kurt,
deine Lösung sieht interessant aus. Das habe ich gleich mal ausprobiert.
Funktioniert!
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.
Gruß
Snow _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 01.03.2003 - 17:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 11.12.2000 - 15:42 Titel: Schleife zum Einlesen von Textfiles? |
|
|
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 |
|
 |
|
|
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
|
|
|