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

vorher definierte Variable in String einfügen?

 
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
Bink
•->
•->


Anmeldedatum: 18.03.2005
Beiträge: 1
Wohnort: Lüneburg

BeitragVerfasst am: 18.03.2005 - 14:49    Titel: vorher definierte Variable in String einfügen? Antworten mit Zitat

Ich möchte eine mit "set abc to 3" definierte variable in einen Dialog einfügen, weiss jedoch nicht wie! Der dialog sieht dann wie folgt aus: "def entspricht abc" (nur als beispiel) wie kann ich abc und def nicht als text, sondern als die vorher festgelegte zahl (die sich im laufe des scripts verändert) definieren?

Danke im vorraus!

Bink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden MSN Messenger
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 18.03.2005 - 15:23    Titel: Antworten mit Zitat

Etwa so?

property abcNumber : 1
property abcText : ""
----------------
set abcNumber to 3 as number
set abcText to 3 as text

display dialog "Number ist " & abcNumber & "

Text ist
" & abcText


Und was meinen die Experten?
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 18.03.2005 - 16:02    Titel: Antworten mit Zitat

'display dialog' stellt nur Text dar.
Willy's Beispiel funktioniert zwar, aber die Zahl wird dabei von AppleScript automatisch in einen Textwert umgewandelt.

Beginnt man den Dialog mit der Zahl, kommt es zu einem Fehler.

Beispiel:

property abcNumber : 1
property abcText : ""
--
--------------
set abcNumber to 3 as number
set abcText to 3 as text

display dialog abcNumber & " lautet die Zahl" & return & return & "Text ist " & abcText


Es kommt zu folgendem Fehler:
3, " lautet die Zahl", "
", "
", "Text ist ", "3"}“ kann nicht in string umgewandelt werden."

Prinzipiell ist es nicht schlecht, eine Zahlenvariable in eine andere Variable zu kopieren, und diese dann per 'display dialog' anzeigen zu lassen.

set abc to 3 -- Zahl
copy abc as text to def

display dialog def & " lautet die Zahl."


Ich verwende in solchen Fällen meist 'copy' - es würde natürlich auch so gehen:

set def to abc as text

Meine Variablen definiere ich fast ausschließlich mit 'set' - so fällt es mir dann gleich auf, wenn ich 'copy' benutze - und weiß, hier wird lediglich eine Variable für die Textanzeige gedoppelt.

Warum eine extra Variable? Damit man den Überblick nicht verliert. Bei so einfachen Beispielen klappt die automatische Datentyp-Umwandlung. Das muss aber nicht immer so sein. Und dann sucht man erst mal lange nach dem Fehler. Man muss das gesamte Skript prüfen und die Variable an jeder Stelle des Skripts kontrollieren, ob sie auch den richtigen Datentyp enthält. Harmloses Beispiel:

set abc to 3 -- Zahl
repeat 3 times
    set abc to abc as text
    
log class of abc
    --
string
    
display dialog abc & " lautet die Zahl."
    
    
set abc to abc + 1
    
log class of abc
    --
integer
end repeat


Nun machen wir die Gegenprobe:

set abc to 3 -- Zahl
repeat 3 times
    copy abc as text to def
    
log class of abc
    --
integer
    
display dialog def & " lautet die Zahl."
    
    
set abc to abc + 1
    
log class of abc
    --
integer
end repeat


Bei dieser Vorgehensweise, weiß ich, dass die Variable "abc" stets einen Zahlenwert enthält.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
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