تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[xamarin] تحويل الدوال من vb الى csharp xamarin
#1
السلام عليكم ورحمة الله وبركاته

لدي دالة تشفير وفك تشفير فيجوال بيسك دوت نت هل تحويلها الى  c sharp كفيل بعملها في xamarin؟
واذا احببت وضع الدالة في كلاس في هذه اللغة فكيف؟

اقصد ماذا اختار من Add new item

PHP كود :
 public string Encrypt(string textstring key)
 
       {
 
           try
            
{
 
               TripleDESCryptoServiceProvider crp = new TripleDESCryptoServiceProvider();
 
               UnicodeEncoding uEncode = new UnicodeEncoding();
 
               byte[] bytPlainText uEncode.GetBytes(text);
 
               MemoryStream stmCipherText = new MemoryStream();
 
               byte[] slt = {
 
           0,
 
           1,
 
           2,
 
           3,
 
           4,
 
           5,
 
           6,
 
           7,
 
           8,
 
           9,
 
           10,
 
           11,
 
           12
        
};
 
               Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(keyslt);
 
               byte[] bytDerivedKey pdb.GetBytes(24);

 
               crp.Key bytDerivedKey;
 
               crp.IV pdb.GetBytes(8);

 
               CryptoStream csEncrypted = new CryptoStream(stmCipherTextcrp.CreateEncryptor(), CryptoStreamMode.Write);

 
               csEncrypted.Write(bytPlainText0bytPlainText.Length);
 
               csEncrypted.FlushFinalBlock();
 
               return Convert.ToBase64String(stmCipherText.ToArray());
 
           }
 
           catch (Exception ex)
 
           {
 
               throw;
 
           }
 
       }
 
       public string Decrypt(string textstring key)
 
       {

 
           TripleDESCryptoServiceProvider crp = default(TripleDESCryptoServiceProvider);
 
           try
            
{
 
               crp = new TripleDESCryptoServiceProvider();
 
               UnicodeEncoding uEncode = new UnicodeEncoding();
 
               byte[] bytCipherText Convert.FromBase64String(text);
 
               MemoryStream stmPlainText = new MemoryStream();
 
               MemoryStream stmCipherText = new MemoryStream(bytCipherText);
 
               byte[] slt = {
 
           0,
 
           1,
 
           2,
 
           3,
 
           4,
 
           5,
 
           6,
 
           7,
 
           8,
 
           9,
 
           10,
 
           11,
 
           12
        
};
 
               Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(keyslt);
 
               byte[] bytDerivedKey pdb.GetBytes(24);
 
               crp.Key bytDerivedKey;
 
               crp.IV pdb.GetBytes(8);

 
               CryptoStream csDecrypted = new CryptoStream(stmCipherTextcrp.CreateDecryptor(), CryptoStreamMode.Read);
 
               StreamWriter sw = new StreamWriter(stmPlainText);
 
               StreamReader sr = new StreamReader(csDecrypted);
 
               sw.Write(sr.ReadToEnd);
 
               sw.Flush();
 
               csDecrypted.Clear();
 
               crp.Clear();
 
               return uEncode.GetString(stmPlainText.ToArray());
 
           }
 
           catch (Exception ex)
 
           {
 
               throw;
 
           }

 
       
لقد حولت الدالتين وجربتها بسي شارب(ليس xamarin) نجح التشفير وحدث اخطاء في الفك.


إقتباس :Severity Code Description Project File Line Suppression State

Error CS1503 Argument 1: cannot convert from 'method group' to 'char' Encrypt_test C:\Users\xxx\Desktop\Encrypt_test\txt_encrypt.cs 91 Active

التالي ملف الكلاس كله

PHP كود :
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace 
Encrypt_test
{
 
   class txt_encrypt
    
{

 
       //****


 
       public string Encrypt(string textstring key)
 
       {
 
           try
            
{
 
               TripleDESCryptoServiceProvider crp = new TripleDESCryptoServiceProvider();
 
               UnicodeEncoding uEncode = new UnicodeEncoding();
 
               byte[] bytPlainText uEncode.GetBytes(text);
 
               MemoryStream stmCipherText = new MemoryStream();
 
               byte[] slt = {
 
           0,
 
           1,
 
           2,
 
           3,
 
           4,
 
           5,
 
           6,
 
           7,
 
           8,
 
           9,
 
           10,
 
           11,
 
           12
        
};
 
               Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(keyslt);
 
               byte[] bytDerivedKey pdb.GetBytes(24);

 
               crp.Key bytDerivedKey;
 
               crp.IV pdb.GetBytes(8);

 
               CryptoStream csEncrypted = new CryptoStream(stmCipherTextcrp.CreateEncryptor(), CryptoStreamMode.Write);

 
               csEncrypted.Write(bytPlainText0bytPlainText.Length);
 
               csEncrypted.FlushFinalBlock();
 
               return Convert.ToBase64String(stmCipherText.ToArray());
 
           }
 
           catch (Exception ex)
 
           {
 
               throw;
 
           }
 
       }
 
       public string Decrypt(string textstring key)
 
       {

 
           TripleDESCryptoServiceProvider crp = default(TripleDESCryptoServiceProvider);
 
           try
            
{
 
               crp = new TripleDESCryptoServiceProvider();
 
               UnicodeEncoding uEncode = new UnicodeEncoding();
 
               byte[] bytCipherText Convert.FromBase64String(text);
 
               MemoryStream stmPlainText = new MemoryStream();
 
               MemoryStream stmCipherText = new MemoryStream(bytCipherText);
 
               byte[] slt = {
 
           0,
 
           1,
 
           2,
 
           3,
 
           4,
 
           5,
 
           6,
 
           7,
 
           8,
 
           9,
 
           10,
 
           11,
 
           12
        
};
 
               Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(keyslt);
 
               byte[] bytDerivedKey pdb.GetBytes(24);
 
               crp.Key bytDerivedKey;
 
               crp.IV pdb.GetBytes(8);

 
               CryptoStream csDecrypted = new CryptoStream(stmCipherTextcrp.CreateDecryptor(), CryptoStreamMode.Read);
 
               StreamWriter sw = new StreamWriter(stmPlainText);
 
               StreamReader sr = new StreamReader(csDecrypted);
 
               sw.Write(sr.ReadToEnd);
 
               sw.Flush();
 
               csDecrypted.Clear();
 
               crp.Clear();
 
               return uEncode.GetString(stmPlainText.ToArray());
 
           }
 
           catch (Exception ex)
 
           {
 
               throw;
 
           }

 
       }

 
       //***\\\


 
   }


الرد }}}
تم الشكر بواسطة:
#2
عليك ان تضيف () في نهاية sr.ReadToEnd

ساخبرك شغلة قد لاتعلمها بسبب انك هجمت على xamarin بدون ماتطرق الباب هههه
في xamarin هناك مايدعى ب PCL وهي مكتبات محمولة cross platform
هذه المكتبات تستطيع استخدام اكواد الفيجوال بيسك فيها ، بمعنى تقوم بكتابة اكوادك تبع الفيجوال بيسك في مكتبة منفصلة

ومن ثم تضيفها ك reference في مشروعك الاساسي وتستعدي الدالة.


------

ساقول كلمة وسامحوني عليها ، اعلبكم يبرمج بطريقة عشوائية ، يفتح كلاس يكتب كود هنا وهناك دون اتباع Pattern معين
دائما اخواني عند التعامل مع اي منصة سواء web, Android او غيرها ، يجب عليكم البحث عن افضل الاستراتيجيات للبرمجة
بمعنى Best Design Pattern ،  وعندما نتكلم عن xamarin لايوجد ماهو افضل من النمط MVC الذي يحقق مبدأي كتابة الكود الشهرين
loose coupling and high cohesion ، باطبع xamarin نفسها تنصح بشدة بكتابة تطبيقاتك باسلوب MVC




هل تعلم اخي سعود انك لو استعملت نمط MVC مع المكتبات المحمولة (PCL) ستتمكن من كتابة تطبيق الاندرويد ب 90% بالمئة باكواد فيجوال بيسك ..
نعم ، وال10% الاخرى ستكون مجرد استعاءات باسي شارب Smile

بصراحة ينقص هذا المنتدى الكثير من الفيديوهات والمقالات التي تتكلم عن xamarin وكيفية عمل تطبيقات فيها
لسوء الحظ املك الكثير من المعلومات في هذا المجال ولكن لايوجد عندي امكانية حاليا لعمل دروس.Sad
الرد }}}
#3
حليت مشكلة الدالة بالبحث عن دالة اخرى شبيهة لها لكن ساجربها في xamarin ان شالله

على فكرة الرسومات هذي ماافهمها نهائياSad ادخل محرر الكود واكتب واجربSmile

مشكلتي اخي الشاكي وبقية الاخوان السرعة فهي جبلتي والله المستعان
الدليل انني لم انتبه لمعلومة مهمة في مشاركتك لو كنت اعرفها كان ارحت بالي من عناء البحث والتفتيش
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته ، أخي الشاكي لله أريد أن أستسفر منك بخصوص الـ xamarin هل هي برنامج مستقل يتم تثبيته مع السي شارب أم هو أداة تابعة له وهل الـ xamarin تستطيع بواسطتة عمل تطبيقات للآندرويد والـ iOS والـ WindowsPhone أم فقط للآندرويد وماهو المترجم الذي يقوم بترجمة الكود لمنصات الأجهزة الذكية سواء الآندرويد أو غيره ، شكراً جزيلاً لك .
الرد }}}
تم الشكر بواسطة:
#5
Xamarin هي اضافة للفيجوال ستوديو2015  (كان بالسابق مشروع منفصل والان اشترته مايكرسوفت واصبح ضمن تقنياتها الخاصة)
ويمكنك هذا من صنع تطبيقات الهواتف الذكية بمختلف المنصات

يرجى الاطلاع على موقعهم الرسمي
https://www.xamarin.com/




وتعتبر افضل منصة لتطوير التطبيقات حاليا
حيث بامكانك عمل تطبيق يعمل اندرويد وios والwindows phone في نفس الوقت
وايضا يمكنك صنع واجهات احترافية بلغة xaml بنفس طريقة WPF



^ لاحظ تطبيقك يعمل على جميع الاجهزة بواجهات مختلفة قليلا ، في الحقيقة تقوم بتصميم واجهة واحدة فقط ، وتقوم xamarin بالتكفل بعمل تكامل للواجهة لاي منصة تريدها وذلك بواسطة نظام xamarin الجديد Xamarin.Forms




حيث كان بالسابق ، كل منصة يجب ان تطور لها واجهة خاصة ، ولكن كما ترى (على اليمين) اصبح موضوع الواجهات Shared ، كما هو الحال بالنسبة لأكواد البرمجة

وهذا الموضوع لايوجد عند اي تقنية اخرى Smile


وحيث ان السي شارب لغة موحدة بين جميع المنصات ، اكتب كودك مرة واحدة فقط وسيعمل عند الجميع (لكن طبعا مع بعض الاستثناءات)

Write once run anyware
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , Sajad , Sajad
#6
أهلا أخي الشاكي لله ، شكراً جزيلاً لك على هذه الإجابة الوافية والمثالية ، فعلاً إمكانية عجيبة للـ Xamarin وللسي شارب بشكل عام ، جزاك الله كل خير .
الرد }}}
تم الشكر بواسطة: Sajad , Sajad


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [نقاش] عانيت كثييرا بسبب XAMARIN (وجهة نظر) sniperjawadino 6 5,135 15-04-22, 01:55 AM
آخر رد: سعود
  [سؤال] مطلوب مبرمج xamarin خبرة فى اندرويد و اى او اس aymanemara 0 1,220 28-02-22, 01:05 AM
آخر رد: aymanemara
  [سؤال] XAMARIN.ANDROID و XAMARIN.FORMS sniperjawadino 2 2,315 25-01-20, 07:51 PM
آخر رد: sniperjawadino
  [نقاش] معانات ثقل XAMARIN sniperjawadino 2 2,178 10-01-20, 05:23 PM
آخر رد: sniperjawadino
  [سؤال] السلام عليكم عندى مشكله فى محاكى الخاص ب XAMARIN احمد عبد الحكيم 4 3,124 28-11-19, 01:37 PM
آخر رد: احمد عبد الحكيم
  [سؤال] Cordova أم Xamarin ؟ السندبااد 28 12,515 08-01-18, 12:26 AM
آخر رد: السندبااد
  [اقتراح] تنصيب ادوات تطويريه Xamarin APO 0 2,241 16-11-17, 04:14 AM
آخر رد: APO
  [سؤال] متطلبات العمل على Emulator !!! Xamarin ابو محمد القحطاني 2 4,247 27-08-17, 04:05 PM
آخر رد: محمد كريّم
  Xamarin حمزة احمد 1 2,298 09-08-17, 11:54 PM
آخر رد: محمد كريّم
  [C#.NET] محتاج مساعدتكم في Xamarin 0theghost0 0 2,147 02-04-17, 08:40 PM
آخر رد: 0theghost0

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم