くだすれDelphi(超初心者用)その58【Embarcadero】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/03/11(水) 18:30:39.03ID:NTiFnax/
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

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

■Delphi 10.3
ttp://www.embarcadero.com/jp/products/delphi

■Delphi Community Edition (無料)
iOS、Android、Windows、macOS向けアプリも開発可能。年間売上5000 US$以内の商用開発可。
https://www.embarcadero.com/jp/products/delphi/starter

<前スレ>
くだすれDelphi(超初心者用)その57
https://mevius.5ch.net/test/read.cgi/tech/1476332514/
2020/05/03(日) 21:14:36.18ID:pb+LD1+g
>>100 実行形式のファイルでわかる(話を膨らませたくない)
2020/05/04(月) 00:11:33.93ID:w8U0+R56
Delphi興味あるけど入門書とかあるの?
2020/05/04(月) 01:07:35.30ID:ens6WDYy
>>102
あるし
ブックオフにも時々売られている
ただしネットからの情報の方が役に立つ
100円ぐらいなら買いかもしれんが
オススメはしない
2020/05/05(火) 08:51:44.94ID:sAf8oNwD
>>102
どの技術かによるが、あまりないのは確か。今の時代、Youtube動画がおすすめ。
https://www.embarcadero.com/jp/products/rad-studio/videos
「Delphiで始めるビジュアルプログラミング」
https://img.en25.com/Web/Embarcadero/%7b5ac375fc-dcd6-4113-93c5-b27bcdc8c405%7d_delphi-visual-programming-wp-rio.pdf
「モバイル開発のためのDelphi言語」
https://www.embarcadero.com/images/jp/dm/technical-papers/the_delphi_language_for_mobile_development_wp_jp.pdf
「Object Pascal 言語ガイド」(ちなみにObject Pascal=Delphi言語)
http://docs.embarcadero.com/products/rad_studio/cbuilder6/JA/oplg.pdf
など公式の無料PDFもけっこうある。
https://www.embarcadero.com/jp/resources/white-papers
2020/05/05(火) 20:47:34.56ID:ccZUb+rC
やさしいDelphiとか買ったは良いけど馬鹿にして
ろくろく読んでなかったけど少し覚えたころに読み直して
読みふけった記憶がある
2020/05/05(火) 23:42:20.42ID:mZNzoXui
ネットでMr.XrayさんのDelphiライブラリとかは?
コード例が豊富で実務に近いサンプルが多いから即戦力で役に立つよ
2020/05/06(水) 00:09:31.01ID:c4mHHu/4
Mr.XRayはよくDelphi飽きないな
2020/05/06(水) 00:57:53.88ID:/QIuWPd0
>>106
あの人すごいけど、コードが長ったらしくてめんどくさいんだよな
109デフォルトの名無しさん
垢版 |
2020/05/07(木) 14:23:48.44ID:iDLhczx3
>めんどくさい
正しくは、性格がめんどくさい。
2020/05/08(金) 11:03:26.33ID:pTPptv3t
>>104
次のスレ立てるときにテンプレ追加よろしく。
2020/05/08(金) 11:16:20.52ID:BiYFFtVb
>>110
何年先のことだろう?w
2020/05/08(金) 16:56:00.10ID:Gv7rjAYa
昔資料なんもなくてpascalの本最初に買ったわw
delphiの資料散見するようになったの4.0ぐらいかなぁ
113デフォルトの名無しさん
垢版 |
2020/05/08(金) 23:23:32.46ID:LAUZxppw
2.0の時にはもう既に色々本出てただろ
2020/05/12(火) 11:25:29.31ID:1o4Ac9H7
コロナでどうなるのかわからないけど予定では10.4もうそろそろか
https://community.idera.com/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-03-37/2019_5F00_aug_5F00_roadmap.png

Code InsightとManaged Recordはいい感じだな
ようやくあの全く機能してない赤線からおさらばだ
2020/05/12(火) 18:05:31.09ID:vTASJ/Qx
日本にはDelphiユーザーが総計30人いるかも怪しいと思わせるぐらいの日本でのDelphiの存在感のなさ
2020/05/12(火) 22:04:37.52ID:LpH14Ljl
まあ日本じゃMVPがあのキモ男だからな
2020/05/13(水) 21:47:36.49ID:43He+utn
お前の方が粘着キモい
2020/05/18(月) 22:53:40.61ID:iIZtqgal
お、しばらく見ないうちにDelphiスレ立ってるやんけ
情報提供してやるか
FastMM5が公開されてるぞ有料だがな
ネックだったマルチスレッドでのパフォーマンスが上がっているらしい
ttps://github.com/pleriche/FastMM5
2020/05/19(火) 10:40:25.65ID:s6ELmoqR
>>118
有料なん?
2020/05/19(火) 11:52:18.90ID:akzN9bOV
>>118
GPLと有料の商用ライセンスのデュアルライセンスだな
2020/05/19(火) 12:27:20.69ID:pkGo/40g
マルチスレッドでのパフォーマンスがそんなネックなの?
2020/05/19(火) 13:59:21.06ID:EQQPGIGm
Delphi習得時間かかる?趣味でやりたいんだけど。プログラミングの背景lispちょっとやったことしかない。
2020/05/19(火) 15:50:08.99ID:pkGo/40g
何つくりたいの?
windowsなどで動くデスクトップアプリでいいんだよね?
スマホで動くアプリ作るなら他がいい

Delphiの難しさは普通です
C++とかに比べれば楽だけど
124デフォルトの名無しさん
垢版 |
2020/05/19(火) 19:46:40.43ID:8HY/3oGP
厚生労働省がガイドラインを発表…「副業」公認の時代が来た?
https://www.iza.ne.jp/kiji/economy/news/200516/ecn20051620000005-n1.html
フリーランス向け報酬即日払いサービス『先払い』受付開始7ヶ月で申込件数1,000件突破
https://prtimes.jp/main/html/rd/p/000000026.000047439.html
副業プラットフォーム「Kasooku」が約1.9億円調達、マッチング件数は5000件突破
https://jp.techcrunch.com/2020/04/30/kasooku-fundraising/
副業がしやすくなった?リモートワークを実施してよかったと思うことTOP5
https://dime.jp/genre/914967/
ポストコロナ時代の人生に副業は欠かせない
https://www.gentosha.jp/article/15457/
副業が社員を強くする コロナ・ショックが加速する新しい雇用の形
https://business.nikkei.com/atcl/gen/19/00149/042300009/
4割以上が「副業意欲向上」「副業しやすくなった」と変化|
新型コロナウイルスの影響下における働き方の実態・意識調査
https://prtimes.jp/main/html/rd/p/000000009.000040832.html
2020/05/23(土) 19:29:50.81ID:E32UMC0a
CはPascalから生まれた言語ですしC++ Builderという手もありますよね。
2020/05/25(月) 06:22:08.30ID:Ixq2SEe0
Delphiって、コンパイルエラーのメッセージが出たのを見て、直して成功させるのが難しいな〜と思ったことがある
英語で検索して解決策を見つけてみたら、エラーメッセージとあまり関係ないじゃん?みたいな
2020/05/25(月) 08:48:02.24ID:smF559Sl
>>126
それは単なる経験不足
2020/05/25(月) 12:55:47.60ID:rMpA52PW
mac catalinaでTMediaPlayerが機能しないな
困った
2020/05/25(月) 13:24:44.83ID:qxT5gfBk
( ´-`).。oO(「Macだとアレが出来ない」「Macにはアレが対応してない」って
どうしてわざわざMac買っといて嘆くんだろう…)
2020/05/25(月) 16:12:37.46ID:co6vqQRW
人の数だけ世界がある
アフォにはわからん
2020/05/25(月) 17:30:11.46ID:Ixq2SEe0
別に嘆いてもいいだろうが。
2020/05/25(月) 19:32:42.19ID:rbHw24Ue
ちゃんと調べて買え。
できないことを承知の上で買ったなら泣き言いうな。
2020/05/26(火) 02:10:14.56ID:TIDBRoyI
>>126
例えばどんなエラーメッセージが分かりづらいんですか?
2020/05/26(火) 20:52:48.51ID:2d4t/H28
>>126
プログラミング向いてないよ
2020/05/27(水) 01:54:33.80ID:F2hLo0bY
10.4 がリリースされたようだ。
136デフォルトの名無しさん
垢版 |
2020/05/27(水) 07:43:47.47ID:84Ec8F7+
>>126
C++のエラーメッセージよりは遙かにわかりやすいと思うけどな
2020/05/27(水) 11:35:45.73ID:ywidRLAj
アップデートは10.3を一度アンインストールするんだっけ?

TEdgeBrowserが面白そう
2020/05/27(水) 12:21:07.86ID:lOVmY4yI
>>128

10.4新機能
>macOS向けMedia Playerコントロールの実装にAVFoundationを使用

良かったな
139126
垢版 |
2020/05/27(水) 18:33:15.99ID:ljah5yzg
経験不足とか、プログラミング向いていないとか、言いたい放題言いやがって〜 その通りじゃね〜か
確かにもっとわかりにくいものがあるのはわかってるんだけど、同意してくれる人はいないのかな〜?
140126
垢版 |
2020/05/27(水) 18:39:51.03ID:ljah5yzg
>>133
すぐに思い出せないんだけど、検索して解決策を見つけて解決するんだけど、
これ、エラーメッセージからは想像つかないじゃん!?検索してこのブログを読まないと解決しないじゃん!?みたいな。
こういう経験が5回くらい。
2020/05/27(水) 18:58:17.78ID:qMHflnVd
>>140
だからそれは単なる経験不足
ガンバレ!
2020/05/27(水) 20:44:41.38ID:lW+3Tupd
BASIC の Illegal function call も、昔は絶望のエラーだったな。
2020/05/27(水) 21:00:24.20ID:4DUmT3JX
パラメータに変数を渡したときに値が範囲外だと出るんだよな
エラー行には間違いがない
2020/05/28(木) 09:26:46.23ID:y85C1H/Y
例えば「インデックスの範囲を超えてます」とかかな?
2020/05/28(木) 10:51:14.58ID:q/EpIKOK
>>143
そもそも範囲外の値を渡す、または参照するのはエラーなのでは(困惑)
2020/05/28(木) 12:10:07.59ID:AegHuEKU
最初はコンパイルエラーの話じゃなかった?
実行時のエラーなのか?
2020/05/28(木) 19:51:40.86ID:y85C1H/Y
10.4 Delphi / C++Builder の Community 版は
ライセンス違反者が多いからリリースを遅らせますって悲しいなぁ・・・。
2020/05/28(木) 20:56:43.99ID:4x2iqWh1
それだけ財政がキビシイって事だろうな
2020/05/28(木) 20:58:44.81ID:OiD7dhH5
だからと言って信者を底なしの貢ぎ地獄に陥れてはならない!
2020/05/28(木) 21:35:15.08ID:PMPrzr4t
しょうがないな
別の言語で開発するか
2020/05/28(木) 23:23:58.96ID:mM7ANo6u
ライセンス違反者って、どう判断するんだろう。
2020/05/29(金) 03:04:29.13ID:7HKJqr8J
>>151
Community版で生成されるバイナリに特有のコードが入っていたりするのかな?
もしくは有償版で生成されるバイナリに(ry
2020/05/29(金) 06:11:35.74ID:2nqwRk7D
同じIPからの複数のライセンス取得とか?
2020/05/29(金) 08:59:16.25ID:NtL+aLI5
本当は単なる開発リソース不足のくせに「ライセンス違反が多い(キリッ)」とか言ってるだけじゃね?
155126
垢版 |
2020/05/29(金) 11:43:11.64ID:h+Ogqaep
実際に多いとは思う。有料ユーザーを有利にするのには賛成。俺は有料ユーザーではないが。
それにしてもこの高額の開発ツールのビジネスモデルがうまくいくとは思えん。
2020/05/29(金) 12:39:12.32ID:o/ea5P70
お、10.4出たのか
さっそく入れてみるかな
2020/05/29(金) 13:06:42.79ID:yseuFPIu
価格が高いだけでなく、サブスク切れたら再インストールできなくなるんでしょ
>>85
コミュニティエディションは毎年バージョン変更が強制されるし
VSのコミュニティエディションなら旧バージョンを使い続けられるのに
2020/05/29(金) 17:04:40.21ID:a2JNiOkx
>>157
そう、本当に無間地獄。そのうえサブスク以前のライセンスまで一括で対象にされた。
理由は対応が手間だからと来た。お布施だと思うから継続してるけど、
そうでなければ市井の趣味グラマーにとってはアンインストールして存在を記憶から抹消するレベル。

10.4まだDLしてないけど
あのみっともないエラー箇所強調の新規構文未対応がついに直ったらしいね・・・
2020/05/29(金) 17:38:37.34ID:VKILCsEd
過去の製品まで勝手にインストールできなくしたら問題じゃね?
2020/05/29(金) 20:38:26.14ID:a2JNiOkx
大問題だけど彼らはそう思ってない。
https://community.idera.com/developer-tools/b/blog/posts/from-the-gm-new-updates-and-changes-ja
彼らにとってインストール回数リセットはサポートの範疇で労力がかかるからフルの延長サポート料金を取るんだそうだ。
バグフィックスならともかく自分たちで回数制限かけといてそのサポートが重荷だというのは手前勝手すぎる。
2020/05/29(金) 22:06:33.36ID:VKILCsEd
法律的にこんなんことして大丈夫なんか

まぁ、とりあえずみんなそういう状況じゃないからみんなあまり声あげてないが
いざ、将来サブスク脱退して、インストールしようとたらできねぇって後で大騒ぎするパターンやな
2020/05/29(金) 22:49:54.85ID:NtL+aLI5
エンバカとDelphiは絶対消えると思う
もうDelphi使ってるやつなんて皆無でしょ?
2020/05/31(日) 13:00:45.99ID:4bCC5j3Z
以前MCIのことで質問していた者です。
あのとき言われた言語ガイドはネットでpdfを、
開発者ガイドは最近やっとDelphi4のモノをやっと入手しました。
VCLリファレンスも常備していないとマズイでしょうか?
なかなか見つからず困っています。
今はカンタンDelphiプログラミングを教科書に知識の拡充を行っています。
2020/05/31(日) 17:12:56.37ID:IshPaU5c
>>104 で十分
2020/05/31(日) 17:16:25.98ID:IshPaU5c
>>161
法律的にとは、不正競争的にか?
それともライセンス契約に関連してか?
2020/05/31(日) 21:06:59.04ID:5Nn3DfLj
delphiって2進数リテラルってなかった?
ビット演算で16進数にわざわざ直すのが面倒
2020/06/03(水) 15:33:26.75ID:RRqnimZd
なかったと記憶。
今時のよその言語には普通にあるものなのかしら?
MSX-BASICだと「&B11110010」みたいにリテラルで記述できたのですが。

よほど速度を求めるのでなければ文字列からの変換でいいと思います。適当に作ってみました。

// 2進数文字列を整数値に変換する関数。
function BinToNum(const bin: string): integer;
function _BinToNum(const b: char): integer;
begin
case b of
'0': Result := 0;
'1': Result := 1;
else
raise Exception.CreateFmt('不正な2進数文字列(%s)', [bin]);
end;
end;
var
i: Integer;
begin
Result := 0;
for i := 1 to Length(bin) do
Result := (Result shl 1) or _BinToNum(bin[i]);
end;
2020/06/03(水) 17:47:49.07ID:RRqnimZd
>>167
戻り値はintegerよりcardinalのほうがよさそうですね。
2020/06/03(水) 19:53:26.77ID:/NZUB6aq
C# が最近対応したぐらいかな、今どきの言語だと。
にしても、2進と16進の変換てそんなに面倒かな。
2進表記もあれば便利だけど、そんなに困らないな。
2020/06/03(水) 20:14:29.95ID:RRqnimZd
なるほど、ありがとうございます。
ビット演算する処理ならソースコードをぱっと見て何をやっているのかがわかるのはなかなか便利だと思います。
2020/06/03(水) 22:21:44.90ID:/xDIRKVy
自分もそんなに使わないけど
fmxでanimatedGifを作りたくって
ビット演算で2進数リテラルがあると
コードが直感的に見やすいかなと
2020/06/03(水) 23:14:10.93ID:GFMw8LMh
10.4入れてみたけどヘルプが英語。
日本語ヘルプって別でダウンロードするんだっけ?
173デフォルトの名無しさん
垢版 |
2020/06/08(月) 03:12:20.23ID:EbnPIVPt
>>170
わからないお前の頭がわるいだけでは?
2020/06/08(月) 07:35:27.90ID:P6jW4UnQ
TFileStreamで文字列を書き込むにはどうしたら良いですか?
ググってもサンプルが古いのか期待通りに書き込めません。
多分、文字列がunicodeかどうかの違いが絡んでると思うのですが理解不足でご教授お願いします。
2020/06/08(月) 09:35:07.04ID:glbmqASs
>>174
「期待通りに書き込めません」

あなたが何を期待しているのか、何をしようとしてどのように動作すれば期待通りなのかがわからないので答えようがありません

どこの情報を見たのか
どのように実装したのか
期待する動作はどのようなものか

をお書き添えください
2020/06/08(月) 10:06:02.93ID:P6jW4UnQ
失礼しました。
書き込んだ後エディタで開くと「ヌル文字を空白に変換しました。」とメッセージが出ました。
(これは使用しているエディタの機能です。)

データ型をstringからansistringに変更したらうまくいきました。
2020/06/08(月) 21:34:58.58ID:IoeuchFO
>>176
TEncoding
2020/06/08(月) 23:08:06.74ID:soNQOkyL
こんな風にすると強制的にUnicodeで保存される

TFileStream.SaveToFile(FileName TEncoding.UTF8);
2020/06/11(木) 08:26:23.22ID:vddn2zfY
いつの頃からかわからないけど、C++ Builderでx64のコンパイルをすると
.aファイルじゃなく.libファイルを求められることがある。
Lib\Win64フォルダにある該当の.aを.libにリネームするとコンパイルは
通るんだけど、なんか腑に落ちない・・・
180デフォルトの名無しさん
垢版 |
2020/06/15(月) 13:19:32.48ID:yI5VNXYu
Delphi、まだ有ったんだね。
Borlandの頃に買って仕事でも使った記憶。
ダウンロードしてみようかな。
2020/06/15(月) 15:36:17.86ID:yyHcYZNn
HDDとかのデータ消去プログラムを作ろうと思うんだけど、TBytesStreamででっかいデータ作って書きこめば
一気に終わると思うんだけどダメ?

消去ソフトメーカーのサイト見たら120gbで何分かかったとか500gbだと何分とか書いてあります。
自分のは数秒で終わるので、もしかしてHDD全体に書き込んでなくてどんなデータかヘッダー的なことしか書き込まれていない?
2020/06/15(月) 15:38:50.94ID:0prNZLWQ
なぜ数秒で終わるのか考えたら
答えは出てるんじゃないの
2020/06/15(月) 20:13:22.69ID:ppLuJ6+V
まずはキャッシュに書いて終わりなんだろう
その後どのタイミングで実際にHDDに書きに行くのかはわからないから
2020/06/15(月) 20:47:25.13ID:yyHcYZNn
キャッシュですか。
何かのタイミングで書き込みが始まったら、当然待たされるってことですね。
ありがとうございました。
185デフォルトの名無しさん
垢版 |
2020/06/16(火) 19:21:03.16ID:cz5BWXSv
Delphi10.4もGetItから Bookmarks 1.6.1 と Navigator 1.6.1 がインストールできるようになったけど
Delphi10.3に古いバージョンのBookmarksやNavigatorが入ったままインストールすると
10.3の起動時にエラーになってまともに動作しなくなるな。

10.3のGetItも動作しなくなるからアンインストールもできない。
復旧させるにはレジストリの
\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0\Experts
を開いて、BookmarksとNavigatorの項目を削除すればいいみたいだ。
2020/06/16(火) 19:30:44.42ID:ZZYfhLS4
バージョン毎に仮想PCで開発環境構築するのがもう最近は安定だなぁ
2020/06/17(水) 00:04:58.33ID:ZroembKI
それわかるわー
うちもESXiで3VM、RADの別バージョン入れて使い分けてる
188蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/21(日) 10:06:34.05ID:CZ0/qR97
Delphi DFMバイナリデータとテキストデータを相互変換しようとしているがうまくいきません。
↓↓↓
https://github.com/katahiromz/dfmsc
これ↑↑↑をUTF-8テキストで読み書きできるようにして欲しいです。宜しくお願い致します。
現状では日本語が文字化けします。「リソーエディタ」という拙作のソフトに組み込んで使う予定です。

リソーエディタ
https://github.com/katahiromz/RisohEditor
189デフォルトの名無しさん
垢版 |
2020/06/21(日) 10:43:12.31ID:E5+qubYS
>>188
よくわからんけど、いきなりObjectBinaryToTextでファイルに出力しようとせずに
TMemoryStreamかなんかで受けて、SaveToFileで TEncoding.UTF8を指定して
出力すればいいんじゃないの?
2020/06/25(木) 13:34:41.83ID:D/hzFMr6
>>188
動作確認してないけど…
// ファイル書込
sl = TStringList.Create;
sl.LoadFromStream(SrcStream);
sl.SaveToFile('xxxx.txt', TEncoding.UTF8);
sl.Free;
// ファイル読込
sl.LoadFromFile('xxxx.txt', TEncoding.UTF8);
sl.SaveToStream(DestStream);
2020/06/29(月) 13:53:53.27ID:343FbNgg
IDE Fix Packの人生きてた
2020/06/29(月) 16:10:22.70ID:zJx0NN4Z
C++Builder相談室で書いたのですが暫くレスがなかったのでこっちで再度質問します
C++Builer10.2ですが、、
プロジェクト→オプション→アプリケーションでアプリケーションアイコンの設定で
256x256のアイコンを読み込ませようとすると
「アイコンを設定できません。システムリソース不足です」とエラーが出るのですが
これ登録する方法教えてください。
2020/06/30(火) 06:32:08.78ID:oIiI98iM
スレチです
2020/06/30(火) 08:54:20.36ID:/cKWkF1j
小さいサイズで試してみたのかね?
2020/06/30(火) 14:35:33.38ID:pMc78AsR
64x64のアイコンは正常にできました
256x256のアイコンで試してみた人いますか?
2020/06/30(火) 16:23:31.84ID:aGms9q+x
>>192
どうせアイコン作るソフトがICOの仕様通りに作ってなくて内部情報のアイコンサイズが256で記録されてるんじゃね
2020/06/30(火) 16:39:14.94ID:N/FgwePa
>>195
フリー素材としてWebで無料配布されてるアイコン画像を適当にいくつかDLして試してみるんだ
それで問題なければ最初に登録しようとしてた256アイコンに問題ある
2020/06/30(火) 17:20:10.57ID:pMc78AsR
>>196-197
ありがとうございます。
確かに他のアイコンで試してなかったので試してみます
2020/07/02(木) 16:03:20.24ID:GQLtFH/7
10.4のTJsonSerializerで列挙型を読み込もうとすると実行時エラーになってしまうな。10.3ではOK。
色んな設定をTJsonSerializerでファイルに保存するようなプログラムは移行できなくてかなり困る。
Quality CentralにもIssueが上がってたんでVoteしてきた。

ソースを追ってみたら、数字として文字列化した列挙型を復元するとき
整数型から列挙型への変換をRTTIのコンバータに任せようとするんだけど、
そこに数値型から列挙型の変換関数がないじゃんかよEmbarcadero……

ちなみに、プロジェクトのディレクトリにコピーしたSystem.RTTI.pasをプロジェクトに追加し、
そこにConvInt2IntとConvEnum2Enumを参考に自分でConvInt2Enumを書いて
Conversions配列定数の[tkInteger, tkEnumulation]にその関数を設定すれば動くようになる。
2020/07/03(金) 20:23:01.08ID:QG+Y1SjL
相変わらずのクソ品質だよな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況