Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [VB.NET]Eliminare gli ultimi due caratteri di una stringa

    in questo modo ottengo un file di testo così composto:
    codice:
    "Giorno";"Causale";"Uscita";"Entrata";"Totale"
    "14/06/07";"L";"06.55";"13.05";"06:10";"
    che creo in questo modo:
    codice:
    Dim sw As StreamWriter = New StreamWriter(db1)
            sw.WriteLine("""Giorno" & """;""" & "Causale" & """;""" & "Uscita" & """;""" & "Entrata" & """;""" & "Totale""")
            Dim testo As String
            For i As Integer = 0 To dataSet.Tables(0).Rows.Count - 1
                testo = """"
                For a As Integer = 0 To 4
                    testo = testo & dataSet.Tables(0).Rows(i).Item(a) & """;"""
                Next
                Application.DoEvents()
                sw.WriteLine(testo)
            Next
            sw.Close()
    quello che volevo sapere è se esiste un modo per eliminare gli ultimi due caratteri della stringa: cioè questi ;"

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dopo la next usa le funzioni Left e Len per eliminare gli ultimi due caratteri ...

  3. #3
    In .NET sarebbe meglio usare i metodi d'istanza della classe String... per cui
    codice:
    testo = testo.Remove(testo.Length-2,2)
    .
    O, in alternativa
    codice:
                For a As Integer = 0 To 4
                    testo += dataSet.Tables(0).Rows(i).Item(a) + """"
                    If a<4 Then testo +=  ";"""
                Next
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... ma penso che, se x69asterix fa una richiesta cosi' "di base" (la gestione delle stringhe e' uno dei primi argomenti nella programmazione ...), puo' voler dire che non ha tanta confidenza con il linguaggio e tanto meno con l'OOP ...

  5. #5
    Certamente, ma come sempre è meglio evitare di usare le funzioni di compatibilità con VB6 in favore dei metodi standard del Framework, anche in un'ottica didattica.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Bastava togliere un ulteriore carattere da quanto detto qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Prima di tutto grazie a tutti,
    diciamo che con ALKA ne avevamo già discusso , ed è proprio il suo suggerimento che ho messo in pratica:

    codice:
           Dim sw As StreamWriter = New StreamWriter(db1)
            sw.WriteLine("""Giorno" & """;""" & "Causale" & """;""" & "Uscita" & """;""" & "Entrata" & """;""" & "Totale""")
            Dim testo, tabella As String
            For i As Integer = 0 To dataSet.Tables(0).Rows.Count - 1
                testo = """"
                For a As Integer = 0 To 4
                    testo = testo & dataSet.Tables(0).Rows(i).Item(a) & """;"""
                Next
                tabella = testo.Substring(0, testo.Length - 2) 
                Application.DoEvents()
                sw.WriteLine(tabella)
            Next
            sw.Close()
            MsgBox("Esportazione conclusa", MsgBoxStyle.Information, "Ore")

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da x69asterix
    Prima di tutto grazie a tutti,
    Di nulla ... ma dato che avevi gia' affrontato il problema, come mai riproporlo ?

  9. #9
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ciao oregon,
    perchè non mi veniva in mente

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Originariamente inviato da x69asterix
    perchè non mi veniva in mente
    Ok, però in futuro credo sia più corretto che tu faccia una ricerca piuttosto che reiterare una domanda già posta e impegnare gli utenti del forum a ricordarti la risposta a qualcosa che hai già chiesto, altrimenti è un approfittarsi della disponibilità altrui e una mancanza di rispetto, oltreché una violazione del Regolamento (che esiste proprio perché in certi casi è necessario mettere "nero su bianco" le cose che non si ha il buon senso di pensare).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.