Имя: Пароль:
1C
1С v8
Как обрезать строку, чтобы получилось вот так...
0 IBTM
 
27.12.12
14:08
С наступающим!

Имею строку текста (реквизит "ПутьКФайлу":
C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx

Мне нужно обрезать таким образом что бы остался только "Нужный фрагмент". Причем, все что до "Нужный фрагмент" может меняться. Ни одной внятной функция для строки это провернуть не получится. Может есть другой путь? Через комбинацию функций...
1 Maxus43
 
27.12.12
14:09
// Выделяет из полного пути к файлу его имя (набор символов после последней \).
//
// Параметры
//  ПутьКФайлу     – Строка, содержащая имя файла, неважно с именем каталога или без.
//
// Возвращаемое значение:
//   Строка – расширение файла.
//
Функция ПолучитьИмяФайлаИзПолногоПути(Знач ПутьКФайлу) Экспорт
   
   ИмяФайла = ПолучитьЧастьСтрокиОтделеннойСимволом(ПутьКФайлу, "\");
   Возврат ИмяФайла;
   
КонецФункции
2 Maxus43
 
27.12.12
14:09
внезапно?
3 НЕА123
 
27.12.12
14:10
СтрЗаменить + Символы.ПС + последняя строка = "Нужный фрагмент"
4 Maxus43
 
27.12.12
14:10
Функция ПолучитьРасширениеФайла(Знач ИмяФайла) Экспорт
   
   Расширение = ПолучитьЧастьСтрокиОтделеннойСимволом(ИмяФайла, ".");
   Возврат Расширение;
   
КонецФункции

и т.д.

куча такой мелкой фигни в типовых, крути-верти
5 samozvanec
 
27.12.12
14:10
(2) гыгыгы
// Выделяет из полного пути к файлу его имя (набор символов после последней \).

//
// Возвращаемое значение:

//   Строка – расширение файла.
6 le_
 
27.12.12
14:12
Ф = Новый Файл("C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx");
Сообщить(Ф.ИмяБезРасширения);
7 НЕА123
 
27.12.12
14:13
(0)
по честному - так.

ВыбФайл = Новый Файл(ВыбранноеИмяФайла);
и делай что надо.
8 Maxus43
 
27.12.12
14:15
(6)(7) конечно элегантнее, но не всегда прокатит, если доступа к нему нет например
9 cw014
 
27.12.12
14:17
(8) Даже если файл не существует - "Ф" будет создан и обработаны имена файлов
10 le_
 
27.12.12
14:17
(8) Файла может вообще не существовать. И Когда файл существует, но нет прав, все равно отрабатывает.
11 acsent
 
27.12.12
14:19
(8) объект файл никакого отношения к конкретному файлу не имеет
12 acsent
 
27.12.12
14:19
пока не начнешь атрибуты файла запрашивать
13 cw014
 
27.12.12
14:19
(8) Вот видишь - век живи - век учись
14 Maxus43
 
27.12.12
14:21
заклевали то сразу) я из типовой примеры привёл :)(
15 Vladal
 
27.12.12
14:29
C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx  - как получил? Диалогом открытия/сохранения файлов? Тогда этот диалог имеет метод ИмяФайла.
16 IBTM
 
27.12.12
14:30
Спасибо, вам... как всегда уже придумали).

Про Ф = Новый Файл, видел, спс.
Я сделал вот так:
СтрЗаменить(ИмяФайла,".xlsx","") нормально?
17 IBTM
 
27.12.12
14:30
как вариант...
18 IBTM
 
27.12.12
14:34
(15) нет, учту. Вообще с файлами мало работал.
19 kosts
 
27.12.12
14:41
(16) >СтрЗаменить(ИмяФайла,".xlsx","") нормально?
Не
20 bezgudroman
 
27.12.12
14:44
вПолнИмяФайла = "C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx";
   вСпис = глСтрокаВСписок(вПолнИмяФайла,"\");
   вИмяФайлаСРасш = вСпис.ПолучитьЗначение(вспис.РазмерСписка());
   // есть дятлы, которые в иени файла ставят точки типа: "plugin.export.php" или "NokiaX2-02.oceanblue.jpeg"
   //вФайлИмя = глСлеваОт(вИмяФайлаСРасш,".");
   //вФайлРаш = глСправаОт(вИмяФайлаСРасш,".");
   вФайлИмя = "";
   вФайлРаш = "";
   вЧастиИмениФайла = глСтрокаВСписок(вИмяФайлаСРасш,".");
   СЦ = 0; вЧастей = вЧастиИмениФайла.РазмерСписка();
   Для СЦ = 1 По вЧастей Цикл
       Если СЦ <> вЧастей Тогда
           вФайлИмя = вФайлИмя + вЧастиИмениФайла.ПолучитьЗначение(СЦ);
       else
           вФайлРаш = вЧастиИмениФайла.ПолучитьЗначение(СЦ);        
       КонецЕсли;
   КонецЦикла;
21 bezgudroman
 
27.12.12
14:46
Если СЦ <> вЧастей Тогда
           вФайлИмя = глДобавитьКСтроке(вФайлИмя,вЧастиИмениФайла.ПолучитьЗначение(СЦ),".");
       else
           вФайлРаш = вЧастиИмениФайла.ПолучитьЗначение(СЦ);        
       КонецЕсли;
22 IBTM
 
27.12.12
14:52
(19) можно узнать, почуму?
23 kosts
 
27.12.12
14:55
(22) Не универсально.
У Excel еще есть тип xls.
А вдруг позже попросят обрабатывать и mxl или опен офис.
Придется больше переделывать.
24 IBTM
 
27.12.12
15:12
(23) моё только под xlsx работает)))
25 Паучог
 
27.12.12
15:17
(0)
МассивПодСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодСтрок(ПутьКФайлу,"\");
ИмяФайла = МассивПодСтрок[МассивПодСтрок.ВГраница()];
26 НЕА123
 
27.12.12
16:16
файл = Новый Файл("ftp://10.10.168.19/Documents/АБВГД.pdf");

в отладчике

файл    Файл    Файл
Имя                    "file"    Строка
ИмяБезРасширения    "file"    Строка
ПолноеИмя            "file://file://ftp://10.10.168.19/Documents/АБВГД.pdf"    Строка
Путь                    ""    Строка
Расширение            ""    Строка