Загрузка файлов

  • Автор темы Maycal
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Maycal

Доброе время суток уважаемые программисты. У меня возник вопрос, как можно загружать файлы заранее не определяя их?
Моя программа поочередно загружает 3 файла, которые зараннее описаны в методе. Мне бы хотелось сделать эту загрузку автоматической. Тоесть сколько в определенной папке .bmp файлов, столько бы и загружалось (с любым названием и длиной) но при этом без OpenDialog1! Вот два главных метода программы:

Здесь загружаеться и отображается файл.

void TMonster::Appear (String Illustration)
{
Form1->Image1->Picture->LoadFromFile (Patch+Illustration);
}


Файл который загружаеться определяеться ниже:

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Chance++;
if (Chance == 4)
{
Chance = 0;
Timer1->Enabled = false;
Medis = !Medis;
Button1->Caption = "Старт";
}
switch (Chance)
{
case 1:
Who->Appear ("rect5.bmp");
break;
case 2:
Who->Appear ("rect6.bmp");
break;
case 3:
Who->Appear ("rect7.bmp");
}
}


Как видно переменная Illustration поочередно принимает значение 3 рисунков: ("rect5.bmp"); ("rect6.bmp"); ("rect7.bmp");
Еще раз повторяю вопрос: как сделать так, что бы переменная Illustration принимала значение лююбых файлов, которые лежат в папке const String Patch = "D:\\Gallerea_Maycal\\"; без использование OpenDialog1.


Люди, помогите пожалуйста, я начинающий программист и это очень важно для меня. Заранее спасибо
 
P

Pasha

Для: Maycal
Гугли FindFirstFile/FindNextFile/FindClose.
 
M

Maycal

Я гуглю но безрезультатно. :( Конкретного объяснения типа: загрузка файла заранее неопределяя его нет! Может быть вы все-таки поможете на моем примере как использовать функции FindFirstFile/FindNextFile/FindClose чтобы заранне не определять файл? Еще раз спасибо.
 
P

Pasha

, заменяешь _tprintf (TEXT("Next file name is: %s\n")... на свой код.
 
M

Maycal

Доброе время суток, это сново я! Скажите пожалуйста, как картинку внедрить прямо в .exe файл, чтобы эта картинка загружалась на форму из самой себя, а не из папке заданной константой. Есть ли способ сделать это попроще с помощью Builder?
 
M

Melon

В Builder на "Tool Palette" есть в списке "Win 3.1" объект TFileListBox, его параметр Directory определяет папку с файлами, Mask - типы файлов в списке. Список содержит только имена файлов, выбранных по этой маске, без пути. Далее можно очень просто, как в ListBox, обращаться с элементами списка (в примере далее: FileList - объект TFileListBox):

<по таймеру, по нажатию клавиш, вращению колёсика мыши и т. п.>(index - позиция файла в списке)
{
if (index<FileList->Count && index>-1)
{
AnsiString current_file = FileList->Directory+"/"+FileList->Items->operator [](index) ;
<отрисовка>
}
}


Отритсовать можно ка на саму форму, так и в любой объект изображений - TBitmap, TImage, TJPEGImage...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!