ورود

View Full Version : سوال: چند سوال در مورد delphi xe



daneshmand1354
دوشنبه 18 اردیبهشت 1391, 17:57 عصر
با سلام
قصد دارم از دلفی 7 به xe یا xe2 بروم
سوال اول اینکه کدام یک بهتر است. و اگر xe2 بهتر است کدامیک از update های آن بهتر است 3 یا 4
دوم اینکه کد زیر را برای مرتب شدن ستونهای dbgrid در دلفی 7 استفاده میکردم ولی در دلفی xe روی دستور pos خطا میدهد لطفا راهنمایی کنید و یا اگر روش دیگری برای مرتب شدن ستونها هست راهنمایی بفرمایید

procedure TFrmfp.DBGridTitleClick(Column: TColumn);
{$J+}
const PreviousColumnIndex : integer = -1;
{$J-}
begin

if TitleDbgrid.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(TitleDbgrid.DataSource.DataSet) do
begin
//Showmessage(TitleDbgrid.DataSource.DataSet.Name);

try
TitleDbgrid.Columns[PreviousColumnIndex].title.Color:=clBtnFace;
except
end;
PreviousColumnIndex := Column.Index;

if (Pos(Column.Field.FieldName, Sort) = 1)
and (Pos(' DESC', Sort)= 0) then begin
Sort := Column.Field.FieldName + ' DESC';
Column.title.Color :=clRed;

end else begin
Sort := Column.Field.FieldName + ' ASC';
Column.title.Color :=clYellow;
end;

TitleDbgrid.SetFocus;
TitleDbgrid.SelectedIndex:=Column.Index;
end;

end;



سوال بعد اینکه قبلا از کامپوننت EMS برای خواندن اطلاعات و ارسال به اکسل استفاده میکردم و حالا نمی دانم باید چه کنم

سعید صابری
دوشنبه 18 اردیبهشت 1391, 19:06 عصر
سوالت اولت مشخصه که از آخرین نسخه و آپدیت استفاده کنی بهتره
دلفی دم دستم نیست امتحان کنم کدتو ولی از لحاظ گرامی ببین متغیر sort تعریف شده یا خیر.
سوال سومت هم حالا هم از همان Ems استفاده کن

daneshmand1354
چهارشنبه 20 اردیبهشت 1391, 16:45 عصر
پاسخ سوال را یافتم

procedure TFrmfp.DBGridTitleClick(Column: TColumn);
{$J+}
const PreviousColumnIndex : integer = -1;
{$J-}
begin
if TitleDbgrid.DataSource.DataSet is TCustomADODataSet then
with TCustomADODataSet(TitleDbgrid.DataSource.DataSet) do
begin
try
TitleDbgrid.Columns[PreviousColumnIndex].title.Caption:=stringreplace(TitleDbgrid.Columns[PreviousColumnIndex].title.Caption,'v','',[rfReplaceAll]);
TitleDbgrid.Columns[PreviousColumnIndex].title.Caption:=stringreplace(TitleDbgrid.Columns[PreviousColumnIndex].title.Caption,'^','',[rfReplaceAll]);
except
end;
PreviousColumnIndex := Column.Index;
if rightstr(sort,3)='ASC' then begin
Sort := Column.Field.FieldName + ' DESC';
Column.title.Caption:=Column.Field.DisplayLabel+'^ ';
end else begin
Sort := Column.Field.FieldName + ' ASC';
Column.title.Caption:=Column.Field.DisplayLabel+'v ';
end;
TitleDbgrid.SetFocus;
TitleDbgrid.SelectedIndex:=Column.Index;
end;
end;