السلام عليكم و رحمة الله
اخواني لو سمحتم كيف يمكن حذف الصورة التي بالمجلد بالمشروع
لما أجي أحذفها تطلعلي هذه الرسالة
كود :
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.
و كذلك بعد اذنكم كيف يمكن عمل هاته الحركة
لما احذف الصورة و يكون المجلد فارغ في هذي الحالة يتم استخدام الصورة التي بالريسورس كصورة افتراضية بدلا من الصورة المحذوفة
و بارك الله فيكم
05-04-24, 05:11 AM (آخر تعديل لهذه المشاركة : 05-04-24, 05:19 AM {2} بواسطة justforit.)
تم التعديل
تم التحديث مرة اخرى و اضفت كود عرض صورة من الريسورس حال عدم وجود صورة بالمجلد الخاص بالصور
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
بارك الله فيك اخي justforit على المساعدة
فقط لو تكمل جميلك كيف يمكن عرض الصورة التي بالريسورس في حالة كان المجلد تبع اصورة فارغ و ما به اي صورة
و شكرا بارك الله فيك مسبقا
05-04-24, 05:28 AM (آخر تعديل لهذه المشاركة : 05-04-24, 05:28 AM {2} بواسطة 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
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
أولا : أمسح المجلد (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"))
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
''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
(05-04-24, 02:57 PM)محمد خيري كتب : شكرا جزيلا و بارك الله فيك أخي justforit على المساعدة
لكن ما زال الخطأ موجود و يظهر نفس رسالة الخطأ بمشاركتي رقم 1
على كل حال بما انك وجدت الحل من مشاركة الاخ شكر الله له هذا اهم شيء.
لكن انا مستغرب ان المثال لم يعمل عندك.
هل شغلت المشروع ام انك نسخت اكواد معينة!
لانه يعمل باحسن ما يكون وتوجد اكواد نسخ ملف من مجلد الى مجلد وليس هناك حاجة الى استخدام الـ stream .
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير