تقييم الموضوع :
  • 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
الرد }}}}
تم الشكر بواسطة: سعود , سعود , Ahmed_Mansoor , myalsailamy , السندبااد
#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
#6
أهلا أخي الشاكي لله ، شكراً جزيلاً لك على هذه الإجابة الوافية والمثالية ، فعلاً إمكانية عجيبة للـ Xamarin وللسي شارب بشكل عام ، جزاك الله كل خير .
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [C#.NET] هل يوجد امثلة للتعامل مع Xamarin 0theghost0 1 187 23-09-16, 04:09 PM
آخر رد: أبو عمر
  [سؤال] هل يمكننى الاستغناء عن Android Studio - Java والبرمجة ب Xamarin - #C نور الدين وليد 9 541 31-07-16, 09:19 AM
آخر رد: الشاكي لله
  [xamarin][زامرين] لماذا لا يقبل حجم مثل 33 كحجم نص سعود 0 87 30-07-16, 04:47 PM
آخر رد: سعود
  [سؤال] نداء للاخ سعود بخصوص xamarin حريف برمجة 9 265 23-06-16, 01:56 AM
آخر رد: سعود
  [xamarin] مجلدات اخرى بماذا تستخدم سعود 2 147 12-05-16, 01:45 AM
آخر رد: سعود
  [xamarin] كيف اضيف كل احداث نقر الازرار لحدث واحد مثل.. سعود 1 128 12-05-16, 01:15 AM
آخر رد: الشاكي لله
  كود قد يفيد في تحويل مستند html الى نص فقط سعود 0 81 10-05-16, 04:31 AM
آخر رد: سعود
  [xamarin] هل هناك ضبط معين لترتيب الادوات حتى لا يغطي احدها على الاخر سعود 6 153 10-05-16, 03:30 AM
آخر رد: سعود
  [xamarin] هل يوجد في اللغة ما يسمى بالمسارات المتعددة؟ سعود 8 196 09-05-16, 11:14 PM
آخر رد: الشاكي لله
  [xamarin] لماذا الخيار معطل Export Android Package(.Apk) سعود 3 156 09-05-16, 12:46 AM
آخر رد: الشاكي لله

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


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