Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi XE6 Professional/Enterprise/Ultimate/Architect エディション(トライアル版有)
64bit Windows、Mac OS XからiOS、Androidのアプリも開発可能。ライブラリのソースコード付き。アカデミックライセンス有り。
旧バージョン(XE6/5/4/3/2/XE/2010/2009/2007/Delphi 7)のライセンス取得とダウンロードが可能。(アカデミック不可)
ttp://www.embarcadero.com/jp/products/delphi
■Delphi XE6 Starter エディション
個人/5人以下の企業・組織向け。年間売上1000US$以内の商用開発可。
(※)Delphi、Visual Studio等の有償/無償の開発ツールユーザーが対象。インストール確認は特に行わない。
ttp://www.embarcadero.com/jp/products/delphi/starter
■Embarcadero RAD Studio XE6 (Delphi、C++Builder、HTML5 Builder等を含むビジュアル開発スイート)
ttp://www.embarcadero.com/jp/products/rad-studio
<前スレ>
くだすれDelphi(超初心者用)その56
http://echo.2ch.net/test/read.cgi/tech/1405783063/
<過去スレ>
DelWiki (Delphi 関連の過去スレッド)※行方不明
ttp://delwiki.info/?
探検
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2016/10/13(木) 13:21:54.84ID:7i5E+q2+400デフォルトの名無しさん
2017/11/07(火) 07:05:35.29ID:o3l3MYxT >>399
じゃあ行ってから試せ
じゃあ行ってから試せ
401デフォルトの名無しさん
2017/11/07(火) 21:49:52.73ID:5HoE4QmZ xcode9に対応した?
402デフォルトの名無しさん
2017/11/23(木) 12:24:47.52ID:H2oFoVNB firemonkeyって一度置いたコンポーネントって削除できないの?
403デフォルトの名無しさん
2017/11/23(木) 14:00:39.62ID:ATmHrlsw >>402
そんなバナナ
そんなバナナ
404デフォルトの名無しさん
2017/11/23(木) 14:01:03.28ID:ATmHrlsw 猿だけに…
405デフォルトの名無しさん
2017/11/23(木) 23:05:31.51ID:6erWI8jG .┌┐
/ /
./ / i
| ( ゜Д゜)
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
/ /
./ / i
| ( ゜Д゜)
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
406402
2017/11/24(金) 21:05:42.06ID:dHFHVjxQ imagelistを使うと削除できないみたいです。
選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.
これって返品で金返してくれないかな
選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.
これって返品で金返してくれないかな
407デフォルトの名無しさん
2017/11/24(金) 22:59:59.51ID:RyYb1gen >>406
うちではそんな現象出ないけどバージョンは?
うちではそんな現象出ないけどバージョンは?
408デフォルトの名無しさん
2017/11/25(土) 01:36:58.01ID:90SL+fWH >>406
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
409デフォルトの名無しさん
2017/11/25(土) 08:22:38.33ID:W59Kilfu すーぐ返金返金言うてからに
410402
2017/11/25(土) 09:22:54.97ID:2E3yXKzA 皆さ、レスありがとうございます。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
411デフォルトの名無しさん
2017/11/25(土) 09:23:27.60ID:O3o92heE 何か最近ヘルプ表示したままdelphi終了しようとすると
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない
心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない
心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
412デフォルトの名無しさん
2017/11/26(日) 16:50:58.14ID:JMtUYhzN firemonkeyで正規表現ってできる?
413デフォルトの名無しさん
2017/11/26(日) 17:35:26.15ID:wHZSWh0R >>412
できる
できる
414デフォルトの名無しさん
2017/11/26(日) 18:29:30.48ID:JMtUYhzN ググったけどdelphiの正規表現しか出てこないです。
サイトとか教えてください。
サイトとか教えてください。
415デフォルトの名無しさん
2017/11/26(日) 20:24:03.68ID:wHZSWh0R >>414
System.RegularExpressions
System.RegularExpressions
416デフォルトの名無しさん
2017/11/26(日) 21:19:52.87ID:JMtUYhzN 有難うございます。
417デフォルトの名無しさん
2017/11/30(木) 11:55:54.04ID:jryz1LGC TRegistryをもちいて、
レジストリの情報を拾いたいのですが、
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras
ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T
const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin
この後どうすればいいんでしょう?
Reg.GetValueNames(MEMO.Lines);
としてもMEMOには何もかえってこないのです。
レジストリの情報を拾いたいのですが、
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras
ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T
const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin
この後どうすればいいんでしょう?
Reg.GetValueNames(MEMO.Lines);
としてもMEMOには何もかえってこないのです。
418デフォルトの名無しさん
2017/11/30(木) 16:38:33.08ID:af+3x/Ty キーが違うようです。
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
419デフォルトの名無しさん
2017/11/30(木) 17:26:14.42ID:jryz1LGC420デフォルトの名無しさん
2017/12/08(金) 21:17:46.94ID:Gxx/XJ9D421デフォルトの名無しさん
2017/12/11(月) 15:09:59.51ID:r0biDCTF Calender、Japaneseもわかってない人は論外
422デフォルトの名無しさん
2017/12/12(火) 16:52:51.98ID:F4p+lHsn 昔あったdelphiのフリーコンポーネントを集めたサイトって無くなっちゃた?
423デフォルトの名無しさん
2017/12/12(火) 18:31:07.66ID:D0b6rm60 古くからのDelphiコンポーネントが全て置いてある
アーカイブ的なサイトってないんだろうか
アーカイブ的なサイトってないんだろうか
424デフォルトの名無しさん
2017/12/12(火) 21:12:25.60ID:ABDe/NWv ふと思ったけどTImageListじゃなく
TSoundListコンポーネントってない?
用途はありそうだが
てかTImageListってどういう仕組みで
画像を保持してるんだろう
TSoundListコンポーネントってない?
用途はありそうだが
てかTImageListってどういう仕組みで
画像を保持してるんだろう
425デフォルトの名無しさん
2017/12/14(木) 09:04:39.76ID:XL4elc7V DSPとかtorrysとか懐かしいな
426デフォルトの名無しさん
2017/12/24(日) 16:19:13.24ID:dCGOIGeG Tetheringコンポーネントを使ってアプリ間データ共有を試してるんだけど
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど
Starterだと実はTetheringコンポーネントは使えない?
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど
Starterだと実はTetheringコンポーネントは使えない?
427デフォルトの名無しさん
2017/12/24(日) 16:33:23.07ID:NhonSez5 >>426
テザリングの項目がStarterは空欄になってるから多分使えない
テザリングの項目がStarterは空欄になってるから多分使えない
428デフォルトの名無しさん
2017/12/24(日) 19:06:27.16ID:dCGOIGeG429デフォルトの名無しさん
2017/12/28(木) 21:34:46.01ID:JOEtu7v7 質問させてください。
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。
var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;
C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。
var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;
C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
430デフォルトの名無しさん
2017/12/28(木) 22:07:28.82ID:ThR79eg8431デフォルトの名無しさん
2017/12/29(金) 07:48:05.15ID:yZ5IlcO4432デフォルトの名無しさん
2017/12/29(金) 08:47:31.32ID:cWaP921A 仮想通貨って電気代が安い国の人がが圧倒的に有利だよね
433デフォルトの名無しさん
2017/12/29(金) 11:43:27.38ID:PDCF/c1K434デフォルトの名無しさん
2018/01/07(日) 11:23:55.22ID:KBdbbCLH435デフォルトの名無しさん
2018/01/07(日) 12:30:45.63ID:S38kpWyE 漬物石
436デフォルトの名無しさん
2018/01/07(日) 13:53:28.81ID:8Eqg8PLM >>432
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
437デフォルトの名無しさん
2018/01/08(月) 09:12:47.06ID:j35IDJ3/ Delphi 10.2 Tokyo で、
@クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること
ができないのですが、できるようにする方法はありますか?
@クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること
ができないのですが、できるようにする方法はありますか?
438デフォルトの名無しさん
2018/01/08(月) 10:28:05.36ID:2Q7Kliqk >>436
ふむ。結局中国が一人勝ちして終わりやな。
ふむ。結局中国が一人勝ちして終わりやな。
439デフォルトの名無しさん
2018/01/08(月) 12:45:46.64ID:ictcT8i6440デフォルトの名無しさん
2018/01/08(月) 18:50:31.06ID:j35IDJ3/441デフォルトの名無しさん
2018/01/09(火) 22:26:41.17ID:tEYlJ576 Starterじゃないの?
442デフォルトの名無しさん
2018/01/09(火) 23:21:34.37ID:DSUTqw5a そうです。
Starterです。
無料のやつです。
Starterです。
無料のやつです。
443デフォルトの名無しさん
2018/01/10(水) 22:49:34.96ID:A/FWCqkf Starterは支援機能削られてる
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能
コード補完はつけて欲しかったね
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能
コード補完はつけて欲しかったね
444デフォルトの名無しさん
2018/01/10(水) 22:58:49.24ID:0V4diR3n そうなんですか・・・
コード補完がないのはキツいなぁ。
コード補完がないのはキツいなぁ。
445デフォルトの名無しさん
2018/01/10(水) 23:22:20.51ID:52V+kDTj Starterまじでコード補完ないんだww
ひでぇww
ひでぇww
446デフォルトの名無しさん
2018/01/11(木) 07:06:55.59ID:I3euztjG 5年間Starter使ってるけど
もう慣れた
もう慣れた
447デフォルトの名無しさん
2018/01/19(金) 14:12:23.13ID:3mDLycuV fmxで実行時に複数のpanelを動的に作成し
その背景を別の色にしたいんだけど
設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない
検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない
誰かヒントをお願いします
その背景を別の色にしたいんだけど
設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない
検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない
誰かヒントをお願いします
448デフォルトの名無しさん
2018/01/19(金) 15:02:24.17ID:LVSymK+/ >>447
TRectangleマジおすすめ
TRectangleマジおすすめ
449デフォルトの名無しさん
2018/01/19(金) 22:25:43.24ID:9RJTUZM2450デフォルトの名無しさん
2018/02/02(金) 16:54:03.50ID:MJtWQFFO どうしても分からないため、教えてください。
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
451デフォルトの名無しさん
2018/02/02(金) 16:54:26.34ID:MJtWQFFO try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
452デフォルトの名無しさん
2018/02/12(月) 17:53:30.98ID:wyyYgDNO453デフォルトの名無しさん
2018/02/12(月) 21:54:05.03ID:lRsL3DkL LDirはどこで定義されてんだ?
454デフォルトの名無しさん
2018/02/13(火) 11:15:08.11ID:Wl4kHNJK メモリー共有が簡単に出来るクラスってある?
455デフォルトの名無しさん
2018/02/13(火) 20:34:12.21ID:ZGwVrA8k >>454
ググったら、名前付きパイプによるプロセス間通信見つけた。
http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1
使ったことないので、使い心地までは分かりかねます。
ググったら、名前付きパイプによるプロセス間通信見つけた。
http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1
使ったことないので、使い心地までは分かりかねます。
456デフォルトの名無しさん
2018/02/16(金) 01:22:45.51ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
457デフォルトの名無しさん
2018/03/14(水) 17:54:41.12ID:joCYD0wr 10.2.3出たな
でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
458デフォルトの名無しさん
2018/03/27(火) 23:04:26.37ID:krpCtSiN D6に入れて使ってるIndy10 https対応してたのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
459デフォルトの名無しさん
2018/04/07(土) 17:54:05.06ID:uobWZe4y すみません教えてください。
長いこと格闘していたのですが、どうしても攻略できません。
ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。
只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。
ttps://www.axfc.net/u/3901529?key=delphi
長いこと格闘していたのですが、どうしても攻略できません。
ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。
只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。
ttps://www.axfc.net/u/3901529?key=delphi
460デフォルトの名無しさん
2018/04/08(日) 14:23:14.02ID:+Wdeqy0/461デフォルトの名無しさん
2018/04/08(日) 16:43:34.30ID:yiR7WAE6462デフォルトの名無しさん
2018/04/08(日) 19:31:28.65ID:aHOcMh8N ちょっと長いのですが…
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
463デフォルトの名無しさん
2018/04/08(日) 19:32:04.72ID:aHOcMh8N begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
464デフォルトの名無しさん
2018/04/08(日) 19:32:09.74ID:aHOcMh8N begin
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;
Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;
Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
465デフォルトの名無しさん
2018/04/08(日) 19:40:43.33ID:aHOcMh8N procedure TForm1.PlayBtnClick(Sender: TObject);
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;
上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;
上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
466デフォルトの名無しさん
2018/04/08(日) 21:52:36.23ID:vzZ5v1M+ >>465
自分もよく知らんので間違ってたらごめん
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
自分もよく知らんので間違ってたらごめん
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
467デフォルトの名無しさん
2018/04/09(月) 02:34:30.98ID:8Wv+Mi08 >>465
これってかなり前にも指摘したような気がするが...
まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな
それで問題なかったらMCIに送って
これってかなり前にも指摘したような気がするが...
まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな
それで問題なかったらMCIに送って
468デフォルトの名無しさん
2018/04/09(月) 07:55:25.96ID:qLOACt12469デフォルトの名無しさん
2018/04/09(月) 08:07:09.81ID:3dFP9zTK aliasの前に半角スペースがない
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
470デフォルトの名無しさん
2018/04/09(月) 08:11:51.43ID:3dFP9zTK >>467さんが指摘してるのはTEditに入れて表示された文字列が正しいコマンドかどうかチェックしろって事であって、代入したら動くんじゃないって言ってるわけじゃない
471デフォルトの名無しさん
2018/04/09(月) 12:39:00.80ID:BwdfepzG FileName1のスコープが問題何じゃねーの?
472デフォルトの名無しさん
2018/04/09(月) 15:46:39.00ID:sAzU0iCB >>462-465
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
473デフォルトの名無しさん
2018/04/09(月) 15:48:10.00ID:qLOACt12474デフォルトの名無しさん
2018/04/09(月) 15:52:07.60ID:3dFP9zTK 何が正しいのか正しくないのか、正しくないのは変数の中身なのかコードなのか渡し方かなのか、それとも別になにかなのかを探したら解決できる
正しいと思い込む前に確認する癖をつけましょう
正しいと思い込む前に確認する癖をつけましょう
475デフォルトの名無しさん
2018/04/09(月) 18:30:51.81ID:BomKXXDR >>473
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ
>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ
>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
476デフォルトの名無しさん
2018/04/09(月) 18:57:48.34ID:BomKXXDR >>473
やっとソースDLできたw
ざっと見た限り
原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物
対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる
原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結
対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);
それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
やっとソースDLできたw
ざっと見た限り
原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物
対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる
原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結
対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);
それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
477デフォルトの名無しさん
2018/04/09(月) 19:52:13.89ID:gH9PL+mq >>472
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。
FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。
FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
478デフォルトの名無しさん
2018/04/09(月) 20:33:17.20ID:luHmX43j メディアプレーヤーコンポ使えばmp3ほかいろいろ再生できますぜ
479デフォルトの名無しさん
2018/04/09(月) 22:09:32.86ID:qcsBHwDv >>477
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと
そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと
そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
480デフォルトの名無しさん
2018/04/09(月) 22:24:15.00ID:8Wv+Mi08 >>477
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う
https://1drv.ms/u/s!ALhSqBFVHu2ZzRg
前からTDropTargetを使ってみたかっただけなんだけど
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う
https://1drv.ms/u/s!ALhSqBFVHu2ZzRg
前からTDropTargetを使ってみたかっただけなんだけど
481デフォルトの名無しさん
2018/04/09(月) 22:25:36.16ID:tj7dSTW0 この話題長いねぇ
ずーっと解決してない気がするw
ずーっと解決してない気がするw
482デフォルトの名無しさん
2018/04/10(火) 07:46:44.60ID:M1dLQsHI 野球選手やサッカー選手に向いてるやつと向いてないやつがいるように
プログラマーにも向いてるやつと向いてないやつがいる
プログラマーにも向いてるやつと向いてないやつがいる
483デフォルトの名無しさん
2018/04/10(火) 09:28:59.45ID:8aH9jq04484447
2018/04/10(火) 17:57:58.95ID:ixHiVr8M485デフォルトの名無しさん
2018/04/10(火) 20:26:01.63ID:n/L+8J/R486デフォルトの名無しさん
2018/04/10(火) 21:56:04.81ID:7q8c2f4e487デフォルトの名無しさん
2018/04/10(火) 22:06:00.62ID:BUevE+bD >>484
VCLソース
VCLソース
488デフォルトの名無しさん
2018/04/11(水) 07:06:25.31ID:Ma7OFF0j リモコンって以前はMediaCenterが対応してたね
Delphiで今やるんだったら
TTethering使ってスマホから操作かな
Delphiで今やるんだったら
TTethering使ってスマホから操作かな
489デフォルトの名無しさん
2018/04/13(金) 00:04:40.08ID:QwQUx8hW @pikさんて何者なの?
本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
490デフォルトの名無しさん
2018/04/17(火) 14:33:30.73ID:eYOCf7bm >>489
直接本人に言えよ。陰湿な奴だな。
直接本人に言えよ。陰湿な奴だな。
491447
2018/04/18(水) 21:20:13.42ID:MII0lz02 すいません。教えてください
この前の続きです。
D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。
ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
この前の続きです。
D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。
ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
492447
2018/04/19(木) 21:05:53.19ID:bgRnFwFv 現状でやりたいことは、送るで起動して音声ファイル(以下.wav)を再生させることです。
1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始
現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。
ここがくクリアできれば拡張子連動も可能だと思いますが・
1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始
現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。
ここがくクリアできれば拡張子連動も可能だと思いますが・
493デフォルトの名無しさん
2018/04/21(土) 23:15:17.71ID:57zLglLu >>491-492
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)
ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です
とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで
Delphi2009だと問題ないのに?(**)?
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)
ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です
とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで
Delphi2009だと問題ないのに?(**)?
494デフォルトの名無しさん
2018/04/22(日) 09:43:57.64ID:/aj/ysEy ListBox1.ItemIndex := ListBox1.Items.IndexOf('9.wav');
495デフォルトの名無しさん
2018/04/22(日) 20:19:04.99ID:1p2Tkusj なるほどなー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
496447
2018/04/25(水) 06:26:09.01ID:LyLCajq/ >>493
ハイライトではなく選択した(された)アイテムと表現すべきでした。
無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。
以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。
自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi
皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。
例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
ハイライトではなく選択した(された)アイテムと表現すべきでした。
無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。
以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。
自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi
皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。
例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
497デフォルトの名無しさん
2018/04/25(水) 08:14:31.72ID:iILk6Jpy >>496
もう仕様書作って金出してコード納品してもらった方が速い
もう仕様書作って金出してコード納品してもらった方が速い
498デフォルトの名無しさん
2018/04/25(水) 10:12:58.53ID:KojXazHw アドバイスも何も....
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
499デフォルトの名無しさん
2018/04/25(水) 10:43:12.40ID:8p1Sd4ST500デフォルトの名無しさん
2018/04/26(木) 18:55:25.51ID:fqEKBH7q 動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- WBC世界バンタム級王座決定戦 井上拓真が3-0の判定勝利で世界王座に返り咲き! 無敗の那須川天心に初黒星つけ完全復活!★2 [牛丼★]
- 【速報】盗難車ひき逃げで歩行者ら12人死傷 逃走した“運転手”の37歳男を逮捕 東京・足立区 ★4 [Ailuropoda melanoleuca★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も [ぐれ★]
- 【時事解説】日米安保条約で「アメリカには日本防衛の義務がある」という誤解 [1ゲットロボ★]
- 人生初黒星の神童、那須川天心がリング上で土下座 [牛丼★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★2 [ぐれ★]
- 高市早苗さん、インフレ税導入へ [175344491]
- 【悲報】ネトウヨ「高市さんすごい!メローニにいきなりハグとかコミュ力高すぎ!w」👈14万いいね [522666295]
- 【悲報】横審・大島理森委員長(元自民)、九州場所の観戦マナーに苦言… 東京や大阪や名古屋じゃ言わないのに… [452836546]
- 【高市】11人が死傷37歳の男を逮捕するも国籍は明らかにせず…これは配慮か🤔 [993451824]
- まったりおじゃる丸待機スレ🏡
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ166
