| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 502 人关注过本帖
标题:关于Chart的用法问题!
收藏  订阅  推荐  打印 
mana
Rank: 1
等级:新手上路
帖子:5
积分:152
注册:2005-8-20
关于Chart的用法问题!

问题1:BCB中的Chart控件是不是可以实现图形的绘制啊!比如说在Chart上来实现曲线的绘制?
如果能的话,怎么用?我查过帮助文件,可是里面没有!也找不到相关的资料!
请大家帮助一下,给出Chart的集体用法,小菜鸟我将不甚感激!谢谢!
问题2:
BCB中,如何在程序运行中半途终止啊!不如,我执行一个计算过程,可是运行中想终止
该计算过程,用什么命令可以终止?

[此贴子已经被作者于2005-8-20 10:51:57编辑过]


搜索更多相关主题的帖子: Chart  用法  BCB  曲线  图形  
2005-8-20 10:45
quickreport
Rank: 1
等级:新手上路
帖子:23
积分:330
注册:2005-6-13

答案1:
源碼任務心得分享 : 如何使用TChart?
首先先在 Form 中放一個 Tchar 物件
什麼屬性都不要設
再放一個 button , 然後在 Button 的 OnClick 事件中加入下段程式碼
你就知道大概如何手動控制 Tchar 了 , 其他請舉一反三

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Chart1->RemoveAllSeries(); // 清除Chart1上所有舊 Series

Chart1->View3D=false; // 不要 3D 立體
Chart1->Legend->Visible=false; // 不秀圖例說明

// 設定此 char Title 名稱
//(是 StringList 不是 String 所以不能用 Chart1->Title->Text="xxx" ...)
Chart1->Title->Text->Clear();
Chart1->Title->Text->Add("test");


// 動態宣告一個 THorizBarSeries 型態的 Series
// 其它的 Series 型態有哪些 請看 TChartSeries 之 Help
Series1=new THorizBarSeries(Chart1) ;
Series1->ParentChart=Chart1;

Series1->Marks->Visible=true; // 設定要提示說明
Series1->Marks->Style=smsValue; // 提示說明內容為 Label
//(註) Series1->Marks->Style 內容請參考 TSeriesMarksStyle 之 Help

Series1->SeriesColor=clBlue; // 設線條1為藍色,不設則自動給色

// 輸入假資料
int V; // Value
String L; //Label
for (int i = 1; i <= 8; i++)
{
V=i; // Series 值
L="V"+IntToStr(i); // 軸名稱
Series1->Add( V , L , clTeeColor );
}
}

 
源碼任務心得分享 : 拆解字串段的自寫函式 _StringSegment()
String A="ABCD,EFG,H,IJK,LM";
String B=_StringSegment(A , "," , 3); // 以逗號來做分隔 , 求第 3 段字串

所以 B 就等於 "H"
也可不用逗號做分隔 , 用您指定的其他符號做分隔


String __fastcall TForm1::_StringSegment(AnsiString Str , AnsiString Comma , int Seg)
{
if ((Str=="") || (Seg<1)) return "";

String C=Comma; if (C=="") C=",";

String s=Str;
String sTmp;
String r;
int iPosComma;

TStringList *TempList = new TStringList; // declare the list

TempList->Clear();
while (s.Pos(C)>0)
{
iPosComma = s.Pos(C); // locate commas
sTmp = s.SubString(1,iPosComma - 1); // copy item to tmp string
TempList->Add(sTmp); // add to list
s = s.SubString(iPosComma + 1,s.Length()); // delete item from string
}
// trap for trailing filename
if (s.Length()!=0) TempList->Add(s);

if (Seg > TempList->Count)
r="";
else
r= TempList->Strings[Seg-1];

delete TempList; // destroy the list object

return r;
}

答案2:
1、代码设计时要终止返回,直接在需要返回的地方用return;
2、运行时要终止,直接关闭程序。:)
2005-8-28 01:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.044872 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved