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

Подскажите как в StatusBar вывести не полный путь к файлу

19.05.2010, 05:25. Показов 2715. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я вывожу в StatusBar путь к файлу вот так:
StatusBar1->Panels->Items[0]->Text = "Открыт файл: " + OpenDialog1->FileName;
как вывести не полный путь, например только последние 10 символов пути и как вывести например:
C:\Documents...\1\2.txt
Т.е. надо чтоб задавалось сколько символов с начала пути выводилось и сколько с конца, а посередине было ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2010, 05:25
Ответы с готовыми решениями:

полный путь к файлу
использую DirectoryListBox1 и FileListBox1 FileListBox1 вводит выбраный файл в edit1 но как сделать чтобы путь он полность путь выводил...

Как получить полный путь к файлу?
Всем здравия и благополучия! Помогите пожлуйста разобраться с jquery которая была применина к <input type="file"/>, ...

Как определить полный путь к файлу
Как в C# записать в стринговую переменную полный путь к файлу? при помощи FolderDialog удалось записать только папку в которой лежит сам...

14
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.05.2010, 09:09
#include "Shlwapi.h"

PathCompactPath
PathCompactPathEx
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
19.05.2010, 10:11  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
#include "Shlwapi.h"

PathCompactPath
PathCompactPathEx
а вот то что ты написал это че такое? как этим пользоваться?
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.05.2010, 10:22
Цитата Сообщение от pyatikop Посмотреть сообщение
это че такое?
есть в программировании такое понятие как "функция", подробности в википедии

Цитата Сообщение от pyatikop Посмотреть сообщение
как этим пользоваться?
пример из справки билдера

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
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
 
HDC hdc;  /* display DC handle to current font metrics */ 
 
void main( void )
{
// String path name 1.
char buffer_1[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr1;
lpStr1 = buffer_1;
 
// String path name 2.
char buffer_2[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr2;
lpStr2 = buffer_2;
 
// String path name 3.
char buffer_3[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr3;
lpStr3 = buffer_3;
 
// String path name 4.
char buffer_4[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr4;
lpStr4 = buffer_4;
 
// Variable to get the return from "PathCompactPath".
int retval;
 
cout << "The un-truncated path is                " << lpStr1 << endl;
 
retval = PathCompactPath(hdc,lpStr1,125);
cout << "The truncated path at 125 pixels is :   " << lpStr1 << endl;
 
retval = PathCompactPath(hdc,lpStr2,120);
cout << "The truncated path at 120 pixels is :   " << lpStr2 << endl;
 
retval = PathCompactPath(hdc,lpStr3,110);
cout << "The truncated path at 110 pixels is :   " << lpStr3 << endl;
 
retval = PathCompactPath(hdc,lpStr4,25);
cout << "The truncated path at  25 pixels is :   " << lpStr4 << endl;
}
 
OUTPUT:
===========
The un-truncated path is                C:\path1\path2\sample.txt
The truncated path at 125 pixels is :   C:\path1\...\sample.txt
The truncated path at 120 pixels is :   C:\pat...\sample.txt
The truncated path at 110 pixels is :   C:\p...\sample.txt
The truncated path at  25 pixels is :   ...\sample.txt
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
19.05.2010, 18:15  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
есть в программировании такое понятие как "функция", подробности в википедии


пример из справки билдера

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
#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"
 
HDC hdc;  /* display DC handle to current font metrics */ 
 
void main( void )
{
// String path name 1.
char buffer_1[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr1;
lpStr1 = buffer_1;
 
// String path name 2.
char buffer_2[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr2;
lpStr2 = buffer_2;
 
// String path name 3.
char buffer_3[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr3;
lpStr3 = buffer_3;
 
// String path name 4.
char buffer_4[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr4;
lpStr4 = buffer_4;
 
// Variable to get the return from "PathCompactPath".
int retval;
 
cout << "The un-truncated path is                " << lpStr1 << endl;
 
retval = PathCompactPath(hdc,lpStr1,125);
cout << "The truncated path at 125 pixels is :   " << lpStr1 << endl;
 
retval = PathCompactPath(hdc,lpStr2,120);
cout << "The truncated path at 120 pixels is :   " << lpStr2 << endl;
 
retval = PathCompactPath(hdc,lpStr3,110);
cout << "The truncated path at 110 pixels is :   " << lpStr3 << endl;
 
retval = PathCompactPath(hdc,lpStr4,25);
cout << "The truncated path at  25 pixels is :   " << lpStr4 << endl;
}
 
OUTPUT:
===========
The un-truncated path is                C:\path1\path2\sample.txt
The truncated path at 125 pixels is :   C:\path1\...\sample.txt
The truncated path at 120 pixels is :   C:\pat...\sample.txt
The truncated path at 110 pixels is :   C:\p...\sample.txt
The truncated path at  25 pixels is :   ...\sample.txt
подскажи пожалуйста сделал:
char buffer_1[MAX_PATH] = OpenDialog1->FileName.c_str();
char *lpStr1;
lpStr1 = buffer_1;
int retval = PathCompactPath(hdc,lpStr1,125);

выдает ошибку: Cannot convert 'AnsiString' to 'char[260]'
как AnsiString сделать char[260]?
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.05.2010, 18:28
C++
1
2
3
4
5
char buffer_1[MAX_PATH];
strcpy(buffer_1, OpenDialog1->FileName.c_str());
char *lpStr1;
lpStr1 = buffer_1;
int retval = PathCompactPath(hdc, lpStr1, 125);
должно работать и так:
C++
1
2
3
char buffer_1[MAX_PATH];
strcpy(buffer_1, OpenDialog1->FileName.c_str());
int retval = PathCompactPath(hdc, buffer_1, 125);
Добавлено через 3 минуты
ещё забыл - я подключал к проекту shlwapi.lib (в папке билдера ....\Lib\Psdk\shlwapi.lib)
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
19.05.2010, 18:33  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
ещё забыл - я подключал к проекту shlwapi.lib (в папке билдера ....\Lib\Psdk\shlwapi.lib)
а как подключить библиотеку?
0
 Аватар для Danil_e71
32 / 32 / 8
Регистрация: 07.02.2010
Сообщений: 92
19.05.2010, 18:37
Shift+F11 или Project->Add To Project
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
19.05.2010, 18:41  [ТС]
выдает ошибку
Миниатюры
Подскажите как в StatusBar вывести не полный путь к файлу  
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.05.2010, 19:03
у меня работает и в 6-м и в 2010-м
а в каком месте #include "Shlwapi.h"?
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
20.05.2010, 02:16  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
у меня работает и в 6-м и в 2010-м
а в каком месте #include "Shlwapi.h"?
в самом начале cpp, где все инклуды описаны
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
20.05.2010, 20:44
если проект небольшой - скинь, посмотрю
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
21.05.2010, 16:52  [ТС]
Цитата Сообщение от Roma_F Посмотреть сообщение
у меня работает и в 6-м и в 2010-м
а в каком месте #include "Shlwapi.h"?
вот проект, посмотри пожалуйста
Вложения
Тип файла: rar RSA v1.2.rar (727.7 Кб, 14 просмотров)
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
21.05.2010, 18:58
1:
C++
1
2
3
4
5
6
7
8
9
10
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit4.h"
#include "Unit5.h"
 
#include "Shlwapi.h"
2: (лишний StrToInt)
C++
1
2
3
4
      //Form5->Edit1->Text = IntToHex(StrToInt(Form1->coder.getD()),16);
      //Form5->Edit2->Text = IntToHex(StrToInt(Form1->coder.getN()),16);
      Form5->Edit1->Text = IntToHex(Form1->coder.getD(), 16);
      Form5->Edit2->Text = IntToHex(Form1->coder.getN(), 16);
1
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 18
21.05.2010, 20:27  [ТС]
Roma_F, спасибо большое, очень помог
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2010, 20:27
Помогаю со студенческими работами здесь

Как узнать полный путь к файлу
Подскажите, плз, как узнать полный путь к файлу, файл открываю f= fopen(&quot;my_file.txt&quot;,&quot;r&quot;); Спасибо!

Как ввести полный путь к файлу с клавиатуры?
Помогите, пожалуйста

Как узнать полный путь к файлу по его имени?
Существует ли в линуксе функция, которая по имени файла выдает полное имя файла. т.е. с путем? в винде аналогичная функция GetFullPathName....

TFileListBox как узнать полный путь к выделеному файлу
Я хочу открыть файл двойным щёлчком по TFileListBox. Проблема одна: не знаю как узнать полный путь к файлу. function...

Макрос в OpenOffice Calc, как получить полный путь к файлу?
Здравствуйте! Делаю макрос в OO Calc , вывожу полный путь к файлу MsgBox ThisComponent.Location Сообщение появляется в таком виде...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru