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

Показать файлы из папки

13.03.2012, 18:47. Показов 1482. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, мне нужно вывести файл в С++ в окошко какого-то компонента типа FileListBox. Только адреса у меня в таком формате C:\Windows\explorer.exe и храняться в Memo1->Lines.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2012, 18:47
Ответы с готовыми решениями:

Показать файлы из папки в ListBox
Задача такая: Нужно загрузить в лист названия всех Текстовых (.txt) файлов из папки "maps", в которых Больше 330 символов. ...

Как показать диалог выбора папки
Как показать диалог выбора папки ? Без использования DirectoryListBox. Меня интересует путь к выбранной папке. Как сделать так, что-бы в...

Показать все файлы из папки
Здравствуйте! Подскажите, как отобразить все файлы, содержащиеся в папке, на странице средствами php? Читал про glob, про scandir, но никак...

8
0 / 0 / 0
Регистрация: 13.03.2012
Сообщений: 33
13.03.2012, 19:05
Цитата Сообщение от heroii2009 Посмотреть сообщение
Помогите, мне нужно вывести файл в С++ в окошко какого-то компонента типа FileListBox. Только адреса у меня в таком формате C:\Windows\explorer.exe и храняться в Memo1->Lines.
адресс в билдере пишетса вроде так:
C:\\Windows\\explorer.exe
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
13.03.2012, 19:13
C++
1
FileListBox1->ApplyFilePath(Memo1->Lines->Strings[0]);
Или
C++
1
FileListBox1->ApplyFilePath(Memo1->SelText);
0
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
13.03.2012, 19:29  [ТС]
Цитата Сообщение от Sergey-K Посмотреть сообщение
C++
1
FileListBox1->ApplyFilePath(Memo1->Lines->Strings[0]);
Или
C++
1
FileListBox1->ApplyFilePath(Memo1->SelText);
чет не работает. в FileListBox как были файлы из моей папки в которой проэкт так и осталось. в параметрах надо что-то менять? Типа маску и тд...
Проэкт откомпилировал и тд... все ок
FileListBox для него надо какие-то параметры менять ??
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
13.03.2012, 19:40
У меня работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  Memo1->Lines->Clear();
  Memo1->Lines->Add("C:\\Windows\\explorer.exe");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  FileListBox1->ApplyFilePath(Memo1->Lines->Strings[0]);
}
//---------------------------------------------------------------------------
0
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
13.03.2012, 20:10  [ТС]
Цитата Сообщение от heroii2009 Посмотреть сообщение
чет не работает. в FileListBox как были файлы из моей папки в которой проэкт так и осталось. в параметрах надо что-то менять? Типа маску и тд...
Проэкт откомпилировал и тд... все ок
FileListBox для него надо какие-то параметры менять ??
Цитата Сообщение от Sergey-K Посмотреть сообщение
У меня работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  Memo1->Lines->Clear();
  Memo1->Lines->Add("C:\\Windows\\explorer.exe");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  FileListBox1->ApplyFilePath(Memo1->Lines->Strings[0]);
}
//---------------------------------------------------------------------------
Протестил, у меня так тоже работает... хм.. а вот вопрос, выводит всю папку Windows, а можно только один файл explorer??

Добавлено через 7 минут
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#include <FileCtrl.hpp>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <windows.h>
 #include <shellapi.h>
TForm1 *Form1;
int h = 1;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 void ListFiles(AnsiString path, TStrings* List)
{
// Ýòà ïðîöåäóðà âûâîäèò ñïèñîê ôàéëîâ è âûçûâàåò
// ñàìó ñåáÿ äëÿ âñåõ êàòàëîãîâ
TSearchRec sr;
if (FindFirst(path+"*.*",  faAnyFile, sr) == 0)
{
 
  if(h == 1)
  {
   do
     {
         if (sr.Attr &  faDirectory)
          {
              if (sr.Name!=".")
              if  (sr.Name!="..")
              {
                  ListFiles(path+sr.Name+"\\",List);// Ðåêóðñèâíûé  âûçîâ
              }
          }
          else
          {
           AnsiString  Ext=ExtractFileExt(sr.Name).UpperCase();
 
           if  (Ext=="."+Form1->Edit3->Text)
           List->Add(path+sr.Name);
          }
     }
     while  (FindNext(sr) ==  0);
     }
     FindClose(sr);
}
    Application->ProcessMessages();
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
h = 1;
ListFiles(Edit2->Text,Memo1->Lines);
if(Edit2->Text.IsEmpty())
   {
        ShowMessage("Ó âàñ ïóñòîå ïîëå");
        return;
   }
 
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
exit(10);        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 
 AnsiString way = "c:\\";
if(SelectDirectory("Âûáåðèòå ïàïêó â êîòîðîé èñêòü","",way))
  Edit2->Text = way;
  }
//---------------------------------------------------------------------------
 
 
 
 
 
 
void __fastcall TForm1::FileListBox1DblClick(TObject *Sender)
{
ShellExecute (0, "îòêðûòûé", FileListBox1-> FileName.c_str (), NULL, NULL, SW_SHOW) ;
}
//---------------------------------------------------------------------------
 
 
 
 
 
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
 h = 0;
 
 
 
 }
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button5Click(TObject *Sender)
{
h = 1;
ListFiles(Edit2->Text,Memo1->Lines);
 
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FileListBox1Change(TObject *Sender)
{
ShellExecute (0, "îòêðûòûé", FileListBox1-> FileName.c_str (), NULL, NULL, SW_SHOW) ;
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Memo1->Lines->Clear();
}
//---------------------------------------------------------------------------
Добавлено через 15 минут
Все заработало! Спасибо. Только можете подсказать как сделать что б выводило не полностью папку где лежит тот или иной файл, а только сам файл ?
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
13.03.2012, 20:35
Цитата Сообщение от heroii2009 Посмотреть сообщение
Только можете подсказать как сделать что б выводило не полностью папку где лежит тот или иной файл, а только сам файл ?
Цитата Сообщение от heroii2009 Посмотреть сообщение
C++
1
if (FindFirst(path+"*.*", faAnyFile, sr) == 0)
"Истина где-то рядом".
0
16 / 6 / 3
Регистрация: 13.03.2012
Сообщений: 196
13.03.2012, 20:53  [ТС]
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
"Истина где-то рядом".
Ругаеться на path мол "E2451 Undefined symbol 'path'"
"E2451 Undefined symbol 'sr'"
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
13.03.2012, 22:27
Зачем выводить один файл в FileListBox? Проще добавить в ListBox:
C++
1
2
AnsiString Path = "C:\\Windows\\explorer.exe";
ListBox1->Items->Add(ExtractFileName(Path));
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2012, 22:27
Помогаю со студенческими работами здесь

Найти папки с заданным именем, удалить старые файлы и пустые папки
добрый день помогите написать маленький скриптик 1. найти папки с именем &quot;папка обмена&quot; в /volume1/public 2. в найденных папках...

Как ввести директорию папки и вывести все файлы и папки в ней?
Необходима программа, которая при вводе директории папки выводит список файлов и папок с их размерами, которые находятся в ней. Посмотрел...

Копировать файлы в папки при совпадении имен файла и папки
Добрый день. Задача такая, есть папка в которой содержатся файлы, каждый файл с уникальным именем, например &quot;file1.txt&quot;,...

Распределение файлов из папки по части имени файла в папки, содержащие файлы с похожим именем (квитовка)
Добрый день! Искал по форуму, но мне не удалось найти похожее решение. К примеру имеется каталог K:\365P\notdefined. В нем находятся...

Переместить папки и файлы из заданной папки
Ребят простите простая задача а у меня что-то &quot;лыжи вообще не едут&quot; цель 1) имеем папку с файлами и подпапками 2) саму папку...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru