Soyez le premier à donner votre avis sur cette source.
Vue 10 069 fois - Téléchargée 392 fois
'Il faut un projet standard (exe VB) avec une Form1 'un bouton appeler BtnOpen 'un openfile dialogue appeler : OpenFileDialog1 'un FolderBrowser dialogue appeler : FolderBrowserDialog1 Public Class Form1 Dim Vcard() As String Dim Champs() As String Private Sub BtnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOpen.Click Dim Reponse As DialogResult = Me.OpenFileDialog1.ShowDialog() Dim Reponse2 As DialogResult = Me.FolderBrowserDialog1.ShowDialog() If Reponse = Windows.Forms.DialogResult.OK And Reponse2 = Windows.Forms.DialogResult.OK Then If My.Computer.FileSystem.DirectoryExists(Me.FolderBrowserDialog1.SelectedPath & "\VcardParse\") = False Then _ My.Computer.FileSystem.CreateDirectory(Me.FolderBrowserDialog1.SelectedPath & "\VcardParse\") Dim TheFile As String = My.Computer.FileSystem.ReadAllText(Me.OpenFileDialog1.FileName, System.Text.Encoding.Default) Vcard = Split(TheFile, "BEGIN:VCARD") For i As Integer = 0 To Vcard.Length - 1 Champs = Split(Vcard(i), ":") If Champs.LongLength < 2 Then GoTo Suivant Dim Name() As String = Split(Champs(2), vbCrLf) My.Computer.FileSystem.WriteAllText( _ Me.FolderBrowserDialog1.SelectedPath & "\VcardParse\" & Name(0) & ".vcf", "BEGIN:VCARD" & Vcard(i), False) Dim IdxJpeg As Integer = -1 For j As Integer = 0 To Champs.Length - 1 If j = Champs.Length - 1 Then Exit For Dim Trouve As Boolean = Champs(j).Contains("PHOTO") If Trouve = True Then IdxJpeg = j + 1 Exit For End If Next Dim byteArray2(9024) As Byte If IdxJpeg <> -1 Then Dim Tmp As String = Champs(IdxJpeg).Replace(vbCrLf, "") Dim charArray() As Char = Tmp.ToCharArray byteArray2 = Convert.FromBase64CharArray(charArray, 0, charArray.LongLength - 3) My.Computer.FileSystem.WriteAllBytes( _ Me.FolderBrowserDialog1.SelectedPath & "\VcardParse\" & Name(0) & ".jpg", byteArray2, False) End If Suivant: Next MessageBox.Show("Terminé", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub End Class
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.