Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    89

    [VB6] Selezionare contenuto di un file

    Con VB6 ho necessità di selezionare il contenuto di un file tipo questo:

    NAME: nome1 IP: ipnumero1 DATA-ORA: data1
    NAME: nome2 IP: ipnumero2 DATA-ORA: data2
    NAME: nome1 IP: ipnumero3 DATA-ORA: data3
    NAME: nome4 IP: ipnumero4 DATA-ORA: data4

    Devo caricare in una listbox i vari nomi ma nel caso nel file compaia più di una volta lo stesso nome venga preso solo quello più recente (non importa controllare la data: se è più semplice basta prendere quello più in basso nel file). ho necessita di prendere il più recente poiché ho impostato sul click della listbox che mi venga un msgbox con IP e Data. Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Aprire il file in lettura e leggi tutte le linee, una per una.

    Quando incontri l'EOF, copi l'ultima linea letta nella listbox
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    89
    potresti indicarmi a livello di codice come si fa? scusa ma sono un niubbo nella programmazione!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da jack61
    sono un niubbo nella programmazione!
    Questo non è un buon motivo per chiedere codice pronto senza impegnarsi un po' ... studiando si impara.

    Prova a cercare in questo stesso forum

    VB6 lettura file

    e trai spunti dalle discussioni più attinenti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    89
    a dir la verità non cerco codice gia pronto. per il momento sono riuscito a buttar giu questo e per il momento funziona.

    codice:
    Dim Arr() As String
    file = "C:\lista.txt"
    Open file For Input As #1
    List1.Clear
    While Not EOF(1)
    Input #1, riga
    Arr = Split(riga, " ")
    
    List1.AddItem Arr(1) & " " & Arr(3)
    Wend
    Close #1
    come ho gia chiesto prima però non so come cancellare una riga meno recente con una con stesso nome ma con Ip diverso (che si trova piu in basso nel file). qualche dritta in piU?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da jack61
    a dir la verità non cerco codice gia pronto.
    L'impressione era questa ... se avessi presentato il codice prima, ci saremmo risparmiati qualche post ...

    In ogni caso, avevi detto che avresti semplicemente considerato l'ultima linea e il mio suggerimento andava in questa direzione ... pensi possa bastare?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    89
    non riuscendo a trovare vie di uscita mi è venuto in mente che potrei leggere il file dal fondo o comunque invertire le righe del file creando un nuovo file "inverso" al primo e poi leggere quest'ultimo) e poi leggere solo il valore piu recente filtrando gli inserimenti della listbox (cioè se una stringa "nome2" è gia presente non viene aggiunta di nuovo). ora però mi nasce un altro problema: come faccio l'inverso di un file di testo?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Scusa, ma perché tutti questi problemi? Hai detto che ti bastava l'ultima riga?
    Quindi ti basta fare la AddItem solo dopo aver chiuso il file

    codice:
    Dim Arr() As String
    file = "C:\lista.txt"
    Open file For Input As #1
    List1.Clear
    While Not EOF(1)
    Input #1, riga
    Arr = Split(riga, " ")
    Wend
    Close #1
    List1.AddItem Arr(1) & " " & Arr(3)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    89
    no allora mi sono spiegato male... in caso di nome uguale carico la riga piu in basso nel file con quello stesso nome.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Allora leggi tutto il file all'interno di un array, senza inserire le righe nella listbox.

    In seguito, puoi esaminare l'array a partire dall'ultimo elemento verso il primo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.