Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как сортировать папки по "задуманным мною" критериям?
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Xamas_DZK



Joined: 25 Mar 2007
Posts: 10

Post (Separately) Posted: Wed Apr 25, 2007 00:55    Post subject: Reply with quote

Батя Smile))

У меня Вот еще какая "задачка" !

Есть папки с фамилиями: Сиривля В.О., Гапчук С.С., Бурдик О.В. и т.д.
Это - фамилии людей, которые заказывают работу !

Раньше мы размещали их в C:\Заказчики\Район\Сельский совет\Целевое назначение\ФИО
Хотел бы сделать проще - запрограмировать Total Commander на заголовки с названиями Район, Сельский совет,Целевое назначение, в которых будет отображаться постоянная логическая информации
(можна из deskription) !

Выглядит где-то так:

Имя (по умолчанию) | Район | Сельский совет | Целевое назначение |
Сиривля В.О. | Коминтерновский | Фонтанский | саоводы |
Гапчук С.С. | Коминтерновский | Крыжановский | садоводы |
Бурдик О.В. | Коминтерновский | Вапнярский | садоводы |

Думаю что оттакливатся необходимо от некого скрытого файла, в котором каждому параметру (Район,Сельсовет) будет назначен "якорь". Из него информация должна читаться в столбцы !

Подскажите:

1. Как сделать заголовки с названиями Район,Сельский совет,Целевое назначение !
2. как заголовки заствить втягиват в себя информацию
2. Какой файл,"его вид" необходимо составить для выдачи
3. Можно ли наваять менюху для заполнения атрибутов файла - выходит папки ?!
P.S.: Ручками вносить инф. в доооолго ?!


Не обижайтесь на Мои эксперименты Smile)
С уважением Андрей Сергеевич.
Back to top
View user's profile Send private message
Sam Dark



Joined: 25 Apr 2005
Posts: 484
Location: Voronezh, Russia

Post (Separately) Posted: Thu Apr 26, 2007 14:56    Post subject: Reply with quote

Есть такая возможность. Контентные плагины. Писать придётся самому, либо догавариваться с местными плагинописателями.
Вид файла в принципе любой. Менюху тоже наваять можно(как LS-плагин, к примеру).
_________________
RMCreative — это жжж неспроста...

reggi — здесь я регистрирую домены
Back to top
View user's profile Send private message MSN Messenger
Xamas_DZK



Joined: 25 Mar 2007
Posts: 10

Post (Separately) Posted: Sun Apr 29, 2007 03:40    Post subject: Reply with quote

А во сколько "денег" можно оценить написание похожего плагина ?

С уважением Андрей Сергеевич
Back to top
View user's profile Send private message
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Sun Apr 29, 2007 13:04    Post subject: Reply with quote

У меня такое чувство, что кто-то работает не на своём месте. Confused
Back to top
View user's profile Send private message
Xamas_DZK



Joined: 25 Mar 2007
Posts: 10

Post (Separately) Posted: Mon Apr 30, 2007 22:57    Post subject: Reply with quote

funduk - спасибо !
Smile))

Я по натуре новатор !
Всегда хотел написать что-либо своими руками.
Правда учится пошел в землеустоители.
Кажется мне, что среди программеров Я пользы бы больше принес !

С уважением Андрей Сергеевич
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Tue May 01, 2007 01:24    Post subject: Reply with quote

deleted

Last edited by Alextp on Sat May 12, 2007 01:47; edited 2 times in total
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Tue May 01, 2007 12:00    Post subject: Reply with quote

Xamas_DZK, смотрите "Личные сообщения" (ссылка вверху, в начале страницы).
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Xamas_DZK



Joined: 25 Mar 2007
Posts: 10

Post (Separately) Posted: Wed May 02, 2007 13:31    Post subject: Reply with quote

Батя добрый день Smile)
Искренне прошу помощи !?

Всю ночь мучался с Script Content Plugin 0.1.0.1 - пытался сделать несколько новых заголовков для папок ( Типа: Сельсовет, Район ) ?!
Понял что можно сделать колонки с отвлеченными названиями , а значения брать из скрытого файла.
Но как на практике это сделать - не понял. У меня не получается ?

Батя !? напиши пожалуста как настроить скрипт (Примерно как для *.in4 файлов) чтобы с помощью него (например из descript.ion) в столбцы переносить данные ?!

Файл данных "примерно" таков:
Это - descript.ion с полями :
Область=
Район=
Сельсовет=
Я пытался сделать заголовки с подобными названиями, пытался заставить скрипт вытягивать данные из якоря "Область=", но не получалось !?

Помоги пожалуста ?!

С уважениме Андрей Сергеевич
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2227
Location: Москва, Россия

Post (Separately) Posted: Thu May 10, 2007 16:33    Post subject: Reply with quote

Я правильно понял, что все папки с фамилиями теперь должны лежать в одном каталоге?

Нельзя использовать descript.ion "с полями". Насколько я помню, descript.ion - файл для хранения комментариев для файлов\папок, причем комментарий должен быть одной строкой, а не несколько, как показано в примере. Навскидку, самое простое - использовать csv-файл. Это текстовый файл с разделителями, который, чаще всего, ассоциирован с Excell-ем. Т.е. его будет очень легко редактировать (это вместо "наваять менюху для заполнения").
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Xamas_DZK



Joined: 25 Mar 2007
Posts: 10

Post (Separately) Posted: Sat May 12, 2007 00:01    Post subject: Reply with quote

Батя Я "о-о-тчень" рад снова вступить с вами в дисскусию ! Laughing Laughing

"" Все папки с фамилиями теперь должны лежать в одном каталоге "" - не совсем понимаю о чем Вы ?
Я имел ввиду, - что папки (Сиривля В.О., Гапчук С.С., Бурдик О.В.) находятся в одной (Родитель - Папке) :
Например в папке "Ивановский"
C:\1_all_wk\Область\Ивановский\Сиривля В.О.
C:\1_all_wk\Область\Ивановский\Гапчук С.С.
C:\1_all_wk\Область\Ивановский\Бурдик О.В.
И соответственно - напротив каждой папочьки "Бурдик О.В. или Гапчук С.С." в столбцах отображается логическая информация из скрытого файла (пусть будет csv - главное его скрыть)Smile)

Ну так что - Батя ?? Подскажеш как настроить формат файла и скрипт чтобы в столбцах отображалась нужная информация !

С уважением Андрей Сергеевич
г. Одесса
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2227
Location: Москва, Россия

Post (Separately) Posted: Mon May 21, 2007 17:15    Post subject: Reply with quote

Значит так...
Информации много, поэтому разбиваю на 3 части.

Внимание! Первоначально настраивать абсолютно в точности по описанию. Когда все будет работать нормально, уже тогда можно играться с настройками.

1. В папке TC создать файл My.bar с содержимым:
Code:

[Buttonbar]
Buttoncount=6
button1=wcmicons.dll,15
cmd1=%COMMANDER_PATH%\DEFAULT.BAR
menu1=Наверх
button2=
button3=shell32.dll,21
cmd3=%COMMANDER_PATH%\Utils\WHS\AddRec.vbs
param3=""%PCustomers.csv""
menu3=Добавление записей для папок
button4=shell32.dll,87
cmd4=%COMMANDER_PATH%\Utils\WHS\FillCsv.vbs
param4=""%PCustomers.csv""
menu4=Заполнение пустых ячеек в csv-файле
button5=shell32.dll,67
cmd5=%COMMANDER_PATH%\Utils\WHS\MakeDirs.vbs
param5=""%PCustomers.csv""
menu5=Создание папок по новым записям в csv-файле
button6=shell32.dll,77
cmd6=%COMMANDER_PATH%\Utils\WHS\RemRec.vbs
param6=""%PCustomers.csv""
menu6=Удаление записи из csv-файла при отсутствии аналогичной папки

2. В папке TC создать папку Utils, а в ней папку файл WHS.
3. В папке %COMMANDER_PATH%\Utils\WHS создать 4 файла:
3.1. AddRec.vbs:
Code:

'=====================================================================
' Добавление в csv-файл (имя которого передано первым параметром)
'   соответствующей строки, если в текущем каталоге существует папка,
'   запись о которой отсутсвует в csv-файле

' Для вызова скрипта по кнопке (команде меню) TC
'   можно в параметрах указать:
' %P%N
'   или, например, если имя файла жестко задано:
' "%PCustomers.csv"
' В первом случае скрипт вызывается, когда фокус на этом файле,
'   во втором - когда фокус в любом месте каталога файла
'=====================================================================

Option Explicit
'============= Изменяемые параметры ==================================
Dim Header
'Можно задать несколько колонок по умолчанию через ;
Header = "Имя;Район;Сельский совет;Целевое назначение"
'=====================================================================
If WScript.Arguments.Count = 0 Then
  MsgBox "Не указаны параметры!", vbOKOnly + vbCritical, "Внимание!"
  Wscript.Quit
End If

Dim OTF, FSO, CustomFile, CustomDir, Customers, i, F, AddToRec, SF
Dim Arr1, Rec, oFile
Set FSO    = CreateObject("Scripting.FileSystemObject")
CustomFile = WScript.Arguments(0)
If Not FSO.FileExists(CustomFile) Then
  Dim Button
  Button = MsgBox("Файл " & CustomFile & " не существует!" & _
    vbNewLine & "Создать?", vbYesNo + vbExclamation, "Внимание!")
  If Button = vbNo Then
    Set FSO = Nothing
    WScript.Quit
  Else
    On Error Resume Next
    Set OTF = FSO.CreateTextFile(CustomFile)
    If Err.Number <> 0 Then
      MsgBox "Невозможно создать файл " & CustomFile & _
        " по причине ошибки:" & vbNewLine & _
        Err.Description , vbOKOnly + vbCritical, "Внимание!"
      Set FSO = Nothing
      WScript.Quit
    Else
      On Error GoTo 0
      OTF.Write Header
      Set oFile = FSO.GetFile(CustomFile)
      oFile.Attributes = oFile.Attributes Or 2 'Hidden
      Customers = Split(Header, vbNewLine, -1, 1)
    End If
  End If
Else
  'Прочитаем содержимое csv-файла
  Set OTF = FSO.OpenTextFile(CustomFile, 1, False)
  Customers = Split(OTF.ReadAll, vbNewLine, -1, 1)
  OTF.Close()
  'Откроем csv-файл для добавления
  Set OTF = FSO.OpenTextFile(CustomFile, 8, False)
End If
'Окончание строки для формирования колонок в csv-файле
AddToRec  = String(UBound(Split(Header, ";", -1, 1)), ";")
'Текущий каталог csv-файла
CustomDir = FSO.GetFile(CustomFile).ParentFolder
'Формируем массив значений из первой колонки (имена)
'Обрамляем символом * (в именах папок недопустим),
'  чтобы проверять имена на полное совпадение
'В цикле исключаем первую строку (индекс 0) - это заголовки
For i = 1 To UBound(Customers)
  Rec = Customers(i)
  If Rec <> "" Then
    Arr1 = Arr1 & ";*" & Split(Rec, ";", -1, 1)(0) & "*"
  End If
Next
Arr1 = Split(Mid(Arr1, 2), ";", -1, 1)
'Добавляем строку с именем папки, если такой нет в csv
For Each SF In FSO.GetFolder(CustomDir).SubFolders
  If UBound(Filter(Arr1, "*" & SF.Name & "*", True, 1)) = -1 Then
    OTF.Write vbNewLine & SF.Name & AddToRec
  End If
Next

OTF.Close()
Set OTF = Nothing
Set FSO = Nothing
WScript.Quit

3.2. FillCsv.vbs:
Code:

'=====================================================================
' Заполнение пустых ячеек csv-файла (имя которого передано первым
'   параметром) данными

' Для вызова скрипта по кнопке (команде меню) TC
'   можно в параметрах указать:
' %P%N
'   или, например, если имя файла жестко задано:
' "%PCustomers.csv"
' В первом случае скрипт вызывается, когда фокус на этом файле,
'   во втором - когда фокус в любом месте каталога файла
'=====================================================================

Option Explicit
If WScript.Arguments.Count = 0 Then
  MsgBox "Не указаны параметры!", vbOKOnly + vbCritical, "Внимание!"
  Wscript.Quit
End If

Dim FSO, OTF, CustomFile, Rec, NewText, NewRec, i, Arr, Cell, _
    Header, HeaderArr
Set FSO    = CreateObject("Scripting.FileSystemObject")
CustomFile = WScript.Arguments(0)
'Проверяем наличие csv-файла
If Not FSO.FileExists(CustomFile) Then
  MsgBox "Файл " & CustomFile & " не существует!", _
    vbOKOnly + vbCritical, "Внимание!"
  Set FSO = Nothing
  WScript.Quit
End If

'Откроем csv-файл для чтения
Set OTF = FSO.OpenTextFile(CustomFile, 1, False)
'Читаем заголовки
Header    = OTF.ReadLine
HeaderArr = Split(Header, ";", -1, 1)
'Читаем остальные строки
Do While Not OTF.AtEndOfStream
  Rec = OTF.ReadLine
  NewRec = ""
  If Len(Rec) > 0 Then
    Arr = Split(Rec, ";", -1, 1)
    i   = 0
    For Each Cell in Arr
      If Len(Cell) = 0 Then
        Cell = InputBox("Введите значение """ & HeaderArr(i) & _
          """ для записи с именем """ & Arr(0) & """:", _
          Arr(0), "")
      End If
      NewRec = NewRec & ";" & Cell
      i = i + 1
    Next
    NewRec = Mid(NewRec, 2)
  End If
  NewText = NewText & vbNewLine & NewRec
Loop
OTF.Close()
'Добавляем заголовки
NewText = Header & NewText
'Откроем csv-файл для записи
Set OTF = FSO.OpenTextFile(CustomFile, 2, False)
OTF.Write NewText
OTF.Close()

Set OTF = Nothing
Set FSO = Nothing
WScript.Quit

3.3. MakeDirs.vbs:
Code:

'=====================================================================
' Создание недостающих папок по первой колонке csv-файла,
'   имя которого передано первым параметром, в каталоге это файла

' Для вызова скрипта по кнопке (команде меню) TC
'   можно в параметрах указать:
' %P%N
'   или, например, если имя файла жестко задано:
' "%PCustomers.csv"
' В первом случае скрипт вызывается, когда фокус на этом файле,
'   во втором - когда фокус в любом месте каталога файла
'=====================================================================

Option Explicit

If WScript.Arguments.Count = 0 Then
  MsgBox "Не указаны параметры!", vbOKOnly + vbCritical, "Внимание!"
  Wscript.Quit
End If

Dim OTF, FSO, CustomFile, CustomDir, Customers, i, F
Set FSO    = CreateObject("Scripting.FileSystemObject")
CustomFile = WScript.Arguments(0)
If Not FSO.FileExists(CustomFile) Then
  MsgBox "Неверно указан параметр!" & vbNewLine & _
    "Файл " & CustomFile & " не существует!", _
    vbOKOnly + vbCritical, "Внимание!"
  Set FSO = Nothing
  WScript.Quit
End If

Set OTF   = FSO.OpenTextFile(CustomFile, 1, False)
Customers = Split(OTF.ReadAll, vbNewLine, -1, 1)
OTF.Close()

CustomDir = FSO.GetFile(CustomFile).ParentFolder
' В цикле исключаем первую строку (индекс 0) - это заголовки
For i = 1 To UBound(Customers)
  If Len(Customers(i)) > 0 Then
    F = CustomDir & "\" & Split(Customers(i), ";", -1, 1)(0)
    If Not FSO.FolderExists(F) Then
      FSO.CreateFolder(F)
    End If
  End If
Next

Set FSO = Nothing
WScript.Quit

3.4. RemRec.vbs:
Code:

'=====================================================================
' Удаление из csv-файла, имя которого передано первым параметром,
'   записи, если отсутствует соотв. папка в каталоге это файла

' Для вызова скрипта по кнопке (команде меню) TC
'   можно в параметрах указать:
' %P%N
'   или, например, если имя файла жестко задано:
' "%PCustomers.csv"
' В первом случае скрипт вызывается, когда фокус на этом файле,
'   во втором - когда фокус в любом месте каталога файла
'=====================================================================

Option Explicit
If WScript.Arguments.Count = 0 Then
  MsgBox "Не указаны параметры!", vbOKOnly + vbCritical, "Внимание!"
  Wscript.Quit
End If

Dim OTF, FSO, CustomFile, CustomDir, SF, Arr1, Rec, NewText, Header
Set FSO    = CreateObject("Scripting.FileSystemObject")
CustomFile = WScript.Arguments(0)
'Проверяем наличие csv-файла
If Not FSO.FileExists(CustomFile) Then
  MsgBox "Файл " & CustomFile & " не существует!", _
    vbOKOnly + vbCritical, "Внимание!"
  Set FSO = Nothing
  WScript.Quit
End If
'Текущий каталог csv-файла
CustomDir = FSO.GetFile(CustomFile).ParentFolder
'Формируем массив имен папок
'Обрамляем символом * (в именах папок недопустим),
'  чтобы проверять имена на полное совпадение
For Each SF In FSO.GetFolder(CustomDir).SubFolders
  Arr1 = Arr1 & ";*" & SF.Name & "*"
Next
Arr1 = Split(Mid(Arr1, 2), ";", -1, 1)

'Откроем csv-файл для чтения
Set OTF = FSO.OpenTextFile(CustomFile, 1, False)
'Пропускаем заголовки
Header = OTF.ReadLine
'Читаем остальные строки
Do While Not OTF.AtEndOfStream
  Rec = OTF.ReadLine
  If UBound(Filter(Arr1, "*" & Split(Rec, ";", -1, 1)(0) & "*")) >= 0 Then
    NewText = NewText & vbNewLine & Rec
  End If
Loop
OTF.Close()
'Добавляем заголовки
NewText = Header & NewText
'Откроем csv-файл для записи
Set OTF = FSO.OpenTextFile(CustomFile, 2, False)
OTF.Write NewText
OTF.Close()

Set OTF = Nothing
Set FSO = Nothing
WScript.Quit

4. На основной панели TC создать кнопку:
Code:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\My.bar

wcmicons.dll,3
Моя панель


-1
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2227
Location: Москва, Россия

Post (Separately) Posted: Mon May 21, 2007 17:36    Post subject: Reply with quote

5. Создать 3 папки (по количеству выводимых колонок) плагина Script Content. Переименовать в них файлы wdx, чтобы имена не были совпадающими. Например: script4.wdx, script5.wdx, script6.wdx.
6. В каждой из этих папок файл script.ini (не переименовывать!!!) должен содержать:
Code:

[Script]
Section=Content of csv

[Content of csv]
Script=csvContent.vbs
LongName=1
ParseDirs=1

7. В каждой из этих папок должен быть файл csvContent.vbs с содержимым:
Code:

Dim FSO, NumCol, csv
'==============================
NumCol = 2
csv    = "Customers.csv"
'==============================
Set FSO = CreateObject("Scripting.FileSystemObject")
content = ""
If FSO.FolderExists(FileName) Then
  Dim Fold, csvPath, OTF, fText, fArr, i
  Set Fold = FSO.GetFolder(Filename)
  csvPath = Fold.ParentFolder.Path & "\" & csv
  If FSO.FileExists(csvPath) Then
    Set OTF = FSO.OpenTextFile(csvPath, 1, False)
    fText = OTF.ReadAll
    OTF.Close
    fArr = Split(fText, vbNewLine, -1, 1)
    For i = 1 To UBound(fArr)
      If InStr(1, "*" & Split(fArr(i), ";", -1, 1)(0) & "*", "*" & Fold.Name & "*", 1) > 0 Then
        content = Split(fArr(i), ";", -1, 1)(NumCol - 1)
      End If
    Next
  End If
End If

Причем, эти файлы в каждой папке будут отличаться друг от друга третьей строкой "NumCol = NNN", где NNN - номер колонки из csv-файла, содержимое которой необходимо показывать в колонках TC. Соответственно, для каждой папки это будет "NumCol = 2", "NumCol = 3" и "NumCol = 4".
8. Подключить плагины script4.wdx, script5.wdx, script6.wdx.
9. Выполнить команду TC "Конфигурация\Настройка\Наборы колонок". Нажать кнопку "Новый". Настроить набор по прилагаемому скриншоту:

10. После настройки набора и сохранения настроек выполняем команду TC "Вид\Пользовательский набор колонок\Мой набор".
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2227
Location: Москва, Россия

Post (Separately) Posted: Mon May 21, 2007 17:37    Post subject: Reply with quote

Теперь, непосредственно, что со всем вышеописанным делать:

11. Заходим в TC в папку, в которой лежат папки с фамилиями заказчиков. На панели инструментов TC нажимаем добавленную по п. 4 кнопку.
12. Нажимаем вторую кнопку "Добавление записей для папок" (первая кнопка - это "Наверх"). При возникновении запроса на добавление нового файла отвечаем "Да".
13. Теперь основная задача - заполнить файл Customers.csv с атрибутом "Скрытый", в котором будут храниться данные о заказчиках. Для этого можно либо просто открыть этот файл в Excel-е, либо нажать кнопку "Заполнение пустых ячеек в csv-файле" (3-я на панели) и последовательно внести необходимые данные.
14. При добавлении нового заказчика можно:
14.1. Создать папку с именем заказчика, а потом выполнить пп. 12-13.
14.2. Внести в файл Customers.csv новую запись, а потом нажать кнопку "Создание папок по новым записям в csv-файле" (4-я на панели).
15. Для удаления данных о заказчике необходимо сначала удалить папку с фамилией заказчика (например, с помощью TC), а потом нажать кнопку "Удаление записи из csv-файла при отсутствии аналогичной папки" (5-я на панели).
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2227
Location: Москва, Россия

Post (Separately) Posted: Tue May 22, 2007 10:13    Post subject: Reply with quote

16. В папке %COMMANDER_PATH%\Utils\WHS создаем файл EditCsv.vbs:
Code:
'=====================================================================
' Редактирование csv-файла (имя которого передано первым параметром)

' Для вызова скрипта по кнопке (команде меню) TC
'   в параметрах указать:
' %P%N "%PCustomers.csv"
'=====================================================================

Option Explicit
If WScript.Arguments.Count < 2 Then
  MsgBox "Не верно указаны параметры!", vbOKOnly + vbCritical, "Внимание!"
  Wscript.Quit
End If

Dim FSO, OTF, CustomFile, Rec, NewText, NewRec, i, Arr, Cell, _
    Header, HeaderArr, Fold, FoldName
Set FSO = CreateObject("Scripting.FileSystemObject")
Fold    = WScript.Arguments(0)
'Проверяем, что первый параметр - папка
If Not FSO.FolderExists(Fold) Then
  MsgBox "Первым параметром необходимо указать папку." & vbNewLine & _
    "Папка " & Fold & " не существует!", _
    vbOKOnly + vbCritical, "Внимание!"
  Set FSO = Nothing
  WScript.Quit
End If
'Проверяем наличие csv-файла
CustomFile = WScript.Arguments(1)
If Not FSO.FileExists(CustomFile) Then
  MsgBox "Файл " & CustomFile & " не существует!", _
    vbOKOnly + vbCritical, "Внимание!"
  Set FSO = Nothing
  WScript.Quit
End If

'Откроем csv-файл для чтения
Set OTF = FSO.OpenTextFile(CustomFile, 1, False)
'Читаем заголовки
Header    = OTF.ReadLine
HeaderArr = Split(Header, ";", -1, 1)
'Имя папки - фамилия заказчика
FoldName = FSO.GetFolder(Fold).Name
'Читаем остальные строки
Do While Not OTF.AtEndOfStream
  Rec = OTF.ReadLine
  NewRec = ""
  If Len(Rec) > 0 Then
    Arr = Split(Rec, ";", -1, 1)
    i   = 0
    If LCase(Arr(0)) = LCase(FoldName) Then
      For Each Cell in Arr
        If i > 0 Then
          Cell = InputBox("Введите значение """ & HeaderArr(i) & _
            """ для записи с именем """ & Arr(0) & """:", _
            Arr(0), Arr(i))
        End If
        NewRec = NewRec & ";" & Cell
        i = i + 1
      Next
      NewRec = Mid(NewRec, 2)
    Else
      NewRec = Rec
    End If
  End If
  NewText = NewText & vbNewLine & NewRec
Loop
OTF.Close()
'Добавляем заголовки
NewText = Header & NewText
'Откроем csv-файл для записи
Set OTF = FSO.OpenTextFile(CustomFile, 2, False)
OTF.Write NewText
OTF.Close()

Set OTF = Nothing
Set FSO = Nothing
WScript.Quit

17. На созданной в п.1 панели добавляем кнопку:
Code:

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\WHS\EditCsv.vbs
%P%N "%PCustomers.csv" %L
shell32.dll,114
Редактирование информации о заказчике


-1

18. Для редактирования информации становимся на нужную папку и нажимаем созданную в п.17 кнопку. Внимание! Если при вводе нажать кнопку "Отмена", то запишется пустое значение.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group