Vraag & Antwoord

Programmeren

[VB6]Bestand opslaan in de daarvoor bestemde map

Anoniem
skywalker
6 antwoorden
  • Hallo, ik heb een vraag.

    ik heb ergens een module gevonden om te kunnen scannen vanuit VB

    Ik heb er een formuliertje omheen gebouwd en wil wanneer ik op de knop scannen klik eerst kunnen ingeven in welke categorie het plaatje hoort en vervolgens dat ik een bestandsnaam kan opgeven.

    Ik wil dmv 2 inputboxes de vraag van een categorie en een bestandsnaam opvragen.

    In de eerste inputbox geef ik dus de categorie op
    In de tweede geef ik de bestandsnaam op

    ik wil dan vervolgens dat hij een map aanmaakt wat overeenkomt met de categorie en dan het bestand daarin scant met de naam wat ik heb opgegeven.

    [code:1:ba2996b191]
    Dim bestand
    Dim pad
    Dim filename As String
    Dim categorie As String


    categorie = InputBox("Welke categorie?")

    If categorie = "" Then
    MsgBox "U hebt geen categorie opgegeven"
    End If

    pad = categorie

    bestand = InputBox("Geef de naam van het bestand op")

    If bestand = "" Then
    MsgBox "U hebt geen bestandsnaam opgegeven"
    End If

    filename = Dir("C:\Mijn Documenten\Foto's\ & pad \ & bestand & ".bmp")


    mdlTwain.TransferWithUI (filename)[/code:1:ba2996b191]

    Hij moet dus in de map foto's een map aanmaken die gelijk staat aan de variable pad en in die map een bestand die gelijk staat aan de variabele bestand. Zoals die hier staat werkt hij niet. Hij scant wel maar plaatst de map niet. Denk dat er in de mapstructuur een fout zit. Weet iemand hier raad mee? Alvast bedankt
  • Bestaat het pad wel? Je zou nog een Mkdir kunnen uitvoeren.
    Verder zou er moeten staan:
    [code:1:efd1cb0d79]filename = Dir("C:\Mijn Documenten\Foto's\" & pad & "\" & bestand & ".bmp") [/code:1:efd1cb0d79]
    Volgens mij krijg je als je jouw code uitvoert een foutmelding.
    Verder voer je wel een controle uit of er iets is ingevuld, maar ga je wel door met de verwerking als er niks is ingevuld. Het lijkt mij beter als je dan de routine uitspringt met een Exit Sub / Exit Function.
    [code:1:efd1cb0d79]
    categorie = InputBox("Welke categorie?")

    If categorie = "" Then
    MsgBox "U hebt geen categorie opgegeven"
    Exit Sub/Function
    End If
    [/code:1:efd1cb0d79]
  • Bedankt voor je snelle reactie.

    Ik heb je tips gebruikt alleen wanneer zeg maar de categorie al bestaat geeft hij een foutmelding. Er moet dus een controle komen om te kijken of de map (categorie) al bestaat.

    Weet jij daar zo een oplossing voor?
  • Je kan mbv Windows API-calls paden controleren en eventueel aanmaken. Zie hiervoor http://vbnet.mvps.org/code/fileapi/index.html. Als je nog geen gebruik maakt van API-calls, raad ik je deze methode af.
    Wat ook kan is gebruik maken van het FileSystemObject wat in de Scripting Runtime zit. Meer info hierover vind je hier. Hiermee kun je vrij eenvoudig de dingen doen die je wil doen.
  • Weer bedankt voor je reactie de controle klopt nu, alleen geeft hij een foutmelding aan "Bad filename or number" en met debug geeft hij de regel

    [code:1:7ffddcd59f]filename = Dir("C:\Mijn Documenten\Foto's\" & pad & "\" & bestand & ".bmp") [/code:1:7ffddcd59f]

    aan. Wat zou het kunnen zijn?
  • [quote:3bcb452af2="skywalker"]
    [code:1:3bcb452af2]filename = Dir("C:\Mijn Documenten\Foto's\" & pad & "\" & bestand & ".bmp") [/code:1:3bcb452af2]
    [/quote:3bcb452af2]
    Waarom doe je dit eigenlijk? Wat verwacht de functie TransferWithUI voor variabele? Een string? Dan zou je kunnen volstaan met [code:1:3bcb452af2]filename = "C:\Mijn Documenten\Foto's\" & pad & "\" & bestand & ".bmp" [/code:1:3bcb452af2]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.