Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #18529 > unrolled thread
| Started by | Greg <greg@alicie.com> |
|---|---|
| First post | 2015-10-07 20:05 +0200 |
| Last post | 2015-10-08 13:05 +0200 |
| Articles | 13 — 5 participants |
Back to article view | Back to it.comp.lang.visual-basic
funzione Dir Greg <greg@alicie.com> - 2015-10-07 20:05 +0200
Re: funzione Dir "Freccia (VegetaSSj)" <NIENTESPAMfreccia_vegetassj@hotmail.invalid> - 2015-10-07 22:14 +0200
Re: funzione Dir Luca D <antaniserse@yahoo.it> - 2015-10-07 13:21 -0700
Re: funzione Dir "salclem2" <salclem2@yahoo.it> - 2015-10-07 23:27 +0200
Re: funzione Dir SB <stNOOObenevSPAM@tin.it> - 2015-10-08 10:56 +0200
Re: funzione Dir Greg <greg@alicie.com> - 2015-10-08 21:29 +0200
Re: funzione Dir "salclem2" <salclem2@yahoo.it> - 2015-10-08 23:23 +0200
Re: funzione Dir "salclem2" <salclem2@yahoo.it> - 2015-10-08 23:26 +0200
Re: funzione Dir Greg <greg@alicie.com> - 2015-10-08 23:48 +0200
Re: funzione Dir Greg <greg@alicie.com> - 2015-10-09 16:19 +0200
Re: funzione Dir SB <stNOOObenevSPAM@tin.it> - 2015-10-09 16:38 +0200
Re: funzione Dir Greg <greg@alicie.com> - 2015-10-11 00:10 +0200
Re: funzione Dir Greg <greg@alicie.com> - 2015-10-08 13:05 +0200
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-07 20:05 +0200 |
| Subject | funzione Dir |
| Message-ID | <mv3mui$grg$1@solani.org> |
Mi sono accorto oggi che la riga:
x= Dir("G:\miofile.txt")
mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa potrebbe essere dovuto?
Grazie per ogni info
--
Greg
[toc] | [next] | [standalone]
| From | "Freccia (VegetaSSj)" <NIENTESPAMfreccia_vegetassj@hotmail.invalid> |
|---|---|
| Date | 2015-10-07 22:14 +0200 |
| Message-ID | <b9si5eq4dkoe.r0v6f2f78g7n$.dlg@40tude.net> |
| In reply to | #18529 |
Su "it.comp.lang.visual-basic", ==Greg=> ha scritto:
> Mi sono accorto oggi che la riga: x= Dir("G:\miofile.txt") mi
> restituisce Vuoto anzichè "" quando il drive non è presente. A cosa
> potrebbe essere dovuto? Grazie per ogni info
Provato con Dir$()?
--
Freccia@Bulldozer63 :D
[toc] | [prev] | [next] | [standalone]
| From | Luca D <antaniserse@yahoo.it> |
|---|---|
| Date | 2015-10-07 13:21 -0700 |
| Message-ID | <1ab2b681-a332-43bd-b366-74996a8c0cab@googlegroups.com> |
| In reply to | #18529 |
On Wednesday, October 7, 2015 at 8:06:12 PM UTC+2, Greg wrote:
> Mi sono accorto oggi che la riga:
> x= Dir("G:\miofile.txt")
> mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa potrebbe > essere dovuto?
Al fatto che Dir restituisce un Variant, per cui "vuoto" o "" dipende da come hai dichiarato la variabile di ritorno.
Come già detto nell'altra risposta, Dir$ restituiesce esplicitamente String, e quindi non hai ambiguità
[toc] | [prev] | [next] | [standalone]
| From | "salclem2" <salclem2@yahoo.it> |
|---|---|
| Date | 2015-10-07 23:27 +0200 |
| Message-ID | <mv42oc$arr$1@speranza.aioe.org> |
| In reply to | #18529 |
"Greg" <greg@alicie.com> nel suo ultimo post si è così espresso:
> Mi sono accorto oggi che la riga:
> x= Dir("G:\miofile.txt")
> mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa potrebbe essere dovuto? Grazie per ogni info
>
O esiste o non esiste il drive, dir restituisce sempre una stringa vuota se il file non esiste,
restituisce qualcosa solo se il file esiste.
Help
=================================================================
Dir Function
Returns a String representing the name of a file, directory, or folder that matches a specified pattern or file
attribute, or the volume label of a drive.
Syntax
Dir[(pathname[, attributes])]
The Dir function syntax has these parts:
Part Description
pathname Optional.String expression that specifies a file name - may include directory or folder, and drive. A
zero-length string ("") is returned if pathname is not found.
====================================================================
--
http://freewarewiki.it
http://freewareonline.org
http://netuser.altervista.org
[toc] | [prev] | [next] | [standalone]
| From | SB <stNOOObenevSPAM@tin.it> |
|---|---|
| Date | 2015-10-08 10:56 +0200 |
| Message-ID | <4cbc1bla3674309egh2l25i74tbvfiiqm8@4ax.com> |
| In reply to | #18529 |
Il giorno Wed, 07 Oct 2015 20:05:59 +0200, Greg <greg@alicie.com> ha scritto:
>Mi sono accorto oggi che la riga:
>x= Dir("G:\miofile.txt")
>mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa potrebbe essere dovuto?
Ti hanno già risposto sul tipo di dato che restituisce Dir, io invece ti
consiglio di non usarlo e per verificare l'esistenza di un file uso l'api
GetFileAttributes, tra l'altro puoi sapere se è una direcory e altre info
Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA"
(ByVal lpFileName As String) As Long
Const INVALID_HANDLE_VALUE = -1
Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_DIRECTORY = &H10
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_ATTRIBUTE_TEMPORARY = &H100
x& = GetFileAttributes ("G:\miofile.txt")
If x& > 0 Then MsgBox ("ESISTE")
--
ciao
Stefano
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-08 21:29 +0200 |
| Message-ID | <mv6g7p$rsn$1@solani.org> |
| In reply to | #18533 |
Il 08/10/15 10.56.17 SB ha scritto:
> Il giorno Wed, 07 Oct 2015 20:05:59 +0200, Greg <greg@alicie.com> ha scritto:
>> Mi sono accorto oggi che la riga:
>> x= Dir("G:\miofile.txt")
>> mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa potrebbe essere dovuto?
> Ti hanno già risposto sul tipo di dato che restituisce Dir, io invece ti
> consiglio di non usarlo e per verificare l'esistenza di un file uso l'api
> GetFileAttributes, tra l'altro puoi sapere se è una direcory e altre info
> Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA"
> (ByVal lpFileName As String) As Long
> Const INVALID_HANDLE_VALUE = -1
> Const FILE_ATTRIBUTE_ARCHIVE = &H20
> Const FILE_ATTRIBUTE_DIRECTORY = &H10
> Const FILE_ATTRIBUTE_HIDDEN = &H2
> Const FILE_ATTRIBUTE_NORMAL = &H80
> Const FILE_ATTRIBUTE_READONLY = &H1
> Const FILE_ATTRIBUTE_SYSTEM = &H4
> Const FILE_ATTRIBUTE_TEMPORARY = &H100
> x& = GetFileAttributes ("G:\miofile.txt")
> If x& > 0 Then MsgBox ("ESISTE")
Grazie, alla fine ho usato la funzione Api e va tutto bene, ma vorrei capire perchè non funziona
la Dir$ e la Dir
Ho provato a riscriverla cosi:
Dim aa As String
aa = Dir$("c:\prova.txt")
e restituisce "prova.txt"
mentre:
aa = Dir$("h:\prova.txt")
da errore 52 numero o nome di file non valido
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | "salclem2" <salclem2@yahoo.it> |
|---|---|
| Date | 2015-10-08 23:23 +0200 |
| Message-ID | <mv6ms4$ce4$1@speranza.aioe.org> |
| In reply to | #18535 |
"Greg" <greg@alicie.com> nel suo ultimo post si è così espresso:
>
>> x& = GetFileAttributes ("G:\miofile.txt")
>
>> If x& > 0 Then MsgBox ("ESISTE")
>
> Grazie, alla fine ho usato la funzione Api e va tutto bene, ma vorrei capire perchè non funziona la Dir$ e la Dir
> Ho provato a riscriverla cosi:
>
> Dim aa As String
> aa = Dir$("c:\prova.txt")
> e restituisce "prova.txt"
>
> mentre:
> aa = Dir$("h:\prova.txt")
> da errore 52 numero o nome di file non valido
>
> --
> Greg
>
Il motivo è semplice, perché esiste il drive H: ma non esiste il file, però se entrambi non esistono restituisce una
stringa vuota.
--
http://freewarewiki.it
http://freewareonline.org
http://netuser.altervista.org
[toc] | [prev] | [next] | [standalone]
| From | "salclem2" <salclem2@yahoo.it> |
|---|---|
| Date | 2015-10-08 23:26 +0200 |
| Message-ID | <mv6n26$cqu$1@speranza.aioe.org> |
| In reply to | #18536 |
"salclem2" <salclem2@yahoo.it> nel suo ultimo post si è così espresso:
> "Greg" <greg@alicie.com> nel suo ultimo post si è così espresso:
>
>>
>>> x& = GetFileAttributes ("G:\miofile.txt")
>>
>>> If x& > 0 Then MsgBox ("ESISTE")
>>
>> Grazie, alla fine ho usato la funzione Api e va tutto bene, ma vorrei capire perchè non funziona la Dir$ e la Dir
>> Ho provato a riscriverla cosi:
>>
>> Dim aa As String
>> aa = Dir$("c:\prova.txt")
>> e restituisce "prova.txt"
>>
>> mentre:
>> aa = Dir$("h:\prova.txt")
>> da errore 52 numero o nome di file non valido
>>
>> --
>> Greg
>>
> Il motivo è semplice, perché esiste il drive H: ma non esiste il file, però se entrambi non esistono restituisce una
> stringa vuota.
Anzi, non proprio non esiste, non è accessibile il drive (es. il cdrom), altrimenti restituisce una stringa vuota.
--
http://freewarewiki.it
http://freewareonline.org
http://netuser.altervista.org
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-08 23:48 +0200 |
| Message-ID | <mv6oc3$pl7$1@solani.org> |
| In reply to | #18537 |
Il 08/10/15 23.26.31 salclem2 ha scritto:
> "salclem2" <salclem2@yahoo.it> nel suo ultimo post si è così espresso:
>> "Greg" <greg@alicie.com> nel suo ultimo post si è così espresso:
>>
>>>
>>>> x& = GetFileAttributes ("G:\miofile.txt")
>>>
>>>> If x& > 0 Then MsgBox ("ESISTE")
>>>
>>> Grazie, alla fine ho usato la funzione Api e va tutto bene, ma vorrei capire perchè non
>>> funziona la Dir$ e la Dir
>>> Ho provato a riscriverla cosi:
>>>
>>> Dim aa As String
>>> aa = Dir$("c:\prova.txt")
>>> e restituisce "prova.txt"
>>>
>>> mentre:
>>> aa = Dir$("h:\prova.txt")
>>> da errore 52 numero o nome di file non valido
>>>
>>> -- Greg
>>>
>> Il motivo è semplice, perché esiste il drive H: ma non esiste il file, però se entrambi non
>> esistono restituisce una stringa vuota.
> Anzi, non proprio non esiste, non è accessibile il drive (es. il cdrom), altrimenti restituisce
> una stringa vuota.
Ma hai ragione, che sbadato. A furia di non usare più il cd-rom mi ero dimenticato che esistesse.
Invece il drive H: è li, vuoto ma è li.
Quindi la Dir$ può dare 3 risultati, non due! Grazie davvero
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-09 16:19 +0200 |
| Message-ID | <mv8idn$eb5$1@solani.org> |
| In reply to | #18533 |
Il 08/10/15 10:56:17 SB ha scritto:
> Il giorno Wed, 07 Oct 2015 20:05:59 +0200, Greg <greg@alicie.com> ha scritto:
>> Mi sono accorto oggi che la riga:
>> x= Dir("G:\miofile.txt")
>> mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa
>> potrebbe essere dovuto?
> Ti hanno già risposto sul tipo di dato che restituisce Dir, io invece ti
> consiglio di non usarlo e per verificare l'esistenza di un file uso l'api
> GetFileAttributes, tra l'altro puoi sapere se è una direcory e altre info
> Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA"
> (ByVal lpFileName As String) As Long
> Const INVALID_HANDLE_VALUE = -1
> Const FILE_ATTRIBUTE_ARCHIVE = &H20
> Const FILE_ATTRIBUTE_DIRECTORY = &H10
> Const FILE_ATTRIBUTE_HIDDEN = &H2
> Const FILE_ATTRIBUTE_NORMAL = &H80
> Const FILE_ATTRIBUTE_READONLY = &H1
> Const FILE_ATTRIBUTE_SYSTEM = &H4
> Const FILE_ATTRIBUTE_TEMPORARY = &H100
> x& = GetFileAttributes ("G:\miofile.txt")
> If x& > 0 Then MsgBox ("ESISTE")
Ciao SB,
sto provando l'api che mi hai suggerito su due diversi pc, xp e seven
tutti a 32 bit.
Per testare l'esitenza di un file va benissimo, sempre, ma se voglio
testare anche gli attibuti del file (ed evitare cosi anche GetAttr) mi
da risultati diversi:
Dim k as Long
k = GetFileAttributes ("G:\miofile.txt")
su XP mi restituisce 8224 e su Seven 32. Come mai?
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | SB <stNOOObenevSPAM@tin.it> |
|---|---|
| Date | 2015-10-09 16:38 +0200 |
| Message-ID | <vujf1b1on3cvs148tki6k8681cjnmjfn3e@4ax.com> |
| In reply to | #18539 |
Il giorno Fri, 09 Oct 2015 16:19:34 +0200, Greg <greg@alicie.com> ha scritto:
>Ciao SB,
>sto provando l'api che mi hai suggerito su due diversi pc, xp e seven
>tutti a 32 bit.
>Per testare l'esitenza di un file va benissimo, sempre, ma se voglio
>testare anche gli attibuti del file (ed evitare cosi anche GetAttr) mi
>da risultati diversi:
>Dim k as Long
>k = GetFileAttributes ("G:\miofile.txt")
>su XP mi restituisce 8224 e su Seven 32. Come mai?
Dunque 32 in esadecimale è 20H o 0x20 a seconda del dialetto preferito, mentre
8224 è 2020H o 0x2020
Guardando MSDN
https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx
il 20H è il flag archive in tutti due i casi
mentre il 0x2000 significa FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, cioè
evidentemente xp non ha indicizzato il file mentre W7 si, oppure non hai attivo
quel servizio su 7.
In ogni caso è tutto ok.
--
ciao
Stefano
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-11 00:10 +0200 |
| Message-ID | <mvc2bm$a01$1@solani.org> |
| In reply to | #18540 |
Il 09/10/15 16.38.46 SB ha scritto:
> Il giorno Fri, 09 Oct 2015 16:19:34 +0200, Greg <greg@alicie.com> ha scritto:
>> Ciao SB,
>> sto provando l'api che mi hai suggerito su due diversi pc, xp e seven
>> tutti a 32 bit.
>> Per testare l'esitenza di un file va benissimo, sempre, ma se voglio
>> testare anche gli attibuti del file (ed evitare cosi anche GetAttr) mi
>> da risultati diversi:
>> Dim k as Long
>> k = GetFileAttributes ("G:\miofile.txt")
>> su XP mi restituisce 8224 e su Seven 32. Come mai?
> Dunque 32 in esadecimale è 20H o 0x20 a seconda del dialetto preferito, mentre
> 8224 è 2020H o 0x2020
> Guardando MSDN
> https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx
> il 20H è il flag archive in tutti due i casi
> mentre il 0x2000 significa FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, cioè
> evidentemente xp non ha indicizzato il file mentre W7 si, oppure non hai attivo
> quel servizio su 7.
> In ogni caso è tutto ok.
Grazie per la delucidazione :)
--
Greg
[toc] | [prev] | [next] | [standalone]
| From | Greg <greg@alicie.com> |
|---|---|
| Date | 2015-10-08 13:05 +0200 |
| Message-ID | <mv5imn$cu2$1@solani.org> |
| In reply to | #18529 |
Il 07/10/15 20:05:59 Greg ha scritto:
> Mi sono accorto oggi che la riga:
> x= Dir("G:\miofile.txt")
> mi restituisce Vuoto anzichè "" quando il drive non è presente. A cosa
> potrebbe essere dovuto? Grazie per ogni info
Grandissimi come sempre, grazie a tutti.
--
Greg
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.lang.visual-basic
csiph-web