Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 27
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Qualcosa del genere ti può aiutare

    codice:
            Dim x As String
            Dim y As String
            Dim els() As String
    
            x = "Testo prima (""http://www.html.it/"") testo dopo"
            els = x.Split("""")
    
            els(1) = "ALTRA STRINGA"
            y = String.Join("""", els)
    l'url in els(1) e la nuova stringa in y
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    Originariamente inviato da oregon
    Qualcosa del genere ti può aiutare

    codice:
            Dim x As String
            Dim y As String
            Dim els() As String
    
            x = "Testo prima (""http://www.html.it/"") testo dopo"
            els = x.Split("""")
    
            els(1) = "ALTRA STRINGA"
            y = String.Join("""", els)
    l'url in els(1) e la nuova stringa in y

    Non ho capito molto però più tardi provo e ti facci sapere l'esito


    PS:
    Io uso streamread e streamwrite per modificare il file, però questo sistema mi permette di aprire il file in scrittura solo dopo averlo chiuso in lettura...
    codice:
    Dim filein As New StreamReader(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "file.txt")
    C'è un modo per modificarlo senza doverlo riaprire? tipo aprirlo in lettura e scrittura? (Se io chiuso il file e lo riapro il programma mi va a modificare la parte sbagliata

  3. #13
    Forse fai prima ad usare le regex piuttosto che strani manipolazioni di stringhe ad-hoc...
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Originariamente inviato da MItaly
    Forse fai prima ad usare le regex piuttosto che strani manipolazioni di stringhe ad-hoc...
    è un po un casino a quanto leggo:
    http://msdn.microsoft.com/it-it/libr...ons.regex.aspx


    Sarà perchè non so l'inglese e quindi non capisco molto quando fa gli esempi

  5. #15
    Parti da qui; magari per questo particolare problema non sono strettamente necessarie, ma ti assicuro che vengono utili in una marea di situazioni, per cui è uno strumento che è bene conoscere.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #16
    Io individuo la riga che mi interessa in questo modo:
    codice:
    Dim file1 As New StreamReader(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "/file.txt")
    Dim linea = file1.ReadLine
    Dim testo As String = "null"
    Dim trova As String = "Ciao, Voglio andare"
    
    Do While Not linea Is Nothing
    
    If Mid(linea, 1, 19) = trova Then testo = Mid(linea, 19, 60)
    
    linea = file1.ReadLine
    
    Loop
    
    ' Qui devo mette qualcosa che modifichi il file, però avendolo aperto con streamreader devo chiuderlo ed aprirlo con streamwriter... però cosi facendo perdo la posizione del testo da modificare

    PS:
    Originariamente inviato da MItaly
    Parti da qui; magari per questo particolare problema non sono strettamente necessarie, ma ti assicuro che vengono utili in una marea di situazioni, per cui è uno strumento che è bene conoscere.
    Cavolo, Inglese al massimo!



    Comunque tornando al codice che ho scritto, io devo modificare un file che contiene una riga formattata in questo modo:
    codice:
    Ciao, voglio andare ("URL.....")
    quindi col codice scritto riesco ad individuare la riga che contiene "Ciao, voglio andare" e riesco ad estrarre i caratteri successivi, quindi devo solo capire come andare a scrivere quel che voglio in quel posto senza dover chiudere ed aprire il file... però a quanto ho capito continuando ad utilizzare "StreamReader" e "StreamWriter" è impossibile

  7. #17
    Originariamente inviato da shuttle15
    Cavolo, Inglese al massimo!
    Difficile andare lontano con l'informatica senza sapersela cavare con l'inglese tecnico...
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    A parte tutte le considerazioni già fatte, cosa ne hai fatto del codice che ti ho suggerito?

    Come mai sei passato ad altro problema nello stesso thread?

    Alla fine, leggi il file, cambialo e riscrivilo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Originariamente inviato da oregon
    A parte tutte le considerazioni già fatte, cosa ne hai fatto del codice che ti ho suggerito?

    Come mai sei passato ad altro problema nello stesso thread?

    Alla fine, leggi il file, cambialo e riscrivilo.
    Non riesco a capirci molto, visto che non capisco che via seguire ed anche provando con le regex si è rivelata una cosa difficilissima perchè sono molto complicate come sintassi...

    Invece riguardo il codice tuo non so come adattarlo:
    codice:
    Dim x As String
    Dim y As String
    Dim els() As String
    
    x = "Home (""http://www.html.it/"");" '<--- Qui imposto il file che devo modificare?
    els = x.Split("""") ' <-- serve a tagliare la riga quando trova le virgolette?
    els(1) = "ALTRA STRINGA" '<-- ??Sarebbe?? L'URL che devo impostare?
    y = String.Join("""", els) '<-- Unisce ciò che ho estratto prima della virgoletta con il contenuto di els(1)?

    Il problema è sempre quello, solo che ora ho fatto un esempio più semplice...







    EDIT: Il codice come avevo immaginato taglia il file ad ogni " però cosi facendo mi risulta impossibile risalire alla riga che mi serve in quanto, secondo l'esempio che ho fatto avrò l'array ELS() piena di parole...


    Ripeto che l'esempio giusto, e quello che uso per la prova è il seguente:
    Questa è la formattazione esatta del file di testo:
    Home ("www.google.it")
    Home2 ("www.html.it")
    NewTab ("www.google.it")
    Preferito1 ("www.yahoo.it")


    Se assegno questo testo alla variante x, quando faccio els = x.split("""") mi ritrovo con un array del genere:
    els(0) = Home (
    els(1) = )
    els(2) = Home2 (
    els(3) = )
    .....
    questo è un esempio...

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Scusa, ma perché non esegui il codice riga per riga con il debug di VB esaminando il contenuto delle variabili ? Così capisci subito.

    1) il file non c'entra nulla, il codice d'esempio gestisce solamente una stringa

    2) la riga è fatta, come hai detto tu da

    caratteri_prima ("una_url_http") caratteri_dopo

    3) la split divide in tre parti la stringa inserendole nel vettore els

    els(0) contiene caratteri_prima
    els(1) contiene una_url_http
    els(2) contiene caratteri_dopo

    4) modifichi l'elemento els(1) inserendo quello che vuoi, come hai detto prima

    5) con la join unisci le varie parti in modo da ottenere la nuova stringa

    Per il file devi operare in questo modo

    1) apri il file in lettura ed esegui la ReadAll per leggere tutte le righe e chiudi il file

    2) esegui il codice precedente per ogni riga letta

    3) apri il file in scrittura ed esegui la WriteAll per scrivere tutte le righe e chiudi il file

    Meglio di così, l'unica cosa da fare è scriverti tutto il codice di sana pianta, ma non ne ho il tempo.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.