Возможность создания файла правой кнопкой мыши

Здесь можно оставить пожелание относительно функций, которых в программе нет, но которые вам хотелось бы в ней видеть.

Модератор: motyara

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Kiril__777 писал(а):прога отказывается работать на недавно установленной винде
213f0538b9ad.jpg
незапускается даже если открывать напрямую а не через кнопку.
проблем с оперативой нету, как и с виндой, косячит только эта прога, как же быть, я уже успел привыкнуть :(
Посмотрев исходный код

Код: Выделить всё

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Try
    For Each Filename As String In Directory.GetFiles(My.Application.Info.DirectoryPath & "\Templates")
      LstFiles.Items.Add(Dir$(Filename, -1))
    Next Filename
  Catch ex As Exception
    MsgBox("Какая-то ошибка!", MsgBoxStyle.Critical, "Error")
  End Try
End Sub

Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click, LstFiles.DoubleClick
  Dim Name As String
  Try
    Do
      Name = FileIO.FileSystem.CombinePath(Command$(), InputBox("Введите имя файла", "Создать файл", LstFiles.SelectedItem))
      If Name = Command$() Then Exit Sub
      If Dir$(Name, -1) <> "" Then
        Select Case MsgBox("Перезаписать?", MsgBoxStyle.Exclamation Or MsgBoxStyle.YesNoCancel, "Файл уже существует!")
          Case MsgBoxResult.Yes
            Exit Do
          Case MsgBoxResult.Cancel
            Exit Sub
        End Select
      Else
        Exit Do
      End If
    Loop
    File.Copy(My.Application.Info.DirectoryPath & "\Templates\" & LstFiles.SelectedItem, Name)
    Me.Close()
  Catch ex As Exception
    MsgBox("Не выполнено!" & vbCrLf & Name, MsgBoxStyle.Critical, "Error")
  End Try
End Sub

End Class
Вы увидите, что это не может быть какой-либо ошибкой в работе программы, это же следует и из сообщения об ошибке "при инициализации"...

Вот то, что может быть причиной:
1. В новой системе может быть не установлен .NET Framework или установлена недостаточно новая его версия. (Напоминаю, что проект сделан в VS2005).
2. Если установлена 64-х разрядная система, то я не уверен в работе программы в ней...
3. Если установленная система не Windows XP, то я не могу проверить работу программы в ней. Хотя, не думаю, что это может вызвать ошибку...
Попробуйте запустить программу не из папки Release, а из папки Debug. Возможно, в этом случае Вы получите другое (более подробное) сообщение об ошибке...

Возможно, я сделаю новый вариант в VS2010, тогда будет требоваться .NET Framework 4...
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Create New File 2

Сообщение Qwertiy »

Сделал :)
Create New File 2.7z
VS2010 Solution, VB.NET
(89.39 КБ) 203 скачивания
Изменения:
1. У создаваемого файла устанавливается дата создания и открытия (но не изменения).
2. Имя файла вводится не через InputBox, а в текстовое поле. Нажатие клавиш Вверх/Вниз в нём приводит к изменению выбранного элемента в списке.
3. При изменении выбранного в списке элемента, если имя не указано или совпадает с именем предыдущего выбранного шаблона, то оно заменяется именем выбранного шаблона.
4. Добавлена кнопка отмены и выход по Esc.
5. Возможно использование из корневого каталога диска.
6. Изменён принцип информирования об ошибках. Чтобы увидеть его в действии можно запустить CFN2 из каталога, не содержащего папку Templates или попытаться создать файл без передачи пути как аргумента (или каким-либо другим способом). Окно сообщения можно закрыть нажав Enter, Esc или стандартным способом.
7. А вот размер формы теперь изменять нельзя... Но, на всякий случай, у списка предусмотрена горизонтальная (как и вертикальная) полоса прокрутки.

Напоминаю:
1. Программа Create New File 2\bin\Release\Create New File 2.exe (достаточно только exe-файла) должна находиться в папке, подпапкой которой является папка Templates, содержащая шаблоны.
2. При вызове CFN2, в качестве аргумента должен передаваться путь (без кавычек, даже если в нём есть пробелы), в котором будет создаваться файл. При использовании из UC в поле аргументы надо указать %P без кавычек.
3. Файл можно создать нажатием Enter, двойным щелчком по нужному шаблону в списке (если имя отличается от имени другого (ранее выбранного) шаблона, оно не изменится) или кнопкой Создать.
4. Для работы нужен .NET Framework 4. Его можно найти на сайте Microsoft или на http://www.filehippo.com/download_dotnet_framework_4/.
Kiril__777
Сообщения: 7
Зарегистрирован: Сб ноя 06, 2010 1:24 pm

Re: Create New File 2

Сообщение Kiril__777 »

Qwertiy писал(а):Сделал :)
Create New File 2.7z
Изменения:
1. У создаваемого файла устанавливается дата создания и открытия (но не изменения).
2. Имя файла вводится не через InputBox, а в текстовое поле. Нажатие клавиш Вверх/Вниз в нём приводит к изменению выбранного элемента в списке.
3. При изменении выбранного в списке элемента, если имя не указано или совпадает с именем предыдущего выбранного шаблона, то оно заменяется именем выбранного шаблона.
4. Добавлена кнопка отмены и выход по Esc.
5. Возможно использование из корневого каталога диска.
6. Изменён принцип информирования об ошибках. Чтобы увидеть его в действии можно запустить CFN2 из каталога, не содержащего папку Templates или попытаться создать файл без передачи пути как аргумента (или каким-либо другим способом). Окно сообщения можно закрыть нажав Enter, Esc или стандартным способом.
7. А вот размер формы теперь изменять нельзя... Но, на всякий случай, у списка предусмотрена горизонтальная (как и вертикальная) полоса прокрутки.

Напоминаю:
1. Программа Create New File 2\bin\Release\Create New File 2.exe (достаточно только exe-файла) должна находиться в папке, подпапкой которой является папка Templates, содержащая шаблоны.
2. При вызове CFN2, в качестве аргумента должен передаваться путь (без кавычек, даже если в нём есть пробелы), в котором будет создаваться файл. При использовании из UC в поле аргументы надо указать %P без кавычек.
3. Файл можно создать нажатием Enter, двойным щелчком по нужному шаблону в списке (если имя отличается от имени другого (ранее выбранного) шаблона, оно не изменится) или кнопкой Создать.
4. Для работы нужен .NET Framework 4. Его можно найти на сайте Microsoft или на http://www.filehippo.com/download_dotnet_framework_4/.
спасибо, с 1й версией прогнался, нужен фраймверк :)
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Create New File 3

Сообщение Qwertiy »

Сделал новую версию в соответствии с пожеланиями из этой темы. Кроме перечисленного далее, сделано так, что изменённое имя файла не выделяется при смене шаблона.

Итак, как и предыдущая версия, CNF3 предназначена для создания файлов на основе шаблона. Все параметры передаются как аргументы командной строки. Список параметров (вводятся с учётом регистра, но в любом порядке):
  • /path:путь - путь к каталогу, в котором будет создан файл - единственный обязательный параметр;
  • /templates:путь - путь к каталогу, в котором лежат шаблоны - по умолчанию используется папка Templates из каталога программы;
  • /name:имя - имя файла, которое будет помещенено в поле ввода - система автоматической смены имён сохранена, но если задан этот параметр, то имя не будет меняться автоматически (если только оно не пустое и не совпадает с именем шаблона);
  • /addext:как - автоматическое добавление расширения (по умолчанию используется auto, что я бы использовать не стал)
    • /addext:none - имя файла предлагается вместе с расширением, файл получает в точности то имя, которое указано,
    • /addext:allways - перед созданием файла к введённому имени всегда добавляется расширение шаблона,
    • /addext:auto - программа сама решает, надо ли добавлять расширение: оно будет добавлено если не завершающееся точкой имя не содержит точку вообще или после последней точки находится более 8 символов или хотя бы один символ, не являющийся буквенноцифровым.
Конфигурация, аналогичная CNF2:

Код: Выделить всё

"/path:%P" /addext:none
Конфигурация с добавляемым расширением:

Код: Выделить всё

"/path:%P" /addext:allways
Конфигурации с использованием имени файла на панели в качестве основы имени нового файла:

Код: Выделить всё

"/path:%P" "/name:%N" /addext:none
"/path:%P" "/name:%O" /addext:allways
"/path:%P" "/name:%O" /addext:auto
Create New File 3.zip
VS2010 Solution, VB.NET
(102.88 КБ) 168 скачиваний
Для работы необходим файл bin\Release\Create New File.exe, папка с шаблонами (Templates в каталоге с CFN3 или указанная в аргументах) и установленный .NET Framework 4.

PS: Если обнаружатся баги, исправлю :)
Закрыто