Классика – продолжение: Notepad 1.6 (тестовая версия)...

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Классика – продолжение: Notepad 1.6 (тестовая версия)...

Сообщение BV » 15.05.2005 (Вс) 21:42

Эта версия была переписана мною с нуля, так как версия 1.5 содержала код, который был недостаточно оптимизирован. Очень хотелось бы знать ваши мнения. Все предложения будут рассмотрены и финальная версия 1.6 будет изменена.

[удалено]
Последний раз редактировалось BV 23.05.2005 (Пн) 1:48, всего редактировалось 1 раз.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 16.05.2005 (Пн) 2:12

Для чего он нужен?

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.05.2005 (Пн) 11:28

Хм... Полагаю, что для работы с простым текстом... :roll:

Или ты в том смысле, что такого добра на любом софтовом сайте выше крыши? Я знаю, и не пытаюсь сделать что-то особое. Просто это мой скромный вклад в огромную коллекцию текстовых редакторов. :)
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.05.2005 (Пн) 11:49

Критика:
1. Нет возможности задать параметры страницы (поля, колонтитулы).
2. При выборе принтера он становится принтером по умолчанию (я так понимаю, ты используешь компонент Common Dialogs?).
3. Строка состояния практически бесполезна. Там бы следовало писать комментарии к кнопкам, к пунктам меню, добавить информацию о позиции курсора.
4. Он все настройки в реестре хранит?
5. Поставь нестандартную цветовую схему, сразу увидишь все баги в дизайне.
Lasciate ogni speranza, voi ch'entrate.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 16.05.2005 (Пн) 12:56

Хм. У меня он вообще запускаться отказывается. Даже ошибок никаких не выдает. Просто кликаешь по экзешнику и ничего не происходит. истема - WinXP.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 16.05.2005 (Пн) 13:00

В режими совместимости с Win2000 и WinME - Component 'Comctl32.ocx' or one of its dependencies not correctly registered: a file is missing or invalid.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.05.2005 (Пн) 13:46

2 alibek

1. Смотри форум: http://bbs.vbstreets.ru/viewtopic.php?p=121219#121219
2. Мне отключить свойство CommonDialog.PrinterDefault?
3. Верно. Исправлю.
4. Да, а что?
5. Снова верно... И что же делать?...


2 Oxygen

Программа использует два ActiveX компонента: Comdlg32.ocx и Comctl32.ocx, которые должны находиться в папке System32 (если это не 9х системы) и быть зарегистрированными. Для их регистрации (хотя это должен делать инсталлятор) достаточно нажать Win+R и набрать в строке "RegSvr32 Имя компонента".

Но для простоты - вот все компоненты. Для регистрации надо запустить файл "Reg.bat"
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.05.2005 (Пн) 13:52

2. Не знаю, я им давно перестал пользоваться. Используй API-шные диалоги, на форуме где-то лежал класс. Могу и код дать, если не найдешь, но для принтера он большой.
4. Не знаю, не люблю. По мне -- программа не должна ничего делать за пределами той папки, в которую установлена.
5. Что, что. Ставь нестандартную цветовую схему (причем выбери разным цвет текста в окне, цвет текста на кнопках и цвет текста меню), запускать VB, и в конструкторе исправляй.
Lasciate ogni speranza, voi ch'entrate.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 16.05.2005 (Пн) 14:11

1. Справка -> О программе. Особая благодарность: кому благодарность - то?
2. Не ищет куски слов. (если слово входит в другое слово) А это не очень хорошо.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.05.2005 (Пн) 14:56

2 alibek

Я сам уже давно написал модуль CommonDialog'ов: GetColor, GetOpenDlg, GetSaveDlg, GetFont (очень долго тогда на ним (Font'ом) мучался)... но там нет GetPrintDlg, так как он ещё смешнее GetFont :) Для удобства я и использовал тут CommonDialog... правда, видимо, зря...

Да... я пытался найти класс, но среди более 400 найденых тем так ничего и не попалось. Так что если можешь, перешли мне этот класс на borisbox@mail.ru


2 Oxygen

1. Это же тестовая версия. Те, кто сейчас отличатся, и попадут в тот список. :)
2. Ну да? А у меня ищет.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.05.2005 (Пн) 15:02

Выкладываю свой модуль, который часто цепляю к проектам. Модуль часто корректируется (обновляется и фиксятся баги), поэтому не все функции можно использовать безопасно. Тем не менее, работа с принтером функционирует, функция dlgPrinterDialog
У вас нет доступа для просмотра вложений в этом сообщении.
Lasciate ogni speranza, voi ch'entrate.

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 16.05.2005 (Пн) 15:21

Я ради интереса набрала в строчке: ааа ббб нннн ппппя ваваыва ваып.
И задала в поиске "н" - ничего не нашел совсем.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 16.05.2005 (Пн) 15:34

alibek писал(а):Выкладываю свой модуль, который часто цепляю к проектам. Модуль часто корректируется (обновляется и фиксятся баги), поэтому не все функции можно использовать безопасно. Тем не менее, работа с принтером функционирует, функция dlgPrinterDialog

Какой полезный модуль 8)
Чисто из уважения спрошу: можно я им попользуюсь и в свои проекты пихать буду...???

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.05.2005 (Пн) 15:37

Дык эта... Я же на паблик выложил, конечно :)
Но раз будешь пользоваться, то дисклаймер -- за баги и ошибки я не отвечаю :)
Ошибки в нем у меня отлавливаются только тогда, когда в какой-нибудь проге я что-нибудь использую нестандартно и вылезает что-нибудь нестандартное, тогда и исправляю.
Lasciate ogni speranza, voi ch'entrate.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 16.05.2005 (Пн) 15:45

Спасибо!!!
С багами бум разбираца :)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 16.05.2005 (Пн) 18:01

2 alibek

Спасибо, посмотрю. :)


2 Oxygen

Возможно, тут дело в кодовых страницах.
Можешь сделать вот это:

В настройках раскладки клавиатуры поменяй язык по умолчанию на другой и проделай то же самое. Если поиск в русском тексте начнёт работать, то не меняя раскладку попробуй поиск в английском тексте...

Хм... Но у меня всё работает...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 16.05.2005 (Пн) 22:43

alibek
Что-то я не смог закачать modWinAPI.zip - не открывается страничка с закачкой. :(
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 17.05.2005 (Вт) 2:07

Система: WinXP Pro SP1

1. Переключение кодировки "на лету" не работает.
2. При копировании русского текста вставляются 'Я идиот! Убейте меня, кто-нибудь!'
3. Не закрывается по ESC (личное предпочтение) :)
4. Какой смысл в функции выравнивания текста, если оно не влияет на форматирование?
6. Ctrl+Z отменяет только последнее изменение...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 17.05.2005 (Вт) 12:36

2 alibek

Да... модуль на все случаи жизни!... :)


2 Sedge

1. Меню же называется "Открывать в кодировке", но если это действительно стоит добавить, то я сделаю.
2. Значит ты копируешь текст в юникоде. Копируй кириллицу - всё начнёт работать.
3. Хм, а должен?
4. Такой же как и смена заливки и шрифта - изменение просмотра...
5. Ну дык это же TextBox...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 17.05.2005 (Вт) 13:24

1. Отсутсвие этой функции простительно при автоматическом определении кодировки. Не факт, что пользователь изначально знает, в какой кодировке у него текст, а открывать его три раза, подбирая нужную... В общем - must have.
2. Я копирую текст из твоего блокнота в него же. Причем в одном окне.
3. Да. Если это не блокнот от Microsoft :)
4. Это-то я догадался. Но - не функциональная фича. Вот если бы он строки физически в тексте выравнивал, допустим по полю в 80 символов, тогда да...
5. Дык ты же программист :D


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList