くだすれDelphi(超初心者用)その60【Embarcadero】 (451レス)
1-

1
(3): 2023/11/23(木)20:02 ID:KAoTyDwD(1) AAS
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の救済をお願いします。

■ Delphi 12
外部リンク:www.embarcadero.com
■ Delphi Community Edition (無料)
iOS、Android、Windows、macOS 向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
外部リンク:www.embarcadero.com
<前スレ>
くだすれDelphi(超初心者用)その59【Embarcadero】
省4
325
(1): 04/01(火)19:46 ID:lomSbMtE(1) AAS
>>324
アホだね。
326
(1): 04/08(火)20:15 ID:CBdThpCZ(1/2) AAS
プログラムを組むのには色々な知識や他分野のアイデアや失敗談が参考になるのに薄っぺらい人間は「ここはdelphiのスレだ」だと批判する。
結果どうだ、さびれるだけだろ。
327
(1): 04/08(火)20:23 ID:CBdThpCZ(2/2) AAS
>>324
何でお前が仕切ってんだ。
説明しろや。
328
(1): 04/08(火)22:20 ID:bTFTROml(1) AAS
元々廃れてるのに何言ってんだ??
329
(1): 04/09(水)01:06 ID:KjXCof2z(1) AAS
てかやっぱyt-dlpの話は
ここじゃ良い答えを得られんだろ
330
(1): 04/09(水)02:21 ID:XIvlryTT(1) AAS
>>325-328
お前のようなキチガイが我が物顔でスレを荒らすから廃れるんやでw
331
(1): 04/09(水)03:59 ID:Hm7DsvDe(1/3) AAS
delphiでyt-dlp使ってプログラムを組むのはダメでプロジェクトファイルや無料版の使用条件の話はいいのか?
ここはプログラム板だろうが。
視野が狭いのなお前ら。
332: 04/09(水)04:09 ID:Hm7DsvDe(2/3) AAS
>>329
yt-dlpに限定した質問でなく「埋め込む」と言う意味についての質問だろう。
プログラム組んでたら埋め込むと言う案件に出会わないできただけだろう。お前ら。で、ffmpegでは焼き付けると言ってる人がいる。どう違うんだと言う事だ。
333: 04/09(水)04:10 ID:Hm7DsvDe(3/3) AAS
>>330
お前がスレ汚しだ。
334
(1): 04/10(木)11:19 ID:sl4+KigV(1) AAS
yt-dlpがDelphiで描かれてる
ffmpegがDelphiで描かれてる
browserがDelphiで描かれてる
どれにも該当しない
335
(1): 04/10(木)11:54 ID:RuypOZeh(1/2) AAS
>>334
Delphiに関係ない投降するな。
336: 04/10(木)17:39 ID:UsbiRq0X(1) AAS
投降
337: 04/10(木)19:54 ID:RuypOZeh(2/2) AAS
>>335
揚げ足取りはDelphiに関係ありません。
どっかに行けやアホ。
338
(1): 04/10(木)21:51 ID:AsM8kPVG(1) AAS
正しい漢字を使いましょう
339
(1): 04/11(金)03:15 ID:+AqPCN1Z(1/3) AAS
>>338
delphiに関係ないわ
340
(1): 04/11(金)14:30 ID:/8vt7NNX(1) AAS
>>339
delphiに興味ないわ
341
(1): 04/11(金)15:57 ID:9wDK2WuU(1) AAS
>>340
立ち去れ
342: 04/11(金)19:31 ID:+AqPCN1Z(2/3) AAS
>>341
お前バカだろ
343: 04/11(金)20:07 ID:i2PY9ZNn(1) AAS
社畜幽霊ちゃん
344: 04/11(金)20:14 ID:+AqPCN1Z(3/3) AAS
ここは、俺が仕切ってる。
Delphiのプログラミング以外の投稿は、俺以外許さん。文句ある奴はどっかへ行け。
345
(3): 04/13(日)01:52 ID:JUDsBOqc(1) AAS
>>331
delphiでyt-dlp使ってプログラムを組むってどういうことですか?
CreateProcessかShellExecuteでyt-dlp呼び出すぐらいの話じゃないんですか?
どっちにしろそれだとyt-dlpのコマンドラインの使い方の話ですよね?
やっぱりDelphi関係ないんじゃないですか?
それともPython実行環境をDelphiで作るプログラムに実装させるって意味なんですか?
delphiでyt-dlp使ってプログラムを組むってどういう意味なんですか?
教えてくださーい
346: 04/13(日)09:11 ID:QAU2zcJe(1/2) AAS
>>345

プログラミングで「字幕を埋め込む」の定義を教えてほしい。と質問している。yt-dlpやffmpegは具体例。

>313が質問だ。
>317の回答で>319で一応納得している。
>320がたぶんと言いながらひっくり返す。
以下、わけわからん奴が知ったかぶりしてお終いには
スレ違いだと言って逃げた。
347: 04/13(日)09:19 ID:QAU2zcJe(2/2) AAS
>>345
delphiでyt-dlp使ってプログラムを組むってどういう意味なんですか?

CreateProcess
ShellExecute
CommandLineUni
など外部プログラムを「呼び出すぐらいの話」ですが
それくらいの話では問題ですか?
348: 04/13(日)10:01 ID:9+E6vnhP(1) AAS
DelphiというかObjectPASCALのコンパイル環境って円馬鹿以外にあるのか
349: 04/13(日)11:37 ID:0kGJxK1P(1) AAS
Lazarusがまだ開発続いてるよ
どれ位使われているかは分からん
350: 04/14(月)19:45 ID:k68JyGLG(1/6) AAS
>>345
お前さ
俺がお前の質問に丁寧に回答してんのにお前は俺の質問は無視か?
人間が出来てないな。
351
(1): 04/14(月)19:56 ID:Q1NpyqHR(1/3) AAS
「呼び出すぐらいの話」ならいいけど、どういうパラメーターを指定するかはスレ違いだ
352: 04/14(月)20:10 ID:k68JyGLG(2/6) AAS
>>351
黙れアホ
353
(2): 04/14(月)20:36 ID:Q1NpyqHR(2/3) AAS
呼び出し方ならこのスレでいい
それは言語特有の書き方があるからだ
けどパラメータに指定する文字列はどうすれば?みたいなのはスレチ
呼び出すプログラムによって違うのは当然なのでそのプログラムのスレで聞け
分かっているパラメータを指定してもその通りに動かないなら、呼び出し方の問題の可能性があるのでこのスレでいい
354: 04/14(月)22:31 ID:k68JyGLG(3/6) AAS
>>353
誰もパラメーターの話なんかしてないだろ。
「埋め込む」と言うプログラミング世界での定義を聞いてるだけだ。
レベルが低くて仕方がないわ。
知ったかぶりはやめな。
355: 04/14(月)22:45 ID:k68JyGLG(4/6) AAS
>>353
だいたい何を根拠で「ここでいい」とか言ってんだ。お前の定義なんかいらねぇんだよ。
356
(1): 04/14(月)22:47 ID:N40FaRQ5(1) AAS
プログラミングにおける「埋め込む」には、次のような意味があります。
アプリケーションプログラムにSQL文や他のプログラムを埋め込むこと
コンピュータプログラムにバグ(欠陥)をわざと埋め込んでテストを行うこと(エラー埋め込み法やバグ埋め込み法)

Delphi 関係ないね
ダウソスレにいくといい
357: 04/14(月)23:00 ID:k68JyGLG(5/6) AAS
>>356
黙れアホ。
お前の一生懸命調べた反論くらいとっくに知ってわ。
弱虫が駄々こねてねぇでママのところに行って言いつけてこいや。
358
(1): 04/14(月)23:32 ID:Q1NpyqHR(3/3) AAS
> 「埋め込む」と言うプログラミング世界での定義を聞いてるだけだ。
なるほど!

Delphiスレでそんな言葉聞いたことないな
あるとしたらOLEぐらいか?
つまりスレチだ
359: 04/14(月)23:41 ID:k68JyGLG(6/6) AAS
>>358
軽い投稿ばかりしないでな
delphi 埋め込むで検索しな。
お前の無知がわかるから。
360
(1): 04/15(火)00:07 ID:dQ+QxF8U(1) AAS
検索して出てくるのは「プログラミング世界での定義」ではないけどなw
もちろんDelphiでの定義でもない

そもそも論点が違ってるんだよなぁ
「字幕を埋め込む」を知りたいはずだろうになんで「delphi 埋め込む」になるんだかw
そういう馬鹿な考えしているから求めている答えにいつまでたってもたどり着けない
fmpegかyt-dlp、字幕を埋め込む がキーワードなわけでdelphi関係ないんだがwww
361: 04/15(火)11:48 ID:CbsPdu2a(1) AAS
字幕スーパー
super impose
「superimpose」は「重ね合わせる」「上に置く」「合成する」という意味の動詞で、「スーパーインポーズ」と発音します。
362: 04/15(火)16:08 ID:Yc+e0umG(1/2) AAS
>>360
ほんと、ガキだな。
ムキになってDelphiでの定義でないとか。
お前が仕切る事でないのな。お前の定義はいらないのな。わかる?
お前、いちいち全スレをそうやって評価してんのか?
恥かくだけだから、あらしはやめな。
363
(1): 04/15(火)17:04 ID:aP7pFBXX(1) AAS
6レスでしかも連投までしてるほうがガキだしムキになっていると思います
364: 04/15(火)20:45 ID:Yc+e0umG(2/2) AAS
>>363
悔しいならもっと大人になりな坊主。
365: 04/15(火)21:18 ID:Hj2lC2cB(1) AAS
最近盛況で楽しいね
これくらいDelphiも盛り上がればいいのにね
366: 04/15(火)22:18 ID:5NRpTm0N(1) AAS
Delphiばんざい!
367: 04/21(月)14:42 ID:Yit9TUrJ(1) AAS
AA省
368
(8): 少々スレチな質問です [age] 04/21(月)17:28 ID:ONSY3bFx(1/4) AAS
該当スレが存在しアドレスアンカーがあって書き込めれば移動します。
作成はDelphiで組んでいます。
機能の一部でinput.MP4,mov,aviの動画を調べてShellExecuteでFFmpegを呼び出して処理させている。
(H.265であればH.264に変換させる等)
知りたいのは特にmp4のカラービットBit depth(ビット深度)の8/10/12 Bit判定がドコを参照すれば判るのか?
最終的にやりたいのは input.mp4 が 8bit以外であればH.264 8Bitに自動変換させたい。
同様の質問を「黒羽製作所 総合掲示板 真空波動研」スレに投下中でそちらにはアップルQuickTimeへのアドレス有りです。
ソフトウェア板(ffmpegスレ)にはどんぐりがどーたらで書き込めない。
369
(1): 368 04/21(月)17:33 ID:ONSY3bFx(2/4) AAS
真空波動研のDLLを使うのは?、は
DLLを動的リンクさせてinput.mp4のBit判定をリザルトで受け取れたら楽だろうけど
それはそれで仕様が公開されていないのでD6での使用方法が分らない
370
(1): 04/21(月)17:45 ID:Cyno6pDc(1/2) AAS
>>369
コマンドラインバージョン使って、そのテキストを解析すればいいのでは?
371
(1): 04/21(月)18:28 ID:KMmar/P6(1/3) AAS
「作成はDelphiで組んでいます。
機能の一部でinput.MP4,mov,aviの動画を調べてShellExecuteでFFmpegを呼び出して処理させている。
(H.265であればH.264に変換させる等)
知りたいのは特にmp4のカラービットBit depth(ビット深度)の8/10/12 Bit判定がドコを参照すれば判るのか?
最終的にやりたいのは input.mp4 が 8bit以外であればH.264 8Bitに自動変換させたい。」

この文章をそのままGrokに貼り付けたらサンプルコードを書いてくれる
372
(1): 04/21(月)18:29 ID:KMmar/P6(2/3) AAS
MP4動画のビット深度(8bit/10bit/12bitなど)を判定するには、動画のコーデック情報やメタデータを解析する必要があります。DelphiでFFmpegを活用しているとのことなので、FFmpegのコマンドラインツールであるffprobeを使うのが最も効率的です。ffprobeは動画ファイルの詳細なメタデータを取得でき、ビット深度も確認可能です。
373
(1): 04/21(月)19:01 ID:DImNR5cR(1) AAS
ここは、俺が仕切ってる。
Delphiのプログラミング以外の投稿は、俺以外許さん。文句ある奴はどっかへ行け。
374
(2): 368 04/21(月)22:43 ID:ONSY3bFx(3/4) AAS
レスありがとう
>370 372
ShellExecuteで外部プログラム結果をテキスト出力させて
それをDelphiのTMemoに読み込んで行を特定して抜き出すという感じ?
>371
スマホ超初心者で課金系はパスです。
375: 368 04/21(月)22:45 ID:ONSY3bFx(4/4) AAS
>372
ffprobe の出力例一部抜粋
Stream #0:0[0x1](eng): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(pc, bt709), 5320x2280 [SAR 1:1 DAR 7:3], 120149 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: hevc (Main) (hev1 / 0x31766568), yuvj420p(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 5440 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: h264 (High 10) (avc1 / 0x31637661), yuv420p10le(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 31555 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 5320x2280 [SAR 1:1 DAR 7:3], 32117 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)
上から10/8/10/8 Bit
'Main 10''High 10' 部分が色深度10Bitだろうか?
ffprobeのソース見てmp4部分を特定させる自信がないー
動画trakのメタデータ'xxxC'atom内っぽいなーとは思ってるのですが
省1
376: 04/21(月)22:54 ID:Cyno6pDc(2/2) AAS
>>374
それでもいいし、
パイプ作ってそれを渡す(ただしShellExecuteでは出来ないんでCreateProcess)
サブプロセスのstdoutにセットしてDelphiのほうでReadFileする、というのでもいい
377: 04/21(月)23:27 ID:KMmar/P6(3/3) AAS
>>374
いや、今はGrokはxユーザーなら誰でも無料で使える
Grokが書いたコードも直接ここに貼り付けてやろうと思ったが
長すぎて何度も書き込みに失敗したから諦めた
とにかくxアカウント作ってGrokに聞くといい、必ず力になってくれるはず
378: 04/22(火)00:04 ID:GyMhIb89(1/2) AAS
ffprobeで処理するなら出力形式をJSONにできる
379: 04/22(火)00:10 ID:GyMhIb89(2/2) AAS
-hide_banner -print_format json -show_format -show_streams
380: 04/22(火)04:10 ID:NQ8RJq1o(1/3) AAS
>>373
オレの真似するお前。
これはいいんだ。
お前は出てけ。
381
(1): 04/22(火)07:22 ID:kJTRiSDQ(1/2) AAS
MP4ファイルのビット深度は、主に以下の情報を参照することで確認できます:
コーデック情報:H.265(HEVC)やH.264(AVC)の場合、ビット深度は動画ストリームのプロファイルやピクセルフォーマットに依存します。

ピクセルフォーマット(Pixel Format):yuv420p(8bit)、yuv420p10le(10bit)など、ピクセルフォーマットからビット深度を推定可能。

FFmpegのffprobeコマンド:ffprobeを使うと、動画のメタデータを詳細に取得でき、ビット深度(bits_per_raw_sample)やピクセルフォーマット(pix_fmt)を確認できます。

特に、ffprobeの出力から以下のフィールドを参照:
bits_per_raw_sample:ビット深度を直接示す(例: 8, 10, 12)。

pix_fmt:ピクセルフォーマット(例: yuv420pは8bit、yuv420p10leは10bit)。
382
(1): 04/22(火)07:24 ID:kJTRiSDQ(2/2) AAS
ffprobeコマンドでMP4ファイルのビット深度を取得する例:
ffprobe -v error -show_entries stream=bits_per_raw_sample,pix_fmt -of json input.mp4

出力例(JSON形式):
{
"programs": [],
"streams": [
{
"bits_per_raw_sample": "8",
"pix_fmt": "yuv420p"
}
省7
383
(1): 04/22(火)19:45 ID:NQ8RJq1o(2/3) AAS
それDelphiのコードでないよね。
ここの、微妙なスレにこのタイミングで、空気読めない?
384
(1): 04/22(火)19:46 ID:NQ8RJq1o(3/3) AAS
それDelphiのコードでないよね。
ここの、微妙なスレにこのタイミングで、空気読めない?
385: 368 04/23(水)05:30 ID:KmGEZqMw(1/5) AAS
D6でjsonコンポーネントが難儀なので構成はこんな感じでいきました
-hide_banner -v error -i input.mp4 -print_format json -show_streams > Output.json
以下かなり省略です 1レス最大32行と警告食らってしまったので

uses
Delimiter, // 外部関数OrderStr

function TForm1.FFprobeBitdepthPickUp(FullFileName: String) : Boolean;
var
(略)
begin
386
(1): 368 04/23(水)05:32 ID:KmGEZqMw(2/5) AAS
Cmd:='FFprobe 〜(略)' + CacheDir + '〜.json';
Memo.Lines.Add(Cmd);
Memo.Lines.Add('exit');
Memo.Lines.SaveToFile(SaveName); // CacheDir + '〜.bat'
ShellExecute(Handle,'open',PChar(SaveName),'',PChar(ExtractFilePath(Application.Exename)),SW_SHOWDEFAULT);
ListBox_Convert.Items.LoadFromFile(FileName); // CacheDir + '〜.json'
LineMax:=ListBox_Convert.Items.Count -1;
for Index:=0 to LineMax do
begin
Str:=ListBox_Convert.Items[Index];
省18
387
(1): 368 04/23(水)05:44 ID:KmGEZqMw(3/5) AAS
>>381 >382
ありがとう!
とりあえず映像深度の数字だけ欲しかったけど他も参照できる余地を残して
-show_streams 全部を出力させることにしました。
頭悪そうなコードになってしまいましたが
他にも動画情報取得に悩んでいる人にもと
388: 368 04/23(水)05:50 ID:KmGEZqMw(4/5) AAS
リザルトをBooleanにしてるのは他の関係上です
389
(2): 04/23(水)07:18 ID:o1ve4r3x(1/2) AAS
>>383-384
お前は仕様を理解せずコードだけ求める馬鹿か?

>>387
GJ !!
390
(2): 368 04/23(水)19:47 ID:KmGEZqMw(5/5) AAS
>386 訂正行 if ord(Str[ia]) = $2C then Continue;

デバックに動画を放り込んでると
'〜.json'ファイルが読み込めない(まだ出来上がってないから)と怒られるケースが出た。
さらに頭悪そうなコードを追加
ListBox_Convert.Items.LoadFromFileの1行を
以下に変更
for ia := 0 to 1000 do
begin
Application.ProcessMessages;
if FileExists(FileName) then // '〜.json'ファイルが存在するか?
省18
391
(1): 04/23(水)19:54 ID:tXAJNIU5(1) AAS
>>389
何言ってんだか
真が無い。
392
(1): 04/23(水)22:35 ID:o1ve4r3x(2/2) AAS
>>390
頑張れ
>>391
真て何だ?
393: 04/24(木)20:18 ID:KDw3CCba(1/2) AAS
>>389
で?
394: 04/24(木)20:20 ID:KDw3CCba(2/2) AAS
>>392
アホなんだろうな。
395
(1): 04/24(木)22:10 ID:ZEuKqFov(1/2) AAS
CreateProcessでProcessInfoのプロセスハンドルと
WaitForSingleObjectでプロセス終了するまで待機
396: 04/24(木)22:21 ID:ZEuKqFov(2/2) AAS
>のリダイレクトはコンソール用だから
CREATE_NEW_CONSOLEフラグ指定したらどうかな
あってるかしらんが
397
(2): 前117スレ 658 04/25(金)01:15 ID:WCPLL/xz(1/6) AAS
プロセス終了待ちは解決しました。
ShellExecuteからCreateProcessに変更
詳細書こうとするとエラー
398
(1): 368(MP4のカラービット色深度) 04/25(金)01:19 ID:WCPLL/xz(2/6) AAS
>390 のタイトル先をベースに「プロセスの起動と終了を待つ mam-mam vcl_createprocess」検索先を使用。
「Delphi Programming Object Pascal mrxray」の 500_ 490_ 494_ 各検索先も参照。
RetValBool:=CreateProcess(Nil,PChar('Cmd.exe /C ' + SaveName),〜(略)
399: 368(MP4のカラービット色深度) 04/25(金)01:21 ID:WCPLL/xz(3/6) AAS
とコマンドプロンプト起動の引数扱いのCmd.exe監視にしたら待機になりました。
※mam-mamアドレス参照コード内の
「起動待ちでエラー」表示処理部分を使うとエラー表示になって終了するのでごっそり削除。(謎)
400: 368(MP4のカラービット色深度) 04/25(金)01:23 ID:WCPLL/xz(4/6) AAS
「黒羽製作所 総合掲示板 真空波動研」スレに管理人さんからレスがあり
H.264ならavcC
H.265ならhvcC
の中のSPSにある、bit_depth_luma_minus8
の部分がBit depth(色深度)と教えてもらいました。
プログラムの読み込みで'hvcC'atom位置までは自力でたどり着けているがそこから内容がイミフ

以下これまでの各参照。
https://
QuickTimeフォーマットの仕様書
→ developer.apple.com/documentation/quicktime-file-format
省7
401: 368(MP4のカラービット色深度) 04/25(金)01:25 ID:WCPLL/xz(5/6) AAS
以下新規の参照例
https://
ExMP4.Box.Hvcc
→ hexdocs.pm/ex_mp4/0.7.0/ExMP4.Box.Hvcc.html#summary
DelphiのIntegerは32bitで最大4バイトだけど↓2バイトなのか?
non_neg_integer(), ←ビッグエンディアンの?何バイトだろう?
'hvcC'のdata構造はコレで合ってるのかな?
@type t() :: %ExMP4.Box.Hvcc{
 bit_depth_chroma_minus8: non_neg_integer(),
 bit_depth_luma_minus8: non_neg_integer(), ←※この部分?
省21
402: 368(MP4のカラービット色深度) 04/25(金)01:45 ID:WCPLL/xz(6/6) AAS
>395 396 ありがとう
>397 は何度も書き込み試行で名前欄の文字が変わってしまった。
参照先に解説は無かったようなので試行錯誤してると
バッチファイルを直接起動させずにCreateProcessで
コマンドプロンプト起動の引数扱いで親Cmd.exe監視にしたら待機になりました。
FFprobe利用はセーフネット扱いなので400-401内容で詰まってます。
exeを小文字の実行ファイル名書くとサーバーエラーで蹴られるんですねココ
403: 04/25(金)12:50 ID:6ZF7QOEI(1) AAS
Delphi CE 11.3のライセンスキレたんで12.1入れたらメニューのプロジェクトクリックしただけで落ちる
しかたないのでVMでWindows11入れてDelphi12.1入れたら問題無かったのでそっちで使う事にするけどなんかもにょる
404: 04/25(金)16:09 ID:Yet6zdrW(1) AAS
.net関係か?
405
(1): 質問1 実行ファイルがパス上に存在するか?の調べ方で 04/28(月)23:10 ID:1qNUJnCM(1/2) AAS
(質問者は368です)
今の対象は"FFmpeg""FFprobe"なのでOSが64bit以外では処理を飛ばしてます。
>398 を応用しTMemoに
Memo.Lines.Add('where FFprobe > ' + CacheDir + 'WhereFFprobe.txt');
バッチファイルとして書き出して
コマンドラインで実行し
function TForm1.CmdExeExists(ExeName,TargetName: String) : Boolean;
RetValBool := CreateProcess(Nil,PChar('Cmd.exe /C ' + ExeName),略
生成されるテキストが0行かどうかで判断させてるのですが
関数化に汎用性を持たせようとすると
省5
406
(1): 質問2 iniファイルの存在と重複をWin10(D6)で調べる方法 [age] 04/28(月)23:13 ID:1qNUJnCM(2/2) AAS
Windows の保護領域内でiniを作るとWin8以降ぐらいから
OSドライブ名:\Users\[ユーザー名]\AppData\Local\VirtualStore\Program Files [(x86)]\[実行アプリの階層構造〜]\〜.ini
に生成される訳でそれぞれに以下をすると
if FileExists(TargetFullPath) then Count := Count + 1;
自動的に割り振られてしまい実行場所に無くても自動移動先+直接指定で重複カウントされてしまう。
フォルダ個別に存在を調べるコードはありますか?
407
(1): 04/28(月)23:27 ID:OAf+OdvF(1) AAS
>>405
生成するファイル名が分かっているのにwhereコマンド使う意味が分からない
ファイル検索ならFindFirst関数使えばいいだろうし

>>406
保護領域内でini作らなければいいのでは?
そもそもProgram Files [(x86)以下に設定用のファイルとかを保存するのが良くない
ユーザーフォルダやドキュメントフォルダを取得して明示的にそこに保存するべきだろう
408
(1): 405 406 04/29(火)18:09 ID:/fre+7qi(1) AAS
>>407
・質問1 実行ファイルがパス上に存在するか?の調べ方で
探すのは実行できる実行ファイルでWindowsでのパスが通っている所に存在するか?です。
プログラム組んでる自分には他のユーザーの使用環境は分かりません。
現時点で"FFmpeg""FFprobe"は64bitOS専用だからそれ以外はコマンド発行させてないので急いでません。
汎用性を求めるならということでFindFirst と FindNextということですよね?
[ delphi Windows パス取得 ]検索
ん〜 "where" 使う方が楽だなぁ(汗)
------
・質問2 iniファイルの存在と重複をWin10(D6)で調べる方法
省11
409: 04/29(火)20:33 ID:LDFwfkd6(1) AAS
>>408
質問1について
PATHが通っていることが前提なら、その環境変数を取得して、あとはそのディレクトリに対して存在するか確認するだけじゃないかな
CreateProcessもファイル名だけを指定した場合環境変数に従って探索する
外部リンク:learn.microsoft.com
LoadLIbraryなんかも同様の動作をするはずだし、たぶんwhereコマンドもほぼ同じだろうから、この探索順で同じようにFindFirstなり直接FileExistsで有無を確認すればいいのでは?
(ただしOSのバージョンによってこの順序が若干異なる)
ただ環境によるからって話なら、インストーラ使わずに(つまりパスを通さずに)使っている可能性もあるわけで
自分なら最初からファイル選択ダイアログ(またはフォルダ選択)使ってユーザに選択させるけど

質問2について
省2
410: 05/09(金)00:30 ID:mKYQcf6G(1) AAS
一周回ってDelphiもありかな?と思ったがいかんせん価格が高い
411: 05/09(金)00:41 ID:faN9fJ/K(1) AAS
そんなあなたにCommunity Edition
412: 05/09(金)15:05 ID:nZMnhT9J(1) AAS
30周年なんだからもっと長期間割引してくれよ
413: 05/09(金)16:34 ID:kxBTusdH(1) AAS
v12のAIによるSmart CodeInsight機能ってCommunity Editionでも使えるの?

ここのレビューを見たけど、凄い機能だな
外部リンク:qiita.com
414: 05/09(金)22:17 ID:gva2Bjpn(1) AAS
Community Edition は12.1(これも本来は12.0だったのが特別に12.1)で記事では12.2で追加ってなってるからあと数年は先だね
415: 05/10(土)02:25 ID:X7zF2ttY(1) AAS
そうなのか…
微妙なところで有料版との差が付けられるんだなあ
416: 05/13(火)16:47 ID:hQgf38NW(1) AAS
割とAndroidのPlayStore条件に合わせて
CEが更新されてる気もするが。。。そうでもないか

前回はSDKの手動更新と
AndroidManifest.xmlの編集を強いられたっけ
417: 05/14(水)03:59 ID:GEEECwO5(1) AAS
売れてないのに開発たいへんみたいだけど、会社だいじょうぶか?
418: 05/14(水)20:47 ID:JhVr5soa(1) AAS
そう言われ続けてもう十年以上経つんじゃない?
419: 05/14(水)21:25 ID:JrBwOKYR(1) AAS
初めからCommunityをくばっとけば……
420: 05/20(火)01:32 ID:aeGsHWX4(1/2) AAS
12.3 のインストーラーが手に入るのであれば、12.2 のライセンスで 12.3 comunity edition をインストールできるのだ。
12.3 のインストーラーを手に入れる公式な手段はないため、普通の人は試せないが。
421: 05/20(火)18:01 ID:0XZTqg/I(1) AAS
どういうこと?
普通の人以外のためのインストーラーなんてものがあるの?
422: 05/20(火)20:48 ID:aeGsHWX4(2/2) AAS
コミュニティエデイションユーザーは 12.2 のインストーラーしかダウンロードできないのだ。
423: 05/28(水)14:28 ID:xUYap9Oe(1) AAS
RAD Studio次期バージョン「13」の愛称が決定

先月実施されたRAD Studio次期バージョン「13」の愛称選定で、僅差ながら「Florence」が選ばれました。

Florenceは、日本名では「フィレンツェ」と呼ばれ、日本人にもなじみのイタリアの都市です。愛称には英語名が採用されるため、次期バージョンの正式名称は、「RAD Studio 13 Florence(フローレンス)」となります。
424: 05/29(木)08:00 ID:Q6b8ILPj(1) AAS
香水の匂いがしそうな雰囲気
425: 05/29(木)10:01 ID:eIsozZCt(1) AAS
ポトペタ開発を軽く作る気ねーのかなぁ?この業界
426: 05/30(金)18:48 ID:iIh5hIgO(1) AAS
もう13出るの?
この前12になったのにさすがに早すぎないか?
427: 05/31(土)16:58 ID:I466/7cQ(1) AAS
信者からお布施を集めるために必要なんだよ
そして金を取って信者にバグ潰しさせるw
428
(1): 06/01(日)01:10 ID:XatgR+WI(1) AAS
個人向けの商売ではなくて企業向けだろ。
信者なんか関係ない。
429: 06/01(日)04:12 ID:WaUYP8dA(1) AAS
CEはいまだに12.1だというのに・・・
430: 06/02(月)13:15 ID:spdoBfJv(1) AAS
>>428
そういうお前は信者w
431: 06/04(水)01:32 ID:C3fiYg13(1) AAS
CEが12.2になってAI Smart CodeInsightが使えるように
なるのを待ち望んでいるのだが、いつになるのやら
432: 06/04(水)11:19 ID:jIb7ZVvb(1) AAS
老舗のCDリッピングツール「CD2WAV32」が約20年ぶりの更新 〜Windows 11専用で甦る
「Delphi 12.1」でUnicode対応、UI・設計のモダン化などを実施

外部リンク[html]:forest.watch.impress.co.jp
433: 06/04(水)12:08 ID:MDxupint(1) AAS
今それ貼ろうとしていたわ
Delphiやったんやね
434: 06/04(水)15:16 ID:uzpoTMBl(1) AAS
64bitでも CD2WAV64 とはならないのか
435: 06/04(水)18:50 ID:x1edjx1s(1) AAS
突然の更新とかジジイどもが退職し始めたのか?
436
(1): 06/04(水)19:40 ID:Ac7mCrLT(1) AAS
もろぼし☆らむ氏
ハンドルは昔のママなんだな
FDELPHI でやりとりさせてもらったことがあるけどコードも書き込みかたも
なんというか濃ゆいひとであった
437: 06/04(水)20:08 ID:gOZJfu0W(1) AAS
>>436
そうか?お前が薄いんだろ?
438: 06/04(水)22:29 ID:2viGTK+9(1) AAS
俺はなくなった!
439: 06/05(木)17:27 ID:SQvFMRJB(1) AAS
今のところあるけど、真っ白になりそう
440: 06/05(木)18:01 ID:z5q+AMkf(1) AAS
FDELPHI懐かしい
今やお爺ちゃんばっかりw
441
(1): 06/07(土)14:45 ID:CbGtbyv3(1) AAS
もろぼし☆らむって今ではシワシワすぎるハンドル名だなw
今もうる星好きなんだろうか?
442: 06/08(日)00:47 ID:BPZQNbCe(1) AAS
>>441
っていうか、アニメのキャラ名そのままのハンドルネームは著作権的な観点から良くないよな。
443: 06/08(日)00:52 ID:L5en/gYT(1) AAS
モロダシ☆ボンみたいなHNだな・・・
444
(2): 06/12(木)16:40 ID:kpruTJfW(1) AAS
10年ぶりくらいにここにきた・・・
流石にBCB5で書いたプログラムを移植しないといかん
なかなかな大手メーカー複数で未だに自分が書いたBCB5のツールをメイン業務で使ってるわ
定年までになんとかしておかんと不味いだろうなぁ
445
(1): 06/12(木)18:58 ID:K0gJGYFj(1) AAS
>>444
BCB民ならこちらへどうぞ
C++Builder相談室 Part21
2chスレ:tech

C++Builderとしては以前よりも良くなってはいるけど人がいないw
446: 06/13(金)01:16 ID:sOFsn++d(1) AAS
移植もそろそろAIがやってくれそうな気がする
447: 444 06/13(金)13:20 ID:mSGsIOqe(1) AAS
>>445
うっは、まだ当時のスレが残ってるw
頭が回る歳のうちに移植しなきゃいけないものは作り直しておこう・・・
448: 06/14(土)14:26 ID:YZlEn/ao(1) AAS
Delphi 12.1 CE で右ドラッグ&ドロップのコンテキストメニュー(「ここにコピー」「ここに移動」「プロパティ」「WinRAR」などインストールされているアプリの固有メニューなどエクスプローラでの実行時と全く同じ物)をコードで再現したい。

という質問を ChatGPT 、copilot、Claude 3.7 Sonnet、 Gemin Grok 3、 Deepseek にしてみたんですけど
「はい、Delphi言語について日本語で質問できます!」と言いながら

procedure ShowDropContextMenu(AFiles: TStrings; ToFolder: string; X, Y: Integer; HND: HWND);
こんな感じで呼び出したいと進めていっても
どれもみな型違いと未定義の識別子からはじまり煮詰めていっても最後はパラメーター間違いや範囲チェックエラーで行き止まりな感じで
メニューが出た場合でも「ToFolder」(ドロップ先のフォルダ)が反映されておらず「ここにFireFileCopyで移動」などもない

そもそも procedure で済ますのがいけないのかと
「IShellFolder.GetUIObjectOf( IID_IDropTarget ) を取得して、自分で実装した IDropTarget の引数をそのまま転送すればいい」
というのを見たので
省4
449
(1): 06/17(火)13:39 ID:Zu69+awX(1) AAS
AIに対する訊き方が悪いんじゃない?

Delphi 12.1 CE 版において、エクスプローラで任意のファイルを右クリックした時に
出てくるコンテキストメニューとまったく同じメニューを TPopupMenu で再現するには
Windows のどこの情報を読み PopupMenu のアイテムとして格納すれば良いですか?

と訊いたら詳しく教えてくれたよ (長くなるから回答は省略)
450: 06/17(火)16:00 ID:1Ch/dDKp(1) AAS
そこまでやったなら回答も教えてやれよって思う俺は器が小さいんかな?
451: 06/17(火)16:21 ID:JVeNxe0E(1) AAS
右クリックメニューではなく、右ドロップ時のメニューについて聞かれてるので>>449は質問文から間違ってるだろう
そもそもエクスプローラのコンテキストメニューの出し方はFAQレベルの頻出なので検索すればたくさん出てくる
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.125s*