30-06-18, 01:59 AM
إقتباس :وأنا لازلت أبحث عن الطريقة التي تهمش الصورة تماما مثلها مثل التكست بوكسممكن تعمل دالة لهذا الامر او ممكن تستخدم try دون معالجة الخطا.
إقتباس :وأنا لازلت أبحث عن الطريقة التي تهمش الصورة تماما مثلها مثل التكست بوكسممكن تعمل دالة لهذا الامر او ممكن تستخدم try دون معالجة الخطا.
Imports System.IO
Public Class Form1
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
Dim con As OleDb.OleDbConnection
Dim da As OleDb.OleDbDataAdapter
Dim cm As OleDb.OleDbCommandBuilder
Dim dt As DataTable
Dim ms As MemoryStream = Nothing
Private Sub gd(Optional ByVal p As Integer = Nothing)
For Each h As Control In Me.Controls
h.DataBindings.Clear()
Next
con = New OleDb.OleDbConnection(str)
da = New OleDb.OleDbDataAdapter("select * from tb", con)
cm = New OleDb.OleDbCommandBuilder(da)
dt = New DataTable
da.Fill(dt)
tname.DataBindings.Add("text", dt, "tname")
dob.DataBindings.Add("text", dt, "dob", True)
pic.DataBindings.Add("image", dt, "pic", True)
If IsNothing(p) Then
BindingContext(dt).Position = 0
Else
BindingContext(dt).Position = p
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
gd()
End Sub
Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click
Dim row As DataRow = dt.NewRow
row(1) = tname.Text
row(2) = CDate(dob.Text).ToShortDateString
If IsNothing(ms) = False Then
row(3) = ms.ToArray
End If
dt.Rows.Add(row)
da.Update(dt)
ms = Nothing
gd()
BindingContext(dt).Position = dt.Rows.Count - 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim i As Integer = BindingContext(dt).Position
Dim row As DataRow = dt.Rows(BindingContext(dt).Position)
row.BeginEdit()
row(1) = tname.Text
row(2) = CDate(dob.Text).ToShortDateString
If IsNothing(ms) = False Then
row(3) = ms.ToArray
End If
row.EndEdit()
da.Update(dt)
ms = Nothing
gd(i)
Catch ex As Exception
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
dt.Rows(BindingContext(dt).Position).Delete()
da.Update(dt)
gd()
Me.Refresh()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For r As Integer = 0 To dt.Rows.Count - 1
Dim tn As String = dt(r)("tname").ToString
Dim d As Date = dt(r)("dob")
If tn = tname.Text Or d = CDate(dob.Text).ToShortDateString Then
BindingContext(dt).Position = r
End If
Next
End Sub
Private Sub pic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pic.Click
Dim o As New OpenFileDialog
If o.ShowDialog = Windows.Forms.DialogResult.OK Then
pic.Image = Image.FromFile(o.FileName)
ms = New MemoryStream
pic.Image.Save(ms, pic.Image.RawFormat)
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
BindingContext(dt).Position = 0
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
BindingContext(dt).Position = BindingContext(dt).Count - 1
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
BindingContext(dt).Position -= 1
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
BindingContext(dt).Position += 1
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
gd()
End Sub
End Class
(30-06-18, 03:29 AM)سعود كتب : [ -> ]ما رايك بهذا المثال حيث يتم تعريف ميموري ستريم عمومي ويتم التعامل معه فقط عند اضافة صورة عبر حدث Click الخاص بمربع الصورة نفسها.PHP كود :
Imports System.IO
Public Class Form1
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
Dim con As OleDb.OleDbConnection
Dim da As OleDb.OleDbDataAdapter
Dim cm As OleDb.OleDbCommandBuilder
Dim dt As DataTable
Dim ms As MemoryStream = Nothing
Private Sub gd(Optional ByVal p As Integer = Nothing)
For Each h As Control In Me.Controls
h.DataBindings.Clear()
Next
con = New OleDb.OleDbConnection(str)
da = New OleDb.OleDbDataAdapter("select * from tb", con)
cm = New OleDb.OleDbCommandBuilder(da)
dt = New DataTable
da.Fill(dt)
tname.DataBindings.Add("text", dt, "tname")
dob.DataBindings.Add("text", dt, "dob", True)
pic.DataBindings.Add("image", dt, "pic", True)
If IsNothing(p) Then
BindingContext(dt).Position = 0
Else
BindingContext(dt).Position = p
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
gd()
End Sub
Private Sub Btn_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Add.Click
Dim row As DataRow = dt.NewRow
row(1) = tname.Text
row(2) = CDate(dob.Text).ToShortDateString
If IsNothing(ms) = False Then
row(3) = ms.ToArray
End If
dt.Rows.Add(row)
da.Update(dt)
ms = Nothing
gd()
BindingContext(dt).Position = dt.Rows.Count - 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim i As Integer = BindingContext(dt).Position
Dim row As DataRow = dt.Rows(BindingContext(dt).Position)
row.BeginEdit()
row(1) = tname.Text
row(2) = CDate(dob.Text).ToShortDateString
If IsNothing(ms) = False Then
row(3) = ms.ToArray
End If
row.EndEdit()
da.Update(dt)
ms = Nothing
gd(i)
Catch ex As Exception
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
dt.Rows(BindingContext(dt).Position).Delete()
da.Update(dt)
gd()
Me.Refresh()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
For r As Integer = 0 To dt.Rows.Count - 1
Dim tn As String = dt(r)("tname").ToString
Dim d As Date = dt(r)("dob")
If tn = tname.Text Or d = CDate(dob.Text).ToShortDateString Then
BindingContext(dt).Position = r
End If
Next
End Sub
Private Sub pic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pic.Click
Dim o As New OpenFileDialog
If o.ShowDialog = Windows.Forms.DialogResult.OK Then
pic.Image = Image.FromFile(o.FileName)
ms = New MemoryStream
pic.Image.Save(ms, pic.Image.RawFormat)
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
BindingContext(dt).Position = 0
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
BindingContext(dt).Position = BindingContext(dt).Count - 1
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
BindingContext(dt).Position -= 1
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
BindingContext(dt).Position += 1
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
gd()
End Sub
End Class
المشروع
![]()
إقتباس :هذا النموذج يعالج خطأ حفظ الصورة بطريقة جدا ذكيةهل افهم من هذا انك وجدت الحل؟
(30-06-18, 03:38 PM)سعود كتب : [ -> ]إقتباس :هذا النموذج يعالج خطأ حفظ الصورة بطريقة جدا ذكيةهل افهم من هذا انك وجدت الحل؟
(30-06-18, 05:47 PM)سعود كتب : [ -> ]![]()
(30-06-18, 07:11 PM)سعود كتب : [ -> ]![]()
اهم جزئية هي الضغط