PDA

View Full Version : سوال: ارساب پيام به كاربر



مائده 100
سه شنبه 10 اسفند 1389, 16:21 عصر
باسلام مي خواستم برنامه هر ده دقيقه برنلمه رو چك كنه اگه كاربري پيام داشته باشه براش ارسال كنه يه نمونه برنامه اگه در اين مورد دارين برام بذارين

Mask
سه شنبه 10 اسفند 1389, 16:33 عصر
این چه سوالیه.
هم عنوانت غلط املایی داره هم متنت.
لطف کن لا اقل سوالی که میپرسی رو یکم توضیح بدید.
پیام کجا :
چه برنامه ای:
توضیح کامل در مورد سوال = به جواب رسیدن سریع

مائده 100
چهارشنبه 11 اسفند 1389, 09:01 صبح
كسي به شما نگفته حتما بايد جواب بدين
ممنون خيلي راهنمايي كردين واقعا مشكلمو حل كردين

Felony
چهارشنبه 11 اسفند 1389, 10:57 صبح
وقتی تو یک جمع عمومی فعالیت میکنید قبل از هر کاری باید احترام افراد رو نگه دارید ، وقتی شما در یک تالار عمومی سوالی مطرح میکنید هر کسی که از عهدش بر بیادبه سوالتون پاسخ میده ، شمایی که سوال پرسیدنتون اشکال داره وقتی کسی بهتون این اشکال رو گوشزد میکنه باید مشکل خودتون رو برطرف کنید نه اینکه با جبهه گیری باعث کدورت بشید و اون رو از پاسخ دادن به سوالات بعدیتون منصرف کنید ، این اصلی ترین شرط برای فعالیت در همچین جمع هایی هست .

درکل ؛
- چه برنامه ای ؟
- کدوم کاربر ؟
- چه پیغامی ؟
- از کجا پیغام داشته باشه ؟
- به کجا ارسال کنه ؟

nilidelphi
چهارشنبه 11 اسفند 1389, 11:24 صبح
دوست گرامی سوالتون واقعا خوب واضح نیست ولی من یه چیزایی فهمیدم:
اگه برنامه تون تحت شبکه نیست فکر کنم می خواهید هر چند وقت یه چیزی رو چک کنه و به کاربری که داره از برنامه استفاده میکنه خبر بده
مثلا مثل Nod32 .
اگه منضورتون یه همچین پیغام هایی هست می تونید از بالون استفاده کنید و از خاصیت CustomHint عنصر مورد نظر استفاده کنید.

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

طبق سوالتون این تنها جوابیه که میشه داد.اگه جواب نگرفتین سوالتون رو بهتر مطرح کنید لطفا.

موفق باشین.

hadisalahi2
چهارشنبه 11 اسفند 1389, 21:49 عصر
برای این کار ساده ترین روش استفاده از تایمره که هر چند ثانیه یک بار جدول بانک اطلاعاتی که پیام ها داخلش ذخیره شده رو چک کنه.
برای این کار هم باید حداقل باید با دستورات اس کیو ال آشنا باشی
یا حق

Vahid.Shatery
جمعه 13 اسفند 1389, 23:31 عصر
با سلام
من دقیقا می دونم سوالشون چیه . چون همچین برنامه ای برای شرکت خودمون نوشتم.
به این صورت که افراد مختلف با نام کاربری و رمز عبور های مختلف وارد برنامه میشن و می تونن برای افراد و همکاران دیگه پیام بفرستن .حالا کاربر جدید که وارد می شه اگه تو صندوق پیامش پیامی مربوط به خودش داشته باشه نشون بده .
فکر می کنم همینه .
من نمونه کدی که خودم نوشتم را می ذام .
ولی بسته به جداول و کارائی های خودت باید تغییرش بدی .
شاید متوجه شدن این کد به دلیل پیچیدگی مشکل باشه .
در صورت نیاز با تماس با من یا ایمیل می تونم کامل راهنمائی کنم .
تو کد زیر متون فارسی را با یک فونت دیگه نشون می ده . پیام هایی مانند این که ( در صندوق شما چند پیام خوانده نشده وجود دارد .)

procedure TfrmMain.TimerNewMsgTimer(Sender: TObject);
begin
with ADOQuery1 do
begin
close ;
sql.Text := ' SELECT Count(*) AS tt FROM tblMsg WHERE (((tblMsg.[ISReadMsg])= 0) AND ((tblMsg.[xCodeRecivePerson])= ' + frmLogin.edPerno.Text + '))' ;
open ;
if FieldByName('tt').AsInteger <> 0 then
begin

if cbShowMessage.ItemIndex = 0 then
begin
frmMain.StatusBar.Panels[0].Text := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;
ShowMesegeDialog.Execute ;
ShowMesegeDialog.MessageText := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;

if frmMain.StatusBar.Panels[0].PanelStyle.Font.Color = clMaroon then
begin
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clNavy ;
end
else
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clMaroon ;
end
else

frmMain.StatusBar.Panels[0].Text := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;
if frmMain.StatusBar.Panels[0].PanelStyle.Font.Color = clMaroon then
begin

frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clNavy ;
end
else
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clMaroon ;

end
else
begin
frmMain.StatusBar.Panels[0].Text := ' ' ;
exit ;
end;
end;
end;
http://30morghsms.com/1.JPG

Mask
شنبه 14 اسفند 1389, 11:56 صبح
کدتون رو در بلوک کد قرار بدید.

procedure TfrmMain.TimerNewMsgTimer(Sender: TObject);
begin
with ADOQuery1 do
begin
close ;
sql.Text := ' SELECT Count(*) AS tt FROM tblMsg WHERE (((tblMsg.[ISReadMsg])= 0) AND ((tblMsg.[xCodeRecivePerson])= ' + frmLogin.edPerno.Text + '))' ;
open ;
if FieldByName('tt').AsInteger <> 0 then
begin

if cbShowMessage.ItemIndex = 0 then
begin
frmMain.StatusBar.Panels[0].Text := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;
ShowMesegeDialog.Execute ;
ShowMesegeDialog.MessageText := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;

if frmMain.StatusBar.Panels[0].PanelStyle.Font.Color = clMaroon then
begin
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clNavy ;
end
else
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clMaroon ;
end
else

frmMain.StatusBar.Panels[0].Text := ' ÏÑ ÕäÏæÞ íÇã ÔãÇ ÊÚÏÇÏ ' + ' ( '+ FieldByName('tt').AsString + ' ) ' + ' íÇã ÎæÇäÏå äÔÏå æÌæÏ ÏÇÑÏ ' ;
if frmMain.StatusBar.Panels[0].PanelStyle.Font.Color = clMaroon then
begin

frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clNavy ;
end
else
frmMain.StatusBar.Panels[0].PanelStyle.Font.Color := clMaroon ;

end
else
begin
frmMain.StatusBar.Panels[0].Text := ' ' ;
exit ;
end;
end;
end;