Представляю Вам новую свою программу RecursiveDir

Компьютеры, программы, периферия, коммуникации, интернет, программирование и т.п. Ранее назывался Hard-n-Soft.
Сообщение
Автор
Wiz
ШИЗО
Благодарил (а): 45 раз
Поблагодарили: 35 раз

№ 0 Сообщение Wiz » 28 мар 2026 08:05

Представлю Вам новую свою программу RecursiveDir. Программа предназначается для создания списка mp3 файлов, расположенных на флешке, для того, чтобы можно было затем распечатать этот список и включать конкретную композицию с пульта бумбокса.

Каковы же преимущества этой программы перед другими подобными, если они, вообще, встречаются в природе:

1) простота программы - программа очень простая
2) краткость - программа очень небольшая
3) огромная польза, которую приносит с собой программа RecursiveDir
4) уникальность такой программы - вряд ли кто ещё озадачивался такой проблемой, когда на бумбоксе есть пульт, а песен, там, простите, тысяча и даже больше
5) открытость программы - программа имеет открытый исходный код
6) важность - программа очень важная и требуется огромному числу людей
7) необходимость - это программа очень нужна и необходима людям, у которых имеется бумбокс с цифровым пультом
8) бесплатность - программа абсолютно бесплатная. Все, кто меня знает, прекрасно знают о том, что я все свои программы создаю совершенно бесплатно и с открытым исходным кодом. Некоторые, правда, программы я продал по дешёвке, но это были или курсовики или лаб. работы в институте. Многие мои знакомые, коллеги по работе и друзья, преподаватели института, к сожалению уже умерли
9) отсутствие вирусов - программа не содержит внутри себя вирусов или каких-то иных шпионских составляющих, поэтому пользоваться её можно совершенно безопасно. Всё, что она делает - это производит сканирование флешки и формирует, затем, список композиций на флешке, который потом можно распечатать на лазерном принтере и носить с собой. Когда наступит необходимость включения конкретной композиции - мы просто достаем список и пульт, и мгновенно включаем то, что нужно, а не наугад.

Вот, пример формирования списка. Программа создаёт файл find.txt Этот список я потом копировал в Word, уменьшал размер шрифта до микроскопического, делал столбцы и распечатывал на лазерном принтере:
001 - main
001 - Утренние молитвы.mp3
002 - Утреннее молитвенное правило в Великий пост.mp3
003 - Вечерние молитвы.mp3
004 - Вечернее молитвенное правило в Великий пост.mp3
005 - Канон покаянный ко Господу нашему Иисусу Христу.mp3
006 - Последование ко святому Причащению на русском (Following to the Holy Communion in Russian).mp3
007 - Благодарственные молитвы после Святого Причащения (Литургия Иоанна Златоуста).mp3
008 - Последование ко Святому Причащению.mp3
009 - Канон за болящего.mp3
010 - Канон Ангелу Хранителю.mp3
011 - Канон покаянный ко Господу нашему Иисусу Христу..mp3
012 - Правило от осквернения.mp3
013 - molitva
013 - Лечебная Космическая Музыка с частотой 7 Hz Глубокая Тета-Медитация Скрытые Возможности Нашего Мозга.mp3
014 - КОСМИЧЕСКАЯ МУЗЫКА Космос, Звезды, Планеты.mp3
015 - Последование ко Святому Причащени_ю.mp3
016 - Dimitri Kramer (Birioukov) - Без пятна и порока.mp3
017 - Три дома (И. Тальков) - Three Houses (I. Talkov). Guitar cover by RufatOz..mp3
018 - ТриДома.mp3
019 - прямо_в_рай_линда.mp3
020 - иванушки_кукла_01.mp3
021 - Канон молебный ко Пресвятой Богородице.mp3
022 - КАНОН ПОКАЯННЫЙ КО ГОСПОДУ НАШЕМУ ИИСУСУ ХРИСТУ. ЧИТАЕТ ПРОТОИЕРЕЙ АНДРЕЙ РАХНОВСКИЙ.mp3
023 - АКАФИСТ ИИСУСУ СЛАДЧАЙШЕМУ. ЧИТАЕТ ПРОТОИЕРЕЙ АНДРЕЙ ТКАЧЕВ.mp3
024 - Вечернее правило 16 минут на молитву ВЕЧЕРОМ.mp3
025 - Последование ко святому причастию.mp3
026 - 25_noj_2020_03.mp3
027 - Канон с акафистом ко Господу нашему Иисусу Христу.mp3
028 - 25_noj_2020_02.mp3
029 - lestv
029 - 01_Zastavka.mp3
030 - 02_Vstuplenie1.mp3
031 - 03_Vstuplenie2.mp3
032 - 04_Slovo_Pervoe1.mp3
033 - 05_Slovo_Pervoe2.mp3
034 - 06_Slovo_Vtoroe.mp3
035 - 07_Slovo_Trete.mp3
036 - 08_Slovo_Chetvertoe1.mp3
037 - 09_Slovo_Chetvertoe2.mp3
038 - 10_Slovo_Chetvertoe3.mp3
039 - 11_Slovo_Chetvertoe4.mp3
040 - 12_Slovo_Chetvertoe5.mp3
041 - 13_Slovo_Chetvertoe6.mp3
042 - 14_Slovo_Pyatoe1.mp3
043 - 15_Slovo_Pyatoe2.mp3
А каковы же особенности и недостатки этой программы, если они вообще есть? К сожалению, в этой программе встречаются и недостатки. Какие же? Для этого я хочу, собственно говоря (далее с.г.), привести исходный текст самой программы, в котором можно будет увидеть не только преимущества, но и недостатки. Ниже я привожу часть исходного кода. Полностью весь проект находится в прикрепленным файле, архиве, имеющим расширение zip - RecursiveDir.zip
CStdioFile file;

CWnd * res=NULL;

const zero=0;

CString ENDL="\n";

int level=1;

int indx=1;

int FindDir(CString path)
{
WIN32_FIND_DATA finddata;
level++;

HANDLE hfind=FindFirstFile(path+"\\*.*", &finddata);
if (hfind == INVALID_HANDLE_VALUE) return 0;


int count=0;
do {



bool dir=false;
bool points=false;
if (finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) dir=true;
if (finddata.cFileName[0] == '.' || finddata.cFileName[1] == '.') points=true;

//if ( dir && !points))
if ( !points)
{
if (dir) count++;

CString z=path+"\\"+finddata.cFileName;
CString space;

for(int i=1; i<level-1;i++)
space+="-";


char s[]={BYTE(212),0};

if (count>1) s[0]='-';

CString k=s;
//k.AnsiToOem();

if (dir)
{
space+=k;
space+="|";
}

CString r=finddata.cFileName+ENDL;
r.AnsiToOem();

CString date;

SYSTEMTIME st;
FileTimeToSystemTime(&finddata.ftCreationTime, &st);

date.Format("%003i ", indx);

//file.WriteString(date+r);

CString NewFileName;
NewFileName.Format("%003i", indx);

CString fn=finddata.cFileName;


if (dir)
{
if (fn.Find("Linda",0)>=0)
{
int k=3;
k++;
}
}

if (!dir)
{
if (fn.Find("mena.mp3",0)>=0)
{
int b=3;
b++;
}
if (fn.Find(".mp3",0)>0 || fn.Find(".MP3",0)>0) indx++;
else
{
int a=3;
a++;
}
}





while (fn.GetLength()>0)
{
char s=fn[0];
char s2=' ';
if (fn.GetLength()>1) s2=fn[1];
if (// (s>='0' && s<='9')||
s==' ' || s=='-' || s=='#' || s=='_' ||
(s=='.' && s2!='m')
)
{
fn.Delete(0,1);
}
else break;
}

if (fn.GetLength()>1)
{
if (fn[0]>=128) fn.SetAt(0,'z');
}

fn=" - " + fn;

NewFileName+=fn;



file.WriteString(NewFileName);
file.WriteString("\n");


if (!dir)
{
// MoveFile(path+"\\"+finddata.cFileName, path+"\\"+NewFileName);
}

res->SetWindowText(z);
res->InvalidateRect(NULL);
res->UpdateWindow();

if (!points && dir) FindDir(z);

}



} while (FindNextFile(hfind, &finddata) != zero);

FindClose(hfind);

level--;

return 1;

}

void CRecursiveDirDlg::OnOK()
{

UpdateData(true);


res=&m_win_res;

file.Open("find.txt",CFile::modeWrite|CFile::modeCreate);

indx=1;
FindDir(m_path);

m_result="done";
UpdateData(false);
file.Close();

}
Основной и главный недостаток - на флешке вся информация должна храниться только в папках, находящихся в корневом каталоге, внутри которых не должно быть вложенных папок. Также и в корневом каталоге должны быть только субдиректории, а файлов в корневом каталоге быть не должно. В таком случае программа будет формировать весь список корректно. Так то, в принципе, программа поддерживает и вложенные папки, но список при этом формируется некорректно в каких-то местах флешки.

Здесь целиком представлен весь проект для разработки в среде Visual C++ 6.0, а также сам исполняемый модуль с названием RecursiveDir.exe
RecursiveDir.zip
________
Предпредпоследний раз редактировалось участником конференции Wiz 28.03.2026 at 08:05 Причина: первоначальное создание сообщения
Предпоследний раз редактировалось участником конференции Wiz 28.03.2026 at 08:15 Причина: продолжал формирование первоначального сообщения
Последний раз редактировалось участником конференции Wiz 28.03.2026 at 08:19 Причина: продолжал формировать первоначальное сообщение
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Wiz
ШИЗО
Благодарил (а): 45 раз
Поблагодарили: 35 раз

№ 1 Сообщение Wiz » 28 мар 2026 08:32

Не успел, к сожалению, полностью сформировать первоначальное сообщение, поэтому, дописываю далее. Интерфейс программы очень и очень простой. Вы должны вписать в текстовом поле букву флешки с двоеточием. Например F: и нажать кнопочку сканировать. И всё, программа формирует текстовый файл find.txt, с которым дальше Вы будете работать в Word'e - уменьшите шрифт до минимально возможного читабельного, столбцы и печатать будете потом на лазерном принтере:
Безымянный.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Вернуться в «Компьютерный форум»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 21 гость