Avatar billede playbywire Nybegynder
29. april 2002 - 02:17 Der er 3 kommentarer og
1 løsning

Et nemt spørgsmål...

Jeg er en newbie hvad Lingo angår, så det er formentlig fuldstændig banale ting jeg spørger om, men here goes...

Nedenstående script skulle gerne tage input fra to fields, gange dem med hinanden, og undersøge om resultatet er 120...eneste problem er det ikke virker :)

//
global firstNumber
global secondNumber

on mouseUp me
  set firstNumber=0
  set secondNumber=0
 
 
  set result=field "field01"
  getnettext result
  put nettextresult(result) into firstNumber
 
 
  set result=field "field02"
  getnettext result
  put nettextresult(result) into secondNumber
 
 
  if firstNumber*secondNumber=120 then
    go to frame 16
  else go to frame 10

end if

end

//

Avatar billede ask-m Nybegynder
29. april 2002 - 10:40 #1
prøv:

on mouseUp me
  firstNumber = member("field01").text -- henter texten ud af field01
  secondNumber = member("field02").text

  firstNumber = value(firstNumber) -- laver texten om til et tal
  secondNumber = value(secondNumber)

  if firstNumber * secondNumber = 120 then
      go to frame 16
  else
      go to frame 10
  end if
end

Der er ingen grund til at lave firstNumber og secondNumber til globale variabler med mindre du skal bruge værdierne et andet sted.
getNetText og netTextResult er til at hente data fra en internet server, og ikke til at hente text ud af fields.

Ask-M

ps. Koden er ikke testet, så det kan være at der er slå fejl...
Avatar billede playbywire Nybegynder
29. april 2002 - 10:57 #2
Jeg er ikke hjemme lige nu, så det varer lidt inden jeg kan afprøve det...
Men hvorfor kan man ikke bruge getNetText lokalt? Det virker fint med eks.

//
set result=field "field02"
  getnettext result
 
if result = 120 then
      go to frame 16
  else
      go to frame 10
  end if
end
//
 
...det kunne også bare være jeg skulle få læst en bog eller gennemført en tutorial (har links :)
Avatar billede ask-m Nybegynder
29. april 2002 - 11:17 #3
jeg tror mest at det er en "feature" at det virker lokalt, for i princippet skal du sende en url med når du bruger getnettext, og den returnere så et id-nr som du bruger til at checke om handlingen er færdig (netDone(theId)) og når den er færdig checker man om der var fejl (netError(theId)) og hvis alt er gået vel, så bruger man netTextResult(theId)..

og så synes jeg egentlig det er lettere at bruge
firstNumber = member("field01").text
firstNumber = value(firstNumber)

og hvis man ikke gider skrive to linier (og sagtens kan følge med alligevel):
firstNumber = value( member("field01").text )

eller hvis man vil lave hele dit script på få linier (der er nogen der synes det er sejt).

on mouseUp me
  if value( member("field01").text ) * value( member("field02").text ) = 120 then
      go to frame 16
  else
      go to frame 10
  end if
end

ask-m
Avatar billede playbywire Nybegynder
29. april 2002 - 16:56 #4
Jo, men det virkede jo smukt! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester