Поочередное открывание Бинарных файлов!!!
От: Аноним  
Дата: 25.03.05 08:01
Оценка: :))
В известной папке есть 5 бинарных файлов и известными именами!!! Можно ли как то автоматизировать открытие этих файлов!!! Т.е. в цикле открытие и работу с ними...


for(i=0; i<5; i++)
{
1) открыть файл
2) считать данные в массив
3) поработать с данными
4) закрыть файл
}


Вот как такое организовать в Buildere?????
Re: Поочередное открывание Бинарных файлов!!!
От: siniypin Россия http://bobbbloggg.blogspot.com/ http://robbbloggg.blogspot.com/
Дата: 25.03.05 08:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В известной папке есть 5 бинарных файлов и известными именами!!! Можно ли как то автоматизировать открытие этих файлов!!! Т.е. в цикле открытие и работу с ними...



А>
А>for(i=0; i<5; i++)
А>{
А>1) открыть файл
А>2) считать данные в массив
А>3) поработать с данными
А>4) закрыть файл
А>}
А>


А>Вот как такое организовать в Buildere?????


Используйте TFileStream
Re[2]: Поочередное открывание Бинарных файлов!!!
От: Аноним  
Дата: 25.03.05 08:17
Оценка:
можно примерчик по использованию этой штуки?
Re: Поочередное открывание Бинарных файлов!!!
От: AlexEagle Украина http://www.vik.oil
Дата: 25.03.05 08:31
Оценка:
ИМХО, в юмор
Re[3]: Поочередное открывание Бинарных файлов!!!
От: siniypin Россия http://bobbbloggg.blogspot.com/ http://robbbloggg.blogspot.com/
Дата: 25.03.05 09:22
Оценка: -1
   TFileStream *Stream = new TFileStream("YourFileName", fmOpenRead);//Создаем поток
   Byte *Buf;//Буфер для чтения
   if ((Buf=(Byte*)malloc(Stream->Size))== NULL)//выделяем память под буфер данных
     return;
   Stream->Read(Buf, Stream->Size);//читаем из файла
   Process(Buf);//Ваша обработка данных
   Stream->Free();//Освобождаем поток
   if (realloc(Buf, Stream->Size)==NULL)//освобождаем память буфера
     return;
Re[4]: Поочередное открывание Бинарных файлов!!!
От: Аноним  
Дата: 25.03.05 09:48
Оценка:
Здравствуйте, siniypin, Вы писали:

S>
S>   TFileStream *Stream = new TFileStream("YourFileName", fmOpenRead);//Создаем поток
S>   Byte *Buf;//Буфер для чтения
S>   if ((Buf=(Byte*)malloc(Stream->Size))== NULL)//выделяем память под буфер данных
S>     return;
S>   Stream->Read(Buf, Stream->Size);//читаем из файла
S>   Process(Buf);//Ваша обработка данных
S>   Stream->Free();//Освобождаем поток
S>   if (realloc(Buf, Stream->Size)==NULL)//освобождаем память буфера
S>     return;
S>


ПРоблема не в том как считать из ФАЙЛА!!!!!!!!!!!!
Я пользуюсь например fread , fopen!!!
А проблема заключается в том что в папке 5 файлов а надо их всех поочередно просмотреть!!!!
Re[5]: Поочередное открывание Бинарных файлов!!!
От: siniypin Россия http://bobbbloggg.blogspot.com/ http://robbbloggg.blogspot.com/
Дата: 25.03.05 10:13
Оценка:
А чем Вам не подходит это решение???

У Вас проблема с подстановкой имен файлов в цикле???
А если так:

for(i=0; i<5; i++)
{
1) открыть файл ----


   TFileStream *Stream = new TFileStream(ArrayOfYourFileNames[i], fmOpenRead);//Создаем поток
   Byte *Buf;//Буфер для чтения
   if ((Buf=(Byte*)malloc(Stream->Size))== NULL)//выделяем память под буфер данных
     return;


2) считать данные в массив -----

    Stream->Read(Buf, Stream->Size);


3) поработать с данными -----

     Process(Buf);//Ваша обработка данных


4) закрыть файл -------

     Stream->Free();//Освобождаем поток
     if (realloc(Buf, Stream->Size)==NULL)//освобождаем память буфера
     return;


}
Re[4]: Поочередное открывание Бинарных файлов!!!
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.03.05 10:14
Оценка: :)
Здравствуйте, siniypin, Вы писали:

S>
S>   TFileStream *Stream = new TFileStream("YourFileName", fmOpenRead);//Создаем поток
S>   Byte *Buf;//Буфер для чтения
S>   if ((Buf=(Byte*)malloc(Stream->Size))== NULL)//выделяем память под буфер данных
S>     return;
S>   Stream->Read(Buf, Stream->Size);//читаем из файла
S>   Process(Buf);//Ваша обработка данных
S>   Stream->Free();//Освобождаем поток
S>   if (realloc(Buf, Stream->Size)==NULL)//освобождаем память буфера
S>     return;
S>

Поздравляю, вы вызвали UB. Более экзотического способа освобождать память буфера я еще не встречал. Мало того, что через realloc, так еще и обращаемся к свойству свежеубитого объекта. О времена, о нравы...
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Поочередное открывание Бинарных файлов!!!
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 25.03.05 10:25
Оценка: 1 (1) +1
Здравствуйте, Аноним, Вы писали:

А>Я пользуюсь например fread , fopen!!!

А>А проблема заключается в том что в папке 5 файлов а надо их всех поочередно просмотреть!!!!

У-у-у... Слов нет FindFirst(),FindNext(),FindClose(). Ctrl+F1 для более подробного ознакомления....
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[5]: Поочередное открывание Бинарных файлов!!!
От: siniypin Россия http://bobbbloggg.blogspot.com/ http://robbbloggg.blogspot.com/
Дата: 25.03.05 10:28
Оценка:
Очепятка... =\
Можно free использовать, даже наверное нужно,но это все на коленке за 5 сек... в следующий раз проверю прежде чем писать =\
Re[5]: Поочередное открывание Бинарных файлов!!!
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.03.05 10:32
Оценка:
Здравствуйте, <Аноним>, Вы писали:
А>ПРоблема не в том как считать из ФАЙЛА!!!!!!!!!!!!
А>Я пользуюсь например fread , fopen!!!
А>А проблема заключается в том что в папке 5 файлов а надо их всех поочередно просмотреть!!!!
char*[] files = {"file1.ext", "file2.ext", "file3.ext"};
for(int i=0; i<files/sizeof(char*); i++)
  processFile(files[i]

Намек понятен?
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Поочередное открывание Бинарных файлов!!!
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 25.03.05 10:42
Оценка:
Здравствуйте, Sinclair, Вы писали:

А>>А проблема заключается в том что в папке 5 файлов а надо их всех поочередно просмотреть!!!!

S>
S>char*[] files = {"file1.ext", "file2.ext", "file3.ext"};
S>for(int i=0; i<files/sizeof(char*); i++)
S>  processFile(files[i]
S>

S>Намек понятен?

И через некоторое время начнуться крики о том, что в каталоге уже не 5 файлов, а 500
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re: Поочередное открывание Бинарных файлов!!!
От: Аноним  
Дата: 25.03.05 12:35
Оценка: -1 :))) :))) :)
КОРОЧЕ я так вижу что никто не ШАРИТ!!!!
Re[2]: Поочередное открывание Бинарных файлов!!!
От: Аноним  
Дата: 25.03.05 12:36
Оценка:
Сам ты ЮМОР!! Ты что не видишь что решения до сих пор нету?!
Re[3]: Поочередное открывание Бинарных файлов!!!
От: AlexEagle Украина http://www.vik.oil
Дата: 25.03.05 13:05
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Ты что не видишь что решения до сих пор нету?!


Так и задачи тоже! Что вообще интересует:
— очередность при открытии файлов? — всевозможные циклы это решают ( хотя сомневаюсь что именно это интересовало)
— Работа с бинарными файлами? — тут начиная от API CreateFile|ReadFile|CloseHandle, продолжая сишными (с++) fopen, fread, fclose (если не ошибаюсь), и заканчивая билдеровскими примочками решений куча
— Алгоритмы работы с конкретными типами файлов? — так хотя бы их название типа файлов тогда....

Как видно для каждого пункта кроме третьего есть куча решений. Если интересно собственно детализация решения, то нужно задавать вопрос в соответствующем контексте.

Вот пример нормального вопроса, на который будут ответы по существу:

Название вопроса: Работа с бинарными файлами на Билдере
Содержание вопроса: Какой самый эффективный метод для сабжа?


А то так — нужна программа для падающих шаров
Re[2]: Поочередное открывание Бинарных файлов!!!
От: ZetRooT Россия  
Дата: 25.03.05 13:25
Оценка:
Здравствуйте, AlexEagle, Вы писали:

AE>ИМХО, в юмор

в "орешник"
Счастье, это когда множество желаний есть подмножество множества возможностей.... (с)студенты ВМиК

"Если бы не было колобка, его следовало бы придумать..."

Re[3]: Поочередное открывание Бинарных файлов!!!
От: ZetRooT Россия  
Дата: 25.03.05 13:25
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Сам ты ЮМОР!! Ты что не видишь что решения до сих пор нету?!

такому учат в 9 классе на ин-тике
смотри
создаешь массив с именами файлов от 1 до 5 и просто работаешь а i используешь в качестве индекса элемента в массиве.
Счастье, это когда множество желаний есть подмножество множества возможностей.... (с)студенты ВМиК

"Если бы не было колобка, его следовало бы придумать..."

Re[3]: Поочередное открывание Бинарных файлов!!!
От: AlexEagle Украина http://www.vik.oil
Дата: 25.03.05 13:29
Оценка:
Здравствуйте, ZetRooT, Вы писали:

ZRT>Здравствуйте, AlexEagle, Вы писали:


AE>>ИМХО, в юмор

ZRT>в "орешник"

Дык а я о чем ( здесь правда только юмор )
Re[4]: Поочередное открывание Бинарных файлов!!!
От: ZetRooT Россия  
Дата: 25.03.05 13:34
Оценка:
Здравствуйте, AlexEagle, Вы писали:

AE>Здравствуйте, ZetRooT, Вы писали:


ZRT>>Здравствуйте, AlexEagle, Вы писали:


AE>>>ИМХО, в юмор

ZRT>>в "орешник"

AE>Дык а я о чем ( здесь правда только юмор )

ну можно на delphimaster.ru запостить
Счастье, это когда множество желаний есть подмножество множества возможностей.... (с)студенты ВМиК

"Если бы не было колобка, его следовало бы придумать..."

Re[2]: Поочередное открывание Бинарных файлов!!!
От: bkat  
Дата: 25.03.05 13:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>КОРОЧЕ я так вижу что никто не ШАРИТ!!!!



Слушай, а вот это не ты случаем был?
http://www.rsdn.ru/Forum/?mid=1062131
Автор:
Дата: 09.03.05
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.