View Full Version : اخراج کاربر از سیستم(کمک فوری)
Future
چهارشنبه 09 آذر 1384, 14:28 عصر
سلام دوستان
من یک برنامه نوشتم و آنرا share کردم و دیگران دارند از exe آن استفاده می کنند . من لیست و آی پی کاربرانی که دارند به سیستم کار می کنند را بدست آوردم و در یک grid نگه داشتم . حالا می خوام با یک دابل کلیک کاربر را از برنامه خارج کنم ولی نمی دانم چطوری؟؟؟
لطفا اگه تابعی است یا راهی می دونید مرا راهنمایی کنید
Future
جمعه 11 آذر 1384, 12:14 عصر
سلام
آقا کسی نیست به من کمک کنه ؟؟؟؟؟
اَرژنگ
جمعه 11 آذر 1384, 12:18 عصر
منظورتان از "کاربر را از برنامه خارج کنم " چیست؟
همه هستن اینجا که کمک کنند ولی من سوال شما را فقط الان دیدم.
Future
شنبه 12 آذر 1384, 06:27 صبح
اسم کاربرانی که دارند با برنامه کار می کنند در یک listbox نشان داده می شود حالا هر کدام که انتخاب شد با زدن یک کلید از برنامه خارج شود
hr110
شنبه 12 آذر 1384, 07:20 صبح
روش پولینگ :
میتوانید در جدولی که اطلاعات کاربران را نگه میدارید یک فیلد برای این منظور ایجاد کنید و در صورت ست شدن از برنامه خارج شوید. پس برنامه شما باید هر چند لحظه(مثلاً 10 ثانیه) یکبار به این جدول مراجعه کند و در صورت ست شدن این فیلد از برنامه خارج شوید. مدیر سیستم هم کافی است این فیلد را برای یک کاربر ست کند و ...
از این روش برای ارسال پیغامهای خصوصی نیز میشود استفاده نمود.
Future
دوشنبه 14 آذر 1384, 13:58 عصر
سلام
آقا من اینکار راکردم ولی نشد و همش روی سیستم خودم پیغام می داد
میشه یکم واضح تر توضیح بدبد در ضمن من از بانک اس کیو ال استفاده می کنم و
hr110
سه شنبه 15 آذر 1384, 06:39 صبح
مشکل پیش آمده مربوط به خطا(ها)ی در پیاده سازی میباشد. اگر مایل بودید، سورس این بخش از برنامه را برای من ارسال کنید تا رفع باگ کنم.
این تنها روش نیست، شما اگر با indyها آشنا باشید ، انجام این کار توسط ابزارهای قدرتمند این کتابخانه به سادگی قابل انجام میباشد. به عنوان مثال میتوانید از UDP استفاده نمایید.
موفق باشید.
nilufari
سه شنبه 15 آذر 1384, 21:34 عصر
تجربه اینکارو من با دلفی و Sql Server2000 دارم و کدش اینه :
try
Dm1.ADOConnection1.Connected:=False;
Dm1.ADOConnection2.Connected:=True;
Dm1.ADOQuery2.Close;
Dm1.ADOQuery2.SQL.Clear;
Dm1.ADOQuery2.SQL.Text:='SELECT name FROM sysdatabases WHERE name ='+#39+'SQL_DataBase' +#39;
Dm1.ADOQuery2.ExecSQL;
Dm1.ADOQuery2.Close;
Dm1.ADOQuery2.SQL.Clear;
Dm1.ADOQuery2.SQL.Text:='SELECT * from syslocks';
Dm1.ADOQuery2.open;
Dm1.ADOQuery2.First;
while not Dm1.ADOQuery2.eof do
begin
Dm1.ADOQuery3.SQL.Clear;
Dm1.ADOQuery3.SQL.Text:='kill '+inttostr(Dm1.ADOQuery2['spid']);
Dm1.ADOQuery3.ExecSQL;
Dm1.ADOQuery2.next;
end;
Dm1.ADOQuery2.Close;
Dm1.ADOQuery2.SQL.Clear;
Dm1.ADOQuery2.SQL.Text:='RESTORE DATABASE [SQL_DataBase] FROM DISK ='+#39+ f_name+#39+' WITH REPLACE , NOUNLOAD , STATS = 10, RECOVERY';
Dm1.ADOQuery2.ExecSQL;
except
Form1.SeSkinMessage1.MessageDlg('Payame morede nazar ...',mtError,[mbOK],0);
Dm1.ADOConnection1.Connected:=True;
Dm1.ADOConnection2.Connected:=False;
BitBtn3.Click;
exit;
end;
موفق باشید ... نیلوفری
Future
یک شنبه 27 آذر 1384, 12:22 عصر
دوست عزیز این هم تکه کد من است
var i , j , k : Integer;
myfile: TextFile;
IpAdd : String;
text : String;
begin
k := 0;
Panel3.Visible := True;
Edit1.SetFocus;
with DBGrid1.DataSource.DataSet do
if FieldByName('Status').AsString = '0' then
Arrayuser[recordno]:= FieldByName('Ip_Address').AsString;
for i := 0 to 255 do
if Arrayuser[i] <> '' then k := k+1;
{for j := 0 to k do
begin
text := 'net send ' + ' ' + Edit1.Text + ' ' + arrayuser[j] ;
ShowMessage(text);
// WinExec(text,0);
// end;}
Edit1.Clear;
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.