| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > допилить программу по вставке даты (C#.NET)

допилить программу по вставке даты (C#.NET)

Закрытая тема
Поиск в этой теме
Непрочитано 16.07.2012, 13:29 #1
допилить программу по вставке даты (C#.NET)
swell{d}
 
гадание на конечно-элементной гуще
 
Düsseldorf
Регистрация: 31.05.2006
Сообщений: 7,604

добрый день. мой приятель по моей просьбе левой пяткой накидал программу вставки даты в формате yyyy-mm-dd в любом месте по сочетанию клавиш Ctrl+D
она работает, но не всегда и не везде.
например, на половине компов, где я её устанавливал, она выдаёт просто "v".
там, где работает, иногда перестаёт работать по какой-то причине и вставляет просто содержимое буфера обмена.
может кто-нибудь готов за спасибо или за какую-нибудь денюжку отладить её? или написать другую, аналогичного функционала?

п.с. я думаю, проблема в этой строчке:
Цитата:
SendKeys.SendWait("^v");

Вложения
Тип файла: zip Ctrl_D.zip (151.0 Кб, 56 просмотров)

__________________
.: WikiЖБК + YouTube :.
Просмотров: 3422
 
Непрочитано 17.07.2012, 14:34
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Старика Оккама на Вас нет.
1. Вашему приятелю не нужно было обрабатывать сочетания клавиш, с этим отлично справляется сам АКАД. Так что в настройках акада необходимо было просто указать сочетание горячих клавиш для запуска команды вставки даты.
Код:
[Выделить все]
    <CommandMethod("bx_datainput")> _
    Public Sub bx_datainput()

        '' Get the current document and database, and start a transaction
        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim acCurDb As Database = acDoc.Database

        Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
            Dim getPointOptions1 As PromptPointOptions = New PromptPointOptions(ControlChars.Lf & "Укажите точку вставки даты : ")
            Dim getPointResult1 As PromptPointResult = acDoc.Editor.GetPoint(getPointOptions1)
            'Если все ОК
            If (getPointResult1.Status = PromptStatus.OK) Then
            Else
                Exit Sub
            End If

            '' Open the Block table for read
            Dim acBlkTbl As BlockTable
            acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, _
                                         OpenMode.ForRead)

            '' Open the Block table record Model space for write
            Dim acBlkTblRec As BlockTableRecord
            acBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), _
                                            OpenMode.ForWrite)

            '' Create a single-line text object
            Dim acText As DBText = New DBText()
            acText.SetDatabaseDefaults()
            acText.Position = getPointResult1.Value
            acText.Height = 3
            acText.TextString = Date.Today.Year & "-" & Date.Today.Month & "-" & Date.Today.Day

            acBlkTblRec.AppendEntity(acText)
            acTrans.AddNewlyCreatedDBObject(acText, True)

            '' Save the changes and dispose of the transaction
            acTrans.Commit()
        End Using
    End Sub

2. Вставляйте с Палитры блок содержащий текст с полем "%<\AcVar Date \f "yyyy-MM-dd">%" и будет Вам счастье.
Boxa вне форума  
 
Непрочитано 17.07.2012, 15:52
#3
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Boxa, я вообще не понял, зачем это сообщение здесь. Прога, которую привёл swell{d} работает не только в акаде, а регистрирует глобальную горячую клавишу, при нажатии которой в буфер обмена помещается текущая дата, затем "нажимается" ctrl-v, а затем восстанавливается старое содержимое буфера обмена. К автокаду его вопрос не имеет никакого отношения
bargool вне форума  
 
Непрочитано 17.07.2012, 16:52
#4
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Наверное вы правы. Не разобравшись до конца предположил что автор работает в акаде, потому как в офисе и др. редакторах такая функция и так есть. А для акада решение с глобальными горячими клавишами слишком навороченное.

Автор, а зачем Вам такая программа?
Boxa вне форума  
 
Непрочитано 17.07.2012, 20:03
#5
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Boxa Посмотреть сообщение
Автор, а зачем Вам такая программа?
вероятно чтоб гланды через анус щупать
gomer вне форума  
 
Автор темы   Непрочитано 18.07.2012, 00:26
#6
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Цитата:
Сообщение от Boxa Посмотреть сообщение
Автор, а зачем Вам такая программа?
у меня весь документооборот в офисе на этом держится.

удобно отслеживать историю изменения файлов:
2010-11-20 КЖ1 стадия Р.dwg
2011-11-19 КЖ1 стадия Р изм.1.dwg
2012-02-20 КЖ1 стадия Р изм.2.dwg
2012-02-29 КЖ1 стадия Р изм.3.dwg

файлы в папке отсортированы по имени, но последний всегда снизу.
__________________
.: WikiЖБК + YouTube :.

Последний раз редактировалось swell{d}, 18.07.2012 в 14:09.
swell{d} вне форума  
 
Непрочитано 18.07.2012, 13:44
#7
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


ага, gomer походу прав.
Автор, если у вас так часто меняются версии, может стоит посмотреть в сторону Систем управления версиями?
Что то типа http://habrahabr.ru/qa/18710/ или тут http://habrahabr.ru/post/141160/
Boxa вне форума  
 
Автор темы   Непрочитано 18.07.2012, 14:05
#8
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


у меня в организации разработаны правила документооборота: ссылка
система работает уже много-много лет. очень просто, очень удобно и наглядно. не требует обучения персонала, не требует дополнительного ПО.
картинка1 - рабочая папка
картинка2 - папка входящих писем
__________________
.: WikiЖБК + YouTube :.

Последний раз редактировалось swell{d}, 18.07.2012 в 14:32.
swell{d} вне форума  
 
Непрочитано 18.07.2012, 17:51
#9
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Boxa Посмотреть сообщение
ага, gomer походу прав.
+1
Цитата:
Сообщение от swell{d}
у меня в организации разработаны правила документооборота: ссылка
система работает уже много-много лет. очень просто, очень удобно и наглядно. не требует обучения персонала, не требует дополнительного ПО.
картинка1 - рабочая папка
картинка2 - папка входящих писем
Обозначенные "правила" плохи (имхо).
Картинки хорошо демонстрируют НЕУДОБСТВО решения.
Внимательно прочти этот пост.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 18.07.2012, 18:07
#10
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


hwd, Boxa, +1 к использованию git. В конторе не пытался, честно говоря внедрить, но в личных проектах остался доволен использованием (я про проектирование, молчу уж про программы)
bargool вне форума  
 
Автор темы   Непрочитано 18.07.2012, 21:12
#11
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Offtop: Русский форум: задал вопрос и тебе долго и нудно втирают почему ты мудак (с)
ребята, я поставил задачу и предложил вознаграждение. незаинтересованных в решении задачи прошу покинуть тему
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 18.07.2012, 21:25
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


swell{d}, так тебе надо было в "ПОиск исполнителей" тогда задавать вопрос...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.07.2012, 21:32
#13
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Offtop: а как же "поговорить"? =)
виноват. если можно, перенесите тему.
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
 
Непрочитано 18.07.2012, 21:33
#14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


swell{d}, ты лучше сам создай тему в соответствии с правилами раздела "Поиск исполнителей". А эту я тогда закрою через час-два.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.07.2012, 21:44
#15
swell{d}

гадание на конечно-элементной гуще
 
Регистрация: 31.05.2006
Düsseldorf
Сообщений: 7,604


Offtop: сделано
__________________
.: WikiЖБК + YouTube :.
swell{d} вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > допилить программу по вставке даты (C#.NET)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск