Работа с текстовым файлом
x[0] =’A’ и x[4]=’L’, тогда слово добавляеться в листбокс и прога продолжает поиск дальше и так до EOFа.
Помогите справиться с этой кухней, заранее благодарю..........
P.S. Продвинутые вордлисты бывают очень мегабайтные. Например я видел 80-100 мегов весом. Поэтому хотелось бы добавить следущую фичу добавляеться компонента ProgressBar. Затем прога вычисляет размер файла и соответственно будет работать индикатор, показываю юзеру, сколько ему еще ждать до EOFа.
Это в принципе не столь важно, как первое, но кто в курсе, поделись.........
Она очень сырая, но рабочая. Комментарии не даю, т.к. там и так все предельно ясно, но если будут вопросы по проге кидай на мыло [EMAIL]jeyson@mail.ru[/EMAIL]
Вот текст Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <stdio.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
FILE *fa;
int count;
struct x{
char word[20];
};
struct x masX[1000];
char tmpStrF[256];
//-------------------------------------------
__fastcall TForm1TForm1(TComponent* Owner)
TForm(Owner)
{
}
//-------------------------------------------
void __fastcall TForm1Button1Click(TObject *Sender)
{
ListBox1->Items->Clear();
int tmp=0;
int tmp1=0;
int j=0;
char tmpS[20];
for(int i=0;i<20;i++)
tmpS=' ';
count=StrToInt(Edit1->Text);
if((fa=fopen("wordlist.txt","r"))!=NULL)
{
while (fgets(tmpStrF,256,fa))
{
for (int i=0;i<256;i++)
{
if(tmpStrF=='\n') break;
if((tmpStrF!=' ')&&(tmpStrF!='.')&&(tmpStrF!=',')&&(tmpStrF!='')&&
(tmpStrF!=';'))
{
tmpS[tmp1]=tmpStrF;
tmp++;
tmp1++;
}
else
{
if(tmp1==count)
{
tmpS[count+1]='\0';
strcpy(masX[j].word,tmpS);
for(int i=0;i<20;i++) tmpS=' ';
tmp1=0;
if(((masX[j].word[0]=='A')&&(masX[j].word[4]=='L'))||
((masX[j].word[0]=='a')&&(masX[j].word[4]=='l')))
ListBox1->Items->Add(masX[j].word);
j++;
}
else
{
tmp1=0;
for(int i=0;i<20;i++) tmpS=' ';
}
}
}
}
fclose(fa);
}
}
//-------------------------------------------
Замечания и предложения принимаются
P.S. чем смог тем помог.