ايران ويج

نسخه‌ی کامل: کامپوننت ياهو! YMSGPro
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
اين ديگه فکر نميکنم ديگه به کامپوننت ربط داشته باشه... لازم نيست تو هر فرم يک کنترل تعريف کنيد کافیه فقط از فرم دوم توابع کامپوننت فرم اول رو صدا بزنید
(۱۱-آذر-۱۳۸۹, ۱۹:۵۹:۰۶)CRazYFULL نوشته است: [ -> ]اين ديگه فکر نميکنم ديگه به کامپوننت ربط داشته باشه... لازم نيست تو هر فرم يک کنترل تعريف کنيد کافیه فقط از فرم دوم توابع کامپوننت فرم اول رو صدا بزنید

دقیقا منم همین کار رو کردم ...
کد:
ChatForm cf = new ChatForm(e.from, e.textMessage);
            cf.Show();
و در فرم دوم ...
کد:
msngr msn = new msngr();
            string buzzid = this.Name;
            msn.axYMSG1.PckBuzz(ref buzzid);
ولی هیچی ارسال نمیشه همین کد تو فرم اول بدون مشکل کار میکنه ...!
نمیدونم چه تنظیمی باید انجام بدم Sad
(۱۱-آذر-۱۳۸۹, ۱۸:۵۹:۱۳)CRazYFULL نوشته است: [ -> ]
(۱۱-آذر-۱۳۸۹, ۱۷:۳۳:۳۳)ostovarit نوشته است: [ -> ]یک مطلبی که الان بهش برخوردم اینه که در متن اگر حرف ـغ چسبان داشته باشیم مثل کلمه تبلیغات پیام ارسال نمیشه چکار باید کرد؟

مشکلش تو تبديل به utf-8 هست "تبلیــــغات"
اگه با C# کار میکنید خودتون قبل از ارسال جمله رو به utf-8 تبدیل کنید

مشکل از "ت" نبود بیشتر که تست کردم فهمیدم مشکل از حرف "ی" هستش ...
مثلا من از کد زیر برای تبدیل به utf-8 استفاده کردم حروف لاتین مشکلی نیست ولی فارسی ها علامت ؟ میشه ...
کد:
byte[] byteArray = Encoding.Default.GetBytes(SampleText);
            string finalString = Encoding.UTF8.GetString(byteArray);

کد زیر هم فارسی رو ساپورت میکنه ولی حرف "ی" رو نه ...
کد:
byte[] byteArray = Encoding.UTF8.GetBytes(advText);
            string finalString = Encoding.UTF8.GetString(byteArray);

اگر لطف کنید کد تبدیل رو به utf-8 با VB6 یا هر زبونی که کار میکنید بزارید تا از اون متوجه بشم باید چکار کنم ...
خاصیت supportFarsi رو False کنید در این صورت هیچ تغییری روی تکس ارسالی انجام نمیشه و مستقیما توسط سوکت ارسال میشه

کد:
Dim Buf() As Byte = System.Text.Encoding.UTF8.GetBytes("حرف ""ی"" هستش")
        AxYMSG1.PckSendMsg(TextBox3.Text, System.Text.Encoding.GetEncoding(0).GetString(Buf))
(۱۲-آذر-۱۳۸۹, ۰۷:۵۲:۵۷)CRazYFULL نوشته است: [ -> ]خاصیت supportFarsi رو False کنید در این صورت هیچ تغییری روی تکس ارسالی انجام نمیشه و مستقیما توسط سوکت ارسال میشه

کد:
Dim Buf() As Byte = System.Text.Encoding.UTF8.GetBytes("حرف ""ی"" هستش")
AxYMSG1.PckSendMsg(TextBox3.Text, System.Text.Encoding.GetEncoding(0).GetString(Buf))

با تشکر مشکل حل شد ... Happy
البته یک کلک رشتی هم سوار کرده بودم ... به جای حرف "ی" حرف "ی" عربی رو که دو نقطه زیرش داره جایگزین کردم ... مشکل حل شده بود ولی اصولی نبود Question

ممنون
(۱۶-تير-۱۳۸۹, ۲۳:۵۱:۳۷)CRazYFULL نوشته است: [ -> ]
(۱۶-تير-۱۳۸۹, ۱۸:۱۹:۵۲)scott200 نوشته است: [ -> ]سلام این کامپوننت هم میتونه یک ایدی رو Ignor بکنه اگه میتونه لطفاً کد اون رو هم بدین با تشکر

کد:
'Add to ignore list
Call YMSG1.SendPacket(YMSG1.YMSGHeader("85", "", "1À€" & FromID & "À€13À€1À€302À€319À€300À€319À€7À€" & ToUserID & "À€301À€319À€303À€319À€"))

'Remove from ignore list
Call YMSG1.SendPacket(YMSG1.YMSGHeader("85", "", "1À€" & FromID & "À€13À€2À€302À€319À€300À€319À€7À€" & ToUserID & "À€301À€319À€303À€319À€"))

پکت ایگنور تغییر کرده؟ برای من موفقیت امیز نبود من یکی از ایدی های اد لیستم رو ایگنور کردم ولی باز هم ازش پیام دریافت کرد ...

کد:
axYMSG1.SendPacket(axYMSG1.YMSGHeader("85", "", "1A€" + myID + "A€13A€1A€302A€319A€300A€319A€7A€" + targetID + "A€301A€319A€303A€319A€"));
نقل قول: پکت ایگنور تغییر کرده؟ برای من موفقیت امیز نبود من یکی از ایدی های اد لیستم رو ایگنور کردم ولی باز هم ازش پیام دریافت کرد ...

خودت داری ميگی ادليست، کسايی که تو ادليست باشن ايگنور نميشن
نقل قول: اينم پكتي كه براي InviteConference هست! فقط INVITE ميكنه!
FROM: آيدي كه باهاش كانكت شدين
TO: آيدي كسي كه ميخوايد دعوتش كنين
MESSAGE: پيغامي كه پيوست INVITE براي شخص ميرود!

کد:
YMSG1.SendPacket YMSG1.YMSGHeader("18", Chr(0) & Chr(0) & Chr(0) & Chr(0), "1À€FROMÀ€50À€FROMÀ€57À€FROM-1276370315À€58À€MESSAGEÀ€97À€1À€52À€TOÀ€13À€256À€")

هر پكتي كه ميخواين بگين براتون بزارمش!
با سلام آقای کرزی فول . آقا تورو به خدا شما یه کمکی به ما کن
الان بیشتر 2 ماهه که من دارم دنبال یه پکت کنفرانس میگردم اما چیزی گیرم نیومده
الان دارم ازتون خواهش میکنم این پکت رو واسه ما فراهم کنید خودتون گفتید هر پکتی بخواید بگید واستون میزارم.Sad
من چندتا پیام خصوصی دادم شما جواب ندادید
تو صفحه های قبلم یک پکت داده بودید که گفتید واسه کنفرانس 2 نفرست
کنفرانس 2نفره چه صیغه ایه ؟؟Whistle خوب مثله بچه آدم تو همون صفحه عادی چت میکنه دیگه Biggrin
حالا تو این تاپیک ازتون خواهش میکنم این پکت رو بزارید البته کار کنه ها
Whistle
ممنونSmile
با يه پکت نميشه کنفرانس تشکيل داد
شامل چندین پکت هست: پکت ساختن کنفرانس ،پکت دعوت کردن افراد بيشتر، پکت ورود به کنفرانس ،پکت رد دعوت، پکت فرستادن متن، و مديريت دريافت همه این پکت ها از ديگران.
ضمنا آیدی تمام اعضای کنفرانس داخل پکت های گرفته شده هست که باید مدیریت و جدا سازی بشه... و برای فرستادن پکت هم باید آیدی تمام اعضا رو توی پکتها وارد کنید

اگه یک ماه از این دو ماه رو صرف اسنیف کردن میکردید خودتون درستش کرده بودید
ممنون که جواب کامل دادید .
میخوام فقط افرادو به اون کنفرانس
دعوت منم که اونا با هم چت کنن . من نمیخوام توی کنفرانس پیامی بفرستم
اگه میشه یه توضیح در این مورد بدید ممنوم میشم
(۱۱-آذر-۱۳۸۹, ۲۰:۰۵:۲۷)ostovarit نوشته است: [ -> ]
(۱۱-آذر-۱۳۸۹, ۱۹:۵۹:۰۶)CRazYFULL نوشته است: [ -> ]اين ديگه فکر نميکنم ديگه به کامپوننت ربط داشته باشه... لازم نيست تو هر فرم يک کنترل تعريف کنيد کافیه فقط از فرم دوم توابع کامپوننت فرم اول رو صدا بزنید

دقیقا منم همین کار رو کردم ...
کد:
ChatForm cf = new ChatForm(e.from, e.textMessage);
cf.Show();
و در فرم دوم ...
کد:
msngr msn = new msngr();
string buzzid = this.Name;
msn.axYMSG1.PckBuzz(ref buzzid);
ولی هیچی ارسال نمیشه همین کد تو فرم اول بدون مشکل کار میکنه ...!
نمیدونم چه تنظیمی باید انجام بدمSad


بايد ابتدا در فايل تعريف فرم اولت "partial class Form1" تعريف شي ياهو را پيدا کني و اون را public کني.
بعد در Program.cs تابع اصلي برنامه ات را به اين شکل تغيير بدي.
کد php:
static class Program
 
{
 static public 
Form1 firstForm;
 
/// <summary>
 /// The main entry point for the application.
 /// </summary>
 
[STAThread]
 static 
void Main()
 { 
 
Application.EnableVisualStyles();
 
Application.SetCompatibleTextRenderingDefault(false);

 
firstForm = new Form1();

 
Application.Run(firstForm);
 }
 } 

حالا در ديگر فرم ها به راحتي ميتوني به اون شئ ياهو که در فرم اول ساختي دسترسی داشته باشی و اون را فراخواني کني.

کد php:
Program.Form1.AxYMSGObject 

راه دوم و ساده تر

سازنده ي فرم دوم را تغيير بده و يک آرگومان براي اون بذار
کد php:
private AxYMSGPro.AxMSG yaHoo;
 public 
Form2(AxYMSGPro.AxYMSG Yahoo)
 {


this.yaHoo Yahoo;
 
InitializeComponent();
 } 

حالا وقتي داري از فرم دوم new ميکني اون شئ مسنجرت را به عنوان ورودي بهش بده و بعد از اون در فرم دوم از شئ yaHoo استفاده کن.
[این دومیه روش انتقال دیتا از یک فرم به فرم دیگه هست]

صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16