Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Conteggio record in file txt
Forum - C# / VB.NET - Conteggio record in file txt - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:03
Lunedì, 25/11/2019
Non mi hai risposto ma va bene così ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
xamm (Normal User)
Rookie


Messaggi: 24
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 16:14
Lunedì, 25/11/2019
Scusami nessuno, hai ragione.

Avevo messo anche la s ma confondevo le seguenti istruzioni:

1) Dim nLinee As Integer = File.ReadLines("NomeFile.txt").Count()
con
2) Dim lines As String() = File.ReadAllLines("pippo.txt")
Console.WriteLine("Linee: {0}", lines.Length)

... con la seconda funziona ma sicuramente perché facevo confusione io e non per colpa vostra :pat:

Grazie

PM Quote
Avatar
xamm (Normal User)
Rookie


Messaggi: 24
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 16:41
Lunedì, 25/11/2019
Buonasera, ulteriore domanda inerente all'argomento in oggetto.

1) seleziono una cartella:

Dim di As DirectoryInfo
        Dim folder As FolderBrowserDialog = New FolderBrowserDialog
        folder.SelectedPath = ("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\")

      
        If folder.ShowDialog() = DialogResult.OK And folder.SelectedPath IsNot Nothing Then
            di = New DirectoryInfo(folder.SelectedPath)

            Dim DI1 As New IO.DirectoryInfo(folder.SelectedPath)
            MessageBox.Show("Presenti" & " " & DI1.GetFiles.GetLength(0).ToString - 2 & " " & "file .tif + pippo.txt", "Conteggio file")

        End If

2) poi scelgo il file e ne conto le righe:

Dim lines As String() = File.ReadAllLines("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\pippo.txt")
        Console.WriteLine("Linee: {0}", lines.Length)

Siccome nella cartella che seleziono ci sarà sempre e solo un file txt ma che avrà sempre nomi diversi, sarebbe possibile dirgli di prendere il file .txt a prescindere dal suo nome ?

Grazie.

Massimo

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:09
Lunedì, 25/11/2019
Codice sorgente - presumibilmente VB.NET

  1. 'Ottengo tutti i file di tipo txt
  2. Dim files As String() = Directory.GetFiles("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\", "*.txt")
  3.  
  4. 'prendo il primo file txt che trova
  5. Dim nomefile As String = files(0)
  6.  
  7. 'Conto le linee
  8. Dim lines As String() = File.ReadAllLines("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\" & nomefile)
  9.  
  10. 'Stampo il numero di linee
  11. Console.WriteLine("Linee: {0}", lines.Length)



http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...

Ti consiglio una lettura di questa splendida guida scritta da totem.
utile se sei alle prime armi e vuoi approfondire di più il linguaggio.

http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...

Ultima modifica effettuata da Thejuster il 25/11/2019 alle 17:17


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
xamm (Normal User)
Rookie


Messaggi: 24
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 17:27
Lunedì, 25/11/2019
Perfetto, solo che dovrei sostituire la Directory.GetFiles("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\", "*.txt")

con la folder.SelectedPath = ("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\")

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:57
Lunedì, 25/11/2019
basta ragionarci un pò sopra.
chiedi solamente quando arrivi ad un punto morto altrimenti non imparerai mai.

la proprietà Folder.SelectedPath è di tipo Get e Set ( Get = restituisce , Set = imposta )
di conseguenza puoi sia impostare un valore, che recuperarlo.

quindi la soluzione è logica.

GetFiles(folder.SelectedPath,"*.txt")


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:24
Lunedì, 25/11/2019
Io non ho capito ancora che problema hai avuto con la linea che ti ho proposto e perché non la usi... boh


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
xamm (Normal User)
Rookie


Messaggi: 24
Iscritto: 30/09/2015

Segnala al moderatore
Postato alle 10:03
Martedì, 26/11/2019
Buongiorno a tutti,

ciao nessuno, non l'ho capito neanche io ma non faccio testo in quanto zappa³ con il codice; comunque ho verificato e ho installato il NET.Framework 4.7

Ciao MiRE, ho sostituito la ("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\", "*.txt")
  con GetFiles(folder.SelectedPath,"*.txt")
nel seguente modo:

'Ottengo tutti i file di tipo txt
        Dim files As String() = GetFiles(folder.SelectedPath, "*.txt")

        'prendo il primo file txt che trova
        Dim nomefile As String = files(0)

        'Conto le linee
        Dim lines As String() = File.ReadAllLines("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\" & nomefile)

        'Stampo il numero di linee
        Console.WriteLine("Linee: {0}", lines.Length)

e mi dice che il Nome GetFiles non è dichiarato :hail:

Concettualmente non capisco un'altra cosa sicuramente banale.

Con il GetFiles(folder.SelectedPath, "*.txt") dovrei prendere tutti i file .txt contenuti nella cartella che seleziono io a manina, ok ?
Quando conto le linee dell'unico txt trovato nella cartella selezionata con File.ReadAllLines("\\192.XXX.XX.X\X\XXXXX\XXXXXXX\" & nomefile), non dovrei sostituire \\192.XXX.XX.X\X\XXXXX\XXXXXXX\ con la folder.SelectedPath ?

Grazie veramente a tutti per la disponibilità e la pazienza e comunque mi devo mettere a studiare seriamente come già mi avete suggerito.

Buona giornata

Massimo

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo