نمایش نتایج 1 تا 2 از 2

نام تاپیک: وجود کد کاراکتر با کد اسکی 0 در رشته

  1. #1

    وجود کد کاراکتر با کد اسکی 0 در رشته

    سلام خدمت اساتید گرامی

    یه سول داشتم که خیلی گشتم ولی پیدا نکردم. من بنا به دلایلی مجبورم توی رشته ام از کاراکتری با کد اسکی صفر استفاده کنم. یک ocx توی vb نوشتم که یه تابع رشته ای رو برام بر میگردونه که حاوی کد chr(0) هست این کد خیلی لازمه و نمی تونم چیز دیگه ای به جاش بزارم.

    حالا از اون ocx تو C#‎ استفاده کردم ولی هنگامی که اون تابه رو صدا می زنم و نتیجه رو توی یک متغیر رشته ای میزارم؛ رشته فقط تا اونجایی که کاراکتر chr(0) هست رو بر میگردونه. دلیلش رو میدونم که توی C#‎ آخر رشته 0 یا همون \0 یا NULL قرار میگیره. ولی من به بقیه رشته هم احتیاج دارم. یه ایده اینه که توی همون ocx طول رشته رو هم بفرستم. ولی توی C#‎ چجوری باهاش کار کنم؟

    اگه راه حل دیگه ای هم هست بهم بگید. مرسی

  2. #2

    نقل قول: وجود کد کاراکتر با کد اسکی 0 در رشته

    نقل قول نوشته شده توسط akbar8298 مشاهده تاپیک
    سلام خدمت اساتید گرامی

    یه سول داشتم که خیلی گشتم ولی پیدا نکردم. من بنا به دلایلی مجبورم توی رشته ام از کاراکتری با کد اسکی صفر استفاده کنم. یک ocx توی vb نوشتم که یه تابع رشته ای رو برام بر میگردونه که حاوی کد chr(0) هست این کد خیلی لازمه و نمی تونم چیز دیگه ای به جاش بزارم.

    حالا از اون ocx تو C#‎ استفاده کردم ولی هنگامی که اون تابه رو صدا می زنم و نتیجه رو توی یک متغیر رشته ای میزارم؛ رشته فقط تا اونجایی که کاراکتر chr(0) هست رو بر میگردونه. دلیلش رو میدونم که توی C#‎ آخر رشته 0 یا همون \0 یا NULL قرار میگیره. ولی من به بقیه رشته هم احتیاج دارم. یه ایده اینه که توی همون ocx طول رشته رو هم بفرستم. ولی توی C#‎ چجوری باهاش کار کنم؟

    اگه راه حل دیگه ای هم هست بهم بگید. مرسی
    ساختار رشته در #C رو نمی توانید تغییر بدهید، ناچار هستید که کد ویژوال بیسیک تون رو طوری تغییر بدهید که خروجی اش آرایه ای از بایت ها باشه یعنی ()Byte تحویل بده.
    فرضا اگه کد اینطوری یه :

    Public Property Get Value() As String
    Value = "sample" + Chr(0) + "string"
    End Property


    اینطوری اش کنید :

    Public Property Get Value() As Byte()
    Value = "sample" + Chr(0) + "string"
    End Property

    این کد بالا همون String رو بصورت یک آرایه ای از بایت ها (Unicode) بر می گردونه.

    در #C برای تبدیل کردن اون آرایه به string چنین خواهید نوشت :

    byte[] bytes = YourComponent.Value;
    string s = UnicodeEncoding.Unicode.GetString(bytes);

تاپیک های مشابه

  1. سوال: تشخیص وجود یک کاراکتر در رشته
    نوشته شده توسط mohsen.shojaee در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 29 اردیبهشت 1390, 13:20 عصر
  2. تبدیل کاراکتر به کد اسکی و بلعکس
    نوشته شده توسط seniamail در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 14 آبان 1387, 09:24 صبح
  3. بدست آوردن کد اسکی یک رشته
    نوشته شده توسط آرام جان گل در بخش VB.NET
    پاسخ: 1
    آخرین پست: سه شنبه 23 بهمن 1386, 13:59 عصر
  4. تابعی که یک کاراکتر مشخص را از یک رشته خذف کند
    نوشته شده توسط reza_N در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 04 فروردین 1386, 23:15 عصر
  5. کنترل وجود داشتن یک تابع با داشتن یک رشته
    نوشته شده توسط once4ever در بخش C#‎‎
    پاسخ: 7
    آخرین پست: یک شنبه 17 اردیبهشت 1385, 20:04 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •