Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi

Модерирует : ShIvADeSt

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Marinochka111

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня такая проблема,как добавить программу в всплывающее Popup меню папки?? Ну чтобы где команды копировать,добавить в архив и т.д. было и название моей программы.Помогите пожайлуста.




Не дублируй сообщения, если спросила здесь, то зачем создавала отдельную тему и наоборот.

Всего записей: 2 | Зарегистр. 03-08-2005 | Отправлено: 20:59 03-08-2005 | Исправлено: ShIvADeSt, 02:15 04-08-2005
moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Marinochka111

Цитата:
У меня такая проблема,как добавить программу в всплывающее Popup меню папки?? Ну чтобы где команды копировать,добавить в архив и т.д. было и название моей программы.Помогите пожайлуста.

fvsq простой способ. не имеющий никакого отношения к програмиированию - добавить ярлык на свою прогу в папку c:\Documents and Settings\Администратор\SendTo\
 
Добавлено:
еще глянь ветки реестра:
а) для директории
HKEY_CLASSES_ROOT\Directory\shell
б) для любого файла (?)
HKEY_CLASSES_ROOT\*\shellex
 
в) для файла конкретного разширения (для примера - LBD от слова "лабуда")
HKEY_CURRENT_USER\Software\Classes
имя - по умолчанию
тип - REG_SZ
значение - Файл "LBD"
 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lbd
смотри  
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lbd\OpenWithList
и
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lbd\OpenWithProgids
 
а вообще - создай свое расширение, свойство папки, типы файлов, добавить. добавь все действи я нужные и пройдись поиском по реестру

----------
Истина внимательно выслушивает спорящих... вздыхает и уходит.

Всего записей: 1987 | Зарегистр. 19-09-2001 | Отправлено: 00:18 04-08-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
moonrise

Цитата:
а вообще - создай свое расширение, свойство папки, типы файлов, добавить. добавь все действи я нужные и пройдись поиском по реестру

Не совсем так, вернее совсем не так
В дельфи 3 был пример, как создать библиотеку, которая добавляла пункт меню Compile для файлов .dpr. Если Marinochka111 надо, пусть в ПМ даст мыло, я отошлю ей исходники, так как здесь их постить нет смысла.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:17 04-08-2005
moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Не совсем так, вернее совсем не так

вы хотите сказать, что указанный мною метод не работает? вторпой вопрос чем и как заносить эти ветки в реестр хочется делфями - право автора

----------
Истина внимательно выслушивает спорящих... вздыхает и уходит.

Всего записей: 1987 | Зарегистр. 19-09-2001 | Отправлено: 03:17 04-08-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
moonrise

Цитата:
вы хотите сказать, что указанный мною метод не работает?

Он сработает, но данный пункт будет появляться не только у папок, но и у файлов (если мне не изменяет память) если это не критично, то нет проблем.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 07:26 04-08-2005
Felan

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
moonrise

Цитата:
ThreadProcName;stdcall; - это обязательное, системнозарезервированное имя или там просто указывается имя процедуры, в которой создание компанента. К примеру MakeMyComp(s: string) ?

Честно говоря, я таким макаром никогда потоки не делал, я всегда TThread использовал, но сути это не менят.
 
stdcall это деректива компилятора, она обязательна, без нее не будет работать, потому, как параметры будут передаваться не правильно.
А ThreadProcName это имя любой процедуры, которая должна быть запущена в отдельном потоке, точнее любое имя процедуры.
 
Процедура сама по себе, кроме stdcall, самая обычная, в нутри нее так же могут быть функции, переменные, может создавать/удалять объекты и т.п.
 
Ну, хотя, если параметры туда сюда таскать будешь, то еще и синхронизацию надо бы обеспечить...
 
Вообще, думаю тебе надо почитать вот это http://www.pergolesi.demon.co.uk/prog/threads/ToC.html
 

Всего записей: 58 | Зарегистр. 04-03-2003 | Отправлено: 10:12 04-08-2005
Kr_Alex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не знаю куда вопрос задать, поэтому сюда
Использую suiMainMenu, появилась такая проблема - нажимаю на первый пункт меню, а подменю появляется гд то в стороне (около последнего пункта меню). После чего это произошло - не знаю. Может кто сталкивался, как избавиться то?

Всего записей: 120 | Зарегистр. 16-07-2004 | Отправлено: 13:00 05-08-2005
Xarde



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kr_Alex
Собственную отрисовку пунктов меню не делал? Я как-то решил рисовать их самостоятельно и получил именно такой эффект - "съезжание" отрисовки в неопределенном направлении. Уже не помню, чем поправил, но рисовал все равно сам.

Всего записей: 266 | Зарегистр. 06-07-2003 | Отправлено: 15:17 05-08-2005
Kr_Alex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xarde
Оказалось баг в версии 5.8 наблюдается при Maximize формы
В версии 5.2 этого нет.
Вот так вот
 
Добавлено:
Xarde
Для образования, как собственную прорисовку делать?

Всего записей: 120 | Зарегистр. 16-07-2004 | Отправлено: 17:02 05-08-2005
moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Он сработает, но данный пункт будет появляться не только у папок, но и у файлов (если мне не изменяет память) если это не критично, то нет проблем.

так там дже написано отдельно для дирректорий, отдельно для опр. расширения.. хотя могу путать.. не столь важно решений предложено несколько, захочет - выберет.
 
Добавлено:
Felan
сегодня попробую "добить" фтп-бота.. а ссылку... не уверен, что столько на инглише осилю, нео попробую
 
Добавлено:
зараБОТало ))) всем большой спасиб.. теперь осталось все куски вместе склеить. но это дело техники
 
еще вопрос из другой области...
имеется ipкамера из нее идет поток данных...
как TMemoStream преобразовать в Tstream ?

----------
Истина внимательно выслушивает спорящих... вздыхает и уходит.

Всего записей: 1987 | Зарегистр. 19-09-2001 | Отправлено: 20:16 05-08-2005
EvSeKo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, у меня вопрос.
Я пишу консольную прогу, которая решает СЛАУ итерационным методом. Системы бывают очень большими и порядок точности тоже немаленький, поэтому процесс может затянуться на долгое время. А теперь вопрос, как во время цикла узнать что была нажата клавиша, чтобы приостановить процесс? Я знаю, что в паскале есть функции keypressed и readkey, а в делфи их не оказалось. Народ, кто знает как решить эту проблему? Заранее благодарен.
 
Добавлено:
Проблема решена. Как я сразу не догадался? Нужно было просто скопировать эти функции из паскаля(CRT) и немного подправить.

Всего записей: 68 | Зарегистр. 22-06-2005 | Отправлено: 06:09 06-08-2005
moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EvSeKo

Цитата:
А теперь вопрос, как во время цикла узнать что была нажата клавиша, чтобы приостановить процесс? Я знаю, что в паскале есть функции keypressed и readkey, а в делфи их не оказалось.  Народ, кто знает как решить эту проблему? Заранее благодарен.

а) в конце цикла ставишь вызов процедуры ProcessMessages;
б) procedure KeyPress(var Key: Char); dynamic;
или событие (на примере формы) procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

----------
Истина внимательно выслушивает спорящих... вздыхает и уходит.

Всего записей: 1987 | Зарегистр. 19-09-2001 | Отправлено: 10:13 06-08-2005
2Polkan



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, помогите ньюбу :). Чем отличается Форма от Фрейма? Если мне нужно окно для ввода данных через Edit, лучше сделать это на форме или фрейме?

Всего записей: 435 | Зарегистр. 20-11-2004 | Отправлено: 11:15 06-08-2005
moonrise



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
еще вопрос:
обновил инди с 9 на indy10.0.76_d7.exe
 
а) пропал метод onSystem
б) думал что вместо него - ServerStatsReceived. но при добавлении выдается ошибка на ОПИСАНИЕ процедуры:
[Error] Unit1.pas(13): Undeclared identifier: 'TIdContext'
в) метод onNiotice визуально есть, но при даблклике выдается окошко, что метод не поддерживается
 
Добавлено:
2Polkan

Цитата:
Люди, помогите ньюбу . Чем отличается Форма от Фрейма? Если мне нужно окно для ввода данных через Edit, лучше сделать это на форме или фрейме?

фрейм для мультиоконных приложений (кажется)

----------
Истина внимательно выслушивает спорящих... вздыхает и уходит.

Всего записей: 1987 | Зарегистр. 19-09-2001 | Отправлено: 12:26 06-08-2005 | Исправлено: moonrise, 13:45 06-08-2005
Xarde



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Polkan
Форма - это окно приложения. На ней могут располагаться любые компоненты, включая и фреймы.
Фрейм тоже может содержать различные компоненты и внешне похож на форму. Но нужен для того, чтобы оптимизировать процесс разработки. Если у тебя есть на многих формах, скажем по лабеле с эдитой, причем расположены они всегда в одном месте и обрабатываются везде одинаково, то здесь самое место для фрейма. Ложишь лабелу с эдитой на фрейм, а на формы ложишь уже сам фрейм. Что это дает? Обработку событий лабелы с эдитой ты пишешь всего один раз - для фрейма.
Что же касается твоего случая, то ответ прост - если всегда будетя вызываться одно окно, то делай форму, если же кроме этого окна есть куда еще положить такую эдиту - делай фрейм.

Всего записей: 266 | Зарегистр. 06-07-2003 | Отправлено: 17:55 06-08-2005
Andy_Solo



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как добиться отладки приложений ASP.NET в Delphi 2005. При запуске появляется ошибка:
"Unable to start debugging on the web server. Unable to attach to ASP.NET worker process (typically aspnet_wp.exe or w3wp.exe)"

Всего записей: 539 | Зарегистр. 06-08-2003 | Отправлено: 16:34 11-08-2005
Zakalve

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения за возможно наивный вопрос.
 
Требуется вводить некий текст с маской в компоненте Edit либо MaskEdit.
 
MaskEdit не устраивает по нескольким причинам:
1. Фиксированое количество символов.
2. Требует вводить символ для пустых мест (Blank), что довольно некрасиво выглядит.
 
Пробовал писать некие проверки для компонента Edit, но не совсем понятно на какой event их вешать, потому что OnKeyDown, OnKeyPress и OnKeyUp не блокируют неправильный символ, а стирают после написания.
 
Заранее спасибо.

Всего записей: 2 | Зарегистр. 11-08-2005 | Отправлено: 19:05 11-08-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zakalve

Цитата:
Требуется вводить некий текст с маской в компоненте Edit либо MaskEdit.


Цитата:
MaskEdit не устраивает по нескольким причинам:  
1. Фиксированое количество символов.

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

Цитата:
Пробовал писать некие проверки для компонента Edit, но не совсем понятно на какой event их вешать, потому что OnKeyDown, OnKeyPress и OnKeyUp не блокируют неправильный символ, а стирают после написания.

Ты уверен, что правильно все обрабатывал?  
вот моя обработка OnKeyPress и каждый раз когда юзер нажимает a в едите появляется b

Цитата:
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
        if Key='a' then Key:='b';
end;
 



----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:18 12-08-2005
Felan

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zakalve
Вариант крайне сырой, но можно так:
 
procedure TfrmProgCFG.lbeBaseMCAddrKeyPress(Sender: TObject;
  var Key: Char);
var
  Num: Integer;
begin
  Num := 0;
  if not (Key in ['0'..'9', #8]) then
    Key := #0;
  if not (TryStrToInt(lbeBaseMCAddr.Text + Key, Num)
    and (Num > 0) and (Num <= 120)) and (Key <> #8) then
      Key := #0;
end;

Всего записей: 58 | Зарегистр. 04-03-2003 | Отправлено: 10:20 12-08-2005
Zakalve

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2ShIvADeSt
Возможно действительно не совем коректно описал.
В компонент типа Edit (MaskEdit) необходимо вводить последовательности любой длины содержащие к примеру только цифры и 4 неких буквы, допутим X Y Z W.
MaskEdit вроде бы при установке маски требует точное количество, из скольки символов будет писаться строка.
А Edit на ивенте OnKeyPress вроде бы стирает символы неправильные а не не дает им  
писаться вообще. То есть если я нажму допустим не цифру и не XYZW, то он напишет ее в строке а потом отработав условие типа  
if not (Key in ['0'..'9', #8]) then  
сотрет ее. А требуется чтобы он вообще не давал писать символы, не предусмотренные правилами.

Всего записей: 2 | Зарегистр. 11-08-2005 | Отправлено: 11:05 14-08-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru