因为要对线程进行测试,所以用BCB写了一段代码,长时间没用,有点儿生疏了。所以,决定把某些常见内容写下来供下次使用时快速上手。
首先,这是对于Pascal程序员使用BCB快速入门;其次,这里面的内容也许会增加更多内容;目的仅仅是为了能够快速上手。很抱歉不是给入门小白用的。
1.指针转换
TObject* AObj = (TObject *)FList->Items[i];
2.创建释放
TForm* AForm = new TForm1(NULL);
try
{
AForm->ShowModal();
}
__finally
{
//释放
delete AForm;//AForm->Free();
AForm = NULL;
}
3.空指针NULL及判断
//重要:双等号!双等号!双等号!
if (AList == NULL){return;}
4.异常捕获
try
{
}
__finally
{
}
try
{
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
5.格式化输出
AnsiString sTemp = Format("Hello,%s", ARRAYOFCONST(("World")));
this->Caption = sTemp;
//注意:
//1:字符串用双引号!字符串用双引号!字符串用双引号!
//2:ARRAYOFCONST(())有两个括号。
6.创建与继承
//声明类
class TMyThread : public TThread
{
protected:
void __fastcall Execute(void);
public:
__fastcall TMyThread(bool CreateSuspended);
};
//实现类
void __fastcall TMyThread::Execute(void)
{
while (! this->Terminated)
{
Sleep(100);
}
}
__fastcall TMyThread::TMyThread(bool CreateSuspended): TThread(CreateSuspended)
{
}
//注意:CreateSuspended参数和该析构函数的声明以及实现方法!!!
7.创建函数,需要在.h文件中声明函数
void __fastcall ClearThread(TList *AList)
{
if (AList == NULL){
return;
}
for (int i = 0; i < AList->Count; i++){
TThread* AThread = (TThread*)AList->Items[i];
if (AThread != NULL){
AThread->Terminate();
if (AThread->Suspended){
AThread->Resume();
}
}
}
for (int i = AList->Count - 1; i >= 0; i--){
TThread* AThread = (TThread*)AList->Items[i];
if (AThread != NULL){
AThread->WaitFor();
delete AThread;
AThread = NULL;
}
AList->Delete(i);
}
}
//此处的TMyThread就是上面的TMyThread
int __fastcall CreateThreads(TList *AList, int ACount){
if (AList == NULL){
return 0;
}
int iCount = 0;
for (int i = 0; i < ACount; i++){
TThread* AThread = new TMyThread(true);
AList->Add(AThread);
AThread->Resume();
iCount++;
}
return iCount;
}
首先,这是对于Pascal程序员使用BCB快速入门;其次,这里面的内容也许会增加更多内容;目的仅仅是为了能够快速上手。很抱歉不是给入门小白用的。
1.指针转换
TObject* AObj = (TObject *)FList->Items[i];
2.创建释放
TForm* AForm = new TForm1(NULL);
try
{
AForm->ShowModal();
}
__finally
{
//释放
delete AForm;//AForm->Free();
AForm = NULL;
}
3.空指针NULL及判断
//重要:双等号!双等号!双等号!
if (AList == NULL){return;}
4.异常捕获
try
{
}
__finally
{
}
try
{
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
5.格式化输出
AnsiString sTemp = Format("Hello,%s", ARRAYOFCONST(("World")));
this->Caption = sTemp;
//注意:
//1:字符串用双引号!字符串用双引号!字符串用双引号!
//2:ARRAYOFCONST(())有两个括号。
6.创建与继承
//声明类
class TMyThread : public TThread
{
protected:
void __fastcall Execute(void);
public:
__fastcall TMyThread(bool CreateSuspended);
};
//实现类
void __fastcall TMyThread::Execute(void)
{
while (! this->Terminated)
{
Sleep(100);
}
}
__fastcall TMyThread::TMyThread(bool CreateSuspended): TThread(CreateSuspended)
{
}
//注意:CreateSuspended参数和该析构函数的声明以及实现方法!!!
7.创建函数,需要在.h文件中声明函数
void __fastcall ClearThread(TList *AList)
{
if (AList == NULL){
return;
}
for (int i = 0; i < AList->Count; i++){
TThread* AThread = (TThread*)AList->Items[i];
if (AThread != NULL){
AThread->Terminate();
if (AThread->Suspended){
AThread->Resume();
}
}
}
for (int i = AList->Count - 1; i >= 0; i--){
TThread* AThread = (TThread*)AList->Items[i];
if (AThread != NULL){
AThread->WaitFor();
delete AThread;
AThread = NULL;
}
AList->Delete(i);
}
}
//此处的TMyThread就是上面的TMyThread
int __fastcall CreateThreads(TList *AList, int ACount){
if (AList == NULL){
return 0;
}
int iCount = 0;
for (int i = 0; i < ACount; i++){
TThread* AThread = new TMyThread(true);
AList->Add(AThread);
AThread->Resume();
iCount++;
}
return iCount;
}