下面的代码可以粘贴到Memo1中,但是我想粘贴到TStringGrid中,应该怎么做啊。。
procedure TShipFrm.BtnInputClick(Sender: TObject);
var
Clipboardc: TClipboard;
begin
Clipboardc := TClipboard.Create;
try
if Clipboard.HasFormat(CF_text) then
begin Memo1.lines.add(Clipboard.AsText);
Clipboard.Clear;
end;
finally
Clipboardc.Free;
end;
end;
procedure TShipFrm.BtnInputClick(Sender: TObject);
var
Clipboardc: TClipboard;
begin
Clipboardc := TClipboard.Create;
try
if Clipboard.HasFormat(CF_text) then
begin Memo1.lines.add(Clipboard.AsText);
Clipboard.Clear;
end;
finally
Clipboardc.Free;
end;
end;
解决方案 »
- FASTREPORT中动态定义每页的长与宽 (顺便送上WIN2000下自定义纸张并在打印时动态调用自定义纸张源码 )顶者有分
- 请问在DBGrid控件中怎样写代码设置如下格式(设置颜色)
- 100分求助:dxTL.dcu 是属于哪个控件包,那里提供下载
- 如何判断某天是大月的29日,还是小月的28日,如果是就发出提示?分不够再加
- 在线急盼,DOA开发Oracle数据库应用中,如何在Delphi操作返回值是游标的存储过程
- 各位如果使用DELPHI+VSS处理多用户开发问题,谢谢
- 如何得到一个目录中的所有子目录的名称?
- 请打家帮忙告诉我下载票据打印控件的网址好吗?谢谢
- 要求当鼠标离开Groupbox的范围时相应某一事件,我该怎么作呢
- 问个老问题,顺便送些分!
- delphi 2010 邮件发送图片 求解
- 如何获取WebBrowser里的ActiveX接口?
用这个Memo1.lines.add(Clipboard.AsText);直接就能粘了。但是换成了stringgrid,我应该怎么改啊
procedure TShipFrm.BtnInputClick(Sender: TObject);
var
Clipboardc: TClipboard;
begin
Clipboardc := TClipboard.Create;
try
if Clipboard.HasFormat(CF_text) then
begin StringGrid1.Cells[x,y] :=Clipboard.AsText
Clipboard.Clear;
end;
finally
Clipboardc.Free;
end;
end;
是这样吗?那个行与列怎么定的。。
[与个 完整的给我好吗,,谢谢啦
var
Clipboardc: TClipboard;
row, col: Integer;
sLine, sWord: TStringList;
s: string;
begin
Clipboardc := TClipboard.Create;
sLine := TStringList.Create;
sWord := TStringList.Create;
try
if Clipboardc.HasFormat(CF_text) then
begin
s := Clipboardc.AsText;
sLine.Text := S;
strngrd1.RowCount := sLine.Count + 1;
for Row := 0 to sLine.Count - 1 do
begin
s := sLine.Strings[Row];
//如果源表格中没有空值,可以按照下面方法解析,如果有空值,就直接解析
//字符串,把s定义成widestring类型,然后通过pos(#9, s)找到#9的位置逐个解析
sWord.Clear;
sWord.Delimiter := #9;
sWord.DelimitedText := s;
if strngrd1.ColCount < sWord.Count + 1 then
strngrd1.ColCount := sWord.Count + 1;
for col := 0 to sWord.Count - 1 do
strngrd1.Cells[col + 1, row + 1] := sWord.Strings[col];
end;
end;
finally
Clipboardc.Free;
sLine.Free;
sWord.Free;
end;
end;
。。麻烦再帮改一下啦。。谢谢。。改好,马上结账
谢谢谢谢。。新手来的
var
row, col, i, len: Integer;
sLine, sWord: TStringList;
s: string;
s2: WideString;
begin sLine := TStringList.Create;
sWord := TStringList.Create;
try
if Clipboard.HasFormat(CF_text) then
begin
s := Clipboard.AsText;
sLine.Text := S;
strngrd1.RowCount := sLine.Count + 1;
for Row := 0 to sLine.Count - 1 do
begin
s2 := sLine.Strings[Row];
len := Length(s2);
col := 1;
while len > 0 do
begin
i := Pos(#9, s2);
if i > 0 then
s := Copy(s2, 1, i - 1)
else
s := s2;
if col >= strngrd1.ColCount then
strngrd1.ColCount := strngrd1.ColCount + 1;
strngrd1.Cells[col, row + 1] := s;
if i <= 0 then
Break;
Inc(col);
s2 := Copy(s2, i + 1, len - i);
len := Length(s2);
end;
end;
end;
finally
sLine.Free;
sWord.Free;
end;
end;