begin
if dbgrid1.SelectedRows.Curre
begin
ShowMessage('This Record was selected');
dbgrid1.SelectedRows.Curre
end
else
begin
ShowMessage('This Record was not selected');
dbgrid1.SelectedRows.Curre
end;
end;
procedure TForm1.Button4Click(Sender
var I : Integer;
begin
for i := 0 to dbgrid1.SelectedRows.Count
begin
dbgrid1.DataSource.Dataset
//Do Something
ShowMessage(dbgrid1.DataSo
end;
end;
برای انتخاب چندین رکورد از کد زیر میشود استفاده کرد
با ید انتخاب ردیف و انتخاب چندین ردیف فعال باشد
DBGrid1.Options:=DBGrid1.Options + [dgMultiSelect,dgRowSelect]
if (Shift = []) then
begin
case Key of
VK_UP: begin
Key := 0;
TDBGrid(Sender).DataSource.DataSet.Prior;
end;
VK_Down: begin
Key := 0;
TDBGrid(Sender).DataSource.DataSet.Next;
end;
VK_Space: begin
Key := 0;
TDBGrid(Sender).SelectedRows.CurrentRowSelected :=
NOT(TDBGrid(Sender).SelectedRows.CurrentRowSelected);
end;
end;
end;
کافی است این دستور را در run و یا cmd تایپ کنید : arp -a
برای مشاهده منابع Share شده (فولدرها، پرینترها، و...) در شبکه این دستور را تایپ کنید : Net View
در برخی موارد قبل از استفاده از فرمان Net View باید از فرمان های دیگر مثل Net Use استفاده کنید.
update item_master set mf_item_number = (some value) from group_master as gm join Manufacturar_Master as mm ON ........ where .... (your conditions here)
-----------------------------------UPDATE A SET foo = B.bar FROM TableA A JOIN TableB B ON A.col1 = B.colx WHERE ...
ALTER PROCEDURE testme @input VARCHAR(10),
@output VARCHAR(20) output
AS
BEGIN
IF @input >= '1'
BEGIN
SET @output = 'i am back';
RETURN;
END
END
DECLARE @get VARCHAR(20);
EXEC testme
'1',
@get output
SELECT @get
DECLARE @DBAddress nvarchar(4000),@Address nvarchar(4000),
@Index int
SELECT @DBAddress=[filename]
FROM master.dbo.sysdatabases where name = (select db_name())
SET @Index=CHARINDEX('\DB\',@DBAddress)
SET @Address=SUBSTRING(@DBAddress,1,@Index)
دستور ان به صورت زیر نوشته میشود :
CONVERT(data_type(length),expression,style)
اسکریپت زیر حالت ها مختلف تبدیل تاریخ به رشته را نمایش میدهد
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
CONVERT(VARCHAR(10),GETDATE(),11)
خروجی به صورت زیر نمایش داده میشود
Nov 04 2011 11:45 PM
11-04-11
11-04-2011
04 Nov 11
04 Nov 2011
04 Nov 2011 11:45:34:243
14/12/06
این هم جدولی که نوع نمایش میتونید مشخص کنید
Value (century yy) |
Value (century yyyy) |
input/output |
---|---|---|
- | 0 or 100 | mon dd yyyy hh:miAM (or PM) |
1 | 101 | mm/dd/yy |
2 | 102 | yy.mm.dd |
3 | 103 | dd/mm/yy |
4 | 104 | dd.mm.yy |
5 | 105 | dd-mm-yy |
6 | 106 | dd mon yy |
7 | 107 | Mon dd, yy |
8 | 108 | hh:mm:ss |
- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmAM (or PM) |
10 | 110 | mm-dd-yy |
11 | 111 | yy/mm/dd |
12 | 112 | yymmdd |
- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm (24h) |
14 | 114 | hh:mi:ss:mmm (24h) |
- | 20 or 120 | yyyy-mm-dd hh:mi:ss (24h) |
- | 21 or 121 | yyyy-mm-dd hh:mi:ss.mmm (24h) |
- | 126 | yyyy-mm-ddThh:mi:ss.mmm (no spaces) |
- | 130 | dd mon yyyy hh:mi:ss:mmmAM |
- | 131 | dd/mm/yy hh:mi:ss:mmmAM |
CREATE Procedure NewDoreh
@Path_DB varchar(500)
As
Declare @CountDattabase int
Declare @Name_DB nvarchar(50)
Declare @Path_Data_File nvarchar(500)
Declare @Path_Log_File nvarchar(500)
Declare @SysName varchar(10)
Declare @DFName varchar(14)
Declare @LFName varchar(14)
SET @SysName='databasename'
select @CountDattabase=count(name) from master.dbo.sysdatabases where name like '%databasename%'
SET @DFName=@SysName+'_Data'
SET @LFName=@SysName+'_Log'
SET @Name_DB=@SysName+ltrim(rtrim(Str(@CountDattabase+1)))
SET @Path_Data_File=rtrim(@Path_DB)+@Name_DB+'.mdf'
SET @Path_Log_File=rtrim(@Path_DB)+@Name_DB+'.ldf'
Declare @SQL_ Nvarchar(4000)
SET @SQL_= N'
Backup DataBase '+@SysName+ltrim(Str(@CountDattabase))+' To Disk='''+@Path_DB+'Bdatabasename.Bak'''
exec sp_executesql @SQL_
SET @SQL_= N'RESTORE DATABASE '+@Name_DB+' FROM DISK ='''+ @Path_DB+'Bdatabasename.bak'' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY , MOVE '''+@DFName +''' TO '''+@Path_Data_File+''', MOVE '''+@LFName+''' TO '''+ @Path_Log_File+''''
exec sp_executesql @SQL_
select 1
GO
از قابلیتهای Delphi XE2 پوسته میباشد یعنی شما بدون نصب کامپوننتهای skin مثل vcl skin , alpha control , busines skin و ... به راحتی میتونین به برنامتون skin بدین برای این امر به ادرس در منو بروید Project/oprion و در پنجره جدید Application/Appearance را انتخاب کنید. حالا لیستی از skin پیش فرض که به همراه دلفی نصب میشود داریم برای اعمال skin مورد نظر کافی است تیک skin مورد نظر را زده تا در کمبوباکس پایین Default Style اسکین مورد نظر شما اضافه شود سپس کمبو باکس را روی skin مورد نظر خود قرار دهید و روی دکمه ok کلیک کنید حالا با اجرا برنامه skin شما اعمال خواهد شد . به همین راحتی .
شما میتوانید استایلهای دیگری را نیز از اینترنت دانلود و استفاده کنید
برای این کار بعد از دانلود فایلهای .vsf را در ادرس پوشه Style به ادرس
زیر کپی کنید
C:\Users\Public\Documents\RAD Studio\9.0\Styles
تا به لیست استایلها اضافه شود
شما میتوانید استایلها را به سلیقه خود تغییر و مورد استفاده قرار دهید به
همراه مجموعه دلفی یک Vcl Style Designer نصب میشود که از منو
Tools/Vcl Style Designer میتوانید از ان استفاده نموده و استایل مورد نظر خود را تغییر دهید
برای تغییر skin در زمان اجرا هم اول یونیهای Vcl.Themes,Vcl.Styles رو uses میکنید و از کد زیر استفاده کنید
procedure TForm1.btn1Click(Sender: TObject);
begin
if TStyleManager.IsValidStyle(getCurrentdir + '\Auric.vsf') then
TStyleManager.SetStyle(TStyleManager.LoadFromFile(getCurrentdir + '\Auric.vsf'));
end;
یا از کدهای زیر برای پر کردن یک کامبوباکس و ست کردن استایل با انتخاب هر کدام از انها استفاده کنید
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
TStyleManager.TrySetStyle(ComboBox1.Items[ComboBox1.ItemIndex]);
end;
procedure TForm1.FormShow(Sender: TObject);
var
s: String;
begin
ComboBox1.Items.BeginUpdate;
try
ComboBox1.Items.Clear;
for s in TStyleManager.StyleNames do
begin
memo1.Lines.Add(s);
ComboBox1.Items.Add(s);
end;
ComboBox1.Sorted := True;
// Select the style that's currently in use in the combobox
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);
finally
ComboBox1.Items.EndUpdate;
end;
end;
میخواهم برنامه ای بنویسم که با هر رویداد جدید قرار است ما را با خبر کند یکی از روش ها استفاده از trayicon است.
1- برای این کار یک tray icon بر روی فرم میگذاریم و تایمر ان را تنظیم میکنیم
2- در رویداد onanimate دستوراتی را مینویسیم که قرار است چک کند رویداد جدید وجود دارد یا خیر و در انتها کد زیر برای باز شدن بالون استفاده میشود .
TrayIcon1.ShowBalloonHint ;
3- در کد پروژه که از قسمت project-> view source باز میشود در خط اول کد زیر را قرار میدهیم
Application.MainFormOnTaskbar := False;
4- از application event استفاده میکنیم و کد زیر را اضافه میکنیم
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
Hide;
end;