Selecteer bestand dat begint met "000008*.jpg"

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
Herbus
Member
Member
Posts: 363
Joined: Mon Mar 27, 2006 12:28 pm
Location: Netherlands

Selecteer bestand dat begint met "000008*.jpg"

Post by Herbus »

Na drie avonden proberen, lezen, googlen ga ik echt jullie hulp vragen :x

Ik wil vanuit een vb script een file selecteren die begint met bijvoorbeeld "000008*.jpg". de hele file selecteren lukt wel (zie hieronder, maar selecteren op basis van een deel van het bestand krijg ik niet voor elkaar. Het zal wel iets heel simpels zijn, maar ik zit vast...

Module Module1
Sub Main()
Dim fso, MyFile
Dim Snapshot As String = "c:\test\00008 Voordeur11-05-16_17-04-15-85.jpg"

fso = CreateObject("Scripting.FileSystemObject")
MyFile = fso.GetFile(Snapshot)
MyFile.Copy("c:\test\test2.jpg")
End Sub
End Module

Ik heb altijd het bestand nodig (om te kunnen copieeren en e-mailen) dat begint met 000008. De rest van het bestand bevat de datum/tijd en is dus variabel.

Vast bedankt!
Herbus (Jos)
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Selecteer bestand dat begint met "000008*.jpg"

Post by Digit »

Je mag in homeseer scripts ook VB.NET "doen" toch?
Misschien heb je hier dan wat aan, is een stukje code uit een webpagina die allemaal images toont die in een directory staan:

Code: Select all

Imports System.IO

Partial Class VerySecretPageName
    Inherits MyBasePage

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        <knip>

        Const IMAGE_DIRECTORY As String = "FrontDoorImages/"
        Const maxWidth As Integer = 200
        Const maxHeight As Integer = 200
        Const MaxDisplay As Integer = 100

        Dim pics As ArrayList = New ArrayList()
        Dim s As String, html As String
        Dim files() As String
        Dim cntDisplay, imgHeight, imgWidth As Integer

        cntDisplay = 0
        files = System.IO.Directory.GetFiles(Server.MapPath(IMAGE_DIRECTORY), "*.jpg")
        Array.Sort(files)
        Array.Reverse(files)  ''newest first

        For Each s In files

            'Get information about the image
            Dim currentImage As System.Drawing.Image = System.Drawing.Image.FromFile(s)

            .....

s bevat dan dus de filename.
Dat zou je moeten kunnen ombouwen naar een HS script, met sub main(...) erbij en zo.
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Selecteer bestand dat begint met "000008*.jpg"

Post by AshaiRey »

Even een snelle gedachte hier zegt me dat wat je doet wel goed is maar dat je als resultaat meerdere bestanden terug zal krijgen.
Hoe weet je dan welke bestand van de meerdere 000008 je moet hebben. Je zal dus volgens mij de meest rescentste moeten hebben, toch?
Bram
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Selecteer bestand dat begint met "000008*.jpg"

Post by Digit »

De code die ik gaf geeft inderdaad meerdere bestanden terug, maar dat is eenvoudig om te bouwen naar bv. "pak de meest recente" door in de loop je eigen criteria (timestamp) in te bouwen. Het was ook niet de bedoeling een panklare oplossing voor te schotelen - zelf afmaken geeft weer een paar leuke hobby-uurtjes toch :)
AshaiRey
Senior Member
Senior Member
Posts: 1310
Joined: Mon Feb 02, 2009 5:27 pm
Location: Netherlands
Contact:

Re: Selecteer bestand dat begint met "000008*.jpg"

Post by AshaiRey »

:-) Hoi Robert
Ik vroeg niet naar een oplossing hoor, dat was Herbus...

Trouwens een timestamp in bouwen hoeft niet.
Hou gewoon de sortering zoals je hem nu hebt (newest first) en pak dan het eerste element uit de array. Klaar!
Bram
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Selecteer bestand dat begint met "000008*.jpg"

Post by Digit »

Weet ik, maar ik zag een vraagteken, geen quote naar een eerdere post, dus voelde ik me aangesproken :wink: .

En misschien werkt die sortering voor Herbus al wel, maar wie weet komt er ooit nog een "000008 Achterdeur*" bij en dan pakt de huidige sortering op bestandsnaam wellicht wat minder goed uit :lol:
Post Reply

Return to “Homeseer Scripts Forum”