none
convertir en .pkg RRS feed

  • Discussion générale

  • bonjour, j'ai créer un logiciel pour sélectionner plusieurs fichier pour le convertir en .PKG .

    voici en image :

    voici mes codes :

    Public Class Form1
        Dim ListPath As New List(Of String)
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
                ListPath.AddRange(OpenFileDialog1.FileNames)
                ListBox1.Items.AddRange(OpenFileDialog1.SafeFileNames)
            End If
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            ListBox1.Items.Clear()
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim SaveFileDialog1 As New SaveFileDialog()
            SaveFileDialog1.Filter = "(*.pkg)|*.pkg"
            If DialogResult.OK = SaveFileDialog1.ShowDialog Then
                TextBox1.Text = SaveFileDialog1.FileName
                ListBox1.Text = TextBox1.Text
                ProgressBar1.Increment(1)
                ProgressBar1.Value = 100
                Label1.Text = ProgressBar1.Value.ToString + "%"
                MsgBox("operation est terminer")
            End If
        End Sub
    End Class

    exemple : je voudrais ajouter 3 fichier dans un fichier .pkg comme winrar. a-t-il quelqu'un qui peur m'aider a résoudre mon problème. merci

    jeudi 19 septembre 2013 15:22

Toutes les réponses

  • Bonjour,

    Voilà le code à modifier :

            Dim SaveFileDialog1 As New SaveFileDialog()
            SaveFileDialog1.Filter = "(*.pkg)|*.pkg"
            If DialogResult.OK = SaveFileDialog1.ShowDialog Then
    
                ProgressBar1.Maximum = ListBox1.Items.Count
    
                For i As Integer = 0 To ListBox1.Items.Count - 1
                    ProgressBar1.Increment(1)
                    Label1.Text = ProgressBar1.Value.ToString + "%"
                    File.AppendAllText(SaveFileDialog1.FileName, File.ReadAllText(ListBox1.Items(0)))
                Next
    
                TextBox1.Text = SaveFileDialog1.FileName
                ListBox1.Text = TextBox1.Text
                MsgBox("operation est terminer")
            End If
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    jeudi 19 septembre 2013 22:08
    Modérateur
  • bonjour Gilles TOURREAU,

    merci pour ton aider mais voila j'ai essayer des codes il y a comme une erreur. voici en image:

    vendredi 20 septembre 2013 03:21
  • Bonjour,

    En mettant SafeFileNames dans votre listbox, vous ne stocker pas le chemin complet vers le fichier mais simplement son nom. Par conséquent, lorsque vous lancez votre application, elle cherche le fichier dans le répertoire où elle se trouve (sur votre printscreen dans le répertoire Debug).

    Vous pourriez utiliser l'index des élements de votre listbox pour rechercher le chemin complet dans votre list ListPath (a priori les index des élements correspondent.

    Donc dans la boucle, vous remplacez

    File.AppendAllText(SaveFileDialog1.FileName, File.ReadAllText(ListBox1.Items(0)))
    
    par 
    
    File.AppendAllText(SaveFileDialog1.FileName, File.ReadAllText(ListPath(0)))

    vendredi 20 septembre 2013 06:29
  • merci v hellin, ça fonction merci mais je demande un dernière chose . comment afficher dans la progressbar a 100% , il m'affiche quand enregistrer a 1%.

    voici mes codes:

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim SaveFileDialog1 As New SaveFileDialog()
            SaveFileDialog1.Filter = "(*.pkg)|*.pkg"
            If DialogResult.OK = SaveFileDialog1.ShowDialog Then
                ProgressBar1.Maximum = ListBox1.Items.Count
                For i As Integer = 0 To ListBox1.Items.Count - 1
                    ProgressBar1.Increment(1)
                    Label1.Text = ProgressBar1.Value.ToString + "%"
                    File.AppendAllText(SaveFileDialog1.FileName, File.ReadAllText(ListPath(0)))
                Next
                TextBox1.Text = SaveFileDialog1.FileName
                ListBox1.Text = TextBox1.Text
                MsgBox("operation est terminer")
            End If
        End Sub

    vendredi 20 septembre 2013 13:44
  • Bonjour,

    Ajoutez à la fin de la boucle :

    ProgressBar1.Value = ProgressBar1.Maximum

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 22 septembre 2013 22:00
    Modérateur