Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Delphi

Выпуск № 109
от 07.12.2002, 18:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 336
Отправлено ответов: 615
Активность: 183.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 116.45
URL: Пристанище неодинокого программиста
[Подробней >>]
Vadim
Статус: Доверительный
Общий рейтинг: 145.45
[Подробней >>]
Jadd
Статус: Профессиональный
Общий рейтинг: 141.53
[Подробней >>]
 
Vladimir
Статус: Опытный
Общий рейтинг: 110.83
Телефон: (08242) 43599 40099 раб 41255 дом
[Подробней >>]
Pinman
Статус: Доверительный
Общий рейтинг: 145.45
[Подробней >>]
Melkor
Статус: Начальный
Общий рейтинг: 134.48
[Подробней >>]
 
Idle Sign
Статус: Опытный
Общий рейтинг: 145.83
URL: Blind Team
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 318. Здрастье! У меня такой вопрос. Как сделать так, чтобы моя программа была в контекстном меню некоторы... (ответов: 1)
Вопрос № 319. Доброе время суток, уважаемые Эксперты! Продолжение вопроса № 315: Во первых: Большое спасибо всем, ... (ответов: 2)
Вопрос № 322. Здравствуйте! Короче я писал прогу на Delphi 5 в Windows 98 и когда ее запустили на Win NT то вышло... (ответов: 4)
Вопрос № 323. У меня такой вопрос возник. Можно ли сделать так: программа создает ини файл в нем \\\\\\\\\\\\\\ [... (ответов: 5)

Вопросов: 4, ответов: 12


 Вопрос № 318

Здрастье!
У меня такой вопрос. Как сделать так, чтобы моя программа была в контекстном меню некоторых файлов(как WinRar, Dr. Web и др.) и чтобы в качестве параметра передавались имя выделенного файла (или файлов, если их несколько) и директория в которой он находится.
Помогите, если не тяжело или дайте ссылку где можно почитать об этом вопросе.



Вопрос отправлен: 02.12.2002, 21:13
Отправитель: Andrey (ThexBoss@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Приветствую Вас, Andrey!

Когда-то этот вопрос в рассылке рассматривался, у меня остался пример. Он регистрируется в реестре для файлов любого типа и позволяет изменить их расширение (задаётся с точкой). Неэкономично, правда, - размер великоват, зато наглядно.

Приложение:

Ответ отправлен: 03.12.2002, 13:02
Отправитель: Артём Шегеда


 Вопрос № 319

Доброе время суток, уважаемые Эксперты!
Продолжение вопроса № 315:
Во первых: Большое спасибо всем, кто ответил!
Дело в том, что предложенная GetDeviceCaps, похоже, дает размер страницы "без полей". Нет ли другой функции, или как узнать размер поля?
Для тех кто спрашивал "зачем" (вдруг пригодится):
Была программа, печатающая рисунки (лекала для вышивальных машин). Она была настроена под конкретный принтер. После покупки нового принтера(с бо'льшим разрешением) рисунки стали меньше размером. (Они должны быть тютелька в тютельку + - 0.5 мм). Зная ширину страницы в пикселах, но не зная какой лист выбран (A4, A5, A3....) невозможно вычислить процент увеличения изображения.
С уважением
Vitally.



Вопрос отправлен: 03.12.2002, 09:02
Отправитель: Vitally

[Следующий вопрос >>] [Список вопросов]

Отвечает Vadim

Здравствуйте, Vitally!
Левое и верхнее поле можно узнать (в пикселах) подставив в GetDeviceCaps параметр PHYSICALOFFSETX или PHYSICALOFFSETY. А вот правое и нижнее, можно узнать видимо только с помощью функции DocumentProperties.

Ответ отправлен: 03.12.2002, 11:16
Отправитель: Vadim


Отвечает Артём Шегеда

Приветствую Вас, Vitally!

Настоятельно рекомендую открыть документацию MSSDK и прочитать главу "GetDeviceCaps"
Между прочим, там есть много параметров, а именно
PHYSICALWIDTH - For printing devices: the width of the physical page, in device units. For example, a printer set to print at 600 dpi on 8.5"x11" paper has a physical width value of 5100 device units. Note that the physical page is almost always greater than the printable area of the page, and never smaller.
и
PHYSICALHEIGHT - почти то же самое, но по вертикали


Ответ отправлен: 03.12.2002, 13:02
Отправитель: Артём Шегеда


 Вопрос № 322

Здравствуйте!
Короче я писал прогу на Delphi 5 в Windows 98 и когда ее запустили на Win NT то вышло системное окно с закодированным сообщением. Скажите как решить эту проблему?
Спасибо вам!
P.S Может система NT как то защищена админами? Есть ли там такие настройки?




Вопрос отправлен: 04.12.2002, 14:30
Отправитель: dude

[Следующий вопрос >>] [Список вопросов]

Отвечает Артём Шегеда

Добрый день, dude!

У нас не принято отвечать на вопросы без полной информации для анализа. Поэтому, пришли программу (или её ключевую часть) и опиши окно с сообщением.
В крайнем случае, завяжи переписку с конкретным экспертом (а лучше опубликуй e-mail) и получи полноценную консультацию.

Ответ отправлен: 04.12.2002, 15:48
Отправитель: Артём Шегеда


Отвечает Jadd

Здравствуйте, dude!
Имеется ввиду что вопросы вместо русских символов? Непонятно что имеется ввиду под закодированными. Если то, что я предположил, то надо искать версию кириллического фонта, который в нте будет корректно отображать кириллицу. Дело все в юникоде. НТя(особенно с win2k) активно конвертит строки из ANSII в юникод и если не может какой-то символ конвертнуть, на его месте появляется вопрос.

Ответ отправлен: 05.12.2002, 02:32
Отправитель: Jadd


Отвечает Vadim

Приветствую Вас, dude!
А какую прогу ты писал? В большинстве случаев программе по-барабану в какой ОС выполняться. Если только ты не обращаешся к какой-то особенности ОС. "Закодированное сообщение" - это вместо русских букв кракозябры или имелось в виду что-то другое? Возможно для NT следовало использовать кодировку UNICODE вместо ANSI. Возможно в NT не хватает каких-то РУССКИХ шрифтов, которые были в 98. Еще можно посмотреть настройки "Regional settings" ("Язык и стандарты"). Должен быть выставлен русский язык).
PS: Если система защищена каким-то образом админом, то сообщение будет понятным и его можно прочитать, т.е. оно ни в коем случае не закодировано.


Ответ отправлен: 05.12.2002, 05:58
Отправитель: Vadim


Отвечает Vladimir

Приветствую Вас, dude!
Я решал эту проблему следующим образом:
Установил на свой комп WinXP и скомпилировал программу. Дело в том, что в Win9x и NT используются разные библиотеки. Причем программа, скомпиленная под NT, как правило работает и под 9х, а вот наоборот ...


Ответ отправлен: 05.12.2002, 08:36
Отправитель: Vladimir


 Вопрос № 323

У меня такой вопрос возник. Можно ли сделать так: программа создает ини файл в нем
\\\\\\\\\\\\\\
[Do]
do=memo1.lines.add('tucvxvdffas');form1.close;
/////////////////////////////
//это я ест-но знаю как делать. Больше интересует следующее:
Программа читает параметр do и выполняет действия описанные в нем (т.е добавляет строчку в мемо и вырубает форму). Напишите подробнее plz
Очень надеюсь на вашу помощь.



Вопрос отправлен: 04.12.2002, 16:11
Отправитель: pcgamer

[Следующий вопрос >>] [Список вопросов]

Отвечает Pinman

Здравствуйте, pcgamer!
Для работой с .INI-файлами используются объекты TINIFile и TRegINIFile. Эти компоненты подробнейшим образом описаны в справке. Изучайте!


Ответ отправлен: 04.12.2002, 22:01
Отправитель: Pinman


Отвечает Melkor

Добрый день, pcgamer!
Ты хочеш чтобы во время исполнения программы вносились изменения в ее код (уже откомпилированный), а это очень сложно. Есть 2 способа:
1 - поменять код в сегменте кода (CS) проги.
2 - сделать dll с процедурой кот. закрывает форму и т.д. Потом вносить в ее исходник код из ini-файла, компилить во время исполнения (к проге придется прилагать файлы компилятора Delphi) и подключить данную dll к проге (немного странный способ и компилятор весит много).

Ответ отправлен: 06.12.2002, 21:59
Отправитель: Melkor


Отвечает Idle Sign

Здравствуйте, pcgamer!
===== Pro bono publico, no bloody panico! =====
Лучше такого не делать. Теоретически можно, если:
1) таскать с основной программой компилятор
2) считывать текст из ини в отдельный файл (модуль), который будет dll ( с dll работать интереснее ;) ), дописывать все нужное для работы с основной программой
3) брать копилятор, компилить dll
4) стыковать с основной программой
Почему не делать? Оттого, что 1) ошибок будет - не разгребешь (одно подберешь, другое вывалится); 2) теория от практики в нашем деле зачастую сильно отличается.
Ну и на последок: если долго мучаться, кто-нибудь получится (Dr. Frankenstein).

Ответ отправлен: 04.12.2002, 18:53
Отправитель: Idle Sign


Отвечает Jadd

Приветствую Вас, pcgamer!
Дык качай компоненту, которая интерпретирует паскалевский код. Иначе никак.

Ответ отправлен: 05.12.2002, 02:27
Отправитель: Jadd


Отвечает Vadim

Добрый день, pcgamer!
Нужно чтобы программа делала именно это "memo1.lines.add('tucvxvdffas');form1.close" или нужно чтобы программа выполняла заданные в текстовой форме команды?

Ответ отправлен: 05.12.2002, 06:01
Отправитель: Vadim



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (39)
C / C++ (28)
Perl (6)
Delphi (19)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (12)
PHP (7)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (21)
"Железо" (29)
Поиск информации (15)
Администратору
Windows NT/2000/XP (13)
Linux / Unix (16)
Юристу
Гражданское право (9)
Семейное право (3)
Трудовое право (5)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное