Avatar billede 3z Nybegynder
18. oktober 2004 - 17:08 Der er 6 kommentarer og
1 løsning

Bestemt parameter i include filen

Jeg har en include fil på min ASP side (include.inc) som består af en lang liste med ord:
1. hej
2. med
3. dig
osv

Jeg vil nu fra min ASP side kunne hente et enkelt punkt i include filen, hvordan gøres det ? Sådan at jeg f.eks. kun henter det ord der står udfor punkt 3 og ikke bare hele include filen... håber I forstår.
Avatar billede eagleeye Praktikant
18. oktober 2004 - 17:23 #1
du kommer ikke til at læse filen igennem på en eller anden måde. Det kan evt laves sådan her så den læser linje for linje om tallet er lig det man søger efter. Hvis hver linje ser ud som du har vist:  1. hej
tal(punktum) tekst

<%
set fso=server.CreateObject("scripting.filesystemobject")
Set file=fso.OpenTextFile(server.MapPath("include.inc"))

find=2

do while not file.atEndOfStream
  arr = Split(file.ReadLine,".")
  if cstr(arr(0))=cstr(find) then
    str = arr(1)
    exit do
  end if
loop
file.Close
Set file=nothing
set fso=nothing

Response.Write str
%>
Avatar billede 3z Nybegynder
18. oktober 2004 - 17:26 #2
hmm det bliver vist lidt for omstændigt hvis jeg skal have f.eks. 30 ord fra 30 forskellige linier forskellige steder på min asp side...
Avatar billede eagleeye Praktikant
18. oktober 2004 - 17:28 #3
Ja men man kan jo dette det ind i en funktion sådan du kun har koden en gang og så kalde funktionen med det linje nummer man ønsker.

Hvor mange linjer er det?
Man kunne man evt. lave et array hvor alle linjerne er i.
Avatar billede 3z Nybegynder
18. oktober 2004 - 17:33 #4
ok, kan du lave et eksempel hvis der f.eks. er 117 linier ?
Avatar billede eagleeye Praktikant
18. oktober 2004 - 17:43 #5
Så kan man lave et array sådan her, den henter teksten fra hver linje ind. Så med denne må der ikke være "huller" i tal reækkefølgen kan der være det?

Koden som laver arrayett:

set fso=server.CreateObject("scripting.filesystemobject")
Set file=fso.OpenTextFile(server.MapPath("include.inc"))
do while not file.atEndOfStream
  arr = Split(file.ReadLine,".")
  if ubound(arr)>0 then tempstr = tempstr & ":::" & arr(1)
loop
file.Close
Set file=nothing
set fso=nothing
StrengTekstArr=Split(tempstr,":::")


Når du vil udskrive en linje skriver man:

Response.Write StrengTekstArr(2)


Tilsidst kan man slette arrayet med:

erase StrengTekstArr
Avatar billede 3z Nybegynder
18. oktober 2004 - 18:44 #6
Takker, smid et svar
Avatar billede eagleeye Praktikant
18. oktober 2004 - 18:44 #7
Ok :)
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
Kurser inden for grundlæggende programmering

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