?? 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);
//剃掉已經(jīng)中將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 + -