Newsgroup: it.comp.lang.visual-basic
Titolo: File

salve atutti.sto realizzando un programma che mi prende dei dati da
alcuni file che ho messo in alcune cartelle.Se installo il mio
programma in un altro computer questi file non hanno più lo stesso
percorso,quindi come posso fare per eliminare questo problema.Grazie

Ciao enzo prima di aiutarti mi serve sapere una cosa: stai lavorando in
vb6 o DotNet?!?

sto lavorando in VB.net

allora in dot net è presente il seguente comando
Esempio1:
...
MsgBox(Application.ExecutablePath.ToString) 'restituisce il percorso
del programma corrente
...
Fine Esempio1.
una volta trovato il percorso del programma corrente il gioco è fatto:
Esempio2:
'Se volessi andare sulla cartella pippo presente nella stessa cartella
della nostra applicazione
'l'istruzione sara la seguente.
Dim myPath As String
...
myPath = Application.ExecutablePath.ToString & "\Pippo"
MsgBox(myPath)
...
Fine Esempio2.
spero di esserti stato d'aiuto.
saluti!!

quindi quando metto il mio programma su un altro computer indica
all'operatore quale è il percorso dell'eseguibile?

esatto!!
Prova a fare un piccolo eseguibile di questo tipo
Esempio 1:
Public Class Form1
    ...
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
        myPath = Application.ExecutablePath.ToString
    End Sub
    ...
End Class
Fine Esempio 1.
una volta fatto l'eseguibile cambia il suo percorso e potra verificare
come ogni volta ti restituisca il percorso corretto.

Allora scusa ho fatto un paio di imprecisazioni:
sull'esempio precedente non è
"myPath = Application.ExecutablePath.ToString" bensi
"MsgBox("Application.ExecutablePath.ToString")"
poi con Application.ExecutablePath.ToString ottieni il percorso con
incluso il nome del file eseguibile
mentre con Application.StartupPath.ToString ottieni lo stesso risultato
con ESCLUSO il nome del file eseguibile.
Scusa ancora per l'imprecisazione.
Saluti!!

per chiarire: se prima il percorso di un file era:
FileOpen(1, "C:\Documents and Settings\Documenti\Progetti di Visual
Studio\Anagrafica clienti\Datiutenti.txt", OpenMode.Input)
ora lo imposto cosi?
FileOpen(1, "Application.ExecutablePath.ToString "\Anagrafica
clienti\Datiutenti.txt", OpenMode.Input)

grazie tante sei stato molto gentile e preciso

Quasi, la sintassi corretta è la seguente:
FileOpen(1, Application.StartupPath.ToString & "\Anagrafica
clienti\Datiutenti.txt", OpenMode.Input)
Contattami se trovi ulteriori problemi.
Saluti.

Ciao scusami ancora ilproblema di questa mattina l'ho risolto; ora devo
salvare all'interno di un file delle foto e associare a ciascuna di
queste un indice in modo tale che poi le posso richiamare
successivamente come posso fare? Grazie

una nuova domenda quale è la proprietà che mi indica il nome di un
file?

Ciao enzo,
prima di risponderti non mi è chiara una cosa.
ti serve salvare la foto per intero all'interno del file oppure devi
registrare il percorso di dove si trovi tale foto?!?
per quanto riguarda la proprieta che di indichi il nome del file, beh
io quando voglio sapere la lista dei file presenti in un percorso
specifico faccio questo:
Esempio 1:
...
        strSupport = Dir("C:\")
        Do While strSupport <> ""
            ListBox1.Items.Add(strSupport)
            strSupport = Dir()
        Loop
...
Fine Esempio 1.
Fammi Sapere.
Saluti!!