Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 17

Открытие файлов со схожими именами

09.09.2015, 13:08. Показов 1125. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
for (int i = 1; i < MAX_POINT; i++)
   frMain->ListWes->Keys[i] = FloatToStr(100000.0+i);
 
  AnsiString FileName ="param.ini";
 
  if( FileExists( FileName ) )
  {
    TStringList *str=new TStringList();
    str->LoadFromFile( FileName );
 
    Wesy->readparam.drate          = StrToInt( str->Values["DRate"] );
    Wesy->readparam.gain           = StrToInt( str->Values["Gain"] );
    Wesy->readparam.buffer         = StrToInt( str->Values["Buffer"] );
    Wesy->readparam.id_sensor      = StrToInt( str->Values["ID_Sensor"] );
    Wesy->readparam.accuracy       = StrToFloat( str->Values["Accuracy"] );
    Wesy->readparam.scale_interval = StrToFloat( str->Values["ScaleInterval"] );
    Wesy->rkp                      = StrToFloat( str->Values["Rkp"] );
    Wesy->version                  = StrToInt  ( str->Values["Ver"] );
 
    frMain->RkpEdit->Text = FloatToStr(Wesy->rkp);
    frMain->VerEdit->Text = FloatToStr(((double)(Wesy->version))/100.0);
 
    WriteParamOnForm();
 
    for (int i = 1; i < MAX_POINT; i++)
    { Wesy->w_spline.spline[i].x = StrToFloat( str->Values["SplineX[" + IntToStr(i) + "]"]);
      Wesy->w_spline.spline[i].y = StrToFloat( str->Values["SplineY[" + IntToStr(i) + "]"]);
    }
    WriteSplineOnForm();
 
    delete str;
    LoadParamDone = true;
Здравствуйте строка AnsiString FileName ="param.ini"; загружает файл.
Подскажите как мне сделать, чтобы эта строка могла загрузить не только этот файл а еще например: "param_20.ini", "param_40.ini", "param_60.ini"
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2015, 13:08
Ответы с готовыми решениями:

Перенос файлов в папки со схожими именами
Здравствуйте! Прошу помощи экспертов, так как сам не связан с программированием. Очень нужен батник, который бы перемещал файлы в...

Распределение файлов в папках по подпапкам с именами, соответствующими именам этих файлов
Распределение файлов в папках по подпапкам с названием подпапок как файл. например в папке 0005 лежит файл 3.pdf и tam.pdf нужно в...

Создание папок с именами заданных файлов и перемещение этих файлов в созданные папки
Подскажите пожалуйста как по названиям файлов txt создать папки и положить в каждую из папок файл с таким же названием.

10
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
10.09.2015, 08:36
Если структура одинаковая, то просто сделай обычный диалог и открывай на здоровье, а чтоб загрузить все сразу, каждый файл отдельный поток
1
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 17
10.09.2015, 09:25  [ТС]
как сделать обычный диалог?
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
10.09.2015, 09:36
Вижу с кода что используешь формы, вот на этой форме frMain размещаешь компонент OpenDialog, ну а дальше по открытию, описываешь свою ситуацию
0
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 17
10.09.2015, 09:41  [ТС]
мне нужно что бы при нажатии на кнопку можно было выбрать нужный файл с именем param_20 или param_40 чтобы был выбор.
с помощью компонента OpenDialog
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
10.09.2015, 09:45
Лучший ответ Сообщение было отмечено AndreyDe как решение

Решение

Вот по кнопке открываешь любой ini в текущей директории
C++
1
2
3
4
5
6
7
8
OpenDialog1->Filter="Файлы ini (*.ini)|*.ini";
OpenDialog1->InitialDir=GetCurrentDir();
if(OpenDialog1->Execute())
   {
      AnsiString filename = OpenDialog1->FileName;
      FileChoice->Caption="FileChoice- |"+filename;
      Твоя функция обработки файла
   }
Да ты меня правильно понял, иначе делай 3-4 потока, и следи чтобы после того как закончил работать с каждым закрывать его
1
0 / 0 / 0
Регистрация: 12.12.2014
Сообщений: 17
10.09.2015, 09:47  [ТС]
спасибо
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.09.2015, 11:35
AndreyDe, ещё есть возможность открывать сразу несколько файлов через OpenDialog при помощи нажатия клавиши Shift на клавиатуре
Вот пример. Можешь переделать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        TStringList *list = new TStringList();
        OpenDialog1->Options.Clear();
        OpenDialog1->Options << ofFileMustExist << ofHideReadOnly << ofAllowMultiSelect << ofEnableSizing;
 
       if(OpenDialog1->Execute())
       {
 
                for(int i=0;i<OpenDialog1->Files->Count;++i)
                {
                 list->LoadFromFile(OpenDialog1->Files->Strings[i]);
                 Memo1->Lines->Add(list->Text);
                }
 
       }
       delete list;
       list = NULL;
 
}
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
10.09.2015, 12:09
При мультивыборе ему будет сложнее обрабатывать, а в некоторых случаях вообще бесмысленно, но дело его,
Sasha все поможет)))
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
10.09.2015, 12:42
Игорь1986, я б в твоём коде дописал бы return
C++
1
2
3
4
5
6
7
8
9
10
11
12
OpenDialog1->Filter="Файлы ini (*.ini)|*.ini";
OpenDialog1->InitialDir=GetCurrentDir();
if(OpenDialog1->Execute())
   {
      AnsiString filename = OpenDialog1->FileName;
      FileChoice->Caption="FileChoice- |"+filename;
     // Твоя функция обработки файла
   }
else
{
  return;
}
чтобы не было вот этого как написано в этой теме
OpenDialog
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
10.09.2015, 13:30
Sasha я с такой проблемой не сталкивался, только что проверил не вылетает, все нормально, но такое не помешает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.09.2015, 13:30
Помогаю со студенческими работами здесь

Копирование файлов из разных каталогов в каталоги с именами, соответствующими номерам в именах файлов
Добрый день! Помогите решить проблему. Есть семь папок (cam_1, cam_2, cam_3 и.т.д) с фотографиями (cam_1_00052.JPG, cam_1_00053.JPG,...

Распределение файлов в папках по подпапкам с именами, соответствующими части имен этих файлов
Есть много пдф файлов с адресами в названии ул. Комсомольская, д. 10 (1 ввод) ул. Комсомольская, д. 10 (2 ввод) ул. Мира, д. 11 ...

Перемещение файлов в каталоги, создаваемые в соответствии с именами или частями имён этих файлов
Добрый день. Прошу помочь. Задача: в текущем каталоге имеется N-ое кол-во файлов с определенными названием, типа: Название1_1.jpg ...

Копирование файлов по списку в текстовом файле в папки с именами, соответствующими расширениям этих файлов
Добрый день, уважаемые форумчане. Прошу помощи с написанием bat-файла. Значит задача такая. Есть у нас помойка с множеством файлов и...

Сравнение файлов в папке и создание папок с именами файлов
Нужно пройтись по папке, если есть картинка с названием, но нет папки с таким же названием, создать папку с названием картинки и перенести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru