2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

くだすれDelphi(超初心者用)その57

1 :デフォルトの名無しさん:2016/10/13(木) 13:21:54.84 ID:7i5E+q2+.net
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/?

2 :デフォルトの名無しさん:2016/10/13(木) 13:27:38.39 ID:rxboVzG1.net
クソスレ乙

3 :デフォルトの名無しさん:2016/10/13(木) 13:43:32.62 ID:7i5E+q2+.net
無料版の名称は Delphi 10 Starter Edition に変わっていたわ。

4 :デフォルトの名無しさん:2016/10/15(土) 06:07:00.29 ID:b/Ix7y8Q.net
stringのポインタを引数で使う時って何で@straaa[1]みたいに[1]をつけるの?

5 :デフォルトの名無しさん:2016/10/15(土) 06:41:31.92 ID:sr5ZMjEJ.net
PChar(straaa) じゃだめなん?
Hint: 空文字列の扱い

6 :デフォルトの名無しさん:2016/10/15(土) 08:01:16.21 ID:Wck8f7HF.net
>>4
今はAnsiStringなら>5でOK。
ShortStringだとstraaaa[0]に長さが入ってるので
@straaa だけだと PChar と互換性ないから

7 :デフォルトの名無しさん:2016/10/17(月) 13:18:21.20 ID:WrWXzKVd.net
>>5,6
ありがとう。
調べるワードありがとう

8 :デフォルトの名無しさん:2016/10/17(月) 22:03:38.40 ID:u9f1SlFV.net
有料版買えばandroidで動くプログラムをDelphiで作れるの?
Indyみたいなhttpコンポーネントって使えるのだろうか?

9 :デフォルトの名無しさん:2016/10/17(月) 22:24:59.98 ID:DkHWfezI.net
>有料版買えばandroidで動くプログラムをDelphiで作れるの?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
Starterでモバイルパックつかえなきゃ、Pro版も買わないといけんと。
>Indyみたいなhttpコンポーネントって使えるのだろうか?
Indy使わなくても最新のにはhttpのクライアントライブラリ含まれてるからそれ使えば?

10 :デフォルトの名無しさん:2016/10/17(月) 22:41:43.85 ID:PmRH05Ee.net
cとかc++のenumって、Delphiの列挙型ということでいい?
集合とは違うんだよね?

11 :デフォルトの名無しさん:2016/10/17(月) 22:42:37.41 ID:DkHWfezI.net
そりゃ、Delphiの列挙の方でしょ

12 :デフォルトの名無しさん:2016/10/17(月) 23:10:18.46 ID:6Picysvx.net
ありがとう

13 :デフォルトの名無しさん:2016/10/19(水) 10:47:08.64 ID:4tgALgAo.net
ライトみたいに光る質感のコンポってありますか?

14 :デフォルトの名無しさん:2016/10/22(土) 10:30:31.92 ID:VBuj+teK.net
tabsheetの色を変えられるようにしたんだけど、clBtnFaceを指定しても白くなるんですけど何故でしょうか?
他の色は反映されます。
Delphi10.1Berlinを使っています。

15 :デフォルトの名無しさん:2016/10/22(土) 10:35:27.82 ID:VBuj+teK.net
バカみたいな質問をしてしまいました。
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?

16 :デフォルトの名無しさん:2016/10/22(土) 10:58:32.88 ID:OrToTiIL.net
>>15
テーマが関係してるんじゃなかったっけ

17 :デフォルトの名無しさん:2016/10/22(土) 11:01:18.05 ID:AS0AO2zF.net
>>15
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?

18 :デフォルトの名無しさん:2016/10/22(土) 11:34:02.15 ID:VBuj+teK.net
ありがとうございます。
と言ってもどうしていいか分からないのでパネル貼ります。w

19 :デフォルトの名無しさん:2016/10/23(日) 10:04:04.33 ID:FT6Wwhog.net
昔Del7で作ったExcelを操作するプログラムを、Berlinで作り直したいんだけど今だとFirerDacを使うんですか?
取り敢えずやりたいことは、xlsxをcsvに変換したいだけなので簡単な方法があったら教えて下さい。

20 :デフォルトの名無しさん:2016/10/23(日) 10:46:21.34 ID:CGzeXgZh.net
ole

21 :デフォルトの名無しさん:2016/10/23(日) 13:40:03.44 ID:MP5NXD0l.net
今まで Delphi 7 で作っていましたが、Delphi 10.1 に移行することにしました。

そこで、10.1のListViewの挙動について質問です。
D7では、以下のコードで ListItem の一行の背景全てが綺麗に塗りつぶされていましたが、
10.1では Caption と SubItems[0]、そして SubItems間で 2pixel の白い区切り線のようなものが出来てしまいます。
回避方法をご存知の人は教えて下さい。

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Not Odd(Item.Index) then
begin
with ListView1.Canvas do
begin
Brush.Style := bsSolid;
Brush.Color := clLime;
end;
end;
end;

22 :デフォルトの名無しさん:2016/10/23(日) 14:13:58.96 ID:gusT9oXO.net
>>21
propertyのGridLinesじゃないのか?
Delphi 10.1動かしてないから適当やけどw

23 :デフォルトの名無しさん:2016/10/23(日) 15:14:16.61 ID:MP5NXD0l.net
>>22
GridLines は False です。
試しに True にしても同じように 2pixel の区切り線が出ます。
他の人の環境では出ないのでしょうか?

24 :デフォルトの名無しさん:2016/10/23(日) 15:28:26.85 ID:MP5NXD0l.net
参考画像です。
http://fast-uploader.com/file/7032759494826/

25 :デフォルトの名無しさん:2016/10/23(日) 16:44:38.74 ID:kZkGsd/R.net
ちょっと教えてください

CD-ROMドライブのデバイス名(「EX-DVD04K」とか)と
ドライブ名(「D」とか)の一覧を得たいんですが
それぞれ別の方法で取得できるんですが、
複数のCDドライブがあると、対応が分かりません(EX-DVD04K = D)。

たぶんAPIを使うことにあると思います。

似た質問はあったんですが、回答がない...
ttp://okwave.jp/qa/q1942763.html

26 :デフォルトの名無しさん:2016/10/23(日) 16:54:42.26 ID:CGzeXgZh.net
http://www.chrysocome.net/download
dd のソース見れ

27 :デフォルトの名無しさん:2016/10/23(日) 18:18:46.84 ID:j9LNItD5.net
cd-romだとWin32_CDROMDriveが使える

28 :デフォルトの名無しさん:2016/10/23(日) 20:00:40.26 ID:kZkGsd/R.net
ありがとうございました。
DelphiでWin32_CDROMDriveの使用例がありました。

29 :デフォルトの名無しさん:2016/10/24(月) 02:18:05.54 ID:Pol9g+IM.net
>>21 >>24
10.1 Starter で再現したことだけ報告しておきます。

30 :19:2016/10/24(月) 11:23:45.88 ID:V1HEhUaE.net
>>20
ありがとうございます。

delphiは久々なのでググりまくってる最中なんですが
Excelのコンポーネントとか有ったと思うんだけど今は無くなった?
悩んでてもしょうがないのでXRAYさんのサイト見ながらやってみます。

31 :デフォルトの名無しさん:2016/10/24(月) 11:46:44.14 ID:/o9Bzib3.net
>>30
Excelのタイプライブラリ取り込めばおk

もしくはFlexcel買うか

32 :19:2016/10/24(月) 12:20:49.82 ID:V1HEhUaE.net
>>31
>Excelのタイプライブラリ取り込めばおk
おぉ、そんなのありましたね。
一気に進めそうです。
ありがとうございます。

33 :19:2016/10/25(火) 23:13:37.93 ID:PC8b9+iO.net
oleコンテナだけでExcelのブックを表示できました。
昔とは違うんですね。
ただ、Excel本体も立ち上がってくるのですが、Excelは立ち上げずにブックを弄るにはどうしたらいいでしょうか?

34 :デフォルトの名無しさん:2016/10/25(火) 23:23:00.70 ID:9oSj5Tvc.net
Visisbleプロパティみたいのなかったっけ?

35 :デフォルトの名無しさん:2016/10/25(火) 23:25:41.18 ID:9oSj5Tvc.net
s多すぎた

36 :19:2016/10/26(水) 00:18:32.99 ID:5VsTRTiY.net
>>34
ありがとうございます。
試してみます。

37 :デフォルトの名無しさん:2016/10/26(水) 01:12:16.61 ID:DnQDMwJL.net
>>36
当然だけどExcel入ってない環境では動かないからね

38 :デフォルトの名無しさん:2016/10/26(水) 12:57:47.98 ID:6SHMskVi.net
>Excelは立ち上げずに

って書いてあるのにVisible薦める香具師ってなんなの

39 :デフォルトの名無しさん:2016/10/26(水) 12:59:55.89 ID:yTRH6Fig.net
立ち上げずにコンテナになれるわけないことを暗に示しただけやない?

40 :デフォルトの名無しさん:2016/10/28(金) 04:03:53.32 ID:Jy3/QgVN.net
新しいDelpiのフォームの位置をドラッグで移動できないな???

どうして?

41 :デフォルトの名無しさん:2016/10/30(日) 03:41:18.12 ID:5WyC57Kn.net
>>40
「デフォルトレイアウト」から「クラシック(ドッキングなし)」に変えたら
Delphi7のような画面レイアウトになるけど、お望みの回答かどうかはわからない。

42 :デフォルトの名無しさん:2016/10/30(日) 08:46:34.99 ID:GMyWViLu.net
丸が幾つか描かれているbitmapがあるとして特定の丸の色を変えたいと思い、
丸の上にshapeの丸を置いて対応しました。
このbitmap上の丸とshapeをきっちり対応させる方法ってないですか?
bitmapの大きさ変えたりスクロールさせた時にshapeも追従させたいのですが。

43 :デフォルトの名無しさん:2016/10/30(日) 12:44:13.74 ID:+fHRwEF9.net
>>42
丸を違う色でを塗りつぶすか
違う色で丸を再描画するとかダメ?

44 :42:2016/10/30(日) 13:14:20.67 ID:VzVr3D3G.net
>>43
説明不足ですみません。
ビットマップの画像ファイルを貼り付けた状態と言うことでした。

45 :デフォルトの名無しさん:2016/10/30(日) 15:20:00.36 ID:+fHRwEF9.net
>>44
じゃ、ビットマップ内の円を直接塗りつぶすのがいいよ?

モグラ叩き(?)みたいに動的に表示するんだったら
1) Bitmap0にオリジナルをロードしておいて
2) Bitmap1に都度コピーして任意の円を塗りつぶす
3) そんで最終的にPaintBoxのCanvasにコピーする
4) これを繰り返す

Shapeを使う必然性があるんだったら別だけどね

46 :42:2016/10/31(月) 20:22:37.53 ID:I4hSi9OL.net
>>45
ありがとう!!
出来ました、

47 :デフォルトの名無しさん:2016/11/01(火) 14:44:48.26 ID:aPCKG/Vh.net
Delphi10のインストーラーが一瞬立ち上がってすぐ終了してしまうのですが原因がわかる方いませんか?
サポートサイトを見てもレジストリを触る事しか見当たりません。
どなたかよろしくお願いします。

48 :デフォルトの名無しさん:2016/11/01(火) 15:13:15.36 ID:p35VuLBk.net
パソコンが壊れとる

49 :デフォルトの名無しさん:2016/11/01(火) 17:44:57.98 ID:wawt2m9n.net
まずはdependencywalkerとか
あとウィルスチェックソフト止めるとか
ファイアウォール開いてみるとか

50 :デフォルトの名無しさん:2016/11/01(火) 18:11:10.46 ID:MBBNR+y9.net
お客様にエスパーの方はいらっしゃりませんかー(棒

51 :デフォルトの名無しさん:2016/11/01(火) 18:13:18.08 ID:by7jiIas.net
馬鹿には無理

52 :デフォルトの名無しさん:2016/11/03(木) 13:26:56.03 ID:2mKhPyDG.net
符号付きのダブルワードとか言うデータを扱う事になったんだけど、普通に数値が相手から送られて来ると思ったら
16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけどプロの人はどうやってるの?

ググったら変換の考え方は分かったんだけど、プログラムをどう書けば良いかわからん。

Delphiって16進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?

53 :デフォルトの名無しさん:2016/11/03(木) 13:32:53.30 ID:6FeMk1RE.net
16bitでわかれるって
65535,65535
っていう意味?
だったら
0xffff,0xffff
で1dwordだから
リトルエンディアンなら
(dword)((a[0]<<16) | a[1])
で済むはず

54 :デフォルトの名無しさん:2016/11/03(木) 13:33:58.48 ID:6FeMk1RE.net
ああ逆ω
(dword)((a[1]<<16) | a[0])

55 :デフォルトの名無しさん:2016/11/03(木) 13:41:15.66 ID:2mKhPyDG.net
早速、ありがとうございます!!
式の意味がわからないw
調べ倒します。

65535,65535に分かれるんですが、-の時には両方2の補数がナンタラカンタラ変換された10進数が送られてきます。

また、分からないことがあったら宜しくお願いします。

56 :デフォルトの名無しさん:2016/11/03(木) 16:09:43.66 ID:nO9s2Og+.net
SmallInt変数に代入すればいいんじゃない?

var
si: SmallInt;

si := StrToInt('$' + Edit1.Text); // 16進数の文字列
si := StrToInt(Edit1.Text); // 10進数の文字列
Edit2.Text := IntToStr(si);

...こう云うことじゃないの?

57 :デフォルトの名無しさん:2016/11/03(木) 16:20:54.86 ID:KRq5Cur1.net
こういうあほと仕事したくないな

58 :53:2016/11/03(木) 18:24:42.65 ID:2mKhPyDG.net
やってみたらあっさりできました。
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?

59 :デフォルトの名無しさん:2016/11/03(木) 18:32:31.39 ID:Vzj8eJlj.net
>Delphiが内部で勝手にやってくれる

その認識はおかしい

「Delphiは何もしない」が正しい

60 :53:2016/11/03(木) 19:10:20.41 ID:2mKhPyDG.net
>>59
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?

61 :デフォルトの名無しさん:2016/11/03(木) 19:18:10.90 ID:KRq5Cur1.net
+ b でも良いかも知れないが or b の方が良くね

62 :デフォルトの名無しさん:2016/11/03(木) 19:21:51.74 ID:cIZsGa0I.net
符号付きのDWORDって4バイトの整数とは違うの?

63 :デフォルトの名無しさん:2016/11/03(木) 19:44:23.50 ID:ieIIzjtH.net
DWORDというかWORDが符号なし整数値やろ
BYTEはunsigned char
WORDはunsigned short
DWORDはunsigned long
UINTはunsigned int
いずれも符号なし整数

64 :デフォルトの名無しさん:2016/11/03(木) 20:02:43.66 ID:URbOgVYK.net
DWORDは符号なしだけど
送られてくるデータはDWORDだけど符号を扱うっつってんだから
普通に中身はintだろ
intにキャストすれば万事OK

65 :デフォルトの名無しさん:2016/11/03(木) 21:13:18.27 ID:iYejUQc8.net
曖昧すぎるんだ

>普通に数値が相手から送られて来ると思ったら
>16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけど

66 :デフォルトの名無しさん:2016/11/05(土) 12:52:45.83 ID:edcXpxnV.net
>>60
同じ数値型変数でも a の型を変えてビット数や符号付きかどうかが変わると結果も変わる。

67 :53:2016/11/06(日) 00:10:46.65 ID:EC/gao/y.net
>>66
仰る意味が分かりました。
符号付き16BitのデータをLongに入れるとマイナスが判断されず16Bitのプラス値が入る。
Smallintに入れるとマイナスを認識する。
と言う事で、扱うデータにあった型の変数に代入する、
もしくはデータの符号の位置が変数の左端に入るように
シフトさせるとプラマイを勝手に判断してくれると言う事で良いでしょか?

68 :デフォルトの名無しさん:2016/11/06(日) 04:28:48.06 ID:nNdE2u+1.net
>>67
勝手に、というか、歴史的なものでもあるんだが、そもそもコンピュータは符号について考慮できない。
というのはビットのON/OFFしかないからだ。かといって計算ではマイナスの値も考慮する必要がある。
ということで色々あって、結局今のコンピュータでは高速に計算する場合はこういう手法を使うことになった。
(低速になってもいいが精度が必要な場合にBCDにするとか、他の方法もあるがちょっとそれは置いておく)。

1. 0/1が表せるビットを束ねてまとめて2進数として大きな数値も表せるようにする。
2. 0の時は全てのビットが0になる。
3. 0の状態で1を引いた時、つまり-1は全ビットが1になる。
4. 更に1引いた場合は符号なし整数の時と同じ計算で1を引く。
5. 1番上のビットが1の場合はその値はマイナス、0の場合はプラス。

なので例えば8bit符号付整数は -128 〜 127 までが表せるが、-128の時は2進だと 10000000 になっている。
127 は 01111111 になっている。

画面に10進数に変換して出す場合はまず最上位ビットを見て1ならばマイナス記号を出しプラスならば何も出さない。
次に最上位ビットが1ならば全ビットを反転させた後に1を足す(符号をマイナスからプラスに変換する)。
その後10で割った余りを数字の文字に変換して出し10で割るというのを0になるまで繰り返すが、これだと
逆順になるので再帰処理にするかバッファに入れておいて逆順に出すか少しテクニックが必要。

69 :デフォルトの名無しさん:2016/11/06(日) 09:03:20.09 ID:j4rRKkND.net
コンピューター工学
ASM
2の補数
・・・・いろいろ学ばないと分からないかも
一番いいのは痛い目食わないと覚えられないかも
趣味なら?

70 :デフォルトの名無しさん:2016/11/06(日) 09:31:18.68 ID:rGVVvSQ9.net
>>68
結果がたまたま合ってるが過程がめちゃくちゃの典型的な悪文

71 :デフォルトの名無しさん:2016/11/07(月) 02:58:59.60 ID:k8MgRjfU.net
じゃあおまえが書けよ

72 :デフォルトの名無しさん:2016/11/07(月) 07:51:58.89 ID:MiZ0k8Uw.net
わしもそう思う
しかし、理解すべきは、型の互換性や代入の互換性についての処理系の決め事であって、
動作原理やらは趣味の領域。

73 :デフォルトの名無しさん:2016/11/07(月) 11:31:55.07 ID:VvMqHJ76.net
変数の宣言で符号有り、無しのどちらの宣言しても
キャストでどうとでもなるから、くよくよするな
var
i : LongInt;

キャストで
LongWord(i)
出来るから

74 :デフォルトの名無しさん:2016/11/07(月) 16:11:14.00 ID:iTWgrf69.net
スレチ

75 :デフォルトの名無しさん:2016/11/09(水) 15:53:32.11 ID:i2gLSeC7.net
D7のクイックレポートで質問です
現在単純な一覧を作っているのですが、罫線で全体の外枠を太く、明細行の仕切りを細く描きたいと思っています
Bandのフレームを外枠にして明細行は左右だけフレームで描き、下部にQrshapeを置いてやってみたのですが
その明細行がページの最終行かどうか判断する方法がわからず
外枠の下を印刷できません
各ページの行数は不定です
何かいい方法は無いでしょうか


もう一つ、グループで小計を印刷したいのですが、その際小計行は太線で囲みたいと思います
小計行はグループフッターで印刷し四方をフレームで囲ってみたところ明細行のShapeとフレームが重なって
小計行の上の線だけ少し太く印刷されてしまいました
うまいやり方は無いでしょうか

よろしくお願いします

76 :デフォルトの名無しさん:2016/11/09(水) 16:14:12.62 ID:i2gLSeC7.net
済みませんもう一点ありました
グループではなくページの小計を印刷したいのですが、ページフッターだと明細行と離れて印刷されてしまいます
何かいい方法は無いでしょうか

77 :デフォルトの名無しさん:2016/11/18(金) 05:32:26.95 ID:mITFokzs.net
仮想のイーサネットインターフェース(NIC)の作り方って知りませんか?
linuxだと簡単にできるらしいけど、windowsでできるコンポとかコマンドとかないのかな?

78 :デフォルトの名無しさん:2016/11/18(金) 16:27:06.42 ID:vbdBJsNN.net
softetherみたいなの?

79 :デフォルトの名無しさん:2016/11/18(金) 17:38:12.72 ID:mITFokzs.net
そういうのいじってみたい
仮想NICというかループバックていうのはMS純正でできるのが分かった

80 :デフォルトの名無しさん:2016/11/18(金) 19:29:30.81 ID:e+81aozX.net
ソース公開されてるだろ

81 :デフォルトの名無しさん:2016/11/20(日) 12:26:46.05 ID:n8KZIrdr.net
https://www.embarcadero.com/products/rad-studio/features
RAD Studioの体験版ってDelphi XE2と共存できる?
体験版試して環境壊したら面倒だから躊躇してる
買うなら完全上書きで移行でも良いんだけど
xamarinみたいにハマるならやめたい

82 :デフォルトの名無しさん:2016/11/20(日) 12:33:25.79 ID:omU4WGo2.net
canvasやcaptionを持ってないコントロール上に文字描こうと思ったら、LABELを被せるのが一番簡単?

83 :デフォルトの名無しさん:2016/11/20(日) 12:37:35.32 ID:sLB4mNYr.net
そりゃ、ポトペタしてプロパティ変更するだけだから、10秒で終わるし。

84 :デフォルトの名無しさん:2016/11/21(月) 02:06:39.96 ID:9bjfwpvu.net
動的に沢山作ったコントロールの破棄方法を教えて下さい。
作っ時にTLISTに入れておいて、破棄する時にリストから引っ張り出してfreeでいいですか?

85 :デフォルトの名無しさん:2016/11/21(月) 06:45:32.74 ID:6Naumri0.net
TObjectListに入れておけば、リストをクリアするだけでOK

86 :デフォルトの名無しさん:2016/11/21(月) 08:34:01.10 ID:3YAs2dXK.net
>>81
XE2とは共存できる。
10.1Berlinの他のグレードとは共存できない。

87 :デフォルトの名無しさん:2016/11/21(月) 08:43:29.76 ID:sE1stBxO.net
>>85
ありがとうございます!

88 :デフォルトの名無しさん:2016/11/21(月) 23:48:31.13 ID:eSdu1Qd7.net
>>86
ありがとう!入れてみてすんなりスマホアプリ作れたら買おうっと

89 :デフォルトの名無しさん:2016/11/22(火) 11:23:52.32 ID:J8mgYJIF.net
16万かー 高すぎる
昔の4万位ならまた買いたいと思っていたのに、これじゃ無理だわ
C#ならタダだから、こっちで我慢する

90 :デフォルトの名無しさん:2016/11/22(火) 13:02:30.45 ID:d73nUv9a.net
すごく初歩な事だと思うんだけど、フォームを最大にした状態でコントロールを配置するにはどうしたら良いですか?

91 :デフォルトの名無しさん:2016/11/22(火) 13:11:22.55 ID:qW+6ZAFd.net
えっ?

92 :デフォルトの名無しさん:2016/11/22(火) 16:00:58.51 ID:d73nUv9a.net
フォームデザイナは消せない?
フォームデザイナの中で少なからずスクロールさせるのがうざくて。

93 :デフォルトの名無しさん:2016/11/22(火) 16:20:11.79 ID:Pvp5yOqg.net
もっと大きいディスプレイを使う

94 :デフォルトの名無しさん:2016/11/22(火) 17:14:24.12 ID:d73nUv9a.net
えっ?そう言う事じゃないw

95 :デフォルトの名無しさん:2016/11/22(火) 18:10:29.79 ID:kKFxgFqP.net
コンポーネントパレットのコンポーネントをダブルクリックすればいいんじゃね。

96 :デフォルトの名無しさん:2016/11/22(火) 18:15:01.08 ID:jjDYJ6Bv.net
最大化した状態を想定してコントロールを配置したい?
...ということでもなよね

97 :デフォルトの名無しさん:2016/11/22(火) 20:43:49.84 ID:d73nUv9a.net
>>96
そう言う事です。
俺、相当変なこと聞いてる?

98 :デフォルトの名無しさん:2016/11/22(火) 20:54:34.84 ID:1EZz+VvR.net
フォームのサイズに追随するように作るから
わざわざ最大化で考えたりしない

99 :デフォルトの名無しさん:2016/11/22(火) 21:23:29.12 ID:jjDYJ6Bv.net
>>97
自分だけが使うんだったら、最大化を想定して
コントロールの絶対位置を決めることもありだけどね

でも、どのような環境で使われるか分からない場合
フォームの最大化への対応は結構難しいと思う

まあコントロールのAlignでフォームサイズに
追随するだけでいいなら簡単だけど...

100 :デフォルトの名無しさん:2016/11/22(火) 22:15:22.90 ID:d73nUv9a.net
>>98,99
ありがとうございます。
大きなディスプレイ使います。w

101 :デフォルトの名無しさん:2016/11/22(火) 23:16:57.50 ID:qW+6ZAFd.net
ふーん

102 :デフォルトの名無しさん:2016/11/23(水) 13:06:18.51 ID:tPiPFLaf.net
>>100
4Kディスプレイを買うのかな?

103 :デフォルトの名無しさん:2016/11/23(水) 13:16:56.95 ID:wddBimUU.net
4Kディスプレイはプログラミングする上で非常に作業性が高まって
生産能力が跳ね上がるからアリだな
たくさんの資料と開くのはマルチディスプレイでも出来なくないけど
4Kディスプレイは縦が長いのが素晴らしい

一つ問題があるとしたら
自分のソフトを4Kディスプレイで最大化したら
描画が追い付かなくなってカクカクになるという事実に気づいてしまうこと
ただし、MS謹製のエクスプローラでもカクカクになるぐらいなので
本当の意味で4K対応のソフトはそんなに多くないし
気にしなくてもよいのかもしれんが、どーなんだろ
アンチエイリアスのかかった文字の描画がとにかく遅い
1FPSぐらいになって操作困難だ

104 :デフォルトの名無しさん:2016/11/23(水) 14:35:16.76 ID:XEgR0M7V.net
k-ブルが糞なんじゃね

105 :デフォルトの名無しさん:2016/11/24(木) 21:31:04.24 ID:EbGC2MML.net
サブスクリプションって、アップデート2をインスコすれば
勝手にライセンス適用してくれるの?

106 :デフォルトの名無しさん:2016/11/26(土) 08:53:16.82 ID:SyGP2pYs.net
フォームに入力した数値を保存する方法を教えてください。

107 :デフォルトの名無しさん:2016/11/26(土) 10:20:52.50 ID:RLaeAJYk.net
>>106
フォーム(上のエディットコンポ)に入力した数値を(ファイルに)保存する方法ということかしら?

簡単な一例。
フォームにエディットコンポEdit1とボタンButton1があるとしてボタンを押したらエディットコンポに入力されたテキスト(数値でなくても同じ)をファイルに保存する。

procedure TForm1.Button1Click(Sender: TObject);
var
 sl: TStringList;
begin
 sl := TStringList.Create;
 try
  // 入力された文字列を取り出し(数値だろうと扱いは文字列)、文字列リストに追加
  sl.add(Edit1.Text);
  // 文字列リストの内容をファイルに保存(ここでは実行ファイルと同じフォルダーにした)
  sl.SaveToFile(ChangeFileExt(Application.ExeName, '.txt'));
 finally
  sl.Free;
 end;
end;

108 :デフォルトの名無しさん:2016/11/26(土) 10:35:43.40 ID:SyGP2pYs.net
ありがとうございます。
ちょっとやってみます。

109 :デフォルトの名無しさん:2016/11/26(土) 23:59:22.61 ID:+C/v9Yiv.net
TFile使ったら1行で書けるかも

110 :デフォルトの名無しさん:2016/11/27(日) 21:47:18.22 ID:G948Ts5Y.net
TEdit.Lines自体がTStringsだからSaveToFile持ってるんじゃなかったかな

111 :107:2016/11/27(日) 22:12:21.76 ID:Vd8hDN3e.net
昔のDelphiしかないので最近のはわかりません、あしからず。
昔のでもメモコンポならLines.SaveToFile(ファイル名)できますね。

112 :デフォルトの名無しさん:2016/11/28(月) 01:18:24.55 ID:uacaeDTN.net
TEditにLinesプロパティってなくね?

113 :デフォルトの名無しさん:2016/11/28(月) 13:10:31.06 ID:/4N3P5Kl.net
TEditにはLinesはないね
もともと1行編集ボックスだからね

TEditの内容を保存するんだったら
TStringList.に読み込んでSaveToFile()を使うか
TFile.WriteAllText()を使うかだね

まあ後者のほうが簡単だけど

114 :デフォルトの名無しさん:2016/11/28(月) 22:30:06.28 ID:4Blidc3O.net
TFileってのは最近できたのか
TFileStreamとは別物なんだな?

115 :デフォルトの名無しさん:2016/11/29(火) 05:29:51.70 ID:W5POPsuB.net
TFile はDelphi2010からだって
TFileStreamとは別物
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TFile
System.IOUtils自体が2010からの追加らしい

116 :デフォルトの名無しさん:2016/11/29(火) 11:14:31.26 ID:Ln/aQe4r.net
パスワードがかかっているExcelファイルを開ける時にパスワードを入れる方法を教えて下さい。
delphi からパスワード無しファイルを操作する事は出来ています。

117 :デフォルトの名無しさん:2016/11/30(水) 09:51:10.70 ID:YyN+WuPe.net
>>116
どういうやりかたで
「delphi からパスワード無しファイルを操作する事は出来ています。」
ができているのかしらんけど

OLEオートメーションを使っているなら、
xlApp.Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format,
Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)


excelを持ってないなら
?FlexCel for VCL / FireMonkey
を使うとか 

118 :デフォルトの名無しさん:2016/12/01(木) 19:46:00.26 ID:D32vS8+n.net
D6の使用許諾コードって今でも都連だね 知らなかったわ

119 :デフォルトの名無しさん:2016/12/02(金) 19:55:58.69 ID:DITubkqg.net
なぜに今さらD6?
新しいの無料になってなかったっけ

120 :デフォルトの名無しさん:2016/12/02(金) 23:02:38.10 ID:p/xrLFXH.net
RXバグだらけで使いづらいよ

121 :デフォルトの名無しさん:2016/12/02(金) 23:39:57.49 ID:LMsZph5A.net
具体的にどんなバグ?

122 :デフォルトの名無しさん:2016/12/03(土) 09:26:01.40 ID:lQCz0lUj.net
ボタンの色の変更ってTButtonから派生させて改造しないとダメ?

123 :デフォルトの名無しさん:2016/12/04(日) 00:23:15.66 ID:VbxK6ZGr.net
結局どんなバグがあったんだろう

124 :デフォルトの名無しさん:2016/12/04(日) 00:50:42.52 ID:Zv4y5DXv.net
こんなバグ
http://gigazine.net/news/20161201-windows-10-upgrade-bitlocker-bypass/

125 :デフォルトの名無しさん:2016/12/04(日) 01:14:11.69 ID:VbxK6ZGr.net
WindowsのバグとRadStudioになんの関係が?

126 :デフォルトの名無しさん:2016/12/04(日) 20:23:52.39 ID:DHDwgClI.net
7以降アップデートしてないんだけど
すると良いことある?

127 :デフォルトの名無しさん:2016/12/05(月) 16:25:17.26 ID:dF177W8B.net
人に依る

128 :デフォルトの名無しさん:2016/12/05(月) 20:51:09.49 ID:u75Tu5Z4.net
ユニコード対応がなんたらうんたら

129 :デフォルトの名無しさん:2016/12/05(月) 22:36:44.05 ID:Yjl942ym.net
Delphi2.0 の高速コンパイルは素晴らしかった

130 :デフォルトの名無しさん:2016/12/05(月) 22:44:55.05 ID:FaC7RcWw.net
>>128
Unicode対応なんだ・・・TNTいらなくなるのか
これだけでも少し便利そうだな・・ありがと考えてみる

131 :デフォルトの名無しさん:2016/12/05(月) 23:11:20.14 ID:3xjBziHl.net
新機能使わなきゃそりゃあってもしょうがないけど、
さすがに7からならアップグレードすりゃ色んな新機能がわんさかだと思うよ。
古い新機能ではUnicodeから始まってWin64bit対応やOSX対応、ジェネリックやら
Vistaとかの新コントール。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
から新機能のページだけを過去のバージョンにさかのぼってみていけばいい。

132 :デフォルトの名無しさん:2016/12/06(火) 00:07:34.75 ID:cx3pcX82.net
コードエディタの進化は効率アップにもなるしやっぱ良いよ

133 :デフォルトの名無しさん:2016/12/06(火) 18:04:09.67 ID:GBHXmuqR.net
Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。
今、バーコード入力するソフトを書いているのですが、担当者をComboboxで選択していないと
EditをクリアしてShowMessageを表示するつもりです。
EditをクリアしてMessageを出す事自体は出来ているのですが、バーコードから送られるデータの
最後にCRがついてきて(バーコードリーダーが付けてきます。)、多分このCRがShowMessageに
送られてShowMessageが勝手に消えてしまうようなのです。
イベントはKeyPressを使っています。
Windows7 Delphi10.1の環境です。
よろしくお願いします

134 :デフォルトの名無しさん:2016/12/06(火) 18:16:56.25 ID:B1jaM3TV.net
何がききたいのかようわからん。

135 :デフォルトの名無しさん:2016/12/06(火) 18:24:00.95 ID:B1jaM3TV.net
「Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。」
後ろにごちゃごちゃよくわからん説明が書いてあるけどこれが聞きたいの?

単に入力された文字をキャンセルならKeyPressのイベントでKeyパラメータに
Key := #00とか代入すればいいんじゃなかったっけ?
if Key = 'A' then
 Key := #00;
すりゃ、Aの文字が入力できなくる

このことじゃなかったらもっと適格に書いてくれんとわからん。

136 :デフォルトの名無しさん:2016/12/06(火) 19:02:50.65 ID:GBHXmuqR.net
ありがとうございます。
バーコードから送られてくる文字を全てキャンセルしたいのです。
一文字ずつチェックするのではなく、一気に送られて来た文字を消す方法はありませんか?
宜しくお願いします。

137 :デフォルトの名無しさん:2016/12/06(火) 19:18:11.18 ID:BLWAVjyu.net
>>136
CRって復帰コードのことだろ?
最後にCRがついてくるなら、それが送られてくる最後の文字
なら、それが送られてきたら Key には0入れて Edit.Text := ""; でよかんべ

138 :デフォルトの名無しさん:2016/12/06(火) 20:03:14.51 ID:4bwuxuwQ.net
こんなんじゃだめなの?

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then begin
ShowMessage('Enter!');
Edit1.Clear;
end;
end;

139 :デフォルトの名無しさん:2016/12/06(火) 20:26:28.30 ID:GBHXmuqR.net
ありがとうございます。
出来ました。
条件に合わなかったら入力したらいけないと変な思い込みをしてました。
助かりました。

140 :デフォルトの名無しさん:2016/12/07(水) 09:03:33.62 ID:gTqL7Hsg.net
キーバッファw

141 :デフォルトの名無しさん:2016/12/07(水) 09:09:12.00 ID:fnsUACzH.net
えっ?

142 :デフォルトの名無しさん:2016/12/07(水) 09:47:59.67 ID:7C3MKHBs.net
ラジオボタンって大きくならない?

143 :デフォルトの名無しさん:2016/12/07(水) 16:09:50.00 ID:1k8Mb6um.net
できません。

大きなラジオボタンの絵を描くならできます(ちょっと気持ち悪いので注意)。

procedure TForm1.FormPaint(Sender: TObject);
begin
 DrawFrameControl(Canvas.Handle, ClientRect, DFC_BUTTON, DFCS_BUTTONRADIO or DFCS_CHECKED);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
 Invalidate; // フォームの再描画をWindowsに促す。
end;

144 :デフォルトの名無しさん:2016/12/08(木) 15:42:09.36 ID:G/Oz9Gxc.net
Berlin update2 のFireMonkeyで
Listbox.Items.Exchangeメソッドが動作しないXE2では動くのに

145 :デフォルトの名無しさん:2016/12/09(金) 16:34:59.90 ID:G3AX0Oay.net
お前が悪い

146 :デフォルトの名無しさん:2016/12/10(土) 23:22:51.23 ID:KMGjeMy/.net
質問です

147 :デフォルトの名無しさん:2016/12/10(土) 23:33:56.35 ID:KMGjeMy/.net
関連付けされてるファイルを起動するのは ShellExecute でできますが
例えば abc.csv ファイルを .txt で関連付けされてるアプリケーションで
開く簡単な方法はあるでしょうか

148 :デフォルトの名無しさん:2016/12/11(日) 06:10:35.77 ID:RsXQTiEs.net

Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

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



149 :デフォルトの名無しさん:2016/12/11(日) 12:45:00.53 ID:DKctrae4.net
>>147
簡単には無いと思う。
レジストリ開いて関連付け調べてabc.csvを引数にそのプロセスを起動させる。

150 :デフォルトの名無しさん:2016/12/11(日) 16:52:57.05 ID:uXWnPaTO.net
拡張子に関連付けされた実行ファイル名の取得
http://mrxray.on.coocan.jp/Delphi/plSamples/480_GetFullExePath.htm

151 :デフォルトの名無しさん:2016/12/11(日) 18:44:37.29 ID:IZotsPxu.net
>>149-150
サンキュー参考になりそう

ちなみに xray さん元気そうでなにより

152 :デフォルトの名無しさん:2016/12/12(月) 14:28:19.03 ID:JuHHFpqe.net
私はFindExecutable APIで拡張子".txt"のダミーのファイル名を渡して…というところまで考えていたのですが、そのものずばりなAPIがあるのですね。

153 :デフォルトの名無しさん:2016/12/15(木) 11:41:17.48 ID:KMS/yunp.net
Cのライブラリで
const char *ss[] = {"abc", "def", "xyz", NULL};
を引数として要求するAPIがあるのですがDelphiからは
どうやって定義すればよいでしょう?

154 :デフォルトの名無しさん:2016/12/15(木) 12:42:40.01 ID:jYtTego3.net
ポインタのポインタ

155 :デフォルトの名無しさん:2016/12/15(木) 21:30:43.84 ID:esnvxFap.net
array of PChar

156 :デフォルトの名無しさん:2016/12/16(金) 08:13:11.02 ID:khJxMTBU.net
>>154
>>155
ありがとう。
array of は内部的にはポインタなんですね。上手く動作しました。

157 :デフォルトの名無しさん:2016/12/16(金) 13:53:20.44 ID:bP8vH7ub.net
 IntArray: array[0..99, 0..99] of Integer;

 AI :IntArray;
 P  :Pointer;
 Fs :TFileStream;
 i,j :Integer;

  for i := 0 to 99 do
   for j := 0 to 99-1 do
    AI[i,j] := Random(1000)+50;

  Fs.Write(AI[0,0], SizeOf(Integer)*L );
  Fs.Write(AI, SizeOf(Integer)*L );    ………(#)
のどちらでも OK ですが、これは AI[0,0] と AI のアドレスが同じというだけで
  AI[0,0] = AI
ではないのですから、(#)の記述は AI という '配列名' はポインタのように感じられます。しかし、
  P := AI;
とするとコンパイラに怒られます。Delphi の '静的配列名' はポインタではないのしょうか。

158 :デフォルトの名無しさん:2016/12/16(金) 13:58:41.71 ID:n8JQ6xp/.net
Fs.Writeの引数の型宣言みろ

159 :デフォルトの名無しさん:2016/12/16(金) 14:20:04.02 ID:bP8vH7ub.net
 引数は型なしパラメータだから、実際にはパラメータのアドレスが Fs.Write に渡され、
そのアドレスが処理対象になる。つまりそこに必要なサイズのメモリ領域が正しく確保さ
れていれば、その領域がどのような型なのかは関係ないということか。

 結局 Delphi の '静的配列名' はポインタではないんだね。

160 :デフォルトの名無しさん:2016/12/16(金) 14:32:37.28 ID:HmHblg1G.net
P := Pointer(AI);

161 :153:2016/12/16(金) 16:08:44.84 ID:khJxMTBU.net
後に誰かの参考になるかもしれないので少し詳しく書いておきます。

Cで作成されたDLL内の関数の.hファイルの定義が
void hoge(const char **hage);
となっていて、
const char *ss[] = {"abc", "def", "xyz", NULL};
hoge(ss);
という使用例が書かれてたところ、

procedure hoge(hage: array of PAnsiChar); cdecl; external 'kage.dll';

hoge(['abc', 'def', 'xyz', nil]);

で上手く動作しました。ペコリ。

162 :デフォルトの名無しさん:2016/12/16(金) 16:14:50.71 ID:n8JQ6xp/.net
さんざん概出

163 :153:2016/12/17(土) 10:45:35.06 ID:1MhgkvS0.net
>>162
そうですか。スレ汚し失礼しました。ペコリ

164 :デフォルトの名無しさん:2016/12/18(日) 18:39:46.50 ID:SM4ZDbUW.net
 TreeView をデザイン時にフォームに貼り付けてできたアプリを終了するとき
 TreeView の各ノードが保持するデータ(TreeView1.Items[n].data が保持しているデータ)
も自動的に廃棄されるのですか?

165 :デフォルトの名無しさん:2016/12/18(日) 18:51:06.13 ID:U6l2OwGO.net
>>164
TTreeNode::Data が保持するデータはプログラマが明示的に破棄しないとダメ。

166 :デフォルトの名無しさん:2016/12/18(日) 20:05:19.93 ID:SM4ZDbUW.net
>>165
 ありがとう。
 以下のような感じでいいのですかな?

//TNodeData は TreeNode.Data が保持するデータのクラス

//+----------- FormDestroy ------------+
procedure TForm1.FormDestroy(Sender: TObject);
i: Integer;
begin
with TreeView1 do
for i = 0 to Items.Count - 1 do
TNodeData(Items[i].Data).Free;

//TreeView1.Items.Clear; 不要
end;

 あるいは TreeView のOnDeletion を使って

//+-------------- TreeViewDeletion --------------+
procedure Form1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node.Data) then
TNodeData(Node.Data).Free;
end;

167 :デフォルトの名無しさん:2016/12/18(日) 20:17:52.63 ID:U6l2OwGO.net
>>166
そんな感じ。

168 :デフォルトの名無しさん:2016/12/20(火) 23:16:00.88 ID:ifPrFvUo.net
スレッドを使ったプログラムで、スレッド内にある未使用の変数をコメントアウトしたら、
終了する時にアクセスバイオレーションが出るんだけど、こんな事ってあるの?
プライベートに宣言してあるからメインとかが絡んでる事は無いのだけど。

169 :デフォルトの名無しさん:2016/12/20(火) 23:35:38.32 ID:qjg7YQIs.net
コメントアウトされた変数が確保していたメモリ域のおかげで
偶然アクセス違反が発生しない状態になってるとかじゃね?
要はコメントアウトしていなくてもコーディングミスで不正なメモリアクセスしている状態なのかも

170 :デフォルトの名無しさん:2016/12/20(火) 23:43:04.81 ID:ifPrFvUo.net
こんな時間にありがとう!
そんな事があり得るんですか。
難しいなぁ。

171 :デフォルトの名無しさん:2016/12/21(水) 12:39:12.66 ID:kCrlwcjM.net
あり得るというより一番多いパターンだったり

172 :デフォルトの名無しさん:2016/12/21(水) 14:28:11.26 ID:yxrWTbmA.net
「参照」とポインタの話か? 慣れるまで結構厄介だからな。

173 :デフォルトの名無しさん:2016/12/21(水) 17:50:14.49 ID:69vl5rId.net
ちょっと教えてください

自分自身(実行ファイル)を再起動する方法を教えてください
ちなみに二重起動を禁止したアプリでです
できれば再起動用の別アプリを使用しないのが理想的です...

174 :デフォルトの名無しさん:2016/12/21(水) 18:38:54.87 ID:3rWlzZt5.net
>>173
自分自身が起動するときだけ二重起動許可して起動確認できたら自分を閉じる

175 :デフォルトの名無しさん:2016/12/21(水) 21:13:47.15 ID:69vl5rId.net
>>174
ありがとうございます。
やはりその方向ですか。

リスタート後に最初のインスタンスのiniファイルを読み込みたいで
Mutexのチェックの前に最初のインスタンスの終了を待つ処理が
必要かなと漠然と考えていたんですが...

簡単でスマートな方法はないんですね

176 :デフォルトの名無しさん:2016/12/21(水) 21:25:28.28 ID:GvkBvmPc.net
>>175
自分(プロセスA)が自分(プロセスB)を起動するときに、コマンドラインで /restart というようなコマンドを渡す。
プロセスBは /restart ってコマンドを受け取ったら、Mutexの所有権を得るまで待機する。(再起動処理)
プロセスAはMutexの所有権を開放する。
/restartを受け取らなかった場合は、Mutexの所有権を得られなかった場合は終了する。(二重起動防止)

177 :デフォルトの名無しさん:2016/12/21(水) 23:03:33.63 ID:V2gs4HSo.net
>>176
そうですね

Mutexが取得できるまで待機すればいいですよね
終了待ちをもっと複雑な方法で考えてました
ありがとうございます

178 :デフォルトの名無しさん:2016/12/22(木) 20:53:24.89 ID:GbxNFxpQ.net
よろしくお願いします。
『レコード型Aを利用する、クラスA』を自作したとします。
そして、『このクラスAとほとんど同じ機能を持つが、レコード型Bを利用する、別のクラス』を作りたいとします。
この場合、どう記述するのが効率良いでしょうか。

例えば、よくサンプルで見る、TListのItemにレコード型のポインタを使ってデータを入れる場合。
type
// レコード型A
PTRecA = ^TRecA;
TRecA = record
// 略
end;
// レコード型B
PTRecB = ^TRecB;
TRecB = record
// 略
end;

// クラスA・・・レコード型Aを利用
TClassA = class(TList)
 procedure SetItem(Rec: TRecA);
 function GetItems(Index: Integer): TRecA;
end;
// クラスB・・・レコード型Bを利用
TClassB = class(TList)
 procedure SetItem(Rec: TRecB);
 function GetItems(Index: Integer): TRecB;
end;

上記の様に、クラスAとクラスBで似た様なコードの重複が多い場合、
クラスの定義をもっと効率良く記述できる方法があれば教えていただきたいです。

179 :デフォルトの名無しさん:2016/12/22(木) 20:58:35.19 ID:T2mCxqBZ.net
delphi ジェネリックスでググる

180 :デフォルトの名無しさん:2016/12/24(土) 05:08:06.07 ID:dJj6Jdn2.net
クラスの継承を使えないか?
レコードのほうに「違い」を押し込んでクラスにして継承して、クラスは共用とできないか?
そもそもクラスとレコードに分ける必要があるのか?
などなど

181 :デフォルトの名無しさん:2016/12/24(土) 16:48:03.74 ID:NvTs06qg.net
レコード型をクラスのメンバとしてポインタで管理して
そのポインタの実体を操作する仮想メソッドなどを作る。

182 :デフォルトの名無しさん:2016/12/24(土) 23:24:23.58 ID:SRluPO+r.net
firemonkeyを使ってandroid向けのゲームを作り始めましたが
いきなり躓いて困ってます。

ゲームループのスレッドを作って描画を行っていますが
TBitmapがスレッドセーフでないため描画処理が正常に行えません。

firemonkeyでゲームを作る場合はメインスレッドのみで作るのでしょうか。

183 :デフォルトの名無しさん:2016/12/25(日) 02:11:22.91 ID:dFY2jBPw.net
lockしてもダメ?

184 :デフォルトの名無しさん:2016/12/25(日) 09:12:26.41 ID:LRNNB7e/.net
DrawGridのセルの色を取得する方法を教えて下さい。
どのセルに何色を塗ったか記憶しているのですか、
もっと簡単に知る方法があると思い質問させてもらいました。
宜しくお願いします。

185 :デフォルトの名無しさん:2016/12/25(日) 09:56:13.82 ID:HB1HITh4.net
>>182
スレッド側でBitmap描画してからSynchronize使ってメインスレッドのBitmapに転送すれ

186 :デフォルトの名無しさん:2016/12/25(日) 09:59:02.44 ID:BtIm+2Ns.net
>>183
Delphi6の時はCanvas.Lockがあったと思いますが
今使ってるDelphi10.1ではLockが見つからなくて・・・

187 :デフォルトの名無しさん:2016/12/25(日) 10:11:02.14 ID:BtIm+2Ns.net
>>185
スレッド側で描画用のBitmapをCreateしてWidth、Heightを設定した段階で
EBitmapSizeTooBigの例外が発生してしまうため、そこまで辿り着けなくて困ってます。

188 :デフォルトの名無しさん:2016/12/25(日) 10:30:12.14 ID:rexwkbDx.net
例外の種類見る限り、スレッドと関係なさそうに見えるが。
ビットマップが大きすぎるってWidthとHeightをいくつに設定しようとしたの?

189 :デフォルトの名無しさん:2016/12/25(日) 10:36:40.00 ID:BtIm+2Ns.net
>>188
サイズは350x450なのでたぶん大きすぎることはないと思います。
メインスレッドで動作させた場合は、例外が発生することなく動作するので
メインスレッド以外ではTBitmapは使えないのかと・・・

また、Windowsでは正常に動作してAndroidで動作させると例外が発生するため
Android固有の問題なのかなと思いまして

190 :デフォルトの名無しさん:2016/12/25(日) 12:33:01.08 ID:dFY2jBPw.net
>>186
map/unmap

191 :デフォルトの名無しさん:2016/12/25(日) 17:27:44.55 ID:HB1HITh4.net
>>189
AndroidのThreadで発生するってQPに上がってるからVOTEしとけばそのうち治るんじゃないかな
そのうち。

192 :デフォルトの名無しさん:2016/12/25(日) 17:59:22.97 ID:YEQFz9Pa.net
Delのバグかよ

193 :デフォルトの名無しさん:2016/12/25(日) 18:04:15.67 ID:BtIm+2Ns.net
>>190
教えていただいたものを使って処理を行ってみましたがダメでした。


>>191
期待しないで待つことにします。


別スレッドでの処理を諦めてとりあえずメインスレッドで全て行うようにします。
相談に乗っていただいた方々ありがとうございました!

194 :デフォルトの名無しさん:2016/12/28(水) 09:28:27.13 ID:aele3sW5.net
Delphi 10.1 BerlinのStarterでチュートリアルをやってます。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/ユーザー アクションに対する応答をコード エディタでコーディングする(IDE チュートリアル)
このページの中ほどまで進んだら
[dcc32 エラー] TextEditorUnit.pas(94): E2003 未定義の識別子 : 'TDialogServiceSync'
というエラーが表示されてしまいます。
どうしたら修正できるのでしょうか?

195 :デフォルトの名無しさん:2017/01/01(日) 00:51:30.42 ID:u9hnImCi.net
>>194
ここで引っかかってるのかな?
UserResponse := TDialogServiceSync.MessageDialog(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, mbYesNo, TMsgDlgBtn.mbYes, 0);

TDialogServiceSync はFire Monkeyでしか使えないからvclプログラムではエラーになって当然かも。
チュートリアルのソースコードって色々バグってるからなぁ…
とりあえず

UserResponse := MessageDlg(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, [mbYes, mbNo], 0);

と書き換えたらエラー出なくなると思う。

196 :デフォルトの名無しさん:2017/01/02(月) 05:54:12.25 ID:IPXAtosy.net
クラスファンクションなのかそれは?

197 :194:2017/01/02(月) 12:22:05.25 ID:THkmnZCs.net
>>195
ありがとうございました。早速試してみましたが、
[dcc32 エラー] TextEditorUnit.pas(99): E2003 未定義の識別子 : 'mbYes'
[dcc32 エラー] TextEditorUnit.pas(99): E2250 指定された引数で呼び出すことのできるオーバーロード関数 'MessageDlg' が定義されていません
[dcc32 警告] TextEditorUnit.pas(99): W1000 シンボル 'MessageDlg' を使用することは推奨されていません : 'Use FMX.DialogService methods'
とエラーが出てコンパイルが通りませんでした。

FireMonkeyはデフォルトで使えるのかと思ってました。いろいろと無知すぎるので
もうちょっと分かりやすいところから勉強しなおしてみます。

198 :デフォルトの名無しさん:2017/01/02(月) 20:49:19.17 ID:7Rs/ksIu.net
>>197
その警告が出るって事はFire Monkeyの方なのか。
だったらそこは元の>>194の命令でいいはず。

usesの所に FMX.DialogService.Sync が記載されているか確認して
なければ追加。

199 :デフォルトの名無しさん:2017/01/04(水) 22:56:01.95 ID:SVZbRNc5.net
スレッドからサブフォームを表示する事は可能ですか?
他の機器から特定の信号が来たら、警告画面みたいなのを表示しようとして
スレッドで信号監視してフォーム表示のつもりがうまくいきません。
なのでメインフォームにタイマー置いてタイマーイベントで信号監視しています。
ヘルプを読むとスレッドからフォームはコントロール出来ないような事が書いてあったのですが、皆さんならどうしますか?

200 :デフォルトの名無しさん:2017/01/04(水) 23:19:05.87 ID:07zJ2hFc.net
表示するだけなんでしょ?

自分だったらpostmessage

201 :デフォルトの名無しさん:2017/01/04(水) 23:55:57.26 ID:07zJ2hFc.net
ごめん

post-/sendmessageにはwm_closeみたいな表示するメッセージはなかった

独自のメッセージを定義して受け取った側でshowするか
showwindow(async)を使うかだね

202 :デフォルトの名無しさん:2017/01/05(木) 00:45:48.42 ID:sWl9IbhJ.net
>>199
TThread.Synchronizeで、メインスレッドに切り替えてから、引数で渡されたコールバックメソッド(手続き)でサブフォームを表示させるとか

203 :194:2017/01/05(木) 06:34:16.06 ID:KgVZC7r0.net
>>198
エラーが消えて無事に動きました。
ありがとうございます。

こういうのはIDEが教えてくれるのかと思って
いましたが、有料版だとそういう機能は
あるんでしょうかねー

204 :デフォルトの名無しさん:2017/01/05(木) 07:19:36.75 ID:DrifgVvY.net
>>203
関数や手続きが定義されていないってエラーが出たときはその関数などのヘルプを見て
そこに書いてあるユニット名が自分のプログラムのuses節に書かれているか調べるといいよ。

205 :199:2017/01/05(木) 09:38:01.68 ID:u8XERnLo.net
>>200,202
ありがとうございます。
教えてもらった方法を調べながらやってみます。

206 :デフォルトの名無しさん:2017/01/08(日) 16:20:11.76 ID:lAdNqeO/.net
TShellCtrlコンポーネントって、デモに含まれるものなんだよね なんでVCLに含めなかった??

207 :デフォルトの名無しさん:2017/01/09(月) 14:24:09.01 ID:KdQvIKlc.net
>>199
Queue関数。
http://www.gesource.jp/weblog/?p=538

208 :デフォルトの名無しさん:2017/01/10(火) 11:27:52.10 ID:D5z5IiVv.net
マルチスレッドが終了したかどうか確認するのに、フラグで確認してるんだけど、
なんかもっとスマートな方法ってありませんか?
ググったらWaitForが出て来たのですが、hoge.WaitForとしてもハンドルエラーとか出て使えませんでした。
宜しくお願いします。

209 :デフォルトの名無しさん:2017/01/10(火) 12:33:32.63 ID:8tL5nmKS.net
何があなたのスマートの基準なのか?
フラグは別に悪くないと思うけど。

210 :デフォルトの名無しさん:2017/01/10(火) 17:34:35.55 ID:cSdSlPHe.net
freeが一番確実じゃない?

211 :デフォルトの名無しさん:2017/01/10(火) 17:41:03.73 ID:9hDOaePS.net
>>208
hogeってTThread?
そんだったらTThread.FreeOnTerminateをTrueにしてるから、
スレッドが終了してFreeされてるから、ハンドルエラーと出てくるんだろう。
FreeOnTerminiateをFalseにすればOK(そのかわりTThreadの破棄は自分でやる必要がある)。

212 :デフォルトの名無しさん:2017/01/10(火) 18:11:59.83 ID:uT10hEea.net
終了したか確認するのにWaitForしたら確認じゃなく待機しちゃってダメじゃないのかと思うけど。
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てるので良くないかい?
あとはメインフォームに終了通知としてメッセージ送るとか。
Win32API使うのOKなら FreeOnTerminiate:=false; にして
スレッドハンドルに対して WaitForSingleObject (タイムアウトは0に設定)使い
WAIT_OBJECT_0が返るかWAIT_TIMEOUTが返るか確認する。
もしくはGetExitCodeThread関数を使うとかかな。

213 :デフォルトの名無しさん:2017/01/10(火) 18:56:40.06 ID:XaHxjxQc.net
そういやスレッドの終わり方の議論が2、3年前にあったな

214 :デフォルトの名無しさん:2017/01/10(火) 19:15:27.36 ID:9hDOaePS.net
FreeOnTerminateが使えない?とかいう議論じゃなかったっけw

215 :デフォルトの名無しさん:2017/01/10(火) 21:06:50.37 ID:8tL5nmKS.net
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てる

に賛成。簡単確実。

216 :デフォルトの名無しさん:2017/01/11(水) 07:54:30.57 ID:7+b9GoiT.net
>>215
そのフラグの排他制御は簡単じゃないよ

217 :デフォルトの名無しさん:2017/01/11(水) 08:27:35.32 ID:7+b9GoiT.net
ああOnTerminate 内はメインスレッドか。
なら簡単だわ。メンゴ。
昔はOnTerminateイベント無かった希ガス

218 :208:2017/01/11(水) 08:51:02.04 ID:jn+AzvnI.net
おはようございます。
皆さん、ありがとうございます。
フラグがやはり良さげなんですね。

もう1つ教えて下さい。
スレッドの中で
try
stringlist:=TStringList.Create;
while not Terminete do
begin
何かの処理
end;
finally
stringlist.free;
End;
とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
異常終了した時はfinallyの処理をしてくれます。
stringlistの解放はOnTermineteでするのが普通なのでしょうか?

219 :デフォルトの名無しさん:2017/01/11(水) 12:16:51.30 ID:CK/PUOqI.net
>>218
構文が変だよ

tryが抜けてる

220 :デフォルトの名無しさん:2017/01/11(水) 14:34:41.49 ID:Rshx8mvt.net
>>219
tryはあるが?

221 :デフォルトの名無しさん:2017/01/11(水) 14:43:08.49 ID:mOqhfYH5.net
>とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
んなわけない。ちゃんとfinallyの処理するはずだからもっとしっかり確認しよう。

>フラグがやはり良さげなんですね。
もうちょっと具体的にスレッド終わった後何したいのかとか書いてくれんと答えようがねぇ。

222 :デフォルトの名無しさん:2017/01/11(水) 17:34:02.96 ID:y79IyYLw.net
>>220
ホントだtryはあった...でも
最近のdelphiは仕様が変わったのか...

念のため例外処理入れてみたら?

list=:tstringlist.create;
try try
while not terminated do begin ...end;
// ここで正常処理終了のフラグをセット
except....end;
finally list.free; end;

223 :デフォルトの名無しさん:2017/01/11(水) 18:26:26.78 ID:tCuecbSb.net
>>218
>TermineteをTrueにして終了するとfinallyの処理をしてくれません。
どうやって確認したの?
あとTThreadの派生クラスならTerminateはメソッドとTerminatedプロパティが使える。

>stringlistの解放はOnTermineteでするのが普通なのでしょうか?
そんなことはない。

224 :デフォルトの名無しさん:2017/01/11(水) 18:29:24.22 ID:+wq8yOB3.net
昔昔、QuadrupleDを使ってやってたサウンドの再生を最新のDelphiでやりたいんですが、使えるライブラリを探してます。

・複数のwaveファイルをマルチチャネルで読み込んでそれぞれ別個に再生したい
・チャネル単位でループ再生、ピッチ変更、音量変更がしたい

あるかな…(´・ω・`)

225 :デフォルトの名無しさん:2017/01/11(水) 21:03:36.27 ID:go3Ym2g4.net
ブレーク入れてね
ステップで見るときブレーク入れないと
見かけ飛ばすから

226 :デフォルトの名無しさん:2017/01/12(木) 06:31:56.17 ID:a5xM53E0.net
フラグの排他制御は簡単だと思うが。
boolean変数一個なら読み書きは1命令で、割り込まれることはないだろうし
書く前に消されちゃうようなコードを書かなければいいだけ。

227 :デフォルトの名無しさん:2017/01/12(木) 07:43:07.08 ID:pteiZ85t.net
>>226
きちんとした知識がある人にとっては簡単だよね

228 :デフォルトの名無しさん:2017/01/13(金) 08:37:54.09 ID:ZuNdbFdt.net
フラグをグローバルやメインフォームなどに
持たせるのはなんか古臭いという気持ちはある

229 :デフォルトの名無しさん:2017/01/14(土) 13:08:24.40 ID:gjFRSJdj.net
元号変わったらどうすっかな
D7だと対応できんだろ

230 :デフォルトの名無しさん:2017/01/14(土) 13:25:01.19 ID:h3eR+GmF.net
>>229
元号とか使わないか
自力で変換

OSの機能を使ってるんだったら大丈夫か
ただvistaも今春でサポート終了するけど

231 :デフォルトの名無しさん:2017/01/17(火) 17:31:21.77 ID:O6RaaTFv.net
Berlin試したみたけど以前ここで言った
gifアニメのバグが解消されてないな

232 :デフォルトの名無しさん:2017/01/18(水) 13:40:10.70 ID:YhLwefSp.net
string、ansichar、pansicharの型キャストってどうやるの?
暗黙の型キャストの警告を消したいんだけど、ググってstrpcopyとかのサンプルを実行しても消えない。

233 :デフォルトの名無しさん:2017/01/19(木) 15:50:04.40 ID:5UKguDxp.net
>>232
string(ansistring変数)とかで消えない?

234 :デフォルトの名無しさん:2017/01/20(金) 09:53:10.19 ID:1eiriAuJ.net
具体的なコードを挙げてみては?

235 :デフォルトの名無しさん:2017/01/27(金) 12:59:02.17 ID:/S2JEwyl.net
Konopkaコンポーネントのアンインストール方法を教えて下さい。
インストール中に異常終了したのでアンインストールしたいのですが、
アンインストールも途中終了してしまって、行き詰ってしまいました。
よろしくお願いします。

236 :デフォルトの名無しさん:2017/01/27(金) 14:49:41.44 ID:5OkJm/3R.net
>>235
マイドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaのフォルダと
パブリックのドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaの
リポジトリデータを削除すればよかったと思う。(心配ならバックアップとっといてね)

konopka、インストール失敗するとアンインストールもできなくなるんだよね。

237 :235:2017/01/27(金) 22:35:47.30 ID:/S2JEwyl.net
>>236
ありがとうございます。
助かりました。

238 :デフォルトの名無しさん:2017/02/01(水) 09:20:48.68 ID:5qzbuLNZ.net
入力の支援機能で出て来た候補にカーソルを合わせて、
ピリオド打ったら選んだ候補が入力される設定ってどこにありますか?
ベルリンのup2を入れたのですが、最初は良かったのにいつの間にかピリオドで選択されなくなってしまいました。

239 :デフォルトの名無しさん:2017/02/06(月) 19:05:34.17 ID:xOrt0AYX.net
StringGridのセルをデータの合わせて塗りつぶすことをしています。
タイマーイベントで0.2秒毎にデータに変化がなくても一旦デフォルト色にしてから他の色を塗っています。
そのせいだと思うのですがセルの選択ができません。
セルをランダムに色を塗りつつ、セルの選択もできるようにするにはどうしたらいいでしょうか?

240 :デフォルトの名無しさん:2017/02/06(月) 20:35:02.64 ID:iNTq03fP.net
おんどろーせる

241 :デフォルトの名無しさん:2017/02/06(月) 20:38:57.75 ID:U9v8FdBr.net
TSringGridのOnDrawCellイベントの引数で渡されるTGridDrawStateで、選択されたかどうか判断できる。
選択されてないときだけ、色を変更するよろし。

242 :239:2017/02/06(月) 22:36:47.54 ID:xOrt0AYX.net
>>240.241
ありがとうございます。
まだ、試してませんがどういうコードを書けば良いか案が浮かびました。

243 :デフォルトの名無しさん:2017/02/07(火) 04:11:46.40 ID:odr3U2KT.net
タイマーで200ミリ秒ずつやってるところが壮絶にまぬけっぽい 小学生以下の知能

244 :デフォルトの名無しさん:2017/02/07(火) 07:48:29.48 ID:uL0lBsbg.net
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

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

245 :239:2017/02/07(火) 14:14:09.54 ID:vf4YiH1/.net
昨日はありがとうございました。
TSringGridの特定のセルに数値を書き込むのにDrawTextを使って右寄せで書き込んでいます。
この書き込んだ数値を後から取得することってできますか?
セルにHintみたいに埋め込めたら簡単なんですけどググっても分かりませんでした。

>>243
シーケンサーの信号状態を監視するんで手っ取り早くタイマー使ってます。

246 :デフォルトの名無しさん:2017/02/07(火) 21:01:48.32 ID:qgMFF5pP.net
その「数値」はどこにしまってあるの? それは自分で世話するしかない。
DrawTextは文字列を描画するだけで、何書いたかなんてどこにも覚えていないよ。

247 :デフォルトの名無しさん:2017/02/07(火) 22:53:48.58 ID:GEF3mu7C.net
StringGridなんだから、Cellsプロパティを通して、文字列として各セルにでも入れときゃいいんでね?(ハナホジ

248 :デフォルトの名無しさん:2017/02/08(水) 07:16:05.46 ID:3kd0dWw+.net
>>245
格納するオブジェクトも実装したらいいんじゃ

249 :デフォルトの名無しさん:2017/02/12(日) 16:38:05.20 ID:iYdKWxWq.net
整数ならcellのobjects(だったっけかな)に入れときゃ良いじゃん

250 :デフォルトの名無しさん:2017/02/26(日) 22:21:06.30 ID:S5w82ICF.net
vs2015アンインスコしたらDel10.1でコンパイルできなくなった。
Del再インスコするしかない?

251 :デフォルトの名無しさん:2017/02/26(日) 22:23:37.25 ID:8hwVjJWR.net
環境変数消されてるとか?

252 :デフォルトの名無しさん:2017/02/26(日) 23:37:41.28 ID:S5w82ICF.net
>>251
ありがとうございます。
調べてみます。

253 :デフォルトの名無しさん:2017/03/14(火) 14:46:39.28 ID:SzM2z6wx.net
スレッド1で変数aの値を読み書きしていてスレッド2では変数aを読み込みしかしない場合って干渉対策って必要?

254 :デフォルトの名無しさん:2017/03/14(火) 15:58:50.80 ID:vbV/Jpv3.net
うん

255 :253:2017/03/14(火) 22:26:02.83 ID:M7D1b0oM.net
ありがとうございます。
干渉対策じゃなくて排他処理っていうんですね。
失礼しました。
各スレッドで共有する変数を集めたUnitに変数aを宣言して使っています。
この変数aを複数のスレッドからアクセスする場合、Synchronizeを使うのでしょうか?
SynchronizeはスレッドからVCLを描画する場合に使うと書いてあったので、フラグを立てるとかして
排他処理をするのでしょうか?

256 :デフォルトの名無しさん:2017/03/14(火) 23:05:45.72 ID:137tpMLx.net
クリティカルセクションでも使えばいい、どっかで
CS := TCricalSection.Create()で作っておいて、

同時にアクセスされたら困るところで
CS.Enter();
try
 共有リソースの変数Aにアクセスなど
finally
 CS.Leave();
end;

257 :デフォルトの名無しさん:2017/03/14(火) 23:07:46.72 ID:137tpMLx.net
まぁ、他にもSyncObjs.pasにTInterlockedとかあるけど、
そこは自分で頑張ってくれ

258 :デフォルトの名無しさん:2017/03/15(水) 07:56:13.67 ID:OMQXGO2Q.net
>>255
Synchronize内の処理はメインスレッドでの処理となるから
同時アクセスがありえなくなるということらしいよ

259 :253:2017/03/16(木) 09:51:28.35 ID:IMOOaoXR.net
皆さん、ありがとうございます。
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?

260 :デフォルトの名無しさん:2017/03/16(木) 17:53:22.67 ID:Xe646fvV.net
どこからが使いすぎだと思う?

261 :デフォルトの名無しさん:2017/03/16(木) 18:29:10.53 ID:vq3uRAd1.net
>>259
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。

クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。

262 :デフォルトの名無しさん:2017/03/17(金) 07:45:46.44 ID:88SBOT8h.net
>>259
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。

263 :デフォルトの名無しさん:2017/03/17(金) 09:01:04.72 ID:88SBOT8h.net
あ、もしかしたら質問に答えてなかったかな?
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ

264 :デフォルトの名無しさん:2017/03/17(金) 17:25:37.85 ID:c2lVMe4f.net
>>262
今のcpuは普通にマルチコア、マルチスレッドじゃない?
同時に動いてんじゃない?

265 :デフォルトの名無しさん:2017/03/18(土) 10:42:58.16 ID:TEQZ8ThN.net
>>264
そういう御仁が現れるだろうなとは思ってた。
申し訳ないがマルチコアなどの詳細な仕組みが現話題の結論に
影響を与えるものではないので無視させてもらいます。

266 :デフォルトの名無しさん:2017/03/18(土) 11:15:40.91 ID:uhuX0RUO.net
OSのタスクスケジューリングやスレッド、Delphiのメインスレッドの話がごっちゃ混ぜになっててカオスカオス

267 :デフォルトの名無しさん:2017/03/18(土) 11:18:08.58 ID:At1yjhtj.net
細かい処理が交互にっていつの時代のタスク割り当ての話してるんだ

268 :デフォルトの名無しさん:2017/03/18(土) 17:26:39.99 ID:qhwfKSm6.net
>マルチコアなどの詳細な仕組みが現話題の結論に影響を与えるものではない

今の話題においてこれは正しいと思う。

>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”

269 :デフォルトの名無しさん:2017/03/18(土) 17:42:46.56 ID:uhuX0RUO.net
中途半端に説明するからややこしくなる
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する

くらいでイナフ

270 :デフォルトの名無しさん:2017/03/18(土) 23:22:19.03 ID:toYG3enn.net
>>262が変な説明を入れたのが元凶だ

271 :デフォルトの名無しさん:2017/03/19(日) 10:14:13.46 ID:pPSf+p35.net
>>269
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。

272 :デフォルトの名無しさん:2017/03/19(日) 10:31:00.81 ID:Zac56zGn.net
>>271
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい

まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね

273 :デフォルトの名無しさん:2017/03/19(日) 12:59:15.63 ID:pPSf+p35.net
結局「スレッド」という英単語が同いう意味かってだけだね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。

274 :デフォルトの名無しさん:2017/03/19(日) 16:36:19.37 ID:z/4QTPa3.net
で、そのメモリ圧迫とやらは今回の質問のどこにかすっているのかね?

275 :デフォルトの名無しさん:2017/03/19(日) 18:47:31.53 ID:Zac56zGn.net
どんどん話題がすり変わっていくな

276 :デフォルトの名無しさん:2017/03/20(月) 01:59:24.49 ID:Qzpue34I.net
>>262
が悔し紛れに難癖つけてるだけっしょ

277 :デフォルトの名無しさん:2017/03/20(月) 07:33:47.40 ID:/HDavIr2.net
予想どおりの反応ですw

278 :デフォルトの名無しさん:2017/03/23(木) 17:32:52.95 ID:0AhE1jWZ.net
10.2tokyo入れて見たんだけど、10.1でgetitから入れたコンパーネントが入れられなくてプロジェクト開けられない。
エンバカ何なんだ?

279 :デフォルトの名無しさん:2017/03/24(金) 07:00:18.71 ID:w0n9pMnW.net
>>278
よくある
Getitじゃなくて配布元からダウンロードして入れたらOk

280 :デフォルトの名無しさん:2017/03/25(土) 07:13:02.05 ID:Hlan26fq.net
StarterのBerlinをTokyoにするんだけど
いったんBerlinをアンインストールするんだっけ?

281 :デフォルトの名無しさん:2017/03/28(火) 04:59:23.66 ID:by30piXi.net
StarterのBerlinをインストールしたままTokyoをインストール出来ましたし、同時に起動出来ました。

公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。

282 :デフォルトの名無しさん:2017/03/28(火) 10:13:09.88 ID:o61kLVYu.net
>>281
ありがとう

上書きインストールされないってことか...

283 :デフォルトの名無しさん:2017/03/31(金) 10:26:45.88 ID:SnNLRdP6.net
2007からXEにあげるのに、いまさらながらユニコードに取り組むんですが、
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?

284 :283:2017/03/31(金) 10:42:53.79 ID:SnNLRdP6.net
文字コードを確認してみたのですが
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);

のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?

285 :デフォルトの名無しさん:2017/03/31(金) 11:27:56.20 ID:tBgePiep.net
こう言うとアレだけど
普通に使うときはユニコードとか
意識する必要ないんじゃない?

286 :283:2017/03/31(金) 11:48:21.75 ID:SnNLRdP6.net
>>285
例えば、

s := Edit1.Text + 'が入力文字列';

のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。

287 :デフォルトの名無しさん:2017/03/31(金) 12:08:45.28 ID:YNGnrt5P.net
便乗失礼します。
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと

異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが

https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791

288 :283:2017/03/31(金) 12:14:44.98 ID:SnNLRdP6.net
>>287
リンク先を読んでみると、文字列の代入時に変換してるみたいですね。
ありがとうございます。

289 :デフォルトの名無しさん:2017/03/31(金) 12:27:36.02 ID:tBgePiep.net
>>286
大丈夫
ソースファイルがutf8とか意識しないほうがいいよ

文字列リテラルもstring変数もunicodeだよ

290 :デフォルトの名無しさん:2017/03/31(金) 12:33:03.27 ID:tBgePiep.net
>>288
内部でどう処理してるのか知らないけど
このケースだと代入時(実行時)に変換してるのかな?

実行ファイルの最後に定数が保存されてたと思うけど
すでにunicodeになってたような気がする

291 :デフォルトの名無しさん:2017/04/01(土) 09:16:09.24 ID:FVobg3nm.net
>>285
逆に、常に意識してないと嵌まることがあるよ。

292 :デフォルトの名無しさん:2017/04/01(土) 11:20:45.32 ID:1uakO4Jp.net
コンパイル時に変換

293 :デフォルトの名無しさん:2017/04/01(土) 14:47:04.87 ID:MIBbFxu2.net
>>288
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。

>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。

ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。

C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。

294 :デフォルトの名無しさん:2017/04/01(土) 16:29:34.25 ID:xnSlrZsr.net
てか簡単なサンプル作って試せば済むことじゃん

昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない

295 :デフォルトの名無しさん:2017/04/01(土) 21:40:45.92 ID:JcotD4lU.net
真に気を付けないといけないのは1文字に複数文字が入ってるサロゲートペア

見た目が同じだからハマる

「ば」と「ば」が違う文字とかわっかんねーよ

296 :デフォルトの名無しさん:2017/04/02(日) 09:37:47.98 ID:OL+frmBm.net
正直UTF8で統一したほうがよかったと思う

297 :デフォルトの名無しさん:2017/04/02(日) 09:38:21.10 ID:WSPdqmkD.net
>>295
最後の行は「ば」?
これってサロゲートペアなのか?
それとも別の文字が化けた?

それと
内部の文字列がunicodeになった話と
unicode文字列を処理する話は
微妙に違う話だぞ?

298 :デフォルトの名無しさん:2017/04/02(日) 09:40:01.86 ID:OL+frmBm.net
UTF16も実は可変長という落ちなんだからややこしくなっただけだと思う

299 :デフォルトの名無しさん:2017/04/02(日) 10:43:02.23 ID:3chV0onz.net
>>297
2chだと化ける可能性あるから両方サロゲートペアじゃないよ

入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか

おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった

300 :デフォルトの名無しさん:2017/04/02(日) 11:06:40.43 ID:5Z3z/Zq2.net
は̋

301 :デフォルトの名無しさん:2017/04/02(日) 12:55:55.04 ID:n+5RCyoZ.net
>>295
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。

「ば」の話は合成文字だか結合文字だかそっちの話じゃん。

302 :デフォルトの名無しさん:2017/04/02(日) 13:01:11.75 ID:n+5RCyoZ.net
>299
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。

303 :デフォルトの名無しさん:2017/04/02(日) 13:05:11.00 ID:3chV0onz.net
>>302
はしょってるから書いてないけど正規化もしてるよ

文字での説明に重箱の隅つつかないでくださいな
気にしないでやってるとそういう問題(にぶつかる可能性)もあるよって話です

304 :デフォルトの名無しさん:2017/04/02(日) 13:10:15.31 ID:n+5RCyoZ.net
言葉の使い方が完璧に間違ってるのに重箱のすみつつかないでっていわれてもなぁ・・

君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。

305 :デフォルトの名無しさん:2017/04/02(日) 13:13:23.66 ID:3chV0onz.net
つまりこれこれこういう問題があってこうしましたって1から10まではしょらず正しい言葉をつかって説明しないとここには書き込むなって事ね。了解。




めんどくせ

306 :デフォルトの名無しさん:2017/04/02(日) 13:17:10.52 ID:n+5RCyoZ.net
完全に言葉の定義を間違ってるんだから、教えてあげただけじゃねぇかよ。

別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。

307 :デフォルトの名無しさん:2017/04/02(日) 13:20:18.66 ID:8zECKtY8.net
君たち ではない。

308 :デフォルトの名無しさん:2017/04/02(日) 13:23:02.99 ID:JDqJ1ftS.net
言葉の定義とやらが間違ってたとしても、
バグの原因になる事のコメントは個人的に大歓迎(こなみかん

309 :デフォルトの名無しさん:2017/04/02(日) 14:03:03.40 ID:iqf+IrkA.net
俺には難しい話をしてるけど、文字扱うには正規化とやらをやって、utf8とか16とかに統一してから加工したり検索したりしないとハマるってこと?

310 :デフォルトの名無しさん:2017/04/02(日) 17:46:06.81 ID:WSPdqmkD.net
サロゲートペアに関連してだけど
MECUtilsとか使ってやったりするの?

今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね

311 :デフォルトの名無しさん:2017/04/02(日) 18:37:26.81 ID:9KwT0wNW.net
Unicode化の弊害というかなんというかだけど、
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。

312 :デフォルトの名無しさん:2017/04/02(日) 20:31:47.10 ID:n+5RCyoZ.net
>>310
そんなの使わなくても普通は標準であるだろ。
Character.pasに必要なのそろってる。
TCharacter.IsSurrogate()

313 :デフォルトの名無しさん:2017/04/02(日) 20:47:01.04 ID:3chV0onz.net
>>312
TCharctorなんてものはない

System.Charactor.IsSurrogate(廃止)
もしくは
TCharHelper

314 :デフォルトの名無しさん:2017/04/02(日) 20:48:31.98 ID:3chV0onz.net
おっと綴り間違ってたな
System.Characterだな。また重箱の隅つつかれるところだった

315 :デフォルトの名無しさん:2017/04/02(日) 21:07:50.79 ID:n+5RCyoZ.net
そうなんだ。それはすまん。XE3以降買ってなくて
最新のもってなくて。

316 :デフォルトの名無しさん:2017/04/02(日) 23:41:35.03 ID:9/rnzeyZ.net
今ってディスプレイのアスペクト比が数種類あるけど、皆さんは画面のデザインってどうしてますか?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?

317 :デフォルトの名無しさん:2017/04/03(月) 14:57:16.50 ID:r7DyphN2.net
時代は可変

318 :デフォルトの名無しさん:2017/04/03(月) 17:20:51.81 ID:vwU/OCff.net
>>316
全画面表示させない

319 :デフォルトの名無しさん:2017/04/03(月) 18:42:50.88 ID:gM/woy0K.net
>>316
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。

320 :デフォルトの名無しさん:2017/04/03(月) 21:28:02.74 ID:r3n0H3vn.net
やっぱ、全画面表示させないが簡単でいいな

321 :デフォルトの名無しさん:2017/04/04(火) 06:32:18.18 ID:vjUtddW+.net
>>316
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります

322 :デフォルトの名無しさん:2017/04/12(水) 07:11:34.88 ID:lM5IX7kk.net
メモリーリークの場所ってdelphiに標準で入ってるリークを監視するやつのフルバージョン入れないと分からない?

323 :デフォルトの名無しさん:2017/04/16(日) 12:03:24.01 ID:he8BFR5v.net
Delphi10.1でのフル機能のfastmm4の使い方を教えてください。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。

324 :デフォルトの名無しさん:2017/04/17(月) 16:51:42.85 ID:y+L9zWaz.net
DatetimetostringとFormatDateTimeの違いって
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)

325 :デフォルトの名無しさん:2017/04/17(月) 17:16:23.94 ID:tXRogAtk.net
>>324
引数が違うって分かれば
自ずと...

326 :デフォルトの名無しさん:2017/04/17(月) 20:24:58.64 ID:y+L9zWaz.net
>>325
すみません、質問をはしおりすぎでした。

procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;

上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。

FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、

DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。

327 :デフォルトの名無しさん:2017/04/18(火) 09:41:09.25 ID:phVpBhu/.net
何かとの互換性でどうしてもDT2strが欲しかったんじゃないかね

328 :デフォルトの名無しさん:2017/04/18(火) 15:11:31.58 ID:nhn9im/Y.net
>>323
http://mrxray.on.coocan.jp/Delphi/Others/UsageFastMM.htm

ここに書いてある手順でやってみた?

329 :デフォルトの名無しさん:2017/04/18(火) 18:41:12.40 ID:EH33vxsU.net
>>326
ソースコード見てみると
FormatDateTimeはDateTimeToStringを呼び出しているだけ。
たぶん利便性(使い分けできるように)の問題だと思う。

ちなみに以下の関数が内部的にDateTimeToStringを呼び出すだけで実装されている。
function DateToStr(const DateTime: TDateTime): string;
function TimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime): string;

また同名の関数で引数の最後にTFormatSettings型が追加されたバージョンも
内部的にTFormatSettings型を引数に持つDateTimeToStringを呼び出しているだけ。

330 :324,326:2017/04/19(水) 09:04:32.22 ID:/KRyUyJO.net
>>329
なるほど、参考になりました。ありがとうございます。

331 :323:2017/04/19(水) 15:21:22.52 ID:1b3gc8EV.net
>>328
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。

332 :デフォルトの名無しさん:2017/04/23(日) 00:33:57.32 ID:h9OMGlcp.net
delphi10.1までは問題なかったのにdelphi10.2にしてから
stylebookで指定したstyleが一部反映されなくなりました。

tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz

対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・

333 :デフォルトの名無しさん:2017/04/23(日) 01:24:14.01 ID:6D2X13Ox.net
>>332
Android用のスタイルを一旦削除してマージ

334 :332:2017/04/23(日) 07:38:09.47 ID:h9OMGlcp.net
>>333
アドバイスありがとうございます。

Android用スタイルを削除してマージしてみましたが結果は同じでしたorz

もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。

同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。

また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。

実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。

335 :332:2017/04/23(日) 07:50:06.92 ID:h9OMGlcp.net
>>333
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。

変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m

336 :デフォルトの名無しさん:2017/04/27(木) 08:22:37.61 ID:rpeb1FWf.net
メッセージダイアログやショーメッセージで改行を
使うとメモリリークが出るけどなんで?

337 :デフォルトの名無しさん:2017/04/27(木) 12:14:19.99 ID:nqOtHEIU.net
バグってんじゃね

338 :336:2017/04/27(木) 12:36:20.33 ID:axAm+D16.net
delphiがバグってる?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?

339 :336:2017/04/28(金) 22:34:22.04 ID:WI3n6xVG.net
メモリーリークを調べているのですが
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?

340 :デフォルトの名無しさん:2017/04/30(日) 09:29:58.72 ID:kcq5sr/L.net
ソースみれば?

341 :デフォルトの名無しさん:2017/04/30(日) 11:59:29.48 ID:0p25w19v.net
336ではないけどソースコード見てみた
ポイントになりそうなところがアセンブリで書かれてた

342 :デフォルトの名無しさん:2017/04/30(日) 12:08:19.89 ID:VPr4LyhY.net
それがどうかしたか

343 :デフォルトの名無しさん:2017/04/30(日) 23:16:41.78 ID:rKLNeW5H.net
1. MessageDlg と同じ引数を持つ、そのユニット内にローカルな関数を書いて、MessageDlg のせいかどうか調べる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。

344 :デフォルトの名無しさん:2017/04/30(日) 23:36:32.18 ID:5yRtGq51.net
どのバージョンで発生したのかしら?
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。

345 :デフォルトの名無しさん:2017/05/02(火) 01:47:15.38 ID:As8TBna0.net
昔の経験
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装

346 :デフォルトの名無しさん:2017/05/02(火) 08:06:56.48 ID:Hq/uPbjy.net
「IntToStr(123)が原因でメモリーリークが起きる」
と判断した理由を開示せよ

347 :デフォルトの名無しさん:2017/05/24(水) 11:04:03.05 ID:ipeCfZP9.net
32biでも64bitでもinteger型は32bitですか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?

348 :デフォルトの名無しさん:2017/05/24(水) 11:54:37.27 ID:4nncZNTT.net
-1 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る

0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る

349 :デフォルトの名無しさん:2017/05/25(木) 14:51:52.47 ID:qme3C1o0.net
Integer は 32 だけど LongInt は 32 とは限らない

350 :デフォルトの名無しさん:2017/05/26(金) 08:47:10.54 ID:trsKQBBQ.net
>>349
そんなことどこにも書いてないけどホント?
ttp://docwiki.embarcadero.com/RADStudio/Berlin/ja/32_%E3%83%93%E3%83%83%E3%83%88_Delphi_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE_64_%E3%83%93%E3%83%83%E3%83%88_Windows_%E3%81%B8%E3%81%AE%E5%A4%89%E6%8F%9B

351 :デフォルトの名無しさん:2017/05/26(金) 10:06:17.71 ID:gif2nYmV.net
そのページは、たぶん、Win32->Win64 だけの頃のやつ。

http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。

とか

http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89

とか

352 :デフォルトの名無しさん:2017/05/26(金) 10:13:55.43 ID:trsKQBBQ.net
>>351
iOSだけ特殊な感じ?変なの。
LongIntとLongWordは使わないほうがよさげですね。何でこんな変な仕様にしたんだろ。

353 :デフォルトの名無しさん:2017/05/26(金) 10:22:32.82 ID:trsKQBBQ.net
あ、iOSにはLinux系も含まれるんですか?
その辺のあやふやさも嫌な感じですね。

354 :デフォルトの名無しさん:2017/07/06(木) 10:33:45.10 ID:E7iuEH9H.net
シンエディットでプロシージャの名前とファンクションの名前を色分けするような使い方をしたいのですが、
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?

355 :デフォルトの名無しさん:2017/07/06(木) 10:47:02.39 ID:1ivNtSqb.net
シンエディットて何?

356 :デフォルトの名無しさん:2017/07/06(木) 12:16:18.45 ID:DKA4KQvd.net
SynEditのことらしい
これをカタカナで書く感覚が分からん

357 :デフォルトの名無しさん:2017/07/06(木) 13:00:39.86 ID:/LwN4Pic.net
すまん。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。

358 :デフォルトの名無しさん:2017/07/06(木) 16:56:40.09 ID:uy+VElX3.net
キーボードが苦手なプログラマw

359 :デフォルトの名無しさん:2017/07/06(木) 19:47:25.65 ID:j2rVCi1D.net
>>358

360 :デフォルトの名無しさん:2017/07/08(土) 15:11:41.17 ID:4Sqq07Ob.net
これがアスペか・・

361 :デフォルトの名無しさん:2017/07/30(日) 22:35:33.76 ID:PBa3jUos.net
昔MCIをいじっていた者です。覚えている人いるかな?
4年くらいメソッドを書いてなくて、送るでwavを聞きたいなって思って久しぶりにコンパイラを触りました。
何をするソフトなのかというとフォームに対してD&DしてTListにD&D元のファイルのフォルダの
ファイル名を取得するソフトなんですが、なぜうまくいかないかわからなくて…。
指摘していただければ幸いです。

362 :デフォルトの名無しさん:2017/07/30(日) 22:37:14.18 ID:PBa3jUos.net
unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,ShellAPI, Vcl.StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
function SearchFile(SearchDir: string):integer; //SearchDir 検索対象のフォルダ
{ Private 宣言 }
protected
procedure FilesDropped(var Msg1:TWMDropFiles); message WM_DROPFILES;
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

363 :デフォルトの名無しさん:2017/07/30(日) 22:38:16.16 ID:PBa3jUos.net
procedure TForm1.Button1Click(Sender: TObject);
var
FileCount :integer;
begin
ListBox1.Clear;
//実行ファイルのあるディレクトリのファイルを列挙
FileCount :=SearchFile(ExtractFilePath(Application.ExeName));
ShowMessageFmt('%d個のファイルが見つかりました。',[FileCount]);
end;

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

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;

364 :デフォルトの名無しさん:2017/07/30(日) 22:38:43.85 ID:PBa3jUos.net
procedure TForm1.FilesDropped(var Msg1:TWMDropFiles);
var
FNameSize: UINT;
Count : UINT;
FileName : array[0..255] of Char;
FileName1: string;
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;
label1.Caption := Filename1;
end;

end.

365 :デフォルトの名無しさん:2017/07/31(月) 00:52:16.24 ID:5UR8c5yg.net
とこでfmxアプリをタスクトレイに収める方法はないですか?

探すとロシアのサイトにコンポーネントがあったけど
他に方法はないでしょうか?

366 :デフォルトの名無しさん:2017/07/31(月) 05:54:29.90 ID:poJtShEs.net
>>365
Windows専用だけどいい?

367 :デフォルトの名無しさん:2017/07/31(月) 08:21:01.65 ID:5UR8c5yg.net
>>366
ええもちろん

例えばバックグラウンドでネットにアクセスして
通知したりポップアップしたりする感じ

Androidだとserviceを使うんでしょうが
Windowsデスクトップだとタスクトレイに
常駐させるくらいしか思いつかない

こういうWindowsアプリをfmxで作る場合
どうするんでしょうか?

368 :デフォルトの名無しさん:2017/07/31(月) 12:56:22.59 ID:m2zUy0za.net
>>367
WinAPI.WindowsをUSESしてタスクバーから消したいアプリケーションのHWND取得してShowWindow(HWND,SW_HIDE);をぶちかます

タスクトレイにアイコン表示させたりする場合はコード記述でもできるけど面倒だからMonkeyMixerか何か使ってVCLを混在させてTTrayIcon使う

369 :デフォルトの名無しさん:2017/07/31(月) 18:38:00.55 ID:AynCBzeT.net
>>368
ありがとう

MonkeyMixerを調べて見ます

370 :デフォルトの名無しさん:2017/08/01(火) 10:29:01.65 ID:8qLxpsQt.net
TTrayIconはVCL依存がほとんどないから、切り出して使った方が余計なユニットがリンクされなくていいと思う
自分はそうしてる

371 :デフォルトの名無しさん:2017/08/13(日) 13:54:41.72 ID:6x3+ks7t.net
教えてください。

fmxで矩形以外の多角形領域を
Bitmap(.Canvas)間でコピーするには
どうしたらいいでしょう?

Helpを探したんですが見つけられませんでした

苦肉の策で矩形領域を別のBitmapにコピーし
対象の多角形領域外を完全透過に塗りつぶして
それを最終的に目的のBitmapにコピーしてます

よろしくお願いします

372 :デフォルトの名無しさん:2017/08/26(土) 22:45:11.62 ID:Siu65+Zd.net
fmxねぇ...

実行ファイルのサイズが
vclの倍以上になるのはビックリ

でもvirustotalなんかでの誤検知は
確実に減るな

373 :デフォルトの名無しさん:2017/08/29(火) 17:10:04.07 ID:sf08cQEA.net
DBCtrlのKeyPressメソッドで出てくる
^H  ^V  ^X
とかって何を指してるんですか?それぞれ16進で、8,16,18の値なんですが。
ポインタの逆参照以外で ”^” の使い方はヘルプにも無いのですが。

374 :デフォルトの名無しさん:2017/08/29(火) 17:11:49.45 ID:pis/sDRy.net
H 48h
V 56h
X 58h
ctrl+H で 08h
ctrl+V で 16h
ctrl+X で 18h

375 :373:2017/08/29(火) 17:15:51.90 ID:sf08cQEA.net
>>374
コントロールキーを押しながら…の記述に ”^” を使うということですか。
ありがとうございます。

376 :デフォルトの名無しさん:2017/09/20(水) 09:56:54.97 ID:lqqkwYAM.net
ちょっと教えてください

ジェネリクスなTListにレコード型を格納しておいて
後でレコード内の一部のフィールドを修正したい場合
どうすればいいんでしょうか

やっぱレコード全体を取り出して、修正後に全体を書き戻す?

377 :デフォルトの名無しさん:2017/09/21(木) 21:39:40.01 ID:pNUeS15R.net
うまくいくかはわからないが、
lst: TList<THoge>なリストがあるとして、

for i :=0 to lst.Count-1 do begin
lst.List[i].SomeField := v;
end;

のように、レコードのコピーが発生しないようにすればもしや。

378 :デフォルトの名無しさん:2017/09/22(金) 00:31:23.41 ID:zuQMjG3e.net
デフォルトプロパティ List[i] に相当する List.Items[i] の
read関数 function TList<T>.GetItem(Index: Integer): T; は、戻り値が
左辺値ではないので、どうしても一時変数が必要です。

379 :デフォルトの名無しさん:2017/09/22(金) 07:31:05.69 ID:mBOH6uxg.net
>>378
Itemsプロパティではなく、内部で管理している配列を直接返すListプロパティを介してもテンポラリーのコピー発生するんだっけ?
ちょっとうろ覚え。

380 :デフォルトの名無しさん:2017/09/23(土) 14:45:31.84 ID:69c72AW1.net
Delphi 10.2 Update 1で実行しています。

log.d('error だめぽ');

上記コードをiPhone実機で実行して
Xcode -> Window -> Devicesに表示されている実機のログを確認すると
以下のように全角文字が文字化けします。

2017/09/23 14:35:21 Project1[7478]: error \M-c\M^A\240\M-c\M^B\M^A\M-c\M^A\M-=

解決策をご存知の方がいらっしゃいましたらお助けくださいませm(_ _)m

381 :デフォルトの名無しさん:2017/09/23(土) 23:58:16.42 ID:qb+wgPEX.net
エスケープ文字をデコードすると e3 81 a0 e3 82 81 e3 81 bd なので、UTF-8 ですかね。
エスケープ文字への変換がログの前後かは切り分けてみましょう。od -x で16進表示すると、
\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
前者なら、ログを出力するツールの性格(ASCII以外は変換とか)、
後者ならコンソールへ出力するツールの変換ですかね。
前者なら、デコードツールでも作ってみれば。
\Mは、0x80を or するメタキーを併用したキー入力の名残りで、Emacs/GNU系の方言です。
\M-c は 0x80 + 'c' = 0xe3 、\M^A は 0x80 + 0x01 (Control-A) = 0x81、\240は8進表記なので 0xa0

382 :380:2017/09/24(日) 08:50:50.85 ID:xiqHS4Dl.net
>>381
詳細に解説いただきありがとうございます!

>\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。

od -xのやり方が分からなかったのでログをテキストで保存して
バイナリエディタで確認したところ5c 4d 2d 63でした。
これは表示する側の問題ということですよね?

あの後、XCodeでNSLogでデバッグログを出力する簡単なプログラムを書いて確認したところ
XCode上のデバッグコンソールには日本語が文字化けしないで出力されますが
Xcode -> Window -> Devicesに表示されている実機のログでは日本語が文字化けしたので
表示側の問題なのかなと思います。

日本語が表示できないのは不便なので解決できるとうれしいですが
こういう場合、難しいのでしょうか。

383 :デフォルトの名無しさん:2017/09/24(日) 19:16:16.23 ID:QV3LCCDd.net
>>382
面倒だから試してないけど
NSstr使うとかAnsiStringに一旦格納して出力するとか

384 :381:2017/09/25(月) 02:46:48.72 ID:O5/7UCBk.net
しまった。前後逆でした。e3 のままなら無変換。

で、ちょっと古いけどXcode6.3.2+ios8.3では日本語表示できてます。

385 :380:2017/09/25(月) 08:55:47.22 ID:Ojd2COhe.net
>>383
ご回答ありがとうございます!
NSstrを使ってlog.dで出力しようとするとコンパイラに怒られてしまいましたorz
AnsiStringを試したところ出力文字は変化しましたが文字化けは改善されませんでした。

>>384
ご回答ありがとうございます!
なるほど。
現在の環境がXCode8.3 + iOS8.3なので少し古いXCodeを使って試してみようと思います。

386 :デフォルトの名無しさん:2017/09/27(水) 10:22:25.25 ID:9ZA1JIkS.net
iOSってTBannerAdを使ってAdmob表示できないんですか?
docWiki見たらiOSはiAdを使う前提の説明しかなくて・・・

387 :デフォルトの名無しさん:2017/10/17(火) 09:08:55.23 ID:mEDA3l77.net
Delphi10.2ってxcode9.0に対応してる?

388 :デフォルトの名無しさん:2017/10/24(火) 09:26:42.32 ID:ZAkkogtl.net
すみません。どうしたりいいのか分からずに書き込みさせてください。

389 :デフォルトの名無しさん:2017/10/24(火) 09:43:54.24 ID:PqKdrl6b.net


390 :デフォルトの名無しさん:2017/10/24(火) 20:03:21.48 ID:1s7nmZJe.net
もちつけ!

391 :デフォルトの名無しさん:2017/10/25(水) 11:38:12.62 ID:32/KECdp.net
したり顔

392 :デフォルトの名無しさん:2017/10/30(月) 20:24:16.10 ID:n19lyVRb.net
お伺いします。
https://www.axfc.net/u/3858375?key=delphi
アーカイブpass=123456

ですが、AというフォルダにB.zipC.zipD.zip・・・というファイルが入っています。
これにB.zipというファイルをフォームにD&Dで落とすと
1:q:\A\B.zip
2:q:\a
3:q:\a\
と表示されます。
そして、Button1を押すとバイナリがあるフォルダのファイルの数を報告します。
欲しい機能はB.zipをフォームにD&DをしたときにC.zip,D..zip
のAフォルダ内のファイルのすべてをListBox表示に表示させるにはどうしたらよいでしょうか?

最近いろいろやっているのですが、今ひとつ解決できないため、
教えていただけないでしょうか?

393 :デフォルトの名無しさん:2017/10/30(月) 22:19:56.32 ID:L79oOSSM.net
>>392
TDirectory.GetFilesとExtractFilePath

394 :デフォルトの名無しさん:2017/11/02(木) 18:58:25.38 ID:i0GpXesu.net
すみません。エロい方教えてください。

s := 'ABC'#13#10;

という文字列を、SJISの16進文字列に変換して、
  '4142430D0A'
にしたいのですが、やり方がわかりません。
どう書けばよいのでしょうか?

395 :デフォルトの名無しさん:2017/11/03(金) 11:14:14.85 ID:e5C3JHXA.net
これか?
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.Classes.BinToHex

396 :デフォルトの名無しさん:2017/11/04(土) 21:02:07.27 ID:wxgLJQNm.net
D5でよければこんな感じでできるかな

procedure TForm1.FormCreate(Sender: TObject);
var
s, s2: string;
i: Integer;
begin
s := 'ABC'#13#10;
s2 := '';
for i := 1 to Length(s) do
begin
s2 := s2 + IntToHex(Ord(s[i]), 2);
end;
ShowMessage(s2);
end;

397 :デフォルトの名無しさん:2017/11/05(日) 18:50:55.45 ID:3iw/MMda.net
>>396
Delphi6でできました。ありがとう。
これ、XE5でも動くのかな?

398 :デフォルトの名無しさん:2017/11/06(月) 21:01:49.83 ID:MioLsWZJ.net
>>397
自分で試すこともしないのか
試すことができないなら気にしなくてよくないか

399 :デフォルトの名無しさん:2017/11/06(月) 21:26:18.10 ID:WbFc3oVf.net
すみません。
気にしなきゃいけない状況です。
で、XE5は今環境がないのです。。。
(仕事場が2つあり、いまXE5がない方に常駐しているので)

400 :デフォルトの名無しさん:2017/11/07(火) 07:05:35.29 ID:o3l3MYxT.net
>>399
じゃあ行ってから試せ

401 :デフォルトの名無しさん:2017/11/07(火) 21:49:52.73 ID:5HoE4QmZ.net
xcode9に対応した?

402 :デフォルトの名無しさん:2017/11/23(木) 12:24:47.52 ID:H2oFoVNB.net
firemonkeyって一度置いたコンポーネントって削除できないの?

403 :デフォルトの名無しさん:2017/11/23(木) 14:00:39.62 ID:ATmHrlsw.net
>>402
そんなバナナ

404 :デフォルトの名無しさん:2017/11/23(木) 14:01:03.28 ID:ATmHrlsw.net
猿だけに…

405 :デフォルトの名無しさん:2017/11/23(木) 23:05:31.51 ID:6erWI8jG.net
         .┌┐
        / /
      ./ / i
      | ( ゜Д゜) 
      |(ノi  |)
      |  i  i
      \_ヽ_,ゝ
        U" U

406 :402:2017/11/24(金) 21:05:42.06 ID:dHFHVjxQ.net
imagelistを使うと削除できないみたいです。

選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.

これって返品で金返してくれないかな

407 :デフォルトの名無しさん:2017/11/24(金) 22:59:59.51 ID:RyYb1gen.net
>>406
うちではそんな現象出ないけどバージョンは?

408 :デフォルトの名無しさん:2017/11/25(土) 01:36:58.01 ID:90SL+fWH.net
>>406
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの

409 :デフォルトの名無しさん:2017/11/25(土) 08:22:38.33 ID:W59Kilfu.net
すーぐ返金返金言うてからに

410 :402:2017/11/25(土) 09:22:54.97 ID:2E3yXKzA.net
皆さ、レスありがとうございます。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。

411 :デフォルトの名無しさん:2017/11/25(土) 09:23:27.60 ID:O3o92heE.net
何か最近ヘルプ表示したままdelphi終了しようとすると
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない

心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...

412 :デフォルトの名無しさん:2017/11/26(日) 16:50:58.14 ID:JMtUYhzN.net
firemonkeyで正規表現ってできる?

413 :デフォルトの名無しさん:2017/11/26(日) 17:35:26.15 ID:wHZSWh0R.net
>>412
できる

414 :デフォルトの名無しさん:2017/11/26(日) 18:29:30.48 ID:JMtUYhzN.net
ググったけどdelphiの正規表現しか出てこないです。
サイトとか教えてください。

415 :デフォルトの名無しさん:2017/11/26(日) 20:24:03.68 ID:wHZSWh0R.net
>>414
System.RegularExpressions

416 :デフォルトの名無しさん:2017/11/26(日) 21:19:52.87 ID:JMtUYhzN.net
有難うございます。

417 :デフォルトの名無しさん:2017/11/30(木) 11:55:54.04 ID:jryz1LGC.net
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には何もかえってこないのです。

418 :デフォルトの名無しさん:2017/11/30(木) 16:38:33.08 ID:af+3x/Ty.net
キーが違うようです。
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';

419 :デフォルトの名無しさん:2017/11/30(木) 17:26:14.42 ID:jryz1LGC.net
>>418
その通りでした。
Reg.OpenKey で戻りを気にしていなかったので、悩み続けてしまいました。
ありがとうございます。感謝です。

420 :デフォルトの名無しさん:2017/12/08(金) 21:17:46.94 ID:Gxx/XJ9D.net
誰か行かないの?
https://techplay.jp/event/639177
https://techplay.jp/event/641383

421 :デフォルトの名無しさん:2017/12/11(月) 15:09:59.51 ID:r0biDCTF.net
Calender、Japaneseもわかってない人は論外

422 :デフォルトの名無しさん:2017/12/12(火) 16:52:51.98 ID:F4p+lHsn.net
昔あったdelphiのフリーコンポーネントを集めたサイトって無くなっちゃた?

423 :デフォルトの名無しさん:2017/12/12(火) 18:31:07.66 ID:D0b6rm60.net
古くからのDelphiコンポーネントが全て置いてある
アーカイブ的なサイトってないんだろうか

424 :デフォルトの名無しさん:2017/12/12(火) 21:12:25.60 ID:ABDe/NWv.net
ふと思ったけどTImageListじゃなく
TSoundListコンポーネントってない?
用途はありそうだが

てかTImageListってどういう仕組みで
画像を保持してるんだろう

425 :デフォルトの名無しさん:2017/12/14(木) 09:04:39.76 ID:XL4elc7V.net
DSPとかtorrysとか懐かしいな

426 :デフォルトの名無しさん:2017/12/24(日) 16:19:13.24 ID:dCGOIGeG.net
Tetheringコンポーネントを使ってアプリ間データ共有を試してるんだけど
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど

Starterだと実はTetheringコンポーネントは使えない?

427 :デフォルトの名無しさん:2017/12/24(日) 16:33:23.07 ID:NhonSez5.net
>>426
テザリングの項目がStarterは空欄になってるから多分使えない

428 :デフォルトの名無しさん:2017/12/24(日) 19:06:27.16 ID:dCGOIGeG.net
>>427
そうだよね

だったらTetheringコンポーネントなんか
選択できなくすればいいのに

ただSystem.Tether.*.dcuはすべて揃ってるぽいんだよな

429 :デフォルトの名無しさん:2017/12/28(木) 21:34:46.01 ID:JOEtu7v7.net
質問させてください。
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、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.82 ID:ThR79eg8.net
>>429
せめtw署名生成ルーチンくらい書こうぜブラザー
たぶんHmacSHA256やとは思うが

431 :デフォルトの名無しさん:2017/12/29(金) 07:48:05.15 ID:yZ5IlcO4.net
>>430
ありがとうございます。
SHA256でメッセージ暗号化するってことでしょうか?
それとも別の通信するのに必要な処理でしょうか?

432 :デフォルトの名無しさん:2017/12/29(金) 08:47:31.32 ID:cWaP921A.net
仮想通貨って電気代が安い国の人がが圧倒的に有利だよね

433 :デフォルトの名無しさん:2017/12/29(金) 11:43:27.38 ID:PDCF/c1K.net
>>431
URLから察するにZaifやと思うが、公式のAPIリファレンスまず読もうや
リファレンスで書いてる事がわからないなら都度質問したらええ
今の状況を人は丸投げと言う

434 :デフォルトの名無しさん:2018/01/07(日) 11:23:55.22 ID:KBdbbCLH.net
買っとけよ
https://www.packtpub.com/all?search=Delphi

435 :デフォルトの名無しさん:2018/01/07(日) 12:30:45.63 ID:S38kpWyE.net
漬物石

436 :デフォルトの名無しさん:2018/01/07(日) 13:53:28.81 ID:8Eqg8PLM.net
>>432
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利

437 :デフォルトの名無しさん:2018/01/08(月) 09:12:47.06 ID:j35IDJ3/.net
Delphi 10.2 Tokyo で、

  @クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
  Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること

ができないのですが、できるようにする方法はありますか?

438 :デフォルトの名無しさん:2018/01/08(月) 10:28:05.36 ID:2Q7Kliqk.net
>>436
ふむ。結局中国が一人勝ちして終わりやな。

439 :デフォルトの名無しさん:2018/01/08(月) 12:45:46.64 ID:ictcT8i6.net
>>437
うちはできるからおま環
ショートカットの設定とか見直したらええんちゃう

440 :デフォルトの名無しさん:2018/01/08(月) 18:50:31.06 ID:j35IDJ3/.net
>>439
俺環とわかり、ありがたし。
サンキュ!

441 :デフォルトの名無しさん:2018/01/09(火) 22:26:41.17 ID:tEYlJ576.net
Starterじゃないの?

442 :デフォルトの名無しさん:2018/01/09(火) 23:21:34.37 ID:DSUTqw5a.net
そうです。
Starterです。
無料のやつです。

443 :デフォルトの名無しさん:2018/01/10(水) 22:49:34.96 ID:A/FWCqkf.net
Starterは支援機能削られてる
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能

コード補完はつけて欲しかったね

444 :デフォルトの名無しさん:2018/01/10(水) 22:58:49.24 ID:0V4diR3n.net
そうなんですか・・・
コード補完がないのはキツいなぁ。

445 :デフォルトの名無しさん:2018/01/10(水) 23:22:20.51 ID:52V+kDTj.net
Starterまじでコード補完ないんだww
ひでぇww

446 :デフォルトの名無しさん:2018/01/11(木) 07:06:55.59 ID:I3euztjG.net
5年間Starter使ってるけど
もう慣れた

447 :デフォルトの名無しさん:2018/01/19(金) 14:12:23.13 ID:3mDLycuV.net
fmxで実行時に複数のpanelを動的に作成し
その背景を別の色にしたいんだけど

設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない

検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない

誰かヒントをお願いします

448 :デフォルトの名無しさん:2018/01/19(金) 15:02:24.17 ID:LVSymK+/.net
>>447
TRectangleマジおすすめ

449 :デフォルトの名無しさん:2018/01/19(金) 22:25:43.24 ID:9RJTUZM2.net
>>448
バッチリだった
ありがとう

450 :デフォルトの名無しさん:2018/02/02(金) 16:54:03.50 ID:MJtWQFFO.net
どうしても分からないため、教えてください。
アプリとしては、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.34 ID:MJtWQFFO.net
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;

452 :デフォルトの名無しさん:2018/02/12(月) 17:53:30.98 ID:wyyYgDNO.net
>>443
Starterにはコード整形というのはないのですか、一生懸命探してしまった(笑)
CodeFormatterありがたい!

453 :デフォルトの名無しさん:2018/02/12(月) 21:54:05.03 ID:lRsL3DkL.net
LDirはどこで定義されてんだ?

454 :デフォルトの名無しさん:2018/02/13(火) 11:15:08.11 ID:Wl4kHNJK.net
メモリー共有が簡単に出来るクラスってある?

455 :デフォルトの名無しさん:2018/02/13(火) 20:34:12.21 ID:ZGwVrA8k.net
>>454
ググったら、名前付きパイプによるプロセス間通信見つけた。

http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1

使ったことないので、使い心地までは分かりかねます。

456 :デフォルトの名無しさん:2018/02/16(金) 01:22:45.51 ID:W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

457 :デフォルトの名無しさん:2018/03/14(水) 17:54:41.12 ID:joCYD0wr.net
10.2.3出たな

でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.

458 :デフォルトの名無しさん:2018/03/27(火) 23:04:26.37 ID:krpCtSiN.net
D6に入れて使ってるIndy10 https対応してたのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。

459 :デフォルトの名無しさん:2018/04/07(土) 17:54:05.06 ID:uobWZe4y.net
すみません教えてください。
長いこと格闘していたのですが、どうしても攻略できません。

ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。

只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。

ttps://www.axfc.net/u/3901529?key=delphi

460 :デフォルトの名無しさん:2018/04/08(日) 14:23:14.02 ID:+Wdeqy0/.net
>>459
ダウンロードはメンド

問題の部分だけでも書いて

461 :デフォルトの名無しさん:2018/04/08(日) 16:43:34.30 ID:yiR7WAE6.net
>>459
ダウンロード全然始まんないぞ
てかアップローダ選ぼうぜ

462 :デフォルトの名無しさん:2018/04/08(日) 19:31:28.65 ID:aHOcMh8N.net
ちょっと長いのですが…

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.72 ID:aHOcMh8N.net
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; // フォルダーパス\なし

464 :デフォルトの名無しさん:2018/04/08(日) 19:32:09.74 ID:aHOcMh8N.net
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;

465 :デフォルトの名無しさん:2018/04/08(日) 19:40:43.33 ID:aHOcMh8N.net
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;

上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。

466 :デフォルトの名無しさん:2018/04/08(日) 21:52:36.23 ID:vzZ5v1M+.net
>>465
自分もよく知らんので間違ってたらごめん

>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);

'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど

467 :デフォルトの名無しさん:2018/04/09(月) 02:34:30.98 ID:8Wv+Mi08.net
>>465
これってかなり前にも指摘したような気がするが...

まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな

それで問題なかったらMCIに送って

468 :デフォルトの名無しさん:2018/04/09(月) 07:55:25.96 ID:qLOACt12.net
>>466-467
レスどうもです。

>>465
以前FileListBoxで作ったときのものをそのままD&D時のパスを含むファイル名を渡しています。
>>467
TEditに代入しても動きません。途方に暮れています。
何年か選択したListBox ItemからMCIに渡す方法を探してますが、どうしてもわからないままでいます。

上に上げたロダはリロードするとファイルが落ちてくるようです。

お忙しいとこrとすみませんがよろしくお願いいたします。

469 :デフォルトの名無しさん:2018/04/09(月) 08:07:09.81 ID:3dFP9zTK.net
aliasの前に半角スペースがない
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される

470 :デフォルトの名無しさん:2018/04/09(月) 08:11:51.43 ID:3dFP9zTK.net
>>467さんが指摘してるのはTEditに入れて表示された文字列が正しいコマンドかどうかチェックしろって事であって、代入したら動くんじゃないって言ってるわけじゃない

471 :デフォルトの名無しさん:2018/04/09(月) 12:39:00.80 ID:BwdfepzG.net
FileName1のスコープが問題何じゃねーの?

472 :デフォルトの名無しさん:2018/04/09(月) 15:46:39.00 ID:sAzU0iCB.net
>>462-465
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う

473 :デフォルトの名無しさん:2018/04/09(月) 15:48:10.00 ID:qLOACt12.net
>>469
>>467さんの指摘を受けLabelに命令を代入しましたが、確かにおかしい命令を吐き出していました。
open ""type MEPGVideo alias MusicFile
こんな表示をしています。


>>471
FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
私個人の予想では、ListBoxからうまくファイルのPATHを含むファイル名がうまく取得できていないためではないかと考えているのですが…

474 :デフォルトの名無しさん:2018/04/09(月) 15:52:07.60 ID:3dFP9zTK.net
何が正しいのか正しくないのか、正しくないのは変数の中身なのかコードなのか渡し方かなのか、それとも別になにかなのかを探したら解決できる
正しいと思い込む前に確認する癖をつけましょう

475 :デフォルトの名無しさん:2018/04/09(月) 18:30:51.81 ID:BomKXXDR.net
>>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;を消す

476 :デフォルトの名無しさん:2018/04/09(月) 18:57:48.34 ID:BomKXXDR.net
>>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なんてのは関数内の一時的な変数として宣言しがちだと思うので

477 :デフォルトの名無しさん:2018/04/09(月) 19:52:13.89 ID:gH9PL+mq.net
>>472
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。


アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。

FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。

478 :デフォルトの名無しさん:2018/04/09(月) 20:33:17.20 ID:luHmX43j.net
メディアプレーヤーコンポ使えばmp3ほかいろいろ再生できますぜ

479 :デフォルトの名無しさん:2018/04/09(月) 22:09:32.86 ID:qcsBHwDv.net
>>477
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。

わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと

そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ

480 :デフォルトの名無しさん:2018/04/09(月) 22:24:15.00 ID:8Wv+Mi08.net
>>477
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う

https://1drv.ms/u/s!ALhSqBFVHu2ZzRg

前からTDropTargetを使ってみたかっただけなんだけど

481 :デフォルトの名無しさん:2018/04/09(月) 22:25:36.16 ID:tj7dSTW0.net
この話題長いねぇ
ずーっと解決してない気がするw

482 :デフォルトの名無しさん:2018/04/10(火) 07:46:44.60 ID:M1dLQsHI.net
野球選手やサッカー選手に向いてるやつと向いてないやつがいるように
プログラマーにも向いてるやつと向いてないやつがいる

483 :デフォルトの名無しさん:2018/04/10(火) 09:28:59.45 ID:8aH9jq04.net
>>480
なかなか良い
センスあるな

484 :447:2018/04/10(火) 17:57:58.95 ID:ixHiVr8M.net
>>480
シンプルで必要十分な情報がまとまっていました。

このスレにいる皆様は、今回のMCI問題を含むVCLの操作ではなく、
細かい文法事項などはどこで習得されたのでしょうか?

>>481
ずっとコンパイラーを使っていたのではなく、新しい攻略できたかもと散発的にいじってました。
本当に作りたいアプリがあるので、ご迷惑とは思っていますが、未だに食いついています。

リモコンで制御したいのと、巻き戻しがサポートされていれば、多分ここまでしつこくはなかったかもしれません。

485 :デフォルトの名無しさん:2018/04/10(火) 20:26:01.63 ID:n/L+8J/R.net
>>484
>このスレにいる皆様は、今回のMCI問題を含むVCLの操作ではなく、
>細かい文法事項などはどこで習得されたのでしょうか?

勘とノリと勢いとGoogle先生

486 :デフォルトの名無しさん:2018/04/10(火) 21:56:04.81 ID:7q8c2f4e.net
>>484
巻き戻しってもしかして逆再生?
そりゃハードルが高すぎないか

487 :デフォルトの名無しさん:2018/04/10(火) 22:06:00.62 ID:BUevE+bD.net
>>484
VCLソース

488 :デフォルトの名無しさん:2018/04/11(水) 07:06:25.31 ID:Ma7OFF0j.net
リモコンって以前はMediaCenterが対応してたね

Delphiで今やるんだったら
TTethering使ってスマホから操作かな

489 :デフォルトの名無しさん:2018/04/13(金) 00:04:40.08 ID:QwQUx8hW.net
@pikさんて何者なの?

本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど

490 :デフォルトの名無しさん:2018/04/17(火) 14:33:30.73 ID:eYOCf7bm.net
>>489
直接本人に言えよ。陰湿な奴だな。

491 :447:2018/04/18(水) 21:20:13.42 ID:MII0lz02.net
すいません。教えてください
この前の続きです。

D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。

ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。

492 :447:2018/04/19(木) 21:05:53.19 ID:bgRnFwFv.net
現状でやりたいことは、送るで起動して音声ファイル(以下.wav)を再生させることです。

1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始

現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。


ここがくクリアできれば拡張子連動も可能だと思いますが・

493 :デフォルトの名無しさん:2018/04/21(土) 23:15:17.71 ID:57zLglLu.net
>>491-492
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)

ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です

とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで

Delphi2009だと問題ないのに?(**)?

494 :デフォルトの名無しさん:2018/04/22(日) 09:43:57.64 ID:/aj/ysEy.net
ListBox1.ItemIndex := ListBox1.Items.IndexOf('9.wav');

495 :デフォルトの名無しさん:2018/04/22(日) 20:19:04.99 ID:1p2Tkusj.net
なるほどなー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー

496 :447:2018/04/25(水) 06:26:09.01 ID:LyLCajq/.net
>>493
ハイライトではなく選択した(された)アイテムと表現すべきでした。

無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。

以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。

自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi

皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。

例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。

497 :デフォルトの名無しさん:2018/04/25(水) 08:14:31.72 ID:iILk6Jpy.net
>>496
もう仕様書作って金出してコード納品してもらった方が速い

498 :デフォルトの名無しさん:2018/04/25(水) 10:12:58.53 ID:KojXazHw.net
アドバイスも何も....

D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?

変数のスコープを理解してないのかな

てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ

他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね

499 :デフォルトの名無しさん:2018/04/25(水) 10:43:12.40 ID:8p1Sd4ST.net
>>496
>(送るだとListBoxに反映されますがD&Dだと反映されない。)

D&Dを受け取る WMDropFiles 内にListBoxに反映させるコードが無いんだから反映されるわけが無い

500 :デフォルトの名無しさん:2018/04/26(木) 18:55:25.51 ID:fqEKBH7q.net
動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる

501 :447:2018/05/05(土) 11:10:08.17 ID:pQ8nw+O2.net
ListBoxへの反映の仕方が分かったので対処ができました。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi

本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。

502 :デフォルトの名無しさん:2018/05/05(土) 13:26:16.48 ID:vbsrC7NJ.net
こんな文字列処理メインのコードにポインタの出番はないでしょう

ListBoxの選択項目を取り出すのは、あなたが>>464に書いている通り

問題はListBoxに追加した項目が保持してる内容
ファイル名? パス付き?

あと老爺心で言うんだけど、メインの部分がまったく機能してないのに
サブの部分を追加してるのはどうかと

全体の見通しが悪くなるだけだよ

ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ

503 :デフォルトの名無しさん:2018/05/07(月) 08:05:08.09 ID:bSchYp3+.net
ありがとう。C#で作り直すことにします。

504 :デフォルトの名無しさん:2018/05/07(月) 18:43:31.79 ID:RryMz2og.net
そうきたか www

505 :447:2018/05/23(水) 05:43:33.84 ID:IzxjocGr.net
TString型からString型へのキャストはどうしたら良いのでしょうか?

ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。

506 :447:2018/05/23(水) 07:25:01.52 ID:IzxjocGr.net
上の質問はスルーしてください

507 :デフォルトの名無しさん:2018/05/23(水) 20:23:05.77 ID:yohLywXT.net
本当か?本当にTStringとStringの違いがわかったのか?

508 :デフォルトの名無しさん:2018/05/23(水) 20:31:59.75 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

401Z3

509 :デフォルトの名無しさん:2018/05/24(木) 00:26:07.03 ID:X0Vr2UrM.net
>>505
何年間も同じとこクルクル回って進歩してないな

510 :447:2018/05/24(木) 07:41:50.56 ID:Xlbr0a9V.net
>>507
本当は分かっていません。
ただ、もう少し試行錯誤が必要だと判断しました。
TstringからStringに渡すのはそんなに難しいとは思えないのですが……。

>>509
コンパイラをいじっている時間があまりなくて
今回も数年ぶりに(昔このスレで正月に作ったメディアプレイヤー)触ってますので
進歩してなくて、さっぱり分からないことが相変わらず多いです。

511 :デフォルトの名無しさん:2018/05/24(木) 07:51:45.33 ID:UDepo1QV.net
>>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?

512 :デフォルトの名無しさん:2018/05/24(木) 09:38:32.78 ID:3hrzymd4.net
"Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか?

513 :デフォルトの名無しさん:2018/05/24(木) 09:47:02.42 ID:1QuFgEhD.net
>>510
あのな、良いこと教えてやる

一番薄い「言語ガイド」というマニュアルがあるからそれ読め
最初の1ページ目から最後のページまで全部読め
判らなくても良い、難しくても良い、とにかく1冊全部読め

読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ

514 :デフォルトの名無しさん:2018/05/24(木) 12:22:44.13 ID:2pfDia9X.net
TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね

515 :デフォルトの名無しさん:2018/05/24(木) 17:31:30.64 ID:Pn5Zd5T4.net
>>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ

どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る

516 :デフォルトの名無しさん:2018/05/24(木) 18:32:52.16 ID:Pmzmf4Ca.net
普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw

517 :デフォルトの名無しさん:2018/05/24(木) 18:38:26.23 ID:Pn5Zd5T4.net
>>516
で、お前は何で教えてやらないの?

518 :デフォルトの名無しさん:2018/05/24(木) 18:43:41.36 ID:NEzd0Nja.net
本人だからさ

519 :デフォルトの名無しさん:2018/05/24(木) 20:03:35.81 ID:hm+d4/Zn.net
はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね

520 :デフォルトの名無しさん:2018/05/24(木) 20:16:15.75 ID:Pn5Zd5T4.net
あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw

521 :510:2018/05/26(土) 04:35:23.77 ID:4prcmauu.net
>>513
昔言語ガイド印刷してたのを忘れていました。
今読むと昔は分からなかったことが分かるようになってきました。
プロジェクトを作る前に最後まで読んでみます。

>>516
そう複数なんですよね!だからListBoxでindexで数字でターゲットを選べると言うことに気がつきました。
読みにくい文で済みません。

>>515
TStringで検索かけたところ膨大な数のメソッドが出てきて
悩んでいます。
まずは大事なことがたくさん書いてある言語ガイドをよく読んでから理解してから
再チャレンジします。

レスしてくれた皆様ありがとうございました。

522 :デフォルトの名無しさん:2018/05/26(土) 16:36:32.52 ID:ZcCwZUbS.net
だから TStringじゃない TStrings

523 :510:2018/05/27(日) 06:51:35.56 ID:6aP994kT.net
>522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。

524 :デフォルトの名無しさん:2018/05/27(日) 18:56:00.45 ID:tt6kkd8K.net
初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う

525 :デフォルトの名無しさん:2018/05/29(火) 12:30:34.30 ID:1O3tJEYz.net
頑張れ‼誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね

526 :デフォルトの名無しさん:2018/05/29(火) 16:35:28.22 ID:kxbaWIuP.net
何年「最初」を繰り返してるのだろうかー

527 :510:2018/05/30(水) 07:03:11.11 ID:2jnt+z5e.net
>>524
Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
早速インストールしてみます。
ですが、皆様はシステムライブラリのヘルプを見て手続きや関数などを覚えたのでしょうか?

>>526
職業はコンピューター関係でなく、時間が空かないとコンパイラを使うのも
厳しいために今回は5年ぶりくらいにコンパイラーいじっていますので
最初になってしまいます。

普通こんだけ叩かれたらプログラミングを諦めてしまうと思いますが、
双六ゲームがどうしても作りたいのでかじりついて離れずにいます。

528 :デフォルトの名無しさん:2018/05/30(水) 10:34:14.77 ID:1AWKUtm2.net
>>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ

529 :デフォルトの名無しさん:2018/05/30(水) 14:51:11.60 ID:240M2quP.net
ほんそれ
話聴かない奴は叩かれる

530 :デフォルトの名無しさん:2018/05/30(水) 17:57:51.44 ID:QhoQOR8g.net
>>527

>Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。

本の名前教えて。
俺もDelphiのHELP欲しい。

531 :デフォルトの名無しさん:2018/05/30(水) 20:16:26.04 ID:lZ3vVAou.net
>>510>>527
MCIさんでしょ?
オーディオプレーヤは諦めて双六ゲームにしたの?

532 :デフォルトの名無しさん:2018/05/30(水) 20:52:42.12 ID:lZ3vVAou.net
>>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど

http://support.embarcadero.com/jp/article/35932

533 :デフォルトの名無しさん:2018/05/31(木) 00:53:55.84 ID:Rz8G1qx4.net
このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。

534 :デフォルトの名無しさん:2018/05/31(木) 00:56:10.16 ID:KiYT67Xx.net
ナンセンスなラ(略)

535 :デフォルトの名無しさん:2018/05/31(木) 02:41:36.75 ID:LeDqx/cu.net
>>533
アップデートファイルを単独で使用するなってこと?

そもそもdelphi 6 personalってフリーなんだから
その程度はいいんじゃない?

536 :デフォルトの名無しさん:2018/05/31(木) 12:29:07.06 ID:tuQW1gq3.net
>>361 この人まだいるんだね(笑)

537 :デフォルトの名無しさん:2018/05/31(木) 15:12:07.71 ID:LXR1oL3d.net
オマエモナ

538 :デフォルトの名無しさん:2018/05/31(木) 17:49:48.89 ID:NnA31TPO.net
Unicode 正式対応したのは
どのバージョンから?

539 :デフォルトの名無しさん:2018/05/31(木) 19:52:10.32 ID:OiZlt55G.net
>>532

ありがとう!

540 :510:2018/06/01(金) 04:16:23.59 ID:5fSTAWJb.net
>>531
MCIいじってますよ。
ただ今は、TStringsと戦ってます。

>>528
そうですね。
理解が追いついていかない。ふがいないなぁ。

541 :デフォルトの名無しさん:2018/06/01(金) 07:07:59.62 ID:tZOiVGE0.net
>>538
2009じゃね?

542 :デフォルトの名無しさん:2018/06/01(金) 08:17:03.08 ID:AldthANR.net
>>538
string型のutf8化は2009から。
ucs2程度やwidestringであれば、少なくともdelphi7でも使えてる。

543 :デフォルトの名無しさん:2018/06/01(金) 12:06:09.39 ID:JGYXEwwz.net
結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。

544 :デフォルトの名無しさん:2018/06/01(金) 12:13:27.24 ID:VRiSWYxK.net
てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし

思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ

545 :デフォルトの名無しさん:2018/06/05(火) 19:54:37.86 ID:FLappK2N.net
直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ

546 :デフォルトの名無しさん:2018/06/05(火) 19:55:52.87 ID:FLappK2N.net
違った、2005年なので13年経過。。。

547 :デフォルトの名無しさん:2018/06/06(水) 10:45:41.05 ID:I9hgDbEz.net
痴呆が始まってるな

548 :デフォルトの名無しさん:2018/06/07(木) 09:31:17.03 ID:jM1yTm2r.net
Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください

公開してるDelphiで作ったツールがあるんですが
ツール内にサポート用の掲示板みたいなのを実装したい

方法としてどんなのが考えられる?

やっぱ最低でもcgi使えるサーバとか必要?

549 :デフォルトの名無しさん:2018/06/07(木) 10:03:50.30 ID:kW6Y240R.net
>>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示

2.BaaS使ってRESTでやり取り

3.SQLにFireDACで直接接続

4.WindowsVPS(Linuxに吐けるならLinuxでも可)でDataSnap

好きなのをどうぞ

550 :デフォルトの名無しさん:2018/06/07(木) 17:01:17.95 ID:LERUY47Q.net
>>548
まあ書き込みを送信する場所と書き込まれたものをダウンロードできる場所は必要だろう
サーバ借りなくても個人が固定IP契約しているならそのIP宛にすることも出来るし
固定じゃなくてもダイナミックDNS使えるルータとか使っているならそれを利用するのも手
適当なレンタルサーバでも月2000円も掛からないからそういうの使うのがベストだけど

というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし

551 :デフォルトの名無しさん:2018/06/08(金) 07:49:33.51 ID:IKKgq9UT.net
>>549
cef4delphiがよいよ

552 :548:2018/06/08(金) 20:17:07.49 ID:pOKoirVi.net
レスが遅くなりました

やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも

あとは、データは配布サイトに置いて投稿はメール経由かな

553 :デフォルトの名無しさん:2018/06/08(金) 22:02:43.94 ID:lHspdop6.net
P2P

554 :548:2018/06/08(金) 22:45:08.12 ID:pOKoirVi.net
よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね

したらばにしようと思います


p2pは理想だけど、開発側も利用者側も障害が大きすぎるような

555 :デフォルトの名無しさん:2018/06/09(土) 16:37:47.65 ID:OTGz0P8v.net
delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?

556 :デフォルトの名無しさん:2018/06/09(土) 18:48:08.83 ID:TA6PWthw.net
全然的外れとは思うけど
delphiを管理者権限で起動してる?

557 :555:2018/06/10(日) 06:13:38.25 ID:5M4DtSyO.net
確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。

558 :デフォルトの名無しさん:2018/06/14(木) 03:02:30.74 ID:DH9ZUtSo.net
めっちゃ便利になった

sc7b & i:: ; Ctrl+無変換+iでbeginを上方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^k8
send,^qfbegin{enter}
send,^q8
send,^+l
send,{home}
}
else
send,{up}
return

sc7b & k:: ; Ctrl+無変換+kでendを下方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^qfend{enter}
send,{left}{right}
}
else
send,{down}
return

559 :デフォルトの名無しさん:2018/06/18(月) 18:42:12.53 ID:77QANGdm.net
Indyのヘルプについて教えてください

delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです

事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています

もしかして、ヘルプの内容がかなり古い?

560 :デフォルトの名無しさん:2018/06/18(月) 20:26:49.62 ID:ZzCpcYem.net
>>559

ここからダウンロードとすといいよ
Delphi についてくるのよりは新しいと思う

https://code.google.com/archive/p/indydocs/downloads

561 :デフォルトの名無しさん:2018/06/18(月) 22:25:05.80 ID:/oEGnL5/.net
Indyはしょっちゅう引数とか変えるからねー

562 :548:2018/06/18(月) 23:30:03.81 ID:77QANGdm.net
>>560
ありがとう
早速ダウンロードしてみます

563 :デフォルトの名無しさん:2018/06/19(火) 07:23:03.75 ID:O7MJlrFZ.net
Delphi 10.2.3に付属しているIndyのヘルプのバージョン 10.1.5
>>560に書いてあるところにあるやつは 10.5.8.3だね

10.1.5のヘルプは、実際にバンドルされているIndyとではいろいろと
違っている部分があるんで使えないんだよね
エンバカはよくこんな状態で製品として出してるもんだと思う
まぁIndyの公式Webページにあるヘルプが更新されずに放置状態なせいでもあるんだろうけど

564 :デフォルトの名無しさん:2018/06/26(火) 00:47:37.41 ID:6Sxd5pS5.net
OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください

565 :デフォルトの名無しさん:2018/06/26(火) 00:50:21.65 ID:6Sxd5pS5.net
バージョンはXE8でお願いします

566 :デフォルトの名無しさん:2018/06/26(火) 20:07:40.02 ID:Q/OTN/qp.net
オブジェクトと普通の変数はさすがに分けないとな

567 :デフォルトの名無しさん:2018/06/27(水) 08:33:51.96 ID:LwNwDPPb.net
case VarType(バリアント型) of
varNull: 〜;
varSmallint,varInteger,varshortint,varByte,
varword,varlongword,varint64,varqword: 〜;
varSingle,varDouble,vardecimal: 〜;
varBoolean: 〜;
varArray: 〜
else 〜
end;

みたいなのはどうか

568 :デフォルトの名無しさん:2018/06/30(土) 19:57:18.53 ID:BMGfbdyk.net
fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな

てか希望する行にプログラムでジャンプできない
これって...

569 :568:2018/07/01(日) 20:45:39.22 ID:UjvaLsGV.net
昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった

というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと

570 :デフォルトの名無しさん:2018/07/04(水) 22:07:10.80 ID:gFgZc5FG.net
CMY

571 :デフォルトの名無しさん:2018/07/05(木) 16:32:14.16 ID:AeL6VB/V.net
CMY

572 :デフォルトの名無しさん:2018/07/07(土) 01:05:29.30 ID:/e+lZ8Kj.net
        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / C  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  C ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  M  l  トー-トヽ| |ノ ''"´`   rー-/// |  M |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  Y   |       | l | ヽ,   ―   / | | l  Y  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄

573 :デフォルトの名無しさん:2018/07/11(水) 10:51:05.84 ID:nmWNYHAt.net
炎猿でwindows以外のOSアプリ開発している人にお聞きしたいのですが、スマフォとかがアップデートされた場合動かなくなるとか、デバッグ出来なくなるとか不都合はないですか?

574 :デフォルトの名無しさん:2018/07/11(水) 17:39:18.30 ID:nuZ0aS+z.net
ドラクエにいそうだな
炎猿

575 :デフォルトの名無しさん:2018/07/11(水) 21:49:54.77 ID:r5yaKwaw.net
まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。

576 :デフォルトの名無しさん:2018/07/11(水) 22:54:26.92 ID:ybpsmMVD.net
そうとも言い切れんから困る

577 :デフォルトの名無しさん:2018/07/13(金) 07:31:46.74 ID:cjGt1E8J.net
OpenGLが枯れてるからあまり心配なさそう

578 :デフォルトの名無しさん:2018/07/13(金) 07:36:27.90 ID:qQhJFZKh.net
AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな

579 :デフォルトの名無しさん:2018/07/13(金) 19:21:29.08 ID:I/E3+gDF.net
OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。

580 :510:2018/07/15(日) 07:23:54.92 ID:DmBJj22K.net
以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。

https://www.axfc.net/u/3921358?key=delphi

今のところ.wav限定です。

既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)

よろしくお願いいたします。

581 :510:2018/07/15(日) 07:24:30.45 ID:DmBJj22K.net
以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。

https://www.axfc.net/u/3921358?key=delphi

今のところ.wav限定です。

既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)

よろしくお願いいたします。

582 :デフォルトの名無しさん:2018/07/17(火) 12:02:31.20 ID:XXadd0Qe.net
D6です。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?

昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。

年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと

.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。

一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。

583 :デフォルトの名無しさん:2018/07/17(火) 14:50:49.28 ID:+kxKOOfA.net
https://msdn.microsoft.com/ja-jp/library/67wc07b9.aspx
http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=257
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_61/rzaik/rzaikapigrphdrfile.htm
https://forum.dlang.org/post/mailman.637.1295116422.4748.digitalmars-d-learn@puremagic.com
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm

584 :デフォルトの名無しさん:2018/07/19(木) 07:25:14.70 ID:tvMjHs4f.net
Introducing Delphi and C++Builder Community Edition
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition

Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?

585 :デフォルトの名無しさん:2018/07/19(木) 07:36:15.48 ID:KPlplAON.net
>>584
ログインしてからダウンロードすると良いかもしれない

586 :デフォルトの名無しさん:2018/07/19(木) 07:44:26.16 ID:tvMjHs4f.net
>>585
thx
出来ました

587 :デフォルトの名無しさん:2018/07/23(月) 12:35:10.41 ID:TMDKKbFQ.net
firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?

StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが

588 :582:2018/07/23(月) 19:47:13.97 ID:ZNsXOfsj.net
Dependency Walker
ttps://www.off-soft.net/ja/software/develop2/depens.html

Visual Studio 付属 dumpbin
というのでも関数名だけしかワカンネ

ILSpy_Master_2.3.0.1827_Binaries 起動できない。
Visual Studio 付属 Ildasm もダメっぽい。

暑くてなーんも進まない

589 :デフォルトの名無しさん:2018/08/04(土) 01:10:32.25 ID:9xoPwG77.net
DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで

590 :デフォルトの名無しさん:2018/08/04(土) 10:03:56.88 ID:pEPpCry/.net
質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389

ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね

591 :デフォルトの名無しさん:2018/08/05(日) 07:09:51.51 ID:lCE2SUhO.net
めんどくさっ

592 :デフォルトの名無しさん:2018/08/05(日) 07:22:17.73 ID:lCE2SUhO.net
今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな

共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索

593 :デフォルトの名無しさん:2018/08/05(日) 07:39:19.78 ID:33CDKMsR.net
Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。

f: single;
f := StrToInt( '$'+ '4D' );

で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。

594 :590です これは書けるかな?:2018/08/05(日) 12:50:09.31 ID:gWGunr7x.net
>592-583
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。

>>592 ありがとうございます。夜にでも調べてみます。

595 :427です:2018/08/05(日) 22:33:28.02 ID:gWGunr7x.net
>>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。

 浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
 2. 浮動小数点型の値のメモリ上での並び
 ttps://qiita.com/nia_tn1012/items/340a1f0ad71bf6085f7f
 元の値 : 1.024000
 内部表現の値 : 3F83126F
    ↑
この例では、IEEE754-Single でした。

>>593
IEEE754 単精度浮動小数点数(float)の文字列とかいろいろ入れても
ただの整数になるようですが?

var
f: Single;
begin
Edit_Single.Clear;
if (Edit_IEEE754_HexSingle.Text <> '') and (StrToIntdef('$' + Edit_IEEE754_HexSingle.Text,-1) <> -1) then
f := StrToInt( '$'+ Edit_IEEE754_HexSingle.Text );
Edit_Single.Text := FloatToStr(f);
end else Edit_Single.Text := '入力エラー';
end;

596 :590 です:2018/08/05(日) 22:36:47.70 ID:gWGunr7x.net
>595
パールスレでの名前欄 「427です」 がそのまま入ってしまいました。
>>590 です

597 :デフォルトの名無しさん:2018/08/27(月) 09:41:49.47 ID:UfmEJPeB.net
Delphiの逆コンパイラでおすすめって何になるの?

598 :デフォルトの名無しさん:2018/08/27(月) 21:32:59.26 ID:1pvUgZqM.net
超初心者スレだから許して のしつもんです。
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。

Pathの 記述とか??
今でも TIniFile とか使いますか?

599 :デフォルトの名無しさん:2018/08/27(月) 22:05:18.90 ID:UfmEJPeB.net
>>598
exeと同じフォルダ

600 :デフォルトの名無しさん:2018/08/27(月) 22:24:54.69 ID:lZIE2FNf.net
>>598
%appdata%にアプリケーションのフォルダ作って保存

601 :デフォルトの名無しさん:2018/08/27(月) 23:33:36.63 ID:1pvUgZqM.net
回答有り難うございます。
とっても参考になりました。

ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\

って感じで 良いみたいですね。

602 :デフォルトの名無しさん:2018/08/28(火) 12:13:22.36 ID:e0zrlbVu.net
確かプラットフォームごとのパスを取得する関数が用意されてたような

603 :デフォルトの名無しさん:2018/08/28(火) 16:21:16.43 ID:6kEMX7h9.net
iniファイル便利か

604 :デフォルトの名無しさん:2018/08/28(火) 18:16:29.63 ID:3sF2+X9S.net
>>603
PCが壊れたとき等、環境移行はローテクの方が・・

605 :デフォルトの名無しさん:2018/08/28(火) 19:10:27.83 ID:pa8Xm38g.net
レジストリなんか使わない。
XMLなんか使わない。
やっぱりINIがいい。

606 :デフォルトの名無しさん:2018/08/28(火) 20:53:25.15 ID:yUJd0FCJ.net
「プロジェクトから削除」で削除したunit2,unit3って結局生きてる?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?

607 :デフォルトの名無しさん:2018/08/28(火) 21:09:44.56 ID:dFKNKLFU.net
そもそも
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う

608 :デフォルトの名無しさん:2018/08/28(火) 21:21:58.23 ID:mAx5yIVS.net
>>606
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ

609 :606:2018/08/28(火) 22:07:01.20 ID:yUJd0FCJ.net
>>608
有難う

610 :デフォルトの名無しさん:2018/08/29(水) 07:06:43.69 ID:0P3/EBfJ.net
(アン)インストーラが付属しないツールで
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな

611 :デフォルトの名無しさん:2018/08/29(水) 19:36:02.35 ID:2f70+wG1.net
>>598 >>601
Win8.1以降でiniファイルは取り扱いが難儀になったので
TIniFileでも拡張子を別のものにすると素直に使える。
例えば .env とか
.ini でトラブルになる挙動としては
管理者権限でプログラムを動かすとiniは書き出せるけどD&Dできなかったり
ユーザー権限で動かすとiniが書き込み変更できなくてエラーになったりする。

612 :デフォルトの名無しさん:2018/08/29(水) 20:50:27.29 ID:CUO+ntMd.net
インストールフォルダ自体がドキュメントフォルダ強制とかもあるな

613 :デフォルトの名無しさん:2018/08/30(木) 10:16:05.96 ID:S/vwwZyF.net
>>611
virtualstoreに入ってしまったものを
間違って元のディレクトリ名で見に行くと

「書き込み変更できなくてエラーになったり」

するね

614 :611:2018/08/30(木) 16:00:49.78 ID:xpekrfIC.net
>>613 >>598
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。

procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;

615 :デフォルトの名無しさん:2018/08/30(木) 16:39:09.31 ID:h4Uebctf.net
WriteInteger使えよww

616 :デフォルトの名無しさん:2018/08/30(木) 17:54:05.37 ID:xpekrfIC.net
レジストリを汚しまくるのは好かん!

617 :デフォルトの名無しさん:2018/08/30(木) 18:00:59.87 ID:RB/Vojpj.net
>>616
ほんそれ

618 :デフォルトの名無しさん:2018/09/04(火) 04:53:47.13 ID:cIgTW3mD.net
スレッドオブジェクトで外部機器と通信するコンポーネント(自分で取り込んだactivexです)を使いたいのですが、
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?

619 :デフォルトの名無しさん:2018/09/04(火) 07:40:32.69 ID:Iud04UXg.net
引数はnilでok
必要ならparentを指定する

620 :デフォルトの名無しさん:2018/09/04(火) 20:59:53.37 ID:cIgTW3mD.net
>>619
有難うございました。

621 :デフォルトの名無しさん:2018/09/06(木) 20:32:48.73 ID:b7skbySG.net
十数年ぶりにコード書いてます。

Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。

ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。

uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?

挫けそうですw

622 :デフォルトの名無しさん:2018/09/06(木) 20:59:54.36 ID:Y0pbPBaL.net
単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。

623 :デフォルトの名無しさん:2018/09/06(木) 21:14:09.34 ID:b7skbySG.net
速攻でスゲー! 解決しました!

HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。

それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・

624 :618:2018/09/07(金) 13:31:35.10 ID:nbZaHp3Y.net
618です。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。

625 :デフォルトの名無しさん:2018/09/08(土) 10:16:41.02 ID:7h/1w/8o.net
C#にしたら

626 :デフォルトの名無しさん:2018/09/08(土) 12:26:23.76 ID:3pZBr9hd.net
そのまんまでしょうに。アパートメントをまたぐ場合はマーシャリングしなきゃいけない。
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。

コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。

https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある

627 :デフォルトの名無しさん:2018/09/08(土) 18:32:14.22 ID:ifS5zDmq.net
>>597
未だに見つけられていない

DeDe 3.50.02 Build 1619 for Windows
ttp://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml

Delphi製のバイナリを解析する方法
ttp://peryaudo.hatenablog.com/entry/20110105/1294209734
>DeDeのprojectタブを使うと、
>ディスアセンブルされたx86のコードをコメントでくくっただけのpasとデコンパイルされたdfmをファイルに落とせる。

x86コードを直接見てもワケワカメ

628 :デフォルトの名無しさん:2018/09/13(木) 10:48:16.02 ID:TILqF4on.net
FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。

629 :デフォルトの名無しさん:2018/09/13(木) 15:53:14.96 ID:D2+vOfIF.net
CellByPoint

630 :628:2018/09/14(金) 00:13:42.04 ID:h30gDWV5.net
ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?

631 :デフォルトの名無しさん:2018/09/14(金) 07:11:59.92 ID:N3zUYsZd.net
onMouseMoveでテストしてみて

632 :デフォルトの名無しさん:2018/09/14(金) 08:18:00.14 ID:sVVlCHCP.net
ローカル座標に変換する必要あんでね?

633 :デフォルトの名無しさん:2018/09/14(金) 12:20:56.93 ID:rsfS0hy3.net
>>630
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな

634 :デフォルトの名無しさん:2018/09/14(金) 19:36:31.47 ID:KQxf0S5x.net
てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない

635 :628:2018/09/14(金) 20:55:44.40 ID:QxWxbdYR.net
皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。

636 :デフォルトの名無しさん:2018/09/14(金) 21:57:04.38 ID:KQxf0S5x.net
こんなんじゃだめなの?
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);

implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;

カーソル下のセルを正確に取得できてるよ

637 :デフォルトの名無しさん:2018/09/14(金) 23:50:03.06 ID:QxWxbdYR.net
>>636
ありがとうございます。
やりたいことができました。
>>631
ヒントもらっていたのに申し訳ありません。

あくまでもコントロール上の座標を取らないといけないということですね。
ScreenToClientはアプリのウィンド上の座標と言うことで良いでしょうか?

638 :デフォルトの名無しさん:2018/09/15(土) 00:17:48.45 ID:8rxpHkWL.net
なんで未だにデルファイなんかやっとるんやおまいら?

639 :デフォルトの名無しさん:2018/09/15(土) 06:26:34.02 ID:mxfFGWip.net
いろいろな言語使えるけどDelphiがベストだと思うから

640 :デフォルトの名無しさん:2018/09/15(土) 06:42:36.21 ID:3TWFaDlw.net
>>638
てかそんな話はエンバカスレでどうぞ

641 :デフォルトの名無しさん:2018/09/15(土) 11:07:16.52 ID:AVfR6YnT.net
Delphiは討たれる

642 :デフォルトの名無しさん:2018/09/15(土) 17:32:12.84 ID:AkXmtK9p.net
>>641

643 :デフォルトの名無しさん:2018/09/16(日) 10:48:44.14 ID:e3KaLVno.net
SKRegExpの作者はどこに行ったの?

644 :デフォルトの名無しさん:2018/09/26(水) 11:44:44.46 ID:Ov2EA3Ui.net
今頃デルファイの10.2.3をインストールしようと思うんですが、サイトに書いてあるように一旦10.2をアンインストールしないとまずいですか?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?

645 :デフォルトの名無しさん:2018/09/26(水) 13:25:05.76 ID:WoZunzir.net
>>644
別のプログラムとしてインストールされるからTokyo用のコンポーネントは再インストール必須
別に10.2を残してても共存はできる

646 :デフォルトの名無しさん:2018/09/26(水) 15:05:08.27 ID:Ov2EA3Ui.net
なんか共存できんかった

647 :デフォルトの名無しさん:2018/09/26(水) 17:59:31.37 ID:7bJbQB0s.net
同居出来ないってCPB CEでも入ってるのか?

648 :デフォルトの名無しさん:2018/09/26(水) 19:21:31.24 ID:ANIjlW8h.net
BerlinとTokyoは共存できるけどToky同士は共存できなかったはず
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね

Webインストールの場合はそれができないんだったっけ

649 :デフォルトの名無しさん:2018/09/26(水) 19:58:22.59 ID:V9O91uO9.net
サードパーティのコントロールが消えるのが嫌でアンインストールせずやってしまった。orz

650 :デフォルトの名無しさん:2018/09/28(金) 08:42:20.23 ID:CK9JalNS.net
ツールパレットにはコンポーネントのアイコンがきちんと表示されているんだけど、フォームに配置するとアイコンが見えない位小さくなってしまうんだけどなんで?

651 :デフォルトの名無しさん:2018/09/28(金) 18:27:10.70 ID:L/CPkr5D.net
>>650
老眼かい?
他人にはあんたの見て思ってる物が大きいか小さいかなんてエスパーでもないから分らない。
画面キャプチャーでもして画像貼れ

652 :デフォルトの名無しさん:2018/09/28(金) 20:17:23.17 ID:CK9JalNS.net
そうか、ご苦労

653 :デフォルトの名無しさん:2018/09/29(土) 04:51:42.90 ID:61Ke5MR1.net
フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは

654 :デフォルトの名無しさん:2018/09/29(土) 06:17:50.02 ID:SaDPGrJG.net
>>650
4Kモニターを使っているのかい?

655 :デフォルトの名無しさん:2018/09/29(土) 20:55:31.30 ID:nJOGxOxE.net
そして
ふてくされて二度と来ないコミュ障であった

656 :デフォルトの名無しさん:2018/09/30(日) 05:42:12.80 ID:OYYkxayT.net
かわいそう・・・

657 :デフォルトの名無しさん:2018/09/30(日) 16:24:03.95 ID:sVuwBfqE.net
意外とみんな覗いてんな

658 :デフォルトの名無しさん:2018/10/03(水) 20:49:10.84 ID:T89/Qa9b.net
モニタにもっと顔を近づけるんだよ きっと見れるよ

659 :デフォルトの名無しさん:2018/10/04(木) 10:29:39.99 ID:FXVBuQxV.net
モニタよモニタよモニタさん

660 :デフォルトの名無しさん:2018/10/06(土) 09:18:43.15 ID:ruQOvniH.net
マルチデバイスのソフトを初めて作ろうと思っています。
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?

661 :デフォルトの名無しさん:2018/10/06(土) 12:13:05.71 ID:Z2kGgnGa.net
まずalignの使い方かな

662 :デフォルトの名無しさん:2018/10/06(土) 15:33:22.97 ID:dM0Hntxh.net
>>660
FireUI

663 :660:2018/10/07(日) 08:57:42.83 ID:XyZZDpel.net
有難うございます。
調べて勉強します。

664 :デフォルトの名無しさん:2018/10/13(土) 18:12:13.98 ID:3G3/hyQa.net
何かウェルカムページを開きたびに
セキュリティ警告が出るんだが

665 :デフォルトの名無しさん:2018/10/13(土) 22:28:09.39 ID:19TuI9Cj.net
>>664
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが

666 :デフォルトの名無しさん:2018/10/13(土) 23:05:26.94 ID:ApCV8gEF.net
>>665
なるほど

今日はvclとfmxアプリ間のメッセージングのテストやってて
切り替えるたんびにダイアログが何度も出てイヤんなる

667 :デフォルトの名無しさん:2018/10/17(水) 17:24:01.23 ID:GbCGuExa.net
ブラウザのタイトルを取得したいんですけど、

WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません

WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません

ってなるんです。
usesに何か足りませんか?

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;

Delphi 10.2 Community Edition

668 :デフォルトの名無しさん:2018/10/17(水) 17:49:10.11 ID:GbCGuExa.net
解決しました。
VLCじゃやないやつで作ろうとしてたみたいです!

669 :デフォルトの名無しさん:2018/11/06(火) 12:05:36.75 ID:FnkVAeUe.net
FMXでLabelのバックカラーの変更って出来ない?
今はPanelの色を変えて、その上に貼り付けてるんだけど。

670 :デフォルトの名無しさん:2018/11/06(火) 15:03:32.51 ID:lO/IgrxW.net
>>669
labelのスタイルに背景ってないからムリじゃないかな

あとpanelよりtlayoutの上にtrectangleのせて
さらにlabelはったほうが柔軟性が高い

671 :デフォルトの名無しさん:2018/11/06(火) 16:08:30.30 ID:xJl/nUxi.net
>>670
TRectangle、オブジェクトエクスプローラからなら子に色んな物入れられるよ
(要するにTRectangleがTLayoutのように使える)

672 :デフォルトの名無しさん:2018/11/06(火) 18:54:34.08 ID:O/iOsvOA.net
>>669
XE5までの知識しかないが、
TStyleBook割り当てて、そっちで対応するんじゃなかったかな?

673 :デフォルトの名無しさん:2018/11/06(火) 19:14:26.53 ID:lO/IgrxW.net
>>671
ホントだ

TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな

674 :669:2018/11/06(火) 22:06:13.74 ID:FnkVAeUe.net
皆さん、ありがとうございました。
Rectangleって楽ですね。
もう一つ教えて下さい。
panddingとかmarginsを設定して0に元に戻すと隣のコントロールと隙間が空いたままになるのは自分だけ?

675 :669:2018/11/06(火) 22:08:56.05 ID:hsnGAH6F.net
訂正です。
panddingとかmarginsを設定して実行。
その後、全部0に戻して実行しても隙間が空いたままです。

676 :デフォルトの名無しさん:2018/11/07(水) 12:11:35.51 ID:wV9cKqqT.net
>>675
fmxのmarginはちょっとバグってる気がする

その例と同じかどうか分からないけど
複数のspeedbuttonをalignをleftにして並べて
ボタンのmarginを一度設定すると
marginを解除しても
ボタンの左半分くらいがマウスに反応しなくなる

いろいろやってると何かのきっかけで正常になったりする

677 :デフォルトの名無しさん:2018/11/07(水) 12:24:36.39 ID:wV9cKqqT.net
上にスタイルの話があるけど
スタイルで背景色を変えたら
Windows10以外では適用されてなかった

コンパイルのしかたかなぁ

最近公開したソフトで
ユーザに指摘されて初めて気づいたよ

678 :669:2018/11/08(木) 21:49:27.80 ID:+35zDuDi.net
結局プログラムで指定すれば配置されるので我慢します

679 :デフォルトの名無しさん:2018/11/15(木) 21:17:33.28 ID:T3q1kNSY.net
fmxでのフォームの最小化と復帰だけど
コードだけでで問題なく動作する?

WindowState := TWindowState.wsMinimize;
WindowState := TWindowState.wsNormal;
でできるはずなんだけどね
何かうまく機能したりしなかったり

680 :デフォルトの名無しさん:2018/11/20(火) 09:18:03.84 ID:7wJBb/wv.net
本棚からDelphi7体験版が出てきたのでインストールしようとしたら、
ライセンス取得のところでエラーが出て使用することができません。
今更ながら、使うことは不可能なのでしょうか?

DelphiXEで非Unicodeのソースが作れればそれでも構わないのですが。

681 :デフォルトの名無しさん:2018/11/20(火) 22:24:15.58 ID:yy/MaTgl.net
今ならフリーのDelphiありますよ

682 :デフォルトの名無しさん:2018/11/20(火) 22:25:24.56 ID:yy/MaTgl.net
すみません非Unicodeと限定されている意味がわからないので現行のものではダメなのかも知れませんね

683 :デフォルトの名無しさん:2018/11/21(水) 01:49:20.19 ID:LolYlRS5.net
使用許諾コードがメールで送られてくる登録フォームならある
今でも機能してるのか知らんけど
http://support.embarcadero.com/jp/install/product

684 :デフォルトの名無しさん:2018/11/23(金) 08:08:59.67 ID:aknsIo8R.net
>>683
良くサイトを見たら、体験版の承認キーの発行は終了しているみたいです。
せっかく教えていただいたのにすみません。

685 :デフォルトの名無しさん:2018/11/24(土) 01:36:16.72 ID:e4CBxpxl.net
FMXをタッチパネルついてるWindows10で動作させるとTListViewとかが勝手にタッチパネル用のスタイルになるのどうにかならんかなぁ
Scrollbarが表示されない上にタッチパネル操作になるから操作が統一できない・・・
デバイス自体を無効にしたらタッチパネルじゃないスタイルで動作するけどなんだかなー

686 :デフォルトの名無しさん:2018/11/25(日) 11:17:43.53 ID:x9MDawPF.net
ListBoxの項目にFocusを付与したいのですが、3,4日うまくいかず困っています。
クリック以外の方法でListBoxにFocusを付与する方法というのはありますか?

687 :デフォルトの名無しさん:2018/11/25(日) 21:01:29.45 ID:4hnmy7r/.net
ListBox1.ItemIndex:=3;
ListBox1.SetFocus;
ってこと?
なんか以前にもこんな質問あったような気がするが

688 :デフォルトの名無しさん:2018/11/26(月) 13:46:48.38 ID:gMNgG1vk.net
>>687
どうもです。
ただ、マウスクリックするとFocusが出ますが、ListBoxの他の所をクリックすると消えちゃうんですよね…。

689 :デフォルトの名無しさん:2018/11/27(火) 01:04:25.95 ID:uHJWsmxJ.net
>>688
そりゃそうだ
他のフォーカスを持つ所をクリックすればフォーカス移る

何がしたいのかわからない
「ウィンドウ ハンドルを持つコンポーネント」の意味を理解してますか?
例えばここ http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabeapp.htm

ListBox以外にフォーカス動かしたくないんなら
他の全てをフォーカスを持たないSpeedButtonとかメニューやツールバーとかにするしかない
或いは他を Enabled:=Falseにするとか

690 :デフォルトの名無しさん:2018/11/27(火) 09:44:39.76 ID:/9xlS8t7.net
こんな物を作っていました。
ttp://www1.axfc.net/u/3946835.zip?key=123456
既知の不具合
下手にいじると簡単にバックグラウンドプロセスに行ってしまう。

Focusについてですが、このアプリはFocusが残る物をベースに作りました。
新しく作り直した物がListboxをクリックすると一瞬だけFocusが表示されるのですが
すぐ消えてしまうと言うよく分からない現象が起きていました。

よろしかったらご評価いただければ幸いです。

もう我流は辞めてTurboDelphi〜を参考書に勉強したいと思います。

691 :デフォルトの名無しさん:2018/11/27(火) 09:53:17.62 ID:/9xlS8t7.net
大事なことを忘れていました。

このアプリはエクスプローラ上で.wavファイルを選択し「送る」もしくはアイコンでD&Dすると再生を始めます。
またアプリを起動して、エクスプローラからフォームに直接D&Dすると曲を演奏します。

よろしくお願いいたします。

692 :デフォルトの名無しさん:2018/11/27(火) 12:16:28.81 ID:e3+VQ8Az.net
例のお方か
まだやってたのはちょっとビックリ

693 :デフォルトの名無しさん:2018/11/27(火) 15:00:40.58 ID:/9xlS8t7.net
そうですよ。まだやってました。石の上にも3年と言う言葉もありますし
おかげさまで、プログラミング技法の第一巻の半分くらいまでは理解できるようになりました。
今度はちゃんと基礎からやり直したいと思います。

あげたファイルはアルファー版ほどの出来ですが、今の知識で作った物です。
ご興味がありましたら、ご評価をよろしくお願いいたします。

694 :デフォルトの名無しさん:2018/11/27(火) 20:14:14.72 ID:NOmVen+G.net
>>685
確かにスクロールバーが通常は非表示だけど
そんなに違いがあったっけ?

自分としてはマウスホイールでスクロールしてるときも
スクロールバーが非表示なのがあれだけど

695 :デフォルトの名無しさん:2018/11/27(火) 20:24:03.07 ID:B1T5LoxP.net
>>694
マウスでドラッグしたらスクロールできたり(タッチパネル式だからマウスでスクロールバー操作するのとは逆の動きする)、スクロールバーが表示されてるときにクリックしても反応なかったり
OS側で常にスクロールバー表示しても非表示とか

レガシーな入力デバイスが主なプラットホームでは切り替えられるようにしといて欲しい・・・

696 :デフォルトの名無しさん:2018/11/27(火) 22:24:05.07 ID:NOmVen+G.net
>>695
てかいま自分が作ってるfmxアプリをwindowsタブレットで動かしてみると
listviewとかのタッチでのスクロールには少し違和感があるね
android上とは明らかに違う操作感だ

697 :デフォルトの名無しさん:2018/11/27(火) 22:44:39.21 ID:uHJWsmxJ.net
>>690
ごめん俺687と689を書いた者だけど自分の勉強以外で人のソース読むほど時間はないんだ
と書きながらも流し読みだけでもしようかと開いてみたら
「404 Not Foundファイルが見つかりません」

>新しく作り直した
と書かれているがそれは今までのソースのつぎはぎコピペではなく自分で理解しながら書き起こしたものですか?
それならば不具合が出たとしても何をググって調べればいいかわかると思います

プログラミング技法って昔持ってた記憶があるけど一度通読したあと埃かぶってたまま引っ越しの時に捨てたくらいいまいちな本だった記憶
自分はやっぱり最初は「はじめてのDelphi」が一番わかりやすかったし
「Delphiオブジェクト指向プログラミング」でVCL読むようになって
「インサイドDelphi」とか「シェルプログラミング入門」が楽しく読めるようになった

そうです私もおじさんです

698 :デフォルトの名無しさん:2018/11/27(火) 22:49:52.31 ID:NOmVen+G.net
>>690
何をしたいのか分からないよ?
focusって言葉がそもそも違うんじゃない?

もし何らかの理由で本当にlistboxにfocusを与えたまま
維持したいんだけど、できないんだったら
他のコントロールがfocusを奪ってるんでしょ

それを調べたらいいんじゃない?

699 :デフォルトの名無しさん:2018/11/27(火) 23:04:45.17 ID:NOmVen+G.net
>>697
自分なんか「おじさん」じゃなくて
60過ぎのジイサンだよ

と言ってもdelphi歴は短いけどね
今はfmxにハマってる

700 :デフォルトの名無しさん:2018/11/28(水) 07:11:14.22 ID:cOVA6pyZ.net
ListBoxってフォーカスの有無で外観が変わったっけ?
フォーカスがなくなって困ることってある?

701 :デフォルトの名無しさん:2018/11/28(水) 18:42:27.35 ID:6Wq1ldCo.net
ご評価していただいた皆様ありがとうございます。
このソフトを作るときは、巻き戻し・プログレスバー移動自由自在・リモコン対応
を目標に作り始めましたが、どれ一つも実現できませんでした。
MCIを使っての巻き戻しは、テープ系なら可能みたいですがMpegではデバイスが対応していないので無理。プログレスバーでの移動はどんなに大変なのかは、DelphiでDVDプレイヤーを作った方のサイトがあるのでそちらを参照してください。
大本のVolume制御以外は自分で実装しましたが、新しく別プロジェクトを作って試作してめどが立ってから導入しましたが、何故か思ったように動かず。
前半はMCIに翻弄され後半はインターフェースに苦しみ、メディアプレイヤーはもう少し修行を重ねてから、作りたいと思います。
愚痴めいた内容ですみません。

色々アドバイスをしてくれた皆様、特に質問を投げかけたときに、コマンドを一言つぶやいていただいた方、自分で使い方を調べることで理解が進みました。
スレ汚し失礼しました。

702 :デフォルトの名無しさん:2018/11/28(水) 18:45:05.85 ID:KTh/kflZ.net
3行で頼む

703 :デフォルトの名無しさん:2018/11/28(水) 19:03:58.25 ID:6Wq1ldCo.net
教えてくれた皆さんありがとう
つかれた
mp3再生君にはかないませんでした。

こんな感じで

704 :デフォルトの名無しさん:2018/11/28(水) 19:51:39.78 ID:N0ilq15o.net
>>702
おまえ1行じゃねえか

705 :デフォルトの名無しさん:2018/11/28(水) 19:52:09.33 ID:9Dt+AyzE.net
>>513

706 :デフォルトの名無しさん:2018/11/28(水) 21:12:16.13 ID:6Wq1ldCo.net
そうでした。
Object Pascal言語ガイドを少し腰を据えて読んで理解したいと思います。

707 :デフォルトの名無しさん:2018/11/28(水) 21:32:01.67 ID:m6jgQPaC.net
前も言ったような気がするけど
fmxのコントロールのカスタムスタイルって
Windowsだと10でしか有効にならなくない?

設定した背景色とか8.1や7じゃ消えてるし

708 :デフォルトの名無しさん:2018/11/28(水) 22:21:14.73 ID:KTh/kflZ.net
>>707
Windowsのバージョンで別々に設定できる反面、Windows10専用で設定されてるのに気付かないと別の環境では変な表示になっちゃうよね

709 :デフォルトの名無しさん:2018/11/28(水) 23:14:08.68 ID:DuRogDXc.net
MCI君をいじると擁護する単発が現れるのももう恒例行事になってきた。

710 :デフォルトの名無しさん:2018/11/28(水) 23:46:29.77 ID:WWqTncYq.net
え?誰が擁護してる?

711 :デフォルトの名無しさん:2018/11/29(木) 00:17:09.19 ID:3U/+XJ1L.net
ほらね

712 :デフォルトの名無しさん:2018/11/29(木) 08:37:13.44 ID:J6L5KB/r.net
>>708
そうなんだ

確かに「ターゲットプラットフォームの
バージョンごとにネイティブ」って書いてあるね

Windows 10 Desktop用に作ってあったとして
新たに8用と7用も作ってやらないとならないのか

こりゃちょっと大変な作業だ

713 :デフォルトの名無しさん:2018/11/29(木) 15:25:33.53 ID:yQEZusSx.net
>>712
デフォルトスタイルに設定するか、スタイルを保存して各プラットホームにマージしたらそんなに手間でもないよ

714 :デフォルトの名無しさん:2018/11/29(木) 21:26:39.87 ID:w2wW1sYB.net
>>713
ありがとう
マージできるんだ

何もわからないで始めたのがマズかった

715 :デフォルトの名無しさん:2018/12/05(水) 10:09:27.51 ID:mTCdLhw6.net
DelphiXEを使ってます。
エクスプローラからプロジェクトファイルをダブルクリックしてDelphiが起動するのですが、
さらにもう一つ同じ操作で起動すると、先に起動したIDEのプロジェクトグループに追加され
てしまいます。2つ目のプロジェクトを別のIDE画面で起動したいのですが、そのような設定
があるのでしょうか?

716 :デフォルトの名無しさん:2018/12/06(木) 13:52:27.48 ID:DDjonqa2.net
無い
そういうものと思うしかない

717 :デフォルトの名無しさん:2018/12/07(金) 09:21:09.18 ID:2Avy4w/h.net
>>715
スタートメニューから起動してプロジェクトロードするしかない
レジストリをいじれば出来るかもしれないけど

718 :デフォルトの名無しさん:2018/12/08(土) 09:28:52.05 ID:p9Ru1ius.net
Rioの各デスクトップレイアウトを変更した後
それを保存する項目がメニューから消えたみたいですが?

719 :デフォルトの名無しさん:2018/12/08(土) 13:38:29.09 ID:NwPO1Ie0.net
>>718
つ ttps://qiita.com/ht_deko/items/573f7c11c15c46f895c6

のQ.7かな?

720 :デフォルトの名無しさん:2018/12/08(土) 17:06:57.94 ID:p9Ru1ius.net
>>719
ありがとうございました
できました

このボタンが関係するのかなとも思いましたが
Hintも非表示でスルーしてました

721 :デフォルトの名無しさん:2018/12/12(水) 22:30:39.97 ID:MSpbLBgR.net
エンタープライズコネクターのインストール方法教えて下さい。
ダウンロードしてsetup.exeを実行してパスを通すの?

722 :デフォルトの名無しさん:2018/12/13(木) 09:33:41.92 ID:+QyQFfQj.net
ちょっと教えてください

fmxのカスタムスタイル変更でコントロールの背景を変更するとき
Windows 10 Desktopstyle.pngとかWindows 7style.pngとか利用しますが
これってどこにあるの?

この画像を修正したいいんですがドライブの中を検索しても見つかりません

723 :デフォルトの名無しさん:2018/12/13(木) 11:47:04.04 ID:YCEJ54t4.net
Delphi10.3 Community Edition 入れてみた
オブジェクトインスペクタのイベントTabが開かないんだけど
俺だけ?
Delphi10.23 Community Editionでは問題なく選択できる

724 :デフォルトの名無しさん:2018/12/13(木) 16:31:21.26 ID:vV5HNjFS.net
10.23とかなり新しいから修正あったんだろ

725 :デフォルトの名無しさん:2018/12/13(木) 18:38:58.45 ID:YCEJ54t4.net
'イベント'の文字の所をクリックすると いけた
TABの色と右側空白の色が同じだったので、空白をクリックしていただけだったw

726 :デフォルトの名無しさん:2018/12/13(木) 19:43:45.07 ID:w3f+OOI4.net
クリックしてイベントTabを開けない方が難しいと思うw

727 :デフォルトの名無しさん:2018/12/15(土) 02:19:47.94 ID:bDhDTHwp.net
10.3でPostMessageを使ったメソッド、イベントハンドラ呼び出しの
標準のラッパーみたいのありますか

Call(Button1Click, [Sender]);

的な使い方ができるもの

728 :デフォルトの名無しさん:2018/12/21(金) 18:01:03.17 ID:cky1I29u.net
AndroidアプリのためにFMX.MEMOを使って
簡単なテキストエディタを作ろうと思ったが
いざAndroid上で動かすと、漢字入力の際
変換中の文字列の色が変化せずに困っている

普通は入力中の文字、文節の区切り、カーソル位置で
色が変わったり下線が表示されるが、周りの文字と同じままで
どこが入力中で、どこが文節の区切りなのか分からない
何か設定が足りないんだろうか?
(IMEはGoogle日本語入力です)

729 :デフォルトの名無しさん:2018/12/22(土) 08:55:33.68 ID:NdThNIsr.net
まあバグだろうね。欧米人はIMEとか使わないから

730 :デフォルトの名無しさん:2019/01/20(日) 15:49:29.87 ID:qfpRHOuf.net
D7 です。
それなりに以前の機器の古いバイナリデータの日時情報が 8 byte(64bit) Hex で記録されているのですが、
日付TDateTime型 に入れる式をどなたか分りませんでしょうか?

この形式のような気配なのですが
ttp://madia.world.coocan.jp/vb/vb_bbs2/200602/200602_06020084.html
>Windowsは、「1601年1月1日 00:00:00からの100ナノ秒単位の経過数」です。

実データ値
0x88D24B060812D480 : 2015/04/22 11:24:29 付近
0x88D24B0608AB6B00 : 次の変化 : 差分 int 10000000 = Hex 0x989680
 ↓
0x88D24B0628429380 : 2015/04/22 11:25:23 付近 : 最終

// UNIX 系の変換はこのような感じでやってたのですが
var
i64 : Int64;
la : Longword;
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Unix64bitDateTime.Text);
la := i64 div 1000;
ULDateTime := UnixToDateTime(la);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
UNIX 系でのミリ秒含めでもなさそうでちょっとお手あげです。

731 :デフォルトの名無しさん:2019/01/20(日) 18:16:00.16 ID:pkTQkmr2.net
64bitの符号付きかね?

符号無しでも試してみれば?

732 :731:2019/01/20(日) 18:33:56.63 ID:pkTQkmr2.net
整数型は、符号付き・符号無しのどちらか?
リトルエンディアン・ビッグエンディアンのどちらか?

そのサイトのソースコードを見ると、
unsigned long low, high;
unsigned は、符号無し

val[0〜3]がlow、[4〜7]がhigh、
0123_4567 が、low_high だから、ミドル(PDP)エンディアンか?

1234_ABCD を、ABCD_1234 にしているのか?

Wikipedia の「エンディアン」を参照して!

733 :デフォルトの名無しさん:2019/01/20(日) 20:11:56.51 ID:KDWvqb8v.net
D7から10.3comに変更してAndroidアプリでも作ろうかと気軽にチャレンジしたら
すげー苦労してる・・・
プロパティ名が微妙に違うしStringGridとかListviewみたいになってるし
ダイアログとかも面倒くせー

734 :デフォルトの名無しさん:2019/01/20(日) 20:13:41.94 ID:KDWvqb8v.net
すまんエン馬鹿スレと間違えた メッセージが分かりづれーよJane

735 :730:2019/01/21(月) 09:36:20.23 ID:a6ON0eDT.net
詳細書き直し
古い規格データの機器からのバイナリデータ。
目的:古いデータを今の形式にする為。
日時部分を Delphi D7 で扱える ULDateTime : TDateTime; に入れたい。
問題点:時間部分の変換が分らない。

データブロックを構成する他の部分データ部分はリトルエンディアンで構成されている。

バイナリエディタで見ると不明で残る日時データ部分が8バイトの羅列。
 [0][1][2][3][4][5][6][7]
(1) "80 D4 12 08 06 4B D2 88"

データの変る区切りで (2)つ目の変化
(2) "00 6B AB 08 06 4B D2 88"

時間が進むごとに
[0] 側から加算されていく、よってこの部分もリトルエンディアンで構成。
1分に満たない時間変化で4バイト目も変っていく為 32bitではない。

736 :デフォルトの名無しさん:2019/01/21(月) 09:40:36.46 ID:p/5Zwz2x.net
Link先はUnix系だからこれでいけるようだけど違うみたいね

function bswap64(i: int64): int64;
begin
result := (i and $ff00000000000000) shr 56 or (i and $ff000000000000) shr 40 or
(i and $ff0000000000) shr 24 or (i and $ff00000000) shr 8 or
(i and $ff000000) shl 8 or (i and $ff0000) shl 24 or
(i and $ff00) shl 40 or (i and $ff) shl 56;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i64 : Int64;
d: double;
la: cardinal;
s : String;
dt : TDateTime;
begin
i64 := StrToInt64('$' + '6082D42A5A38C601');
i64 := bswap64(i64);
d := i64 * 1.0e-7;
d := d - 11644473600;

d := d /(24*60*60) + UnixDateDelta;
dt := FloatToDateTime(d);

// la := Trunc(d);
// dt := UnixToDateTime(la);

Edit2.Text := FormatDateTime('YYYY/MM/DD HH:MM:SS', dt);
end;

737 :730:2019/01/21(月) 09:56:47.94 ID:/4Ne5b0H.net
パソコンで続きを書こうとしたらホスト規制の文字が出る
>736 考えてみます

738 :736:2019/01/22(火) 07:57:49.66 ID:wlBx3Xs7.net
Q : 整数型は、符号付き・符号無しのどちらか?
A : いっさい不明

全差分 54秒 ほどの間に 1529 個ほどのデータ
時間文字の違いを抜き出し
time 1> 0x88D24B060812D480 : 2015/04/22 11:24:29 付近
time 2> 0x88D24B0608AB6B00
 〜
time end-1> 0x88D24B0627A9FD00
time end> 0x88D24B0628429380 : 2015/04/22 11:25:23 付近

2進数、8進数、10進数、16進数相互変換ツール
h ttp:〜(この〜〜は規制がどうたらこーたら表示)
符号なし10進数化で差分を求めると 10000000
これが1秒の更新と一致。

新展開
"00 40 E4 47 02 22 C1 08" : 終了段未計測の値、(データ無し)
0x08C1220247E44000
符号なし で変換 630822816000000000 ググるといくつも何かがHit
Calendar のどうたらこーたら英文一杯

739 :デフォルトの名無しさん:2019/01/22(火) 20:50:24.33 ID:zgLYWjKa.net
>>738
time2の値を0xffffffffffffffff-1(=0x7fffffffffffffff)でbit andを取ると、
0x8d24b0628429380

この値を.NET frameworkのDateTime型に渡してインスタンス化したところ、

2015/04/22 11:25:23
となり一致した。

.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間

またほかの考察から、1sec=10000000であり、ちょうど100nsecの分解能とも一致している。

740 :デフォルトの名無しさん:2019/01/22(火) 20:52:09.44 ID:zgLYWjKa.net
>>738
データ点数1529は、
1529 = 54 * 28 + 1
なので、28Hzのクロックシグナルでログを取っているものと予想される

741 :デフォルトの名無しさん:2019/01/22(火) 22:15:27.13 ID:zgLYWjKa.net
>>738
日時の表現が.NET frameworkのDateTime互換と仮定すると、

>>739 では上位1bitを捨てたけど、実際には2bit捨てるのが正しい。

この2bitが何物かといえば、
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)

例示された値の上位2bitは0b10(=2)なので、ローカルタイムだったのだろうと推測される。

742 :736:2019/01/23(水) 06:54:24.00 ID:BnZEIkIf.net
>>739-741
ありがとうございます。
まとめるとこのような感じで上手くいくようです。

743 :736:2019/01/23(水) 06:56:58.78 ID:BnZEIkIf.net
.NET frameworkのDateTime互換型と仮定 → (.Net型 非対応) Delphi TDateTime型

対象 : 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
符号なしで推移

2000年1月1日 00:00:00 基準値 0x08C1220247E44000
差分
16進数 = 80112903E05E5380
10進数 = 9228202208084775808
02進数 = 1000000000010001001010010000001111100000010111100101001110000000
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)
値の上位2bitは0b10(=2)なので、ローカルタイム
上位2bit捨てる

2000/01/01 00:00:00 以降だけと仮定(計測機器データなので過去は無し)
1000000000010001001010010000001111100000010111100101001110000000
 00000000010001001010010000001111100000010111100101001110000000 = 4830171230000000 = 0x112903E05E5380

4830171230000000 / 10000 ms = 483017123000 {切捨て}

483017123000 (ms)
/1000 = 483017123 ...0 (ms)
/60 = 8050285 ...23 (sec)
/60 = 134171 ...25 (min)
/24 = 5590 ...11 (hour)
2000年1月1日 から 5590 日のローカルタイム経過日

744 :736:2019/01/23(水) 07:02:27.05 ID:BnZEIkIf.net
.NET frameworkのDateTime互換型と仮定 → (.Net 非対応) Delphi TDateTime型
検証中
uses
// (略)
DateUtils,Math;

procedure TForm1.Button_Hex64Bit2000CalendarClick(Sender: TObject);
var
i64 : Int64;
// (略)
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Hex64BitDotNfDateTime.Text);
i64 := i64 - $08C1220247E44000;
TextStr := IntToHex(i64,16);

Memo1.Lines.Add(TextStr);
// Hex 16bit 文字→ 2bit String に変換
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// i64 := 残りを 10進数数値に変換
// i64 := Trunc(i64/10000); // ミリ秒単位化

i64 := 483017123000; // (仮入れ)
ULDateTime := StrToDateTime('2000/01/01 00:00:00.000');
ULDateTime := IncMilliSecond(ULDateTime,i64);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
Memo1.Lines.Add(TextStr);
end;
結果 : 2015/04/22 11:25:23.000
一致しました。

745 :736 関数化:2019/01/24(木) 06:22:34.57 ID:+IgQLcoJ.net
関数化したものを分けて書こうとすると
Sorry, you have been blocked
You are unable to access 5ch.net

>744 変更
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
TextStr := Int64ToBin(i64,False); // 他者さんの参照外部関数を改変
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// 上位ゴミ'0'削除

// i64 := 残りを 10進数数値に変換

746 :736 関数化:2019/01/24(木) 06:38:11.74 ID:+IgQLcoJ.net
function DotNf64bitHexToDateTimeStr(Str8bytesHex : String; Flg,MS : Boolean) : String; // 8 Bytes Hex , Flg check , ms on(True/False)off
(省略 >744冒頭部分近似)
// i64 := 残りを 10進数数値に変換
ib := 0; // 頭"i"Int
ea := 0; // 頭"e"Extended
ilen := Length(TextStr);
for ia := ilen downto 1 do
begin
iBin := StrToIntDef(TextStr[ia],0);
ea := ea + ((power(2,ib)) * iBin);
ib := ib + 1;
end;
i64 := Trunc(ea / 10000); // ミリ秒単位化
ULDateTime := StrToDateTime(DateTimeStr);
ULDateTime := IncMilliSecond(ULDateTime,i64);
if MS then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
if MS = False then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
end;
if Flg then DateTimeStr := UL + DateTimeStr;
DotNf64bitHexToDateTimeStr := DateTimeStr;
end;
end.

747 :736 関数化:2019/01/25(金) 06:18:32.24 ID:/nan/z+i.net
補足

i64 := StrToInt64('$' + Str8bytesHex);
// Int64 → 2bit String に変換 'Int64ToBin' で検索先
// 上位2bit 文字 で utc(1)01, local(2)10 を判定
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換

流れをこうしないと年日時の結果は同じでも
指定なし(0) 上位2bit 文字 '00' の場合
差し引き結果から'01'のutc判別となってしまう。

748 :デフォルトの名無しさん:2019/01/26(土) 12:43:51.03 ID:V7Vc5iY/.net
DocWikiの内容をzipファイルか何かで一括ダウンロードする方法あったら教えてください

749 :デフォルトの名無しさん:2019/02/10(日) 07:14:24.28 ID:RF523CmO.net
古いD6をまだ使っているが、エディタは VScode にDelphi extension入れて
使っている
デバッグはD6のIDEでやるしかないけど、両方立ち上げておけば
まあ使えますね

750 :デフォルトの名無しさん:2019/02/10(日) 10:26:35.22 ID:3PGMldSJ.net
俺もD6で、秀丸でコーディングしていたが、VSodeに切り替えてみようかな。
VSCodeは他の言語で使ってるので。

751 :デフォルトの名無しさん:2019/02/10(日) 18:01:50.44 ID:RF523CmO.net
VScodeの注意点: 別PCのファイルを開くと、変更が反映されない事象あり
自動保存されるけど、書きなおしたやつをまた開くと直っているように見えるのに、
実際は直ってないとか。 意味不明

752 :デフォルトの名無しさん:2019/02/10(日) 20:08:43.74 ID:RF523CmO.net
>>751 あっちとこっちで同時にファイル開いてたせいみたい

753 :デフォルトの名無しさん:2019/02/17(日) 19:49:40.12 ID:mFe1BbW0.net
別に今必要な事じゃないんだけど
エクスプローラーのファイル名で並べたら

ファイル1
ファイル2
・・
ファイル10

って並ぶでしょ。 これどんなロジックなんだろ
スマートな方法が思いつかないし興味ある

754 :デフォルトの名無しさん:2019/02/17(日) 21:28:00.77 ID:8qqWbI4p.net
自分は自作ソフトで似たようなことやってるけど
1文字単位での比較で数値同士の比較の場合に、その先の数値じゃなくなる前まで読んで整数にして比較ってしてる
小数点以下は1文字単位での比較として扱うので整数にしない

ただ 第11話 最終話 のような場合のロジックが面倒

755 :デフォルトの名無しさん:2019/02/19(火) 06:54:39.26 ID:9UQztg+8.net
VisualStudioでDelphi使えないかなぁ

756 :デフォルトの名無しさん:2019/02/19(火) 08:12:14.24 ID:BDyhgoG4.net
Delphi Community EditionとC++Builder Community Editionは同時にインストールできないんだな。

757 :デフォルトの名無しさん:2019/02/19(火) 09:38:23.94 ID:5KoJ2HbW.net
>>753
例えばこういうのは?
ファイル名文字列をバイト単位で数値化して加算
f0 = 0x65 + 0x30 = 101 + 48 = 149
f1 = 150
f2 = 151
f01 = 0x65 + 0x30 + 0x31 = 198
数値化した値で降順ソート

つまり
格納されてるファイル名を文字ではなく文字コードの数値合計でソート

758 :デフォルトの名無しさん:2019/02/19(火) 09:58:03.22 ID:5KoJ2HbW.net
補足
f01 = 0f1 = 1f0 になってしまうので
f(filename)文字列の桁数 len:=length(f) で文字列制限を設けて
for i:=1 to len do
if i<10 then a:=a+Ord(f[i])*10 else a:=a+Ord(f[i]);
適当処理

759 :753:2019/02/19(火) 16:58:58.81 ID:kMKRA1xT.net
有り難うございます
おもしろい・・・

760 :デフォルトの名無しさん:2019/02/19(火) 17:54:17.46 ID:oJBYXncw.net
>>757
それだと

abcd5.txt
bbcd1.txt
というファイルがあった場合に

bbcd1.txt
abcd5.txt
という並び順になっちゃうんじゃね?
あくまで"文字列"+"数値" というファイル名に対して"文字列"で比較し、"文字列"が同一なら"数値"で比較する必要があると思うが

>>754の場合、数字が文字列の一部だった場合に正しくソートされないって問題があるけど
そういう場合のファイル名はあまり意味がないから気にしないようにしている
それと先頭が数字の場合は文字列の一部として扱ってる

761 :デフォルトの名無しさん:2019/02/19(火) 19:07:51.51 ID:0tdxPmy7.net
StrCmpLogicalW

762 :デフォルトの名無しさん:2019/02/19(火) 19:34:05.73 ID:oJBYXncw.net
自分の場合、壱弐参なんてのも数値として扱うようにしている(したい)からAPIだと望んだ結果を得られない
「数値もしくは数値に変換可能なもの」同士の比較の場合だけ整数として比較してる

763 :デフォルトの名無しさん:2019/02/21(木) 17:17:10.52 ID:2mlLSirQ.net
begin
  var
    i: Integer;
  i := 0;
end;
コードフォーマッタ使うとこうなってしまうのだけどvarのあとで改行しない設定ってどこ?

764 :デフォルトの名無しさん:2019/03/12(火) 15:37:42.39 ID:G73gvPJk.net
ttps://qiita.com/ht_deko/items/41e95154e8da2f901698
コメ欄w

765 :デフォルトの名無しさん:2019/03/12(火) 16:19:08.39 ID:8KtfShI4.net
Sorry, my bad. My memory is confused. But, so what?
I mean, the fact is you humiliate Linus and Kernighan in such a way that they never know such a thing as you said.

たしかに恥ずかしい

766 :デフォルトの名無しさん:2019/03/14(木) 12:21:21.05 ID:w5DEurD7.net
結局なんだったのアレ?

767 :デフォルトの名無しさん:2019/04/02(火) 23:02:52.38 ID:Jpqx4ytb.net
ちょっと教えてほしいんですが、社内イントラネット環境で50台くらいのクライアントPCと
1台のサーバーで双方向に情報をやり取りするVCLフォームアプリを作りたいですが
Delphiだと何使って構築するのが良いのでしょうか?
上からの命令でDelphi使うことなって調べてみたんですが、検索するとDataSnapとか
RESTとかのキーワードが出てきますが自分の経験がDelphi7でストップしていて
現状についていけてません。よろしくおねがいします。

768 :デフォルトの名無しさん:2019/04/03(水) 02:20:05.63 ID:ZykPhSzn.net
>>767
情報のやり取りだけでは何とも言えんなー
それだけの要件だとIndyかWinsocksで通信したらええんちゃうってなる

769 :デフォルトの名無しさん:2019/04/03(水) 05:47:42.38 ID:qbGQvqkC.net
ふつーにIISで鯖立てて、httpでやりあえばよくね?

770 :デフォルトの名無しさん:2019/04/03(水) 06:04:14.50 ID:Vd76zIcd.net
CのDLLは普通にDelphiでも使える。
つまりcurlとかも普通に選択肢になると思う。

771 :デフォルトの名無しさん:2019/04/03(水) 09:22:36.44 ID:CI6gl4VO.net
なんでDelphiが指定されたんだろう?
今まで使ってた訳じゃないのに

772 :デフォルトの名無しさん:2019/04/04(木) 06:32:46.99 ID:HLoaCcLX.net
ネィティブ系だと実質C++かDelphiかの選択肢しかなくね?

773 :デフォルトの名無しさん:2019/04/04(木) 19:27:06.29 ID:GNoSo19c.net
そだねー

774 :デフォルトの名無しさん:2019/04/12(金) 06:11:32.75 ID:MYAmm+z/.net
>>767
Firebird + Apache + SOAP

775 :デフォルトの名無しさん:2019/04/12(金) 06:17:57.84 ID:MYAmm+z/.net
>>753
[Delphi]Windows XPの規則(自然順ソート・natural sort・natural ordering)ででファイル名をソートする
https://www.gesource.jp/weblog/?p=5947

776 :デフォルトの名無しさん:2019/04/26(金) 08:30:46.09 ID:l06kgRZY.net
>>767
https://www.embarcadero.com/jp/products/delphi/starter
Community Editionで使えるか試してみ

777 :デフォルトの名無しさん:2019/04/26(金) 08:31:55.46 ID:l06kgRZY.net
>>774
DBはPostgreSQLかMariaDB

778 :デフォルトの名無しさん:2019/05/06(月) 11:11:11.14 ID:WAQCiPA3.net
UnZIP32.DLLとかUnRAR32.DLLでRARファイルの操作する場合の質問です
例えば

BOOL WINAPI UnrarCheckArchive(LPCSTR szFileName,const int iMode);

と定義されてるUnrarCheckArchive関数をDelphiで定義すると

UnrarCheckArchive: function(szFileName: LPCSTR; const iMode: integer): Boolean; stdcall;

こんな感じなって通常はこれで問題ないのですが、
Unicode文字(バ、ガなどの濁音とか)が混じってるファイル名の場合上手く行きません

szFileNameがLPCSTRだからAnsiString扱いなのでUnicodeのファイル名を渡せないのもの当然なのですが、
なにかプログラム側でできる回避策はないでしょうか?

779 :デフォルトの名無しさん:2019/05/06(月) 12:25:07.78 ID:a/Eukqc8.net
>>778
使用しているdelphiのバージョンを書いてください。
delphi2009前か後かで回答が変わるかもしれないからです。

UnrarChechArchive関数の仕様に基づいて型キャストしてやれば良さそうな気がします。
例えばnull終端wide stringという仕様なら、渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。

780 :デフォルトの名無しさん:2019/05/06(月) 13:23:28.45 ID:WAQCiPA3.net
>>779
レスありがとうございます
使用してるDelphiは2010です

>UnrarChechArchive関数の仕様
szFileNameはLPCSTRなので32bit系のDLLではnull終端のAnsiChar配列(のポインタ)になってると思います


>渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
var
Path : string;
UnrarCheckArchive(PAnsiChar(PWideChar(Path)), 0);

この型キャストでは残念ながら上手く行かないようです

781 :デフォルトの名無しさん:2019/05/06(月) 20:04:43.46 ID:6T4so0Ox.net
LongFileNameをShortFileNameに変換すると
幸せになれる

782 :デフォルトの名無しさん:2019/05/06(月) 20:48:15.87 ID:WAQCiPA3.net
>>781
ナイスアドバイスです
GetShortPathNameで上手く行きました

おかげさまで幸せになれました
ありがとうございました

783 :デフォルトの名無しさん:2019/05/10(金) 10:35:30.18 ID:VUdPAgci.net
TDateTime datetime = VarToDateTime("令和元年5月10日9時10分15秒");
今はエラーが出るんだがそのうち対応されるのか?

784 :デフォルトの名無しさん:2019/05/10(金) 20:47:06.76 ID:bRXsPgWN.net
FormatDateTime('ge', Now);

レジストリに令和を加えてから上記を実行すると令1 って出るね

785 :デフォルトの名無しさん:2019/05/11(土) 03:08:09.14 ID:KNhq3FbT.net
いずれWindowsアップデートで対応するらしい
https://support.microsoft.com/ja-jp/help/4469068/summary-of-new-japanese-era-updates-kb4469068

コマンドプロンプトでこれを実行するとレジストリに追加される
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras /v "2019 05 01" /t REG_SZ /d "令和_令_Reiwa_R"

786 :デフォルトの名無しさん:2019/05/12(日) 18:37:34.16 ID:Kr8GnLfu.net
vsIconかつAutoArrangeのListViewで、両端のアイテムを選択した状態で左右キーを押すと、
エクスプローラーなら上下の列に移動しますが、DelphiのTListViewだと無反応です
これをエクスプローラーに準拠の動作をさせるにはどうすればよいのでしょうか?

787 :786:2019/05/15(水) 06:10:55.25 ID:jY9AnPp4.net
自己レスです
通常方向キーなどはVCL側で処理されてOnKeyPress、OnKeyDownなどではトラップできないので、Windowsメッセージを直接トラップすることでエクスプローラー準拠にできました

procedure WMKEYDOWN( var Msg : TWMKEYDOWN ); message CM_CHILDKEY;

procedure TForm1.WMKEYDOWN(var Msg: TWMKEYDOWN);
begin
case Msg.CharCode of
VK_LEFT :
左端か判別して左端なら上の列の右端に移動してResult := 0;
VK_RIGHT :
右端か判別して右端なら下の列の左端に移動してResult := 0;
end;
inherited;
end;

788 :デフォルトの名無しさん:2019/05/15(水) 06:39:29.51 ID:jY9AnPp4.net
訂正

Result := 1;でした

789 :デフォルトの名無しさん:2019/05/26(日) 19:04:45.15 ID:Nlo0sxin.net
開発環境だと問題ないのですが
実行したいPCだと
「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」と警告が出ます。
いくつかのDLLを使ってます。
どこから調べれば良いか???です。
開発環境は XE3 です。

何かヒントでもありませんか?

790 :デフォルトの名無しさん:2019/05/26(日) 20:54:01.76 ID:zVm0Vl5m.net
>>789
メッセージググればそのまま出てくるけどVBA関連では?
こことか
https://ameblo.jp/realsystems/entry-11946216560.html

791 :デフォルトの名無しさん:2019/05/26(日) 21:22:58.51 ID:Nlo0sxin.net
有り難うございます
警告メッセージは最初にググったのですが ピンとくる書込は見つけられませんでした
VBAは使ってないし・・
開発環境 Win7 x64 、実行環境 Win10 x64 です。
当初はそんな警告出てなかったのですが デバッグしてるうちに出るようになりました

困った・・・

792 :デフォルトの名無しさん:2019/05/27(月) 06:55:38.20 ID:+4vJq2r8.net
とりあえず、「動いている状態」ってのに戻してみたらどうかね?
それが再現できるなら話は簡単になる

793 :デフォルトの名無しさん:2019/05/27(月) 09:20:16.88 ID:ywThIruX.net
コメント感謝します
DLL参照の プロパティ値代入を1行追加してから症状が出るようになった気がするのですが(自信なし)
それをコメントアウトしても症状が消えません
開発環境では出ないので厄介です
Delphiが タイプライブラリを自動で追加したり とか しないですよね?

794 :デフォルトの名無しさん:2019/05/27(月) 09:39:37.30 ID:+4vJq2r8.net
そうじゃなくて、前の状態のファイルとかシステム一式をバックアップから取り出せないの?
自動でバックアップしながらじゃないとソフト開発は効率わるいよ。

795 :デフォルトの名無しさん:2019/05/27(月) 11:28:59.51 ID:ywThIruX.net
お付き合いホントに有り難うございます
開発環境と 実行環境が 1時間の移動距離にあるので
今現在出来てるテストが上記の書込でした
開発ファイル群は毎日のバックアップがあります
先ず、手元に現象を再現できる環境を構築しようと思ってます。

1度ビルドすると ソースの変更点をコメントアウトしても 元に戻らない
「何か」が有る可能性はあるのでしょうかね?

796 :デフォルトの名無しさん:2019/05/27(月) 12:32:39.96 ID:9qF1YjML.net
どうせADOとかOLE DBとかそっちの問題だろ?

797 :デフォルトの名無しさん:2019/05/27(月) 13:08:16.22 ID:AYKzEEPJ.net
>>795
四の五の言ってないでデータベースドライバ入れろ

798 :789:2019/05/27(月) 16:22:46.11 ID:ywThIruX.net
コメント有り難うございます

データベースドライバは入っています
入れ直すということでしょうか?

先の警告メッセージが出たあとOKを押すと 一見正常に動作しているように見えます。
そもそも警告が出始める前は 一通り正常に動作していました。

原因がわかりません。
旧ソースをビルドし直してテストしてみます。

799 :デフォルトの名無しさん:2019/05/27(月) 20:19:06.04 ID:zpIi4cEd.net
データベースドライバが32bitか64bitなのかが開発環境と実行環境で違ってたら
そんなようなエラーが出たような気がするが

800 :789:2019/05/27(月) 20:33:13.36 ID:ywThIruX.net
>>799
コメント心から感謝します

警告メッセージをググると そんなことも書いてありました
只 当初は問題なく動作していたので 途中でドライバーが変わるようなことも考えにくいですよね
Delphiで書いた実行ファイル以外は一切環境を変えていませんので 謎です

801 :デフォルトの名無しさん:2019/05/28(火) 00:25:44.07 ID:M3HPfliA.net
32bit用ドライバ → system32 に入れる
64bit用ドライバ → wow64 に入れる

こういう勘違いをしてるアホは時々見かける

802 :デフォルトの名無しさん:2019/05/28(火) 00:29:31.95 ID:Ht1RoDma.net
そういう命名にしたMSが最高のアホだろ

803 :デフォルトの名無しさん:2019/05/28(火) 08:25:10.69 ID:m8dRe03e.net
アプリのバージョンを表示するコードが上手く行かないんで悩んだがどうやらデバッグ版とリリース版でバージョン情報が共有されない仕様になったんだな
デバッグ版、リリース版でそれぞれバージョン情報をオプション設定しなきゃならないんで面倒くさいわー
デフォの文字コードも英語版になってるしなんかいろいろ使いにくい>10.3

804 :デフォルトの名無しさん:2019/05/28(火) 09:12:35.07 ID:WeI/rfn2.net
>>800
開発環境から実行した時に、モジュールのロードで始まる dll や bpl のロード情報を
コピペしてゆっくり眺めてみる

805 :デフォルトの名無しさん:2019/05/29(水) 05:48:35.44 ID:PLjjs/Q6.net
begin
TStringList.Create.Add('メモリリークした');
end;

このメモリリークの型、内容、ソースコードの場所を検出してくれるツールで
フリーかつDelphi10.3で使えるものって何があるますか?

806 :デフォルトの名無しさん:2019/05/29(水) 11:15:02.18 ID:+DJjCaX6.net
>>805
これじゃあかんの?

EurekaLogでDelphiアプリケーションのメモリリークを検出する – 山本隆の開発日誌
https://www.gesource.jp/weblog/?p=4834

807 :デフォルトの名無しさん:2019/05/29(水) 12:20:29.95 ID:nxMyfbFc.net
くたばれDelphiに見えた

808 :デフォルトの名無しさん:2019/05/31(金) 07:36:06.37 ID:L7xGWFvw.net
僕が高校生の頃の記事を紹介されても・・・

809 :デフォルトの名無しさん:2019/05/31(金) 11:36:16.19 ID:wXpLEcKn.net
ところでandroidのメモリリークって
どうやって検出するの?
少なくとも標準のを書いておいても
今まで報告されたことないんだが

810 :デフォルトの名無しさん:2019/06/04(火) 18:44:33.74 ID:UGFk7I+U.net
> フリーかつDelphi10.3で使えるもの

バージョンアップについていけなくて大半の外部ツールやVCLは死亡中
有料ですら10.3に対応してないものが多い

811 :デフォルトの名無しさん:2019/06/04(火) 22:27:56.89 ID:2iRNEsdQ.net
Delphiって有志による外部ツールやVCLで成り立っている文化なのに
メーカーはなんでそのことを理解してないんだろうなあ

812 :デフォルトの名無しさん:2019/06/05(水) 13:40:38.43 ID:CzlXW3sk.net
バージョン表記自体もわかりにくいんだよな・・・
8からいきなり2005になったと思ったらDelphi 2010を最後にDelphi XEシリーズになってそのままいくのかと思ったらXE8でうちどめして今度はDelphi 10に
10から11〜とメジャーバージョン上がっていくかと思ったらマイナーバージョンがメジャーアップデート相当でなんか末尾に都市名つけはじめたし

Delphi 10 Seattle
Delphi 10.1 Berlin
Delphi 10.2 Tokyo
Delphi 10.3 Rio

813 :デフォルトの名無しさん:2019/06/05(水) 15:20:31.40 ID:MBMFE53P.net
>>811
エンバカデロが過去の歴史知らないから仕方ない

814 :デフォルトの名無しさん:2019/06/07(金) 08:09:59.63 ID:tLy1nxeI.net
戦争を知らない〜子供たち〜さ〜

815 :デフォルトの名無しさん:2019/06/17(月) 18:50:44.65 ID:mpJ2xeVG.net
RazorでVB.NET切られるかも知れないのね
まだDelphiの方がクロスプラットフォームで残るかも知れないね

816 :デフォルトの名無しさん:2019/06/19(水) 05:04:09.25 ID:tVNS+22r.net
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/

817 :デフォルトの名無しさん:2019/07/09(火) 19:56:00.97 ID:tNo5ef94.net
質問、D6です
Clipboard関数
ANIS 半角アスキーテキスト(1行128バイト以下)をClipboard.AsTextで送らせます。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00058.htm
を参照しました。
uses節に 「Clipbrd」を追加
Clipboard.AsText := 'String変数';
これだと1秒ごとに送っているとすぐハングアップするので

AsTextより先にクリアさせるようにしてみました
Clipboard.Clear;
〜処理〜
Clipboard.AsText := 'String変数';

カウントさせてみると16回目ぐらいでハングアップしているようです。

上記の次ぎに
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
を追加すると
79回目ぐらいで行ってハングアップします。

なにかスムーズにさせるコツみたいなのありますか?

818 :デフォルトの名無しさん:2019/07/09(火) 20:16:45.77 ID:cI7q65Pk.net
>>817
ハングアップ、って具体的にどうなってるの?
何かの勘違いじゃないの?

あとClipboard.CreateとClipboard.Freeは要らないと思う;

819 :デフォルトの名無しさん:2019/07/09(火) 21:09:40.47 ID:yicNQMua.net
>>817
ハングアップに対する回答ではないけど……
同じなのに入れ替える必要ないと思うので
if Clipboard.AsText <> 'String変数' then
入れた方がいいのでは?

820 :デフォルトの名無しさん:2019/07/10(水) 08:29:24.86 ID:SpAM0kMX.net
Lazarusで書き直してみるとかね。
D6ってユニコードAPIとかに対応してないと思うのでそれ関係じゃね?

821 :デフォルトの名無しさん:2019/07/11(木) 16:01:27.35 ID:s0u0iTmX.net
Excelが起動してるとクリップボードの扱いでトラブった覚えあるけど
そういう用途じゃないよね

822 :デフォルトの名無しさん:2019/07/11(木) 18:36:12.29 ID:T5uCpHez.net
>79回目ぐらいで行ってハングアップします。

ハングアップが具体的にどういう状況かわからんので考えるだけ無駄だと思う

823 :デフォルトの名無しさん:2019/07/11(木) 21:28:58.78 ID:LgH9l4aT.net
てかソース見ると単純にapi呼び出してるだけだから
それってDelphiの問題なのか?

テストプログラムを他のPCで実行してチェックしてみるとかした?

824 :デフォルトの名無しさん:2019/07/12(金) 12:38:08.15 ID:MoL5DIGp.net
Delphi6とDelphi7のclipbrd.pas比べてみたらFClipboardとかFClipboardWindowの解放処理が追加されてるな。ひどすw

825 :817です:2019/07/12(金) 16:34:53.01 ID:pm2ij2oX.net
各位レスありがとうございました
>>819 ソレ入れてみます。

ソースも晒そうかとしてましたが
どこでハングアップしてるのかダミー表示させてたどり着き

結局、
クリップボードの処理いれたら顕在化したという
別の部分がエンバグしていたオチでした orz

何かクリップボード使う作法でもあるのか?と思っていたのでQしたわけです。

AsTextより先にClipboard.Clear;
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
結果これは不要でした。

以下↓レスを書きこむ直前に↑脱したので遅くなりました
>818さん
(SSDで入れ替えXPの開発環境デスクトップと実行パソコン XPノート&XPモバイルとは別です)
ハングアップの具体的
・作ってる物(送り側 高bps GPSデータ1秒更新)Clipboard.AsText := 'String変数'; のアプリが>817 の挙動で反応しなくなり操作を受け付けなくなる。
・受け手ソフト(昔のナビ地図ソフト、デフォCOM In 4800bps / オプ Clipboard を)は反映も止るが動作は続けている。
・作ってる物(実行ファイル)を終了させるには[タスクマネージャ]から[アプリケーション]でなく[プロセス]から該当イメージ名を選んで[プロセスの終了]を行わないと終わらなくなる。

826 :デフォルトの名無しさん:2019/07/12(金) 20:44:56.01 ID:Mt2Dum22.net
読み手に情報が伝わらない書き方だなあ
2、3年後に自分で読んでみるといいよ

まあ関心ないからどうでもいいけど

827 :デフォルトの名無しさん:2019/07/14(日) 01:36:06.45 ID:xLSDSuj/.net
RADStudioで指定できるまともなフォントないの?
https://i.imgur.com/DF2S9Si.jpg
https://i.imgur.com/FBhZpX7.jpg

828 :デフォルトの名無しさん:2019/07/14(日) 17:57:44.35 ID:RQcMGpwy.net
>>827
他の環境(エディタ)だとちゃんと表示されるのに、って画像も提示してくれないと
そのフォントがそういうものなんだろ、としか思わない

829 :デフォルトの名無しさん:2019/07/14(日) 21:02:30.19 ID:AfMdaAZO.net
TrueTypeじゃないフォント使ってるのか?としか思わんな

830 :デフォルトの名無しさん:2019/09/15(日) 07:02:41.90 ID:2jRAVw8s.net
あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めたいんですけど
IDEの機能として可能でしたっけ?

831 :デフォルトの名無しさん:2019/09/15(日) 07:23:58.99 ID:AbznkVe7.net
>>830
できる

832 :デフォルトの名無しさん:2019/09/16(月) 15:08:17.96 ID:nnMNLU6i.net
面倒だからフォルダごと圧縮比して保存しといた

833 :デフォルトの名無しさん:2019/09/21(土) 14:34:45.15 ID:gfJmTKeO.net
勿論な事だけど絶対パスとか注意

834 :デフォルトの名無しさん:2019/09/21(土) 15:21:04.87 ID:a27aqUZJ.net
>>831
どうやってやるの?

835 :デフォルトの名無しさん:2019/09/21(土) 15:50:53.96 ID:ZIXe7ufx.net
あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めてみろ

836 :デフォルトの名無しさん:2019/09/21(土) 23:17:52.31 ID:czYxzrrK.net
そうすると、新しいフォルダのソースをいじっているつもりが、元のソースを変更してしまう。
*.dskファイルは消すこと。

837 :デフォルトの名無しさん:2019/09/21(土) 23:32:02.53 ID:iquo6Qc8.net
>>830
できない

838 :デフォルトの名無しさん:2019/09/22(日) 19:31:31.99 ID:TKcBWrZD.net
丸っとコピーでプロジェクト系のファイルは修正すればいいよ

839 :デフォルトの名無しさん:2019/09/22(日) 21:18:02.00 ID:PEynJ+dQ.net
「プロジェクトのコピーを作成する」という機能が
発売20年以上経っても実装されてないとは信じられん

840 :デフォルトの名無しさん:2019/09/23(月) 11:30:02.95 ID:3qdqqJ07.net
pythonでスクリプトでも書けば一発

841 :デフォルトの名無しさん:2019/09/25(水) 08:05:58.59 ID:Uo4jEa/c.net
>>839
いらないからだよ。

842 :デフォルトの名無しさん:2019/09/25(水) 12:09:01.98 ID:lpIOIv3N.net
>>839
Visual Studio にそういう機能ありますか?

843 :デフォルトの名無しさん:2019/09/25(水) 15:48:30.01 ID:OW+fPjNy.net
いや、要るだろ普通に 別バージョンとか作りたいときに
*.dsk消せば済むことだけど標準機能であればそれに越したことはない

VSは使ったことないから知らん

844 :デフォルトの名無しさん:2019/09/25(水) 16:33:22.57 ID:VxOhHjIL.net
てか初心者がプロジェクトの別名保存を誤解して
大変なことになりそう

自分もそうだったけどね

845 :デフォルトの名無しさん:2019/09/25(水) 22:08:28.34 ID:cw/6a5eO.net
>>830
D6 D7 だけど、(絶対パスがなければ)できる。
普段はプロジェクトとソースを保存するときの「名前を付けて保存」で
デフォルトのセーブ先から別のドライブのフォルダに指定してる。
そうするとプロジェクト毎のソースがフォルダ別に整理できる。
同じ系統のプログラム作成はベース部分まで作っておいて保存、
新規フォルダにコピーでクローンしてスタート。

現プロジェクト中に「名前を付けて保存」で対象移動先にセーブしてみたらどうですか?
この際の注意点として、
プロジェクトの保存だけでは足りない、ソースなどの保存の2回保存作業が必要。
始動は移動先のプロジェクトを指定する。
その後は全保存の1回で使えてる。
試す前にコピーで戻せるようにはしておくことです。

846 :デフォルトの名無しさん:2019/09/26(木) 06:36:59.16 ID:XqflkBue.net
>>845
そんな手間かけるならエクスプローラでコピーすればいいだろ

847 :デフォルトの名無しさん:2019/09/26(木) 16:30:40.39 ID:IfndknF+.net
>>846
>>836を防ぐため

848 :デフォルトの名無しさん:2019/09/27(金) 07:51:52.34 ID:rPuRGMpg.net
各ファイルの役割をきちんと覚えること。
それができなくてプログラマーとか笑うしかない。
変な自動機能があるとその基本を忘れがちになる。

849 :デフォルトの名無しさん:2019/09/27(金) 08:17:47.22 ID:KklKnzXk.net
デスクトップ保存なんてしないからdskなんてできたことないわ
便利なのかあれ

850 :デフォルトの名無しさん:2019/09/27(金) 11:49:01.01 ID:oLJPEcmZ.net
>>848
ほんそれ
https://code-examples.net/ja/q/847e26

851 :デフォルトの名無しさん:2019/09/27(金) 16:59:40.30 ID:foryHhOm.net
今時使用言語は数個、開発環境も数種類さらにクラウドやら覚えることもりだくさん。

delphiしか触ってないなら、delphiの各ファイルの役割ぐらい覚えられるだろうが

852 :デフォルトの名無しさん:2019/09/27(金) 17:31:01.27 ID:lSkgbLDU.net
848ってすごく偉そうだけど、偉い人なんですか?

853 :デフォルトの名無しさん:2019/09/27(金) 17:44:52.22 ID:7QNtDU/z.net
みんな初心者に厳しいな

854 :デフォルトの名無しさん:2019/09/27(金) 21:16:55.01 ID:swY7XTEk.net
皆、自称初心者のプロが作ったスパゲッティウンコに悩まされてきたからな

855 :デフォルトの名無しさん:2019/09/27(金) 23:00:19.44 ID:miVHoQrZ.net
まぁ、日本じゃMVPがあの程度の低能だからな

856 :848:2019/09/28(土) 08:02:41.58 ID:xbQ4upm/.net
>>851
だからさ、覚えるとかそういうことじゃない。
各ファイルの役割をきちんと知らないと
プログラマー生命そのものがあやうくなるんだって。
話題の dsk ファイルのはまったく要らない子だってことを知るのもそのひとつ。
例えばオープンソースに dsk ファイル含めて公開しちゃうと
パス名から身バレしちゃったりするリスクもあるわけよ。
言語によらず、プログラマ名乗るならそういうのに敏感になれということ。

857 :デフォルトの名無しさん:2019/09/28(土) 10:31:39.10 ID:VM/fe2sP.net
MySQLやSQLiteをやろうとして挫折した人間です。

BDEというか、ParadoxのかわりにClientDatasetを使おうと思うんだけど、
設計時にDBコンポで表示できて便利だし、使ってる人いませんか?

.xmlファイルに書き出せるフィールドタイプに制限があるけど、それ以外は
TTableと同じように使える感じ

858 :デフォルトの名無しさん:2019/09/28(土) 10:50:32.92 ID:+WjqjUuO.net
>>857
CDSやFDMemTableは普通に使われてるかと?

859 :デフォルトの名無しさん:2019/09/28(土) 12:10:53.41 ID:98P9Jt4Z.net
え?

delphiの各ファイルの役割をきちんと知らないと、プログラマー生命そのものが
危うくなっちゃうんですか???

そ、それはヤバイなぁ!
(か・・・片腹痛てぇ・・・中学生?)

860 :デフォルトの名無しさん:2019/09/28(土) 12:42:06.93 ID:lDFhrhsD.net
>>857
ふつうにカジュアルに使てるで

CDSは、ランタイムであるmidas.dllを同梱するか、MidasLibをどこかのソースファイルでusesに加えてあげる必要ありなので、TfdMemTableの方が楽なイメージ。
(古いシステムのお守りでCDS使うことの方が多いけど)

861 :デフォルトの名無しさん:2019/09/28(土) 12:44:04.73 ID:lDFhrhsD.net
>>857
インメモリDBとして使用してるから、xmlの書き出しについてはよくわかりません。

862 :デフォルトの名無しさん:2019/09/28(土) 14:56:11.24 ID:jekZgFRJ.net
>>856
趣味でマターリやってる日曜プログラマに
そこまでの責務を負わされたら趣味じゃなくなってしまうんですが

863 :デフォルトの名無しさん:2019/09/28(土) 15:00:56.96 ID:Fp/VMyF1.net
>>860
確かmidas.dllは静的リンクできるはず

864 :デフォルトの名無しさん:2019/09/28(土) 15:09:36.10 ID:VM/fe2sP.net
midas.dllは無料版では同梱不可?
といっても買ったD6でやるので、だいじょうぶだけど。

静的リンクって、exe一体化もできるということ?

865 :デフォルトの名無しさん:2019/09/28(土) 15:21:57.63 ID:Fp/VMyF1.net
>>864
そそ、uses MIDASLIB; でEXEの中に入る

866 :デフォルトの名無しさん:2019/09/28(土) 15:41:37.90 ID:VM/fe2sP.net
D6でも出来ました
ちなみに .xml に保存だと、他で流用するのが楽かもしれないなあと

867 :デフォルトの名無しさん:2019/09/28(土) 22:03:23.25 ID:VM/fe2sP.net
xmlで保存するとcdsの3倍に膨れるので、普段は.cdsでやるようですね。

868 :848:2019/09/29(日) 08:47:47.40 ID:3jPOw8Yu.net
>>862
中学生か?とか、日曜プログラマなんで、とかで
現実逃避してんじゃないよまったく。
だから何をやってもだめなんだよおまえは。
少しはラグビー選手を見習えよ。

869 :デフォルトの名無しさん:2019/09/29(日) 09:34:06.88 ID:eilyQrmI.net
中学生が日曜にいじってるチクビー選手が何だって?

870 :デフォルトの名無しさん:2019/09/29(日) 10:44:05.25 ID:ZdWVwqu8.net
ラグビーどこから出てきたw

871 :デフォルトの名無しさん:2019/09/29(日) 15:05:35.94 ID:waqB6WCo.net
ラグビーとか何の興味も無いわw
どっかで何か大会でもやってんの?

872 :デフォルトの名無しさん:2019/09/29(日) 15:52:25.82 ID:s9l7tbgO.net
>>868
いや日曜プログラマとか趣味の世界だから
現実逃避してもいいんだよ

趣味ってそういうもんでしょ

873 :デフォルトの名無しさん:2019/09/29(日) 16:50:11.27 ID:mdCYdpYZ.net
趣味ならどんなやり方でも何でもやればいい
仕事の規約みたいなの押し付けてくるの嫌い
ビジネス系と分けた方が良いんじゃないかと時折思うけど
ビジネス板ってそういうじゃないんだよね?

874 :848:2019/09/30(月) 07:30:37.66 ID:Xp0HZa25.net
超初心者用スレだった。
悪かった。今は反省している。

875 :デフォルトの名無しさん:2019/09/30(月) 20:17:14.33 ID:ZxnjErQn.net
>>874
おまいが本物の848だとは思えない

876 :デフォルトの名無しさん:2019/10/24(木) 06:33:27.26 ID:C+cXuXRZ.net
D6を使っている初心者なんですが、ローカルファイルで使うTClientDatasetでは
SQL文を使ってなにかすることってできないのでしょうか?
Filterプロパティとか、項目リンクでやる?
あと、トランザクションも無い?

877 :デフォルトの名無しさん:2019/10/24(木) 20:26:47.73 ID:JmFaqgCP.net
>>876
できない
Yes
ない

878 :デフォルトの名無しさん:2019/10/28(月) 16:38:14.34 ID:1rTfV6b0.net
以前Delohi7 は 使ってました
今回 Win10にして DelphiXE3の中古を買いました

いきなりつまずいて dclusr.dpk のインストールができません
C:\Program Files (x86) 以下への書き込み権限がないのが理由のようです
Win10へのXE3のセットアップで こつのようなものが有りましたら教えてください

879 :デフォルトの名無しさん:2019/10/28(月) 18:30:23.79 ID:Knk7VVe1.net
>>878
インストーラを「管理者として実行」すれば良いと思う

880 :デフォルトの名無しさん:2019/10/28(月) 21:22:05.93 ID:1rTfV6b0.net
ありがとうございます

正しいのかは解りませんが
bds.exe のプロパティを 「管理者権限で実行」 にしたら
とりあえず うまくいってます

881 :デフォルトの名無しさん:2019/10/30(水) 08:11:55.65 ID:W/c+8tx6.net
管理者権限が必要なフォルダにちゃんとファイルが入ったかな?
できればアンインストールしてから再度管理者権限でインストールし直した方がいいと思うよ

882 :デフォルトの名無しさん:2019/11/05(火) 01:33:09.38 ID:RmI3r0pW.net
CE10.3+Update2のライセンスがあと21日で切れると言われたんだけど
一旦アンインストールして10.3.2入れ直せばいいの?

10.4リリース前にライセンス切れ起こされても困る

883 :デフォルトの名無しさん:2019/11/15(金) 16:21:19.78 ID:VW/VrmE3.net
https://forest.watch.impress.co.jp/docs/news/1133620.html
みんな、伝説のデルファイさんが
ついに公開されたぞw

884 :デフォルトの名無しさん:2019/11/15(金) 16:49:00.43 ID:NLCWqdB7.net
何年前のニュースよ

885 :デフォルトの名無しさん:2019/11/15(金) 18:34:56.28 ID:VW/VrmE3.net
誤爆w

886 :デフォルトの名無しさん:2019/11/15(金) 23:16:36.91 ID:/yBuhf/V.net
でるほいでるほい。

887 :デフォルトの名無しさん:2019/11/15(金) 23:51:49.26 ID:AquHepuk.net
https://mevius.5ch.net/test/read.cgi/tech/1532750539/

の次スレ立ててそこでヤレ

888 :デフォルトの名無しさん:2019/11/17(日) 12:24:40.53 ID:oO0v8f+d.net
今Delphiを勉強しています。
使っている本は日経BPのカンタンDelphiプログラミングです

24ページの
SchFile := ChangeFileWxt(Application.Exename, '*.txt';
でどうしてもSchFileのところで赤波線が出てしまいます。

現在生きているDelphiでどう治せばいいのか調べていますが
これだけは出てきません。

ご存じの方教えていただけないでしょうか?

889 :デフォルトの名無しさん:2019/11/17(日) 12:40:56.92 ID:qohtSdnJ.net
>>888
ChangeFileWxtがTypo
ChangeFileExtが正解

890 :デフォルトの名無しさん:2019/11/17(日) 12:41:13.55 ID:qohtSdnJ.net
>>888
ChangeFileWxtがTypo
ChangeFileExtが正解

891 :デフォルトの名無しさん:2019/11/17(日) 12:41:48.10 ID:qohtSdnJ.net
Timeoutエラーで再投稿選んだら2重になった(´・ω・`)

892 :デフォルトの名無しさん:2019/11/17(日) 12:44:48.48 ID:X9AhIAwA.net
優しすぎ

893 :デフォルトの名無しさん:2019/11/17(日) 23:07:10.86 ID:r8gTgqCf.net
そこらへんの関数は古いので実戦ではTPath使っとけ
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath.ChangeExtension

894 :デフォルトの名無しさん:2019/11/18(月) 06:59:08.44 ID:ivxwgLiy.net
>>888
セミコロン前に)も足りない

895 :デフォルトの名無しさん:2019/11/18(月) 17:52:09.30 ID:F3ZpdG4d.net
>>893
関係ないけどIOutilsとShapeにTPathの名前空間設定してるってほんと

896 :デフォルトの名無しさん:2019/11/18(月) 20:00:11.12 ID:cegJQRwO.net
>>895

こいつらのことか?

http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath

http://docwiki.embarcadero.com/Libraries/Rio/ja/FMX.Objects.TPath

897 :デフォルトの名無しさん:2019/11/25(月) 00:41:39.58 ID:3JL19Dun.net
delphicbuilder10_3_3*_isoってどこにあるの?

898 :デフォルトの名無しさん:2019/11/25(月) 13:32:01.77 ID:/TKXypzi.net
>>897
edn

899 :デフォルトの名無しさん:2019/11/25(月) 19:02:35.06 ID:xAqc66Cz.net
isoだとなんかメリットあるの?いつもexeのほうでインストールしてるけど…

900 :デフォルトの名無しさん:2019/11/25(月) 20:28:51.05 ID:/TKXypzi.net
>>899
レジストリの仕様がWebとISOで(何故か)違うから一回インストールしたらずっとそっちを使わないと不具合出る

901 :デフォルトの名無しさん:2019/11/26(火) 00:16:02 ID:0xdcR0pZ.net
エンバカのインストーラーって昔から何かに付け問題起こすよなあ

902 :デフォルトの名無しさん:2019/11/26(火) 09:39:02.59 ID:c3SEnPpX.net
VSのトラブルの方が多い

903 :デフォルトの名無しさん:2019/11/26(火) 22:39:22.51 ID:E5VH4GlY.net
黒金特売
https://www.packtpub.com/catalogsearch/result/?q=Delphi&product_type_filter=Book

904 :デフォルトの名無しさん:2019/11/26(火) 23:35:25.93 ID:f8AM92bW.net
WindowsUpdateの方が多い

905 :デフォルトの名無しさん:2019/11/27(水) 20:23:49.45 ID:E4Y5rsTJ.net
community使ってんだけど
事前に10.3.2アンインストールしたほうがいい?

906 :デフォルトの名無しさん:2019/11/27(水) 20:27:20.56 ID:DH1+L8h0.net
>>905
Yes

907 :デフォルトの名無しさん:2019/11/27(水) 21:18:59.15 ID:E4Y5rsTJ.net
>>906
ありがと

908 :デフォルトの名無しさん:2019/11/30(土) 00:08:22.61 ID:djtdsJmt.net
Black Friday discounts from Delphi related third party vendors
https://www.ideasawakened.com/post/black-friday-discounts-from-delphi-related-third-party-vendors

909 :デフォルトの名無しさん:2019/11/30(土) 20:55:58.53 ID:QuZ7D6yA.net
また新たなバグかよ
まったく安定しないな

910 :デフォルトの名無しさん:2019/12/01(日) 16:54:20.10 ID:xsp+dk7g.net
CnPack-Options-Editor Enhancements-Othersにフリーカーソル無効化機能あんのか

911 :デフォルトの名無しさん:2019/12/05(Thu) 09:41:30 ID:dexY8qQm.net
// 渡した引数をとにかくJsonObjectに変換する
class function TJsonUtil.ToJsonObject<T>(AValue: T): TJsonObject;
begin
// AValueをTValueに変換
var v := TValue.From<T>(AValue);
Result := TJsonObject.Create;
// todo: Resultにvをセットしたい
end;

ってどうやって実装すれば良いんでしょうか?
TConverter = class
FValue: TValue;
end;
を噛ませればObjectToJsonObjectできるんですができれば直接やりたいです

使用例
ToJsonObject(123) // int
ToJsonObject(RegexpResult) // record
ToJsonObject(Form1) // object

912 :デフォルトの名無しさん:2019/12/15(日) 19:14:51.23 ID:Erl1x9YI.net
Delphi 10.3.3 Community Edition インストールできたのですが
GetItから、Konopkaと Radiant Shapesを インストールしてみました。
この時のコンポーネントパレットの数は65です、
ここで、新規作成で Windows VCL アプリケーション作成すると
コンポーネントパレットの数は49に減少します。
減った分16にはRadiant ShapesやTeeChartLite等々が含まれます。

これは このバージョンには適合しないコンポーネント、ということなのでしょうか?

913 :デフォルトの名無しさん:2019/12/15(日) 19:30:14.10 ID:Erl1x9YI.net
訂正
×ここで、新規作成で Windows VCL アプリケーション作成すると
〇ここで、新規作成で Windows VCL アプリケーションを立ち上げると

914 :912:2019/12/16(月) 12:36:00.90 ID:ttWgB5Qq.net
解決
消えたのは マルチデバイス アプリ用のコンポーネントでした。

でもRadiant Shapesのコンポーネントアイコンが全部同じなのを何とかしてほしい。

915 :デフォルトの名無しさん:2019/12/16(月) 17:25:45.47 ID:imI0kE/x.net
ついていけません

916 :デフォルトの名無しさん:2019/12/21(土) 16:34:19.99 ID:7JUwe78b.net
「ライセンス有効期限切れの事前通知」ダイアログが出たので
「新しいCommnunity Editionライセンスを要求」をクリックしたのですが
開いたページにそれらしい項目が見当たりません。
どうすればよいのでしょうか。

917 :デフォルトの名無しさん:2019/12/21(土) 16:41:43.91 ID:7JUwe78b.net
すいません、解決しました。

DL時にメールが来ていてそこにシリアルがついていましたので
「ライセンスの操作」→「登録」でこのシリアルを入力して解決しました。

918 :デフォルトの名無しさん:2019/12/24(火) 21:17:41.79 ID:qlVCJ4TF.net
TeeChart をいろいろ調べてるんですが、例えば .NET の Chart コントロールにある
ChartAreas コレクションみたいにグラフを増やすことはできない?
素直に複数の TeeChart を貼るしかないのかな。

919 :デフォルトの名無しさん:2019/12/28(土) 11:10:32.35 ID:7thx4FXN.net
http://docwiki.embarcadero.com/images/RADStudio/Rio/j/b/b5/ObjInspKH.png
オブジェクトインスペクタのフィルターボックスで絞り込んだあとに
キーボード操作で通常のグリッド部分にフォーカス移す方法ないですか?

920 :デフォルトの名無しさん:2019/12/28(土) 19:57:46.28 ID:D0v0zeIX.net
Embarcaスレもうないの?

921 :デフォルトの名無しさん:2019/12/28(土) 20:22:02.42 ID:VAO6wyfS.net
>>920
まぁ日本じゃMVPがあのキモ男だからな

922 :デフォルトの名無しさん:2019/12/30(月) 23:16:18.53 ID:6qINtcSB.net
isoが7GBでそっ閉じ

923 :デフォルトの名無しさん:2019/12/30(月) 23:20:18.80 ID:1fsbbQSB.net
>>920
無い
立たない

924 :デフォルトの名無しさん:2020/01/02(木) 22:17:53.37 ID:hpdfwBfI.net
もうここがDlephi総合スレって事でいいのかな

925 :デフォルトの名無しさん:2020/01/03(金) 19:06:59.37 ID:kIqS3g14.net
営業担当がどんどんやめてく...

ttps://twitter.com/IchihanaMiwa/status/1213026105281540096
(deleted an unsolicited ad)

926 :デフォルトの名無しさん:2020/01/05(日) 14:48:06.25 ID:6XuBW/ld.net
IDE Fix Pack作ってた人、どうしちゃったのかなー

927 :デフォルトの名無しさん:2020/01/05(日) 18:31:46.11 ID:BIrlwOVT.net
IDE Fix Pack って、ほんとに効果ある?

928 :デフォルトの名無しさん:2020/01/07(火) 06:13:17.60 ID:ysLsWKuo.net
>IDE Fix Pack って、ほんとに効果ある?
たぶん無い。少なくとも俺の環境では効果がない。
けど悪くもならないのでまぁお守り扱いで使っている。

929 :デフォルトの名無しさん:2020/01/07(火) 21:35:30 ID:AWOylPKB.net
型推論のインライン変数書くと、ビルドは通るのにエディタではエラー表示になる。なんでや。

930 :デフォルトの名無しさん:2020/01/07(火) 22:22:30.36 ID:Bkg1oNr5.net
>>929
エディタのエラーインサイト(だったかな?)が対応していないから
エラーインサイトを切ればエラー表示はされなくなるけどいつ直るんだろうね?

931 :デフォルトの名無しさん:2020/01/07(火) 22:34:45.15 ID:x2MzGoUT.net
>>930
Castaliaいじれる技術者まだ残ってるのかが心配

932 :デフォルトの名無しさん:2020/01/08(水) 21:19:31.57 ID:wLTYkb+a.net
>>930
マジか。そんな状態でリリースするとは、なかなかやりおる。
直るまでインライン変数とかはやめておこう。

933 :デフォルトの名無しさん:2020/01/08(水) 22:21:01.82 ID:MEH3hyXq.net
>>932
10.3のときにインライン変数が実装されたのに、10.3Release1、Release2、Release3ときて
いっこうに直ってないからな。 10.4で直るかどうかも危ぶまれる

934 :デフォルトの名無しさん:2020/01/20(月) 13:50:17 ID:YpnY3DBw.net
CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが

935 :にゃんこちゃん:2020/01/23(木) 12:18:56.18 ID:N+B8js5bQ
嬉し恥ずかしド素人です^^
delphiで簡単な画像を描いて、JW_CADに読み込ませたいです。
とりあえず、Form1のイベントでonpaintをformpaintにすればcanvasが使えるのはわかりました。
それでline.toを使って画像はできました。
問題は、それをどうやってJW_CADに読み込ませればいいのでしょう?
あたま、こんぐらがってます。

936 :デフォルトの名無しさん:2020/01/28(火) 17:15:20 ID:jA3HtLr3.net
>CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
インストーラーにマルウェアもどきが入っているので、ファイルを展開して自分でインストールするべき。
あと、日本語関係ドライバが入っていないから日本語ソートはできないよ

937 :デフォルトの名無しさん:2020/01/30(Thu) 19:19:48 ID:idED7zVd.net
そうなんだありがとう
地道にfiredacに置き換えますわ

938 :デフォルトの名無しさん:2020/01/31(金) 10:44:06.52 ID:Y9q94Xhy.net
メモリリークを内蔵のFastMMでチェックしたらUnicodeStringやUnknownでリーク発生というよく分からない表示がされたので、
FastMM4のフルデバッグモードでチェックしたところこんなログが出ましたが、ソースのどこでリークしてるのかさっぱり不明で困ってます
どのpasファイルの何行目とか出ない場合のリークはどこを修正したらよいのでしょうか?

A memory block has been leaked. The size is: 36

This block was allocated by thread 0x51BC, and the stack trace (return addresses) at the time was:
4070F2
40C0EE
708321 [Unknown function at TMethodImplementationIntercept]
77276DF3 [Unknown function at GetThreadDesktop]
77276E44 [Unknown function at GetThreadDesktop]
77BFF8FA [ZwCallbackReturn]
77276E57 [Unknown function at GetThreadDesktop]
77BF011A [KiUserCallbackDispatcher]
77280E28 [ShowWindow]
62A6A9 [Unknown function at TMethodImplementationIntercept]
62A81C [Unknown function at TMethodImplementationIntercept]

The block is currently used for an object of class: Unknown

939 :デフォルトの名無しさん:2020/02/03(月) 09:42:44.84 ID:ZUQl5IjM.net
サブスクリプションって更新してる?
社内用プログラムの修正でたまに使う程度なので
年10万はちょっとなぁ・・・

940 :デフォルトの名無しさん:2020/02/04(火) 07:28:16 ID:6U67LbmC.net
TMS のWeb Coreってのを最近見つけた。
Intrawebと同じくpascal→JavaScriptみたいなんだけどかなり完成度は高い
気軽にDelphi+PascalベースでWebアプリを創りたいときにはいいよ、コンポーネントも自作できるみたいだし

サブスクリプションは入ってませんよ
新規機能を必要としない、ちょっとした改修メインならあまり必要はないんじゃないかな?
法人ベースなら10万ははした金だけど、生きたお金とも言えないんで払わないようにしてる

941 :デフォルトの名無しさん:2020/02/04(火) 20:30:44 ID:u9fAPblT.net
大政翼賛イベント、終わり。

斜陽の会社と製品買うのはいいけど、買うだけで統合とかシナジーとかできないよなぁ。
元技術者たちが全員いなくなった sencha なんかどうするきだろう

942 :デフォルトの名無しさん:2020/02/05(水) 20:51:12 ID:gyQe6DwW.net
>>938
自分もちょっとメモリーリークで悩んでるんだけど
delphi versionとかvcl/fmx とか少し情報もらえる?

943 :デフォルトの名無しさん:2020/02/05(水) 21:24:09.71 ID:UTgGnF3M.net
>>942
Delphi10.3.3でVCLアプリです

手がかり求めて海外のフォーラム情報を調べたら.MAPまたは.TDSファイルを作成するとより詳しく調べられるらしいです

944 :デフォルトの名無しさん:2020/02/05(水) 21:36:45 ID:UTgGnF3M.net
というわけでプロジェクトのオプションのコンパイル→リンカでマップやTDSを有効にするとより詳しく調べられました

945 :デフォルトの名無しさん:2020/02/06(Thu) 10:26:40 ID:wF1qF0nM.net
D7で作ったプログラムをD10に移行中ですがDBGRIDのカラムタイトルの色が変更できません
プロパティで何を指定しても白のままです
どうしたらいいのでしょうか

946 :デフォルトの名無しさん:2020/02/06(Thu) 13:43:22 ID:GZVea8mu.net
>>945
FixedColorの2つ上にDrawingStyleというのがある

947 :デフォルトの名無しさん:2020/02/06(木) 16:27:26.83 ID:wF1qF0nM.net
>>946
ありがとうございます
変更できました

948 :デフォルトの名無しさん:2020/02/13(Thu) 06:28:37 ID:vBflwVQp.net
D6からアップデートしてないユーザーなんだけど、いろいろ古すぎて苦しい。
C#は多少いじれるようになった。
RDBはいじらない、ネットから情報を取ってきたり、お絵かきプログラム中心。

新しいプロジェクトを始めるのに C#と、Tokyo? Berlin?やりだすのとどっちが楽だろうか

949 :デフォルトの名無しさん:2020/02/13(木) 07:53:08.45 ID:AuZ/W2H1.net
全く新しくていいなら C# だな。
Delphi は時代に追従しきれていない感じ。がんばってはいるけど。

自分も遊びでは Delphi 使ってる。

950 :デフォルトの名無しさん:2020/02/13(木) 21:47:53.63 ID:EdFxkN9G.net
>>948
Lazarus

951 :デフォルトの名無しさん:2020/02/13(木) 22:02:38.27 ID:nW/OuvCI.net
FreePascalの次のリリースはジェネリクスがDelphi互換になってますますDelphiに近くなるよ
去年中にリリースと言われて現在もまだリリースされてないけど

952 :デフォルトの名無しさん:2020/02/14(金) 06:49:48 ID:ZmXO4tiK.net
>>948
間違いなくC#
余裕があるならdelphiやりなされ

953 :デフォルトの名無しさん:2020/02/14(金) 10:38:29.59 ID:cah/hEJW.net
開発環境が数GBダウンロード必須って
ハナから無理

954 :デフォルトの名無しさん:2020/02/14(金) 12:07:08 ID:a5iC3cHy.net
C#って見かけは小さいけど
環境は馬鹿みたいにデカすぎる

955 :デフォルトの名無しさん:2020/02/14(金) 19:10:57 ID:H2ERqwMc.net
>>954
プリインストール済みの.Net Frameworkとメモ帳で開発コストゼロや!

956 :デフォルトの名無しさん:2020/02/14(金) 20:21:05 ID:7pjvoPX7.net
Delphi の方が重いと思うがなあ。

957 :デフォルトの名無しさん:2020/02/15(土) 09:46:15 ID:lW8gbEk5.net
Indy10のhttpsで使うdllが最新版に入れ替わっちゃうとおかしくなる不具合ではまり。
2018年ごろのやつに差換えたら動くようになった。
TLS1.2まではいけるからしばらくは持ちこたえられそう

958 :デフォルトの名無しさん:2020/02/15(土) 10:25:19 ID:abNW28Cg.net
>>957
Delphiのバージョンがいくつか、何に使ってるかわからんけどもTNetHttp系に差し替えを検討したら?

959 :デフォルトの名無しさん:2020/02/15(土) 11:23:33 ID:4O69sBWU.net
>>957
それって既知の問題としてどこかに書かれてる?
公開してるアプリでは問題は起こってないけど
何らかの条件があるんだろうか?

960 :デフォルトの名無しさん:2020/02/15(土) 12:38:24 ID:qtyOJHsa.net
Indy10ってまだ10.3に対応してなかったような
対応版でたの?

961 :デフォルトの名無しさん:2020/02/15(土) 21:35:37.58 ID:CqCEJ0Fs.net
Rioでdebug releaseのモード切り替えると固まるのは俺だけ?

962 :デフォルトの名無しさん:2020/02/15(土) 21:47:54 ID:4O69sBWU.net
>>960
Indy10がRioに対応してるかってこと?
Rioに付属してるIndyは10.6だよ?

963 :デフォルトの名無しさん:2020/02/15(土) 22:01:01.91 ID:qtyOJHsa.net
>>962
そうだったのか
付属のはもっと古いバージョンかと思ってた

964 :デフォルトの名無しさん:2020/02/16(日) 10:30:31.87 ID:u9eNlzbF.net
どの「コミュニティ」に行っても、同じ人たちしかいないのって、よーするに人材枯渇かね?

965 :デフォルトの名無しさん:2020/02/16(日) 10:53:29.32 ID:ajhowdAH.net
まぁ日本じゃMVPがあのキモさだからな

966 :デフォルトの名無しさん:2020/02/18(火) 17:22:10.12 ID:Fy87CGLW.net
>>957
IOHandler.SSLOptions.Method := sslvSSLv23;
で、dllが持ってる強度の高い方から順に試すんじゃなかったっけ
関係なかったらゴメン

967 :デフォルトの名無しさん:2020/02/22(土) 07:52:44.80 ID:jMTU79N4.net
quickreporteって昔みたく標準でついてないのね
皆さん印刷とかどうやってるの

968 :デフォルトの名無しさん:2020/02/22(土) 14:04:02.92 ID:61rJN/k0.net
>>967
FastReportが今の標準添付の印刷コンポーネント

969 :デフォルトの名無しさん:2020/02/26(水) 17:54:06.74 ID:KqbM6wtj.net
そろそろ次のスレを立てないとね

970 :デフォルトの名無しさん:2020/02/26(水) 22:14:57.47 ID:TEAnrnJR.net
総合スレは・・・まだいいか

971 :◆JAVA/drQNg :2020/03/01(日) 18:42:38 ID:zM73AfEv.net
https://www.hellowork.mhlw.go.jp/kensaku/GECA110010.do?screenId=GECA110010&action=dispDetailBtn&kJNo=1301023906401&kJKbn=1&jGSHNo=Yl0LGUJlwstE%2F%2BqkjXcR2Q%3D%3D&fullPart=1&iNFTeikyoRiyoDtiID=&kSNo=&newArrived=&tatZngy=1&shogaiKbn=0
職種
Delphiプログラマー(PG)
仕事内容
(業務内容)以下の開発を行います。

(例)
・業務パッケージ製品の開発
・業務システム開発
・C/S系システム開発

OS:windows
DB:oracle

※Delphiの知識

972 :デフォルトの名無しさん:2020/03/01(日) 18:46:43 ID:wt4aL9gq.net
>>971
東京はとおいよ〜

973 :デフォルトの名無しさん:2020/03/02(月) 11:22:02.02 ID:glnmwhpK.net
東京は人が多いだけで済みにくい
感染しやすい
土地高い
物価高い
タクシー止まらない

974 :デフォルトの名無しさん:2020/03/03(火) 20:00:31 ID:ottIIFYY.net
>タクシー止まらない
雨の日とかは別だけどこれはないんじゃないか
むしろ地方のほうが流しとかないから駅前か呼び出しだろ

975 :デフォルトの名無しさん:2020/03/03(火) 22:12:22.77 ID:lgJdJP/z.net
タクシーも客を選ぶからね

976 :デフォルトの名無しさん:2020/03/04(水) 06:28:10.42 ID:+a0OpeoU.net
10.3.3のGetItでCodeSiteがインストールできない…
どうすりゃいいの?
https://i.imgur.com/T8TQIEN.jpg

977 :デフォルトの名無しさん:2020/03/04(水) 10:27:13 ID:hHbt2ovK.net
>>974
地方だと「タクシー通らない」だな

>>975
わろす

978 :デフォルトの名無しさん:2020/03/05(木) 20:49:33.10 ID:qVbpyIXi.net
FMXでDebugHookを使うと
「特定のプラットフォームに固有」と出るんだけど
特定のプラットフォームってWindows以外でどれ?

検索するとMacOSではダメだったって

979 :デフォルトの名無しさん:2020/03/06(金) 23:16:35 ID:i1sIlXFK.net
質問です。Delphi 2007からアップデートしなくても、新しい技術を使っていなければ、
たいていWindows 10できちんと動きますよね?
(2009以降の文字列まわりが理解できていません)
Delphi 2007からアップデートする場合、Delphi 2009にしてから、新しいものにした方がいいんでしたっけ?
それとも直接10.3とかに読み込んでもいいんでしたっけ?

980 :デフォルトの名無しさん:2020/03/07(土) 00:48:31 ID:GTOLdhcV.net
Windows10なら全部同じと思うような馬鹿は死ねよ

981 :デフォルトの名無しさん:2020/03/07(土) 00:49:34.19 ID:c6Inby5m.net
>>979
使う命令時代ですね
delphi5で作ったものも
普通にwindow10で動きますよ

982 :デフォルトの名無しさん:2020/03/07(土) 08:57:40 ID:qF4QD93A.net
Delphi6はwin10にインストールすら拒否されたが

983 :デフォルトの名無しさん:2020/03/07(土) 09:14:59.31 ID:Uy9cEyCw.net
はぁ? Win10にD6入れて何台も使っているぞ

984 :978:2020/03/07(土) 10:30:17.09 ID:u9TLT7km.net
みなさんありがとうございます。
私の範囲では使えそうなので安心しました。さすがDelphiですね。

985 :デフォルトの名無しさん:2020/03/07(土) 10:47:40.54 ID:fhFabl+2.net
さすがDelphiと言うより、さすがWindowsでは?

986 :デフォルトの名無しさん:2020/03/07(土) 12:32:37.05 ID:3ScJp+cW.net
新しい技術つかってないから動かない場合もあるだろうけどねAPIとか
何もしなくても動くなんてHelloWorldのサンプルぐらいじゃないか

987 :デフォルトの名無しさん:2020/03/07(土) 13:40:58 ID:mdASUqdC.net
>>984
馬鹿は死ね

988 :デフォルトの名無しさん:2020/03/07(土) 15:43:00 ID:vg1Dq2A8.net
app tetheringがまったく動かないんだが
付属やネット上のサンプルのどれもダメだった
firwall関係かねぇ

ただWidowsのクリップボードを監視して
macのクリップボードにコピーしたいだけなんだが

989 :デフォルトの名無しさん:2020/03/07(土) 17:09:27 ID:u9TLT7km.net
>>985 昔からDelphiはWindowsであれば環境によらず動いてくれるという印象があったもので。。。
>>987 たしかに私はDelphi 2009以降の文字列の扱いを覚えようとしないバカかもしれません。
私だってこれからたくさんDelphi使うなら覚えますが、昔のプログラムのメンテしか使う予定がないですし2007までのライセンスしかないので。

990 :デフォルトの名無しさん:2020/03/07(土) 17:34:39 ID:u9TLT7km.net
10.3のCommunity Editionのライセンス条項を見たら、他の収入と合わせて$5000を超えてたら除外されるっていう理解で正しいですか?
さすがに他の収入と合わせて$5000を超えてなかったら食べていけません。
数年前のCommunity Editionのときはもっとゆるかった記憶があります。

991 :デフォルトの名無しさん:2020/03/07(土) 18:37:25.19 ID:RZgTMQsN.net
Embarcaderoからメール来た
C++2017の電子本が無料らしい

992 :デフォルトの名無しさん:2020/03/07(土) 19:42:10.94 ID:FYTe5U5h.net
>>989
そうじゃない
Windows10と一括りにしてることを馬鹿だと指摘してる

993 :デフォルトの名無しさん:2020/03/08(日) 02:41:14.63 ID:uqevG+QX.net
>>992
元の978呼んだが、そこに引っかかるとはww
しかも質問スレで質問しただけなのに何度も「死ね」はないだろ

994 :デフォルトの名無しさん:2020/03/08(日) 11:08:58 ID:XCaBTWjM.net
usesにDGCarad9ってのがあって
DirectX9使えるようにした個人の奴だけどサイトが無かった・・・
使用許諾にもメルアド登録済みになってるしパスワードわからんし
やっぱりいろいろめんどくさくて使えねー

995 :デフォルトの名無しさん:2020/03/08(日) 14:04:12 ID:Ks5q/7ma.net
まぁ日本じゃMVPがあのレベルのソフトを公開して悦に入ってるだけだからな
まったく恥ずかしくないのかと思うよ・・・

996 :デフォルトの名無しさん:2020/03/10(火) 08:06:10.34 ID:KnD7ZfFa.net
個人攻撃は見苦しい。自分は匿名で卑怯。

997 :デフォルトの名無しさん:2020/03/10(火) 08:16:12.87 ID:KnD7ZfFa.net
>>990
英語のライセンス条項を見たが、その理解で正しいと思う。
前のCommunity EditionではWin32限定でそのときはもっとライセンス条項がゆるかったが、今は機能限定が少しだけになって、使える人の範囲が狭くなった。
学生や定年後の老人や専業主婦が対象といったところか。

998 :デフォルトの名無しさん:2020/03/10(火) 21:13:43 ID:iMwptZU/.net
まぁ、彼はちょっと違うの事実だな。最近ではクソアプリ?のadvent calenderで一番手ではりきって一人でニヤニヤしたんだろうな...

999 :デフォルトの名無しさん:2020/03/11(水) 01:04:28 ID:zwwCe0yv.net
なんで1000盗り合戦とか意味の無いことで盛り上がってたのかね

1000 :デフォルトの名無しさん:2020/03/11(水) 04:51:18.53 ID:0ChhyzeV.net
999なら俺はいつか死ぬ

1001 :デフォルトの名無しさん:2020/03/11(水) 05:24:58.54 ID:e34vXhFj.net
将来性はないかもしれないがwindows上でならまだまだ使える言語だね

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1002
279 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★