Перейти на главную страницу сайта
Сделать закладку на наш сайтСделать ЧКС стартовой страницейНаписать письмо в администрацию ЧКС

( | )

2 V   1 2 >  
Ответить в эту темуОткрыть новую тему
Вопрос по Delphi
V
archangel
07.11.2007, 17:54
#1


Домовой


Администратор
3688
24-December 06
Chuguev
3008



У меня возник вопрос: можно ли с помощью делфи создать прогу, которая запрещала бы чтобы её копировали. И если да, то подскажите как это сделать.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
S_T_A_S
07.11.2007, 18:33
#2


Правильным путем идете
**********

Форумчанин
1089
27-July 07
Чугуев
6847



(Arhangel @ 07.11.2007, 17:54) *
У меня возник вопрос: можно ли с помощью делфи создать прогу, которая запрещала бы чтобы её копировали. И если да, то подскажите как это сделать.

не знаю как с прогой но видео я так делал нельзя было: переименовать, включить переместить скопировать. В это я в свойствах изменял чтобы только мой пользователь и на моём компе его можно было открыть и ещё че то в администрировании. Переустановил винду и ничего с ним я не смог сделать ни какие взломщики его не брали пришлось форматнуть диск D
Так что Архангел полазь в свойствах!


--------------------
ПрАшу прАСЩЬениЙА за свАю АрфАграфиЙУ
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
07.11.2007, 19:35
#3


Домовой


Администратор
3688
24-December 06
Chuguev
3008



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


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
07.11.2007, 19:35
#4


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Сделать помоему можно, но прога должна быть все время запущена. Тоесть стартовать при запуске системы, и тихо себе висеть в процессах. Иначе и правда попробовать настроить винду.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
08.11.2007, 18:45
#5


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Народ, так что никто не знает?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
08.11.2007, 19:08
#6


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Ты бы определился сначала что тебе надо. Например подойдет тебе предложенный мною вариант?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
08.11.2007, 19:10
#7


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Нет. Такой вариант мне не подходит. Это крайний случай.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.11.2007, 00:23
#8


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Ещё один вопрос

Как сделать обработку событий для прокрутки колеса мыши ?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
17.11.2007, 19:04
#9


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Значит так:
1. Открываем папку с учебниками по делфи.
2. Ищем там "Delphi Russian Knowledge Base".
3. Вводим в строку поиска "колесико", потом "Wheel".
4. Видим пример с использованием WM_MOUSEWHEEL. Берем его на заметку.
5. Запускаем делфи. Изучаем события формы и TApplicationEvents.
6. Находим событие OnMouseWheel. Устанавливаем на него курсор, смело жмем F1.
7. Аналогично поступаем с OnMouseWheelDown и OnMouseWheelUp.
8. Если до сих пор непонятно, смотрим демку:  MouseWheel.zip ( 197.98 ) : 163


P.S. На все это тратим 5 минут (на написание этого ответа ушло 25).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.11.2007, 23:10
#10


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Спасибо. Уже разобрался. Теперь думаю ещё над одной задачкой. smile.gif



--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
05.02.2008, 17:40
#11


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Я вот уже несколько дней никак не могу сообразить как сделать так, чтобы моя программы всегда была поверх всех окон. Подскажите пожалуйста как это сделать.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
07.02.2008, 15:17
#12


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



У формы есть свойство FormStyle, это раз. У объекта Application есть метод RestoreTopMosts, который желательно вызывать в таймере раз в 5 минут, это два. Ставим мышку на TForm и жмем F1, это три. Если есть какие-то проблемы с переводом, можно юзать Lingvo. wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
07.02.2008, 16:51
#13


Домовой


Администратор
3688
24-December 06
Chuguev
3008



(Vedmak @ 07.02.2008, 15:17) *
У формы есть свойство FormStyle, это раз.

Это мне не подходит, не всегда форма поверх всех окон.
(Vedmak @ 07.02.2008, 15:17) *
У объекта Application есть метод RestoreTopMosts, который желательно вызывать в таймере раз в 5 минут, это два.

А про это если можно, то чуточку подробнее.

(Vedmak @ 07.02.2008, 15:17) *
Ставим мышку на TForm и жмем F1, это три. Если есть какие-то проблемы с переводом, можно юзать Lingvo. wink.gif

И получаю: "Loading Online Help...", а интернета у меня нет smile.gif


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
UkrZilla
07.02.2008, 18:38
#14


Супер-пупер-мега балабол
***********

ЧKС
1623
13-March 06
577



Учите WinAPI!
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, Form1.Width, Form1.Height, 0);
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
07.02.2008, 19:03
#15


Домовой


Администратор
3688
24-December 06
Chuguev
3008



(UkrZilla @ 07.02.2008, 18:38) *
Учите WinAPI!

С удовольствием. А не будите ли вы настолько любезны, что подбросите мне учебничек по WinAPI ?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
UkrZilla
07.02.2008, 20:06
#16


Супер-пупер-мега балабол
***********

ЧKС
1623
13-March 06
577



(Arhangel @ 07.02.2008, 19:03) *
С удовольствием. А не будите ли вы настолько любезны, что подбросите мне учебничек по WinAPI ?

MSDN
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
07.02.2008, 22:41
#17


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



UkrZilla у парня вообщето интернета нет, а вы его в MSDN тыкаете. Кроме того вопрос был все же по Delphi wink.gif
Arhangel по WinAPI у меня на хабе есть пара книжек вроде. Хотя в справке информация полнее и новее должна быть. Кстати справку можно настроить на работу в офлайне.
Итак по сути: для начала нужно выставить нужным образом FormStyle. Но любое виндовое сообщение типа MessageDlg собьет это состояние. Поэтому и надо переодически вызывать RestoreTopMosts, чтобы снова поднять форму наверх в соответствии с FormStyle.
Кстати, если не ошибаюсь эта функция вызывает все тот же SetWindowPos.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
UkrZilla
08.02.2008, 00:40
#18


Супер-пупер-мега балабол
***********

ЧKС
1623
13-March 06
577



(Vedmak @ 07.02.2008, 22:41) *
UkrZilla у парня вообщето интернета нет, а вы его в MSDN тыкаете. Кроме того вопрос был все же по Delphi wink.gif
Arhangel по WinAPI у меня на хабе есть пара книжек вроде. Хотя в справке информация полнее и новее должна быть. Кстати справку можно настроить на работу в офлайне.
Итак по сути: для начала нужно выставить нужным образом FormStyle. Но любое виндовое сообщение типа MessageDlg собьет это состояние. Поэтому и надо переодически вызывать RestoreTopMosts, чтобы снова поднять форму наверх в соответствии с FormStyle.
Кстати, если не ошибаюсь эта функция вызывает все тот же SetWindowPos.

MSDN распространяется официально на дисках, т.е. существует полная оффлайн-версия. Я никого никуда не тыкал. Лучшая последняя версия была от 2000 года на 4 дисках, лежит у меня на полке.
Delphi - среда разработки приложений под ОС Windows, где официальный интерфейс взаимодействия приложений с ОС - WinAPI.
Разве мой вариант одной строчкой не помог?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
08.02.2008, 10:44
#19


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Если уж на то пошло, то в Application.RestoreTopMosts это реализовано так:
SetWindowPos(HWND(FTopMostList[I]), HWND_TOPMOST, 0, 0, 0, 0,
  SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER);

Но зачем делать в ручную то, что уже реализовано в VCL?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
UkrZilla
08.02.2008, 17:52
#20


Супер-пупер-мега балабол
***********

ЧKС
1623
13-March 06
577



(Vedmak @ 08.02.2008, 10:44) *
Если уж на то пошло, то в Application.RestoreTopMosts это реализовано так:
SetWindowPos(HWND(FTopMostList[I]), HWND_TOPMOST, 0, 0, 0, 0,
  SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER);

Боюсь что это там так не реализовано, иначе бы ваше окно: не двигалось, не изменяло бы размеры и не было бы активным и к тому же состояло из одного заголовка: ширина и высота 0.
Вот свойство формы FormStyle=fsStayOnTop реализует то что нужно.
(Vedmak @ 08.02.2008, 10:44) *
Но зачем делать в ручную то, что уже реализовано в VCL?

Чтобы знать как все реализовано wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
08.02.2008, 22:13
#21


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Знать надо, не спорю. Кстати вот что у меня в справочнике написано:
...
SWP_NOMOVE сохраняет текущую позицию, т. е. игнорирует параметры X и Y
SWP_NOSIZE сохраняет текущий размер окна, т. е. игнорирует параметры cx и cy
SWP_NOACTIVATE при перемещении не активизирует окно
SWP_NOOWNERZORDER сохраняет позицию окна владельца по оси Z
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
01.03.2008, 19:17
#22


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Внимание всем, кто качал у меня RAD Studio 2007: CodeGear выпустил второй апдейт для справки - основного документа любого Delphi-на. Брать все там же - у меня в хабе.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
01.03.2008, 21:43
#23


Домовой


Администратор
3688
24-December 06
Chuguev
3008



А где именно он находится?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
13.03.2008, 22:45
#24


Домовой


Администратор
3688
24-December 06
Chuguev
3008



(Vedmak @ 01.03.2008, 20:17) *
Внимание всем, кто качал у меня RAD Studio 2007: CodeGear выпустил второй апдейт для справки - основного документа любого Delphi-на. Брать все там же - у меня в хабе.

Вот у меня возник ещё один вопрос. Этот апгрейд можно ставить сразу же после установки RAD Studio 2007 или сначала нужно установить первый апгрейд?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
14.03.2008, 20:11
#25


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Нет, не надо. А вообще в ридми написано, что при установке студии достаточно заменить файлы ее дистрибутива файлами из апдейта.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
14.03.2008, 20:44
#26


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Ой а рид я не качал sad.gif

Собственно а теперь вопрос по сути темы.

Если кто-то знает, то подскажите как мне сделать следующее.
У меня некая программа, мне нужно чтобы по нажатию кнопки в Memo1 копировалось название песни которая сейчас играет в Winamp.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 00:27
#27


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Ну пожалуйста помогите, очень надо.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
17.03.2008, 14:45
#28


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



В соседнем топике я уже выкладывал один sdk для винампа. Вот второй:  winamp_sdk_0.9.zip ( 32.14 ) : 116
(На самом деле архив - rar, но форум не дает их загружать). А вот исходник готового плагина, который пишет название текущей песни в статус QIP-а:  2qip_src.zip ( 49.9 ) : 127
(тоже rar). Не знаю поможет вам это или нет. Конечно простейший вариант если бы винамп писал название текущей песни в заголовок окна.
Больше ничем помочь не могу т к winamp не использую.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 15:23
#29


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Спасибо, буду разбираться, может и найду то, что мне поможет


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 16:04
#30


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Еще у меня есть такой вопросик: Какую программу посоветуете для создания файлов ресурсов *.res ? А то brcc32.exe у меня не запускается sad.gif


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
17.03.2008, 17:39
#31


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



brcc32.exe штука консольная, может вы от него окошка ждете? А вообще рекомендую Restorator.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 18:26
#32


Домовой


Администратор
3688
24-December 06
Chuguev
3008



При его запуске выдает ошибку sad.gif . А за Restorator спасибо хорошая программа.

И еще одно. Вот часть кода
procedure TProgra.knopka_soxranitClick(Sender: TObject);
var
  tex:string;
  fi : text;
begin
  if CheckBox_poverh.Checked=true then
    begin
      tex:='1';
      memo2.Lines.Add(tex);
      memo2.lines.SaveToFile(SaveTextFileDialog2.FileName);
    end
  else if CheckBox_poverh.Checked=false then
    begin
      tex:='0';
      assign (fi, 'save.txt');
      rewrite(fi);
      write(fi,tex);
    end;
end;
Постоянно выкидывает ошибку. Что я не правильно написал? Хотя можно обойтись и без раскалевского кода, но хочется сделать именно так, но не получается.



--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
17.03.2008, 19:29
#33


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Что за ошибка и в какой строке?

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
powerslave
17.03.2008, 20:37
#34


Заcлуженный постер
***********

ЧKС
1812
29-July 05
Україна, Харків
305



Навскидку - задан ли SaveTextFileDialog2.FileName?
файл кто будет закрывать?


--------------------
Клявіятурте розум,почуття і волю
клявіятурте!

Не хватайте озлоблених у тюрми: вони
самі
собі тюрма.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 21:04
#35


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Ошибка в
fi : text;
и
assign (fi, 'save.txt');
поставил закрытие но не помогло.

Навскидку - задан ли SaveTextFileDialog2.FileName?
Задано


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
17.03.2008, 22:34
#36


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



А, ну да. Типа text в делфи нету, есть TextFile. Assign тоже заменен на AssignFile, а закрытие соответственно по CloseFile.
P.S. В данном случае выражение "if CheckBox_poverh.Checked=false then" не имеет смысла. Т к CheckBox_poverh.Checked может быть или True или False. Значит все что после else будет выполнено только когда CheckBox_poverh.Checked=false.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
17.03.2008, 22:46
#37


Домовой


Администратор
3688
24-December 06
Chuguev
3008



clap2.gif Спасибочки помогло smile.gif


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
18.03.2008, 15:48
#38


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Впервые понадобилось разделить пункты в MainMenu горизонтальной линией. Как мне это организовать?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
powerslave
18.03.2008, 16:11
#39


Заcлуженный постер
***********

ЧKС
1812
29-July 05
Україна, Харків
305



Вставляешь пункт с названием "-" (минус).


--------------------
Клявіятурте розум,почуття і волю
клявіятурте!

Не хватайте озлоблених у тюрми: вони
самі
собі тюрма.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
18.03.2008, 16:28
#40


Домовой


Администратор
3688
24-December 06
Chuguev
3008



blin.gif от же шь блин а я себе голову морочил. Спасибо за совет и подсказку в одном лице.


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
20.03.2008, 18:16
#41


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Я наверное последним временем надоел уже вам с вопросами. Но мне нужна ещё одна подсказка. Как проверит существует определенный файл или нет?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
20.03.2008, 19:41
#42


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Попробуй FileExists.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
20.03.2008, 19:58
#43


Домовой


Администратор
3688
24-December 06
Chuguev
3008



? А можно чуточку подробнее?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
20.03.2008, 22:00
#44


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



Ну глянь в справку. Этой функции передаёшь строку - путь и имя файла, если он существует, получишь True.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
22.03.2008, 07:59
#45


Домовой


Администратор
3688
24-December 06
Chuguev
3008



Наконец попробовал это способ и помогло. Большое спасибо.



--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
21.04.2008, 20:23
#46


Домовой


Администратор
3688
24-December 06
Chuguev
3008



как присвоить некой переменной числовую строку из memo ?


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
powerslave
21.04.2008, 20:31
#47


Заcлуженный постер
***********

ЧKС
1812
29-July 05
Україна, Харків
305



Если я не ошибаюсь, то в мемо все храниться в одной строковой переменной.
Можно разделить эту строку на несколько по символам конца строки.
Потом получившуюся подстроку StrToFloat.


--------------------
Клявіятурте розум,почуття і волю
клявіятурте!

Не хватайте озлоблених у тюрми: вони
самі
собі тюрма.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
archangel
21.04.2008, 20:37
#48


Домовой


Администратор
3688
24-December 06
Chuguev
3008



сейчас попробуем


--------------------

P.S. Искренне Ваш Вячеслав
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Vedmak
11.06.2008, 19:06
#49


Я не читатель, я писатель!
*******

ЧKС
371
15-February 07
3934



http://www.delphikingdom.com/asp/winners.asp?BonusID=10
Эх, а так хотелось получить лавровый венок и щит к своему нику crybaby.gif
P.S. Там мой ник Torbins.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
HakMax
22.06.2008, 18:17
#50


Кто на новенького
**

Форумчанин
16
19-August 06
1397



(Arhangel @ 07.11.2007, 18:54) *
У меня возник вопрос: можно ли с помощью делфи создать прогу, которая запрещала бы чтобы её копировали. И если да, то подскажите как это сделать.


Попробуй через драйвер, или DLL (на счет второго не уверен), вобщем идея следующая: отлавливать системные события копирывания. Сам не пробывал, так что это всего лишь догадка.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 V   1 2 >
Ответить в эту темуОткрыть новую тему
()

 

: · ·

· · ·

RSS : 28th March 2024 - 19:24
Ошибка работы драйвера БД

Ошибка при работе с базой данных

Возникла проблема при работе с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда