Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

Умное сравнение списков

25.11.2014, 22:16. Показов 720. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Задача у меня такова - сравнить два списка и заменить файл на диске

имеем списки
"Не рабочие"
Code
1
2
3
4
5
6
7
8
9
1_0_1_399_9_FFFF_1682E68_0_0_0.png
1_0_1_39A_9_FFFF_1682E68_0_0_0.png
1_0_1_3AFD_F_70_1680000_0_0_0.png
1_0_1_3AFE_F_70_1680000_0_0_0.png
1_0_1_3AFF_F_70_1680000_0_0_0.png
1_0_1_3B00_F_70_1680000_0_0_0.png
1_0_1_3B02_F_70_1680000_0_0_0.png
1_0_1_3B06_F_70_1680000_0_0_0.png
1_0_1_3B07_F_70_1680000_0_0_0.png
"Рабочие"
Code
1
2
3
4
5
6
1_0_1_395_9_FD_1680000_0_0_0.png
1_0_1_396_9_FD_1680000_0_0_0.png
1_0_1_6996_1B_FD_1680000_0_0_0.png
1_0_1_397_9_FD_1680000_0_0_0.png
1_0_1_398_9_FD_1680000_0_0_0.png
1_0_1_399_9_FD_1680000_0_0_0.png
т.е проверка происходит по 1_0_1_399_9_а дальше не важно
вот и мне нужно
сравнить (вернее взять из 2 списка FD_1680000_0_0_0.png и поправить в первом)
и 1_0_1_399_9_FFFF_1682E68_0_0_0.png
превратить (переименовать файл) в
1_0_1_399_9_FD_1680000_0_0_0.png

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
  {
    TRegExpr *re = new TRegExpr;
    re->InputString = Memo3->Lines->Text;        //ïðàâèëüíûå èìåííà
    re->ModifierM = true;
    re->ModifierX = false;
    Memo4->Clear();
    int k=0;
    re->Expression = "(^(.*?)_(.*?)_(.*?)_(.*?)_(.*?)_(.*?))$";   //ïåðâàÿ ÷àñòü
    re->Compile();
    if(re->Exec(re->InputString))
    {
        do
        {
            String s=re->Match[2].Trim() + "_"+ re->Match[3].Trim()+ "_"+ re->Match[4].Trim()+ "_"+ re->Match[5].Trim()+ "_"+ re->Match[6].Trim()+"_";
            if (Memo2->Text.Pos(s) )   //Memo2 - íå ïðàâèëüíûå èìåíà ïîëíîñòüþ
            {
                k++;
                RenameFile ( Edit2->Text + "\\"+ Memo2->Lines->Text.SubString (Memo2->Text.Pos(s) , Memo2->Text.Pos(".png")+2) , Edit2->Text + "\\" + s +re->Match[7].Trim() );
            }
        }
        while (re->ExecNext());
    }
    delete re;
    Label3->Caption=k;
}
в списках бывает около 2000 строк..
Добавлено через 1 час 30 минут
Извиняюсь, да ошибка была в
C++
1
 Memo2->Lines->Text.SubString (Memo2->Text.Pos(s) , Memo2->Text.Pos(".png")+2));
Значение +2 меняется от длины строки и может принимать значение +3
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2014, 22:16
Ответы с готовыми решениями:

Сравнение списков
Есть 2 списка (стринг листа) 1 список 1 2 3 1 1 2 и

Сравнение списков
Попросили на писать программу для сравнения списоков. Написал: TStringList *list1 = new TStringList; list1->Sorted =...

Сравнение списков
Добрый день. Есть два списка, которые надо добавить в третий. Например, Список один: attribute1, слово attribute2, слово2 ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2014, 22:16
Помогаю со студенческими работами здесь

Сравнение Списков
Доброго времени суток! Прошу помочь в следующем: Есть переменные А и В в которых разные списки с данными. Необходимо сравнить...

Сравнение списков
Доброго времени суток! Подскажите, пожалуйста, как написать программу, которая сравнивает по количеству элементов два списка.

Сравнение списков
Доброго времени суток . Нужен небольшой совет по программе . Есть 2 списка (стандартный STL-кий класс list ) , нужно сравнить их на...

Сравнение списков
Добрый день! Помогите пожалуйста. У меня есть 2 разных списка public List<postgreconnect.posgreconnect.Sinxron> newbd = new...

Программа сравнение списков
помогите пожалуйста реализовать прогу. Есть 20 списков они, как константа мы вводим к примеру 4 списка они должны сравниваться между собой...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru