Hulp nodig met een script

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
Karell
Member
Member
Posts: 143
Joined: Sun Aug 30, 2015 5:11 pm

Hulp nodig met een script

Post by Karell »

Beste mensen , ik had een script dat eerst werkte met hs3 .
dit script las mijn geexporteerde csv en kon hem openen via een asp pagina , hij werkt nu wel maar leest maar de laatste entry van mijn csv file...
wat heb ik fout gedaan ?

Bedankt alvast voor de hulp.

De csv ziet er zo uit :

value1,value2,value3,value3,value4,value5,value6
value1,value2,value3,value3,value4,value5,value6

het hoort er zo uit te zien (ps dit is een screenshot van een oud voorbeeld)
Image

hier is de script :

Code: Select all

<%Option Explicit%>
<html>
<head>
<title>Car tracker</title>
</head>
<body>
<%
Dim objFSO,oInStream,sRows,arrRows,sLine
Dim sFileName
Const ForReading = 1

sFileName = "C:\Program Files (x86)\HomeSeer HS3\html\myasp\customer.csv"  

'*** Create Object ***'
Set objFSO = CreateObject("Scripting.FileSystemObject") 

'*** Check Exist Files ***'
If Not objFSO.FileExists(Server.MapPath(sFileName)) Then
	Response.write("File not found.")
Else

'*** Open Files ***'
Set oInStream = objFSO.OpenTextFile(Server.MapPath(sFileName),1,False)
END IF
%>
<table width="1200" border="1">
  <tr>
    <th width="91"> <div align="center">Device ID </div></th>
    <th width="98"> <div align="center">Location </div></th>
    <th width="198"> <div align="center">DIstance in KM </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="99"> <div align="center">Time </div></th>
    <th width="99"> <div align="center">Extra </div></th>
  </tr>
<%

Do Until oInStream.AtEndOfStream 
sRows = oInStream.readLine
arrRows = Split(sRows,",")
Loop
%>
  <tr>
    <td><div align="center"><%=arrRows(0)%><br></div></td>
    <td><div align="center"><%=arrRows(1)%></td>
    <td><div align="center"><%=arrRows(2)%></td>
    <td><div align="center"><%=arrRows(3)%></div></td>
    <td><div align="center"><%=arrRows(4)%></div></td>
    <td><div align="center"><%=arrRows(5)%></div></td>
  </tr>
<%

oInStream.Close()
Set oInStream = Nothing 
set objFSO=Nothing
%>
</table>
</body>
</html>

Donaties altijd welkom https://goo.gl/Fii2mo
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Hulp nodig met een script

Post by AshaiRey »

Aangepaste versie met commentaar (geen kritiek dus) :D
Je mag het zelf opschonen

Code: Select all

<%Option Explicit%>
<html>
<head>
<title>Car tracker</title>
</head>
<body>
<%
Dim objFSO,oInStream,sRows,arrRows,sLine
Dim sFileName
Const ForReading = 1

sFileName = "C:\Program Files (x86)\HomeSeer HS3\html\myasp\customer.csv"  

'*** Create Object ***'
Set objFSO = CreateObject("Scripting.FileSystemObject") 

'*** Check Exist Files ***'
'Probeer lastig te lezen constructies te vermijden
'Ik heb NOT verwijderd en de 2 condities omgedraaid
If objFSO.FileExists(Server.MapPath(sFileName)) Then
   '*** Open Files ***'
'Voorkom het gebruik van Magic nummers! Wat is die 1??
'Je heb niet voor niets een constante gemaakt aan het begin -> ForReading 
   'Set oInStream = objFSO.OpenTextFile(Server.MapPath(sFileName),1,False)
   Set oInStream = objFSO.OpenTextFile(Server.MapPath(sFileName),ForReading,False)
Else
   Response.write("File not found.")
'Wat moet er gebeuren als er geen bestand wordt gevonden?
END IF
%>
<table width="1200" border="1">
  <tr>
    <th width="91"> <div align="center">Device ID </div></th>
    <th width="98"> <div align="center">Location </div></th>
    <th width="198"> <div align="center">DIstance in KM </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="99"> <div align="center">Time </div></th>
    <th width="99"> <div align="center">Extra </div></th>
  </tr>
<%

'Dit leest alles in een array
'3 regels inlezen zijn dus 18 elementen in de array
'Verderop toon je alleen de eerste 6 elementen

'Do Until oInStream.AtEndOfStream 
'sRows = oInStream.readLine
'arrRows = Split(sRows,",")
'Loop
'%>
'  <tr>
'    <td><div align="center"><%=arrRows(0)%><br></div></td>
'    <td><div align="center"><%=arrRows(1)%></td>
'    <td><div align="center"><%=arrRows(2)%></td>
'    <td><div align="center"><%=arrRows(3)%></div></td>
'    <td><div align="center"><%=arrRows(4)%></div></td>
'    <td><div align="center"><%=arrRows(5)%></div></td>
'  </tr>
'<%

'Verander de volgorde naar onderstaand


<tr>
<%
Do Until oInStream.AtEndOfStream 
sRows = oInStream.readLine
arrRows = Split(sRows,",")
%>
    <td><div align="center"><%=arrRows(0)%><br></div></td>
    <td><div align="center"><%=arrRows(1)%></td>
    <td><div align="center"><%=arrRows(2)%></td>
    <td><div align="center"><%=arrRows(3)%></div></td>
    <td><div align="center"><%=arrRows(4)%></div></td>
    <td><div align="center"><%=arrRows(5)%></div></td>
<%
Loop
%>

</tr>

'Vanaf hier is het ongewijzigd
<%
oInStream.Close()
Set oInStream = Nothing 
set objFSO=Nothing
%>
</table>
</body>
</html>

Bram
Karell
Member
Member
Posts: 143
Joined: Sun Aug 30, 2015 5:11 pm

Re: Hulp nodig met een script

Post by Karell »

Hallo bram , dankjewel voor je tijd !!!

ik heb de code nagekeken nu , en veranderd wat je zei maar hij laat nu 1 fout achter na het wijzigen , als ik die loop terug zet waar die stond laat hij maar 1 van de 4 rijen zien
als ik hem zet zoals je beschreven hebt krijg ik deze melding .


Script error: Expected 'Loop'


Do Until oInStream.AtEndOfStream
sRows = oInStream.readLine
arrRows = Split(sRows,",")
Donaties altijd welkom https://goo.gl/Fii2mo
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Hulp nodig met een script

Post by AshaiRey »

Ik heb hem aangepast maar kan hem hier niet testen.
Ps, volgens mij was je ook nog 2x een </div> vergeten en die heb ik erbij gezet.
Probeer dit maar

Code: Select all

<head>
<title>Car tracker</title>
</head>
<body>
<%
Dim objFSO,oInStream,sRows,arrRows,sLine
Dim sFileName
Const ForReading = 1

sFileName = "C:\Program Files (x86)\HomeSeer HS3\html\myasp\customer.csv"  

'*** Create Object ***'
Set objFSO = CreateObject("Scripting.FileSystemObject") 

'*** Check Exist Files ***'
If objFSO.FileExists(Server.MapPath(sFileName)) Then
   '*** Open Files ***'
   Set oInStream = objFSO.OpenTextFile(Server.MapPath(sFileName),ForReading,False)
Else
   Response.write("File not found.")
END IF
%>

<table width="1200" border="1">
  <tr>
    <th width="91"> <div align="center">Device ID </div></th>
    <th width="98"> <div align="center">Location </div></th>
    <th width="198"> <div align="center">DIstance in KM </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="99"> <div align="center">Time </div></th>
    <th width="99"> <div align="center">Extra </div></th>
  </tr>
<%

<tr>

<%
Do Until oInStream.AtEndOfStream 
sRows = oInStream.readLine
arrRows = Split(sRows,",")
  'Ik heb het uitgeschreven om het leesbaarder te houden voor je
  strText = "<td><div align='center'>" + arrRows(0) + "<br></div></td>")
  Response.write(strText)
  strText = "<td><div align='center'>" + arrRows(1) + "</div></td>")
  Response.write(strText)
  strText = "<td><div align='center'>" + arrRows(2) + "</div></td>")
  Response.write(strText)
  strText = "<td><div align='center'>" + arrRows(3) + "</div></td>")
  Response.write(strText)
  strText = "<td><div align='center'>" + arrRows(4) + "</div></td>")
  Response.write(strText)
  strText = "<td><div align='center'>" + arrRows(5) + "</div></td>")
  Response.write(strText)
Loop

Response.write("</tr>")

oInStream.Close()
Set oInStream = Nothing 
set objFSO=Nothing
%>
</table>
</body>
</html>

Bram
Karell
Member
Member
Posts: 143
Joined: Sun Aug 30, 2015 5:11 pm

Re: Hulp nodig met een script

Post by Karell »

hoi bram dankjewel alweer voor je tijd :D

ik heb hem geprobeerd maar krijg deze melding zie screenshot


bedankt alvast ,
Attachments
Melding expected
Melding expected
cartrack.png (20.46 KiB) Viewed 8977 times
Donaties altijd welkom https://goo.gl/Fii2mo
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Hulp nodig met een script

Post by AshaiRey »

Probeer je zelf ook gelijk wat te leren door te proberen?
Ik moet het uit mijn hoofd doen want geen HS3 hier.

Haal bij alle regels die beginnen met strText= de ) aan het einde weg. Die is teveel en achtergebleven bij het kopieren. :x
Bram
Karell
Member
Member
Posts: 143
Joined: Sun Aug 30, 2015 5:11 pm

Re: Hulp nodig met een script

Post by Karell »

Hallo bram ,
het is me al gelukt , en jou beschrijving heeft gehoplen .
dankjewel voor de spoedcursus :D

ik ben alles vanmorgen nog een keer nagelopen en ik had wat veranderd.

de Response.write("</tr>") stond onder loop , ik heb hem erboven gezet en werkt :D

voor dit script heb je geen hs3 nodig , alleen een script wat uitschrijft naar csv via hs2 of hs3.

je kunt er best veel mee , ik gebruik deze voor de km bij te houden


groetjes en bedankt!
Donaties altijd welkom https://goo.gl/Fii2mo
Post Reply

Return to “Homeseer Scripts Forum”