0

آموزش های مرتبط با # c

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:آموزش های مرتبط با # c

Lightbulb تغییر اندازه عکس قبل از ذخیره در دیتابیس ...
سلام به همه ...
بعضی وقتا لازمه که عکس هم توی بانک ذخیره شه ، اما ممکن کاربر تصاویری در ابعاد مختلف رو انتخاب کنه !
با این چند خط میشه اندازه دلخواه رو در بانک ثبت کرد .
 
طبیعتا باس اول عکس رو انتخاب کرد :
 
کد PHP:
OpenFileDialog op = new OpenFileDialog(); 
            if (op.ShowDialog() == DialogResult.OK) 
            { 
                txtImage.Text = op.SafeFileName; 
                pictureBox1.ImageLocation = op.FileName;                
            }  
متد تغییر اندازه :
 
کد PHP:
using System.Drawing; 
public static Image resizeImage(Image imgToResize, Size size) 
        { 
            return (Image)(new Bitmap(imgToResize, size)); 
        }  
اصل کار اینجاست که قبل از کامل شدن بارگذاری عکس در pictureBox اندازه تغییر میکنه :
 
کد PHP:
private void pictureBox1_LoadCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) // تغییر اندازه تصویر قبل از ذخیره در بانک 
        { 
            pictureBox1.Image = resizeImage(pictureBox1.Image, new Size(80, 80)); 
        }  
البته ذخیره در بانک رو محض یادآوری میزارم ...
ریختن عکس در آرایه بصورت بیت :
 
کد PHP:
public static byte[] ImageToByte(Image img) 
        {           
            ImageConverter converter = new ImageConverter(); 
            return (byte[])converter.ConvertTo(img, typeof(byte[])); 
        }  
کلید ذخیره :
 
کد PHP:
string query = "Insert Into Pic (Nam, Pic) Values (@n, @P)"; 
            SqlCommand com1 = new SqlCommand(query, con1); 
            com1.Parameters.AddWithValue("@n", txtName.Text); 
            com1.Parameters.AddWithValue("@P", ImageToByte(pictureBox1.Image)); 
            con1.Open(); 
            com1.ExecuteNonQuery(); 
            con1.Close();  
-------------------------------
هیچ چیز مثل یاد گرفتن حال نمیده ! (مخصوصا واسه آدمای معمولی مث من)
اما بهتر از اون سریع یاد دادن به بقیه است !!!
.
.
.
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  1:51 AM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:آموزش های مرتبط با # c

Arrow تصادفی کردن آیتم های لیست با استفاده از Extension Method
خیلی وقتا پیش میاد که می خواییم در هر بار واکشی، لیستی از اطلاعات از دیتابیس، آیتم هایی رو بصورت تصادفی مرتب کنیم ، برای این کار به این شکل باید عمل کنیم
 
 
 
کد PHP:
public static class RandomExtentions 
    public static void Shuffle<T>(this IList<T> list) 
    { 
        Random rng = new Random(); 
        Thread.Sleep(100); 
        int n = list.Count; 
        while (n > 1) 
        { 
            n--; 
            int k = rng.Next(n + 1); 
            T value = list[k]; 
            list[k] = list[n]; 
            list[n] = value; 
        } 
    } 
}  
کد خیلی واضحه سوالی بود می تونید خصوصی مطرح کنید که اسپم نشه 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  1:52 AM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:آموزش های مرتبط با # c

Arrow پیدا کردن MAC Address از روی IP
با کمک توابع API میتونیم این کارو انجام بدیم
دقت کنید در صورتی که سیستمی که باهاش در ارتباط هستیم در رنج IP ما قرار نداشت هیچ خروجی نخواهیم داشت
 
کد PHP:
[System.Runtime.InteropServices.DllImport("Iphlpapi.dll", EntryPoint = "SendARP")] 
internal extern static Int32 SendArp(Int32 destIpAddress, Int32 srcIpAddress, byte[] macAddress, ref Int32 macAddressLength); 
  
public static System.Net.NetworkInformation.PhysicalAddress GetMacFromIP(System.Net.IPAddress IP) 
    if (IP.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) 
        throw new ArgumentException("supports just IPv4 addresses"); 
  
    Int32 addrInt = IpToInt(IP); 
    Int32 srcAddrInt = 0; 
    byte[] mac = new byte[6]; // 48 bit 
  
    int length = mac.Length; 
    int reply = SendArp(addrInt, srcAddrInt, mac, ref length); 
  
    byte[] emptyMac = new byte[12]; 
  
    if (reply != 0) 
    { 
        //No MAC Address found for the IP Address 
        return new System.Net.NetworkInformation.PhysicalAddress(emptyMac); 
    } 
    return new System.Net.NetworkInformation.PhysicalAddress(mac); 
  
private static Int32 IpToInt(System.Net.IPAddress IP) 
    byte[] bytes = IP.GetAddressBytes(); 
    return BitConverter.ToInt32(bytes, 0); 
}  

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  1:52 AM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:آموزش های مرتبط با # c

Lightbulb Merge کردن سلول هایی از گریدویو که مقدار یکسان دارند ...
سلام به همه ...
مرج کردن سلولهایی که مقدار مساوی دارن خیلی چیز مهمی نیست ولی چون خیلی دنبالش گشتم ، اینجا هم میزارم ! (عکس ضمیمه)
از یه سایت چینی گرفتم ! مواظب باشین سیستم نپوکه 
--------------------------------------------------
اول این متودها رو ایجاد کنین :
 
کد PHP:
bool IsTheSameCellValue(int column, int row) 
        { 
            DataGridViewCell cell1 = dataGridView1[column, row]; 
            DataGridViewCell cell2 = dataGridView1[column, row - 1]; 
            if (cell1.Value == null || cell2.Value == null) 
            { 
                return false; 
            } 
            if (cell1.Value.ToString() == cell2.Value.ToString()) 
            { 
                return true; 
            } 
            else 
            { 
                return false; 
            } 
        } 
 
        private bool IsRepeatedCellValue(int p1, int p2) 
        { 
            throw new NotImplementedException(); 
        } 
 
        private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
        { 
            if (e.RowIndex == 0) 
                return; 
 
            if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) 
            { 
                e.Value = ""; 
                e.FormattingApplied = true; 
            } 
        }  
حالا تو رویداد CellPainting این کد رو بنویسید :
 
کد PHP:
 private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) //  
        { 
            e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None; 
            if (e.RowIndex < 1 || e.ColumnIndex < 0) 
                return; 
            if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) 
            { 
                e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None; 
            } 
            else 
            { 
                e.AdvancedBorderStyle.Top = dataGridView1.AdvancedCellBorderStyle.Top; 
            }  
در آخر هم توی لود_فرم :
 
کد PHP:
dataGridView1.AutoGenerateColumns = false; 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  1:52 AM
تشکرات از این پست
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:آموزش های مرتبط با # c

سلام به همه ...
در خدمت دوستان هستیم با رنگ بندیی دیتاگریدویو (سطرها)
-----------------------------------------------------------------
کافیه در رویداد CellPainting کدای زیر رو بنویسید :
 
کد PHP:
if (e.ColumnIndex >= 0 && e.RowIndex >= 0 && (e.PaintParts & DataGridViewPaintParts.Background) == DataGridViewPaintParts.Background)            { 
    Color bColor1, bColor2; 
    if ((e.PaintParts & DataGridViewPaintParts.SelectionBackground) == DataGridViewPaintParts.SelectionBackground && 
        (e.State & DataGridViewElementStates.Selected) == DataGridViewElementStates.Selected) 
    { 
        bColor1 = e.CellStyle.SelectionBackColor; 
        bColor2 = Color.DarkBlue; 
    } 
    else 
    { 
        bColor1 = e.CellStyle.BackColor; 
        bColor2 = Color.LemonChiffon; 
    } 
    using (System.Drawing.Drawing2D.LinearGradientBrush b = new System.Drawing.Drawing2D.LinearGradientBrush(e.Cel  lBounds, bColor1, bColor2, System.Drawing.Drawing2D.LinearGradientMode.Horizo  ntal)) 
    { 
        e.Graphics.FillRectangle(b, e.CellBounds); 
    } 
    DataGridViewPaintParts paintParts = e.PaintParts & ~DataGridViewPaintParts.Background; 
    e.Paint(e.ClipBounds, paintParts); 
    e.Handled = true; 
}  
 
 

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

سه شنبه 22 اردیبهشت 1394  1:52 AM
تشکرات از این پست
دسترسی سریع به انجمن ها