رفتن به مطلب
  • 0

نحوه استفاده از ساعت ر لیست ویو و یا برنامه


dr.mohammad

سوال

با سلام من در برنامم لیست ویویی دارم که با توجه به متغیر هایی اطلاعاتی رو ذخیره می کنه یا به قول ساده تر تغیرات رو ذخیره میکنه

ListView2.AddSingleLine2(cur1.GetString("name") & "--"& cur1.GetInt("height"),cur1.GetInt("id"))
	

حالا من می خواهم زمان ثپت تغییرات (باتوجه به ساعت خود کاربر در گوشی) هم در لیست ویو ذکر بشه.

ممنون میشم از راهنماییتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

20 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

ببین، شما زمانی که این کاربر با قد t از دستگاه عبور میکنه ، یه تغییراتی توی دیتابیس میدی، حالا یا یه عددی رو عوض میکنی یا نمیدونم چیز دیگه، در همون کوئری، شما بیا زمان رو بگیر و وارد ستون مورد نظرت با ای دی مورد نظر بکن... کدهاش بالا هستن، و برات توضیحشون دادم، این از این

وقتی فرد با قد t از دستگاه عبور می کنه هیچ تغییری ایجاد نمیشه وقت یه عدده میگردیم تو دیتا بیس اگه با اون قد(قد از قبل تععین شده)یکی بود تو لیست ویو نمایش میده ولی هیچ تغییری تو دیتا بیس نمیده.بع می گید در کد بالا توضیح ددیم کدوم کد بالا؟ و بخش آخرشم نفهمیدم چی کار کنم

برای گرفتن تاریخ ، کد بالارو به این شکل عوض کن کد زیر هم تاریخ رو میده هم زمان رو و بینشون یه فاصله میذاره.... DateTime.Date(DateTime.Now) &" "& DateTime.Time(DateTime.Now)

بعد این کدو جای کدوم کد بنویسم دقیقا

ممنونم :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه عزیزم، شما کداتون رو ببینید، لاین دومی اصلا به وجود نمیاد توی لیست ویو چون سینگل لاین اد کردید، تو لاین اگر اد کنید کد شما کاملا درسته و کار میکنه

فقط همونطور که بالا گفتم به این دوستمون، این کد زمان ایجاد لیست ویو رو در اصل نمایش میده، اگر زمان تغییرات یا ورود اطلاعات به دیتایس رو لازم دارن، باید اون زمان رو هم وارد دیتابیس بکنن با کد شما..

 

بله من به یتا بیس اطلاعات میدم ولیست ویو اطلاعات دیتا بیسو را نشان میده

با این تفاسیر کدش چی میشه

بعد من کدتونو امتحان کردم ولی بازم نشد

یا به شکل زیر ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now),cur.getint("id"))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

کدهای لیست ویو رو حتما اشبتاه امتحان کردید که نشد

این از این

هنگام ذخیره اطلاعات توی لیست ویو 

شما باید زمان رو اینسرت کنی 

کد زیر رو بررسی کنید...

sql.ExecNonQuery("INSERT INTO TBL (id,name,date) VALUES ('1','shahab','"&DateTime.Date(DateTime.Now)&"')")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

SQL.ExecNonQuery("INSERT INTO tbl_height (id,name,height,time) VALUES (null,'"&EditText1.Text&"','"&EditText2.text&"','"&DateTime.Time(DateTime.Now)&"')")
	cur = SQL.ExecQuery("SELECT * FROM tbl_height")
ListView1.AddTwoLines2(cur.GetString("name") & "--"& cur.GetInt("height"),cur.GetInt("time"),cur.getint("id"))

من از این کد استفاده می کنم و از روی منطق باید درس باشه مثل کد شماست ولی نتیجه زیر رو دریافت می کنم

http://s6.picofile.com/file/8230162718/Screenshot_%DB%B2%DB%B0%DB%B1%DB%B5_%DB%B1%DB%B2_%DB%B2%DB%B7_%DB%B1%DB%B6_%DB%B2%DB%B3_%DB%B0%DB%B8.png

 یعنی بجای ساعت عدد صفر رو دریافت می کنم

در ضمن ستون time رو در دیتا بیس به صورتtext گرفتم

بعد این پروژه مربوط به اندازه گیری قد مربوطه، اگه یادتون باشه

بعد کد قبلیتونم کار کردم متوجه اشتباه شدم ولی با آپدیت اطلاعات قبلی ساعت همه به ساعت آپدیت بر می گشت

مممنون میشم راهمنمایی کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یادمه پروژه قبلیتو هموطن

الان متوجه نشدم، شما اپدیت رو مشکل دارید  یا ورود اطلاعات رو؟

اپدیت که اگه تمامی فیلد ها یه زمان رو میگیرن باید بیای و ای دی رو وارد کنی دیگه

مثه زیر

UPDATE tbl SET time = '2' WHERE id = 33

ای دی باید وارد بشه که ای دی های شما در اصل Value لیست ویو تون هستن....

قبل از اینسرت کد زیر رو بذارید ببینید بهتون چه چیزی رو نمایش میده

MSGBOX(DateTime.Time(DateTime.Now),"")

یه تست بزن 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه مشکلم این چیزی که شما گفتین نیست ولی اشکال نداره چون خودم فهمیدم

کد

cur.GetInt("time")

را باید به کد

cur.Getstring("time")

تغییر میدادم که خدارو شکر مشکلم از این بابت حل شد

ممنونم

----------------------------------------------------------------------------------------------------------------------

ولی من در همین موضوع  یه مشکل دیگه هم دارم

اگه یادتون باشه من یه ادیت تکست داشتم که نام و نام خانوادگی درآن نوشته می شد ویک ادیت تکست دیگه داشتم که قد را در آن می نوشتیم وکابر با وارد کردن آن ها یک اطلاعات اولیه به دیتا بیس ما میداد که خود کاربر می تونست اطلاعات وارد شده توسط خودش رو در listview1 مشاهده کند که الحمد الله در این مورد مشکلی نیست و مشاهده میشه بوسیله کد های زیر

SQL.ExecNonQuery("INSERT INTO tbl_height (id,name,height,time) VALUES (null,'"&EditText1.Text&"','"&EditText2.text&"','"&DateTime.Time(DateTime.Now)&"')")
	cur = SQL.ExecQuery("SELECT * FROM tbl_height")
	hasData = cur.RowCount
	
	For i = 0 To cur.RowCount - 1
	cur.Position = i
	

	ListView1.AddtwoLines2(cur.GetString("name") &"--"& cur.GetInt("height") ,cur.GetString("time"),cur.getint("id"))
    Next

پس تا الان اطلاعاتی را درون لیست ویو1 داریم

حالا از طریق دستگاه عددی ارسال میشه که ما اونو با t نمایش میدیم و با تغیرات برای بدست آوردن قد این متغیر به a تبدیل میشه با توجه به کد های زیر:

Sub calculate_print(t As Object)
    Label5.Text = t
	a = EditText3.Text-t
    Label2.Text = a
end sub

که در این هم مشکلی نیست و کاربر داره مقدار a را در label2 مشاهده می کنه

حالا ما میخواهیم این عدد a با اطلاعات از پیش تعیین شده توسط کاربر که در لیست ویو 1 (اطلاعات دیتا بیس) نمایش داده میشود چک شود(مثلا ما صد نفر ذخیره داریم) اگر a با یکی از قد های این صد نفر برابر بود اون سطر از  دیتا بیس گرفته بشه و در لیست ویو 2 نمایش داده بشه (که این لیست ویو نمایانگر این است که از این صد نفر چند نفر از زیر دستگاه رد شده و من برای این کار از کد زیر استفاده کردم(راستش نمی دونم درسته یا نه چون دستگاه پیشم نیست و هر پنج شنبه می تونم با دستگاه کار کنم چون در مدرسه است)

Sub calculate_print(t As Object)
    Label5.Text = t
	a = EditText3.Text-t
    Label2.Text = a
	cur1 = SQL.ExecQuery("SELECT * FROM tbl_height where height = '"& a &"'")
	
	For i = 0 To cur1.RowCount - 1
	cur1.Position = i
	ListView2.AddsingleLine2(cur1.GetString("name") & "--"& cur1.GetInt("height"),cur1.GetInt("id"))
	Next
	
	End Sub

(که ان شاءالله کار کنه)(این از کلیت)

و اما مشکل :

همانطور که مشاهده کردید بنده time در لیست ویو اول استفاده کردم که واقعا بدردم نمی خوره چون مهم نیست که کار بر در چه زمانی اطلاعاتو داده مهم اینکه در لیست ویو دم زمان به کار برده شه چون می خواهیم بدانیم که اون یک نفر(از صد نفر) که از دستگاه عبور می کنه در چه زمانی عبور کنه و این زمان با  زمانی که در لیست ویو1 مشخص شده مسلما فرق داره و نمیشه از همون استفاده کرد حالا ما اینجا با ید چی کار کنیم( این از مشکل اول)

------------------------------------------------------------------------------------------

و مشکل دوم :این زمان مشخص شده ممکنه در روز های مختلفی باشه مثلا دیتا بیس یه زمانی رو به ما میده  ممکنه امروز دیروز یا هفته پیش باشه اگه میشه حوه گذاشتن تایخ هم بگید

-----------------------------------------------------------------------------------------

و مشکل سوم(البته این مشکل به این تاپیک مربوط نیست خواشا این رو انتقال بدید چون آقا شهاب شما با کارم آشنایی دارید اینجا گفتم که در تاپیک جدید توضیح ندم دوباره)

من در پاک کردن خط های لیست ویو 1 مشکل ندارم و از کد زیر که خودتون زحمت کشیدین استفاده می کنم

Sub ListView1_ItemLongClick (Position As Int, Value As Object)
	SQL.ExecNonQuery("DELETE FROM tbl_height WHERE id = '"& Value &"'")
	ListView1.RemoveAt(Position)
End Sub

ولی این دیتا بیسو پاک می کنه که باز هم اهمیتی نداره چون ما می خواهیم پاک شه ومیشه

ولی در لیست ویو دوم چطور این کارو نجام بدیم به طوری که به لیست ویو 1 آسیبی نرسه چون یه نفر شاید بخواد ده دفه از زیر دستگاه رد شه و هر دفه نخواد اسمشو وارد کنه و اسمش کاملا ثابت باشه

-----------------------------------------------------------------------

خیلی طولانی شد سرتونو درد اووردم

ممنون میشم توضیح بدید :gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برده شه چون می خواهیم بدانیم که اون یک نفر(از صد نفر) که از دستگاه عبور می کنه در چه زمانی عبور کنه و این زمان با  زمانی که در لیست ویو1 مشخص شده مسلما فرق داره و نمیشه از همون استفاده کرد حالا ما اینجا با ید چی کار کنیم( این از مشکل اول)

 

 

 

wow من به جای شما دستم خسته شد عزیزم، خسته نباشی برای این همه تایپ، این از این

مشکل بالارو توضیح میدم

ببین، شما زمانی که این کاربر با قد t از دستگاه عبور میکنه ، یه تغییراتی توی دیتابیس میدی، حالا یا یه عددی رو عوض میکنی یا نمیدونم چیز دیگه، در همون کوئری، شما بیا زمان رو بگیر و وارد ستون مورد نظرت با ای دی مورد نظر بکن...

کدهاش بالا هستن، و برات توضیحشون دادم، این از این

 

 

 

و مشکل دوم :این زمان مشخص شده ممکنه در روز های مختلفی باشه مثلا دیتا بیس یه زمانی رو به ما میده  ممکنه امروز دیروز یا هفته پیش باشه اگه میشه حوه گذاشتن تایخ هم بگید

 

 

برای گرفتن تاریخ ، کد بالارو به این شکل عوض کن

کد زیر هم تاریخ رو میده هم زمان رو و بینشون یه فاصله میذاره....

DateTime.Date(DateTime.Now) &" "& DateTime.Time(DateTime.Now) 

 

ولی این دیتا بیسو پاک می کنه که باز هم اهمیتی نداره چون ما می خواهیم پاک شه ومیشه

ولی در لیست ویو دوم چطور این کارو نجام بدیم به طوری که به لیست ویو 1 آسیبی نرسه چون یه نفر شاید بخواد ده دفه از زیر دستگاه رد شه و هر دفه نخواد اسمشو وارد کنه و اسمش کاملا ثابت باشه

این قسمت رو متوجه نشدم دقیقا،یکم واضح تر توضیحش بده که ببینیم چیه جریان...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

اینطوری بنویس:
 

	 ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.GetHour(DateTime.Now)&DateTime.GetMinute(DateTime.Now)&DateTime.GetSecond(DateTime.Now))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

کدی که کاربر Zaker دادن بهتون میاد و زمانی که اطلاعات توی لیست ویو ریخته میشن رو به شما میده

اگه زمان ویرایش یا اپدیت اطلاعات یا اینسرت اطلاعات رو میخواین، باید هنگام ورود اطلاعات، زمان گوشی رو با روش کاربر ذاکر، بگیرید و اینجا هم مثل تیتر و متن و .... دریافتش کنید....

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون

بعد الان این کد ساعت گوشی خود کاربرو میده بعد تو دیتابیس لازمه ستونه جدیدی ایجاد کنم؟

بعد من هیچ اطلاعات قدیمی نمیدم بلکه دارم اطلاعات جدید میدم

اگه لابریری خاصی هم می خواد بفرستید

ممنون میشم توضیح دهید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون

بعد الان این کد ساعت گوشی خود کاربرو میده بعد تو دیتابیس لازمه ستونه جدیدی ایجاد کنم؟

بعد من هیچ اطلاعات قدیمی نمیدم بلکه دارم اطلاعات جدید میدم

اگه لابریری خاصی هم می خواد بفرستید

ممنون میشم توضیح دهید

کدهای ایجاد تغیرات در لیست ویوتو قرار بده تا اگه بلد بودم بهت بگم چطوری میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز من کد رو اجرا کردم ولی هیچ ساعتی ندیدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز من کد رو اجرا کردم ولی هیچ ساعتی ندیدم

برا من که نشون میده شاید تنظیمات لیست ویوتو بد نوشتی،اینو بنویس این بصورت فرمت ساعت میاره:

ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

جناب ذاکر این کد چیو برای شما نمایش میده؟

شما اومدید توی مقدار برگشتی ساعت رو گرفتید

مقدار توی ولیو ریخته میشه و چیزی که نمایش داده میشه فقط اینه

cur1.GetString("name") & "--"& cur1.GetInt("height") 

باید به شکل زیر باشه 

ListView2.AddTwoLines(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now))

یا به شکل زیر

ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now),cur.getint("id"))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

جناب ذاکر این کد چیو برای شما نمایش میده؟

شما اومدید توی مقدار برگشتی ساعت رو گرفتید

مقدار توی ولیو ریخته میشه و چیزی که نمایش داده میشه فقط اینه

cur1.GetString("name") & "--"& cur1.GetInt("height") 

باید به شکل زیر باشه 

ListView2.AddTwoLines(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now))

یا به شکل زیر

ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now),cur.getint("id"))

استاد شهاب عزیز

من تو کد اولی که گذاشتم تو لاین دوم لیست ویوم تایمو اینطوری نشون میده:212332

وتو کد دومی اینطوری نشون میده:21:23:32

والا نمیدونم چرا برا شما نشون نمیده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه عزیزم، شما کداتون رو ببینید، لاین دومی اصلا به وجود نمیاد توی لیست ویو چون سینگل لاین اد کردید، تو لاین اگر اد کنید کد شما کاملا درسته و کار میکنه

فقط همونطور که بالا گفتم به این دوستمون، این کد زمان ایجاد لیست ویو رو در اصل نمایش میده، اگر زمان تغییرات یا ورود اطلاعات به دیتایس رو لازم دارن، باید اون زمان رو هم وارد دیتابیس بکنن با کد شما...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نه عزیزم، شما کداتون رو ببینید، لاین دومی اصلا به وجود نمیاد توی لیست ویو چون سینگل لاین اد کردید، تو لاین اگر اد کنید کد شما کاملا درسته و کار میکنه

فقط همونطور که بالا گفتم به این دوستمون، این کد زمان ایجاد لیست ویو رو در اصل نمایش میده، اگر زمان تغییرات یا ورود اطلاعات به دیتایس رو لازم دارن، باید اون زمان رو هم وارد دیتابیس بکنن با کد شما...

بله درسته حواسم نبود من خودم تو گوشیم با تولاین اجرا کردم اینجا سینگل لاین2 بود من خیال کردم تولاینه؛

فرمایشه شما صحیحه استاد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

الان من اینو باید به این صورت بنویسم؟ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now),cur.getint("id"))

لینک ارسال
به اشتراک گذاری در سایت های دیگر

الان من اینو باید به این صورت بنویسم؟ListView2.AddTwoLines2(cur1.GetString("name") & "--"& cur1.GetInt("height"),DateTime.time(DateTime.now),cur.getint("id"))

اگر میخوای مقدار برگشتی ستون ای دی باشه که بعدا بتونی متن و ... رو نمایش بدی و ... اره

اگرم نه که کد اولی که دادمو استفاده کن.....

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بعد من مشکل کد قبلیرو نفهمیدم چرا کار نکرد اون مشکلش واقعا از کد بود یا من اشتباه زدم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...