こんにちは
StringGridに表示されている文字と背景色をHTMLに変換する場合どのようにすればいいのでしょうか。
---------------
begin
sl:=TStringList.Create;
try
sl.Add('<HTML><head><title></title></head><BODY>');
sl.Add('<TABLE BORDER>');
sl.Add('<FONT SIZE="-1" FACE="MS ゴシック">');
sl.Add(Caption);//Captionの内容を表示
with PageControl1.ActivePage do
for j:= 0 to ControlCount - 1 do// 開いているページにある
if Controls[j] is TStringGrid then begin// コントロールを調べる
aStringGrid:= (Controls[j] as TStringGrid);
for i:=0 to aStringGrid.RowCount-1 do//表示されている
//★sl.Add(aStringGrid.Rows[i]);
//★color:=ColorToString(aStringGrid.)
//★sl.Add('<BGCOLOR="'+color+'"')
sl.add('</TABLE>');
sl.add('</BODY>');
sl.SaveToFile('D:\ソフト\データ.htm');
end;//if controls[j]
finally
sl.Free;
end;
ShowMessage('登録完了');
end;
---------------
GetRValue
GetGValue
GetBValue
ColorToRGB
でよろしいかと。
こんにちは。
どのように組み立てればいいのでしょうか。TStringListにAddしてデータを保存しようと思っていますのでどの部分に入れればいいのか。もう少し教えてください。
色の設定をどのようにしてるのか分からないので誰も答えられないと思います。
Googleで検索でもすると引っかかると思いますが、簡単なのでサンプル書いてみました。
//Color->HTML Color
function TForm1.ColorToHTMLStr(AColor: TColor): string;
var cint :DWORD;
r,g,b:Byte;
begin
cint:=ColorToRGB(AColor);
r:=Byte(cint);
g:=Byte(cint shr 8);
b:=Byte(cint shr 16);
Result:=IntToHex(r,2)+
IntToHex(g,2)+
IntToHex(b,2);
end;
procedure TForm1.Panel1Click(Sender: TObject);
var AColor:TColor;
begin
AColor:=Panel1.Color;
Caption:=ColorToHTMLStr(AColor);
end;
ツイート | ![]() |