الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود تحميل الملفات أحتاج لتحويله إلى #C

بدأه thekiller93 في 28 أغسطس 2010 · 2 رد · 464 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
' استيراد مجال الأسماء المناسب
Imports System.Net

Public Class Form1

    ' تعريف متغير عميل ويب
    Private WithEvents WebCli As New WebClient

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' كود تحميل الملف بشكل لامتزامن
        ' TextBox1 يحتوي على مسار الملف الكامل على الويب
        ' TextBox2 يحتوي على المسار الكامل الذي نريد تخزين الملف فيه على الحاسب
        WebCli.DownloadFileAsync(New Uri(Me.TextBox1.Text), Me.TextBox2.Text)
    End Sub

    ' حدث اكتمال تحميل الملف
    Private Sub WebCli_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebCli.DownloadFileCompleted
        MsgBox("Download Completed")
    End Sub

    ' حدث إظهار مؤشر التقدم
    Private Sub WebCli_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebCli.DownloadProgressChanged
        Me.ProgressBar1.Value = e.ProgressPercentage
        Me.Label1.Text = e.BytesReceived
        Me.Label2.Text = e.TotalBytesToReceive
        Me.Refresh()
    End Sub
End Class

المشكلة التي واجهتني هي موضوع withEvents التي ليس لها مقابل في #C وعندما جربت أدوت التحويل على النت أعطتني كود ولكن الكود الناتج لم يطلق الأحداث المفروض انطلاقها عند تقدم وانتهاء التحميل

يرجى تحويل الكود وإرفاق مشروع كمثال يعمل بصورة صحيحة علما بأن الكود يعمل بصورة ممتازة على VB

#2
	public partial class Form1 : Form
	{
    	private WebClient WebCli;
    	public Form1()
    	{
        	InitializeComponent();
        	WebCli = new WebClient();
        	WebCli.DownloadProgressChanged += new DownloadProgressChangedEventHandler(WebCli_DownloadProgressChanged);
        	WebCli.DownloadFileCompleted += new AsyncCompletedEventHandler(WebCli_DownloadFileCompleted);
    	}

    	private void WebCli_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
    	{
        	MessageBox.Show("Download Completed");
    	}

    	private void WebCli_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    	{
        	progressBar1.Value = e.ProgressPercentage;
        	label1.Text = e.BytesReceived.ToString();
    	}

    	private void button1_Click(object sender, EventArgs e)
    	{
        	WebCli.DownloadFileAsync(new Uri(textBox1.Text), textBox2.Text);
    	}
	}

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

تمام أخي

جزاك الله خيرا

1

مواضيع مشابهة