منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حذف الصورة من المجلد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم و رحمة الله 
اخواني لو سمحتم كيف يمكن حذف الصورة التي بالمجلد بالمشروع
لما أجي أحذفها تطلعلي هذه الرسالة
كود :
Additional information: The process cannot access the file 'E:\DeleteImageFromFolder\DeleteImageFromFolder\bin\Debug\FolderImage\My_Logo.jpg' because it is in use by another process.
و كذلك بعد اذنكم كيف يمكن عمل هاته الحركة
لما احذف الصورة و يكون المجلد فارغ في هذي الحالة يتم استخدام الصورة التي بالريسورس كصورة افتراضية بدلا من الصورة المحذوفة
و بارك الله فيكم
تم التعديل
تم التحديث  مرة اخرى و اضفت كود عرض صورة من الريسورس حال عدم وجود صورة بالمجلد الخاص بالصور
بارك الله فيك اخي justforit على المساعدة
فقط لو تكمل جميلك كيف يمكن عرض الصورة التي بالريسورس في حالة كان المجلد تبع اصورة فارغ و ما به اي صورة
و شكرا بارك الله فيك مسبقا
(05-04-24, 05:24 AM)محمد خيري كتب : [ -> ]بارك الله فيك اخي justforit على المساعدة
فقط لو تكمل جميلك كيف يمكن عرض الصورة التي بالريسورس في حالة كان المجلد تبع اصورة فارغ و ما به اي صورة
و شكرا بارك الله فيك مسبقا

حدثت المثال مرة اخرى بنفس المشاركة
حدثت المثال مرة اخرى بنفس المشاركة
شكرا جزيلا اخي فقط جرب تختار صورة مرة اولى و احفظها
ثم جرب اختار صورة مرة ثانية سيظهر خطأ و جد اسف على الازعاج
(05-04-24, 05:38 AM)محمد خيري كتب : [ -> ]حدثت المثال مرة اخرى بنفس المشاركة
شكرا جزيلا اخي فقط جرب تختار صورة مرة اولى و احفظها
ثم جرب اختار صورة مرة ثانية سيظهر خطأ و جد اسف على الازعاج

جربت اخي الكريم (لقد عدلت على طريقتك بالاكواد تعديل شبه كامل)
هذه الاكواد الخاصة بالفورم:
PHP كود :
Public Class Form1
    Dim picspath 
As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\FolderImage\"
    Dim Title_Logo As String = picspath & "
My_Logo.jpg"
    Public Sub New()
        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        If IO.File.Exists(Title_Logo) = False Then
            Me.PictureBox1.Image = My.Resources.Nopicture
        Else
            Me.PictureBox1.ImageLocation = Title_Logo
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            Dim ofd As New OpenFileDialog
            With ofd
                .AddExtension = True
                .CheckPathExists = True
                .CheckFileExists = True
                .Filter = "
Choose Image (*.PNG; *.JPG; *.GIF; *.JPEG)| *.PNG; *.JPG; *.GIF; *.JPEG All Files (*.*)|*.*"
                .FilterIndex = 4
                .Multiselect = False
            End With
            ofd.FileName = ""
            If ofd.ShowDialog() = DialogResult.OK Then
                Me.PictureBox1.ImageLocation = ofd.FileName
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, "
خطأ غير متوقّع", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim Files_Path As String = Title_Logo
        If IO.Directory.Exists(picspath) = False Then
            IO.Directory.CreateDirectory(picspath)
        End If
        If Me.PictureBox1.Image Is Nothing Then
            MsgBox("
الرجاء اختيار صورة قبل الحفظ")
            Exit Sub
        End If
        Dim pic As New IO.FileInfo(Me.PictureBox1.ImageLocation)
        pic.CopyTo(Files_Path)
        MsgBox("
تمت عملية الحفظ بنداح", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        System.IO.File.Delete(Title_Logo)
        Me.PictureBox1.Image = My.Resources.Nopicture
        MsgBox("
تمت عملية الحذف بنداح", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub
End Class 
شكرا جزيلا و بارك الله فيك أخي justforit على المساعدة
لكن ما زال الخطأ موجود و يظهر نفس رسالة الخطأ بمشاركتي رقم 1
وعليكم السلام ورحمة الله وبركاته

في مشروعك الموجود في المشاركة الأولى :

أولا : أمسح المجلد (FolderImage) المجد في الـ (Debug)
فيه خطأ (ما هو ؟؟!!!  لم أتعرف عليه ولضيق الوقت لم أبحث عنه)

ثانياً : ثم استخدم الكود التالي بدل الكود الموجود : 
كود :
Imports System.IO

Public Class Form1
   Dim Title_Logo As String = "My_Logo"
   Dim newPath As String = ""


   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


       Dim photoPath As String = Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg"

       If IO.File.Exists(photoPath) Then
           Dim fs As FileStream = File.Open(photoPath, FileMode.Open)
           Dim bmp1 As Bitmap = New Bitmap(fs)
           fs.Close()
           PictureBox1.Image = bmp1
       Else
           Me.PictureBox1.Image = My.Resources.Nopicture
       End If


       ''Dim Ms As System.IO.MemoryStream = New System.IO.MemoryStream()
       ''Dim Bmp_Image As Bitmap = New Bitmap(Image.FromFile(Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg"))

       ''Bmp_Image.Save(Ms, System.Drawing.Imaging.ImageFormat.Jpeg)
       ''Me.PictureBox1.Image = Image.FromStream(Ms)
       ''Bmp_Image = Nothing
       ''Ms = Nothing

   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Try
           Dim ofd As New OpenFileDialog
           With ofd
               .AddExtension = True
               .CheckPathExists = True
               .CheckFileExists = True
               .Filter = "Choose Image (*.PNG; *.JPG; *.GIF; *.JPEG)| *.PNG; *.JPG; *.GIF; *.JPEG | All Files (*.*)|*.*"
               .FilterIndex = 4
               .Multiselect = False
           End With
           ofd.FileName = ""
           If ofd.ShowDialog() = DialogResult.OK Then

               newPath = ofd.FileName
               Dim fs1 As FileStream = File.Open(newPath, FileMode.Open)
               Dim bmp1 As Bitmap = New Bitmap(fs1)
               fs1.Close()
               PictureBox1.Image = bmp1

               ''Dim Ms As System.IO.MemoryStream = New System.IO.MemoryStream()
               ''Dim Bmp_Image As New Bitmap(Image.FromFile(ofd.FileName))
               ''Bmp_Image.Save(Ms, System.Drawing.Imaging.ImageFormat.Jpeg)
               ''Me.PictureBox1.Image = Image.FromStream(Ms)
               ''Bmp_Image.Dispose()
               ''Ms.Dispose()
           End If
       Catch ex As Exception
           MessageBox.Show(ex.Message, "خطأ غير متوقّع", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Dim photoPath As String = Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg"

       Dim folderPath As String = Application.StartupPath & "\FolderImage\"

       If IO.Directory.Exists(folderPath) = False Then
           IO.Directory.CreateDirectory(folderPath)
       End If

       If IO.File.Exists(newPath) Then
           If IO.File.Exists(photoPath) Then IO.File.Delete(photoPath)

           IO.File.Copy(newPath, photoPath)
           MsgBox("تمت عملية الحفظ بنداح")
       Else
           MsgBox("تأكد من اختيار صورة للعرض والحفظ..!!", vbExclamation)
           Beep()
           Exit Sub
       End If

       ''Dim Files_Path As String = Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg"


       ''If IO.Directory.Exists(Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg") = False Then
       ''    IO.Directory.CreateDirectory(Application.StartupPath & "\FolderImage\")
       ''End If



       ''If Me.PictureBox1.Image Is Nothing Then
       ''    MsgBox("الرجاء اختيار صورة قبل الحفظ")
       ''    Exit Sub
       ''End If

       ''Dim Bmp_Image As New Bitmap(Me.PictureBox1.Image)
       ''System.IO.File.Delete(Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg")
       ''Bmp_Image.Save(Files_Path, System.Drawing.Imaging.ImageFormat.Jpeg)
       ''MsgBox("تمت عملية الحفظ بنداح", MessageBoxButtons.OK, MessageBoxIcon.Information)
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Dim photoPath As String = Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg"
       If IO.File.Exists(photoPath) Then
           System.IO.File.Delete(photoPath)
           Me.PictureBox1.Image = My.Resources.Nopicture
           MsgBox("تمت عملية الحذف بنداح", MessageBoxButtons.OK, MessageBoxIcon.Information)
       End If

       ''System.IO.File.Delete(Application.StartupPath & "\FolderImage\" & Title_Logo & ".jpg")
       ''MsgBox("تمت عملية الحذف بنداح", MessageBoxButtons.OK, MessageBoxIcon.Information)
   End Sub


End Class
السلام عليكم
بارك الله فيك و جزاك كل خير أخ Taha Okla
زادك من علمه و فضله و نفع بك يا رب
ما قصرت 
الآن الملف يشتغل مثل ما اردت بالضبط الله يسعدك و يرزقك ان شاء الله
(05-04-24, 02:57 PM)محمد خيري كتب : [ -> ]شكرا جزيلا و بارك الله فيك أخي justforit على المساعدة
لكن ما زال الخطأ موجود و يظهر نفس رسالة الخطأ بمشاركتي رقم 1

على كل حال بما انك وجدت الحل من مشاركة الاخ شكر الله له هذا اهم شيء.
لكن انا مستغرب ان المثال لم يعمل عندك.
هل شغلت المشروع ام انك نسخت اكواد معينة!
لانه يعمل باحسن ما يكون وتوجد اكواد نسخ ملف من مجلد الى مجلد وليس هناك حاجة الى استخدام الـ stream .
الصفحات : 1 2