Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2004, 10:50   #1
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
[vba] come fate se volete ricercare un file su tutto il disco ?

ci vorrebbe una bella ricorsione usando abilmente ed opportunamente il comando.....


Dir() di VB


Siccome penso che qualcuno lo ha già implementato vi ringrazio da subito se.....
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 12:48   #2
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
per esempio:

Codice:
Sub aMain()
 NomePath = "c:\"
 NomeFile = "pippo.xls"
 Call TrovaFile(NomePath, NomeFile, ElencoFile)
 MsgBox ElencoFile
End Sub



Sub TrovaFile(NomePath, NomeFile, ElencoFile)
 
 If Dir(NomePath & NomeFile) <> "" Then
  ElencoFile = ElencoFile & NomePath & NomeFile & Chr$(10)
 End If
 
 NomeDir = Dir(NomePath, vbDirectory)
 Do While NomeDir <> ""
  If (GetAttr(NomePath & NomeDir) And vbDirectory) = vbDirectory Then
    If NomeDir <> "." And NomeDir <> ".." Then ElencoDir = ElencoDir & NomeDir & ","
  End If
  NomeDir = Dir
 Loop
 
 ipos1 = 1
 Do
  ipos2 = InStr(ipos1, ElencoDir, ","): If ipos2 = 0 Then Exit Do
  Call TrovaFile(NomePath & Mid$(ElencoDir, ipos1, ipos2 - ipos1) & "\", NomeFile, ElencoFile)
  ipos1 = ipos2 + 1
 Loop
 

End Sub
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 13:10   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
pensavo utilizzassi una chiamata ricorsiva
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 13:49   #4
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
infatti è ricorsiva.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 14:07   #5
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
pardon, hai ragione

intendevo senza creare una sorta di stringa separata da ,

beh, poi ognuno ha i suoi metodi
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 14:58   #6
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da misterx
...
intendevo senza creare una sorta di stringa separata da ,
...
è dovuto per il corretto richiamo reiterato di Dir

comunque è a piacere.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 14:59   #7
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da a2000
è dovuto per il corretto richiamo reiterato di Dir

comunque è a piacere.


ma te lo sei inventato tu ?

io stavo lavorando su questo esempio che è compreso nell'help in linea di excel

Codice:
Sub Prova()

Range("a1:a500").Clear


' Visualizza i nomi in c:\ che rappresentano directory.
MyPath = "c:\windows\" ' Imposta il percorso.

MyName = Dir(MyPath, vbDirectory) ' Recupera la prima voce.


Do While MyName <> "" ' Avvia il ciclo.
    ' Ignora la directory corrente e quella di livello superiore.
    If MyName <> "." And MyName <> ".." Then
        ' Usa il confronto bit per bit per verificare se MyName è una directory.
        If (GetAttr(MyPath & MyName) And vbDirectory) <> vbDirectory Then
            Cells(i + 1, 1) = MyName: i = i + 1 ' Visualizza la voce solo
        End If                                  ' se rappresenta una directory.
    End If
    MyName = Dir  ' Legge la voce successiva.
Loop

End Sub

Ultima modifica di misterx : 20-07-2004 alle 15:11.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2004, 20:58   #8
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da misterx
ma te lo sei inventato tu ?
ca va sans dire.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2004, 08:47   #9
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
così se vi dovesse servire non ammattite per niente

A che mi serve ?
a trova tutti i file di un particolare tipo, esempio: BitMap "*.bmp" in tutto il disco partendo dalla cartella da voi fornita e ve li mostra incolonnati nella colonna "A1:An" di Excel



Codice:
Option Explicit
Dim gFiles() As String
Dim g As Integer




Sub SearchFolder(FolderName As String, FilePattern As String)
Dim FileNames() As String
Dim FolderNames() As String
Dim FileName As String
Dim i As Integer
Dim j As Integer
FileName = Dir$(FolderName & "\" & FilePattern)
Do Until FileName = ""
    ReDim Preserve gFiles(g)
    gFiles(g) = FolderName & "\" & FileName
    g = g + 1
    FileName = Dir$()
Loop

FileName = Dir$(FolderName & "\*.*", vbDirectory)
Do Until FileName = ""
    If (GetAttr(FolderName & "\" & FileName) And vbDirectory) = vbDirectory Then
        If Left$(FileName, 1) <> "." Then
            ReDim Preserve FolderNames(i)
            FolderNames(i) = FileName
            i = i + 1
        End If
    End If
    FileName = Dir$()
Loop
For j = 0 To i - 1
    SearchFolder FolderName & "\" & FolderNames(j), FilePattern
Next j
End Sub





Sub TrovaUnTipoDiFile()
    
    Columns("A:A").Clear
    
    Dim i As Integer
    
    SearchFolder "C:", "*.bmp" 'qui mettere cartella di partenza e tipo di file
    
    For i = 0 To g - 1
        Cells(i + 1, 1) = gFiles(i)
    Next i
    
End Sub

Ultima modifica di misterx : 21-07-2004 alle 08:50.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2004, 09:59   #10
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
copiato ?
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2004, 10:10   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da a2000
copiato ?


se esiste già che ti reinventi, l'acqua calda ?


quello sopra poi, è solo la punta dell'iceberg



ma tu gli ambienti di sviluppo te li scrivi oppure usi quelli messi a disposizione da Microsoft ?


se ci pensi è la stessa cosa
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2004, 10:36   #12
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ok ok (cioè no), nun te incazzà !

comunque l'ambiente di sviluppo perfetto è il foglio di carta (bianca).
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 10:41   #13
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
ma è possibile che per avere un valore di ritorno da una funzione devo scrivere quello che vedete sotto in bold ?

Codice:
Sub test()

    stringa = "vada via i ciap"
    ncar = NumeroDiA(stringa) 

    MsgBox( ncar )

End Sub

Function NumeroDiA(stringaAs String)
    
    For i = 1 To Len(stringa)
        If Mid$(stringa, i, 1) = "a" Then sp = sp + 1
    Next i

    NumeroDiA= sp

End Function
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 10:48   #14
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Codice:
Function NumeroDiA(stringaAs String)
    
    For i = 1 To Len(stringa)
        NumeroDiA = NumeroDiA - (Mid$(stringa, i, 1) = "a")
    Next i

End Function
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 10:49   #15
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da a2000
Codice:
Function NumeroDiA(stringaAs String)
    
    For i = 1 To Len(stringa)
        NumeroDiA = NumeroDiA - (Mid$(stringa, i, 1) = "a")
    Next i

End Function


mi interessa conoscere come VBA ritorna un valore tra funzioni
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 12:02   #16
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
come in algebra.
senza C-ca@ate tipo return nomevar.

nelle ultime versioni puoi utilizzare nei calcoli direttamente il nome della funzione come una variabile.
nelle precedenti no ed era necessaria l'assegnazione finale.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 12:03   #17
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ma questi misterx sono dettagli di piccolo conto.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 13:04   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da a2000
come in algebra.
senza C-ca@ate tipo return nomevar.

io ero rimasto che nel BASIC il return servisse solo per ritornare da una sub-routine, il malefico GOSUB

Quote:
Originariamente inviato da a2000
nelle ultime versioni puoi utilizzare nei calcoli direttamente il nome della funzione come una variabile.
nelle precedenti no ed era necessaria l'assegnazione finale.
intendi come nell'esempio che ho postato io ?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 13:09   #19
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da misterx

- io ero rimasto che nel BASIC il return servisse solo per ritornare da una sub-routine, il malefico GOSUB

- intendi come nell'esempio che ho postato io ?
- esatto.
ma in pascal e C (e anche fortran last edition) c'è la possibilità di restituire il valore di una variabile con una istruzione tipo return nomevar

- sì.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 13:47   #20
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
e hai mai restituito un variant array, magari su un range di celle ?

Codice:
Function f_fff(v) As Variant
 Dim vf(1 To 1, 1 To 4) as Variant
 ......
 
 vf(1, 1) = nIG - SnIG
 vf(1, 2) = SyI - 1
 vf(1, 3) = SxI - 1
 vf(1, 4) = TI
 f_fff = vf
 
End Function
e sul foglio:

={f_fff(A17)} ......... ={f_fff(A17)} ......... ={f_fff(A17)} ......... ={f_fff(A17)}

immessi sotto forma di matrice con Ctrl+Shift+Enter

Ultima modifica di a2000 : 27-07-2004 alle 13:50.
a2000 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
XuanTie C950, il chip IA di Alibaba basa...
Volkswagen richiama 94.000 auto elettric...
Le nuove LaserJet di HP portano la critt...
FSR 4 gira sulla GPU di PS5 Pro, ma non ...
Intel rinnova l'offerta professionale: C...
Galaxy A57 5G e A37 5G ufficiali: l'IA d...
Outlook Classic e Gmail: Microsoft pubbl...
HONOR MagicPad 4 porta OpenClaw su Andro...
Android Automotive diventa open source e...
Offerte Amazon di oggi: il meglio tra te...
Xbox Game Pass verso una rivoluzione: ab...
Nuovo DualSense dedicato a Marathon: des...
Lo smartphone XIAOMI 17 12/512GB con ott...
iPhone, iPad e Mac si aggiornano: le nov...
MOUSE: P.I. For Hire si prepara al debut...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v