TestMax.dk Paster
  • Forside
  • Print
  • Bookmark
  • Kontakt
  • SiteMap


infobox infobox
 

søgning i text filer

17-11-2008 07:09:02
 
 
Muligheder (Anmeld)
Skrevet af beni
Kliks 455
Kategori mIRC scripting request
Skal have fundet ud af hvordan man kan lave et script der søger efter ting i text filer

hvis man fx har en text fil med massere af ting i, så skal man kunne bruge !search og så skal den ellers bare poste alt som har det/de ord i.

Min txt fil består af massere af ord, de står på flere linjer, så skal den kunne søge på blot mere end 1 linje.


Jeg er total n00b når det gælder at rode med txt filer med mirc scripts, og er først lige begyndt at rode lidt med det.

Så hvis nogen kan hjælpe ville et være dejligt :)
 
infobox infobox


infobox infobox
 
#1beni(Anmeld) 17-11-2008 13:04:22
 
 
Jeg fik vidst endelig fundet ud af at lave det.

Dog er der stadig 1 mindre ting jeg skal have ændres.

Når jeg fx søger efter noget giver den kun 1 ting tilbage.

Hvordan kan jeg ændre så den kan skrive ALLE tingene og ikke bare kun 1 ting? :)
 
infobox infobox

infobox infobox
 
#2Drax(Anmeld) 17-11-2008 15:44:59
 
 
#1 > Husk at vis hvad din metode så var som du fandt ud af, så en dygtig MSL scripter lige kan se hvad du kan skrive anderledes og hjælpe dig videre med scriptet.

På den måde kan du få en bedre hjælp, og du hjælper andre i samme situation som dig selv :)
Administrator - TestMax.dk Stifter/Udvikler

Drax's signatur billede
 
infobox infobox

infobox infobox
 
#3erle(Anmeld) 17-11-2008 17:03:22
 
 
Det er faktisk meget simplet... Læs Helpen i mirc..

Brug: /help $read og du får dette:

$read(filename, [ntswrp], [matchtext], [N])

Returns a single line of text from a file.

This identifier works in conjunction with the /write command.

//echo $read(funny.txt)

Reads a random line from the file funny.txt.

//echo $read(funny.txt, 24)

Reads line 24 from the file funny.txt.

//kick # $1 $read(kicks.txt)

Reads a random kick line from kicks.txt and uses it in the kick command.

//echo $read(info.txt, s, mirc)

Scans the file info.txt for a line beginning with the word mirc and returns the text following the match value.

//echo $read(help.txt, w, *help*)

Scans the file help.txt for a line matching the wildcard text *help*. The r switch implies a regex match.

If you specify the s, w, or r switches, you can also specify the N value to specify the line you wish to start searching from in the file, eg.:

//echo $read(versions.txt, w, *mirc*, 100)

If the n switch is specified then the line read in will not be evaluated and will be treated as plain text.

If the p switch is specified, command | separators are treated as such instead of as plain text.

If the first line in the file is a number, it must represent the total number of lines in the file. If you specify N = 0, mIRC returns the value of the first line if it's a number.

If the t switch is specified then mIRC will treat the first line in the file as plain text, even if it is a number.


Så med det kan du f.eks læse dig til at bruge du: $read(info.txt, s, mirc) - Så vil den retunere hele linjen.
 
infobox infobox

infobox infobox
 
#4beni(Anmeld) 17-11-2008 20:00:48
 
 
Well jeg troede det virkede men gjorde det sku ikke. Jeg har skam været inde i /help og kigge og har prøvet en masse, men den vil sku ikke virke som den burde :(

Og da jeg er ny inde for det med $read så fatter jeg sku virkelig hat af det.
 
infobox infobox

infobox infobox
 
#5GiMo(Anmeld) 17-11-2008 23:00:10
 
 
#4 Så kom med dit script - det gør det meget nemmere at hjælpe :).
www.simon.simfre.dk
 
infobox infobox

infobox infobox
 
#6beni(Anmeld) 18-11-2008 04:23:29
 
 
Jo men det jeg har virker alligevel ikke, som jeg vil have det til :(

Men her er det:

on *:text:!search *:?:{
if ($read(text.txt, w, *$2*)) && ($nick ison #channel) {
msg $nick $quesplit2
}
}
 
infobox infobox

infobox infobox
 
#7erle(Anmeld) 19-11-2008 08:54:49
 
 
Vil tro at det bla. ikke virker fordi du har sat "*" lige op af $2 - Vil mene at det gør $2 "defekt".

Bruger du $+ "samler" den teksten når botten læser det igennem og skal udføre dens commad.
og btw, hvad er "$quesplit2" for et alias?
on *:text:!search *:?:{
if ($read(text.txt, w, * $+ $2 $+ *)) && ($nick ison #channel) {
msg $nick $quesplit2
}
}
 
infobox infobox

infobox infobox
 
#8beni(Anmeld) 19-11-2008 10:06:19
 
 
min text.txt fil er delt op i 3 ting.

derfor findes $quesplit1, 2 og 3 i den. og det er så $quesplit2 den skal søge i.

Men jeg har prøvet den kode der, uden held.

Den tager åbenbart kun linje 1 og ikke hele text dokumentet.
 
infobox infobox

Påmindelse ved nyt svar

Ved at tilmelde dig automatisk påmindelse, modtager du en email så snart denne tråd bliver besvaret, dog sender vi kun en mail til dig, også selvom der er kommet flere svar, simpelthen for at spare dig for spam i din indbakke.


infobox infobox
  Svar på tråden  
   
 
 
infobox infobox

infobox infobox
  Læs dette før du sender dit indlæg!  
 
Ved tryk på send knappen accepterer du vores regelsæt som kan læses her
Praktiske informationer
Type Eksempel Resultat
Fed [b]din tekst[/b] din tekst
Kursiv [k]din tekst[/k] din tekst
Understreg [u]din tekst[/u] din tekst
Kode felt [code]din tekst[/code]
din tekst
infobox infobox