小编Amm*_*eux的帖子

加载Excel电子表格的快捷方式

我正在使用此代码加载仅包含数字的Excel电子表格.但是将整个文件加载到a中需要很长时间stringgrid,任何人都知道更快的方法吗?

procedure sh1(SheetIndex:integer);
Var
Xlapp1, Sheet:Variant ;
MaxRow, MaxCol,X, Y:integer ;
str:string;
begin
Str:=trim(form2.OpenDialog1.FileName);

XLApp1 := createoleobject('excel.application');
XLApp1.Workbooks.open(Str) ;

Sheet := XLApp1.WorkSheets[SheetIndex] ;

MaxRow := Sheet.Usedrange.EntireRow.count ;
MaxCol := sheet.Usedrange.EntireColumn.count;

form2.stringgrid1.RowCount:=maxRow+1;
form2.StringGrid1.ColCount:=maxCol+1;
for x:=1 to maxCol do
     for y:=1 to maxRow do
            form2.stringgrid1.Cells[x,y]:=sheet.cells.item[y,x].value;

XLApp1.Workbooks.close;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then begin
    stringgrid1.Visible:=true;
    sh1(1);
    end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi excel delphi-xe3

7
推荐指数
1
解决办法
2万
查看次数

将图像保存到记录中

我正在将一些信息存储到我的Access数据库中,一个参数是一个BLOB字段,在这种情况下是一个图像,加载到Timage中.

我正在使用此代码来保存它:

var
AStream : TMemoryStream;
begin
AStream := TMemoryStream.Create;
  try
Image1.Picture.Graphic.SaveToStream(AStream);
AStream.Position := 0;
if Adotable1.Active then
begin
  Adotable1.Edit;
  TBlobField(Adotable1.FieldByName('Termograma')).LoadFromStream(AStream);
  Adotable1.Post;
end;
  finally
    AStream.Free;

adotable1.Append;
adotable1['Data']:= datetimepicker1.Date;
adotable1['Temax']:= edit4.Text;
adotable1['Temin']:= edit5.Text;
adotable1['Descrição da Posição']:= memo1.Text;
adotable1['Comentários']:= memo2.Text;
adotable1.Post;
Run Code Online (Sandbox Code Playgroud)

但是我也通过点击"附加"部分中的相同按钮来存储其他信息.

当我按下保存按钮时,该信息不会存储在数据库中的相同ID中.

我该如何解决这个问题?

delphi ms-access delphi-xe3

2
推荐指数
1
解决办法
910
查看次数

在Tchart上绘制stringgrid值

我正在尝试绘制一个带有一些值的图表Stringgrid.它有140x140 rowxCol,仅限数字.在Tchart应显示在X轴上的单元坐标,在y轴上的值.

我正在使用此代码:

procedure TForm2.Button2Click(Sender: TObject);
var 
  Count: Integer;
begin
  with StringGrid1 do
  begin
    for Count := 0 to RowCount-1 do
    begin
      Chart1.Series[0].AddXY(StrToFloat(Cells[0, Count]), 
                             StrToFloat(Cells[1, Count]), '', clTeeColor);
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误: '' is not a floating point value.

delphi tstringgrid

2
推荐指数
1
解决办法
1618
查看次数

标签 统计

delphi ×3

delphi-xe3 ×2

excel ×1

ms-access ×1

tstringgrid ×1