-
c语言入门之在BCB中数组的妙用和纪录和改变控件
如果能巧妙地运用数组会给我们带来很多方便;以下是我的一些用法,还觉得自己每掌握它的精髓;希望大家多多指点;(现丑了)
void ) __declspec(dllexport) myList::ReadList(AnsiString TS)
{//读出ini文件的数据
System::AnsiString LabPath=ExtractFilePath(".\\");
TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");
Form2->AddList();
for(int i=0;i<Form2->LabelList->Count;i++)
{
TLabel *Lab;
Lab=(TLabel *)Form2->LabelList->Items[i];
Lab->Left=LabIni->ReadInteger(TS,"Left"+IntToStr(i), Lab->Left);
Lab->Top=LabIni->ReadInteger(TS,"Top"+IntToStr(i),Lab->Top);
}
}
void myList::WriteList(AnsiString TS)
{//写入文件
System::AnsiString LabPath=ExtractFilePath(".\\");
TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");
Form2->AddList();
for(int i=0;i<Form2->LabelList->Count;i++)
{
TLabel *Lab;
Lab=(TLabel *)Form2->LabelList->Items[i];
LabIni->WriteInteger(TS,"Left"+IntToStr(i), Lab->Left);
LabIni->WriteInteger(TS,"Top"+IntToStr(i),Lab->Top);
}
}
System::AnsiString LabPath=ExtractFilePath(".\\");
TIniFile *LabIni=new TIniFile(LabPath+"LabIni.ini");
TList *LabelList;
LabelList=new TList;
LabelList->Add(Label1);
LabelList->Add(Label2);
LabelList->Add(Label3);
LabelList->Add(Label4);
LabelList->Add(Label5);
LabelList->Add(Label6);
LabelList->Add(Label7);
LabelList->Add(Label8);
LabelList->Add(Label9);
LabelList->Add(Label10);
LabelList->Add(Label11);
LabelList->Add(Label12);
LabelList->Add(Label13);
LabelList->Add(Label14);
LabelList->Add(Label15);
void myList::NmyChick(TMenuItem *Item,AnsiString STR,int BL)
{
file://记录TMenuItem 的状态:
static TMenuItem *sItem=0;
file://Item=Form2->PopupMenu1->Items;
file://Item=dynamic_cast<TMenuItem *>(Form2->WindowMenu->Items->GetParentMenu);
if(sItem==Item){
Item->Checked=false;
return;
}
else if(sItem) sItem->Checked=false;
Item->Checked=true;
sItem=Item;
if(Item->Checked==true){
file://¶¯Ì¬¸Ä±äForm2µÄ´óСºÍÐÎ×´
if(BL){
Form2->Image1->Picture->Bitmap->Height =500;
Form2->Image1->Picture->Bitmap->Width =732;
Form2->Image1->Stretch = false;
file://Form2->Image2->Picture->LoadFromFile(".\\LOGO.bmp");
Form2->Image2->Width = Form2->Image2->Picture->Width;
Form2->Image2->Height = Form2->Image2->Picture->Height;
Form2->Image2->Top = 12;
Form2->Image2->Left = 15;
Form2->Height = 500;
Form2->Width = 732;
Form2->Top = 0;
Form2->Left = Screen->Width-Form2->Width;
TCanvas *TSS =Form2->Image1->Picture->Bitmap->Canvas;
Form1->DrawBarCode(TSS,120,300,125);
Form2->Update();
}
else
{
Form2->Image1->Picture->Bitmap->Height =732;
Form2->Image1->Picture->Bitmap->Width =555;
Form2->Image1->Stretch = false;
Form2->Image2->Width = Form2->Image2->Picture->Width;
Form2->Image2->Height = Form2->Image2->Picture->Height;
Form2->Image2->Top = 12;
Form2->Image2->Left = 15;
Form2->Height =732 ;
Form2->Width = 555;
Form2->Top = 0;
Form2->Left = Screen->Width-Form2->Width;
Form1->MakeLabel();
}
Form2->Caption = String(Form2->Image1->Picture->Bitmap->Height)+" - "+
String(Form2->Image1->Picture->Bitmap->Width);
ReadList(STR);
Form2->Update();
}
}
void __fastcall TForm2::FormHide(TObject *Sender)
{
AnsiString bj[]={"打横1","打竖1","打横2","打竖2","打横3","打竖3","还原原此设置"};
for(int i=0;i<PopupMenu1->Items->Count;i++){
if(PopupMenu1->Items->Items[i]->Checked) LT->WriteList(bj[i]);
}
}
void __fastcall TForm2::N4Click(TObject *Sender)
{
LT->NmyChick(Form2->N4,"打竖2",0);
}
void __fastcall TForm2::N5Click(TObject *Sender)
{
LT->NmyChick(Form2->N5,"打横2",1);
}
void __fastcall TForm2::N31Click(TObject *Sender)
{
LT->NmyChick(Form2->N31,"打竖3",0);
}
void __fastcall TForm2::N32Click(TObject *Sender)
{
LT->NmyChick(Form2->N32,"打横3",1);
}
栏目列表
最新更新
C#基于接口设计三层架构Unity篇
C#线程 入门
C#读取静态类常量属性和值
C# 插件式编程
C# 委托与事件有啥区别?
C#队列学习笔记:队列(Queue)和堆栈(Stack
linq 多表分组左连接查询查询统计
C#队列学习笔记:MSMQ入门一
C# 基础知识系列- 1 数据类型
二、C#入门—基础语法
C# 在Word中添加Latex 数学公式和符号
inncheck命令 – 检查语法
基于UDP的服务器端和客户端
再谈UDP和TCP
在socket编程中使用域名
网络数据传输时的大小端问题
socket编程实现文件传输功能
如何优雅地断开TCP连接?
图解TCP四次握手断开连接
详细分析TCP数据的传输过程
SqlServer 利用游标批量更新数据
BOS只读状态修改
SQL Server等待事件—PAGEIOLATCH_EX
数据库多行转换为单一列
获取数据表最后最后访问,修改,更新,
计算经历的时间
SQL查询结果自定义排序
修改数据库默认位置
日期简单加或减
从日期获取年,月或日