Come posso catturare dei dati dalla proprieta di un avi

di il
25 risposte

Come posso catturare dei dati dalla proprieta di un avi

Salve, vorrei sapere se' e' possibile catturare dei dati dalla proprieta' di un file avi in una textbox. mi spiego meglio: se' si clicca su un avi con il tasto destro del mouse si puo' scegliere dal menu "PROPRIETA'". ecco io vorrei catturare il titolo e altre caratteristiche in una o piu' di una textbox, semplicemente cliccandoci sopra con il mouse. immagino che si debba importare un componente di una classe o un oggetto. non conosco ancora bene vbnet

25 Risposte

  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Win per recuperare le proprietà di un file usa Shell32.dll
    Lo puoi fare anche tu, da VisualStudio e VB .Net.
    Devi importare la DLL, su [esplora soluzioni] vai sopra al nome del progetto e con il tasto destro scegli [Aggiungi riferimento]
    In basso a destra c'è sfoglia, trova e importa Shell32.dll

    per provare, nel tuo form aggiungi Button1 e ListBox1 ed aggiungi il seguente codice:
       Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim oShell As Shell32.Shell = New Shell32.Shell
            
            Dim oFolder As Shell32.Folder = oShell.NameSpace("C:\User\Utente\Video\") ' percorso della cartella che contiene il tuo video
            Dim oFolderItem As Shell32.FolderItem = oFolder.ParseName("MioVideo.avi") ' nome del tuo video
            
            ListBox1.Items.Add(-1 & ": " & oFolder.GetDetailsOf(oFolderItem, -1)) ' riepilogo
            ListBox1.Items.Add(0 & ": " & oFolder.GetDetailsOf(oFolderItem, 0)) ' nome
            ListBox1.Items.Add(1 & ": " & oFolder.GetDetailsOf(oFolderItem, 1)) ' dimensione
            ListBox1.Items.Add(2 & ": " & oFolder.GetDetailsOf(oFolderItem, 2)) ' applicazione associata
            ListBox1.Items.Add(9 & ": " & oFolder.GetDetailsOf(oFolderItem, 9)) ' tipo
            ListBox1.Items.Add(27 & ": " & oFolder.GetDetailsOf(oFolderItem, 27)) ' durata
            ListBox1.Items.Add(28 & ": " & oFolder.GetDetailsOf(oFolderItem, 28)) ' bitrate audio
            ListBox1.Items.Add(282 & ": " & oFolder.GetDetailsOf(oFolderItem, 282)) ' bitrate video
            ListBox1.Items.Add(283 & ": " & oFolder.GetDetailsOf(oFolderItem, 283)) ' size V
            ListBox1.Items.Add(284 & ": " & oFolder.GetDetailsOf(oFolderItem, 284)) ' fps
            ListBox1.Items.Add(285 & ": " & oFolder.GetDetailsOf(oFolderItem, 285)) ' size H
            ListBox1.Items.Add(286 & ": " & oFolder.GetDetailsOf(oFolderItem, 286)) ' bitrate totale
            oFolderItem = Nothing
            oFolder = Nothing
            oShell = Nothing
        End Sub
    Elenco esplicativo indici di GetDetailsOf in un sistema Win7 32bit:
    -1: Riepilogo
    0: Nome
    1: Dimensione
    2: Tipo elemento
    3: Ultima modifica
    4: Data creazione
    5: Data ultimo accesso
    6: Attributi
    7: Stato offline
    8: Disponibilità offline
    9: Tipo percepito
    10: Proprietario
    11: Tipologia
    12: Data acquisizione
    13: Artisti partecipanti
    14: Album
    15: Anno
    16: Genere
    17: Conduttori
    18: Tag
    19: Classificazione
    20: Autori
    21: Titolo
    22: Oggetto
    23: Categorie
    24: Commenti
    25: Copyright
    26: #
    27: Durata
    28: Velocità in bit
    29: Protetto
    30: Modello fotocamera
    31: Dimensioni
    32: Produttore fotocamera
    33: Società
    34: Descrizione del file
    35: Nome programma
    36: Durata
    37: È online
    38: È ricorrente
    39: Ubicazione
    40: Indirizzi partecipanti facoltativi
    41: Partecipanti facoltativi
    42: Indirizzo organizzatore
    43: Nome organizzatore
    44: Ora promemoria
    45: Indirizzi partecipanti obbligatori
    46: Partecipanti necessari
    47: Risorse
    48: Stato riunione
    49: Stato disponibilità
    50: Dimensioni totali
    51: Nome account
    52: Stato attività
    53: Computer
    54: Anniversario
    55: Nome assistente
    56: Telefono assistente
    57: Compleanno
    58: Indirizzo (ufficio)
    59: Città (uff.)
    60: Paese (uff.)
    61: Casella postale (uff.)
    62: CAP (uff.)
    63: Provincia o stato società
    64: Via (uff.)
    65: Fax (uff.)
    66: Home page società
    67: Telefono (uff.)
    68: Numero richiamata automatica
    69: Telefono automobile
    70: Figli
    71: Telefono principale società
    72: Reparto
    73: Indirizzo di posta elettronica
    74: Posta el. 2
    75: Posta el. 3
    76: Elenco posta elettronica
    77: Nome visualizzato posta elettronica
    78: Archivia come
    79: Nome
    80: Nome e cognome
    81: Sesso
    82: Nome
    83: Hobby
    84: Indirizzo (abitazione)
    85: Città (ab.)
    86: Paese (ab.)
    87: Casella postale (ab.)
    88: CAP (ab.)
    89: Provincia (ab.)
    90: Via (ab.)
    91: Fax abitazione
    92: Telefono (ab.)
    93: Indirizzi IM
    94: Iniziali
    95: Posizione
    96: Etichetta
    97: Cognome
    98: Indirizzo postale
    99: Secondo nome
    100: Numero di cellulare
    101: Alternativo
    102: Ufficio
    103: Altri indirizzi
    104: Altra città
    105: Altro paese
    106: Altra casella postale
    107: Altro CAP
    108: Altra provincia
    109: Altra via
    110: Cercapersone
    111: Titolo personale
    112: Città
    113: Paese
    114: Casella postale
    115: CAP
    116: Provincia
    117: Indirizzo
    118: Posta elettronica primaria
    119: Telefono principale
    120: Professione
    121: Coniuge/Partner
    122: Suffisso
    123: Telefono TTY/TTD
    124: Telex
    125: Pagina Web
    126: Stato contenuto
    127: Tipo contenuto
    128: Data trasferimento
    129: Data di archiviazione
    130: Terminato il
    131: Categoria dispositivo
    132: Connesso
    133: Metodo individuazione
    134: Nome descrittivo
    135: Computer locale
    136: Produttore
    137: Modello
    138: Associato
    139: Classificazione
    140: Stato
    141: ID client
    142: Collaboratori
    143: Creazione contenuto
    144: Data ultima stampa
    145: Data ultimo salvataggio
    146: Dipartimento
    147: ID documento
    148: Pagine
    149: Diapositive
    150: Tempo totale di modifica
    151: Numero parole
    152: Scadenza
    153: Data di fine
    154: Numero file
    155: Nome file
    156: Versione file
    157: Colore contrassegno
    158: Stato contrassegno
    159: Spazio libero
    160: Profondità in bit
    161: Risoluzione orizzontale
    162: Larghezza
    163: Risoluzione verticale
    164: Altezza
    165: Priorità messaggio
    166: È un allegato
    167: È stato eliminato
    168: Stato di crittografia
    169: Con contrassegno
    170: Completato
    171: Incompleto
    172: Stato lettura
    173: Condiviso
    174: Creatori
    175: Data
    176: Nome cartella
    177: Percorso cartella
    178: Cartella
    179: Partecipanti
    180: Percorso
    181: Per percorso
    182: Tipo
    183: Nomi contatti
    184: Tipo voce
    185: Lingua
    186: Data visita
    187: Descrizione
    188: Stato collegamento
    189: Destinazione collegamento
    190: URL
    191: Elemento multimediale creato
    192: Data di rilascio
    193: Autore codifica
    194: Produttori
    195: Editore
    196: Sottotitolo
    197: URL Web utente
    198: Scrittori
    199: Allegati
    200: Indirizzi Ccn
    201: Ccn
    202: Indirizzi Cc
    203: Cc
    204: ID conversazione
    205: Data di ricezione
    206: Data di invio
    207: Indirizzi origine
    208: Da
    209: Con allegati
    210: Indirizzo mittente
    211: Nome mittente
    212: Archivio
    213: Indirizzi destinatari
    214: Titolo azione
    215: A
    216: Mileage
    217: Artista album
    218: ID album
    219: Battute al minuto
    220: Compositori
    221: Chiave iniziale
    222: Parte di una compilation
    223: Umore
    224: Serie
    225: Punto
    226: Colore
    227: Classificazione per minori
    228: Motivo classificazione per minori
    229: Spazio utilizzato
    230: Versione EXIF
    231: Evento
    232: Esposizione
    233: Programma Esposizione
    234: Tempo di esposizione
    235: F-stop
    236: Modalità flash
    237: Distanza focale
    238: lunghezza focale 35 mm
    239: Sensibilità ISO
    240: Produttore lenti
    241: Modello lenti
    242: Sorgente luminosa
    243: Massima apertura
    244: Modalità regolazione
    245: Orientamento
    246: Persone
    247: Modalità programma
    248: Saturazione
    249: Distanza del soggetto
    250: Bilanciam. bianco
    251: Priorità
    252: Progetto
    253: Numero canale
    254: Titolo puntata
    255: Sottotitoli codificati
    256: Riesegui
    257: SAP
    258: Data trasmissione
    259: Descrizione programma
    260: Tempo registrazione
    261: Call sign stazione
    262: Nome stazione
    263: Riepilogo
    264: Frammenti
    265: Riepilogo automatico
    266: Cerca priorità
    267: Precisione
    268: Condiviso con
    269: Stato condivisione
    270: Nome prodotto
    271: Versione
    272: Collegamento di supporto
    273: Origine
    274: Data di inizio
    275: Informazioni di pagamento
    276: Completata
    277: Proprietario attività
    278: Dimensioni file totale
    279: Marchi depositati
    280: Compressione video
    281: Amministrazione
    282: Velocità dati
    283: Altezza fotogramma
    284: Frequenza di aggiornamento
    285: Larghezza fotogramma
    286: Velocità in bit complessiva
    287: 
    288: 
    289: 
    290: 
    291: Audio tracks
    292: Bit depth
    293: Contains chapters
    294: Content compression
    295: Subtitles
    296: Subtitle tracks
    297: Video tracks
    

    Per info più approfondite, per esempio sapere i codec, l'ordine dei campi, il bitrate effettivo e medio ecc. ci sono altri sistemi.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Potresti utilizzare anche le classi File e FileInfo
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    surfernet ha scritto:


    Potresti utilizzare anche le classi File e FileInfo
    My.Computer.FileSystem.GetFileInfo() e System.IO.FileInfo(), non danno info sulle caratteristiche del video contenuto in un file video.
    Anche Shell32.dll, non da "vere" info sulle caratteristiche di un video contenuto in un file video, perché si limita a legere i tags nell'Header del file e potrebbero essere non corretti, ma mi riferisco a casi estremi.
    Per avere "vere" info sul video, bisogna mandare in esecuzione il file e controllare che il codec scelto decomprime e demultiplexa il file, conteggiare i blocchi demultiplexati, leggere le dimensioni del frame decompresso e altro per il video. Poi c'è l'audio anzi ci sono le tracce audio...
    Per fare ciò, ci si può appoggiare a VLC, o a FFMPEG.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Grazie davvero Rubik, non vedo l'ora di provare e sperimentare cio' che mi hai passato.domani ho un po' di tempo e sperimento . poi vi faccio sapere .
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Volevo provare a fare l'esperimento di Rubik, ma non trovo la Shell32.dll . quando apro la scheda aggiungi/riferimenti, dove devo cercarla esattamente ?
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Devi importare la DLL, su [esplora soluzioni] vai sopra al nome del progetto e con il tasto destro scegli [Aggiungi riferimento]
    In basso a destra c'è sfoglia:
    C:\Windows\System32\shell32.dll

    Se usi un sistema a 64 bit, le info del bitrate e size video sono in posizioni diverse
            ListBox2.Items.Add(313 & ": " & oFolder.GetDetailsOf(oFolderItem, 313)) ' bitrate video
            ListBox2.Items.Add(314 & ": " & oFolder.GetDetailsOf(oFolderItem, 314)) ' size V
            ListBox2.Items.Add(315 & ": " & oFolder.GetDetailsOf(oFolderItem, 315)) ' fps
            ListBox2.Items.Add(316 & ": " & oFolder.GetDetailsOf(oFolderItem, 316)) ' size H
            ListBox2.Items.Add(320 & ": " & oFolder.GetDetailsOf(oFolderItem, 320)) ' bitrate totale
    Non ho postato foto o info più mirate perché non so che S.O. usi e quale versione di VisualStudio usi.

    Elenco di GetDetailsOf() in un sistema Win10 64bit:
    
    0: Nome
    1: Dimensione
    2: Tipo elemento
    3: Ultima modifica
    4: Data creazione
    5: Data ultimo accesso
    6: Attributi
    7: Stato offline
    8: Disponibilità
    9: Tipo percepito
    10: Proprietario
    11: Tipologia
    12: Data acquisizione
    13: Artisti partecipanti
    14: Album
    15: Anno
    16: Genere
    17: Conduttori
    18: Tag
    19: Classificazione
    20: Autori
    21: Titolo
    22: Oggetto
    23: Categorie
    24: Commenti
    25: Copyright
    26: #
    27: Durata
    28: Velocità in bit
    29: Protetto
    30: Modello fotocamera
    31: Dimensioni
    32: Produttore fotocamera
    33: Società
    34: Descrizione del file
    35: Master parole chiave
    36: Master parole chiave
    37: 
    38: 
    39: 
    40: 
    41: 
    42: Nome programma
    43: Durata calendario
    44: È online
    45: È ricorrente
    46: Ubicazione
    47: Indirizzi partecipanti facoltativi
    48: Partecipanti facoltativi
    49: Indirizzo organizzatore
    50: Nome organizzatore
    51: Ora promemoria
    52: Indirizzi partecipanti obbligatori
    53: Partecipanti necessari
    54: Risorse
    55: Stato riunione
    56: Stato disponibilità
    57: Dimensioni totali
    58: Nome account
    59: 
    60: Stato attività
    61: Computer
    62: Anniversario
    63: Nome assistente
    64: Telefono assistente
    65: Compleanno
    66: Indirizzo (ufficio)
    67: Città (uff.)
    68: Paese/area geografica (uff.)
    69: Casella postale (uff.)
    70: CAP (uff.)
    71: Provincia o stato società
    72: Via (uff.)
    73: Fax (uff.)
    74: Home page società
    75: Telefono (uff.)
    76: Numero richiamata automatica
    77: Telefono automobile
    78: Figli
    79: Telefono principale società
    80: Reparto
    81: Indirizzo di posta elettronica
    82: Posta el. 2
    83: Posta el. 3
    84: Elenco posta elettronica
    85: Nome visualizzato posta elettronica
    86: Archivia come
    87: Nome
    88: Nome e cognome
    89: Sesso
    90: Nome
    91: Hobby
    92: Indirizzo (abitazione)
    93: Città (ab.)
    94: Paese/area geografica (ab.)
    95: Casella postale (ab.)
    96: CAP (ab.)
    97: Provincia (ab.)
    98: Via (ab.)
    99: Fax abitazione
    100: Telefono (ab.)
    101: Indirizzi IM
    102: Iniziali
    103: Posizione
    104: Etichetta
    105: Cognome
    106: Indirizzo postale
    107: Secondo nome
    108: Numero di cellulare
    109: Alternativo
    110: Ufficio
    111: Altri indirizzi
    112: Altra città
    113: Altro paese o altra area geografica
    114: Altra casella postale
    115: Altro CAP
    116: Altra provincia
    117: Altra via
    118: Cercapersone
    119: Titolo personale
    120: Città
    121: Paese/area geografica
    122: Casella postale
    123: CAP
    124: Provincia
    125: Indirizzo
    126: Posta elettronica primaria
    127: Telefono principale
    128: Professione
    129: Coniuge/Partner
    130: Suffisso
    131: Telefono TTY/TTD
    132: Telex
    133: Pagina Web
    134: Stato contenuto
    135: Tipo contenuto
    136: Data trasferimento
    137: Data di archiviazione
    138: Terminato il
    139: Categoria dispositivo
    140: Connesso
    141: Metodo individuazione
    142: Nome descrittivo
    143: Computer locale
    144: Produttore
    145: Modello
    146: Associato
    147: Classificazione
    148: Stato
    149: Stato
    150: ID client
    151: Collaboratori
    152: Creazione contenuto
    153: Data ultima stampa
    154: Data ultimo salvataggio
    155: Dipartimento
    156: ID documento
    157: Pagine
    158: Diapositive
    159: Tempo totale di modifica
    160: Numero parole
    161: Scadenza
    162: Data di fine
    163: Numero file
    164: Estensione file
    165: Nome file
    166: Versione file
    167: Colore contrassegno
    168: Stato contrassegno
    169: Spazio libero
    170: 
    171: 
    172: Gruppo
    173: Tipo di condivisione
    174: Profondità in bit
    175: Risoluzione orizzontale
    176: Larghezza
    177: Risoluzione verticale
    178: Altezza
    179: Priorità messaggio
    180: È un allegato
    181: È stato eliminato
    182: Stato di crittografia
    183: Con contrassegno
    184: Completato
    185: Incompleto
    186: Stato lettura
    187: Condiviso
    188: Creatori
    189: Data
    190: Nome cartella
    191: Percorso cartella
    192: Cartella
    193: Partecipanti
    194: Percorso
    195: Per percorso
    196: Tipo
    197: Nomi contatti
    198: Tipo voce
    199: Lingua
    200: Data visita
    201: Descrizione
    202: Stato collegamento
    203: Destinazione collegamento
    204: URL
    205: 
    206: 
    207: 
    208: Elemento multimediale creato
    209: Data di rilascio
    210: Autore codifica
    211: Numero episodio
    212: Produttori
    213: Editore
    214: Numero stagione
    215: Sottotitolo
    216: URL Web utente
    217: Scrittori
    218: 
    219: Allegati
    220: Indirizzi Ccn
    221: Ccn
    222: Indirizzi Cc
    223: Cc
    224: ID conversazione
    225: Data di ricezione
    226: Data di invio
    227: Indirizzi origine
    228: Da
    229: Con allegati
    230: Indirizzo mittente
    231: Mittente
    232: Archivio
    233: Indirizzi destinatari
    234: Titolo azione
    235: A
    236: Mileage
    237: Artista album
    238: Criterio di ordinamento artista album
    239: ID album
    240: Criterio di ordinamento album
    241: Criterio di ordinamento artisti partecipanti
    242: Battute al minuto
    243: Compositori
    244: Criterio di ordinamento compositore
    245: Disco
    246: Chiave iniziale
    247: Parte di una compilation
    248: Umore
    249: Serie
    250: Punto
    251: Colore
    252: Classificazione per minori
    253: Motivo classificazione per minori
    254: Spazio utilizzato
    255: Versione EXIF
    256: Evento
    257: Esposizione
    258: Programma Esposizione
    259: Tempo di esposizione
    260: F-stop
    261: Modalità flash
    262: Distanza focale
    263: lunghezza focale 35 mm
    264: Sensibilità ISO
    265: Produttore lenti
    266: Modello lenti
    267: Sorgente luminosa
    268: Massima apertura
    269: Modalità regolazione
    270: Orientamento
    271: Persone
    272: Modalità programma
    273: Saturazione
    274: Distanza del soggetto
    275: Bilanciam. bianco
    276: Priorità
    277: Progetto
    278: Numero canale
    279: Titolo puntata
    280: Sottotitoli codificati
    281: Riesegui
    282: SAP
    283: Data trasmissione
    284: Descrizione programma
    285: Tempo registrazione
    286: Call sign stazione
    287: Nome stazione
    288: Riepilogo
    289: Frammenti
    290: Riepilogo automatico
    291: Pertinenza
    292: Proprietà del file
    293: Precisione
    294: Condiviso con
    295: Stato condivisione
    296: 
    297: Nome prodotto
    298: Versione
    299: Collegamento di supporto
    300: Origine
    301: Data di inizio
    302: Condivisione
    303: Stato di disponibilità
    304: Stato
    305: Informazioni di pagamento
    306: Completata
    307: Proprietario attività
    308: Criterio di ordinamento titolo
    309: Dimensioni file totale
    310: Marchi depositati
    311: Compressione video
    312: Amministrazione
    313: Velocità dati
    314: Altezza fotogramma
    315: Frequenza dei fotogrammi
    316: Larghezza fotogramma
    317: Sferico
    318: Stereo
    319: Orientamento video
    320: Velocità in bit complessiva
    
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Ok, ora sono riuscito ad importarla, domani faro' l'esperimento. io uso windows 10 professional e attualmente sto usando visual studio 2019 community . ma sto pensando di disinstallarla per installarmi solo visual basic 2010. perche' vedo che sul mio pc poco performante gira troppo lenta. tanto sono in fase di apprendimento, la community non la sfrutto. eventualmente potrei acquistare un pc piu' potente per installarla. ma non so' se' ne vale la pena.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    nightman ha scritto:


    attualmente sto usando visual studio 2019 community . ma sto pensando di disinstallarla per installarmi solo visual basic 2010. perche' vedo che sul mio pc poco performante gira troppo lenta.
    Conosco il problema, su win 10 e pc poco performante, ti consiglio di installare VS2012: https://visualstudio.microsoft.com/it/vs/older-downloads/
    Se programmi in VB .Net, non avrai limitazioni riferite al linguaggio.
    In C#, potresti trovare esempi in rete che usano le nuove peculiarità di C# 2019 che non funzionano in C# 2012, (lambda, dichiarazioni inline ecc)

    Ti sconsiglio VB2010 o VS2010 su Win10, anche se non posso generalizzare, vista la grande quantità di versioni che si trovano.
    A mio avviso su Win10 VS2012 è il minimo installabile in sicurezza, in un pc Dual Core Duo 2,6GHz gira decentemente anche se win10 è installato su un HDD, meglio se su un SSD.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Il mio pc ha il processore incorporato alla scheda madre ed e' senza ventola di raffredamento. ma perche' sconsiglieresti il vb 2010 su wind 10. ?
    io avevo intenzione di installare il vb2010 express . io non ho nessuna intenzione di programmare in c# . mi basta imparare un solo linguaggio.
    l'ho faccio per hobby ed e' grasso che cola se' trovo il tempo con uno solo.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Ricordo che con le versioni 2010 e precedenti, in Win10 ho avuto problemi, ma non è detto che li avrai anche tu.
    Prova, se tutto va a buon fine, anche VisualStudio2010 va bene per imparare VB.Net (ogni tanto lo uso ancora su pc con WinXP).
    Quando installerai VisualStudio, anche se ora dici che non ti interessa, installa anche C#.
    VB.Net non viene aggiornato da tempo ed è prossimo al tramonto, passare a C# non è difficile.

    Aggiungo che se installi Vs o Vb 2010, non sei costretto a disinstallare VS2019, i programmi funzionano indipendentemente l'uno dall'altro, però avrai il vantaggio, in caso di neccessità, di averlo sempre disponibile.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Ok installero' il vb 2010 express, senza disinstallare il 2019. installero' anche il c# .mi trovavo benone anche con il vb 2008 su xp, pero' quello non mi interessa piu'. anche perche,' avevo fatto una piccola applicazione con il vb 2008 ed ho dovuto fare copia e incolla sul 2019, perche' mi aveva chiesto di convertirla e si e' impallato tutto. e ho sentito dire che dal 2010 al 2019 non c'e' bisogno di convertire nulla. quindi in caso di necessita' dovrei essere apposto.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    @nightman
    Stavo riordinado le cose e ho trovato: A scuola con VB2010 Express
    https://we.tl/t-6rhX3DLb2
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Grazie rubik, gli dar'o senz'altro un okkiata. ho anche preso da poco tempo un libro molto voluminoso per vb2010, quindi coerente con la versione. il problema e', che quando si parla di programmazione ad oggetti diventa tutto molto difficile. l'autore si sforza di farla semplice, ma l'argomento e' ostico. ho anche altri volumi, ma niente di basilare e semplice. al contrario ho molti libri per visual basic 6 e devo dire che sono mooooooooolto ma mooooooooolto piu' comprensibili. cioe' c'e' meno roba da studiare e da capire, sono alla portata del hobbysta. credo anche che per visual basic 6, sia stato usato un modo semplice di spiegare le cose perche' il linguaggio era rivolto ad un utenza amatoriale e non professionale. questo e' un mio parere avevo pensato anche di andare avanti con il vb6, ma tutti mi hanno dato contro. decretandolo come linguaggio morto. pero' vedo in giro nei vari forum, che c'e' molta gente che lo usa ancora. sono convinto che questo e' dovuto principalmente proprio perche si trovano libri scritti in modo semplice per questo linguaggio. mi piacerebbe sapere cosa ne pensi.
  • Re: Come posso catturare dei dati dalla proprieta di un avi

    Quello che scrivo di seguito, è valido solo per un hobbista come te che si vuole divertire con la programmazione.

    Uso VB6 perché devo mantenere alcuni applicativi, ho resistito fino all'ultimo e non mi ritrovavo con .Net, ma devo ammettere che ho sbagliato a ritardare il passaggio, ora mi capita il contrario non mi ritrovo con VB6 che mi costringe a scrivere 4, 5 righe di codice quando con VB.Net ne scrivo una.
    Con VB6 per leggere i file su HDD e trasferirli ai controlli spesso si devono fare dei cicli, in VB.Net si fa con una singola istruzione, la differenza è che in VB6 per leggere un file testo da 1.000.000 di rghe impieghi decine e decine di secondi, in VB.Net meno di un secondo.
    Ora dico una cosa sgradita, in VB.Net si programma ad oggetti, ma se usi un approcio procedeurale come faresti in VB6 lo puoi fare, e se lo fai puoi usare l'approcio VB6 per programmare in VB.Net, è sconsigliato ma non vietato, Meglio programmare in modo procedurale in VB.Net, che in VB6.

    L'effetto che molti usano ancora VB6 è solo apparente, in rete ci sono ancora le risposte che si sono accumulate in decine di anni, se guardi i nuovi post, VB.Net stravince su VB6, e C# vince su VB.Net.

    Quello che è più è ostico nel passaggio da VB6 a VB.Net è il fatto che la variabili pubbliche tanto utilizzate in VB6, in VB.Net sono da evitare e chi passa da VB6 a VB.Net non si capacita perché una variabile che ha dichiarato in una classe non riesce a modificarla da un'altra, sicuramente quando imparerai a creare una classe istanziarla e ad usarne le proprietà e i metodi, sarà una grossa soddisfazione e ne apprezzerai la potenza e flessibilità.
    Altra cosa che dico ora farà storcere il naso a molti che leggeranno, in VB.Net non sei obbligato a creare le classi, puoi mettere le tue funzioni o subroutine nei moduli, e dichiarare tutte le variabili che vuoi come pubbliche, cioè visibili da tutti gli altri moduli o form; non solo, da tutti i moduli e form puoi cambiare le proprietà dei controlli che esistono in altri form, proprio come si faceva in VB6. Questo per dire che è inutile restare su VB6 per le ragioni che hai esposto, perché tali ragioni non sussistono.

    Ti vuoi divertire? i programmi sono per il tuo piacere personale? non devi interagire con altri programmatori? programma come ti pare! quando sarai stufo di vedere il tuo programma che risiede in un'unica classe e che ogni volta che scrivi un programma granparte già lo avevi scritto in un altro, ti verrà la voglia di crearti la tua classe riutilizzabile in più programmi, e se nella classe riutilizzabile correggerai un errore, tutti i programmi ne gioveranno senza nenche ricompilarli.

    Non so se ti ho confuso, vai con VB.Net e dai un occhio a C#, se resti con VB6 i tuoi applicativi sotto win7-10 daranno risultati incerti da subito, spesso devono essere eseguiti come amministratore o in modalità compatibile.
Devi accedere o registrarti per scrivere nel forum
25 risposte