Avatar billede tolveren Nybegynder
05. september 2006 - 18:04 Der er 1 kommentar

Loop i en fil

Jeg har fået sat nogle rigtig gode scripts sammen. Jeg mangler bare lige det sidste. Jeg har en fil med flere linjer:
f eks:
eksperten.dk
test.dk
linje 3.dk
--------------
som skal læses linje for linje og hvert opslag på dk-hostmaster gemmes i en anden fil.
--------------
Hvordan får jeg loopet til at virke og hvordan indsætter jeg f eks 2 sekunder mellem hvert opslag.
--------------
Min kode:
<html>
<head>
  <title>Script</title>
<head>
<body bgcolor="white">
<blockquote>
<h2>Script</h2>

<%
'Option Explicit
Dim fso, tekstfil, tekst

Set fso = CreateObject("Scripting.FileSystemObject")

'klargør fil til læsning

if NOT fso.FileExists(Server.Mappath("minfil2.txt")) then
  fso.CreateTextFile(Server.Mappath("minfil2.txt"))
end if

Set tekstfil = fso.OpenTextFile(Server.Mappath("minfil2.txt"),1)

' Læs hver linje og læg i variable

        Do While not tekstfil.AtEndOfStream
        tekst = (tekstfil.ReadLine)
        Response.write(tekst)
       
        'Loop

tekstfil.Close
set tekstfil = nothing

'%>

'<%
strServer = "whois.dk-hostmaster.dk"
strDomain = tekst

Set socket = Server.CreateObject("Socket.TCP")
Socket.Host = strServer + ":43"
Socket.Open
Socket.timeout = 20000
Socket.SendLine(& strDomain)

Socket.WaitForDisconnect
strResult = Socket.Buffer
Socket.Close
Set Socket = nothing

'%>
Resultat for whois: <b><%=strDomain%></b><br>

<pre><%=strResult%>
</pre>

</blockquote>
</body>
</html>

'<%
   
    'fanger oplysninger og gemmer dem i filen minfil.txt
    If Tekst <> "" Then   
    dim filesys, filetxt
    Const ForWriting = 2, ForAppending = 8
    Set filesys = CreateObject("Scripting.FileSystemObject")
    Set filetxt = filesys.OpenTextFile(Server.MapPath("/minfil.txt"), ForAppending, True)
    filetxt.WriteLine("<p>")
    filetxt.WriteLine("## Status for søgning: " & Date() & " kl " & Time() &".")
    filetxt.WriteLine("## Domain: " & DomainToTest)
    filetxt.WriteLine(strResult)
    filetxt.WriteLine("</p>")
    filetxt.Close
    Set filetxt = Nothing
    Set filesys = Nothing
   
    End If
Loop
%>
Avatar billede joern Nybegynder
05. september 2006 - 19:57 #1
Hej.

Du kan bruge en timer til at styre udførelsen.  Jeg bruger i et projekt ikke socket men inet til at sende til en server.  Dér har jeg indsat et par linier ,der sikrer at kommandoen er afsluttet inden den næste påbegyndes:

  Do While Inet.StillExecuting
    DoEvents
  Loop
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