Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Drag and Drop, Как открыть файл перетаскиванием :) 
:(
    Опции темы
pashokq
  Дата 25.2.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 30.8.2007

Репутация: нет
Всего: нет



Люди, помогите пишу прогу элементарную до немогу  smile 
Дело вот в чем, я открываю тестовый файл в Memo, выбираю файл с помощью диалога "открытия файла", все работает и хорошо, НО НУЖНО ЧТОБЫ ПРОГРАММА ОТКРЫВАЛА ФАЙЛ ПРОСТЫМ ПЕРЕТАСКИВАНИЕМ ЕГО (т.е. фала) В ОКНО или НА ЗНАЧЕК ФАЙЛА. Как моно это реализовать посоветуйте чайнику smile 
PM MAIL   Вверх
MetalFan
Дата 25.2.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(pashokq @  25.2.2008,  16:41 Найти цитируемый пост)
НО НУЖНО ЧТОБЫ ПРОГРАММА ОТКРЫВАЛА ФАЙЛ ПРОСТЫМ ПЕРЕТАСКИВАНИЕМ ЕГО (т.е. фала) В ОКНО или НА ЗНАЧЕК ФАЙЛА

1. некрасиво "кричать". хочешь подчеркнуть мысль - для этого есть курсив, жирый или подчеркнутый шрифт
2. получение списка "дропнутых" в окно файлов есть  в факах
3. при дропе на "значек файла" дропнутый файл afaik передается через командную строку (см. ParamStr,ParamStrCount)
факи - дркб или DW

Это сообщение отредактировал(а) MetalFan - 25.2.2008, 17:15


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
EvilsInterrupt
Дата 25.2.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



ЗЫ:
Цитата

для этого есть курсив, жирый

мля, все перерыл, но курсива "жирый" не нашел ((( Может плохо искал?
PM MAIL WWW ICQ Jabber   Вверх
MetalFan
Дата 25.2.2008, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(EvilsInterrupt @  25.2.2008,  18:14 Найти цитируемый пост)
но курсива "жирый"

это ты к чему?

Это сообщение отредактировал(а) MetalFan - 25.2.2008, 20:40


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Sanchezzz
  Дата 25.2.2008, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



действительно плохо искал 
...
Код

 protected
  procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;

procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
Filename: PChar;
i, amo, size: integer;
begin
  inherited;
  Amo := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amo - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);

    Memo1.Lines.LoadFromFile(StrPas(Filename))

  end;
  DragFinish(Msg.WParam);
end;






--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
MetalFan
Дата 25.2.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Sanchezzz, можно и проще, с использованием только AnsiString


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ivan219
  Дата 25.2.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    procedure DropFiles(var Message: TWMDROPFILES); message WM_DROPFILES;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DropFiles(var Message: TWMDROPFILES);
var
  buffer : array[0..255] of char; // Путь к файлу
begin
 Inherited;
 DragQueryFile(Message.Drop, 0, @buffer, sizeof(buffer));
 Memo1.Lines.LoadFromFile(buffer);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 DragAcceptFiles(Handle, True);
end;

end.



Это сообщение отредактировал(а) ivan219 - 25.2.2008, 23:52
PM MAIL ICQ   Вверх
pashokq
Дата 26.2.2008, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 30.8.2007

Репутация: нет
Всего: нет



Цитата(Sanchezzz @ 25.2.2008,  20:50)
действительно плохо искал 
...
Код

 protected
  procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;

procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
Filename: PChar;
i, amo, size: integer;
begin
  inherited;
  Amo := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amo - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);

    Memo1.Lines.LoadFromFile(StrPas(Filename))

  end;
  DragFinish(Msg.WParam);
end;


Спасибо тебе большое. Очень помог smile

Добавлено через 1 минуту и 7 секунд
Цитата(pashokq @ 25.2.2008,  16:41)
Люди, помогите пишу прогу элементарную до немогу  smile 
Дело вот в чем, я открываю тестовый файл в Memo, выбираю файл с помощью диалога "открытия файла", все работает и хорошо, НО НУЖНО ЧТОБЫ ПРОГРАММА ОТКРЫВАЛА ФАЙЛ ПРОСТЫМ ПЕРЕТАСКИВАНИЕМ ЕГО (т.е. фала) В ОКНО или НА ЗНАЧЕК ФАЙЛА. Как моно это реализовать посоветуйте чайнику smile

Спасибки все, проблема решена УРА!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.