Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    252

    vb 2010 percorso immagini

    ho inserito un immagine e ovviamente vb mi mette tutto il percorso però poi quando lo porto in un altro computer non trova la foto.

    come si abbrevia il percorso per dirgli che sta sotto una cartella dell'installazione?

    nel vb6 era tipo "app.path & "\cartella\\file.jpg"

    qui invece?

  2. #2
    Prova con Application.StartupPath
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    252
    ho provato ma mi da un percorso impossibile
    in fase di debug:
    Application.StartupPath & ""..\..\foto\foto1.jpg"
    restituisce la foto
    c:\users\luca\document\visual studio 2010\project\slot\bin\debug & "..\..\foto\foto1.jpg"

    e funzionerebe pure

    se lo installo
    mi restituisce c:\users\luca\appdata\gf456sgf45s4gf56g4f8g46g\ect ....
    possibile?

    io ho caricato la foto così

    codice:
    PictureBox4.Image = System.Drawing.Image.FromFile(Application.StartupPath & "\Resources\icone\1.jpg")

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    252
    help me

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    1)
    Originariamente inviato da garzone
    ho inserito un immagine e ovviamente vb mi mette tutto il percorso però poi quando lo porto in un altro computer non trova la foto.
    Cosa porti? Come lo porti? Lo copy? Lo installi? In quale percorso installi i file (foto) da caricare?

    2)
    Originariamente inviato da garzone
    come si abbrevia il percorso per dirgli che sta sotto una cartella dell'installazione?
    Non si abbrevia! Perchè mai si dovrebbe abbreviare?


    3)
    Originariamente inviato da garzone
    nel vb6 era tipo "app.path & "\cartella\\file.jpg"
    qui invece?
    Qui, invece, è uguale solo che non esiste App.Path ma si usa Application.StartupPath (come ti ha già indicate [U]correttamente

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusa, ma il precedente post è arrivato male. Riprovo ad inviarlo.

    Originariamente inviato da garzone
    ho inserito un immagine e ovviamente vb mi mette tutto il percorso però poi quando lo porto in un altro computer non trova la foto.
    Cosa porti? Come lo porti? Lo copy? Lo installi? In quale percorso installi le immagini da caricare?
    Ovviamente sei tu che devi gestire i percorsi 'relativi', perchè un percorso 'assoluto' non potrà mai essere replicato in un altro computer

    (meno che lo sia in 'assoluto').


    Originariamente inviato da garzone
    come si abbrevia il percorso per dirgli che sta sotto una cartella dell'installazione?
    Non si abbrevia! Perchè mai si dovrebbe abbreviare?


    [QUOTE][b]O

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    252
    si lo fatto gibra, però

    con startup mi va , in fase di debug, sotto bin/debug
    quindi se la mia cartella sta sotto il progetto per vedere le foto devo terminare la riga di comando con "..\..\foto\filename.jpg"

    ho installato il programma nel pc di mio fratello e non trova le foto perchè lo startup mi va sotto il suo user\appdata\una serie di codici\ect

    e non la trova



    ps. mi scuso ancora se ho replicato il msg su un altro post

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Sbagliato, ed è per quello che hai problemi.
    Se vuoi lavorare come facevi in VB6 allora devi fare TUTTO come facevi in VB6, solo che adesso la cartella dell'applicazione NON E' PIU' quella del progetto ma: \bin\debug.
    Ovvero, devi copiare i tuoi file nella cartella \bin\debug


  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    252
    grazie gibra. Infatti ora funziona
    cmq io voglio dimenticare il 6
    quindi dimmi per favore se questo metodo è cmq sbagliato

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da garzone
    grazie gibra. Infatti ora funziona
    cmq io voglio dimenticare il 6
    quindi dimmi per favore se questo metodo è cmq sbagliato
    Il linea di massima, il metodo corretto (che funzionava anche in VB6, e che io ho sempre usato) è quello di utilizzare le cartelle definite 'speciali' ovvero le cartelle preposte da Microsoft e tra queste usare la cartella 'adatta', ma ho detto in linea di massima perchè NON sempre è così.

    Le trovi nella classe Environment
    ovvero Environment.SpecialFolder.xxxxxxxxxx
    dove xxxxxxxxxx è l'enumerazione che elenca tutte le cartelle speciali.
    Ad esempio la cartella Documenti dell'utente corrente, in tutti i computer, non importa quale sia il nome dell'utente è:

    Environment.SpecialFolder.MyDocuments

    esempio:

    codice:
    Dim UserDocPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
    Ovviamente, qualsiasi installer serio ti consentirà di fare la stessa cosa, ovvero determinare in quale cartella speciale deve essere installato un file, quindi è determinante dare l'indicazione corretta all'installer affinchè durante il setup copi i file nella stessa cartella in cui il programma si aspetta di trovarli.

    Quale sia la cartella 'adatta' dipende da molti fattori determinanti, tra cui bisogna tenere conto delle nuove policy sulla sicurezza implementate in Vista e Seven (croce e delizia dei programmatori che riempono i forum con i relativi problemi della serie: "Aiuto! In WindowsXP funzionava, in Seven non funziona più...").

    Oltre a questi, vi sono altri fattori come:
    1) dal come e dal chi deve essere utilizzato il programma.
    Se è un programma di tipo Desktop (mono-utente), oppure un programma da condividere in una rete LAN (multi-utente).
    2) cosa devi farne di un file.
    Deve essere letto? Deve essere anche scritto?

    Come vedi non esiste un metodo universale ma dipende da diversi fattori, quindi non esiste una risposta univoca, ma la sola risposta valida è: dipende.

    Una cosa è certa: se si prevede che un file debba essere modificato non dovrà mai essere installato nella cartella <ProgramFiles>\TuaApplicazione perchè da Vista in avanti questa cartella (ed altre di sistema) non lo permettono più (come invece avveniva fino a WindowsXP) in quanto su tali cartelle si hanno solo permessi di lettura, ma non di scrittura.

    Ehhhh..... Sembra facile.



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.