Тема: Присвоение имен файлам!

Добрый день!
Я снова обращаюсь к ссобщемству умных людей с просьбой такого рода:
Как выглядет команда позволяющая при добавлении файла к объекту с диска, с шаблона ему присваивалось имя объекта к которому он принадлежит????????????????????????
И если бы добавлялись несколько файлов к объекту то начинал работать какой нибудь перебор типа присваивать при совпадении имени какое нибудь значение???????
Добрые люди обратите внимание на сее проблему!!!!!!!!  :)

Re: Присвоение имен файлам!

Обратите внимание на события File_BeforeAdd и File_Added

Sub File_Added(File, Object)
  FileNameExt = Split(File.FileName,".")
  File.FileName = Object.Description & "." & FileNameExt(1)
End Sub

Re: Присвоение имен файлам!

я бы сделал так:

Sub File_Added(File, Object)

dim nFile, n1, n2, n3
dim fName, ras

if Object.Files.Count > 1 then
  set nFile = Object.Files.Item(Object.Files.Count - 2)
  n1 = InStr(nFile.FileName, "_")
  n2 = Len(nFile.FileName) - 4
  n3 = Mid(nFile.FileName, n1 + 1, n2 - n1)
  n3 = CInt(n3) + 1
  fName = file.FileName
  ras = Right(fname, 4)
  fname = Object.Description & "_" & CStr(n3) & ras
  file.FileName = fname
else
  'stop
  fName = file.FileName
  ras = Right(fname, 4)
  fname = Object.Description & "_1" & ras
  file.FileName = fname
     
end if

End Sub

а далее зависит только от фантазии   :rolleyes:

Re: Присвоение имен файлам!

А вот теперь самое интересное!!! Куда этот скрипт закинуть?

(изменено: vorona, 16 февраля 2010г. 12:00:21)

Re: Присвоение имен файлам!

abicov пишет:

А вот теперь самое интересное!!! Куда этот скрипт закинуть?

Можно открыть хелпник по API TDMS, открыть вкладку поиск и искать по названию процедуры "File_Added".

2. Обработчик может быть размещен в скриптах объекта, профиля и/или общесистемном (см. рисунок). Если обработчики определены на всех уровнях, то последовательность их вызова такова:


скрипт объекта;
скрипт профиля пользователя;
общесистемный скрипт.
Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.

в моем случае скрипт был размещен в объекте.

Re: Присвоение имен файлам!

Я разместил скрипт в своем объекте, но при добавлении файла ни с диска ни с шаблона...имя файла не меняется на то что у объекта:(
Че делать???

Re: Присвоение имен файлам!

каким образом добавляется файл ? UI или COM ?

Re: Присвоение имен файлам!

Edhunter пишет:

каким образом добавляется файл ? UI или COM ?

у него версия тдмс 3.0.99. там просто событий таких нет  =)

(изменено: DeTrah, 26 февраля 2010г. 14:54:33)

Re: Присвоение имен файлам!

В скрипте косячок (он "вылазит" наружу, когда добавляется несколько файлов):

n3 = Mid(nFile.FileName, n1 + 1, n2 - n1)
n3 = CInt(n3) + 1

Аргументом функции CInt является "кусок" строки, и в результате - ошибка!

Re: Присвоение имен файлам!

DeTrah пишет:

В скрипте косячок (он "вылазит" наружу, когда добавляется несколько файлов):

n3 = Mid(nFile.FileName, n1 + 1, n2 - n1)
n3 = CInt(n3) + 1

Аргументом функции CInt является "кусок" строки, и в результате - ошибка!

не спорю такое возможно. если расширение файла будет состоять из 4-х символов тогда в функцию CInt попадает точка, за счет чего аргументом функции и является "кусок" строки   :rolleyes: При желании можно усовершенствовать скрипт и все будет хорошо  ;)

Re: Присвоение имен файлам!

Странно, но у меня выдаёт ошибку при любом количестве символов в имени файла!   <_<

Re: Присвоение имен файлам!

DeTrah пишет:

Странно, но у меня выдаёт ошибку при любом количестве символов в имени файла!   <_<

Ну тогда остается только думать что у вас в описании объекта(Object.Description) к которому "лепиться" файл имеется символ "_"(нижнее подчеркивание). У себя в названиях объектов я такой символ не использую поэтому при переименовании файлов использую этот символ. В этом случае вам лучше его заменить на символ который вы не используете в описании объектов   :rolleyes: