Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: 3 вопроса по ворду. Добавлено: 06.10.08 09:40  

Автор вопроса:  samets
Надо:
1. Сделать так, чтобы «фоновый режим» активировался. То есть, чтобы условие он проверял бесконечно, пока оно не будет верным. И так, чтобы была возможность работать с вордом. Пробовал бесконечный цикл:

Sub blablabla()
Do while Условие = Неверно
DoEvents
Loop

Но не катит - процессор двухъядерный занят на 100%. Начинает виснуть;
2. Сделать так, чтоб при запуске ворда моя программа запускалась не сразу, а когда документ загрузится, а не как в autoexec. Autoopen не предлагать! Нужно, чтобы это происходило и при запуске ворда через пуск!
3. Как сделать так, чтобы при перемещения курсора или при напечатании символа сразу удалялась текущая строка.
Ну вот и все вопросы.

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #1 Добавлено: 06.10.08 11:30
2: Записать макрос в Normal.dot ?

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 06.10.08 16:48
Расскажи как ты занял двухъядерный процессор на 100%?
Я как ни стараюсь, но монопоточное приложение всегда дает загрузку примерно по 50% на каждом ядре (по понятным, я думаю, причинам)

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 07.10.08 09:46
Steel Brand, не знаю как для Intell, а для AMD мне встречался драйвер, который распределяет нагрузку приложений по нескольким ядрам якобы для оптимизации производительности (сам с ним дел не имел, т.к. работаю всегда на Intell). Как это работает - не представляю. Но ведь работает.

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 07.10.08 17:14
Я не представляю себе как можно одновременно выполнять один и тот же поток на разных ядрах :)
2 ядра подгружаются на 50%, потому что планировщик задач периодически кидает поток то на первое, то на второе ядро.
Какой бы там драйвер ни был, корректно разбить поток на в ядра ИМХО нереально - просто запаришься с синхронизацией.

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 08.10.08 10:23
про предсказание переходов слышал? вот скорее всего на этом уровне или что-то подобное. больше ядер - больше переходов досрочно просчитаны с верным предсказанием. на современных процессорах вычисления выполняются нелинейно во времени, т.е. каждая последующая инструкция не всегда не ждет, пока будет выполнена предыдущая, иногда она может быть просчитана ранее. эта идея продвигалась при создании конвейеров в p6, над подобными проблеммами до сих пор бьются создатели многоядерников. недаром наверное производители процессоров постоянно придумывают новые архитектуры, есть над чем работать. кстати, новые камешки Intell Atom лишены предсказаний переходов и подобных наворотов, из-за чего и удалось так удачно снизить их цену.

Ответить

Номер ответа: 6
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 08.10.08 10:26
драйвер amd возможно делает что-то подобное, только с кусками кода побольше, чем несколько опкодов.

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 10.10.08 21:53
Кто в теме может прокомментировать?

Насколько я понимаю архитектуру процессора, все про что написал пан mc-black выполняется только в пределах одного ядра.

кстати, новые камешки Intell Atom лишены предсказаний переходов и подобных наворотов, из-за чего и удалось так удачно снизить их цену.

Intel Core 2 тоже лишены этих предсказаний и наворотов? :)

Ответить

Номер ответа: 8
Автор ответа:
 samets



Вопросов: 14
Ответов: 27
 Профиль | | #8 Добавлено: 11.10.08 06:53
Я че, задал вопрос про процессор? Я попоросил ответить на другие три вопроса!!! Не отходите от темы!

Ответить

Номер ответа: 9
Автор ответа:
 samets



Вопросов: 14
Ответов: 27
 Профиль | | #9 Добавлено: 11.10.08 06:54
:(

Ответить

Номер ответа: 10
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #10
Добавлено: 12.10.08 14:51
Удобнее для 3-х вопросов заводить 3 темы. Извини, что я не в тему.

Ответить

Номер ответа: 11
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #11
Добавлено: 13.10.08 10:07
1. Что именно тебе надо проверять в бесконечном цикле? Обычно создается отдельный поток для выполнения задач в фоновом режиме, но может все-таки в Word можно обойтись отловом каких-то событий или что-то другим. В Win32 API есть функции, такие как WaitForSingleObject и WaitForMultipleObjects, которые иногда рекомендуется применять в местах, где может напрашиваться бесконечное ожидание чего-нибудь. Опиши, что за условие проверяется в твоем цикле, зачем это делается, ну и желательно твой участок кода.

2. Событие Document_Open() тебя не устроит?

3. Не знаю. А для чего это требуется?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам