Avatar billede bartelsen Nybegynder
05. januar 2002 - 14:53 Der er 8 kommentarer og
1 løsning

søgemaskine

Hej
Jeg vil gerne kunne lave en søgemaskine på min Cd-rom præsentation, kan det lade sig gøre ??

Jeg har et super script som jeg plejer at bruge på min hjemmeside, men den kan vel ikke flyttes over på cd-rommen...

Er der nogen der har en nem \"opskrift\" på dette??

mvh

Morten
Avatar billede kanding Nybegynder
05. januar 2002 - 20:11 #1
Du må specficere det noget mere. Hvad skal du søge efter? Tekst, ting på cd\'en osv.
Det superscript du bruger på din hjemmeside, er det lavet i lingo eller ...?

mvh

kanding
Avatar billede bartelsen Nybegynder
06. januar 2002 - 12:06 #2
Tja... Det jeg ville søge efter er forskellige sider på min cd-rom. Dvs. Cd-rommen er opbygget som en hjemmeside og hvis nogen så ønsker at gå lige til en side via søgemaskinen, så ville jeg gerne kunne opfylde deres ønske.

Det script som jeg referere til er et htlm script og derfor tror jeg ikke det kan lade sig gøre, men hvordan så ???

Mvh

Morten
Avatar billede kanding Nybegynder
06. januar 2002 - 17:33 #3
Vi snakker Director her ikke?

Hvis dine sider er opbyggte via frames, så kunne du jo lave en keywordliste til hver frame som der kunne søges i:

keyWordList = [\"frame1\" : [\"Hund\", \"kat\"], \"frame2\" : [\"ske\", \"kniv\"]]

Bemærk at vi skriver hund og ikke hunde. Du kan så repeat\'e dig igennem listen og bruge enten CONTAINS, STARTS eller funktionen offSet()

Det er en hurtig og enkel måde, men ikke særlig fleksibel.

Hvis du er ude i fritekst søgning, så skal du ud i at søge hele dit castLib igennem.
Først finde members af typen text/field
derefter skal du hente teksten ind i en variabel for hurtigere at søge
til sidst skal du evaluere resultatet og vise bruger hvor ordet/sætningen er fundet. Det er højst sandsynligt flere steder.

Slet ikke svært, men lidt omfattende.

Du kan ikke spørge på hvilke sprites et member er knyttet, så det bedste ville være at tage en tur igennem alle frames når cd\'en starter og så notere sig hvilke members er på hvilke sprites i hvilke frames og gemme det i en spriteMemberRefList eller hva\' du nu vil kalde den.

Det her er jo kun ide\' skitsering, da jeg ikke ved hvor meget lingo du kan, så skriv igen hvis det skal uddybes nærmere
Avatar billede bartelsen Nybegynder
06. januar 2002 - 19:56 #4
Hej igen..

Jo det er Director jeg bruger..

Nu er det kun nogle få ting de skal kunne søge på, så det eksempel du gav tror jeg sagtens jeg kan bruge... Men du har ret, jeg kan ikke specielt meget lingo, så jeg ved ligesom ikke hvor jeg skal starte eller slutte.. Så hvis du har mod på lidt undervisning er det super, ellers er det også i orden..

Mvh.

Morten
Avatar billede kanding Nybegynder
06. januar 2002 - 20:24 #5
OK, givet at du har 4 frames i dit projekt som hedder \"start\", \"om os\", \"historie\", \"kendte øl drikkere\"

Lav en liste med dine frame navne som properties og de ord der skal søges på som value:

keyWordList = [\"start\" : \"Hund, kat\", \"om os\" : \"Mort, Chef\", \"historie\" : \"år, bil\", \"kendte øl drikkere\" : \"fuld, tuborg\"]

Indsæt lige så mange ord du vil. Jeg har indsat 2 ord for hver, men sæt hvad du vil. Du behøver ikke at komma seperere dem da det hele bare er en string, men det hjælper dig selv til at læse det.

Her er en rutine som vil give dig hvilken frame ordet findes i og returnerer det til dig.
Jeg kalder den \"no match found\" fra starten fordi den bliver overskrevet hvis jeg finder et match

du kalder den sådan her

theFrame = search(\"kurt\")
if theFrame <> \"no match found\" then
go theFrame
else
alert \"Ordet findes ikke...!
end if

on search wordToSearch
   
  ant = keyWordList.count
  frameToGo = \"no match found\"
  repeat with n = 1 to ant
    stringToSearch = keyWordList[n]
   
    if stringToSearch contains wordToSearch then
      frameToGo = keyWordList.getPropAt(n)
      return frameToGo
    end if
  end repeat
  return frameToGo
end

Det kunne være en god ide\' at have søgekriterierne i et tekst member og lave en rutine der parsede dem ind i listen, så det var lidt letter at tilføje og vedligeholde det efterhånden som du fandt på nye ord, men hvis du er usikker på det, så hold dig til det her. Jeg har ikke testet det, men det burde virke som jeg ser det.

kanding
Avatar billede bartelsen Nybegynder
06. januar 2002 - 20:29 #6
Jamen jamen... Sikke et flot stykke arbejde... Jeg skal nok give respons når jeg har prøvet det af, men her får du ihvertifald dine velfortjente point..

Tak for hjælpen

Mvh

Morten
Avatar billede bartelsen Nybegynder
06. januar 2002 - 20:33 #7
Hov..
Hvor sætter jeg keyWordList og scriptet ind henne ?? Er det i et behavior eller hvor ??
Avatar billede kanding Nybegynder
06. januar 2002 - 20:39 #8
Bruger har et field hvor han skriver i. Når han trykker search, så kaldr du sådan her:

searchWord = member(\"navnPaaMemberSomBrugerSkrevI\").text

theFrame = search(searchWord )
if theFrame <> \"no match found\" then
go theFrame
else
alert \"Ordet findes ikke...!
end if

Selve search ligger i et movie script
keyWordList kan være en global variabel som oprettes i startMovie

on startMovie
keyWordList = [\"start\" : \"Hund, kat\", \"om os\" : \"Mort, Chef\", \"historie\" : \"år, bil\", \"kendte øl drikkere\" : \"fuld, tuborg\"]
end
Avatar billede bartelsen Nybegynder
06. januar 2002 - 20:40 #9
Tak tak...
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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