PDA

View Full Version : سوال: ساعت داینامیک



sbfars
جمعه 05 شهریور 1389, 04:21 صبح
سلام
من می خواستم یک ساعت دینامیک ( متحرک ) در بخشی از سایت قرار بدم .
اما نمی دونم چگونه باید این ساعت رو در هر ثانیه تغییر داد .
در ضمن از جاوا هم نمی خوام استفاده کنم ، یکی از دلیل ها می تونه این باشه که من ساعت سرور رو می خوام نه ساعت کاربر و سایت نیز به زبان سی شارپ می باشد .
اگر راهنمایی کنید ممنون می شم .

صادق صدقی
جمعه 05 شهریور 1389, 08:00 صبح
سلام
من می خواستم یک ساعت دینامیک ( متحرک ) در بخشی از سایت قرار بدم .
اما نمی دونم چگونه باید این ساعت رو در هر ثانیه تغییر داد .
در ضمن از جاوا هم نمی خوام استفاده کنم ، یکی از دلیل ها می تونه این باشه که من ساعت سرور رو می خوام نه ساعت کاربر و سایت نیز به زبان سی شارپ می باشد .
اگر راهنمایی کنید ممنون می شم .


سلام عزیزه من
مثله اینکه تازه شروع کردی
ok
کمکت می کنم
شما یک Update Panel بگزار
یک لیبل هم توش بزار
id شو بزار lblTime

یک تایمر ادد کن
Interval شو بزار رویه 1000
در رویداد Tick بنویس


lblTime.Text=
DateTime.Now.ToShortTimeString()


همین
فقط بگم Script Manager هم لازم داری

اینکه گفتی جاوا نمی خوای
نمیشه
چون این هم یک نوع جاواست
ولی ساعت سیستم رو می گیره نه ساعت کاربر
--------------------
راجع به متحرکی هم که فکر کنم منظورت بیش ر این پسته منه اینه که شکا لیبل رو بزاری تویه یک تگه مارکی یو


یا از JQuery استفاده کنی که من jQuery رو توصیه می کنم


بگردی ساعت jQuery خوشگل پیدا می شه

sbfars
سه شنبه 09 شهریور 1389, 01:35 صبح
سلام ، خسته نباشید .
من تمام این مراحل رو انجام دادم و روی سیستم خودم درست جواب می ده اما روی هاست که می زارم پیغام خطا میده .

مشاهده خطا :
http://barnamenevis.org/forum/attachment.php?attachmentid=55073&stc=1&d=1283200669
http://barnamenevis.org/forum/attachment.php?attachmentid=55073&stc=1&d=1283200669

صادق صدقی
سه شنبه 09 شهریور 1389, 03:46 صبح
ببین اینو
همونطور که گفتم که انجام ندادی قربونت شم

من انجام دادم رو هاست هم گذاشتم
ببین!!!
لینک هاست (http://www.dvd9movie.com/EshopeFilm/clock.aspx)

آلان ماله من هم ارورر داره؟
دقت کن!!!!!:چشمک:

صادق صدقی
سه شنبه 09 شهریور 1389, 03:50 صبح
ولی از من میشنوی جاوا کار کن

این بازم اون سرعتی که باید داشته باشه مثله جاوا نداره!!!!
از من گفتن بود

sbfars
سه شنبه 09 شهریور 1389, 04:28 صبح
فایل web.config هم باید تغییر کند . من بدون فایل web.config کپی کردم بازم خطا داد اما بعد از آپلود فایل مشکل رفع شد .
مشکل اینه که جاوا ساعت کامپبوتر کاربر رو نشون می ده درصورتی که asp ساعت سرور . آیا جاوا می تونه ساعت سرور رو نشون بده ؟

صادق صدقی
سه شنبه 09 شهریور 1389, 06:54 صبح
سلام
خوشحالم مشكلت حل شد
:قلب:

کار نشد نداره
حتما می شه
بپرس
من متاسفانه با توجه به علاقه شدیدی که به جاوا دارم اما زیاد ازش سر در نمی یارم

تحقیق کن
خبرشو هم از طریق پیام خصوصی بهم بده

امید وارم The Bessssst شی

Himalaya
سه شنبه 09 شهریور 1389, 14:59 عصر
یه بار ساعت سرور رو بگیر بعد با 7،8 خط کد جاوا خودت تغییر ساعت رو پیاده سازی کن.
توی body از


onload="window.setInterval('TimeShow()',1000)"

استفاده کن تا تابع TimeShow تو جاوا رو هر 1 ثانیه فراخونی کنی

fakhravari
دوشنبه 09 آبان 1390, 04:39 صبح
با سلام
برنامه ساعت بالا برای من اجرا می شه و مشکلی نداره.
فقط اسکولور صفحه هم با 1 ثانیه تغیر حرکت میکنه:گیج:
دوستان کمک کنند:لبخند:

A.S.Roma
دوشنبه 09 آبان 1390, 10:16 صبح
همیشه سعی بر این بوده که از Transaction بین کلاینت و سرور کاسته بشه .
اینکه واسه نمایش ساعت هر 1 ثانیه یکبار یک Request بفرستیم اصلا" منطقی نیست !

fakhravari
دوشنبه 09 آبان 1390, 13:47 عصر
با سلام A.S.Roma
یه نمونه معرفی کنید

Himalaya
دوشنبه 09 آبان 1390, 16:14 عصر
سلام

یه نمونه معرفی کنیدطرز کار رو تو پست 8 گفتم. (ولی احتمالا منظور شما از نمونه، کد هستش)

فرض کن کدای صفحه Default به این صورت هستن


<head runat="server">
<script src="DateTime.js" type="text/javascript"></script>
</head>
<body onload="SetTime('<%= GetIranTime(DateTime.UtcNow.AddHours(3.0).AddMinut es(30.0)) %>')">
<form id="form1" runat="server">
<div id="lblTime">
</div>
</form>
</body>و کدای فایل DateTime.js


var _sec, _min, _hour;

function SetTime(time) {
_hour = time.split(':')[0];
_min = time.split(':')[1];
_sec = time.split(':')[2];
RefreshDateTime();
}

function RefreshDateTime() {
if (++_sec >= 60) {
_sec = 0;
_min++;
}
if (_min >= 60) {
_min = 0;
_hour++;
}
if (_hour >= 24)
_hour = 0;

document.getElementById('lblTime').innerHTML = (_hour.toString().length == 1 ? "0" + _hour : _hour) + ":" +
(_min.toString().length == 1 ? "0" + _min : _min) + ":" +
(_sec.toString().length == 1 ? "0" + _sec : _sec);
window.setTimeout("RefreshDateTime()", 1000);
}و یه تابع تو Code Behind صفحه Default


public string GetIranTime(DateTime dateTime)
{
return string.Format("{0}:{1}:{2}", dateTime.Hour, dateTime.Minute, dateTime.Second);
}

تو onload تگ Body، یکبار زمان سرور گرفته میشه و از این به بعد جاوا اسکریپت مسئول تفییر دادن این زمان هستش.

fakhravari
دوشنبه 09 آبان 1390, 19:14 عصر
با سلام
در اخر به چه شکل نشان دهم؟:قلب:
onload="window.setInterval('TimeShow()',1000)"

Himalaya
دوشنبه 09 آبان 1390, 19:31 عصر
سلام

در اخر به چه شکل نشان دهم؟
:متفکر:

تو پست 8، یه راهنمایی کلی کردم، گفتی نمونه میخوام. تو پست 12 مثال کاملشو گذاشتم، تازه رفتی سراغ پست 8

کدارو همونطور که گفتم تو پروژت قرار بده، بعد اجراش کن. تگ

<div id="lblTime">
خودش زحمت نمایش زمان رو میکشه.

m.toosi
سه شنبه 10 آبان 1390, 14:10 عصر
من هم برنامه ساعت رو دانلود کردم و در برنامه ام اجرا کردم
ولی مشکل داره چون این ساعتی که به ما میده ساعت سیستم هست حالا اگر سرور یک کشور دیگه باشه ساعت اونجا رو بهمون نشون میده
خوب به چه صورت بنویسم که هم با تایمر مثل نمونه بالا کار کنه و هم ساعت ایران رو نشون بده؟

Himalaya
سه شنبه 10 آبان 1390, 14:32 عصر
سلام
:گریه: بابا کدای بالا رو بزارت تو پروژت و تموم دیگه. هم ساعت ایران رو نشون میده (نسبت به زمان سرور، تو هر کشوری که هست) ، هم تغییر ساعت با جاوا اسکریپت انجام میشه، هم ...

تو onload تگ Body، یکبار زمان سرور گرفته میشه و از این به بعد جاوا اسکریپت مسئول تفییر دادن این زمان هستش.
خوب به چه صورت بنویسم که هم با تایمر مثل نمونه بالا کار کنه و هم ساعت ایران رو نشون بده؟اگه منظورت استفاده از تایمر خود vs هستش، اون حالت، بدترین حالتی هستش که واسه این منظور میتونی ازش استفاده کنی. حالا خود دانی

m.toosi
سه شنبه 10 آبان 1390, 14:51 عصر
سلام

:متفکر:

تو پست 8، یه راهنمایی کلی کردم، گفتی نمونه میخوام. تو پست 12 مثال کاملشو گذاشتم، تازه رفتی سراغ پست 8

کدارو همونطور که گفتم تو پروژت قرار بده، بعد اجراش کن. تگ

<div id="lblTime">
خودش زحمت نمایش زمان رو میکشه.

داخل این تگ چی بنویسم؟؟؟

با عرض پوزش من مدتیه برنامه نویسی نکردم
و همونایی که یاد داشتم یادم رفته
ممنون از لطفت

Himalaya
سه شنبه 10 آبان 1390, 14:57 عصر
داخل این تگ چی بنویسم؟؟؟
هیچی. شما به غیر از کارایی که تو پست 12 گفتم لازم نیست کار دیگه ای انجام بدید
اون تگ Div هر جا تو صفحه قرار بگیره، زمان توش نمایش داده میشه.

m.toosi
سه شنبه 10 آبان 1390, 15:01 عصر
<font color="#ff0000">onload</font><font color="#0000ff">="window.setInterval('TimeShow()',1000)"</font>
نمیدونم کد بالا رو کجا قرار بدم؟؟؟
و خوب lblTime رو چی تعریف کنم .... مگر احتیاج نیست تو CSS تعریف بشه ؟ من کد خاصی رو برای اون ندیدم که نوشته باشی

Himalaya
سه شنبه 10 آبان 1390, 15:21 عصر
نمیدونم کد بالا رو کجا قرار بدم؟؟؟
کد پست 8 رو بیخیال شید. کدای کامل تو پست 12 گفته شده

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

مگر احتیاج نیست تو CSS تعریف بشه ؟
CSS واسه چی؟ من جایی حرف از CSS زدم؟

ببین یه پروژه جدید ایجاد کن و کدای پست 12 رو به همون صورت که گفتم، وارد این پروژه کن. تموم که شد پروژه رو اجرا کن. چیز سختی نیست

fakhravari
سه شنبه 10 آبان 1390, 15:37 عصر
با سلام
نمونه کار کد های بالا

m.toosi
سه شنبه 10 آبان 1390, 16:16 عصر
با سلام
نمونه کار کد های بالا
ممنون برنامه شما اجرا میشه
ولی وقتی همین کد هارو داخل سایت خودم قرار میدم اجرا نمیشه و خطا میده

درضمن من با VB مینویسم و البته #C رو تبدیل کردم به VB

Public Function GetIranTime(ByVal dateTime As DateTime) As String
Return String.Format("{0}:{1}:{2}", dateTime.Hour, dateTime.Minute, dateTime.Second)
End Function



من کلا کد های پست 12 رو گذاشتم تو سایت درسته دیگه
ولی هنوز نفهمیدم مشکلش چیه
اصلا نشون نمیده تو سایتم

m.toosi
سه شنبه 10 آبان 1390, 16:50 عصر
این هم یک عکس از خطا مورد نظر
http://up7.iranblog.com/images/jtij1rvplh9sr34mohzz.jpg

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

<body onload="SetTime('<%= GetIranTime(DateTime.UtcNow.AddHours(3.0).AddMinut es(30.0)) %>')" >

m.toosi
سه شنبه 10 آبان 1390, 17:08 عصر
دست گل همتون درد نکنه
بعد از چن ساعت وقت گذاشتن بالاخره درست شد
ویژوالم قاطی داره : دی

Himalaya
سه شنبه 10 آبان 1390, 17:33 عصر
منشا که مشخصه. سوتی انسانی :چشمک:
یعنی تفاوت بین DateTime.js با DataTime.js مشخص نیست؟

m.toosi
سه شنبه 10 آبان 1390, 21:26 عصر
آها راست گفتیا
چه سوتی دادم
جمیعا عضر میخوام
من هواسم پرته :خجالت: