Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2007, 07:53   #21
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

Цитата:
Сообщение от Nez Посмотреть сообщение
А в заголовке так и написано REGMON, FileMON, artmoney?
Нет, Regmon -
Registry monitor - Sysinternals:www.sysinternals.com, сом, файл скорее всего вместо слова Registry - File, точно не могу сказать, где то успел ужуе грохнуть эту прогу, с Артмани - хуже
вот например у меня версия 6.06 установлена, (уже есть старше - точно знаю потому как где то инсталяция валялась, но давно непользовался) - Game Cheater ArtMoney v6.06, а вообще google, rambler... Писать защиту от чего то и не проверить как работает...
А вот насчет регистра не помню, найду гдето текст старой проги - напишу еще...
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 26.01.2007, 08:16   #22
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Отлично, вот тут по ходу написания появилась ещё одна проблема... Вобщем есть окно программы, так есть объект MEMO, нужно, чтобы Drag&Drop-ом можно было перетасчить файл определенного расширения в этот MEMO, ну и потом, получив ссылку на нужный файл, прога его могла обработать как нужно (это уже мои проблемы)....

И ещё вопрос, для того, чтобы СОЗДАТЬ пустой файл, достаточно просто использовать функцию assignfile(f,s) ?

Последний раз редактировалось zetrix; 27.01.2007 в 19:16.
Nez вне форума Ответить с цитированием
Старый 26.01.2007, 11:49   #23
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

1 вопрос пример модуля в аттаче
2.
1-й вариант:
assignfile ();
rewrite(file);
2-й вариант:
winapi:
createfile +f1
Вложения
Тип файла: zip 1.zip (2.0 Кб, 17 просмотров)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 26.01.2007, 12:05   #24
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

ОГРОМНОЕ спасибо.... Буду сидеть разбирать, вот только куча пояснений несколько мешает...

И ещё один очень ламерский вопрос, DIV - это остаток от деления?
Nez вне форума Ответить с цитированием
Старый 26.01.2007, 12:12   #25
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

именно так
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 26.01.2007, 12:20   #26
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Что-то не запускается программа...

procedure TForm2.FormCreate(Sender: TObject);
begin
OleInitialize(nil);
{Allow window to accept drop events}
OleCheck(RegisterDragDrop(Handle, Self));
{ Execute Wordpad for testing }
ShellExecute(Handle, 'open', 'wordpad', 'c:\Test.doc', nil, SW_SHOW);
end;

- вот в этой процедуре выделяет "красненьким" строку с OleCheck ...


А ошибку пишет вот какую:
[Warning] Unit2.pas(39): W1010 Method 'DragOver' hides virtual method of base type 'TControl'
[Error] Unit2.pas(78): E2010 Incompatible types: 'IDropTarget' and 'TForm2'

Я везде Form1 изменил на Form2... Потому что Memo у меня находится именно на Form2 ... Я правильно сделал?

Последний раз редактировалось zetrix; 27.01.2007 в 19:16.
Nez вне форума Ответить с цитированием
Старый 26.01.2007, 12:32   #27
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Опишу другой вариант проще:
Подключаем модуль ShellAPI в области uses
По созданию окна [событие OnCreate] пишем такой код:
Код:
DragAcceptFiles(Handle, true);
Когда вы перетаскиваете файл на своё приложение и отпускаете кнопку мыши, Windows посылает этому окну сообщение wm_DropFiles. Сообщение сопровождается именем файла. Обработчик этого сообщения нужно включить в раздел protected класса формы. Вставьте следующий код:
Код:
protected
  procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;
Далее обрабатываем сообщение:
Код:
procedure TForm1.WMDropFiles(var Msg: TMessage);
var
  FileName: array[0..256] of char;
begin
  DragQueryFile(THandle(Msg.WParam), 0, FileName, SizeOf(Filename));
  Memo1.Lines.LoadFromFile(FileName);
  DragFinish(THandle(Msg.WParam));
end;
или так:



Код:
procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
  i, amount, size: integer;
  Filename: PChar;
begin
  inherited;
  Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amount - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);
    listbox1.items.add(StrPas(Filename));
    StrDispose(Filename);
  end;
  DragFinish(Msg.WParam);
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 26.01.2007, 13:00   #28
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

Цитата:
И ещё один очень ламерский вопрос, DIV - это остаток от деления?
DIV - это не остаток от деления! Остаток от деления - MOD, а DIV - деление нацело.
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума Ответить с цитированием
Старый 26.01.2007, 14:04   #29
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Квенди, это ты пишешь как дополнение к предидущему прикрепленному файлу или просто всё по новой?

первый код надо сразу писать под

uses
ShellAPI
?

Вопрос 2: Где искать раздел protected? Что-то нигде его не нахожу

Вопрос3: Вот тупо скопировав код процедуры обработки перетаскивания что я получу? Мне нужно "хитрым" бразом обработать содержимое перетащенного файла и затем раскидать его по разным полям... Куда я смогу писать свой код и где переменная, отвечающая за путь к файлу? Вообще по сути мне нужно только перехватить путь к файлу и всё.... И сразу же после отпускания кнопки мыши обработать его содержимое...

Спасибо.
Nez вне форума Ответить с цитированием
Старый 26.01.2007, 14:09   #30
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Второй код не имеет ничего общего с первым аттачем .
2. Допиши зарезирвированное слово protected в описании класса формы :

type
Tftest = class(TForm)
protected
{procedure}

private
{ Private declarations }
public
{ Public declarations }
end;

Далее в процедуре:

procedure TForm1.WMDropFiles(var Msg: TMessage);
var
FileName: array[0..256] of char;
begin
DragQueryFile(THandle(Msg.WParam), 0, FileName, SizeOf(Filename));
{
Здесь делаешь все что тебе необходимо с файлом
}
DragFinish(THandle(Msg.WParam));
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов Зубоскалик Общие вопросы Delphi 14 20.11.2008 14:28
Несколько вопросов по VBA Graveyard Microsoft Office Excel 6 27.08.2008 08:50
Код и несколько вопросов artemavd Общие вопросы Delphi 18 20.08.2008 10:51
несколько вопросов по RichEdit TaTT DoGG Компоненты Delphi 4 27.05.2008 10:57
Несколько Вопросов Дорст Общие вопросы Delphi 3 12.11.2007 09:18