📄 w_main.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "w_main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm_main *Form_main;
//---------------------------------------------------------------------------
__fastcall TForm_main::TForm_main(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
#include <stdio.h>
#define BUFFER_LENGTH 512
#define MAX_LINES BUFFER_LENGTH*10
int whole_num = 0 ;
int random_num = 0;
int zj_num = 0;
char one_line[BUFFER_LENGTH];
AnsiString lines_src[MAX_LINES];
AnsiString lines_skip[MAX_LINES];
/*** 从文件中读取一行 ***/
static void read_line(FILE * file)
{
int i;
memset( one_line, 0, BUFFER_LENGTH);
for( i = 0;!feof(file) && i < BUFFER_LENGTH - 1;)
{
fread(&one_line[i],1,1,file);
++i;
if(one_line[i - 1]=='\n')
break;
}
}
static void delete_dot()
{
//去掉重复号码
for(int i = 0 ; i < whole_num ;i++)
{
for(int j = i+1 ; j < whole_num ;j++)
{
if(lines_src[i].SubString(1,11) == lines_src[j].SubString(1,11) )
{
//从候选列中删除
for(int k = j;lines_src[k]!= NULL;++k)
lines_src[k] = lines_src[k + 1] ;
//lines_src[k] = NULL;
whole_num--;
}
}
}
//去掉中将号码
for(int i = 0 ; i < zj_num ;i++)
{
for(int j = 0 ; j < whole_num ;j++)
{
if( lines_skip[i].SubString(1,11) == lines_src[j].SubString(1,11) )
{
//从候选列中删除
for(int k = j;lines_src[k]!= NULL;++k)
lines_src[k] = lines_src[k + 1] ;
//lines_src[k] = NULL;
whole_num--;
}
}
}
}
void __fastcall TForm_main::FormCreate(TObject *Sender)
{
for(int i = 0 ;i < MAX_LINES; i++)
{
lines_src[i] = NULL;
lines_skip[i] = NULL;
}
FILE * ffile;
ffile = fopen("抽奖号码.txt","r");
for(whole_num = 0;!feof(ffile);)
{
read_line(ffile);
if(strlen(one_line) > 11)
{
lines_src[whole_num] = one_line;
whole_num ++;
}
}
fclose(ffile);
ffile = fopen("中奖号码.txt","r");
for(zj_num = 0;!feof(ffile);)
{
read_line(ffile);
if(strlen(one_line) > 11)
{
lines_skip[zj_num] = one_line;
zj_num ++;
}
}
fclose(ffile);
//剃掉已经中将de号码
for(int i = 0 ;i < 7;i++)
delete_dot();
}
//---------------------------------------------------------------------------
void __fastcall TForm_main::ButtonClick(TObject *Sender)
{
if(Timer1->Enabled== false){
RichEdit1->Text="";
RichEdit2->Text="";
Button->Caption="停止";
Timer1->Enabled = true;
}
else{
Timer1->Enabled= false;
Button->Caption="开始";
//找出姓名
RichEdit1->Text = lines_src[random_num].SubString(12,BUFFER_LENGTH);
//纪录到文件
FILE * fffile;
fffile = fopen("中奖号码.txt","a+");
if(lines_src[random_num] != NULL)
fwrite(lines_src[random_num].c_str(),lines_src[random_num].Length(),1,fffile);
fclose(fffile);
//从候选列中删除
for(int i = random_num;lines_src[i]!= NULL;i++)
lines_src[i] = lines_src[i + 1] ;
whole_num --;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm_main::Timer1Timer(TObject *Sender)
{
if(whole_num < 1)
return;
//随机选择
random_num = random(whole_num);
//号码显示
RichEdit2->Text = lines_src[random_num].SubString(1,11);
}
//---------------------------------------------------------------------------
void __fastcall TForm_main::FormShow(TObject *Sender)
{
Button->SetFocus();
Image_left->Picture->LoadFromFile("left.bmp");
Image_right->Picture->LoadFromFile("right.bmp");
Image_top->Picture->LoadFromFile("top.bmp");
Image_bottom->Picture->LoadFromFile("bottom.bmp");
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -