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

نسخة كاملة : أريد تحويل كود من vb.net الئ C#
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
أن كان ممكن تحويل هذا الكود الئ C#





Imports System.IO
Imports System.Runtime.InteropServices

Public Class Form1


    <DllImport("shell32.dll")> _
    Private Shared Function SHFormatDrive(ByVal hwnd As IntPtr, ByVal drive As UInteger, _
             ByVal fmtID As UInteger, ByVal options As UInteger) As ULong
    End Function


    Private Enum SHFormatFlags As Integer
        SHFMT_ID_DEFAULT = &HFFFF
        SHFMT_OPT_FULL = &H1
        SHFMT_OPT_SYSONLY = &H2
        SHFMT_ERROR = &HFFFFFFFF
        SHFMT_CANCEL = &HFFFFFFFE
        SHFMT_NOFORMAT = &HFFFFFFD
        SHFD_FORMAT_FULL = 0   ' full format
        SHFD_FORMAT_QUICK = 1  ' quick format
    End Enum

    Private Sub FButton_Click_1(sender As System.Object, e As System.EventArgs) Handles FButton.Click
        If CBoxDrives.Text = "" Then
            MsgBox("No Drive Selected")
            Exit Sub
        End If
        Dim Iresult As ULong = SHFormatDrive(CType(Me.Handle.ToInt32, IntPtr), CUInt(Asc(CBoxDrives.Text.Substring(0, 1)) - Asc("A")), CUInt(SHFormatFlags.SHFMT_ID_DEFAULT), 1)
    End Sub

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        With FButton
        End With
        Me.Controls.Add(FButton)
        With CBoxDrives
            .DropDownStyle = ComboBoxStyle.DropDown
        End With
        Me.Controls.Add(CBoxDrives)

        Dim DrivesFound As Integer = 0
        Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
        Dim d As DriveInfo
        For Each d In allDrives
            If ((d.DriveType = DriveType.Fixed) Or (d.DriveType = DriveType.Removable)) AndAlso Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) = False Then
                CBoxDrives.Items.Add(d.Name)
                DrivesFound += 1
            End If
        Next
        CBoxDrives.SelectedIndex = DrivesFound - 1
    End Sub
End Class
تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;

لا تنسي اضافة Microsoft.VisualBasic من خلال References

الان تقوم باضافة الكود التالى خارج اى حدث
كود :
       [DllImport("shell32.dll")]
       private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);

       private enum SHFormatFlags : int
       {
           SHFMT_ID_DEFAULT = 0xFFFF,
           SHFMT_OPT_FULL = 0x1,
           SHFMT_OPT_SYSONLY = 0x2,
           SHFMT_ERROR = 0xFFFFFFF,
           SHFMT_CANCEL = 0xFFFFFFE,
           SHFMT_NOFORMAT = 0xFFFFFFD,
           SHFD_FORMAT_FULL = 0,   // full format
           SHFD_FORMAT_QUICK = 1  // quick format
       }

فى حدث الزر قم باضافة الكود التالى
كود :
           if (CBoxDrives.Text == "")
           {
               MessageBox.Show("No Drive Selected");
               return;
           }
           ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);

وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
           var FBlock = FButton;
           this.Controls.Add(FBlock);
           var CBlock = CBoxDrives;
           CBlock.DropDownStyle = ComboBoxStyle.DropDown;
           this.Controls.Add(CBoxDrives);

           int DrivesFound = 0;
           DriveInfo[] allDrives = DriveInfo.GetDrives();
           foreach (DriveInfo d in allDrives)
           {
               if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
               {
                   CBoxDrives.Items.Add(d.Name);
                   DrivesFound += 1;
               }
           }
           CBoxDrives.SelectedIndex = DrivesFound - 1;

كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
PHP كود :
CBoxDrivesFButton 

وتذكر بان FButton هو خاص بحدث الزر
(21-09-19, 06:28 PM)kiki كتب : [ -> ]تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;

لا تنسي اضافة Microsoft.VisualBasic من خلال References

الان تقوم باضافة الكود التالى خارج اى حدث
كود :
       [DllImport("shell32.dll")]
       private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);

       private enum SHFormatFlags : int
       {
           SHFMT_ID_DEFAULT = 0xFFFF,
           SHFMT_OPT_FULL = 0x1,
           SHFMT_OPT_SYSONLY = 0x2,
           SHFMT_ERROR = 0xFFFFFFF,
           SHFMT_CANCEL = 0xFFFFFFE,
           SHFMT_NOFORMAT = 0xFFFFFFD,
           SHFD_FORMAT_FULL = 0,   // full format
           SHFD_FORMAT_QUICK = 1  // quick format
       }

فى حدث الزر قم باضافة الكود التالى
كود :
           if (CBoxDrives.Text == "")
           {
               MessageBox.Show("No Drive Selected");
               return;
           }
           ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);

وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
           var FBlock = FButton;
           this.Controls.Add(FBlock);
           var CBlock = CBoxDrives;
           CBlock.DropDownStyle = ComboBoxStyle.DropDown;
           this.Controls.Add(CBoxDrives);

           int DrivesFound = 0;
           DriveInfo[] allDrives = DriveInfo.GetDrives();
           foreach (DriveInfo d in allDrives)
           {
               if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
               {
                   CBoxDrives.Items.Add(d.Name);
                   DrivesFound += 1;
               }
           }
           CBoxDrives.SelectedIndex = DrivesFound - 1;

كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
PHP كود :
CBoxDrivesFButton 

وتذكر بان FButton هو خاص بحدث الزر


طلعلي غلط بالكود الأخير
https://www.up-00.com/2zloyx1jeoxg

(21-09-19, 06:28 PM)kiki كتب : [ -> ]تفضل الكود بعد التحويل
فى البداية سيتم التاكد من اسدعاء التالى
كود :
using System.IO;
using Microsoft.VisualBasic;
using System.Runtime.InteropServices;

لا تنسي اضافة Microsoft.VisualBasic من خلال References

الان تقوم باضافة الكود التالى خارج اى حدث
كود :
       [DllImport("shell32.dll")]
       private static extern ulong SHFormatDrive(IntPtr hwnd, uint drive, uint fmtID, uint options);

       private enum SHFormatFlags : int
       {
           SHFMT_ID_DEFAULT = 0xFFFF,
           SHFMT_OPT_FULL = 0x1,
           SHFMT_OPT_SYSONLY = 0x2,
           SHFMT_ERROR = 0xFFFFFFF,
           SHFMT_CANCEL = 0xFFFFFFE,
           SHFMT_NOFORMAT = 0xFFFFFFD,
           SHFD_FORMAT_FULL = 0,   // full format
           SHFD_FORMAT_QUICK = 1  // quick format
       }

فى حدث الزر قم باضافة الكود التالى
كود :
           if (CBoxDrives.Text == "")
           {
               MessageBox.Show("No Drive Selected");
               return;
           }
           ulong Iresult = SHFormatDrive(this.Handle.ToInt32, Convert.ToUInt32((char)(CBoxDrives.Text.Substring(0, 1)) - Strings.Asc("A")), System.Convert.ToUInt32(SHFormatFlags.SHFMT_ID_DEFAULT), 1);

وبالنهاية فى حدث لود الفورم قم باضافة الكود التالى
كود :
           var FBlock = FButton;
           this.Controls.Add(FBlock);
           var CBlock = CBoxDrives;
           CBlock.DropDownStyle = ComboBoxStyle.DropDown;
           this.Controls.Add(CBoxDrives);

           int DrivesFound = 0;
           DriveInfo[] allDrives = DriveInfo.GetDrives();
           foreach (DriveInfo d in allDrives)
           {
               if (((d.DriveType == DriveType.Fixed) | (d.DriveType == DriveType.Removable)) && Environment.GetEnvironmentVariable("SYSTEMROOT").StartsWith(d.Name) == false)
               {
                   CBoxDrives.Items.Add(d.Name);
                   DrivesFound += 1;
               }
           }
           CBoxDrives.SelectedIndex = DrivesFound - 1;

كل ما تبقي عليك هو تغيير المسميات طبقاً لكل اسم اداء مستخدم لديك
والاسماء التى مطلوب النظر اليها
PHP كود :
CBoxDrivesFButton 

وتذكر بان FButton هو خاص بحدث الزر


طلعلي غلط بالكود الأخير

قم بازالة هذه الجملة من السطر

كود :
(char)
(22-09-19, 12:52 PM)kiki كتب : [ -> ]قم بازالة هذه الجملة من السطر

كود :
(char)

ظهر خطئ أخر

بخصوص هذا الخطاء
تاكد من اضافة هذا الملف بالمشروع
Microsoft.VisualBasic
(04-10-19, 03:50 PM)kiki كتب : [ -> ]بخصوص هذا الخطاء
تاكد من اضافة هذا الملف بالمشروع
Microsoft.VisualBasic

تم أضافه Microsoft.VisualBasic

أصبح الكود كلا أخطأء