PDA

View Full Version : مبتدی: پیمایش داده های آبجکت



sajaaaaad
شنبه 11 مهر 1394, 16:01 عصر
سلام خدمت دوستان و استادان عزیز
.
من توی برنامم میخوام از وب سرویس استفاده کنم و زمانی که اطلاعات رو از وب سرویس و اینباکس میخونم خروجی به من یک آرایه از آبجکت میده که داخلش چندین تا فیلد داره. به اطلاعات توی این فیلدها باید چجوری دست پیدا کنم.
توی عکس معلومه. البته توی عکس آرایه فقط یک عنصر داره. حالا شما فرض کنین چندین تا عنصر باشه باید چجوری به فیلدهای هر عنصر دسترسی پیدا کنم..؟
135658
وقتی مثلا میزنم
objInbox[0].InboxID
نمیشناسه. نمیدونم چطور بهشون دسترسی پیدا کنم.

sajaaaaad
یک شنبه 12 مهر 1394, 06:49 صبح
کسی نمیدونه واقعا باید چکار کنم..؟ لطفا راهنمایی کنید.
با تشکر.

ژیار رحیمی
یک شنبه 12 مهر 1394, 10:17 صبح
سلام شرکت های رائه دهنده سرویس پیامک خودشان راهنمای استفاده از سرویس ارسال پیامک ار طریق winapp و webapp رو دارن.شما کدهاتونو باید هماهنگ با خروخی تابع فراخوانی بنویسی.اگر خروخی تابع از نوع Objectهست شما هم نوع رو در نظر بگیر.تا اونجایی که من کار کردم webservice های ارسال پیامک خروجی بصورت string یا آرایه ای از اون دارن.نوع آرایهObject رو به string تغییر بده ببین به جواب میرسی

sajaaaaad
یک شنبه 12 مهر 1394, 11:42 صبح
مرسی از راهنماییتون.
.
رفتم پیدا کردم اطلاعات رو ولی توی فایل راهنما هم گفته آرایه ای از نوع آبجکت inboxItem و اینباکسش گفته شامل اطلاعات زیر است.
135684
اومدم یک کلاس از روی inboxItem ساختم و از روش آرایه ایجاد کردم نشد. نمیدونم چکار کنم.

ژیار رحیمی
یک شنبه 12 مهر 1394, 14:23 عصر
آرایه رو از نوع InboxItem[] objInbox
تعریف کن

sajaaaaad
یک شنبه 12 مهر 1394, 15:23 عصر
مرسی از پاسختون.
.
ولی مشکل اینجاس که همچین دیتاتایپی وجود نداره.!!!!!
چیزی به نام InboxItem نداره سی شارپ..!
من خودمم تعریفش میکنم، یعنی یک کلاس به این نام ایجاد کردم و کل فیلدهارو داخلش تعریف کردم. ولی بازم ارور میده.
.
متن ارور


Cannot implicitly convert type 'SMSWebService.SunSmsService.InboxItem[]' to 'SMSWebService.InboxItem[]'

sajaaaaad
یک شنبه 12 مهر 1394, 15:25 عصر
اینم کلاسی که تعریف کردم.


namespace SMSWebService
{
class InboxItem
{
public long InboxID { get; set; }
public string SpecialNumber { get; set; }
public string SenderNumber { get; set; }
public string MessageBody { get; set; }
public string ReceiveDate { get; set; }
public string UDH { get; set; }
public InboxItem(long InboxID, string MessageBody, string ReceiveDate, string SenderNumber, string SpecialNumber, string UDH)
{
this.InboxID = InboxID;
this.MessageBody = MessageBody;
this.ReceiveDate = ReceiveDate;
this.SenderNumber = SenderNumber;
this.SpecialNumber = SpecialNumber;
this.UDH = UDH;
}
}
}

ژیار رحیمی
دوشنبه 13 مهر 1394, 05:54 صبح
دیتا تایپ رو اینجوری بنویس ببین باز به جواب میرسی یا نه

SMSWebService.SunSmsService.InboxItem[] objInbox

ژیار رحیمی
دوشنبه 13 مهر 1394, 06:07 صبح
این کد ارسال پیامک هست ببین این کد برای ارسال با سرویس شما جواب میدهد؟




private void button1_Click(object sender, EventArgs e)
{
long[] rec = null;
byte[] status = null;


//retval :
// Invalid User Pass=0,
// Successfull = 1,
// No Credit = 2,
// DailyLimit = 3,
// SendLimit = 4,
// Invalid Number = 5
// System IS Disable = 6
// Bad Words= 7
// Pardis Minimum Receivers=8
// Number Is Public=9


//Status :
// Sent=0,
// Failed=1


MyWebService.Send sms = new MyWebService.Send();


int retval = sms.SendSms("demo", "demo", txtRec.Text.Split(new char[] { ',' }), txtNum.Text, txtMsg.Text, false, "", ref rec, ref status);


MessageBox.Show(retval.ToString());


if (retval == 1)
{
for (int i = 0; i < status.Length; i++)
{
MessageBox.Show(status[i].ToString() + "|" + rec[i].ToString());


}
}




}

sajaaaaad
دوشنبه 13 مهر 1394, 06:53 صبح
دیتا تایپ رو اینجوری بنویس ببین باز به جواب میرسی یا نه

SMSWebService.SunSmsService.InboxItem[] objInbox

مرسی از پاسختون. جواب داد.
در مورد ارسال هم تقریبا میشه گفت مشابه همین کد شماس ولی خب سامانه ها تابع هاشون باهم متفاوته. مشکل اصلی من با پیمایش آبجکت بود که درست شد.
بازم ممنونم