diff --git a/Project1.cbproj b/Project1.cbproj index fb2cabf..3293630 100644 --- a/Project1.cbproj +++ b/Project1.cbproj @@ -128,7 +128,6 @@ true PerMonitorV2 rtl.bpi;fmx.bpi - <_TCHARMapping>char true 1033 false @@ -208,11 +207,16 @@ true - + true + + + true + + true @@ -228,11 +232,6 @@ true - - - true - - true @@ -285,7 +284,7 @@ true - + true diff --git a/Project1.cbproj.local b/Project1.cbproj.local index 6f5b5ce..28b8325 100644 --- a/Project1.cbproj.local +++ b/Project1.cbproj.local @@ -7,10 +7,10 @@ 2022/04/27 13:14:52.000.156,=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.cpp 2022/04/29 11:55:29.000.785,=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.cpp 2022/04/29 11:55:30.000.866,=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Project1PCH1.h - 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.fmx=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.fmx - 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.h=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.h - 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.cpp=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.cpp - 2022/04/29 12:01:51.000.704,C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Project1PCH1.h=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Project1PCH1.h - 2022/04/29 12:01:53.000.604,C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Project1.cbproj=C:\Users\nao\Documents\Embarcadero\Studio\Projects\Project1.cbproj + 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.fmx=C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.fmx + 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.h=C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.h + 2022/04/29 12:01:48.000.306,C:\Users\nao\Documents\Embarcadero\Studio\Projects\Unit1.cpp=C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Unit1.cpp + 2022/04/29 12:01:51.000.704,C:\Users\nao\Documents\Embarcadero\Studio\Projects\Project1PCH1.h=C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Project1PCH1.h + 2022/04/29 12:01:53.000.604,C:\Users\nao\Documents\Embarcadero\Studio\Projects\Project1.cbproj=C:\Users\nao\Documents\Embarcadero\Studio\Projects\kuse-dd\Project1.cbproj diff --git a/Unit1.cpp b/Unit1.cpp index ac84060..6617d86 100644 --- a/Unit1.cpp +++ b/Unit1.cpp @@ -4,6 +4,11 @@ #pragma hdrstop #include #include +#include +#include +#include +#include + #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) @@ -19,6 +24,8 @@ #error Not a supported platform #endif +std::vector filenames; + TForm1 *Form1; //--------------------------------------------------------------------------- @@ -50,7 +57,12 @@ void __fastcall TForm1::msg_hnd(TWMDropFiles Msg) long m_OldWndProc; +/* + const unsigned int count = DragQueryFile((HDROP)Message.Drop, -1, NULL, 0); + for (unsigned int i = 0; i < count; ++i) + { +*/ LRESULT CALLBACK WndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) { @@ -63,18 +75,20 @@ LRESULT CALLBACK WndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) //ShowMessage("drop files fired and catched"); - count=DragQueryFile((HDROP)wParam, 0xFFFFFFFF, NULL, 255); - DragQueryFile((HDROP)wParam, 0, fname, 255); - ///ファイル処理(fname); - Form1->Memo1->Lines->Add(fname); - if (count>1) { - for(i=1;iMemo1->Lines->Add(fname); - } - } - DragFinish((HDROP)wParam); + const unsigned int count = DragQueryFile((HDROP)wParam,-1,NULL,0); + for( unsigned int i = 0 ; i < count ; ++i ){ + const unsigned int length = DragQueryFile((HDROP)wParam, i, NULL, 0); + std::unique_ptr filename(new wchar_t[length + 1]); + + //ドロップされたファイルの名前を取得する + DragQueryFile((HDROP)wParam, i, filename.get(), length + 1); + AnsiString temp; + temp = filename.get(); + //Form1->Memo1->Lines->Add(temp); + filenames.push_back(temp); + + + } } @@ -102,3 +116,14 @@ void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) SetWindowLongPtr(m_Hwnd,Parm,m_OldWndProc); } +void __fastcall TForm1::Button1Click(TObject *Sender) +{ + // dump file names to Memo1 + //using iterator + + for( auto index = filenames.begin() ; index != filenames.end() ; index++ ) + Memo1->Lines->Add(*index); + +} +//--------------------------------------------------------------------------- + diff --git a/Unit1.fmx b/Unit1.fmx index 99c7663..1409767 100644 --- a/Unit1.fmx +++ b/Unit1.fmx @@ -21,4 +21,11 @@ object Form1: TForm1 Viewport.Width = 341.000000000000000000 Viewport.Height = 325.000000000000000000 end + object Button1: TButton + Position.X = 496.000000000000000000 + Position.Y = 352.000000000000000000 + TabOrder = 3 + Text = 'Button1' + OnClick = Button1Click + end end diff --git a/Unit1.h b/Unit1.h index cc088b8..8663868 100644 --- a/Unit1.h +++ b/Unit1.h @@ -12,14 +12,17 @@ #include #include #include +#include //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE で管理されるコンポーネント TMemo *Memo1; + TButton *Button1; // void __fastcall FormDestroy(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); + void __fastcall Button1Click(TObject *Sender); private: // ユーザー宣言