Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с текстовым файлом

500
21 февраля 2002 года
waste
26 / / 20.04.2000
Задача такая на форме лежат три компоненты текстбокс,кнопка и листбокс. В бокс вводиться цифра(размер) и программа начинает в файле wordlist.txt искать слова соответсвующей длины. Проверяет каждую строчку (по одному слову на строку) и если находит (допустим в бокс была введена цифра 5, значит все слова с пятью буквами) то слово присваиваеться массиву x[5]. Массив обрабатываеться посимвольно и если байт
x[0] =’A’ и x[4]=’L’, тогда слово добавляеться в листбокс и прога продолжает поиск дальше и так до EOFа.
Помогите справиться с этой кухней, заранее благодарю..........

P.S. Продвинутые вордлисты бывают очень мегабайтные. Например я видел 80-100 мегов весом. Поэтому хотелось бы добавить следущую фичу добавляеться компонента ProgressBar. Затем прога вычисляет размер файла и соответственно будет работать индикатор, показываю юзеру, сколько ему еще ждать до EOFа.
Это в принципе не столь важно, как первое, но кто в курсе, поделись.........
289
26 февраля 2002 года
Jeyson
207 / / 20.04.2000
Лови прогу только что мной написанную.
Она очень сырая, но рабочая. Комментарии не даю, т.к. там и так все предельно ясно, но если будут вопросы по проге кидай на мыло [EMAIL]jeyson@mail.ru[/EMAIL]
Вот текст Unit1.cpp

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <stdio.h>

#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;
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(&quot;wordlist.txt&quot;,&quot;r&quot;))!=NULL)
{
while (fgets(tmpStrF,256,fa))
{
for (int i=0;i<256;i++)
{
if(tmpStrF=='\n') break;
if((tmpStrF!=' ')&amp;&amp;(tmpStrF!='.')&amp;&amp;(tmpStrF!=',')&amp;&amp;(tmpStrF!='')&amp;&amp;
(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')&amp;&amp;(masX[j].word[4]=='L'))||
((masX[j].word[0]=='a')&amp;&amp;(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. чем смог тем помог.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог