Supportvragen Mac > Programmeren in bijvoorbeeld C(++), Cocoa, Java, BASIC, en Swift

Wat doe ik fout in Applescript?

(1/2) > >>

MacFanGuy:
Ik heb besloten om me op Applescript te storten i.v.m. een project op mijn werk.Bert, dank voor je geweldige AS4ASb2!! Het is helemaal het einde voor een noob-programmeur als ik! Ik gebruik geloof ik de beta 1.9.1 versie van Script Editor onder 10.2.8.Bij het doorlopen van het boek kwam ik bij de vergelijkingen over leeftijd:
--- Code: ---
set ageEntered to 73
set myAge to 30
if ageEntered = myAge then
       display dialog "You are as old as I am."
else
       display dialog "You are nog as old as I am"
end if

--- Einde van code ---
Ik denk: nou, dat age entered is een beetje suf, dus ik maak gebruik van wat ik tot nu toe geleerd heb, en maak er iets met een dialoogvenster van:
--- Code: ---
set stringToBeDisplayed to "What is your age?"
set tempvar to display dialog stringToBeDisplayed default answer ""
set ageEntered to text returned of tempvar
set myAge to 25
if ageEntered = myAge then
display dialog "You are as old as I am."
else
display dialog "You are not as old as I am."
end if

--- Einde van code ---

   Werkt goed... totdat ik ook daadwerkelijk 25 invul, want dan geeft ie aan alsnog aan dat we niet even oud zijn...
Waarom?Dit script (1 op 1 uit het boek) werkt ook niet??

--- Code: ---
set stringToBeDisplayed to "Julia is a pretty actress."
set tempvar to display dialog stringToBeDisplayed buttons {"So, So", "Who?", "Yes"}
set theButtonPressed to button returned of tempvar
if theButtonPressed is "Yes" then
say " I agree entirely!"
beep
else
if theButtonPressed is "Who" then
say "Didn't you see the movie 'Pretty Woman'?"
else
say "I don't agree with you."
end if
end if
beep

--- Einde van code ---
Ligt het aan mij? Aan de Beta? ZIe ik iets over het hoofd?  :wacko:

limmelambok:
Nog nooit met applescritp gewerkt, maar toch een gokje...
Zou het kunnen dat  myAge  een getal is, en ageEntered  een tekst?
Ik zou eens proberen met
set myAge to "25".
Maar ik ken natuurlijk volstrekt niets van applescript. (Doe normaal ObjectiveC, C++ en Java).Bert

MacFanGuy:
Alhoewel ik nog nooit geprogrammeerd heb, heb ik daar ook aan gedacht.Echter volgens mij probeert Applescript in dit geval de string "25" te coercen naar een nummer...Okee, ik heb het toch even geprobeerd, en als ik toevoeg:
--- Code: ---set ageEntered to ageEntered as number
--- Einde van code ---
dan werkt het wel.Waarom werkt script 3 dan niet?

limmelambok:
Nog eens een gokje : buttonPressed bevat het volgnummer van de aangeklikte knop, niet de titel. Dus in plaats van if theButtonPressed is "Who" thenkan je eens proberen met

if theButtonPressed is 2 thenBert

Macceraar:
set stringToBeDisplayed to "Julia is a pretty actress."
set tempvar to display dialog stringToBeDisplayed buttons {"So, So", "Who?", "Yes"}
set theButtonPressed to button returned of tempvar
if theButtonPressed is "Yes" then
   say " I agree entirely!"
   beep
else
   if theButtonPressed is "Who" then
      say "Didn't you see the movie 'Pretty Woman'?"
   else
      say "I don't agree with you."
   end if
end if
beepGeen [ code ] forumcode-tags omdat ik dan geen bold/underline kan doen.

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie