◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net ->画像>5枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1476332514/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2016/10/13(木) 13:21:54.84ID:7i5E+q2+
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)のライセンス取得とダウンロードが可能。(アカデミック不可)
http://www.embarcadero.com/jp/products/delphi

■Delphi XE6 Starter エディション
個人/5人以下の企業・組織向け。年間売上1000US$以内の商用開発可。
(※)Delphi、Visual Studio等の有償/無償の開発ツールユーザーが対象。インストール確認は特に行わない。
http://www.embarcadero.com/jp/products/delphi/starter

■Embarcadero RAD Studio XE6 (Delphi、C++Builder、HTML5 Builder等を含むビジュアル開発スイート)
http://www.embarcadero.com/jp/products/rad-studio

<前スレ>
くだすれDelphi(超初心者用)その56
http://echo.2ch.net/test/read.cgi/tech/1405783063/

<過去スレ>
DelWiki (Delphi 関連の過去スレッド)※行方不明
http://delwiki.info/?
2デフォルトの名無しさん
2016/10/13(木) 13:27:38.39ID:rxboVzG1
クソスレ乙
3デフォルトの名無しさん
2016/10/13(木) 13:43:32.62ID:7i5E+q2+
無料版の名称は Delphi 10 Starter Edition に変わっていたわ。
4デフォルトの名無しさん
2016/10/15(土) 06:07:00.29ID:b/Ix7y8Q
stringのポインタを引数で使う時って何で@straaa[1]みたいに[1]をつけるの?
5デフォルトの名無しさん
2016/10/15(土) 06:41:31.92ID:sr5ZMjEJ
PChar(straaa) じゃだめなん?
Hint: 空文字列の扱い
6デフォルトの名無しさん
2016/10/15(土) 08:01:16.21ID:Wck8f7HF
>>4
今はAnsiStringなら>5でOK。
ShortStringだとstraaaa[0]に長さが入ってるので
@straaa だけだと PChar と互換性ないから
7デフォルトの名無しさん
2016/10/17(月) 13:18:21.20ID:WrWXzKVd
>>5,6
ありがとう。
調べるワードありがとう
8デフォルトの名無しさん
2016/10/17(月) 22:03:38.40ID:u9f1SlFV
有料版買えばandroidで動くプログラムをDelphiで作れるの?
Indyみたいなhttpコンポーネントって使えるのだろうか?
9デフォルトの名無しさん
2016/10/17(月) 22:24:59.98ID:DkHWfezI
>有料版買えばandroidで動くプログラムをDelphiで作れるの?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
Starterでモバイルパックつかえなきゃ、Pro版も買わないといけんと。
>Indyみたいなhttpコンポーネントって使えるのだろうか?
Indy使わなくても最新のにはhttpのクライアントライブラリ含まれてるからそれ使えば?
10デフォルトの名無しさん
2016/10/17(月) 22:41:43.85ID:PmRH05Ee
cとかc++のenumって、Delphiの列挙型ということでいい?
集合とは違うんだよね?
11デフォルトの名無しさん
2016/10/17(月) 22:42:37.41ID:DkHWfezI
そりゃ、Delphiの列挙の方でしょ
12デフォルトの名無しさん
2016/10/17(月) 23:10:18.46ID:6Picysvx
ありがとう
13デフォルトの名無しさん
2016/10/19(水) 10:47:08.64ID:4tgALgAo
ライトみたいに光る質感のコンポってありますか?
14デフォルトの名無しさん
2016/10/22(土) 10:30:31.92ID:VBuj+teK
tabsheetの色を変えられるようにしたんだけど、clBtnFaceを指定しても白くなるんですけど何故でしょうか?
他の色は反映されます。
Delphi10.1Berlinを使っています。
15デフォルトの名無しさん
2016/10/22(土) 10:35:27.82ID:VBuj+teK
バカみたいな質問をしてしまいました。
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?
16デフォルトの名無しさん
2016/10/22(土) 10:58:32.88ID:OrToTiIL
>>15
テーマが関係してるんじゃなかったっけ
17デフォルトの名無しさん
2016/10/22(土) 11:01:18.05ID:AS0AO2zF
>>15
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?
18デフォルトの名無しさん
2016/10/22(土) 11:34:02.15ID:VBuj+teK
ありがとうございます。
と言ってもどうしていいか分からないのでパネル貼ります。w
19デフォルトの名無しさん
2016/10/23(日) 10:04:04.33ID:FT6Wwhog
昔Del7で作ったExcelを操作するプログラムを、Berlinで作り直したいんだけど今だとFirerDacを使うんですか?
取り敢えずやりたいことは、xlsxをcsvに変換したいだけなので簡単な方法があったら教えて下さい。
20デフォルトの名無しさん
2016/10/23(日) 10:46:21.34ID:CGzeXgZh
ole
21デフォルトの名無しさん
2016/10/23(日) 13:40:03.44ID:MP5NXD0l
今まで 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.96ID:gusT9oXO
>>21
propertyのGridLinesじゃないのか?
Delphi 10.1動かしてないから適当やけどw
23デフォルトの名無しさん
2016/10/23(日) 15:14:16.61ID:MP5NXD0l
>>22
GridLines は False です。
試しに True にしても同じように 2pixel の区切り線が出ます。
他の人の環境では出ないのでしょうか?
24デフォルトの名無しさん
2016/10/23(日) 15:28:26.85ID:MP5NXD0l
参考画像です。
http://fast-uploader.com/file/7032759494826/
25デフォルトの名無しさん
2016/10/23(日) 16:44:38.74ID:kZkGsd/R
ちょっと教えてください

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

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

似た質問はあったんですが、回答がない...
http://okwave.jp/qa/q1942763.html
26デフォルトの名無しさん
2016/10/23(日) 16:54:42.26ID:CGzeXgZh
http://www.chrysocome.net/download
dd のソース見れ
27デフォルトの名無しさん
2016/10/23(日) 18:18:46.84ID:j9LNItD5
cd-romだとWin32_CDROMDriveが使える
28デフォルトの名無しさん
2016/10/23(日) 20:00:40.26ID:kZkGsd/R
ありがとうございました。
DelphiでWin32_CDROMDriveの使用例がありました。
29デフォルトの名無しさん
2016/10/24(月) 02:18:05.54ID:Pol9g+IM
>>21 >>24
10.1 Starter で再現したことだけ報告しておきます。
3019
2016/10/24(月) 11:23:45.88ID:V1HEhUaE
>>20
ありがとうございます。

delphiは久々なのでググりまくってる最中なんですが
Excelのコンポーネントとか有ったと思うんだけど今は無くなった?
悩んでてもしょうがないのでXRAYさんのサイト見ながらやってみます。
31デフォルトの名無しさん
2016/10/24(月) 11:46:44.14ID:/o9Bzib3
>>30
Excelのタイプライブラリ取り込めばおk

もしくはFlexcel買うか
3219
2016/10/24(月) 12:20:49.82ID:V1HEhUaE
>>31
>Excelのタイプライブラリ取り込めばおk
おぉ、そんなのありましたね。
一気に進めそうです。
ありがとうございます。
3319
2016/10/25(火) 23:13:37.93ID:PC8b9+iO
oleコンテナだけでExcelのブックを表示できました。
昔とは違うんですね。
ただ、Excel本体も立ち上がってくるのですが、Excelは立ち上げずにブックを弄るにはどうしたらいいでしょうか?
34デフォルトの名無しさん
2016/10/25(火) 23:23:00.70ID:9oSj5Tvc
Visisbleプロパティみたいのなかったっけ?
35デフォルトの名無しさん
2016/10/25(火) 23:25:41.18ID:9oSj5Tvc
s多すぎた
3619
2016/10/26(水) 00:18:32.99ID:5VsTRTiY
>>34
ありがとうございます。
試してみます。
37デフォルトの名無しさん
2016/10/26(水) 01:12:16.61ID:DnQDMwJL
>>36
当然だけどExcel入ってない環境では動かないからね
38デフォルトの名無しさん
2016/10/26(水) 12:57:47.98ID:6SHMskVi
>Excelは立ち上げずに

って書いてあるのにVisible薦める香具師ってなんなの
39デフォルトの名無しさん
2016/10/26(水) 12:59:55.89ID:yTRH6Fig
立ち上げずにコンテナになれるわけないことを暗に示しただけやない?
40デフォルトの名無しさん
2016/10/28(金) 04:03:53.32ID:Jy3/QgVN
新しいDelpiのフォームの位置をドラッグで移動できないな???

どうして?
41デフォルトの名無しさん
2016/10/30(日) 03:41:18.12ID:5WyC57Kn
>>40
「デフォルトレイアウト」から「クラシック(ドッキングなし)」に変えたら
Delphi7のような画面レイアウトになるけど、お望みの回答かどうかはわからない。
42デフォルトの名無しさん
2016/10/30(日) 08:46:34.99ID:GMyWViLu
丸が幾つか描かれているbitmapがあるとして特定の丸の色を変えたいと思い、
丸の上にshapeの丸を置いて対応しました。
このbitmap上の丸とshapeをきっちり対応させる方法ってないですか?
bitmapの大きさ変えたりスクロールさせた時にshapeも追従させたいのですが。
43デフォルトの名無しさん
2016/10/30(日) 12:44:13.74ID:+fHRwEF9
>>42
丸を違う色でを塗りつぶすか
違う色で丸を再描画するとかダメ?
4442
2016/10/30(日) 13:14:20.67ID:VzVr3D3G
>>43
説明不足ですみません。
ビットマップの画像ファイルを貼り付けた状態と言うことでした。
45デフォルトの名無しさん
2016/10/30(日) 15:20:00.36ID:+fHRwEF9
>>44
じゃ、ビットマップ内の円を直接塗りつぶすのがいいよ?

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

Shapeを使う必然性があるんだったら別だけどね
4642
2016/10/31(月) 20:22:37.53ID:I4hSi9OL
>>45
ありがとう!!
出来ました、
47デフォルトの名無しさん
2016/11/01(火) 14:44:48.26ID:aPCKG/Vh
Delphi10のインストーラーが一瞬立ち上がってすぐ終了してしまうのですが原因がわかる方いませんか?
サポートサイトを見てもレジストリを触る事しか見当たりません。
どなたかよろしくお願いします。
48デフォルトの名無しさん
2016/11/01(火) 15:13:15.36ID:p35VuLBk
パソコンが壊れとる
49デフォルトの名無しさん
2016/11/01(火) 17:44:57.98ID:wawt2m9n
まずはdependencywalkerとか
あとウィルスチェックソフト止めるとか
ファイアウォール開いてみるとか
50デフォルトの名無しさん
2016/11/01(火) 18:11:10.46ID:MBBNR+y9
お客様にエスパーの方はいらっしゃりませんかー(棒
51デフォルトの名無しさん
2016/11/01(火) 18:13:18.08ID:by7jiIas
馬鹿には無理
52デフォルトの名無しさん
2016/11/03(木) 13:26:56.03ID:2mKhPyDG
符号付きのダブルワードとか言うデータを扱う事になったんだけど、普通に数値が相手から送られて来ると思ったら
16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけどプロの人はどうやってるの?

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

Delphiって16進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?
53デフォルトの名無しさん
2016/11/03(木) 13:32:53.30ID:6FeMk1RE
16bitでわかれるって
65535,65535
っていう意味?
だったら
0xffff,0xffff
で1dwordだから
リトルエンディアンなら
(dword)((a[0]<<16) | a[1])
で済むはず
54デフォルトの名無しさん
2016/11/03(木) 13:33:58.48ID:6FeMk1RE
ああ逆ω
(dword)((a[1]<<16) | a[0])
55デフォルトの名無しさん
2016/11/03(木) 13:41:15.66ID:2mKhPyDG
早速、ありがとうございます!!
式の意味がわからないw
調べ倒します。

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

また、分からないことがあったら宜しくお願いします。
56デフォルトの名無しさん
2016/11/03(木) 16:09:43.66ID:nO9s2Og+
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.86ID:KRq5Cur1
こういうあほと仕事したくないな
5853
2016/11/03(木) 18:24:42.65ID:2mKhPyDG
やってみたらあっさりできました。
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?
59デフォルトの名無しさん
2016/11/03(木) 18:32:31.39ID:Vzj8eJlj
>Delphiが内部で勝手にやってくれる

その認識はおかしい

「Delphiは何もしない」が正しい
6053
2016/11/03(木) 19:10:20.41ID:2mKhPyDG
>>59
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?
61デフォルトの名無しさん
2016/11/03(木) 19:18:10.90ID:KRq5Cur1
+ b でも良いかも知れないが or b の方が良くね
62デフォルトの名無しさん
2016/11/03(木) 19:21:51.74ID:cIZsGa0I
符号付きのDWORDって4バイトの整数とは違うの?
63デフォルトの名無しさん
2016/11/03(木) 19:44:23.50ID:ieIIzjtH
DWORDというかWORDが符号なし整数値やろ
BYTEはunsigned char
WORDはunsigned short
DWORDはunsigned long
UINTはunsigned int
いずれも符号なし整数
64デフォルトの名無しさん
2016/11/03(木) 20:02:43.66ID:URbOgVYK
DWORDは符号なしだけど
送られてくるデータはDWORDだけど符号を扱うっつってんだから
普通に中身はintだろ
intにキャストすれば万事OK
65デフォルトの名無しさん
2016/11/03(木) 21:13:18.27ID:iYejUQc8
曖昧すぎるんだ

>普通に数値が相手から送られて来ると思ったら
>16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけど
66デフォルトの名無しさん
2016/11/05(土) 12:52:45.83ID:edcXpxnV
>>60
同じ数値型変数でも a の型を変えてビット数や符号付きかどうかが変わると結果も変わる。
6753
2016/11/06(日) 00:10:46.65ID:EC/gao/y
>>66
仰る意味が分かりました。
符号付き16BitのデータをLongに入れるとマイナスが判断されず16Bitのプラス値が入る。
Smallintに入れるとマイナスを認識する。
と言う事で、扱うデータにあった型の変数に代入する、
もしくはデータの符号の位置が変数の左端に入るように
シフトさせるとプラマイを勝手に判断してくれると言う事で良いでしょか?
68デフォルトの名無しさん
2016/11/06(日) 04:28:48.06ID:nNdE2u+1
>>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.09ID:j4rRKkND
コンピューター工学
ASM
2の補数
・・・・いろいろ学ばないと分からないかも
一番いいのは痛い目食わないと覚えられないかも
趣味なら?
70デフォルトの名無しさん
2016/11/06(日) 09:31:18.68ID:rGVVvSQ9
>>68
結果がたまたま合ってるが過程がめちゃくちゃの典型的な悪文
71デフォルトの名無しさん
2016/11/07(月) 02:58:59.60ID:k8MgRjfU
じゃあおまえが書けよ
72デフォルトの名無しさん
2016/11/07(月) 07:51:58.89ID:MiZ0k8Uw
わしもそう思う
しかし、理解すべきは、型の互換性や代入の互換性についての処理系の決め事であって、
動作原理やらは趣味の領域。
73デフォルトの名無しさん
2016/11/07(月) 11:31:55.07ID:VvMqHJ76
変数の宣言で符号有り、無しのどちらの宣言しても
キャストでどうとでもなるから、くよくよするな
var
i : LongInt;

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


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

よろしくお願いします
76デフォルトの名無しさん
2016/11/09(水) 16:14:12.62ID:i2gLSeC7
済みませんもう一点ありました
グループではなくページの小計を印刷したいのですが、ページフッターだと明細行と離れて印刷されてしまいます
何かいい方法は無いでしょうか
77デフォルトの名無しさん
2016/11/18(金) 05:32:26.95ID:mITFokzs
仮想のイーサネットインターフェース(NIC)の作り方って知りませんか?
linuxだと簡単にできるらしいけど、windowsでできるコンポとかコマンドとかないのかな?
78デフォルトの名無しさん
2016/11/18(金) 16:27:06.42ID:vbdBJsNN
softetherみたいなの?
79デフォルトの名無しさん
2016/11/18(金) 17:38:12.72ID:mITFokzs
そういうのいじってみたい
仮想NICというかループバックていうのはMS純正でできるのが分かった
80デフォルトの名無しさん
2016/11/18(金) 19:29:30.81ID:e+81aozX
ソース公開されてるだろ
81デフォルトの名無しさん
2016/11/20(日) 12:26:46.05ID:n8KZIrdr
https://www.embarcadero.com/products/rad-studio/features
RAD Studioの体験版ってDelphi XE2と共存できる?
体験版試して環境壊したら面倒だから躊躇してる
買うなら完全上書きで移行でも良いんだけど
xamarinみたいにハマるならやめたい
82デフォルトの名無しさん
2016/11/20(日) 12:33:25.79ID:omU4WGo2
canvasやcaptionを持ってないコントロール上に文字描こうと思ったら、LABELを被せるのが一番簡単?
83デフォルトの名無しさん
2016/11/20(日) 12:37:35.32ID:sLB4mNYr
そりゃ、ポトペタしてプロパティ変更するだけだから、10秒で終わるし。
84デフォルトの名無しさん
2016/11/21(月) 02:06:39.96ID:9bjfwpvu
動的に沢山作ったコントロールの破棄方法を教えて下さい。
作っ時にTLISTに入れておいて、破棄する時にリストから引っ張り出してfreeでいいですか?
85デフォルトの名無しさん
2016/11/21(月) 06:45:32.74ID:6Naumri0
TObjectListに入れておけば、リストをクリアするだけでOK
86デフォルトの名無しさん
2016/11/21(月) 08:34:01.10ID:3YAs2dXK
>>81
XE2とは共存できる。
10.1Berlinの他のグレードとは共存できない。
87デフォルトの名無しさん
2016/11/21(月) 08:43:29.76ID:sE1stBxO
>>85
ありがとうございます!
88デフォルトの名無しさん
2016/11/21(月) 23:48:31.13ID:eSdu1Qd7
>>86
ありがとう!入れてみてすんなりスマホアプリ作れたら買おうっと
89デフォルトの名無しさん
2016/11/22(火) 11:23:52.32ID:J8mgYJIF
16万かー 高すぎる
昔の4万位ならまた買いたいと思っていたのに、これじゃ無理だわ
C#ならタダだから、こっちで我慢する
90デフォルトの名無しさん
2016/11/22(火) 13:02:30.45ID:d73nUv9a
すごく初歩な事だと思うんだけど、フォームを最大にした状態でコントロールを配置するにはどうしたら良いですか?
91デフォルトの名無しさん
2016/11/22(火) 13:11:22.55ID:qW+6ZAFd
えっ?
92デフォルトの名無しさん
2016/11/22(火) 16:00:58.51ID:d73nUv9a
フォームデザイナは消せない?
フォームデザイナの中で少なからずスクロールさせるのがうざくて。
93デフォルトの名無しさん
2016/11/22(火) 16:20:11.79ID:Pvp5yOqg
もっと大きいディスプレイを使う
94デフォルトの名無しさん
2016/11/22(火) 17:14:24.12ID:d73nUv9a
えっ?そう言う事じゃないw
95デフォルトの名無しさん
2016/11/22(火) 18:10:29.79ID:kKFxgFqP
コンポーネントパレットのコンポーネントをダブルクリックすればいいんじゃね。
96デフォルトの名無しさん
2016/11/22(火) 18:15:01.08ID:jjDYJ6Bv
最大化した状態を想定してコントロールを配置したい?
...ということでもなよね
97デフォルトの名無しさん
2016/11/22(火) 20:43:49.84ID:d73nUv9a
>>96
そう言う事です。
俺、相当変なこと聞いてる?
98デフォルトの名無しさん
2016/11/22(火) 20:54:34.84ID:1EZz+VvR
フォームのサイズに追随するように作るから
わざわざ最大化で考えたりしない
99デフォルトの名無しさん
2016/11/22(火) 21:23:29.12ID:jjDYJ6Bv
>>97
自分だけが使うんだったら、最大化を想定して
コントロールの絶対位置を決めることもありだけどね

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

まあコントロールのAlignでフォームサイズに
追随するだけでいいなら簡単だけど...
100デフォルトの名無しさん
2016/11/22(火) 22:15:22.90ID:d73nUv9a
>>98,99
ありがとうございます。
大きなディスプレイ使います。w
101デフォルトの名無しさん
2016/11/22(火) 23:16:57.50ID:qW+6ZAFd
ふーん
102デフォルトの名無しさん
2016/11/23(水) 13:06:18.51ID:tPiPFLaf
>>100
4Kディスプレイを買うのかな?
103デフォルトの名無しさん
2016/11/23(水) 13:16:56.95ID:wddBimUU
4Kディスプレイはプログラミングする上で非常に作業性が高まって
生産能力が跳ね上がるからアリだな
たくさんの資料と開くのはマルチディスプレイでも出来なくないけど
4Kディスプレイは縦が長いのが素晴らしい

一つ問題があるとしたら
自分のソフトを4Kディスプレイで最大化したら
描画が追い付かなくなってカクカクになるという事実に気づいてしまうこと
ただし、MS謹製のエクスプローラでもカクカクになるぐらいなので
本当の意味で4K対応のソフトはそんなに多くないし
気にしなくてもよいのかもしれんが、どーなんだろ
アンチエイリアスのかかった文字の描画がとにかく遅い
1FPSぐらいになって操作困難だ
104デフォルトの名無しさん
2016/11/23(水) 14:35:16.76ID:XEgR0M7V
k-ブルが糞なんじゃね
105デフォルトの名無しさん
2016/11/24(木) 21:31:04.24ID:EbGC2MML
サブスクリプションって、アップデート2をインスコすれば
勝手にライセンス適用してくれるの?
106デフォルトの名無しさん
2016/11/26(土) 08:53:16.82ID:SyGP2pYs
フォームに入力した数値を保存する方法を教えてください。
107デフォルトの名無しさん
2016/11/26(土) 10:20:52.50ID:RLaeAJYk
>>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.40ID:SyGP2pYs
ありがとうございます。
ちょっとやってみます。
109デフォルトの名無しさん
2016/11/26(土) 23:59:22.61ID:+C/v9Yiv
TFile使ったら1行で書けるかも
110デフォルトの名無しさん
2016/11/27(日) 21:47:18.22ID:G948Ts5Y
TEdit.Lines自体がTStringsだからSaveToFile持ってるんじゃなかったかな
111107
2016/11/27(日) 22:12:21.76ID:Vd8hDN3e
昔のDelphiしかないので最近のはわかりません、あしからず。
昔のでもメモコンポならLines.SaveToFile(ファイル名)できますね。
112デフォルトの名無しさん
2016/11/28(月) 01:18:24.55ID:uacaeDTN
TEditにLinesプロパティってなくね?
113デフォルトの名無しさん
2016/11/28(月) 13:10:31.06ID:/4N3P5Kl
TEditにはLinesはないね
もともと1行編集ボックスだからね

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

まあ後者のほうが簡単だけど
114デフォルトの名無しさん
2016/11/28(月) 22:30:06.28ID:4Blidc3O
TFileってのは最近できたのか
TFileStreamとは別物なんだな?
115デフォルトの名無しさん
2016/11/29(火) 05:29:51.70ID:W5POPsuB
TFile はDelphi2010からだって
TFileStreamとは別物
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TFile
System.IOUtils自体が2010からの追加らしい
116デフォルトの名無しさん
2016/11/29(火) 11:14:31.26ID:Ln/aQe4r
パスワードがかかっているExcelファイルを開ける時にパスワードを入れる方法を教えて下さい。
delphi からパスワード無しファイルを操作する事は出来ています。
117デフォルトの名無しさん
2016/11/30(水) 09:51:10.70ID:YyN+WuPe
>>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.26ID:D32vS8+n
D6の使用許諾コードって今でも都連だね 知らなかったわ
119デフォルトの名無しさん
2016/12/02(金) 19:55:58.69ID:DITubkqg
なぜに今さらD6?
新しいの無料になってなかったっけ
120デフォルトの名無しさん
2016/12/02(金) 23:02:38.10ID:p/xrLFXH
RXバグだらけで使いづらいよ
121デフォルトの名無しさん
2016/12/02(金) 23:39:57.49ID:LMsZph5A
具体的にどんなバグ?
122デフォルトの名無しさん
2016/12/03(土) 09:26:01.40ID:lQCz0lUj
ボタンの色の変更ってTButtonから派生させて改造しないとダメ?
123デフォルトの名無しさん
2016/12/04(日) 00:23:15.66ID:VbxK6ZGr
結局どんなバグがあったんだろう
124デフォルトの名無しさん
2016/12/04(日) 00:50:42.52ID:Zv4y5DXv
こんなバグ
http://gigazine.net/news/20161201-windows-10-upgrade-bitlocker-bypass/
125デフォルトの名無しさん
2016/12/04(日) 01:14:11.69ID:VbxK6ZGr
WindowsのバグとRadStudioになんの関係が?
126デフォルトの名無しさん
2016/12/04(日) 20:23:52.39ID:DHDwgClI
7以降アップデートしてないんだけど
すると良いことある?
127デフォルトの名無しさん
2016/12/05(月) 16:25:17.26ID:dF177W8B
人に依る
128デフォルトの名無しさん
2016/12/05(月) 20:51:09.49ID:u75Tu5Z4
ユニコード対応がなんたらうんたら
129デフォルトの名無しさん
2016/12/05(月) 22:36:44.05ID:Yjl942ym
Delphi2.0 の高速コンパイルは素晴らしかった
130デフォルトの名無しさん
2016/12/05(月) 22:44:55.05ID:FaC7RcWw
>>128
Unicode対応なんだ・・・TNTいらなくなるのか
これだけでも少し便利そうだな・・ありがと考えてみる
131デフォルトの名無しさん
2016/12/05(月) 23:11:20.14ID:3xjBziHl
新機能使わなきゃそりゃあってもしょうがないけど、
さすがに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.75ID:cx3pcX82
コードエディタの進化は効率アップにもなるしやっぱ良いよ
133デフォルトの名無しさん
2016/12/06(火) 18:04:09.67ID:GBHXmuqR
Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。
今、バーコード入力するソフトを書いているのですが、担当者をComboboxで選択していないと
EditをクリアしてShowMessageを表示するつもりです。
EditをクリアしてMessageを出す事自体は出来ているのですが、バーコードから送られるデータの
最後にCRがついてきて(バーコードリーダーが付けてきます。)、多分このCRがShowMessageに
送られてShowMessageが勝手に消えてしまうようなのです。
イベントはKeyPressを使っています。
Windows7 Delphi10.1の環境です。
よろしくお願いします
134デフォルトの名無しさん
2016/12/06(火) 18:16:56.25ID:B1jaM3TV
何がききたいのかようわからん。
135デフォルトの名無しさん
2016/12/06(火) 18:24:00.95ID:B1jaM3TV
「Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。」
後ろにごちゃごちゃよくわからん説明が書いてあるけどこれが聞きたいの?

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

このことじゃなかったらもっと適格に書いてくれんとわからん。
136デフォルトの名無しさん
2016/12/06(火) 19:02:50.65ID:GBHXmuqR
ありがとうございます。
バーコードから送られてくる文字を全てキャンセルしたいのです。
一文字ずつチェックするのではなく、一気に送られて来た文字を消す方法はありませんか?
宜しくお願いします。
137デフォルトの名無しさん
2016/12/06(火) 19:18:11.18ID:BLWAVjyu
>>136
CRって復帰コードのことだろ?
最後にCRがついてくるなら、それが送られてくる最後の文字
なら、それが送られてきたら Key には0入れて Edit.Text := ""; でよかんべ
138デフォルトの名無しさん
2016/12/06(火) 20:03:14.51ID:4bwuxuwQ
こんなんじゃだめなの?

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.30ID:GBHXmuqR
ありがとうございます。
出来ました。
条件に合わなかったら入力したらいけないと変な思い込みをしてました。
助かりました。
140デフォルトの名無しさん
2016/12/07(水) 09:03:33.62ID:gTqL7Hsg
キーバッファw
141デフォルトの名無しさん
2016/12/07(水) 09:09:12.00ID:fnsUACzH
えっ?
142デフォルトの名無しさん
2016/12/07(水) 09:47:59.67ID:7C3MKHBs
ラジオボタンって大きくならない?
143デフォルトの名無しさん
2016/12/07(水) 16:09:50.00ID:1k8Mb6um
できません。

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

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.36ID:G/Oz9Gxc
Berlin update2 のFireMonkeyで
Listbox.Items.Exchangeメソッドが動作しないXE2では動くのに
145デフォルトの名無しさん
2016/12/09(金) 16:34:59.90ID:G3AX0Oay
お前が悪い
146デフォルトの名無しさん
2016/12/10(土) 23:22:51.23ID:KMGjeMy/
質問です
147デフォルトの名無しさん
2016/12/10(土) 23:33:56.35ID:KMGjeMy/
関連付けされてるファイルを起動するのは ShellExecute でできますが
例えば abc.csv ファイルを .txt で関連付けされてるアプリケーションで
開く簡単な方法はあるでしょうか
148デフォルトの名無しさん
2016/12/11(日) 06:10:35.77ID:RsXQTiEs

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

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

149デフォルトの名無しさん
2016/12/11(日) 12:45:00.53ID:DKctrae4
>>147
簡単には無いと思う。
レジストリ開いて関連付け調べてabc.csvを引数にそのプロセスを起動させる。
150デフォルトの名無しさん
2016/12/11(日) 16:52:57.05ID:uXWnPaTO
拡張子に関連付けされた実行ファイル名の取得
http://mrxray.on.coocan.jp/Delphi/plSamples/480_GetFullExePath.htm
151デフォルトの名無しさん
2016/12/11(日) 18:44:37.29ID:IZotsPxu
>>149-150
サンキュー参考になりそう

ちなみに xray さん元気そうでなにより
152デフォルトの名無しさん
2016/12/12(月) 14:28:19.03ID:JuHHFpqe
私はFindExecutable APIで拡張子".txt"のダミーのファイル名を渡して…というところまで考えていたのですが、そのものずばりなAPIがあるのですね。
153デフォルトの名無しさん
2016/12/15(木) 11:41:17.48ID:KMS/yunp
Cのライブラリで
const char *ss[] = {"abc", "def", "xyz", NULL};
を引数として要求するAPIがあるのですがDelphiからは
どうやって定義すればよいでしょう?
154デフォルトの名無しさん
2016/12/15(木) 12:42:40.01ID:jYtTego3
ポインタのポインタ
155デフォルトの名無しさん
2016/12/15(木) 21:30:43.84ID:esnvxFap
array of PChar
156デフォルトの名無しさん
2016/12/16(金) 08:13:11.02ID:khJxMTBU
>>154
>>155
ありがとう。
array of は内部的にはポインタなんですね。上手く動作しました。
157デフォルトの名無しさん
2016/12/16(金) 13:53:20.44ID:bP8vH7ub
 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.71ID:n8JQ6xp/
Fs.Writeの引数の型宣言みろ
159デフォルトの名無しさん
2016/12/16(金) 14:20:04.02ID:bP8vH7ub
 引数は型なしパラメータだから、実際にはパラメータのアドレスが Fs.Write に渡され、
そのアドレスが処理対象になる。つまりそこに必要なサイズのメモリ領域が正しく確保さ
れていれば、その領域がどのような型なのかは関係ないということか。

 結局 Delphi の '静的配列名' はポインタではないんだね。
160デフォルトの名無しさん
2016/12/16(金) 14:32:37.28ID:HmHblg1G
P := Pointer(AI);
161153
2016/12/16(金) 16:08:44.84ID:khJxMTBU
後に誰かの参考になるかもしれないので少し詳しく書いておきます。

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.71ID:n8JQ6xp/
さんざん概出
163153
2016/12/17(土) 10:45:35.06ID:1MhgkvS0
>>162
そうですか。スレ汚し失礼しました。ペコリ
164デフォルトの名無しさん
2016/12/18(日) 18:39:46.50ID:SM4ZDbUW
 TreeView をデザイン時にフォームに貼り付けてできたアプリを終了するとき
 TreeView の各ノードが保持するデータ(TreeView1.Items[n].data が保持しているデータ)
も自動的に廃棄されるのですか?
165デフォルトの名無しさん
2016/12/18(日) 18:51:06.13ID:U6l2OwGO
>>164
TTreeNode::Data が保持するデータはプログラマが明示的に破棄しないとダメ。
166デフォルトの名無しさん
2016/12/18(日) 20:05:19.93ID:SM4ZDbUW
>>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.63ID:U6l2OwGO
>>166
そんな感じ。
168デフォルトの名無しさん
2016/12/20(火) 23:16:00.88ID:ifPrFvUo
スレッドを使ったプログラムで、スレッド内にある未使用の変数をコメントアウトしたら、
終了する時にアクセスバイオレーションが出るんだけど、こんな事ってあるの?
プライベートに宣言してあるからメインとかが絡んでる事は無いのだけど。
169デフォルトの名無しさん
2016/12/20(火) 23:35:38.32ID:qjg7YQIs
コメントアウトされた変数が確保していたメモリ域のおかげで
偶然アクセス違反が発生しない状態になってるとかじゃね?
要はコメントアウトしていなくてもコーディングミスで不正なメモリアクセスしている状態なのかも
170デフォルトの名無しさん
2016/12/20(火) 23:43:04.81ID:ifPrFvUo
こんな時間にありがとう!
そんな事があり得るんですか。
難しいなぁ。
171デフォルトの名無しさん
2016/12/21(水) 12:39:12.66ID:kCrlwcjM
あり得るというより一番多いパターンだったり
172デフォルトの名無しさん
2016/12/21(水) 14:28:11.26ID:yxrWTbmA
「参照」とポインタの話か? 慣れるまで結構厄介だからな。
173デフォルトの名無しさん
2016/12/21(水) 17:50:14.49ID:69vl5rId
ちょっと教えてください

自分自身(実行ファイル)を再起動する方法を教えてください
ちなみに二重起動を禁止したアプリでです
できれば再起動用の別アプリを使用しないのが理想的です...
174デフォルトの名無しさん
2016/12/21(水) 18:38:54.87ID:3rWlzZt5
>>173
自分自身が起動するときだけ二重起動許可して起動確認できたら自分を閉じる
175デフォルトの名無しさん
2016/12/21(水) 21:13:47.15ID:69vl5rId
>>174
ありがとうございます。
やはりその方向ですか。

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

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

Mutexが取得できるまで待機すればいいですよね
終了待ちをもっと複雑な方法で考えてました
ありがとうございます
178デフォルトの名無しさん
2016/12/22(木) 20:53:24.89ID:GbxNFxpQ
よろしくお願いします。
『レコード型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.19ID:T2mCxqBZ
delphi ジェネリックスでググる
180デフォルトの名無しさん
2016/12/24(土) 05:08:06.07ID:dJj6Jdn2
クラスの継承を使えないか?
レコードのほうに「違い」を押し込んでクラスにして継承して、クラスは共用とできないか?
そもそもクラスとレコードに分ける必要があるのか?
などなど
181デフォルトの名無しさん
2016/12/24(土) 16:48:03.74ID:NvTs06qg
レコード型をクラスのメンバとしてポインタで管理して
そのポインタの実体を操作する仮想メソッドなどを作る。
182デフォルトの名無しさん
2016/12/24(土) 23:24:23.58ID:SRluPO+r
firemonkeyを使ってandroid向けのゲームを作り始めましたが
いきなり躓いて困ってます。

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

firemonkeyでゲームを作る場合はメインスレッドのみで作るのでしょうか。
183デフォルトの名無しさん
2016/12/25(日) 02:11:22.91ID:dFY2jBPw
lockしてもダメ?
184デフォルトの名無しさん
2016/12/25(日) 09:12:26.41ID:LRNNB7e/
DrawGridのセルの色を取得する方法を教えて下さい。
どのセルに何色を塗ったか記憶しているのですか、
もっと簡単に知る方法があると思い質問させてもらいました。
宜しくお願いします。
185デフォルトの名無しさん
2016/12/25(日) 09:56:13.82ID:HB1HITh4
>>182
スレッド側でBitmap描画してからSynchronize使ってメインスレッドのBitmapに転送すれ
186デフォルトの名無しさん
2016/12/25(日) 09:59:02.44ID:BtIm+2Ns
>>183
Delphi6の時はCanvas.Lockがあったと思いますが
今使ってるDelphi10.1ではLockが見つからなくて・・・
187デフォルトの名無しさん
2016/12/25(日) 10:11:02.14ID:BtIm+2Ns
>>185
スレッド側で描画用のBitmapをCreateしてWidth、Heightを設定した段階で
EBitmapSizeTooBigの例外が発生してしまうため、そこまで辿り着けなくて困ってます。
188デフォルトの名無しさん
2016/12/25(日) 10:30:12.14ID:rexwkbDx
例外の種類見る限り、スレッドと関係なさそうに見えるが。
ビットマップが大きすぎるってWidthとHeightをいくつに設定しようとしたの?
189デフォルトの名無しさん
2016/12/25(日) 10:36:40.00ID:BtIm+2Ns
>>188
サイズは350x450なのでたぶん大きすぎることはないと思います。
メインスレッドで動作させた場合は、例外が発生することなく動作するので
メインスレッド以外ではTBitmapは使えないのかと・・・

また、Windowsでは正常に動作してAndroidで動作させると例外が発生するため
Android固有の問題なのかなと思いまして
190デフォルトの名無しさん
2016/12/25(日) 12:33:01.08ID:dFY2jBPw
>>186
map/unmap
191デフォルトの名無しさん
2016/12/25(日) 17:27:44.55ID:HB1HITh4
>>189
AndroidのThreadで発生するってQPに上がってるからVOTEしとけばそのうち治るんじゃないかな
そのうち。
192デフォルトの名無しさん
2016/12/25(日) 17:59:22.97ID:YEQFz9Pa
Delのバグかよ
193デフォルトの名無しさん
2016/12/25(日) 18:04:15.67ID:BtIm+2Ns
>>190
教えていただいたものを使って処理を行ってみましたがダメでした。


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


別スレッドでの処理を諦めてとりあえずメインスレッドで全て行うようにします。
相談に乗っていただいた方々ありがとうございました!
194デフォルトの名無しさん
2016/12/28(水) 09:28:27.13ID:aele3sW5
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.42ID:u9hnImCi
>>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.25ID:IPXAtosy
クラスファンクションなのかそれは?
197194
2017/01/02(月) 12:22:05.25ID:THkmnZCs
>>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.17ID:7Rs/ksIu
>>197
その警告が出るって事はFire Monkeyの方なのか。
だったらそこは元の>>194の命令でいいはず。

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

自分だったらpostmessage
201デフォルトの名無しさん
2017/01/04(水) 23:55:57.26ID:07zJ2hFc
ごめん

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

独自のメッセージを定義して受け取った側でshowするか
showwindow(async)を使うかだね
202デフォルトの名無しさん
2017/01/05(木) 00:45:48.42ID:sWl9IbhJ
>>199
TThread.Synchronizeで、メインスレッドに切り替えてから、引数で渡されたコールバックメソッド(手続き)でサブフォームを表示させるとか
203194
2017/01/05(木) 06:34:16.06ID:KgVZC7r0
>>198
エラーが消えて無事に動きました。
ありがとうございます。

こういうのはIDEが教えてくれるのかと思って
いましたが、有料版だとそういう機能は
あるんでしょうかねー
204デフォルトの名無しさん
2017/01/05(木) 07:19:36.75ID:DrifgVvY
>>203
関数や手続きが定義されていないってエラーが出たときはその関数などのヘルプを見て
そこに書いてあるユニット名が自分のプログラムのuses節に書かれているか調べるといいよ。
205199
2017/01/05(木) 09:38:01.68ID:u8XERnLo
>>200,202
ありがとうございます。
教えてもらった方法を調べながらやってみます。
206デフォルトの名無しさん
2017/01/08(日) 16:20:11.76ID:lAdNqeO/
TShellCtrlコンポーネントって、デモに含まれるものなんだよね なんでVCLに含めなかった??
207デフォルトの名無しさん
2017/01/09(月) 14:24:09.01ID:KdQvIKlc
>>199
Queue関数。
http://www.gesource.jp/weblog/?p=538
208デフォルトの名無しさん
2017/01/10(火) 11:27:52.10ID:D5z5IiVv
マルチスレッドが終了したかどうか確認するのに、フラグで確認してるんだけど、
なんかもっとスマートな方法ってありませんか?
ググったらWaitForが出て来たのですが、hoge.WaitForとしてもハンドルエラーとか出て使えませんでした。
宜しくお願いします。
209デフォルトの名無しさん
2017/01/10(火) 12:33:32.63ID:8tL5nmKS
何があなたのスマートの基準なのか?
フラグは別に悪くないと思うけど。
210デフォルトの名無しさん
2017/01/10(火) 17:34:35.55ID:cSdSlPHe
freeが一番確実じゃない?
211デフォルトの名無しさん
2017/01/10(火) 17:41:03.73ID:9hDOaePS
>>208
hogeってTThread?
そんだったらTThread.FreeOnTerminateをTrueにしてるから、
スレッドが終了してFreeされてるから、ハンドルエラーと出てくるんだろう。
FreeOnTerminiateをFalseにすればOK(そのかわりTThreadの破棄は自分でやる必要がある)。
212デフォルトの名無しさん
2017/01/10(火) 18:11:59.83ID:uT10hEea
終了したか確認するのにWaitForしたら確認じゃなく待機しちゃってダメじゃないのかと思うけど。
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てるので良くないかい?
あとはメインフォームに終了通知としてメッセージ送るとか。
Win32API使うのOKなら FreeOnTerminiate:=false; にして
スレッドハンドルに対して WaitForSingleObject (タイムアウトは0に設定)使い
WAIT_OBJECT_0が返るかWAIT_TIMEOUTが返るか確認する。
もしくはGetExitCodeThread関数を使うとかかな。
213デフォルトの名無しさん
2017/01/10(火) 18:56:40.06ID:XaHxjxQc
そういやスレッドの終わり方の議論が2、3年前にあったな
214デフォルトの名無しさん
2017/01/10(火) 19:15:27.36ID:9hDOaePS
FreeOnTerminateが使えない?とかいう議論じゃなかったっけw
215デフォルトの名無しさん
2017/01/10(火) 21:06:50.37ID:8tL5nmKS
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てる

に賛成。簡単確実。
216デフォルトの名無しさん
2017/01/11(水) 07:54:30.57ID:7+b9GoiT
>>215
そのフラグの排他制御は簡単じゃないよ
217デフォルトの名無しさん
2017/01/11(水) 08:27:35.32ID:7+b9GoiT
ああOnTerminate 内はメインスレッドか。
なら簡単だわ。メンゴ。
昔はOnTerminateイベント無かった希ガス
218208
2017/01/11(水) 08:51:02.04ID:jn+AzvnI
おはようございます。
皆さん、ありがとうございます。
フラグがやはり良さげなんですね。

もう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.30ID:CK/PUOqI
>>218
構文が変だよ

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

>フラグがやはり良さげなんですね。
もうちょっと具体的にスレッド終わった後何したいのかとか書いてくれんと答えようがねぇ。
222デフォルトの名無しさん
2017/01/11(水) 17:34:02.96ID:y79IyYLw
>>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.78ID:tCuecbSb
>>218
>TermineteをTrueにして終了するとfinallyの処理をしてくれません。
どうやって確認したの?
あとTThreadの派生クラスならTerminateはメソッドとTerminatedプロパティが使える。

>stringlistの解放はOnTermineteでするのが普通なのでしょうか?
そんなことはない。
224デフォルトの名無しさん
2017/01/11(水) 18:29:24.22ID:+wq8yOB3
昔昔、QuadrupleDを使ってやってたサウンドの再生を最新のDelphiでやりたいんですが、使えるライブラリを探してます。

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

あるかな…(´・ω・`)
225デフォルトの名無しさん
2017/01/11(水) 21:03:36.27ID:go3Ym2g4
ブレーク入れてね
ステップで見るときブレーク入れないと
見かけ飛ばすから
226デフォルトの名無しさん
2017/01/12(木) 06:31:56.17ID:a5xM53E0
フラグの排他制御は簡単だと思うが。
boolean変数一個なら読み書きは1命令で、割り込まれることはないだろうし
書く前に消されちゃうようなコードを書かなければいいだけ。
227デフォルトの名無しさん
2017/01/12(木) 07:43:07.08ID:pteiZ85t
>>226
きちんとした知識がある人にとっては簡単だよね
228デフォルトの名無しさん
2017/01/13(金) 08:37:54.09ID:ZuNdbFdt
フラグをグローバルやメインフォームなどに
持たせるのはなんか古臭いという気持ちはある
229デフォルトの名無しさん
2017/01/14(土) 13:08:24.40ID:gjFRSJdj
元号変わったらどうすっかな
D7だと対応できんだろ
230デフォルトの名無しさん
2017/01/14(土) 13:25:01.19ID:h3eR+GmF
>>229
元号とか使わないか
自力で変換

OSの機能を使ってるんだったら大丈夫か
ただvistaも今春でサポート終了するけど
231デフォルトの名無しさん
2017/01/17(火) 17:31:21.77ID:O6RaaTFv
Berlin試したみたけど以前ここで言った
gifアニメのバグが解消されてないな
232デフォルトの名無しさん
2017/01/18(水) 13:40:10.70ID:YhLwefSp
string、ansichar、pansicharの型キャストってどうやるの?
暗黙の型キャストの警告を消したいんだけど、ググってstrpcopyとかのサンプルを実行しても消えない。
233デフォルトの名無しさん
2017/01/19(木) 15:50:04.40ID:5UKguDxp
>>232
string(ansistring変数)とかで消えない?
234デフォルトの名無しさん
2017/01/20(金) 09:53:10.19ID:1eiriAuJ
具体的なコードを挙げてみては?
235デフォルトの名無しさん
2017/01/27(金) 12:59:02.17ID:/S2JEwyl
Konopkaコンポーネントのアンインストール方法を教えて下さい。
インストール中に異常終了したのでアンインストールしたいのですが、
アンインストールも途中終了してしまって、行き詰ってしまいました。
よろしくお願いします。
236デフォルトの名無しさん
2017/01/27(金) 14:49:41.44ID:5OkJm/3R
>>235
マイドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaのフォルダと
パブリックのドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaの
リポジトリデータを削除すればよかったと思う。(心配ならバックアップとっといてね)

konopka、インストール失敗するとアンインストールもできなくなるんだよね。
237235
2017/01/27(金) 22:35:47.30ID:/S2JEwyl
>>236
ありがとうございます。
助かりました。
238デフォルトの名無しさん
2017/02/01(水) 09:20:48.68ID:5qzbuLNZ
入力の支援機能で出て来た候補にカーソルを合わせて、
ピリオド打ったら選んだ候補が入力される設定ってどこにありますか?
ベルリンのup2を入れたのですが、最初は良かったのにいつの間にかピリオドで選択されなくなってしまいました。
239デフォルトの名無しさん
2017/02/06(月) 19:05:34.17ID:xOrt0AYX
StringGridのセルをデータの合わせて塗りつぶすことをしています。
タイマーイベントで0.2秒毎にデータに変化がなくても一旦デフォルト色にしてから他の色を塗っています。
そのせいだと思うのですがセルの選択ができません。
セルをランダムに色を塗りつつ、セルの選択もできるようにするにはどうしたらいいでしょうか?
240デフォルトの名無しさん
2017/02/06(月) 20:35:02.64ID:iNTq03fP
おんどろーせる
241デフォルトの名無しさん
2017/02/06(月) 20:38:57.75ID:U9v8FdBr
TSringGridのOnDrawCellイベントの引数で渡されるTGridDrawStateで、選択されたかどうか判断できる。
選択されてないときだけ、色を変更するよろし。
242239
2017/02/06(月) 22:36:47.54ID:xOrt0AYX
>>240.241
ありがとうございます。
まだ、試してませんがどういうコードを書けば良いか案が浮かびました。
243デフォルトの名無しさん
2017/02/07(火) 04:11:46.40ID:odr3U2KT
タイマーで200ミリ秒ずつやってるところが壮絶にまぬけっぽい 小学生以下の知能
244デフォルトの名無しさん
2017/02/07(火) 07:48:29.48ID:uL0lBsbg
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。

Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
245239
2017/02/07(火) 14:14:09.54ID:vf4YiH1/
昨日はありがとうございました。
TSringGridの特定のセルに数値を書き込むのにDrawTextを使って右寄せで書き込んでいます。
この書き込んだ数値を後から取得することってできますか?
セルにHintみたいに埋め込めたら簡単なんですけどググっても分かりませんでした。

>>243
シーケンサーの信号状態を監視するんで手っ取り早くタイマー使ってます。
246デフォルトの名無しさん
2017/02/07(火) 21:01:48.32ID:qgMFF5pP
その「数値」はどこにしまってあるの? それは自分で世話するしかない。
DrawTextは文字列を描画するだけで、何書いたかなんてどこにも覚えていないよ。
247デフォルトの名無しさん
2017/02/07(火) 22:53:48.58ID:GEF3mu7C
StringGridなんだから、Cellsプロパティを通して、文字列として各セルにでも入れときゃいいんでね?(ハナホジ
248デフォルトの名無しさん
2017/02/08(水) 07:16:05.46ID:3kd0dWw+
>>245
格納するオブジェクトも実装したらいいんじゃ
249デフォルトの名無しさん
2017/02/12(日) 16:38:05.20ID:iYdKWxWq
整数ならcellのobjects(だったっけかな)に入れときゃ良いじゃん
250デフォルトの名無しさん
2017/02/26(日) 22:21:06.30ID:S5w82ICF
vs2015アンインスコしたらDel10.1でコンパイルできなくなった。
Del再インスコするしかない?
251デフォルトの名無しさん
2017/02/26(日) 22:23:37.25ID:8hwVjJWR
環境変数消されてるとか?
252デフォルトの名無しさん
2017/02/26(日) 23:37:41.28ID:S5w82ICF
>>251
ありがとうございます。
調べてみます。
253デフォルトの名無しさん
2017/03/14(火) 14:46:39.28ID:SzM2z6wx
スレッド1で変数aの値を読み書きしていてスレッド2では変数aを読み込みしかしない場合って干渉対策って必要?
254デフォルトの名無しさん
2017/03/14(火) 15:58:50.80ID:vbV/Jpv3
うん
255253
2017/03/14(火) 22:26:02.83ID:M7D1b0oM
ありがとうございます。
干渉対策じゃなくて排他処理っていうんですね。
失礼しました。
各スレッドで共有する変数を集めたUnitに変数aを宣言して使っています。
この変数aを複数のスレッドからアクセスする場合、Synchronizeを使うのでしょうか?
SynchronizeはスレッドからVCLを描画する場合に使うと書いてあったので、フラグを立てるとかして
排他処理をするのでしょうか?
256デフォルトの名無しさん
2017/03/14(火) 23:05:45.72ID:137tpMLx
クリティカルセクションでも使えばいい、どっかで
CS := TCricalSection.Create()で作っておいて、

同時にアクセスされたら困るところで
CS.Enter();
try
 共有リソースの変数Aにアクセスなど
finally
 CS.Leave();
end;
257デフォルトの名無しさん
2017/03/14(火) 23:07:46.72ID:137tpMLx
まぁ、他にもSyncObjs.pasにTInterlockedとかあるけど、
そこは自分で頑張ってくれ
258デフォルトの名無しさん
2017/03/15(水) 07:56:13.67ID:OMQXGO2Q
>>255
Synchronize内の処理はメインスレッドでの処理となるから
同時アクセスがありえなくなるということらしいよ
259253
2017/03/16(木) 09:51:28.35ID:IMOOaoXR
皆さん、ありがとうございます。
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
260デフォルトの名無しさん
2017/03/16(木) 17:53:22.67ID:Xe646fvV
どこからが使いすぎだと思う?
261デフォルトの名無しさん
2017/03/16(木) 18:29:10.53ID:vq3uRAd1
>>259
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。

クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
262デフォルトの名無しさん
2017/03/17(金) 07:45:46.44ID:88SBOT8h
>>259
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
263デフォルトの名無しさん
2017/03/17(金) 09:01:04.72ID:88SBOT8h
あ、もしかしたら質問に答えてなかったかな?
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
264デフォルトの名無しさん
2017/03/17(金) 17:25:37.85ID:c2lVMe4f
>>262
今のcpuは普通にマルチコア、マルチスレッドじゃない?
同時に動いてんじゃない?
265デフォルトの名無しさん
2017/03/18(土) 10:42:58.16ID:TEQZ8ThN
>>264
そういう御仁が現れるだろうなとは思ってた。
申し訳ないがマルチコアなどの詳細な仕組みが現話題の結論に
影響を与えるものではないので無視させてもらいます。
266デフォルトの名無しさん
2017/03/18(土) 11:15:40.91ID:uhuX0RUO
OSのタスクスケジューリングやスレッド、Delphiのメインスレッドの話がごっちゃ混ぜになっててカオスカオス
267デフォルトの名無しさん
2017/03/18(土) 11:18:08.58ID:At1yjhtj
細かい処理が交互にっていつの時代のタスク割り当ての話してるんだ
268デフォルトの名無しさん
2017/03/18(土) 17:26:39.99ID:qhwfKSm6
>マルチコアなどの詳細な仕組みが現話題の結論に影響を与えるものではない

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

>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
269デフォルトの名無しさん
2017/03/18(土) 17:42:46.56ID:uhuX0RUO
中途半端に説明するからややこしくなる
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する

くらいでイナフ
270デフォルトの名無しさん
2017/03/18(土) 23:22:19.03ID:toYG3enn
>>262が変な説明を入れたのが元凶だ
271デフォルトの名無しさん
2017/03/19(日) 10:14:13.46ID:pPSf+p35
>>269
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
272デフォルトの名無しさん
2017/03/19(日) 10:31:00.81ID:Zac56zGn
>>271
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい

まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
273デフォルトの名無しさん
2017/03/19(日) 12:59:15.63ID:pPSf+p35
結局「スレッド」という英単語が同いう意味かってだけだね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
274デフォルトの名無しさん
2017/03/19(日) 16:36:19.37ID:z/4QTPa3
で、そのメモリ圧迫とやらは今回の質問のどこにかすっているのかね?
275デフォルトの名無しさん
2017/03/19(日) 18:47:31.53ID:Zac56zGn
どんどん話題がすり変わっていくな
276デフォルトの名無しさん
2017/03/20(月) 01:59:24.49ID:Qzpue34I
>>262
が悔し紛れに難癖つけてるだけっしょ
277デフォルトの名無しさん
2017/03/20(月) 07:33:47.40ID:/HDavIr2
予想どおりの反応ですw
278デフォルトの名無しさん
2017/03/23(木) 17:32:52.95ID:0AhE1jWZ
10.2tokyo入れて見たんだけど、10.1でgetitから入れたコンパーネントが入れられなくてプロジェクト開けられない。
エンバカ何なんだ?
279デフォルトの名無しさん
2017/03/24(金) 07:00:18.71ID:w0n9pMnW
>>278
よくある
Getitじゃなくて配布元からダウンロードして入れたらOk
280デフォルトの名無しさん
2017/03/25(土) 07:13:02.05ID:Hlan26fq
StarterのBerlinをTokyoにするんだけど
いったんBerlinをアンインストールするんだっけ?
281デフォルトの名無しさん
2017/03/28(火) 04:59:23.66ID:by30piXi
StarterのBerlinをインストールしたままTokyoをインストール出来ましたし、同時に起動出来ました。

公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
282デフォルトの名無しさん
2017/03/28(火) 10:13:09.88ID:o61kLVYu
>>281
ありがとう

上書きインストールされないってことか...
283デフォルトの名無しさん
2017/03/31(金) 10:26:45.88ID:SnNLRdP6
2007からXEにあげるのに、いまさらながらユニコードに取り組むんですが、
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
284283
2017/03/31(金) 10:42:53.79ID:SnNLRdP6
文字コードを確認してみたのですが
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);

のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
285デフォルトの名無しさん
2017/03/31(金) 11:27:56.20ID:tBgePiep
こう言うとアレだけど
普通に使うときはユニコードとか
意識する必要ないんじゃない?
286283
2017/03/31(金) 11:48:21.75ID:SnNLRdP6
>>285
例えば、

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

のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
287デフォルトの名無しさん
2017/03/31(金) 12:08:45.28ID:YNGnrt5P
便乗失礼します。
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと

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

https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
288283
2017/03/31(金) 12:14:44.98ID:SnNLRdP6
>>287
リンク先を読んでみると、文字列の代入時に変換してるみたいですね。
ありがとうございます。
289デフォルトの名無しさん
2017/03/31(金) 12:27:36.02ID:tBgePiep
>>286
大丈夫
ソースファイルがutf8とか意識しないほうがいいよ

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

実行ファイルの最後に定数が保存されてたと思うけど
すでにunicodeになってたような気がする
291デフォルトの名無しさん
2017/04/01(土) 09:16:09.24ID:FVobg3nm
>>285
逆に、常に意識してないと嵌まることがあるよ。
292デフォルトの名無しさん
2017/04/01(土) 11:20:45.32ID:1uakO4Jp
コンパイル時に変換
293デフォルトの名無しさん
2017/04/01(土) 14:47:04.87ID:MIBbFxu2
>>288
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。

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

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

C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
294デフォルトの名無しさん
2017/04/01(土) 16:29:34.25ID:xnSlrZsr
てか簡単なサンプル作って試せば済むことじゃん

昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
295デフォルトの名無しさん
2017/04/01(土) 21:40:45.92ID:JcotD4lU
真に気を付けないといけないのは1文字に複数文字が入ってるサロゲートペア

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

「ば」と「ば」が違う文字とかわっかんねーよ
296デフォルトの名無しさん
2017/04/02(日) 09:37:47.98ID:OL+frmBm
正直UTF8で統一したほうがよかったと思う
297デフォルトの名無しさん
2017/04/02(日) 09:38:21.10ID:WSPdqmkD
>>295
最後の行は「ば」?
これってサロゲートペアなのか?
それとも別の文字が化けた?

それと
内部の文字列がunicodeになった話と
unicode文字列を処理する話は
微妙に違う話だぞ?
298デフォルトの名無しさん
2017/04/02(日) 09:40:01.86ID:OL+frmBm
UTF16も実は可変長という落ちなんだからややこしくなっただけだと思う
299デフォルトの名無しさん
2017/04/02(日) 10:43:02.23ID:3chV0onz
>>297
2chだと化ける可能性あるから両方サロゲートペアじゃないよ

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

おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
300デフォルトの名無しさん
2017/04/02(日) 11:06:40.43ID:5Z3z/Zq2
は̋
301デフォルトの名無しさん
2017/04/02(日) 12:55:55.04ID:n+5RCyoZ
>>295
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。

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

文字での説明に重箱の隅つつかないでくださいな
気にしないでやってるとそういう問題(にぶつかる可能性)もあるよって話です
304デフォルトの名無しさん
2017/04/02(日) 13:10:15.31ID:n+5RCyoZ
言葉の使い方が完璧に間違ってるのに重箱のすみつつかないでっていわれてもなぁ・・

君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
305デフォルトの名無しさん
2017/04/02(日) 13:13:23.66ID:3chV0onz
つまりこれこれこういう問題があってこうしましたって1から10まではしょらず正しい言葉をつかって説明しないとここには書き込むなって事ね。了解。




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

別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
307デフォルトの名無しさん
2017/04/02(日) 13:20:18.66ID:8zECKtY8
君たち ではない。
308デフォルトの名無しさん
2017/04/02(日) 13:23:02.99ID:JDqJ1ftS
言葉の定義とやらが間違ってたとしても、
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
309デフォルトの名無しさん
2017/04/02(日) 14:03:03.40ID:iqf+IrkA
俺には難しい話をしてるけど、文字扱うには正規化とやらをやって、utf8とか16とかに統一してから加工したり検索したりしないとハマるってこと?
310デフォルトの名無しさん
2017/04/02(日) 17:46:06.81ID:WSPdqmkD
サロゲートペアに関連してだけど
MECUtilsとか使ってやったりするの?

今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
311デフォルトの名無しさん
2017/04/02(日) 18:37:26.81ID:9KwT0wNW
Unicode化の弊害というかなんというかだけど、
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
312デフォルトの名無しさん
2017/04/02(日) 20:31:47.10ID:n+5RCyoZ
>>310
そんなの使わなくても普通は標準であるだろ。
Character.pasに必要なのそろってる。
TCharacter.IsSurrogate()
313デフォルトの名無しさん
2017/04/02(日) 20:47:01.04ID:3chV0onz
>>312
TCharctorなんてものはない

System.Charactor.IsSurrogate(廃止)
もしくは
TCharHelper
314デフォルトの名無しさん
2017/04/02(日) 20:48:31.98ID:3chV0onz
おっと綴り間違ってたな
System.Characterだな。また重箱の隅つつかれるところだった
315デフォルトの名無しさん
2017/04/02(日) 21:07:50.79ID:n+5RCyoZ
そうなんだ。それはすまん。XE3以降買ってなくて
最新のもってなくて。
316デフォルトの名無しさん
2017/04/02(日) 23:41:35.03ID:9/rnzeyZ
今ってディスプレイのアスペクト比が数種類あるけど、皆さんは画面のデザインってどうしてますか?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
317デフォルトの名無しさん
2017/04/03(月) 14:57:16.50ID:r7DyphN2
時代は可変
318デフォルトの名無しさん
2017/04/03(月) 17:20:51.81ID:vwU/OCff
>>316
全画面表示させない
319デフォルトの名無しさん
2017/04/03(月) 18:42:50.88ID:gM/woy0K
>>316
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
320デフォルトの名無しさん
2017/04/03(月) 21:28:02.74ID:r3n0H3vn
やっぱ、全画面表示させないが簡単でいいな
321デフォルトの名無しさん
2017/04/04(火) 06:32:18.18ID:vjUtddW+
>>316
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
322デフォルトの名無しさん
2017/04/12(水) 07:11:34.88ID:lM5IX7kk
メモリーリークの場所ってdelphiに標準で入ってるリークを監視するやつのフルバージョン入れないと分からない?
323デフォルトの名無しさん
2017/04/16(日) 12:03:24.01ID:he8BFR5v
Delphi10.1でのフル機能のfastmm4の使い方を教えてください。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
324デフォルトの名無しさん
2017/04/17(月) 16:51:42.85ID:y+L9zWaz
DatetimetostringとFormatDateTimeの違いって
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
325デフォルトの名無しさん
2017/04/17(月) 17:16:23.94ID:tXRogAtk
>>324
引数が違うって分かれば
自ずと...
326デフォルトの名無しさん
2017/04/17(月) 20:24:58.64ID:y+L9zWaz
>>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.25ID:phVpBhu/
何かとの互換性でどうしてもDT2strが欲しかったんじゃないかね
328デフォルトの名無しさん
2017/04/18(火) 15:11:31.58ID:nhn9im/Y
>>323
http://mrxray.on.coocan.jp/Delphi/Others/UsageFastMM.htm

ここに書いてある手順でやってみた?
329デフォルトの名無しさん
2017/04/18(火) 18:41:12.40ID:EH33vxsU
>>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を呼び出しているだけ。
330324,326
2017/04/19(水) 09:04:32.22ID:/KRyUyJO
>>329
なるほど、参考になりました。ありがとうございます。
331323
2017/04/19(水) 15:21:22.52ID:1b3gc8EV
>>328
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
332デフォルトの名無しさん
2017/04/23(日) 00:33:57.32ID:h9OMGlcp
delphi10.1までは問題なかったのにdelphi10.2にしてから
stylebookで指定したstyleが一部反映されなくなりました。

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

対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
333デフォルトの名無しさん
2017/04/23(日) 01:24:14.01ID:6D2X13Ox
>>332
Android用のスタイルを一旦削除してマージ
334332
2017/04/23(日) 07:38:09.47ID:h9OMGlcp
>>333
アドバイスありがとうございます。

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

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

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

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

実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
335332
2017/04/23(日) 07:50:06.92ID:h9OMGlcp
>>333
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。

変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
336デフォルトの名無しさん
2017/04/27(木) 08:22:37.61ID:rpeb1FWf
メッセージダイアログやショーメッセージで改行を
使うとメモリリークが出るけどなんで?
337デフォルトの名無しさん
2017/04/27(木) 12:14:19.99ID:nqOtHEIU
バグってんじゃね
338336
2017/04/27(木) 12:36:20.33ID:axAm+D16
delphiがバグってる?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
339336
2017/04/28(金) 22:34:22.04ID:WI3n6xVG
メモリーリークを調べているのですが
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
340デフォルトの名無しさん
2017/04/30(日) 09:29:58.72ID:kcq5sr/L
ソースみれば?
341デフォルトの名無しさん
2017/04/30(日) 11:59:29.48ID:0p25w19v
336ではないけどソースコード見てみた
ポイントになりそうなところがアセンブリで書かれてた
342デフォルトの名無しさん
2017/04/30(日) 12:08:19.89ID:VPr4LyhY
それがどうかしたか
343デフォルトの名無しさん
2017/04/30(日) 23:16:41.78ID:rKLNeW5H
1. MessageDlg と同じ引数を持つ、そのユニット内にローカルな関数を書いて、MessageDlg のせいかどうか調べる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
344デフォルトの名無しさん
2017/04/30(日) 23:36:32.18ID:5yRtGq51
どのバージョンで発生したのかしら?
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
345デフォルトの名無しさん
2017/05/02(火) 01:47:15.38ID:As8TBna0
昔の経験
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
346デフォルトの名無しさん
2017/05/02(火) 08:06:56.48ID:Hq/uPbjy
「IntToStr(123)が原因でメモリーリークが起きる」
と判断した理由を開示せよ
347デフォルトの名無しさん
2017/05/24(水) 11:04:03.05ID:ipeCfZP9
32biでも64bitでもinteger型は32bitですか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
348デフォルトの名無しさん
2017/05/24(水) 11:54:37.27ID:4nncZNTT
-1 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る

0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
349デフォルトの名無しさん
2017/05/25(木) 14:51:52.47ID:qme3C1o0
Integer は 32 だけど LongInt は 32 とは限らない
350デフォルトの名無しさん
2017/05/26(金) 08:47:10.54ID:trsKQBBQ
>>349
そんなことどこにも書いてないけどホント?
http://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.71ID:gif2nYmV
そのページは、たぶん、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.43ID:trsKQBBQ
>>351
iOSだけ特殊な感じ?変なの。
LongIntとLongWordは使わないほうがよさげですね。何でこんな変な仕様にしたんだろ。
353デフォルトの名無しさん
2017/05/26(金) 10:22:32.82ID:trsKQBBQ
あ、iOSにはLinux系も含まれるんですか?
その辺のあやふやさも嫌な感じですね。
354デフォルトの名無しさん
2017/07/06(木) 10:33:45.10ID:E7iuEH9H
シンエディットでプロシージャの名前とファンクションの名前を色分けするような使い方をしたいのですが、
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
355デフォルトの名無しさん
2017/07/06(木) 10:47:02.39ID:1ivNtSqb
シンエディットて何?
356デフォルトの名無しさん
2017/07/06(木) 12:16:18.45ID:DKA4KQvd
SynEditのことらしい
これをカタカナで書く感覚が分からん
357デフォルトの名無しさん
2017/07/06(木) 13:00:39.86ID:/LwN4Pic
すまん。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
358デフォルトの名無しさん
2017/07/06(木) 16:56:40.09ID:uy+VElX3
キーボードが苦手なプログラマw
359デフォルトの名無しさん
2017/07/06(木) 19:47:25.65ID:j2rVCi1D
>>358
360デフォルトの名無しさん
2017/07/08(土) 15:11:41.17ID:4Sqq07Ob
これがアスペか・・
361デフォルトの名無しさん
2017/07/30(日) 22:35:33.76ID:PBa3jUos
昔MCIをいじっていた者です。覚えている人いるかな?
4年くらいメソッドを書いてなくて、送るでwavを聞きたいなって思って久しぶりにコンパイラを触りました。
何をするソフトなのかというとフォームに対してD&DしてTListにD&D元のファイルのフォルダの
ファイル名を取得するソフトなんですが、なぜうまくいかないかわからなくて…。
指摘していただければ幸いです。
362デフォルトの名無しさん
2017/07/30(日) 22:37:14.18ID:PBa3jUos
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.16ID:PBa3jUos
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.85ID:PBa3jUos
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.24ID:5UR8c5yg
とこでfmxアプリをタスクトレイに収める方法はないですか?

探すとロシアのサイトにコンポーネントがあったけど
他に方法はないでしょうか?
366デフォルトの名無しさん
2017/07/31(月) 05:54:29.90ID:poJtShEs
>>365
Windows専用だけどいい?
367デフォルトの名無しさん
2017/07/31(月) 08:21:01.65ID:5UR8c5yg
>>366
ええもちろん

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

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

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

タスクトレイにアイコン表示させたりする場合はコード記述でもできるけど面倒だからMonkeyMixerか何か使ってVCLを混在させてTTrayIcon使う
369デフォルトの名無しさん
2017/07/31(月) 18:38:00.55ID:AynCBzeT
>>368
ありがとう

MonkeyMixerを調べて見ます
370デフォルトの名無しさん
2017/08/01(火) 10:29:01.65ID:8qLxpsQt
TTrayIconはVCL依存がほとんどないから、切り出して使った方が余計なユニットがリンクされなくていいと思う
自分はそうしてる
371デフォルトの名無しさん
2017/08/13(日) 13:54:41.72ID:6x3+ks7t
教えてください。

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

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

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

よろしくお願いします
372デフォルトの名無しさん
2017/08/26(土) 22:45:11.62ID:Siu65+Zd
fmxねぇ...

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

でもvirustotalなんかでの誤検知は
確実に減るな
373デフォルトの名無しさん
2017/08/29(火) 17:10:04.07ID:sf08cQEA
DBCtrlのKeyPressメソッドで出てくる
^H  ^V  ^X
とかって何を指してるんですか?それぞれ16進で、8,16,18の値なんですが。
ポインタの逆参照以外で ”^” の使い方はヘルプにも無いのですが。
374デフォルトの名無しさん
2017/08/29(火) 17:11:49.45ID:pis/sDRy
H 48h
V 56h
X 58h
ctrl+H で 08h
ctrl+V で 16h
ctrl+X で 18h
375373
2017/08/29(火) 17:15:51.90ID:sf08cQEA
>>374
コントロールキーを押しながら…の記述に ”^” を使うということですか。
ありがとうございます。
376デフォルトの名無しさん
2017/09/20(水) 09:56:54.97ID:lqqkwYAM
ちょっと教えてください

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

やっぱレコード全体を取り出して、修正後に全体を書き戻す?
377デフォルトの名無しさん
2017/09/21(木) 21:39:40.01ID:pNUeS15R
うまくいくかはわからないが、
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.41ID:zuQMjG3e
デフォルトプロパティ List[i] に相当する List.Items[i] の
read関数 function TList<T>.GetItem(Index: Integer): T; は、戻り値が
左辺値ではないので、どうしても一時変数が必要です。
379デフォルトの名無しさん
2017/09/22(金) 07:31:05.69ID:mBOH6uxg
>>378
Itemsプロパティではなく、内部で管理している配列を直接返すListプロパティを介してもテンポラリーのコピー発生するんだっけ?
ちょっとうろ覚え。
380デフォルトの名無しさん
2017/09/23(土) 14:45:31.84ID:69c72AW1
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.42ID:qb+wgPEX
エスケープ文字をデコードすると 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
382380
2017/09/24(日) 08:50:50.85ID:xiqHS4Dl
>>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.23ID:QV3LCCDd
>>382
面倒だから試してないけど
NSstr使うとかAnsiStringに一旦格納して出力するとか
384381
2017/09/25(月) 02:46:48.72ID:O5/7UCBk
しまった。前後逆でした。e3 のままなら無変換。

で、ちょっと古いけどXcode6.3.2+ios8.3では日本語表示できてます。
385380
2017/09/25(月) 08:55:47.22ID:Ojd2COhe
>>383
ご回答ありがとうございます!
NSstrを使ってlog.dで出力しようとするとコンパイラに怒られてしまいましたorz
AnsiStringを試したところ出力文字は変化しましたが文字化けは改善されませんでした。

>>384
ご回答ありがとうございます!
なるほど。
現在の環境がXCode8.3 + iOS8.3なので少し古いXCodeを使って試してみようと思います。
386デフォルトの名無しさん
2017/09/27(水) 10:22:25.25ID:9ZA1JIkS
iOSってTBannerAdを使ってAdmob表示できないんですか?
docWiki見たらiOSはiAdを使う前提の説明しかなくて・・・
387デフォルトの名無しさん
2017/10/17(火) 09:08:55.23ID:mEDA3l77
Delphi10.2ってxcode9.0に対応してる?
388デフォルトの名無しさん
2017/10/24(火) 09:26:42.32ID:ZAkkogtl
すみません。どうしたりいいのか分からずに書き込みさせてください。
389デフォルトの名無しさん
2017/10/24(火) 09:43:54.24ID:PqKdrl6b
390デフォルトの名無しさん
2017/10/24(火) 20:03:21.48ID:1s7nmZJe
もちつけ!
391デフォルトの名無しさん
2017/10/25(水) 11:38:12.62ID:32/KECdp
したり顔
392デフォルトの名無しさん
2017/10/30(月) 20:24:16.10ID:n19lyVRb
お伺いします。
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.32ID:L79oOSSM
>>392
TDirectory.GetFilesとExtractFilePath
394デフォルトの名無しさん
2017/11/02(木) 18:58:25.38ID:i0GpXesu
すみません。エロい方教えてください。

s := 'ABC'#13#10;

という文字列を、SJISの16進文字列に変換して、
  '4142430D0A'
にしたいのですが、やり方がわかりません。
どう書けばよいのでしょうか?
395デフォルトの名無しさん
2017/11/03(金) 11:14:14.85ID:e5C3JHXA
これか?
http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.Classes.BinToHex
396デフォルトの名無しさん
2017/11/04(土) 21:02:07.27ID:wxgLJQNm
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.45ID:3iw/MMda
>>396
Delphi6でできました。ありがとう。
これ、XE5でも動くのかな?
398デフォルトの名無しさん
2017/11/06(月) 21:01:49.83ID:MioLsWZJ
>>397
自分で試すこともしないのか
試すことができないなら気にしなくてよくないか
399デフォルトの名無しさん
2017/11/06(月) 21:26:18.10ID:WbFc3oVf
すみません。
気にしなきゃいけない状況です。
で、XE5は今環境がないのです。。。
(仕事場が2つあり、いまXE5がない方に常駐しているので)
400デフォルトの名無しさん
2017/11/07(火) 07:05:35.29ID:o3l3MYxT
>>399
じゃあ行ってから試せ
401デフォルトの名無しさん
2017/11/07(火) 21:49:52.73ID:5HoE4QmZ
xcode9に対応した?
402デフォルトの名無しさん
2017/11/23(木) 12:24:47.52ID:H2oFoVNB
firemonkeyって一度置いたコンポーネントって削除できないの?
403デフォルトの名無しさん
2017/11/23(木) 14:00:39.62ID:ATmHrlsw
>>402
そんなバナナ
404デフォルトの名無しさん
2017/11/23(木) 14:01:03.28ID:ATmHrlsw
猿だけに…
405デフォルトの名無しさん
2017/11/23(木) 23:05:31.51ID:6erWI8jG
         .┌┐
        / /
      ./ / i
      | ( ゜Д゜) 
      |(ノi  |)
      |  i  i
      \_ヽ_,ゝ
        U" U
406402
2017/11/24(金) 21:05:42.06ID:dHFHVjxQ
imagelistを使うと削除できないみたいです。

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

これって返品で金返してくれないかな
407デフォルトの名無しさん
2017/11/24(金) 22:59:59.51ID:RyYb1gen
>>406
うちではそんな現象出ないけどバージョンは?
408デフォルトの名無しさん
2017/11/25(土) 01:36:58.01ID:90SL+fWH
>>406
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
409デフォルトの名無しさん
2017/11/25(土) 08:22:38.33ID:W59Kilfu
すーぐ返金返金言うてからに
410402
2017/11/25(土) 09:22:54.97ID:2E3yXKzA
皆さ、レスありがとうございます。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
411デフォルトの名無しさん
2017/11/25(土) 09:23:27.60ID:O3o92heE
何か最近ヘルプ表示したままdelphi終了しようとすると
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない

心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
412デフォルトの名無しさん
2017/11/26(日) 16:50:58.14ID:JMtUYhzN
firemonkeyで正規表現ってできる?
413デフォルトの名無しさん
2017/11/26(日) 17:35:26.15ID:wHZSWh0R
>>412
できる
414デフォルトの名無しさん
2017/11/26(日) 18:29:30.48ID:JMtUYhzN
ググったけどdelphiの正規表現しか出てこないです。
サイトとか教えてください。
415デフォルトの名無しさん
2017/11/26(日) 20:24:03.68ID:wHZSWh0R
>>414
System.RegularExpressions
416デフォルトの名無しさん
2017/11/26(日) 21:19:52.87ID:JMtUYhzN
有難うございます。
417デフォルトの名無しさん
2017/11/30(木) 11:55:54.04ID:jryz1LGC
TRegistryをもちいて、
レジストリの情報を拾いたいのですが、

レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras

ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T

const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin

この後どうすればいいんでしょう?

Reg.GetValueNames(MEMO.Lines);

としてもMEMOには何もかえってこないのです。
418デフォルトの名無しさん
2017/11/30(木) 16:38:33.08ID:af+3x/Ty
キーが違うようです。
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
419デフォルトの名無しさん
2017/11/30(木) 17:26:14.42ID:jryz1LGC
>>418
その通りでした。
Reg.OpenKey で戻りを気にしていなかったので、悩み続けてしまいました。
ありがとうございます。感謝です。
420デフォルトの名無しさん
2017/12/08(金) 21:17:46.94ID:Gxx/XJ9D
誰か行かないの?
https://techplay.jp/event/639177
https://techplay.jp/event/641383
421デフォルトの名無しさん
2017/12/11(月) 15:09:59.51ID:r0biDCTF
Calender、Japaneseもわかってない人は論外
422デフォルトの名無しさん
2017/12/12(火) 16:52:51.98ID:F4p+lHsn
昔あったdelphiのフリーコンポーネントを集めたサイトって無くなっちゃた?
423デフォルトの名無しさん
2017/12/12(火) 18:31:07.66ID:D0b6rm60
古くからのDelphiコンポーネントが全て置いてある
アーカイブ的なサイトってないんだろうか
424デフォルトの名無しさん
2017/12/12(火) 21:12:25.60ID:ABDe/NWv
ふと思ったけどTImageListじゃなく
TSoundListコンポーネントってない?
用途はありそうだが

てかTImageListってどういう仕組みで
画像を保持してるんだろう
425デフォルトの名無しさん
2017/12/14(木) 09:04:39.76ID:XL4elc7V
DSPとかtorrysとか懐かしいな
426デフォルトの名無しさん
2017/12/24(日) 16:19:13.24ID:dCGOIGeG
Tetheringコンポーネントを使ってアプリ間データ共有を試してるんだけど
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど

Starterだと実はTetheringコンポーネントは使えない?
427デフォルトの名無しさん
2017/12/24(日) 16:33:23.07ID:NhonSez5
>>426
テザリングの項目がStarterは空欄になってるから多分使えない
428デフォルトの名無しさん
2017/12/24(日) 19:06:27.16ID:dCGOIGeG
>>427
そうだよね

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

ただSystem.Tether.*.dcuはすべて揃ってるぽいんだよな
429デフォルトの名無しさん
2017/12/28(木) 21:34:46.01ID:JOEtu7v7
質問させてください。
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。

var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;

begin

PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;

C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
430デフォルトの名無しさん
2017/12/28(木) 22:07:28.82ID:ThR79eg8
>>429
せめtw署名生成ルーチンくらい書こうぜブラザー
たぶんHmacSHA256やとは思うが
431デフォルトの名無しさん
2017/12/29(金) 07:48:05.15ID:yZ5IlcO4
>>430
ありがとうございます。
SHA256でメッセージ暗号化するってことでしょうか?
それとも別の通信するのに必要な処理でしょうか?
432デフォルトの名無しさん
2017/12/29(金) 08:47:31.32ID:cWaP921A
仮想通貨って電気代が安い国の人がが圧倒的に有利だよね
433デフォルトの名無しさん
2017/12/29(金) 11:43:27.38ID:PDCF/c1K
>>431
URLから察するにZaifやと思うが、公式のAPIリファレンスまず読もうや
リファレンスで書いてる事がわからないなら都度質問したらええ
今の状況を人は丸投げと言う
434デフォルトの名無しさん
2018/01/07(日) 11:23:55.22ID:KBdbbCLH
買っとけよ
https://www.packtpub.com/all?search=Delphi
435デフォルトの名無しさん
2018/01/07(日) 12:30:45.63ID:S38kpWyE
漬物石
436デフォルトの名無しさん
2018/01/07(日) 13:53:28.81ID:8Eqg8PLM
>>432
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
437デフォルトの名無しさん
2018/01/08(月) 09:12:47.06ID:j35IDJ3/
Delphi 10.2 Tokyo で、

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

ができないのですが、できるようにする方法はありますか?
438デフォルトの名無しさん
2018/01/08(月) 10:28:05.36ID:2Q7Kliqk
>>436
ふむ。結局中国が一人勝ちして終わりやな。
439デフォルトの名無しさん
2018/01/08(月) 12:45:46.64ID:ictcT8i6
>>437
うちはできるからおま環
ショートカットの設定とか見直したらええんちゃう
440デフォルトの名無しさん
2018/01/08(月) 18:50:31.06ID:j35IDJ3/
>>439
俺環とわかり、ありがたし。
サンキュ!
441デフォルトの名無しさん
2018/01/09(火) 22:26:41.17ID:tEYlJ576
Starterじゃないの?
442デフォルトの名無しさん
2018/01/09(火) 23:21:34.37ID:DSUTqw5a
そうです。
Starterです。
無料のやつです。
443デフォルトの名無しさん
2018/01/10(水) 22:49:34.96ID:A/FWCqkf
Starterは支援機能削られてる
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能

コード補完はつけて欲しかったね
444デフォルトの名無しさん
2018/01/10(水) 22:58:49.24ID:0V4diR3n
そうなんですか・・・
コード補完がないのはキツいなぁ。
445デフォルトの名無しさん
2018/01/10(水) 23:22:20.51ID:52V+kDTj
Starterまじでコード補完ないんだww
ひでぇww
446デフォルトの名無しさん
2018/01/11(木) 07:06:55.59ID:I3euztjG
5年間Starter使ってるけど
もう慣れた
447デフォルトの名無しさん
2018/01/19(金) 14:12:23.13ID:3mDLycuV
fmxで実行時に複数のpanelを動的に作成し
その背景を別の色にしたいんだけど

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

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

誰かヒントをお願いします
448デフォルトの名無しさん
2018/01/19(金) 15:02:24.17ID:LVSymK+/
>>447
TRectangleマジおすすめ
449デフォルトの名無しさん
2018/01/19(金) 22:25:43.24ID:9RJTUZM2
>>448
バッチリだった
ありがとう
450デフォルトの名無しさん
2018/02/02(金) 16:54:03.50ID:MJtWQFFO
どうしても分からないため、教えてください。
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。

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

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

procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
451デフォルトの名無しさん
2018/02/02(金) 16:54:26.34ID:MJtWQFFO
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;

end;
end;
452デフォルトの名無しさん
2018/02/12(月) 17:53:30.98ID:wyyYgDNO
>>443
Starterにはコード整形というのはないのですか、一生懸命探してしまった(笑)
CodeFormatterありがたい!
453デフォルトの名無しさん
2018/02/12(月) 21:54:05.03ID:lRsL3DkL
LDirはどこで定義されてんだ?
454デフォルトの名無しさん
2018/02/13(火) 11:15:08.11ID:Wl4kHNJK
メモリー共有が簡単に出来るクラスってある?
455デフォルトの名無しさん
2018/02/13(火) 20:34:12.21ID:ZGwVrA8k
>>454
ググったら、名前付きパイプによるプロセス間通信見つけた。

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

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

でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
458デフォルトの名無しさん
2018/03/27(火) 23:04:26.37ID:krpCtSiN
D6に入れて使ってるIndy10 https対応してたのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
459デフォルトの名無しさん
2018/04/07(土) 17:54:05.06ID:uobWZe4y
すみません教えてください。
長いこと格闘していたのですが、どうしても攻略できません。

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

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

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

問題の部分だけでも書いて
461デフォルトの名無しさん
2018/04/08(日) 16:43:34.30ID:yiR7WAE6
>>459
ダウンロード全然始まんないぞ
てかアップローダ選ぼうぜ
462デフォルトの名無しさん
2018/04/08(日) 19:31:28.65ID:aHOcMh8N
ちょっと長いのですが…

procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
463デフォルトの名無しさん
2018/04/08(日) 19:32:04.72ID:aHOcMh8N
begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
464デフォルトの名無しさん
2018/04/08(日) 19:32:09.74ID:aHOcMh8N
begin
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;

Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;

end;
end;
465デフォルトの名無しさん
2018/04/08(日) 19:40:43.33ID:aHOcMh8N
procedure TForm1.PlayBtnClick(Sender: TObject);
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;

上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
466デフォルトの名無しさん
2018/04/08(日) 21:52:36.23ID:vzZ5v1M+
>>465
自分もよく知らんので間違ってたらごめん

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

'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
467デフォルトの名無しさん
2018/04/09(月) 02:34:30.98ID:8Wv+Mi08
>>465
これってかなり前にも指摘したような気がするが...

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

それで問題なかったらMCIに送って
468デフォルトの名無しさん
2018/04/09(月) 07:55:25.96ID:qLOACt12
>>466-467
レスどうもです。

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

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

お忙しいとこrとすみませんがよろしくお願いいたします。
469デフォルトの名無しさん
2018/04/09(月) 08:07:09.81ID:3dFP9zTK
aliasの前に半角スペースがない
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
470デフォルトの名無しさん
2018/04/09(月) 08:11:51.43ID:3dFP9zTK
>>467さんが指摘してるのはTEditに入れて表示された文字列が正しいコマンドかどうかチェックしろって事であって、代入したら動くんじゃないって言ってるわけじゃない
471デフォルトの名無しさん
2018/04/09(月) 12:39:00.80ID:BwdfepzG
FileName1のスコープが問題何じゃねーの?
472デフォルトの名無しさん
2018/04/09(月) 15:46:39.00ID:sAzU0iCB
>>462-465
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
473デフォルトの名無しさん
2018/04/09(月) 15:48:10.00ID:qLOACt12
>>469
>>467さんの指摘を受けLabelに命令を代入しましたが、確かにおかしい命令を吐き出していました。
open ""type MEPGVideo alias MusicFile
こんな表示をしています。


>>471
FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
私個人の予想では、ListBoxからうまくファイルのPATHを含むファイル名がうまく取得できていないためではないかと考えているのですが…
474デフォルトの名無しさん
2018/04/09(月) 15:52:07.60ID:3dFP9zTK
何が正しいのか正しくないのか、正しくないのは変数の中身なのかコードなのか渡し方かなのか、それとも別になにかなのかを探したら解決できる
正しいと思い込む前に確認する癖をつけましょう
475デフォルトの名無しさん
2018/04/09(月) 18:30:51.81ID:BomKXXDR
>>473
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ

>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
476デフォルトの名無しさん
2018/04/09(月) 18:57:48.34ID:BomKXXDR
>>473
やっとソースDLできたw
ざっと見た限り

原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物

対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる

原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結

対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);

それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
477デフォルトの名無しさん
2018/04/09(月) 19:52:13.89ID:gH9PL+mq
>>472
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。


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

FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
478デフォルトの名無しさん
2018/04/09(月) 20:33:17.20ID:luHmX43j
メディアプレーヤーコンポ使えばmp3ほかいろいろ再生できますぜ
479デフォルトの名無しさん
2018/04/09(月) 22:09:32.86ID:qcsBHwDv
>>477
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。

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

そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
480デフォルトの名無しさん
2018/04/09(月) 22:24:15.00ID:8Wv+Mi08
>>477
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う

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

前からTDropTargetを使ってみたかっただけなんだけど
481デフォルトの名無しさん
2018/04/09(月) 22:25:36.16ID:tj7dSTW0
この話題長いねぇ
ずーっと解決してない気がするw
482デフォルトの名無しさん
2018/04/10(火) 07:46:44.60ID:M1dLQsHI
野球選手やサッカー選手に向いてるやつと向いてないやつがいるように
プログラマーにも向いてるやつと向いてないやつがいる
483デフォルトの名無しさん
2018/04/10(火) 09:28:59.45ID:8aH9jq04
>>480
なかなか良い
センスあるな
484447
2018/04/10(火) 17:57:58.95ID:ixHiVr8M
>>480
シンプルで必要十分な情報がまとまっていました。

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

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

リモコンで制御したいのと、巻き戻しがサポートされていれば、多分ここまでしつこくはなかったかもしれません。
485デフォルトの名無しさん
2018/04/10(火) 20:26:01.63ID:n/L+8J/R
>>484
>このスレにいる皆様は、今回のMCI問題を含むVCLの操作ではなく、
>細かい文法事項などはどこで習得されたのでしょうか?

勘とノリと勢いとGoogle先生
486デフォルトの名無しさん
2018/04/10(火) 21:56:04.81ID:7q8c2f4e
>>484
巻き戻しってもしかして逆再生?
そりゃハードルが高すぎないか
487デフォルトの名無しさん
2018/04/10(火) 22:06:00.62ID:BUevE+bD
>>484
VCLソース
488デフォルトの名無しさん
2018/04/11(水) 07:06:25.31ID:Ma7OFF0j
リモコンって以前はMediaCenterが対応してたね

Delphiで今やるんだったら
TTethering使ってスマホから操作かな
489デフォルトの名無しさん
2018/04/13(金) 00:04:40.08ID:QwQUx8hW
@pikさんて何者なの?

本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
490デフォルトの名無しさん
2018/04/17(火) 14:33:30.73ID:eYOCf7bm
>>489
直接本人に言えよ。陰湿な奴だな。
491447
2018/04/18(水) 21:20:13.42ID:MII0lz02
すいません。教えてください
この前の続きです。

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

ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
492447
2018/04/19(木) 21:05:53.19ID:bgRnFwFv
現状でやりたいことは、送るで起動して音声ファイル(以下.wav)を再生させることです。

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

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


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

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

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

Delphi2009だと問題ないのに?(**)?
494デフォルトの名無しさん
2018/04/22(日) 09:43:57.64ID:/aj/ysEy
ListBox1.ItemIndex := ListBox1.Items.IndexOf('9.wav');
495デフォルトの名無しさん
2018/04/22(日) 20:19:04.99ID:1p2Tkusj
なるほどなー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
496447
2018/04/25(水) 06:26:09.01ID:LyLCajq/
>>493
ハイライトではなく選択した(された)アイテムと表現すべきでした。

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

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

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

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

例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
497デフォルトの名無しさん
2018/04/25(水) 08:14:31.72ID:iILk6Jpy
>>496
もう仕様書作って金出してコード納品してもらった方が速い
498デフォルトの名無しさん
2018/04/25(水) 10:12:58.53ID:KojXazHw
アドバイスも何も....

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

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

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

他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
499デフォルトの名無しさん
2018/04/25(水) 10:43:12.40ID:8p1Sd4ST
>>496
>(送るだとListBoxに反映されますがD&Dだと反映されない。)

D&Dを受け取る WMDropFiles 内にListBoxに反映させるコードが無いんだから反映されるわけが無い
500デフォルトの名無しさん
2018/04/26(木) 18:55:25.51ID:fqEKBH7q
動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる
501447
2018/05/05(土) 11:10:08.17ID:pQ8nw+O2
ListBoxへの反映の仕方が分かったので対処ができました。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi

本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。
502デフォルトの名無しさん
2018/05/05(土) 13:26:16.48ID:vbsrC7NJ
こんな文字列処理メインのコードにポインタの出番はないでしょう

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

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

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

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

ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ
503デフォルトの名無しさん
2018/05/07(月) 08:05:08.09ID:bSchYp3+
ありがとう。C#で作り直すことにします。
504デフォルトの名無しさん
2018/05/07(月) 18:43:31.79ID:RryMz2og
そうきたか www
505447
2018/05/23(水) 05:43:33.84ID:IzxjocGr
TString型からString型へのキャストはどうしたら良いのでしょうか?

ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。
506447
2018/05/23(水) 07:25:01.52ID:IzxjocGr
上の質問はスルーしてください
507デフォルトの名無しさん
2018/05/23(水) 20:23:05.77ID:yohLywXT
本当か?本当にTStringとStringの違いがわかったのか?
508デフォルトの名無しさん
2018/05/23(水) 20:31:59.75ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

401Z3
509デフォルトの名無しさん
2018/05/24(木) 00:26:07.03ID:X0Vr2UrM
>>505
何年間も同じとこクルクル回って進歩してないな
510447
2018/05/24(木) 07:41:50.56ID:Xlbr0a9V
>>507
本当は分かっていません。
ただ、もう少し試行錯誤が必要だと判断しました。
TstringからStringに渡すのはそんなに難しいとは思えないのですが……。

>>509
コンパイラをいじっている時間があまりなくて
今回も数年ぶりに(昔このスレで正月に作ったメディアプレイヤー)触ってますので
進歩してなくて、さっぱり分からないことが相変わらず多いです。
511デフォルトの名無しさん
2018/05/24(木) 07:51:45.33ID:UDepo1QV
>>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?
512デフォルトの名無しさん
2018/05/24(木) 09:38:32.78ID:3hrzymd4
"Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか?
513デフォルトの名無しさん
2018/05/24(木) 09:47:02.42ID:1QuFgEhD
>>510
あのな、良いこと教えてやる

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

読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ
514デフォルトの名無しさん
2018/05/24(木) 12:22:44.13ID:2pfDia9X
TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね
515デフォルトの名無しさん
2018/05/24(木) 17:31:30.64ID:Pn5Zd5T4
>>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ

どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る
516デフォルトの名無しさん
2018/05/24(木) 18:32:52.16ID:Pmzmf4Ca
普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw
517デフォルトの名無しさん
2018/05/24(木) 18:38:26.23ID:Pn5Zd5T4
>>516
で、お前は何で教えてやらないの?
518デフォルトの名無しさん
2018/05/24(木) 18:43:41.36ID:NEzd0Nja
本人だからさ
519デフォルトの名無しさん
2018/05/24(木) 20:03:35.81ID:hm+d4/Zn
はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね
520デフォルトの名無しさん
2018/05/24(木) 20:16:15.75ID:Pn5Zd5T4
あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw
521510
2018/05/26(土) 04:35:23.77ID:4prcmauu
>>513
昔言語ガイド印刷してたのを忘れていました。
今読むと昔は分からなかったことが分かるようになってきました。
プロジェクトを作る前に最後まで読んでみます。

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

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

レスしてくれた皆様ありがとうございました。
522デフォルトの名無しさん
2018/05/26(土) 16:36:32.52ID:ZcCwZUbS
だから TStringじゃない TStrings
523510
2018/05/27(日) 06:51:35.56ID:6aP994kT
>522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。
524デフォルトの名無しさん
2018/05/27(日) 18:56:00.45ID:tt6kkd8K
初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う
525デフォルトの名無しさん
2018/05/29(火) 12:30:34.30ID:1O3tJEYz
頑張れ‼??誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね
526デフォルトの名無しさん
2018/05/29(火) 16:35:28.22ID:kxbaWIuP
何年「最初」を繰り返してるのだろうかー
527510
2018/05/30(水) 07:03:11.11ID:2jnt+z5e
>>524
Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
早速インストールしてみます。
ですが、皆様はシステムライブラリのヘルプを見て手続きや関数などを覚えたのでしょうか?

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

普通こんだけ叩かれたらプログラミングを諦めてしまうと思いますが、
双六ゲームがどうしても作りたいのでかじりついて離れずにいます。
528デフォルトの名無しさん
2018/05/30(水) 10:34:14.77ID:1AWKUtm2
>>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ
529デフォルトの名無しさん
2018/05/30(水) 14:51:11.60ID:240M2quP
ほんそれ
話聴かない奴は叩かれる
530デフォルトの名無しさん
2018/05/30(水) 17:57:51.44ID:QhoQOR8g
>>527

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

本の名前教えて。
俺もDelphiのHELP欲しい。
531デフォルトの名無しさん
2018/05/30(水) 20:16:26.04ID:lZ3vVAou
>>510>>527
MCIさんでしょ?
オーディオプレーヤは諦めて双六ゲームにしたの?
532デフォルトの名無しさん
2018/05/30(水) 20:52:42.12ID:lZ3vVAou
>>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど

http://support.embarcadero.com/jp/article/35932
533デフォルトの名無しさん
2018/05/31(木) 00:53:55.84ID:Rz8G1qx4
このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。
534デフォルトの名無しさん
2018/05/31(木) 00:56:10.16ID:KiYT67Xx
ナンセンスなラ(略)
535デフォルトの名無しさん
2018/05/31(木) 02:41:36.75ID:LeDqx/cu
>>533
アップデートファイルを単独で使用するなってこと?

そもそもdelphi 6 personalってフリーなんだから
その程度はいいんじゃない?
536デフォルトの名無しさん
2018/05/31(木) 12:29:07.06ID:tuQW1gq3
>>361 この人まだいるんだね(笑)
537デフォルトの名無しさん
2018/05/31(木) 15:12:07.71ID:LXR1oL3d
オマエモナ
538デフォルトの名無しさん
2018/05/31(木) 17:49:48.89ID:NnA31TPO
Unicode 正式対応したのは
どのバージョンから?
539デフォルトの名無しさん
2018/05/31(木) 19:52:10.32ID:OiZlt55G
>>532

ありがとう!
540510
2018/06/01(金) 04:16:23.59ID:5fSTAWJb
>>531
MCIいじってますよ。
ただ今は、TStringsと戦ってます。

>>528
そうですね。
理解が追いついていかない。ふがいないなぁ。
541デフォルトの名無しさん
2018/06/01(金) 07:07:59.62ID:tZOiVGE0
>>538
2009じゃね?
542デフォルトの名無しさん
2018/06/01(金) 08:17:03.08ID:AldthANR
>>538
string型のutf8化は2009から。
ucs2程度やwidestringであれば、少なくともdelphi7でも使えてる。
543デフォルトの名無しさん
2018/06/01(金) 12:06:09.39ID:JGYXEwwz
結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。
544デフォルトの名無しさん
2018/06/01(金) 12:13:27.24ID:VRiSWYxK
てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし

思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ
545デフォルトの名無しさん
2018/06/05(火) 19:54:37.86ID:FLappK2N
直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ
546デフォルトの名無しさん
2018/06/05(火) 19:55:52.87ID:FLappK2N
違った、2005年なので13年経過。。。
547デフォルトの名無しさん
2018/06/06(水) 10:45:41.05ID:I9hgDbEz
痴呆が始まってるな
548デフォルトの名無しさん
2018/06/07(木) 09:31:17.03ID:jM1yTm2r
Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください

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

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

やっぱ最低でもcgi使えるサーバとか必要?
549デフォルトの名無しさん
2018/06/07(木) 10:03:50.30ID:kW6Y240R
>>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示

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

3.SQLにFireDACで直接接続

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

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

というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし
551デフォルトの名無しさん
2018/06/08(金) 07:49:33.51ID:IKKgq9UT
>>549
cef4delphiがよいよ
552548
2018/06/08(金) 20:17:07.49ID:pOKoirVi
レスが遅くなりました

やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも

あとは、データは配布サイトに置いて投稿はメール経由かな
553デフォルトの名無しさん
2018/06/08(金) 22:02:43.94ID:lHspdop6
P2P
554548
2018/06/08(金) 22:45:08.12ID:pOKoirVi
よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね

したらばにしようと思います


p2pは理想だけど、開発側も利用者側も障害が大きすぎるような
555デフォルトの名無しさん
2018/06/09(土) 16:37:47.65ID:OTGz0P8v
delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?
556デフォルトの名無しさん
2018/06/09(土) 18:48:08.83ID:TA6PWthw
全然的外れとは思うけど
delphiを管理者権限で起動してる?
557555
2018/06/10(日) 06:13:38.25ID:5M4DtSyO
確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。
558デフォルトの名無しさん
2018/06/14(木) 03:02:30.74ID:DH9ZUtSo
めっちゃ便利になった

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.53ID:77QANGdm
Indyのヘルプについて教えてください

delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです

事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています

もしかして、ヘルプの内容がかなり古い?
560デフォルトの名無しさん
2018/06/18(月) 20:26:49.62ID:ZzCpcYem
>>559

ここからダウンロードとすといいよ
Delphi についてくるのよりは新しいと思う

https://code.google.com/archive/p/indydocs/downloads
561デフォルトの名無しさん
2018/06/18(月) 22:25:05.80ID:/oEGnL5/
Indyはしょっちゅう引数とか変えるからねー
562548
2018/06/18(月) 23:30:03.81ID:77QANGdm
>>560
ありがとう
早速ダウンロードしてみます
563デフォルトの名無しさん
2018/06/19(火) 07:23:03.75ID:O7MJlrFZ
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.41ID:6Sxd5pS5
OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください
565デフォルトの名無しさん
2018/06/26(火) 00:50:21.65ID:6Sxd5pS5
バージョンはXE8でお願いします
566デフォルトの名無しさん
2018/06/26(火) 20:07:40.02ID:Q/OTN/qp
オブジェクトと普通の変数はさすがに分けないとな
567デフォルトの名無しさん
2018/06/27(水) 08:33:51.96ID:LwNwDPPb
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.53ID:BMGfbdyk
fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな

てか希望する行にプログラムでジャンプできない
これって...
569568
2018/07/01(日) 20:45:39.22ID:UjvaLsGV
昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった

というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと
570デフォルトの名無しさん
2018/07/04(水) 22:07:10.80ID:gFgZc5FG
CMY
571デフォルトの名無しさん
2018/07/05(木) 16:32:14.16ID:AeL6VB/V
CMY
572デフォルトの名無しさん
2018/07/07(土) 01:05:29.30ID:/e+lZ8Kj
        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.84ID:nmWNYHAt
炎猿でwindows以外のOSアプリ開発している人にお聞きしたいのですが、スマフォとかがアップデートされた場合動かなくなるとか、デバッグ出来なくなるとか不都合はないですか?
574デフォルトの名無しさん
2018/07/11(水) 17:39:18.30ID:nuZ0aS+z
ドラクエにいそうだな
炎猿
575デフォルトの名無しさん
2018/07/11(水) 21:49:54.77ID:r5yaKwaw
まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。
576デフォルトの名無しさん
2018/07/11(水) 22:54:26.92ID:ybpsmMVD
そうとも言い切れんから困る
577デフォルトの名無しさん
2018/07/13(金) 07:31:46.74ID:cjGt1E8J
OpenGLが枯れてるからあまり心配なさそう
578デフォルトの名無しさん
2018/07/13(金) 07:36:27.90ID:qQhJFZKh
AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな
579デフォルトの名無しさん
2018/07/13(金) 19:21:29.08ID:I/E3+gDF
OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。
580510
2018/07/15(日) 07:23:54.92ID:DmBJj22K
以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。

https://www.axfc.net/u/3921358?key=delphi

今のところ.wav限定です。

既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)

よろしくお願いいたします。
581510
2018/07/15(日) 07:24:30.45ID:DmBJj22K
以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。

https://www.axfc.net/u/3921358?key=delphi

今のところ.wav限定です。

既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)

よろしくお願いいたします。
582デフォルトの名無しさん
2018/07/17(火) 12:02:31.20ID:XXadd0Qe
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しておきます。
http://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。
583デフォルトの名無しさん
2018/07/17(火) 14:50:49.28ID:+kxKOOfA
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/[email protected]
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
584デフォルトの名無しさん
2018/07/19(木) 07:25:14.70ID:tvMjHs4f
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.48ID:KPlplAON
>>584
ログインしてからダウンロードすると良いかもしれない
586デフォルトの名無しさん
2018/07/19(木) 07:44:26.16ID:tvMjHs4f
>>585
thx
出来ました
587デフォルトの名無しさん
2018/07/23(月) 12:35:10.41ID:TMDKKbFQ
firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?

StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
588582
2018/07/23(月) 19:47:13.97ID:ZNsXOfsj
Dependency Walker
https://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.25ID:9xoPwG77
DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで
590デフォルトの名無しさん
2018/08/04(土) 10:03:56.88ID:pEPpCry/
質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
http://2chb.net/r/mango/1532726276/389

ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
591デフォルトの名無しさん
2018/08/05(日) 07:09:51.51ID:lCE2SUhO
めんどくさっ
592デフォルトの名無しさん
2018/08/05(日) 07:22:17.73ID:lCE2SUhO
今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな

共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
593デフォルトの名無しさん
2018/08/05(日) 07:39:19.78ID:33CDKMsR
Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。

f: single;
f := StrToInt( '$'+ '4D' );

で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
594590です これは書けるかな?
2018/08/05(日) 12:50:09.31ID:gWGunr7x
>592-583
ややこしくてすみません。
http://2chb.net/r/mango/1532726276/496
↑元ソースあどれすも記載しました。

>>592 ありがとうございます。夜にでも調べてみます。
595427です
2018/08/05(日) 22:33:28.02ID:gWGunr7x
>>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。

 浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
 2. 浮動小数点型の値のメモリ上での並び
 https://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;
596590 です
2018/08/05(日) 22:36:47.70ID:gWGunr7x
>595
パールスレでの名前欄 「427です」 がそのまま入ってしまいました。
>>590 です
597デフォルトの名無しさん
2018/08/27(月) 09:41:49.47ID:UfmEJPeB
Delphiの逆コンパイラでおすすめって何になるの?
598デフォルトの名無しさん
2018/08/27(月) 21:32:59.26ID:1pvUgZqM
超初心者スレだから許して のしつもんです。
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。

Pathの 記述とか??
今でも TIniFile とか使いますか?
599デフォルトの名無しさん
2018/08/27(月) 22:05:18.90ID:UfmEJPeB
>>598
exeと同じフォルダ
600デフォルトの名無しさん
2018/08/27(月) 22:24:54.69ID:lZIE2FNf
>>598
%appdata%にアプリケーションのフォルダ作って保存
601デフォルトの名無しさん
2018/08/27(月) 23:33:36.63ID:1pvUgZqM
回答有り難うございます。
とっても参考になりました。

ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\

って感じで 良いみたいですね。
602デフォルトの名無しさん
2018/08/28(火) 12:13:22.36ID:e0zrlbVu
確かプラットフォームごとのパスを取得する関数が用意されてたような
603デフォルトの名無しさん
2018/08/28(火) 16:21:16.43ID:6kEMX7h9
iniファイル便利か
604デフォルトの名無しさん
2018/08/28(火) 18:16:29.63ID:3sF2+X9S
>>603
PCが壊れたとき等、環境移行はローテクの方が・・
605デフォルトの名無しさん
2018/08/28(火) 19:10:27.83ID:pa8Xm38g
レジストリなんか使わない。
XMLなんか使わない。
やっぱりINIがいい。
606デフォルトの名無しさん
2018/08/28(火) 20:53:25.15ID:yUJd0FCJ
「プロジェクトから削除」で削除したunit2,unit3って結局生きてる?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
607デフォルトの名無しさん
2018/08/28(火) 21:09:44.56ID:dFKNKLFU
そもそも
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
608デフォルトの名無しさん
2018/08/28(火) 21:21:58.23ID:mAx5yIVS
>>606
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
609606
2018/08/28(火) 22:07:01.20ID:yUJd0FCJ
>>608
有難う
610デフォルトの名無しさん
2018/08/29(水) 07:06:43.69ID:0P3/EBfJ
(アン)インストーラが付属しないツールで
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
611デフォルトの名無しさん
2018/08/29(水) 19:36:02.35ID:2f70+wG1
>>598 >>601
Win8.1以降でiniファイルは取り扱いが難儀になったので
TIniFileでも拡張子を別のものにすると素直に使える。
例えば .env とか
.ini でトラブルになる挙動としては
管理者権限でプログラムを動かすとiniは書き出せるけどD&Dできなかったり
ユーザー権限で動かすとiniが書き込み変更できなくてエラーになったりする。
612デフォルトの名無しさん
2018/08/29(水) 20:50:27.29ID:CUO+ntMd
インストールフォルダ自体がドキュメントフォルダ強制とかもあるな
613デフォルトの名無しさん
2018/08/30(木) 10:16:05.96ID:S/vwwZyF
>>611
virtualstoreに入ってしまったものを
間違って元のディレクトリ名で見に行くと

「書き込み変更できなくてエラーになったり」

するね
614611
2018/08/30(木) 16:00:49.78ID:xpekrfIC
>>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.31ID:h4Uebctf
WriteInteger使えよww
616デフォルトの名無しさん
2018/08/30(木) 17:54:05.37ID:xpekrfIC
レジストリを汚しまくるのは好かん!
617デフォルトの名無しさん
2018/08/30(木) 18:00:59.87ID:RB/Vojpj
>>616
ほんそれ
618デフォルトの名無しさん
2018/09/04(火) 04:53:47.13ID:cIgTW3mD
スレッドオブジェクトで外部機器と通信するコンポーネント(自分で取り込んだactivexです)を使いたいのですが、
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
619デフォルトの名無しさん
2018/09/04(火) 07:40:32.69ID:Iud04UXg
引数はnilでok
必要ならparentを指定する
620デフォルトの名無しさん
2018/09/04(火) 20:59:53.37ID:cIgTW3mD
>>619
有難うございました。
621デフォルトの名無しさん
2018/09/06(木) 20:32:48.73ID:b7skbySG
十数年ぶりにコード書いてます。

Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。

ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。

uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?

挫けそうですw
622デフォルトの名無しさん
2018/09/06(木) 20:59:54.36ID:Y0pbPBaL
単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
623デフォルトの名無しさん
2018/09/06(木) 21:14:09.34ID:b7skbySG
速攻でスゲー! 解決しました!

HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。

それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
624618
2018/09/07(金) 13:31:35.10ID:nbZaHp3Y
618です。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
625デフォルトの名無しさん
2018/09/08(土) 10:16:41.02ID:7h/1w/8o
C#にしたら
626デフォルトの名無しさん
2018/09/08(土) 12:26:23.76ID:3pZBr9hd
そのまんまでしょうに。アパートメントをまたぐ場合はマーシャリングしなきゃいけない。
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.22ID:ifS5zDmq
>>597
未だに見つけられていない

DeDe 3.50.02 Build 1619 for Windows
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml

Delphi製のバイナリを解析する方法
http://peryaudo.hatenablog.com/entry/20110105/1294209734
>DeDeのprojectタブを使うと、
>ディスアセンブルされたx86のコードをコメントでくくっただけのpasとデコンパイルされたdfmをファイルに落とせる。

x86コードを直接見てもワケワカメ
628デフォルトの名無しさん
2018/09/13(木) 10:48:16.02ID:TILqF4on
FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。
629デフォルトの名無しさん
2018/09/13(木) 15:53:14.96ID:D2+vOfIF
CellByPoint
630628
2018/09/14(金) 00:13:42.04ID:h30gDWV5
ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
631デフォルトの名無しさん
2018/09/14(金) 07:11:59.92ID:N3zUYsZd
onMouseMoveでテストしてみて
632デフォルトの名無しさん
2018/09/14(金) 08:18:00.14ID:sVVlCHCP
ローカル座標に変換する必要あんでね?
633デフォルトの名無しさん
2018/09/14(金) 12:20:56.93ID:rsfS0hy3
>>630
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
634デフォルトの名無しさん
2018/09/14(金) 19:36:31.47ID:KQxf0S5x
てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない
635628
2018/09/14(金) 20:55:44.40ID:QxWxbdYR
皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
636デフォルトの名無しさん
2018/09/14(金) 21:57:04.38ID:KQxf0S5x
こんなんじゃだめなの?
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.06ID:QxWxbdYR
>>636
ありがとうございます。
やりたいことができました。
>>631
ヒントもらっていたのに申し訳ありません。

あくまでもコントロール上の座標を取らないといけないということですね。
ScreenToClientはアプリのウィンド上の座標と言うことで良いでしょうか?
638デフォルトの名無しさん
2018/09/15(土) 00:17:48.45ID:8rxpHkWL
なんで未だにデルファイなんかやっとるんやおまいら?
639デフォルトの名無しさん
2018/09/15(土) 06:26:34.02ID:mxfFGWip
いろいろな言語使えるけどDelphiがベストだと思うから
640デフォルトの名無しさん
2018/09/15(土) 06:42:36.21ID:3TWFaDlw
>>638
てかそんな話はエンバカスレでどうぞ
641デフォルトの名無しさん
2018/09/15(土) 11:07:16.52ID:AVfR6YnT
Delphiは討たれる
642デフォルトの名無しさん
2018/09/15(土) 17:32:12.84ID:AkXmtK9p
>>641
643デフォルトの名無しさん
2018/09/16(日) 10:48:44.14ID:e3KaLVno
SKRegExpの作者はどこに行ったの?
644デフォルトの名無しさん
2018/09/26(水) 11:44:44.46ID:Ov2EA3Ui
今頃デルファイの10.2.3をインストールしようと思うんですが、サイトに書いてあるように一旦10.2をアンインストールしないとまずいですか?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
645デフォルトの名無しさん
2018/09/26(水) 13:25:05.76ID:WoZunzir
>>644
別のプログラムとしてインストールされるからTokyo用のコンポーネントは再インストール必須
別に10.2を残してても共存はできる
646デフォルトの名無しさん
2018/09/26(水) 15:05:08.27ID:Ov2EA3Ui
なんか共存できんかった
647デフォルトの名無しさん
2018/09/26(水) 17:59:31.37ID:7bJbQB0s
同居出来ないってCPB CEでも入ってるのか?
648デフォルトの名無しさん
2018/09/26(水) 19:21:31.24ID:ANIjlW8h
BerlinとTokyoは共存できるけどToky同士は共存できなかったはず
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね

Webインストールの場合はそれができないんだったっけ
649デフォルトの名無しさん
2018/09/26(水) 19:58:22.59ID:V9O91uO9
サードパーティのコントロールが消えるのが嫌でアンインストールせずやってしまった。orz
650デフォルトの名無しさん
2018/09/28(金) 08:42:20.23ID:CK9JalNS
ツールパレットにはコンポーネントのアイコンがきちんと表示されているんだけど、フォームに配置するとアイコンが見えない位小さくなってしまうんだけどなんで?
651デフォルトの名無しさん
2018/09/28(金) 18:27:10.70ID:L/CPkr5D
>>650
老眼かい?
他人にはあんたの見て思ってる物が大きいか小さいかなんてエスパーでもないから分らない。
画面キャプチャーでもして画像貼れ
652デフォルトの名無しさん
2018/09/28(金) 20:17:23.17ID:CK9JalNS
そうか、ご苦労
653デフォルトの名無しさん
2018/09/29(土) 04:51:42.90ID:61Ke5MR1
フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
654デフォルトの名無しさん
2018/09/29(土) 06:17:50.02ID:SaDPGrJG
>>650
4Kモニターを使っているのかい?
655デフォルトの名無しさん
2018/09/29(土) 20:55:31.30ID:nJOGxOxE
そして
ふてくされて二度と来ないコミュ障であった
656デフォルトの名無しさん
2018/09/30(日) 05:42:12.80ID:OYYkxayT
かわいそう・・・
657デフォルトの名無しさん
2018/09/30(日) 16:24:03.95ID:sVuwBfqE
意外とみんな覗いてんな
658デフォルトの名無しさん
2018/10/03(水) 20:49:10.84ID:T89/Qa9b
モニタにもっと顔を近づけるんだよ きっと見れるよ
659デフォルトの名無しさん
2018/10/04(木) 10:29:39.99ID:FXVBuQxV
モニタよモニタよモニタさん
660デフォルトの名無しさん
2018/10/06(土) 09:18:43.15ID:ruQOvniH
マルチデバイスのソフトを初めて作ろうと思っています。
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
661デフォルトの名無しさん
2018/10/06(土) 12:13:05.71ID:Z2kGgnGa
まずalignの使い方かな
662デフォルトの名無しさん
2018/10/06(土) 15:33:22.97ID:dM0Hntxh
>>660
FireUI
663660
2018/10/07(日) 08:57:42.83ID:XyZZDpel
有難うございます。
調べて勉強します。
664デフォルトの名無しさん
2018/10/13(土) 18:12:13.98ID:3G3/hyQa
何かウェルカムページを開きたびに
セキュリティ警告が出るんだが
665デフォルトの名無しさん
2018/10/13(土) 22:28:09.39ID:19TuI9Cj
>>664
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
666デフォルトの名無しさん
2018/10/13(土) 23:05:26.94ID:ApCV8gEF
>>665
なるほど

今日はvclとfmxアプリ間のメッセージングのテストやってて
切り替えるたんびにダイアログが何度も出てイヤんなる
667デフォルトの名無しさん
2018/10/17(水) 17:24:01.23ID:GbCGuExa
ブラウザのタイトルを取得したいんですけど、

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.11ID:GbCGuExa
解決しました。
VLCじゃやないやつで作ろうとしてたみたいです!
669デフォルトの名無しさん
2018/11/06(火) 12:05:36.75ID:FnkVAeUe
FMXでLabelのバックカラーの変更って出来ない?
今はPanelの色を変えて、その上に貼り付けてるんだけど。
670デフォルトの名無しさん
2018/11/06(火) 15:03:32.51ID:lO/IgrxW
>>669
labelのスタイルに背景ってないからムリじゃないかな

あとpanelよりtlayoutの上にtrectangleのせて
さらにlabelはったほうが柔軟性が高い
671デフォルトの名無しさん
2018/11/06(火) 16:08:30.30ID:xJl/nUxi
>>670
TRectangle、オブジェクトエクスプローラからなら子に色んな物入れられるよ
(要するにTRectangleがTLayoutのように使える)
672デフォルトの名無しさん
2018/11/06(火) 18:54:34.08ID:O/iOsvOA
>>669
XE5までの知識しかないが、
TStyleBook割り当てて、そっちで対応するんじゃなかったかな?
673デフォルトの名無しさん
2018/11/06(火) 19:14:26.53ID:lO/IgrxW
>>671
ホントだ

TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
674669
2018/11/06(火) 22:06:13.74ID:FnkVAeUe
皆さん、ありがとうございました。
Rectangleって楽ですね。
もう一つ教えて下さい。
panddingとかmarginsを設定して0に元に戻すと隣のコントロールと隙間が空いたままになるのは自分だけ?
675669
2018/11/06(火) 22:08:56.05ID:hsnGAH6F
訂正です。
panddingとかmarginsを設定して実行。
その後、全部0に戻して実行しても隙間が空いたままです。
676デフォルトの名無しさん
2018/11/07(水) 12:11:35.51ID:wV9cKqqT
>>675
fmxのmarginはちょっとバグってる気がする

その例と同じかどうか分からないけど
複数のspeedbuttonをalignをleftにして並べて
ボタンのmarginを一度設定すると
marginを解除しても
ボタンの左半分くらいがマウスに反応しなくなる

いろいろやってると何かのきっかけで正常になったりする
677デフォルトの名無しさん
2018/11/07(水) 12:24:36.39ID:wV9cKqqT
上にスタイルの話があるけど
スタイルで背景色を変えたら
Windows10以外では適用されてなかった

コンパイルのしかたかなぁ

最近公開したソフトで
ユーザに指摘されて初めて気づいたよ
678669
2018/11/08(木) 21:49:27.80ID:+35zDuDi
結局プログラムで指定すれば配置されるので我慢します
679デフォルトの名無しさん
2018/11/15(木) 21:17:33.28ID:T3q1kNSY
fmxでのフォームの最小化と復帰だけど
コードだけでで問題なく動作する?

WindowState := TWindowState.wsMinimize;
WindowState := TWindowState.wsNormal;
でできるはずなんだけどね
何かうまく機能したりしなかったり
680デフォルトの名無しさん
2018/11/20(火) 09:18:03.84ID:7wJBb/wv
本棚からDelphi7体験版が出てきたのでインストールしようとしたら、
ライセンス取得のところでエラーが出て使用することができません。
今更ながら、使うことは不可能なのでしょうか?

DelphiXEで非Unicodeのソースが作れればそれでも構わないのですが。
681デフォルトの名無しさん
2018/11/20(火) 22:24:15.58ID:yy/MaTgl
今ならフリーのDelphiありますよ
682デフォルトの名無しさん
2018/11/20(火) 22:25:24.56ID:yy/MaTgl
すみません非Unicodeと限定されている意味がわからないので現行のものではダメなのかも知れませんね
683デフォルトの名無しさん
2018/11/21(水) 01:49:20.19ID:LolYlRS5
使用許諾コードがメールで送られてくる登録フォームならある
今でも機能してるのか知らんけど
http://support.embarcadero.com/jp/install/product
684デフォルトの名無しさん
2018/11/23(金) 08:08:59.67ID:aknsIo8R
>>683
良くサイトを見たら、体験版の承認キーの発行は終了しているみたいです。
せっかく教えていただいたのにすみません。
685デフォルトの名無しさん
2018/11/24(土) 01:36:16.72ID:e4CBxpxl
FMXをタッチパネルついてるWindows10で動作させるとTListViewとかが勝手にタッチパネル用のスタイルになるのどうにかならんかなぁ
Scrollbarが表示されない上にタッチパネル操作になるから操作が統一できない・・・
デバイス自体を無効にしたらタッチパネルじゃないスタイルで動作するけどなんだかなー
686デフォルトの名無しさん
2018/11/25(日) 11:17:43.53ID:x9MDawPF
ListBoxの項目にFocusを付与したいのですが、3,4日うまくいかず困っています。
クリック以外の方法でListBoxにFocusを付与する方法というのはありますか?
687デフォルトの名無しさん
2018/11/25(日) 21:01:29.45ID:4hnmy7r/
ListBox1.ItemIndex:=3;
ListBox1.SetFocus;
ってこと?
なんか以前にもこんな質問あったような気がするが
688デフォルトの名無しさん
2018/11/26(月) 13:46:48.38ID:gMNgG1vk
>>687
どうもです。
ただ、マウスクリックするとFocusが出ますが、ListBoxの他の所をクリックすると消えちゃうんですよね…。
689デフォルトの名無しさん
2018/11/27(火) 01:04:25.95ID:uHJWsmxJ
>>688
そりゃそうだ
他のフォーカスを持つ所をクリックすればフォーカス移る

何がしたいのかわからない
「ウィンドウ ハンドルを持つコンポーネント」の意味を理解してますか?
例えばここ http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabeapp.htm

ListBox以外にフォーカス動かしたくないんなら
他の全てをフォーカスを持たないSpeedButtonとかメニューやツールバーとかにするしかない
或いは他を Enabled:=Falseにするとか
690デフォルトの名無しさん
2018/11/27(火) 09:44:39.76ID:/9xlS8t7
こんな物を作っていました。
http://www1.axfc.net/u/3946835.zip?key=123456
既知の不具合
下手にいじると簡単にバックグラウンドプロセスに行ってしまう。

Focusについてですが、このアプリはFocusが残る物をベースに作りました。
新しく作り直した物がListboxをクリックすると一瞬だけFocusが表示されるのですが
すぐ消えてしまうと言うよく分からない現象が起きていました。

よろしかったらご評価いただければ幸いです。

もう我流は辞めてTurboDelphi〜を参考書に勉強したいと思います。
691デフォルトの名無しさん
2018/11/27(火) 09:53:17.62ID:/9xlS8t7
大事なことを忘れていました。

このアプリはエクスプローラ上で.wavファイルを選択し「送る」もしくはアイコンでD&Dすると再生を始めます。
またアプリを起動して、エクスプローラからフォームに直接D&Dすると曲を演奏します。

よろしくお願いいたします。
692デフォルトの名無しさん
2018/11/27(火) 12:16:28.81ID:e3+VQ8Az
例のお方か
まだやってたのはちょっとビックリ
693デフォルトの名無しさん
2018/11/27(火) 15:00:40.58ID:/9xlS8t7
そうですよ。まだやってました。石の上にも3年と言う言葉もありますし
おかげさまで、プログラミング技法の第一巻の半分くらいまでは理解できるようになりました。
今度はちゃんと基礎からやり直したいと思います。

あげたファイルはアルファー版ほどの出来ですが、今の知識で作った物です。
ご興味がありましたら、ご評価をよろしくお願いいたします。
694デフォルトの名無しさん
2018/11/27(火) 20:14:14.72ID:NOmVen+G
>>685
確かにスクロールバーが通常は非表示だけど
そんなに違いがあったっけ?

自分としてはマウスホイールでスクロールしてるときも
スクロールバーが非表示なのがあれだけど
695デフォルトの名無しさん
2018/11/27(火) 20:24:03.07ID:B1T5LoxP
>>694
マウスでドラッグしたらスクロールできたり(タッチパネル式だからマウスでスクロールバー操作するのとは逆の動きする)、スクロールバーが表示されてるときにクリックしても反応なかったり
OS側で常にスクロールバー表示しても非表示とか

レガシーな入力デバイスが主なプラットホームでは切り替えられるようにしといて欲しい・・・
696デフォルトの名無しさん
2018/11/27(火) 22:24:05.07ID:NOmVen+G
>>695
てかいま自分が作ってるfmxアプリをwindowsタブレットで動かしてみると
listviewとかのタッチでのスクロールには少し違和感があるね
android上とは明らかに違う操作感だ
697デフォルトの名無しさん
2018/11/27(火) 22:44:39.21ID:uHJWsmxJ
>>690
ごめん俺687と689を書いた者だけど自分の勉強以外で人のソース読むほど時間はないんだ
と書きながらも流し読みだけでもしようかと開いてみたら
「404 Not Foundファイルが見つかりません」

>新しく作り直した
と書かれているがそれは今までのソースのつぎはぎコピペではなく自分で理解しながら書き起こしたものですか?
それならば不具合が出たとしても何をググって調べればいいかわかると思います

プログラミング技法って昔持ってた記憶があるけど一度通読したあと埃かぶってたまま引っ越しの時に捨てたくらいいまいちな本だった記憶
自分はやっぱり最初は「はじめてのDelphi」が一番わかりやすかったし
「Delphiオブジェクト指向プログラミング」でVCL読むようになって
「インサイドDelphi」とか「シェルプログラミング入門」が楽しく読めるようになった

そうです私もおじさんです
698デフォルトの名無しさん
2018/11/27(火) 22:49:52.31ID:NOmVen+G
>>690
何をしたいのか分からないよ?
focusって言葉がそもそも違うんじゃない?

もし何らかの理由で本当にlistboxにfocusを与えたまま
維持したいんだけど、できないんだったら
他のコントロールがfocusを奪ってるんでしょ

それを調べたらいいんじゃない?
699デフォルトの名無しさん
2018/11/27(火) 23:04:45.17ID:NOmVen+G
>>697
自分なんか「おじさん」じゃなくて
60過ぎのジイサンだよ

と言ってもdelphi歴は短いけどね
今はfmxにハマってる
700デフォルトの名無しさん
2018/11/28(水) 07:11:14.22ID:cOVA6pyZ
ListBoxってフォーカスの有無で外観が変わったっけ?
フォーカスがなくなって困ることってある?
701デフォルトの名無しさん
2018/11/28(水) 18:42:27.35ID:6Wq1ldCo
ご評価していただいた皆様ありがとうございます。
このソフトを作るときは、巻き戻し・プログレスバー移動自由自在・リモコン対応
を目標に作り始めましたが、どれ一つも実現できませんでした。
MCIを使っての巻き戻しは、テープ系なら可能みたいですがMpegではデバイスが対応していないので無理。プログレスバーでの移動はどんなに大変なのかは、DelphiでDVDプレイヤーを作った方のサイトがあるのでそちらを参照してください。
大本のVolume制御以外は自分で実装しましたが、新しく別プロジェクトを作って試作してめどが立ってから導入しましたが、何故か思ったように動かず。
前半はMCIに翻弄され後半はインターフェースに苦しみ、メディアプレイヤーはもう少し修行を重ねてから、作りたいと思います。
愚痴めいた内容ですみません。

色々アドバイスをしてくれた皆様、特に質問を投げかけたときに、コマンドを一言つぶやいていただいた方、自分で使い方を調べることで理解が進みました。
スレ汚し失礼しました。
702デフォルトの名無しさん
2018/11/28(水) 18:45:05.85ID:KTh/kflZ
3行で頼む
703デフォルトの名無しさん
2018/11/28(水) 19:03:58.25ID:6Wq1ldCo
教えてくれた皆さんありがとう
つかれた
mp3再生君にはかないませんでした。

こんな感じで
704デフォルトの名無しさん
2018/11/28(水) 19:51:39.78ID:N0ilq15o
>>702
おまえ1行じゃねえか
705デフォルトの名無しさん
2018/11/28(水) 19:52:09.33ID:9Dt+AyzE
>>513
706デフォルトの名無しさん
2018/11/28(水) 21:12:16.13ID:6Wq1ldCo
そうでした。
Object Pascal言語ガイドを少し腰を据えて読んで理解したいと思います。
707デフォルトの名無しさん
2018/11/28(水) 21:32:01.67ID:m6jgQPaC
前も言ったような気がするけど
fmxのコントロールのカスタムスタイルって
Windowsだと10でしか有効にならなくない?

設定した背景色とか8.1や7じゃ消えてるし
708デフォルトの名無しさん
2018/11/28(水) 22:21:14.73ID:KTh/kflZ
>>707
Windowsのバージョンで別々に設定できる反面、Windows10専用で設定されてるのに気付かないと別の環境では変な表示になっちゃうよね
709デフォルトの名無しさん
2018/11/28(水) 23:14:08.68ID:DuRogDXc
MCI君をいじると擁護する単発が現れるのももう恒例行事になってきた。
710デフォルトの名無しさん
2018/11/28(水) 23:46:29.77ID:WWqTncYq
え?誰が擁護してる?
711デフォルトの名無しさん
2018/11/29(木) 00:17:09.19ID:3U/+XJ1L
ほらね
712デフォルトの名無しさん
2018/11/29(木) 08:37:13.44ID:J6L5KB/r
>>708
そうなんだ

確かに「ターゲットプラットフォームの
バージョンごとにネイティブ」って書いてあるね

Windows 10 Desktop用に作ってあったとして
新たに8用と7用も作ってやらないとならないのか

こりゃちょっと大変な作業だ
713デフォルトの名無しさん
2018/11/29(木) 15:25:33.53ID:yQEZusSx
>>712
デフォルトスタイルに設定するか、スタイルを保存して各プラットホームにマージしたらそんなに手間でもないよ
714デフォルトの名無しさん
2018/11/29(木) 21:26:39.87ID:w2wW1sYB
>>713
ありがとう
マージできるんだ

何もわからないで始めたのがマズかった
715デフォルトの名無しさん
2018/12/05(水) 10:09:27.51ID:mTCdLhw6
DelphiXEを使ってます。
エクスプローラからプロジェクトファイルをダブルクリックしてDelphiが起動するのですが、
さらにもう一つ同じ操作で起動すると、先に起動したIDEのプロジェクトグループに追加され
てしまいます。2つ目のプロジェクトを別のIDE画面で起動したいのですが、そのような設定
があるのでしょうか?
716デフォルトの名無しさん
2018/12/06(木) 13:52:27.48ID:DDjonqa2
無い
そういうものと思うしかない
717デフォルトの名無しさん
2018/12/07(金) 09:21:09.18ID:2Avy4w/h
>>715
スタートメニューから起動してプロジェクトロードするしかない
レジストリをいじれば出来るかもしれないけど
718デフォルトの名無しさん
2018/12/08(土) 09:28:52.05ID:p9Ru1ius
Rioの各デスクトップレイアウトを変更した後
それを保存する項目がメニューから消えたみたいですが?
719デフォルトの名無しさん
2018/12/08(土) 13:38:29.09ID:NwPO1Ie0
>>718
https://qiita.com/ht_deko/items/573f7c11c15c46f895c6

のQ.7かな?
720デフォルトの名無しさん
2018/12/08(土) 17:06:57.94ID:p9Ru1ius
>>719
ありがとうございました
できました

このボタンが関係するのかなとも思いましたが
Hintも非表示でスルーしてました
721デフォルトの名無しさん
2018/12/12(水) 22:30:39.97ID:MSpbLBgR
エンタープライズコネクターのインストール方法教えて下さい。
ダウンロードしてsetup.exeを実行してパスを通すの?
722デフォルトの名無しさん
2018/12/13(木) 09:33:41.92ID:+QyQFfQj
ちょっと教えてください

fmxのカスタムスタイル変更でコントロールの背景を変更するとき
Windows 10 Desktopstyle.pngとかWindows 7style.pngとか利用しますが
これってどこにあるの?

この画像を修正したいいんですがドライブの中を検索しても見つかりません
723デフォルトの名無しさん
2018/12/13(木) 11:47:04.04ID:YCEJ54t4
Delphi10.3 Community Edition 入れてみた
オブジェクトインスペクタのイベントTabが開かないんだけど
俺だけ?
Delphi10.23 Community Editionでは問題なく選択できる
724デフォルトの名無しさん
2018/12/13(木) 16:31:21.26ID:vV5HNjFS
10.23とかなり新しいから修正あったんだろ
725デフォルトの名無しさん
2018/12/13(木) 18:38:58.45ID:YCEJ54t4
'イベント'の文字の所をクリックすると いけた
TABの色と右側空白の色が同じだったので、空白をクリックしていただけだったw
726デフォルトの名無しさん
2018/12/13(木) 19:43:45.07ID:w3f+OOI4
クリックしてイベントTabを開けない方が難しいと思うw
727デフォルトの名無しさん
2018/12/15(土) 02:19:47.94ID:bDhDTHwp
10.3でPostMessageを使ったメソッド、イベントハンドラ呼び出しの
標準のラッパーみたいのありますか

Call(Button1Click, [Sender]);

的な使い方ができるもの
728デフォルトの名無しさん
2018/12/21(金) 18:01:03.17ID:cky1I29u
AndroidアプリのためにFMX.MEMOを使って
簡単なテキストエディタを作ろうと思ったが
いざAndroid上で動かすと、漢字入力の際
変換中の文字列の色が変化せずに困っている

普通は入力中の文字、文節の区切り、カーソル位置で
色が変わったり下線が表示されるが、周りの文字と同じままで
どこが入力中で、どこが文節の区切りなのか分からない
何か設定が足りないんだろうか?
(IMEはGoogle日本語入力です)
729デフォルトの名無しさん
2018/12/22(土) 08:55:33.68ID:NdThNIsr
まあバグだろうね。欧米人はIMEとか使わないから
730デフォルトの名無しさん
2019/01/20(日) 15:49:29.87ID:qfpRHOuf
D7 です。
それなりに以前の機器の古いバイナリデータの日時情報が 8 byte(64bit) Hex で記録されているのですが、
日付TDateTime型 に入れる式をどなたか分りませんでしょうか?

この形式のような気配なのですが
http://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.16ID:pkTQkmr2
64bitの符号付きかね?

符号無しでも試してみれば?
732731
2019/01/20(日) 18:33:56.63ID:pkTQkmr2
整数型は、符号付き・符号無しのどちらか?
リトルエンディアン・ビッグエンディアンのどちらか?

そのサイトのソースコードを見ると、
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.51ID:KDWvqb8v
D7から10.3comに変更してAndroidアプリでも作ろうかと気軽にチャレンジしたら
すげー苦労してる・・・
プロパティ名が微妙に違うしStringGridとかListviewみたいになってるし
ダイアログとかも面倒くせー
734デフォルトの名無しさん
2019/01/20(日) 20:13:41.94ID:KDWvqb8v
すまんエン馬鹿スレと間違えた メッセージが分かりづれーよJane
735730
2019/01/21(月) 09:36:20.23ID:a6ON0eDT
詳細書き直し
古い規格データの機器からのバイナリデータ。
目的:古いデータを今の形式にする為。
日時部分を 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.46ID:p/5Zwz2x
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;
737730
2019/01/21(月) 09:56:47.94ID:/4Ne5b0H
パソコンで続きを書こうとしたらホスト規制の文字が出る
>736 考えてみます
738736
2019/01/22(火) 07:57:49.66ID:wlBx3Xs7
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.33ID:zgLYWjKa
>>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.44ID:zgLYWjKa
>>738
データ点数1529は、
1529 = 54 * 28 + 1
なので、28Hzのクロックシグナルでログを取っているものと予想される
741デフォルトの名無しさん
2019/01/22(火) 22:15:27.13ID:zgLYWjKa
>>738
日時の表現が.NET frameworkのDateTime互換と仮定すると、

>>739 では上位1bitを捨てたけど、実際には2bit捨てるのが正しい。

この2bitが何物かといえば、
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)

例示された値の上位2bitは0b10(=2)なので、ローカルタイムだったのだろうと推測される。
742736
2019/01/23(水) 06:54:24.00ID:BnZEIkIf
>>739-741
ありがとうございます。
まとめるとこのような感じで上手くいくようです。
743736
2019/01/23(水) 06:56:58.78ID:BnZEIkIf
.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 日のローカルタイム経過日
744736
2019/01/23(水) 07:02:27.05ID:BnZEIkIf
.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
一致しました。
745736 関数化
2019/01/24(木) 06:22:34.57ID:+IgQLcoJ
関数化したものを分けて書こうとすると
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進数数値に変換
746736 関数化
2019/01/24(木) 06:38:11.74ID:+IgQLcoJ
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.
747736 関数化
2019/01/25(金) 06:18:32.24ID:/nan/z+i
補足

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.03ID:V7Vc5iY/
DocWikiの内容をzipファイルか何かで一括ダウンロードする方法あったら教えてください
749デフォルトの名無しさん
2019/02/10(日) 07:14:24.28ID:RF523CmO
古いD6をまだ使っているが、エディタは VScode にDelphi extension入れて
使っている
デバッグはD6のIDEでやるしかないけど、両方立ち上げておけば
まあ使えますね
750デフォルトの名無しさん
2019/02/10(日) 10:26:35.22ID:3PGMldSJ
俺もD6で、秀丸でコーディングしていたが、VSodeに切り替えてみようかな。
VSCodeは他の言語で使ってるので。
751デフォルトの名無しさん
2019/02/10(日) 18:01:50.44ID:RF523CmO
VScodeの注意点: 別PCのファイルを開くと、変更が反映されない事象あり
自動保存されるけど、書きなおしたやつをまた開くと直っているように見えるのに、
実際は直ってないとか。 意味不明
752デフォルトの名無しさん
2019/02/10(日) 20:08:43.74ID:RF523CmO
>>751 あっちとこっちで同時にファイル開いてたせいみたい
753デフォルトの名無しさん
2019/02/17(日) 19:49:40.12ID:mFe1BbW0
別に今必要な事じゃないんだけど
エクスプローラーのファイル名で並べたら

ファイル1
ファイル2
・・
ファイル10

って並ぶでしょ。 これどんなロジックなんだろ
スマートな方法が思いつかないし興味ある
754デフォルトの名無しさん
2019/02/17(日) 21:28:00.77ID:8qqWbI4p
自分は自作ソフトで似たようなことやってるけど
1文字単位での比較で数値同士の比較の場合に、その先の数値じゃなくなる前まで読んで整数にして比較ってしてる
小数点以下は1文字単位での比較として扱うので整数にしない

ただ 第11話 最終話 のような場合のロジックが面倒
755デフォルトの名無しさん
2019/02/19(火) 06:54:39.26ID:9UQztg+8
VisualStudioでDelphi使えないかなぁ
756デフォルトの名無しさん
2019/02/19(火) 08:12:14.24ID:BDyhgoG4
Delphi Community EditionとC++Builder Community Editionは同時にインストールできないんだな。
757デフォルトの名無しさん
2019/02/19(火) 09:38:23.94ID:5KoJ2HbW
>>753
例えばこういうのは?
ファイル名文字列をバイト単位で数値化して加算
f0 = 0x65 + 0x30 = 101 + 48 = 149
f1 = 150
f2 = 151
f01 = 0x65 + 0x30 + 0x31 = 198
数値化した値で降順ソート

つまり
格納されてるファイル名を文字ではなく文字コードの数値合計でソート
758デフォルトの名無しさん
2019/02/19(火) 09:58:03.22ID:5KoJ2HbW
補足
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]);
適当処理
759753
2019/02/19(火) 16:58:58.81ID:kMKRA1xT
有り難うございます
おもしろい・・・
760デフォルトの名無しさん
2019/02/19(火) 17:54:17.46ID:oJBYXncw
>>757
それだと

abcd5.txt
bbcd1.txt
というファイルがあった場合に

bbcd1.txt
abcd5.txt
という並び順になっちゃうんじゃね?
あくまで"文字列"+"数値" というファイル名に対して"文字列"で比較し、"文字列"が同一なら"数値"で比較する必要があると思うが

>>754の場合、数字が文字列の一部だった場合に正しくソートされないって問題があるけど
そういう場合のファイル名はあまり意味がないから気にしないようにしている
それと先頭が数字の場合は文字列の一部として扱ってる
761デフォルトの名無しさん
2019/02/19(火) 19:07:51.51ID:0tdxPmy7
StrCmpLogicalW
762デフォルトの名無しさん
2019/02/19(火) 19:34:05.73ID:oJBYXncw
自分の場合、壱弐参なんてのも数値として扱うようにしている(したい)からAPIだと望んだ結果を得られない
「数値もしくは数値に変換可能なもの」同士の比較の場合だけ整数として比較してる
763デフォルトの名無しさん
2019/02/21(木) 17:17:10.52ID:2mlLSirQ
begin
  var
    i: Integer;
  i := 0;
end;
コードフォーマッタ使うとこうなってしまうのだけどvarのあとで改行しない設定ってどこ?
764デフォルトの名無しさん
2019/03/12(火) 15:37:42.39ID:G73gvPJk
https://qiita.com/ht_deko/items/41e95154e8da2f901698
コメ欄w
765デフォルトの名無しさん
2019/03/12(火) 16:19:08.39ID:8KtfShI4
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.05ID:w5DEurD7
結局なんだったのアレ?
767デフォルトの名無しさん
2019/04/02(火) 23:02:52.38ID:Jpqx4ytb
ちょっと教えてほしいんですが、社内イントラネット環境で50台くらいのクライアントPCと
1台のサーバーで双方向に情報をやり取りするVCLフォームアプリを作りたいですが
Delphiだと何使って構築するのが良いのでしょうか?
上からの命令でDelphi使うことなって調べてみたんですが、検索するとDataSnapとか
RESTとかのキーワードが出てきますが自分の経験がDelphi7でストップしていて
現状についていけてません。よろしくおねがいします。
768デフォルトの名無しさん
2019/04/03(水) 02:20:05.63ID:ZykPhSzn
>>767
情報のやり取りだけでは何とも言えんなー
それだけの要件だとIndyかWinsocksで通信したらええんちゃうってなる
769デフォルトの名無しさん
2019/04/03(水) 05:47:42.38ID:qbGQvqkC
ふつーにIISで鯖立てて、httpでやりあえばよくね?
770デフォルトの名無しさん
2019/04/03(水) 06:04:14.50ID:Vd76zIcd
CのDLLは普通にDelphiでも使える。
つまりcurlとかも普通に選択肢になると思う。
771デフォルトの名無しさん
2019/04/03(水) 09:22:36.44ID:CI6gl4VO
なんでDelphiが指定されたんだろう?
今まで使ってた訳じゃないのに
772デフォルトの名無しさん
2019/04/04(木) 06:32:46.99ID:HLoaCcLX
ネィティブ系だと実質C++かDelphiかの選択肢しかなくね?
773デフォルトの名無しさん
2019/04/04(木) 19:27:06.29ID:GNoSo19c
そだねー
774デフォルトの名無しさん
2019/04/12(金) 06:11:32.75ID:MYAmm+z/
>>767
Firebird + Apache + SOAP
775デフォルトの名無しさん
2019/04/12(金) 06:17:57.84ID:MYAmm+z/
>>753
[Delphi]Windows XPの規則(自然順ソート・natural sort・natural ordering)ででファイル名をソートする
https://www.gesource.jp/weblog/?p=5947
776デフォルトの名無しさん
2019/04/26(金) 08:30:46.09ID:l06kgRZY
>>767
https://www.embarcadero.com/jp/products/delphi/starter
Community Editionで使えるか試してみ
777デフォルトの名無しさん
2019/04/26(金) 08:31:55.46ID:l06kgRZY
>>774
DBはPostgreSQLかMariaDB
778デフォルトの名無しさん
2019/05/06(月) 11:11:11.14ID:WAQCiPA3
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.78ID:a/Eukqc8
>>778
使用しているdelphiのバージョンを書いてください。
delphi2009前か後かで回答が変わるかもしれないからです。

UnrarChechArchive関数の仕様に基づいて型キャストしてやれば良さそうな気がします。
例えばnull終端wide stringという仕様なら、渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
780デフォルトの名無しさん
2019/05/06(月) 13:23:28.45ID:WAQCiPA3
>>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.46ID:6T4so0Ox
LongFileNameをShortFileNameに変換すると
幸せになれる
782デフォルトの名無しさん
2019/05/06(月) 20:48:15.87ID:WAQCiPA3
>>781
ナイスアドバイスです
GetShortPathNameで上手く行きました

おかげさまで幸せになれました
ありがとうございました
783デフォルトの名無しさん
2019/05/10(金) 10:35:30.18ID:VUdPAgci
TDateTime datetime = VarToDateTime("令和元年5月10日9時10分15秒");
今はエラーが出るんだがそのうち対応されるのか?
784デフォルトの名無しさん
2019/05/10(金) 20:47:06.76ID:bRXsPgWN
FormatDateTime('ge', Now);

レジストリに令和を加えてから上記を実行すると令1 って出るね
785デフォルトの名無しさん
2019/05/11(土) 03:08:09.14ID:KNhq3FbT
いずれ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.16ID:Kr8GnLfu
vsIconかつAutoArrangeのListViewで、両端のアイテムを選択した状態で左右キーを押すと、
エクスプローラーなら上下の列に移動しますが、DelphiのTListViewだと無反応です
これをエクスプローラーに準拠の動作をさせるにはどうすればよいのでしょうか?
787786
2019/05/15(水) 06:10:55.25ID:jY9AnPp4
自己レスです
通常方向キーなどは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.51ID:jY9AnPp4
訂正

Result := 1;でした
789デフォルトの名無しさん
2019/05/26(日) 19:04:45.15ID:Nlo0sxin
開発環境だと問題ないのですが
実行したいPCだと
「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」と警告が出ます。
いくつかのDLLを使ってます。
どこから調べれば良いか???です。
開発環境は XE3 です。

何かヒントでもありませんか?
790デフォルトの名無しさん
2019/05/26(日) 20:54:01.76ID:zVm0Vl5m
>>789
メッセージググればそのまま出てくるけどVBA関連では?
こことか
https://ameblo.jp/realsystems/entry-11946216560.html
791デフォルトの名無しさん
2019/05/26(日) 21:22:58.51ID:Nlo0sxin
有り難うございます
警告メッセージは最初にググったのですが ピンとくる書込は見つけられませんでした
VBAは使ってないし・・
開発環境 Win7 x64 、実行環境 Win10 x64 です。
当初はそんな警告出てなかったのですが デバッグしてるうちに出るようになりました

困った・・・
792デフォルトの名無しさん
2019/05/27(月) 06:55:38.20ID:+4vJq2r8
とりあえず、「動いている状態」ってのに戻してみたらどうかね?
それが再現できるなら話は簡単になる
793デフォルトの名無しさん
2019/05/27(月) 09:20:16.88ID:ywThIruX
コメント感謝します
DLL参照の プロパティ値代入を1行追加してから症状が出るようになった気がするのですが(自信なし)
それをコメントアウトしても症状が消えません
開発環境では出ないので厄介です
Delphiが タイプライブラリを自動で追加したり とか しないですよね?
794デフォルトの名無しさん
2019/05/27(月) 09:39:37.30ID:+4vJq2r8
そうじゃなくて、前の状態のファイルとかシステム一式をバックアップから取り出せないの?
自動でバックアップしながらじゃないとソフト開発は効率わるいよ。
795デフォルトの名無しさん
2019/05/27(月) 11:28:59.51ID:ywThIruX
お付き合いホントに有り難うございます
開発環境と 実行環境が 1時間の移動距離にあるので
今現在出来てるテストが上記の書込でした
開発ファイル群は毎日のバックアップがあります
先ず、手元に現象を再現できる環境を構築しようと思ってます。

1度ビルドすると ソースの変更点をコメントアウトしても 元に戻らない
「何か」が有る可能性はあるのでしょうかね?
796デフォルトの名無しさん
2019/05/27(月) 12:32:39.96ID:9qF1YjML
どうせADOとかOLE DBとかそっちの問題だろ?
797デフォルトの名無しさん
2019/05/27(月) 13:08:16.22ID:AYKzEEPJ
>>795
四の五の言ってないでデータベースドライバ入れろ
798789
2019/05/27(月) 16:22:46.11ID:ywThIruX
コメント有り難うございます

データベースドライバは入っています
入れ直すということでしょうか?

先の警告メッセージが出たあとOKを押すと 一見正常に動作しているように見えます。
そもそも警告が出始める前は 一通り正常に動作していました。

原因がわかりません。
旧ソースをビルドし直してテストしてみます。
799デフォルトの名無しさん
2019/05/27(月) 20:19:06.04ID:zpIi4cEd
データベースドライバが32bitか64bitなのかが開発環境と実行環境で違ってたら
そんなようなエラーが出たような気がするが
800789
2019/05/27(月) 20:33:13.36ID:ywThIruX
>>799
コメント心から感謝します

警告メッセージをググると そんなことも書いてありました
只 当初は問題なく動作していたので 途中でドライバーが変わるようなことも考えにくいですよね
Delphiで書いた実行ファイル以外は一切環境を変えていませんので 謎です
801デフォルトの名無しさん
2019/05/28(火) 00:25:44.07ID:M3HPfliA
32bit用ドライバ → system32 に入れる
64bit用ドライバ → wow64 に入れる

こういう勘違いをしてるアホは時々見かける
802デフォルトの名無しさん
2019/05/28(火) 00:29:31.95ID:Ht1RoDma
そういう命名にしたMSが最高のアホだろ
803デフォルトの名無しさん
2019/05/28(火) 08:25:10.69ID:m8dRe03e
アプリのバージョンを表示するコードが上手く行かないんで悩んだがどうやらデバッグ版とリリース版でバージョン情報が共有されない仕様になったんだな
デバッグ版、リリース版でそれぞれバージョン情報をオプション設定しなきゃならないんで面倒くさいわー
デフォの文字コードも英語版になってるしなんかいろいろ使いにくい>10.3
804デフォルトの名無しさん
2019/05/28(火) 09:12:35.07ID:WeI/rfn2
>>800
開発環境から実行した時に、モジュールのロードで始まる dll や bpl のロード情報を
コピペしてゆっくり眺めてみる
805デフォルトの名無しさん
2019/05/29(水) 05:48:35.44ID:PLjjs/Q6
begin
TStringList.Create.Add('メモリリークした');
end;

このメモリリークの型、内容、ソースコードの場所を検出してくれるツールで
フリーかつDelphi10.3で使えるものって何があるますか?
806デフォルトの名無しさん
2019/05/29(水) 11:15:02.18ID:+DJjCaX6
>>805
これじゃあかんの?

EurekaLogでDelphiアプリケーションのメモリリークを検出する – 山本隆の開発日誌
https://www.gesource.jp/weblog/?p=4834
807デフォルトの名無しさん
2019/05/29(水) 12:20:29.95ID:nxMyfbFc
くたばれDelphiに見えた
808デフォルトの名無しさん
2019/05/31(金) 07:36:06.37ID:L7xGWFvw
僕が高校生の頃の記事を紹介されても・・・
809デフォルトの名無しさん
2019/05/31(金) 11:36:16.19ID:wXpLEcKn
ところでandroidのメモリリークって
どうやって検出するの?
少なくとも標準のを書いておいても
今まで報告されたことないんだが
810デフォルトの名無しさん
2019/06/04(火) 18:44:33.74ID:UGFk7I+U
> フリーかつDelphi10.3で使えるもの

バージョンアップについていけなくて大半の外部ツールやVCLは死亡中
有料ですら10.3に対応してないものが多い
811デフォルトの名無しさん
2019/06/04(火) 22:27:56.89ID:2iRNEsdQ
Delphiって有志による外部ツールやVCLで成り立っている文化なのに
メーカーはなんでそのことを理解してないんだろうなあ
812デフォルトの名無しさん
2019/06/05(水) 13:40:38.43ID:CzlXW3sk
バージョン表記自体もわかりにくいんだよな・・・
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.40ID:MBMFE53P
>>811
エンバカデロが過去の歴史知らないから仕方ない
814デフォルトの名無しさん
2019/06/07(金) 08:09:59.63ID:tLy1nxeI
戦争を知らない〜子供たち〜さ〜
815デフォルトの名無しさん
2019/06/17(月) 18:50:44.65ID:mpJ2xeVG
RazorでVB.NET切られるかも知れないのね
まだDelphiの方がクロスプラットフォームで残るかも知れないね
816デフォルトの名無しさん
2019/06/19(水) 05:04:09.25ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
http://2chb.net/r/rikei/1560859403/
817デフォルトの名無しさん
2019/07/09(火) 19:56:00.97ID:tNo5ef94
質問、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.77ID:cI7q65Pk
>>817
ハングアップ、って具体的にどうなってるの?
何かの勘違いじゃないの?

あとClipboard.CreateとClipboard.Freeは要らないと思う;
819デフォルトの名無しさん
2019/07/09(火) 21:09:40.47ID:yicNQMua
>>817
ハングアップに対する回答ではないけど……
同じなのに入れ替える必要ないと思うので
if Clipboard.AsText <> 'String変数' then
入れた方がいいのでは?
820デフォルトの名無しさん
2019/07/10(水) 08:29:24.86ID:SpAM0kMX
Lazarusで書き直してみるとかね。
D6ってユニコードAPIとかに対応してないと思うのでそれ関係じゃね?
821デフォルトの名無しさん
2019/07/11(木) 16:01:27.35ID:s0u0iTmX
Excelが起動してるとクリップボードの扱いでトラブった覚えあるけど
そういう用途じゃないよね
822デフォルトの名無しさん
2019/07/11(木) 18:36:12.29ID:T5uCpHez
>79回目ぐらいで行ってハングアップします。

ハングアップが具体的にどういう状況かわからんので考えるだけ無駄だと思う
823デフォルトの名無しさん
2019/07/11(木) 21:28:58.78ID:LgH9l4aT
てかソース見ると単純にapi呼び出してるだけだから
それってDelphiの問題なのか?

テストプログラムを他のPCで実行してチェックしてみるとかした?
824デフォルトの名無しさん
2019/07/12(金) 12:38:08.15ID:MoL5DIGp
Delphi6とDelphi7のclipbrd.pas比べてみたらFClipboardとかFClipboardWindowの解放処理が追加されてるな。ひどすw
825817です
2019/07/12(金) 16:34:53.01ID:pm2ij2oX
各位レスありがとうございました
>>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.01ID:Mt2Dum22
読み手に情報が伝わらない書き方だなあ
2、3年後に自分で読んでみるといいよ

まあ関心ないからどうでもいいけど
827デフォルトの名無しさん
2019/07/14(日) 01:36:06.45ID:xLSDSuj/
RADStudioで指定できるまともなフォントないの?
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net	->画像>5枚
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net	->画像>5枚
828デフォルトの名無しさん
2019/07/14(日) 17:57:44.35ID:RQcMGpwy
>>827
他の環境(エディタ)だとちゃんと表示されるのに、って画像も提示してくれないと
そのフォントがそういうものなんだろ、としか思わない
829デフォルトの名無しさん
2019/07/14(日) 21:02:30.19ID:AfMdaAZO
TrueTypeじゃないフォント使ってるのか?としか思わんな
830デフォルトの名無しさん
2019/09/15(日) 07:02:41.90ID:2jRAVw8s
あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めたいんですけど
IDEの機能として可能でしたっけ?
831デフォルトの名無しさん
2019/09/15(日) 07:23:58.99ID:AbznkVe7
>>830
できる
832デフォルトの名無しさん
2019/09/16(月) 15:08:17.96ID:nnMNLU6i
面倒だからフォルダごと圧縮比して保存しといた
833デフォルトの名無しさん
2019/09/21(土) 14:34:45.15ID:gfJmTKeO
勿論な事だけど絶対パスとか注意
834デフォルトの名無しさん
2019/09/21(土) 15:21:04.87ID:a27aqUZJ
>>831
どうやってやるの?
835デフォルトの名無しさん
2019/09/21(土) 15:50:53.96ID:ZIXe7ufx
あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めてみろ
836デフォルトの名無しさん
2019/09/21(土) 23:17:52.31ID:czYxzrrK
そうすると、新しいフォルダのソースをいじっているつもりが、元のソースを変更してしまう。
*.dskファイルは消すこと。
837デフォルトの名無しさん
2019/09/21(土) 23:32:02.53ID:iquo6Qc8
>>830
できない
838デフォルトの名無しさん
2019/09/22(日) 19:31:31.99ID:TKcBWrZD
丸っとコピーでプロジェクト系のファイルは修正すればいいよ
839デフォルトの名無しさん
2019/09/22(日) 21:18:02.00ID:PEynJ+dQ
「プロジェクトのコピーを作成する」という機能が
発売20年以上経っても実装されてないとは信じられん
840デフォルトの名無しさん
2019/09/23(月) 11:30:02.95ID:3qdqqJ07
pythonでスクリプトでも書けば一発
841デフォルトの名無しさん
2019/09/25(水) 08:05:58.59ID:Uo4jEa/c
>>839
いらないからだよ。
842デフォルトの名無しさん
2019/09/25(水) 12:09:01.98ID:lpIOIv3N
>>839
Visual Studio にそういう機能ありますか?
843デフォルトの名無しさん
2019/09/25(水) 15:48:30.01ID:OW+fPjNy
いや、要るだろ普通に 別バージョンとか作りたいときに
*.dsk消せば済むことだけど標準機能であればそれに越したことはない

VSは使ったことないから知らん
844デフォルトの名無しさん
2019/09/25(水) 16:33:22.57ID:VxOhHjIL
てか初心者がプロジェクトの別名保存を誤解して
大変なことになりそう

自分もそうだったけどね
845デフォルトの名無しさん
2019/09/25(水) 22:08:28.34ID:cw/6a5eO
>>830
D6 D7 だけど、(絶対パスがなければ)できる。
普段はプロジェクトとソースを保存するときの「名前を付けて保存」で
デフォルトのセーブ先から別のドライブのフォルダに指定してる。
そうするとプロジェクト毎のソースがフォルダ別に整理できる。
同じ系統のプログラム作成はベース部分まで作っておいて保存、
新規フォルダにコピーでクローンしてスタート。

現プロジェクト中に「名前を付けて保存」で対象移動先にセーブしてみたらどうですか?
この際の注意点として、
プロジェクトの保存だけでは足りない、ソースなどの保存の2回保存作業が必要。
始動は移動先のプロジェクトを指定する。
その後は全保存の1回で使えてる。
試す前にコピーで戻せるようにはしておくことです。
846デフォルトの名無しさん
2019/09/26(木) 06:36:59.16ID:XqflkBue
>>845
そんな手間かけるならエクスプローラでコピーすればいいだろ
847デフォルトの名無しさん
2019/09/26(木) 16:30:40.39ID:IfndknF+
>>846
>>836を防ぐため
848デフォルトの名無しさん
2019/09/27(金) 07:51:52.34ID:rPuRGMpg
各ファイルの役割をきちんと覚えること。
それができなくてプログラマーとか笑うしかない。
変な自動機能があるとその基本を忘れがちになる。
849デフォルトの名無しさん
2019/09/27(金) 08:17:47.22ID:KklKnzXk
デスクトップ保存なんてしないからdskなんてできたことないわ
便利なのかあれ
850デフォルトの名無しさん
2019/09/27(金) 11:49:01.01ID:oLJPEcmZ
>>848
ほんそれ
https://code-examples.net/ja/q/847e26
851デフォルトの名無しさん
2019/09/27(金) 16:59:40.30ID:foryHhOm
今時使用言語は数個、開発環境も数種類さらにクラウドやら覚えることもりだくさん。

delphiしか触ってないなら、delphiの各ファイルの役割ぐらい覚えられるだろうが
852デフォルトの名無しさん
2019/09/27(金) 17:31:01.27ID:lSkgbLDU
848ってすごく偉そうだけど、偉い人なんですか?
853デフォルトの名無しさん
2019/09/27(金) 17:44:52.22ID:7QNtDU/z
みんな初心者に厳しいな
854デフォルトの名無しさん
2019/09/27(金) 21:16:55.01ID:swY7XTEk
皆、自称初心者のプロが作ったスパゲッティウンコに悩まされてきたからな
855デフォルトの名無しさん
2019/09/27(金) 23:00:19.44ID:miVHoQrZ
まぁ、日本じゃMVPがあの程度の低能だからな
856848
2019/09/28(土) 08:02:41.58ID:xbQ4upm/
>>851
だからさ、覚えるとかそういうことじゃない。
各ファイルの役割をきちんと知らないと
プログラマー生命そのものがあやうくなるんだって。
話題の dsk ファイルのはまったく要らない子だってことを知るのもそのひとつ。
例えばオープンソースに dsk ファイル含めて公開しちゃうと
パス名から身バレしちゃったりするリスクもあるわけよ。
言語によらず、プログラマ名乗るならそういうのに敏感になれということ。
857デフォルトの名無しさん
2019/09/28(土) 10:31:39.10ID:VM/fe2sP
MySQLやSQLiteをやろうとして挫折した人間です。

BDEというか、ParadoxのかわりにClientDatasetを使おうと思うんだけど、
設計時にDBコンポで表示できて便利だし、使ってる人いませんか?

.xmlファイルに書き出せるフィールドタイプに制限があるけど、それ以外は
TTableと同じように使える感じ
858デフォルトの名無しさん
2019/09/28(土) 10:50:32.92ID:+WjqjUuO
>>857
CDSやFDMemTableは普通に使われてるかと?
859デフォルトの名無しさん
2019/09/28(土) 12:10:53.41ID:98P9Jt4Z
え?

delphiの各ファイルの役割をきちんと知らないと、プログラマー生命そのものが
危うくなっちゃうんですか???

そ、それはヤバイなぁ!
(か・・・片腹痛てぇ・・・中学生?)
860デフォルトの名無しさん
2019/09/28(土) 12:42:06.93ID:lDFhrhsD
>>857
ふつうにカジュアルに使てるで

CDSは、ランタイムであるmidas.dllを同梱するか、MidasLibをどこかのソースファイルでusesに加えてあげる必要ありなので、TfdMemTableの方が楽なイメージ。
(古いシステムのお守りでCDS使うことの方が多いけど)
861デフォルトの名無しさん
2019/09/28(土) 12:44:04.73ID:lDFhrhsD
>>857
インメモリDBとして使用してるから、xmlの書き出しについてはよくわかりません。
862デフォルトの名無しさん
2019/09/28(土) 14:56:11.24ID:jekZgFRJ
>>856
趣味でマターリやってる日曜プログラマに
そこまでの責務を負わされたら趣味じゃなくなってしまうんですが
863デフォルトの名無しさん
2019/09/28(土) 15:00:56.96ID:Fp/VMyF1
>>860
確かmidas.dllは静的リンクできるはず
864デフォルトの名無しさん
2019/09/28(土) 15:09:36.10ID:VM/fe2sP
midas.dllは無料版では同梱不可?
といっても買ったD6でやるので、だいじょうぶだけど。

静的リンクって、exe一体化もできるということ?
865デフォルトの名無しさん
2019/09/28(土) 15:21:57.63ID:Fp/VMyF1
>>864
そそ、uses MIDASLIB; でEXEの中に入る
866デフォルトの名無しさん
2019/09/28(土) 15:41:37.90ID:VM/fe2sP
D6でも出来ました
ちなみに .xml に保存だと、他で流用するのが楽かもしれないなあと
867デフォルトの名無しさん
2019/09/28(土) 22:03:23.25ID:VM/fe2sP
xmlで保存するとcdsの3倍に膨れるので、普段は.cdsでやるようですね。
868848
2019/09/29(日) 08:47:47.40ID:3jPOw8Yu
>>862
中学生か?とか、日曜プログラマなんで、とかで
現実逃避してんじゃないよまったく。
だから何をやってもだめなんだよおまえは。
少しはラグビー選手を見習えよ。
869デフォルトの名無しさん
2019/09/29(日) 09:34:06.88ID:eilyQrmI
中学生が日曜にいじってるチクビー選手が何だって?
870デフォルトの名無しさん
2019/09/29(日) 10:44:05.25ID:ZdWVwqu8
ラグビーどこから出てきたw
871デフォルトの名無しさん
2019/09/29(日) 15:05:35.94ID:waqB6WCo
ラグビーとか何の興味も無いわw
どっかで何か大会でもやってんの?
872デフォルトの名無しさん
2019/09/29(日) 15:52:25.82ID:s9l7tbgO
>>868
いや日曜プログラマとか趣味の世界だから
現実逃避してもいいんだよ

趣味ってそういうもんでしょ
873デフォルトの名無しさん
2019/09/29(日) 16:50:11.27ID:mdCYdpYZ
趣味ならどんなやり方でも何でもやればいい
仕事の規約みたいなの押し付けてくるの嫌い
ビジネス系と分けた方が良いんじゃないかと時折思うけど
ビジネス板ってそういうじゃないんだよね?
874848
2019/09/30(月) 07:30:37.66ID:Xp0HZa25
超初心者用スレだった。
悪かった。今は反省している。
875デフォルトの名無しさん
2019/09/30(月) 20:17:14.33ID:ZxnjErQn
>>874
おまいが本物の848だとは思えない
876デフォルトの名無しさん
2019/10/24(木) 06:33:27.26ID:C+cXuXRZ
D6を使っている初心者なんですが、ローカルファイルで使うTClientDatasetでは
SQL文を使ってなにかすることってできないのでしょうか?
Filterプロパティとか、項目リンクでやる?
あと、トランザクションも無い?
877デフォルトの名無しさん
2019/10/24(木) 20:26:47.73ID:JmFaqgCP
>>876
できない
Yes
ない
878デフォルトの名無しさん
2019/10/28(月) 16:38:14.34ID:1rTfV6b0
以前Delohi7 は 使ってました
今回 Win10にして DelphiXE3の中古を買いました

いきなりつまずいて dclusr.dpk のインストールができません
C:\Program Files (x86) 以下への書き込み権限がないのが理由のようです
Win10へのXE3のセットアップで こつのようなものが有りましたら教えてください
879デフォルトの名無しさん
2019/10/28(月) 18:30:23.79ID:Knk7VVe1
>>878
インストーラを「管理者として実行」すれば良いと思う
880デフォルトの名無しさん
2019/10/28(月) 21:22:05.93ID:1rTfV6b0
ありがとうございます

正しいのかは解りませんが
bds.exe のプロパティを 「管理者権限で実行」 にしたら
とりあえず うまくいってます
881デフォルトの名無しさん
2019/10/30(水) 08:11:55.65ID:W/c+8tx6
管理者権限が必要なフォルダにちゃんとファイルが入ったかな?
できればアンインストールしてから再度管理者権限でインストールし直した方がいいと思うよ
882デフォルトの名無しさん
2019/11/05(火) 01:33:09.38ID:RmI3r0pW
CE10.3+Update2のライセンスがあと21日で切れると言われたんだけど
一旦アンインストールして10.3.2入れ直せばいいの?

10.4リリース前にライセンス切れ起こされても困る
883デフォルトの名無しさん
2019/11/15(金) 16:21:19.78ID:VW/VrmE3
https://forest.watch.impress.co.jp/docs/news/1133620.html
みんな、伝説のデルファイさんが
ついに公開されたぞw
884デフォルトの名無しさん
2019/11/15(金) 16:49:00.43ID:NLCWqdB7
何年前のニュースよ
885デフォルトの名無しさん
2019/11/15(金) 18:34:56.28ID:VW/VrmE3
誤爆w
886デフォルトの名無しさん
2019/11/15(金) 23:16:36.91ID:/yBuhf/V
でるほいでるほい。
887デフォルトの名無しさん
2019/11/15(金) 23:51:49.26ID:AquHepuk
http://2chb.net/r/tech/1532750539/

の次スレ立ててそこでヤレ
888デフォルトの名無しさん
2019/11/17(日) 12:24:40.53ID:oO0v8f+d
今Delphiを勉強しています。
使っている本は日経BPのカンタンDelphiプログラミングです

24ページの
SchFile := ChangeFileWxt(Application.Exename, '*.txt';
でどうしてもSchFileのところで赤波線が出てしまいます。

現在生きているDelphiでどう治せばいいのか調べていますが
これだけは出てきません。

ご存じの方教えていただけないでしょうか?
889デフォルトの名無しさん
2019/11/17(日) 12:40:56.92ID:qohtSdnJ
>>888
ChangeFileWxtがTypo
ChangeFileExtが正解
890デフォルトの名無しさん
2019/11/17(日) 12:41:13.55ID:qohtSdnJ
>>888
ChangeFileWxtがTypo
ChangeFileExtが正解
891デフォルトの名無しさん
2019/11/17(日) 12:41:48.10ID:qohtSdnJ
Timeoutエラーで再投稿選んだら2重になった(´・ω・`)
892デフォルトの名無しさん
2019/11/17(日) 12:44:48.48ID:X9AhIAwA
優しすぎ
893デフォルトの名無しさん
2019/11/17(日) 23:07:10.86ID:r8gTgqCf
そこらへんの関数は古いので実戦ではTPath使っとけ
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath.ChangeExtension
894デフォルトの名無しさん
2019/11/18(月) 06:59:08.44ID:ivxwgLiy
>>888
セミコロン前に)も足りない
895デフォルトの名無しさん
2019/11/18(月) 17:52:09.30ID:F3ZpdG4d
>>893
関係ないけどIOutilsとShapeにTPathの名前空間設定してるってほんと
896デフォルトの名無しさん
2019/11/18(月) 20:00:11.12ID:cegJQRwO
>>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.58ID:3JL19Dun
delphicbuilder10_3_3*_isoってどこにあるの?
898デフォルトの名無しさん
2019/11/25(月) 13:32:01.77ID:/TKXypzi
>>897
edn
899デフォルトの名無しさん
2019/11/25(月) 19:02:35.06ID:xAqc66Cz
isoだとなんかメリットあるの?いつもexeのほうでインストールしてるけど…
900デフォルトの名無しさん
2019/11/25(月) 20:28:51.05ID:/TKXypzi
>>899
レジストリの仕様がWebとISOで(何故か)違うから一回インストールしたらずっとそっちを使わないと不具合出る
901デフォルトの名無しさん
2019/11/26(火) 00:16:02.16ID:0xdcR0pZ
エンバカのインストーラーって昔から何かに付け問題起こすよなあ
902デフォルトの名無しさん
2019/11/26(火) 09:39:02.59ID:c3SEnPpX
VSのトラブルの方が多い
903デフォルトの名無しさん
2019/11/26(火) 22:39:22.51ID:E5VH4GlY
黒金特売
https://www.packtpub.com/catalogsearch/result/?q=Delphi&;product_type_filter=Book
904デフォルトの名無しさん
2019/11/26(火) 23:35:25.93ID:f8AM92bW
WindowsUpdateの方が多い
905デフォルトの名無しさん
2019/11/27(水) 20:23:49.45ID:E4Y5rsTJ
community使ってんだけど
事前に10.3.2アンインストールしたほうがいい?
906デフォルトの名無しさん
2019/11/27(水) 20:27:20.56ID:DH1+L8h0
>>905
Yes
907デフォルトの名無しさん
2019/11/27(水) 21:18:59.15ID:E4Y5rsTJ
>>906
ありがと
908デフォルトの名無しさん
2019/11/30(土) 00:08:22.61ID:djtdsJmt
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.53ID:QuZ7D6yA
また新たなバグかよ
まったく安定しないな
910デフォルトの名無しさん
2019/12/01(日) 16:54:20.10ID:xsp+dk7g
CnPack-Options-Editor Enhancements-Othersにフリーカーソル無効化機能あんのか
911デフォルトの名無しさん
2019/12/05(木) 09:41:30.71ID:dexY8qQm
// 渡した引数をとにかく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.23ID:Erl1x9YI
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.10ID:Erl1x9YI
訂正
×ここで、新規作成で Windows VCL アプリケーション作成すると
〇ここで、新規作成で Windows VCL アプリケーションを立ち上げると
914912
2019/12/16(月) 12:36:00.90ID:ttWgB5Qq
解決
消えたのは マルチデバイス アプリ用のコンポーネントでした。

でもRadiant Shapesのコンポーネントアイコンが全部同じなのを何とかしてほしい。
915デフォルトの名無しさん
2019/12/16(月) 17:25:45.47ID:imI0kE/x
ついていけません
916デフォルトの名無しさん
2019/12/21(土) 16:34:19.99ID:7JUwe78b
「ライセンス有効期限切れの事前通知」ダイアログが出たので
「新しいCommnunity Editionライセンスを要求」をクリックしたのですが
開いたページにそれらしい項目が見当たりません。
どうすればよいのでしょうか。
917デフォルトの名無しさん
2019/12/21(土) 16:41:43.91ID:7JUwe78b
すいません、解決しました。

DL時にメールが来ていてそこにシリアルがついていましたので
「ライセンスの操作」→「登録」でこのシリアルを入力して解決しました。
918デフォルトの名無しさん
2019/12/24(火) 21:17:41.79ID:qlVCJ4TF
TeeChart をいろいろ調べてるんですが、例えば .NET の Chart コントロールにある
ChartAreas コレクションみたいにグラフを増やすことはできない?
素直に複数の TeeChart を貼るしかないのかな。
919デフォルトの名無しさん
2019/12/28(土) 11:10:32.35ID:7thx4FXN
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net	->画像>5枚
オブジェクトインスペクタのフィルターボックスで絞り込んだあとに
キーボード操作で通常のグリッド部分にフォーカス移す方法ないですか?
920デフォルトの名無しさん
2019/12/28(土) 19:57:46.28ID:D0v0zeIX
Embarcaスレもうないの?
921デフォルトの名無しさん
2019/12/28(土) 20:22:02.42ID:VAO6wyfS
>>920
まぁ日本じゃMVPがあのキモ男だからな
922デフォルトの名無しさん
2019/12/30(月) 23:16:18.53ID:6qINtcSB
isoが7GBでそっ閉じ
923デフォルトの名無しさん
2019/12/30(月) 23:20:18.80ID:1fsbbQSB
>>920
無い
立たない
924デフォルトの名無しさん
2020/01/02(木) 22:17:53.37ID:hpdfwBfI
もうここがDlephi総合スレって事でいいのかな
925デフォルトの名無しさん
2020/01/03(金) 19:06:59.37ID:kIqS3g14
営業担当がどんどんやめてく...

https://twitter.com/IchihanaMiwa/status/1213026105281540096
https://twitter.com/5chan_nel (5ch newer account)
926デフォルトの名無しさん
2020/01/05(日) 14:48:06.25ID:6XuBW/ld
IDE Fix Pack作ってた人、どうしちゃったのかなー
927デフォルトの名無しさん
2020/01/05(日) 18:31:46.11ID:BIrlwOVT
IDE Fix Pack って、ほんとに効果ある?
928デフォルトの名無しさん
2020/01/07(火) 06:13:17.60ID:ysLsWKuo
>IDE Fix Pack って、ほんとに効果ある?
たぶん無い。少なくとも俺の環境では効果がない。
けど悪くもならないのでまぁお守り扱いで使っている。
929デフォルトの名無しさん
2020/01/07(火) 21:35:30.43ID:AWOylPKB
型推論のインライン変数書くと、ビルドは通るのにエディタではエラー表示になる。なんでや。
930デフォルトの名無しさん
2020/01/07(火) 22:22:30.36ID:Bkg1oNr5
>>929
エディタのエラーインサイト(だったかな?)が対応していないから
エラーインサイトを切ればエラー表示はされなくなるけどいつ直るんだろうね?
931デフォルトの名無しさん
2020/01/07(火) 22:34:45.15ID:x2MzGoUT
>>930
Castaliaいじれる技術者まだ残ってるのかが心配
932デフォルトの名無しさん
2020/01/08(水) 21:19:31.57ID:wLTYkb+a
>>930
マジか。そんな状態でリリースするとは、なかなかやりおる。
直るまでインライン変数とかはやめておこう。
933デフォルトの名無しさん
2020/01/08(水) 22:21:01.82ID:MEH3hyXq
>>932
10.3のときにインライン変数が実装されたのに、10.3Release1、Release2、Release3ときて
いっこうに直ってないからな。 10.4で直るかどうかも危ぶまれる
934デフォルトの名無しさん
2020/01/20(月) 13:50:17.13ID:YpnY3DBw
CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
935デフォルトの名無しさん
2020/01/28(火) 17:15:20.90ID:jA3HtLr3
>CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
インストーラーにマルウェアもどきが入っているので、ファイルを展開して自分でインストールするべき。
あと、日本語関係ドライバが入っていないから日本語ソートはできないよ
936デフォルトの名無しさん
2020/01/30(木) 19:19:48.53ID:idED7zVd
そうなんだありがとう
地道にfiredacに置き換えますわ
937デフォルトの名無しさん
2020/01/31(金) 10:44:06.52ID:Y9q94Xhy
メモリリークを内蔵の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
938デフォルトの名無しさん
2020/02/03(月) 09:42:44.84ID:ZUQl5IjM
サブスクリプションって更新してる?
社内用プログラムの修正でたまに使う程度なので
年10万はちょっとなぁ・・・
939デフォルトの名無しさん
2020/02/04(火) 07:28:16.35ID:6U67LbmC
TMS のWeb Coreってのを最近見つけた。
Intrawebと同じくpascal→JavaScriptみたいなんだけどかなり完成度は高い
気軽にDelphi+PascalベースでWebアプリを創りたいときにはいいよ、コンポーネントも自作できるみたいだし

サブスクリプションは入ってませんよ
新規機能を必要としない、ちょっとした改修メインならあまり必要はないんじゃないかな?
法人ベースなら10万ははした金だけど、生きたお金とも言えないんで払わないようにしてる
940デフォルトの名無しさん
2020/02/04(火) 20:30:44.36ID:u9fAPblT
大政翼賛イベント、終わり。

斜陽の会社と製品買うのはいいけど、買うだけで統合とかシナジーとかできないよなぁ。
元技術者たちが全員いなくなった sencha なんかどうするきだろう
941デフォルトの名無しさん
2020/02/05(水) 20:51:12.54ID:gyQe6DwW
>>937
自分もちょっとメモリーリークで悩んでるんだけど
delphi versionとかvcl/fmx とか少し情報もらえる?
942デフォルトの名無しさん
2020/02/05(水) 21:24:09.71ID:UTgGnF3M
>>941
Delphi10.3.3でVCLアプリです

手がかり求めて海外のフォーラム情報を調べたら.MAPまたは.TDSファイルを作成するとより詳しく調べられるらしいです
943デフォルトの名無しさん
2020/02/05(水) 21:36:45.32ID:UTgGnF3M
というわけでプロジェクトのオプションのコンパイル→リンカでマップやTDSを有効にするとより詳しく調べられました
944デフォルトの名無しさん
2020/02/06(木) 10:26:40.35ID:wF1qF0nM
D7で作ったプログラムをD10に移行中ですがDBGRIDのカラムタイトルの色が変更できません
プロパティで何を指定しても白のままです
どうしたらいいのでしょうか
945デフォルトの名無しさん
2020/02/06(木) 13:43:22.46ID:GZVea8mu
>>944
FixedColorの2つ上にDrawingStyleというのがある
946デフォルトの名無しさん
2020/02/06(木) 16:27:26.83ID:wF1qF0nM
>>945
ありがとうございます
変更できました
947デフォルトの名無しさん
2020/02/13(木) 06:28:37.56ID:vBflwVQp
D6からアップデートしてないユーザーなんだけど、いろいろ古すぎて苦しい。
C#は多少いじれるようになった。
RDBはいじらない、ネットから情報を取ってきたり、お絵かきプログラム中心。

新しいプロジェクトを始めるのに C#と、Tokyo? Berlin?やりだすのとどっちが楽だろうか
948デフォルトの名無しさん
2020/02/13(木) 07:53:08.45ID:AuZ/W2H1
全く新しくていいなら C# だな。
Delphi は時代に追従しきれていない感じ。がんばってはいるけど。

自分も遊びでは Delphi 使ってる。
949デフォルトの名無しさん
2020/02/13(木) 21:47:53.63ID:EdFxkN9G
>>947
Lazarus
950デフォルトの名無しさん
2020/02/13(木) 22:02:38.27ID:nW/OuvCI
FreePascalの次のリリースはジェネリクスがDelphi互換になってますますDelphiに近くなるよ
去年中にリリースと言われて現在もまだリリースされてないけど
951デフォルトの名無しさん
2020/02/14(金) 06:49:48.88ID:ZmXO4tiK
>>947
間違いなくC#
余裕があるならdelphiやりなされ
952デフォルトの名無しさん
2020/02/14(金) 10:38:29.59ID:cah/hEJW
開発環境が数GBダウンロード必須って
ハナから無理
953デフォルトの名無しさん
2020/02/14(金) 12:07:08.02ID:a5iC3cHy
C#って見かけは小さいけど
環境は馬鹿みたいにデカすぎる
954デフォルトの名無しさん
2020/02/14(金) 19:10:57.82ID:H2ERqwMc
>>953
プリインストール済みの.Net Frameworkとメモ帳で開発コストゼロや!
955デフォルトの名無しさん
2020/02/14(金) 20:21:05.57ID:7pjvoPX7
Delphi の方が重いと思うがなあ。
956デフォルトの名無しさん
2020/02/15(土) 09:46:15.30ID:lW8gbEk5
Indy10のhttpsで使うdllが最新版に入れ替わっちゃうとおかしくなる不具合ではまり。
2018年ごろのやつに差換えたら動くようになった。
TLS1.2まではいけるからしばらくは持ちこたえられそう
957デフォルトの名無しさん
2020/02/15(土) 10:25:19.00ID:abNW28Cg
>>956
Delphiのバージョンがいくつか、何に使ってるかわからんけどもTNetHttp系に差し替えを検討したら?
958デフォルトの名無しさん
2020/02/15(土) 11:23:33.67ID:4O69sBWU
>>956
それって既知の問題としてどこかに書かれてる?
公開してるアプリでは問題は起こってないけど
何らかの条件があるんだろうか?
959デフォルトの名無しさん
2020/02/15(土) 12:38:24.87ID:qtyOJHsa
Indy10ってまだ10.3に対応してなかったような
対応版でたの?
960デフォルトの名無しさん
2020/02/15(土) 21:35:37.58ID:CqCEJ0Fs
Rioでdebug releaseのモード切り替えると固まるのは俺だけ?
961デフォルトの名無しさん
2020/02/15(土) 21:47:54.17ID:4O69sBWU
>>959
Indy10がRioに対応してるかってこと?
Rioに付属してるIndyは10.6だよ?
962デフォルトの名無しさん
2020/02/15(土) 22:01:01.91ID:qtyOJHsa
>>961
そうだったのか
付属のはもっと古いバージョンかと思ってた
963デフォルトの名無しさん
2020/02/16(日) 10:30:31.87ID:u9eNlzbF
どの「コミュニティ」に行っても、同じ人たちしかいないのって、よーするに人材枯渇かね?
964デフォルトの名無しさん
2020/02/16(日) 10:53:29.32ID:ajhowdAH
まぁ日本じゃMVPがあのキモさだからな
965デフォルトの名無しさん
2020/02/18(火) 17:22:10.12ID:Fy87CGLW
>>956
IOHandler.SSLOptions.Method := sslvSSLv23;
で、dllが持ってる強度の高い方から順に試すんじゃなかったっけ
関係なかったらゴメン
966デフォルトの名無しさん
2020/02/22(土) 07:52:44.80ID:jMTU79N4
quickreporteって昔みたく標準でついてないのね
皆さん印刷とかどうやってるの
967デフォルトの名無しさん
2020/02/22(土) 14:04:02.92ID:61rJN/k0
>>966
FastReportが今の標準添付の印刷コンポーネント
968デフォルトの名無しさん
2020/02/26(水) 17:54:06.74ID:KqbM6wtj
そろそろ次のスレを立てないとね
969デフォルトの名無しさん
2020/02/26(水) 22:14:57.47ID:TEAnrnJR
総合スレは・・・まだいいか
970◆JAVA/drQNg
2020/03/01(日) 18:42:38.51ID:zM73AfEv
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の知識
971デフォルトの名無しさん
2020/03/01(日) 18:46:43.16ID:wt4aL9gq
>>970
東京はとおいよ〜
972デフォルトの名無しさん
2020/03/02(月) 11:22:02.02ID:glnmwhpK
東京は人が多いだけで済みにくい
感染しやすい
土地高い
物価高い
タクシー止まらない
973デフォルトの名無しさん
2020/03/03(火) 20:00:31.20ID:ottIIFYY
>タクシー止まらない
雨の日とかは別だけどこれはないんじゃないか
むしろ地方のほうが流しとかないから駅前か呼び出しだろ
974デフォルトの名無しさん
2020/03/03(火) 22:12:22.77ID:lgJdJP/z
タクシーも客を選ぶからね
975デフォルトの名無しさん
2020/03/04(水) 06:28:10.42ID:+a0OpeoU
10.3.3のGetItでCodeSiteがインストールできない…
どうすりゃいいの?
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net	->画像>5枚
976デフォルトの名無しさん
2020/03/04(水) 10:27:13.44ID:hHbt2ovK
>>973
地方だと「タクシー通らない」だな

>>974
わろす
977デフォルトの名無しさん
2020/03/05(木) 20:49:33.10ID:qVbpyIXi
FMXでDebugHookを使うと
「特定のプラットフォームに固有」と出るんだけど
特定のプラットフォームってWindows以外でどれ?

検索するとMacOSではダメだったって
978デフォルトの名無しさん
2020/03/06(金) 23:16:35.43ID:i1sIlXFK
質問です。Delphi 2007からアップデートしなくても、新しい技術を使っていなければ、
たいていWindows 10できちんと動きますよね?
(2009以降の文字列まわりが理解できていません)
Delphi 2007からアップデートする場合、Delphi 2009にしてから、新しいものにした方がいいんでしたっけ?
それとも直接10.3とかに読み込んでもいいんでしたっけ?
979デフォルトの名無しさん
2020/03/07(土) 00:48:31.04ID:GTOLdhcV
Windows10なら全部同じと思うような馬鹿は死ねよ
980デフォルトの名無しさん
2020/03/07(土) 00:49:34.19ID:c6Inby5m
>>978
使う命令時代ですね
delphi5で作ったものも
普通にwindow10で動きますよ
981デフォルトの名無しさん
2020/03/07(土) 08:57:40.90ID:qF4QD93A
Delphi6はwin10にインストールすら拒否されたが
982デフォルトの名無しさん
2020/03/07(土) 09:14:59.31ID:Uy9cEyCw
はぁ? Win10にD6入れて何台も使っているぞ
983978
2020/03/07(土) 10:30:17.09ID:u9TLT7km
みなさんありがとうございます。
私の範囲では使えそうなので安心しました。さすがDelphiですね。
984デフォルトの名無しさん
2020/03/07(土) 10:47:40.54ID:fhFabl+2
さすがDelphiと言うより、さすがWindowsでは?
985デフォルトの名無しさん
2020/03/07(土) 12:32:37.05ID:3ScJp+cW
新しい技術つかってないから動かない場合もあるだろうけどねAPIとか
何もしなくても動くなんてHelloWorldのサンプルぐらいじゃないか
986デフォルトの名無しさん
2020/03/07(土) 13:40:58.34ID:mdASUqdC
>>983
馬鹿は死ね
987デフォルトの名無しさん
2020/03/07(土) 15:43:00.80ID:vg1Dq2A8
app tetheringがまったく動かないんだが
付属やネット上のサンプルのどれもダメだった
firwall関係かねぇ

ただWidowsのクリップボードを監視して
macのクリップボードにコピーしたいだけなんだが
988デフォルトの名無しさん
2020/03/07(土) 17:09:27.82ID:u9TLT7km
>>984 昔からDelphiはWindowsであれば環境によらず動いてくれるという印象があったもので。。。
>>986 たしかに私はDelphi 2009以降の文字列の扱いを覚えようとしないバカかもしれません。
私だってこれからたくさんDelphi使うなら覚えますが、昔のプログラムのメンテしか使う予定がないですし2007までのライセンスしかないので。
989デフォルトの名無しさん
2020/03/07(土) 17:34:39.51ID:u9TLT7km
10.3のCommunity Editionのライセンス条項を見たら、他の収入と合わせて$5000を超えてたら除外されるっていう理解で正しいですか?
さすがに他の収入と合わせて$5000を超えてなかったら食べていけません。
数年前のCommunity Editionのときはもっとゆるかった記憶があります。
990デフォルトの名無しさん
2020/03/07(土) 18:37:25.19ID:RZgTMQsN
Embarcaderoからメール来た
C++2017の電子本が無料らしい
991デフォルトの名無しさん
2020/03/07(土) 19:42:10.94ID:FYTe5U5h
>>988
そうじゃない
Windows10と一括りにしてることを馬鹿だと指摘してる
992デフォルトの名無しさん
2020/03/08(日) 02:41:14.63ID:uqevG+QX
>>991
元の978呼んだが、そこに引っかかるとはww
しかも質問スレで質問しただけなのに何度も「死ね」はないだろ
993デフォルトの名無しさん
2020/03/08(日) 11:08:58.55ID:XCaBTWjM
usesにDGCarad9ってのがあって
DirectX9使えるようにした個人の奴だけどサイトが無かった・・・
使用許諾にもメルアド登録済みになってるしパスワードわからんし
やっぱりいろいろめんどくさくて使えねー
994デフォルトの名無しさん
2020/03/08(日) 14:04:12.00ID:Ks5q/7ma
まぁ日本じゃMVPがあのレベルのソフトを公開して悦に入ってるだけだからな
まったく恥ずかしくないのかと思うよ・・・
995デフォルトの名無しさん
2020/03/10(火) 08:06:10.34ID:KnD7ZfFa
個人攻撃は見苦しい。自分は匿名で卑怯。
996デフォルトの名無しさん
2020/03/10(火) 08:16:12.87ID:KnD7ZfFa
>>989
英語のライセンス条項を見たが、その理解で正しいと思う。
前のCommunity EditionではWin32限定でそのときはもっとライセンス条項がゆるかったが、今は機能限定が少しだけになって、使える人の範囲が狭くなった。
学生や定年後の老人や専業主婦が対象といったところか。
997デフォルトの名無しさん
2020/03/10(火) 21:13:43.44ID:iMwptZU/
まぁ、彼はちょっと違うの事実だな。最近ではクソアプリ?のadvent calenderで一番手ではりきって一人でニヤニヤしたんだろうな...
998デフォルトの名無しさん
2020/03/11(水) 01:04:28.82ID:zwwCe0yv
なんで1000盗り合戦とか意味の無いことで盛り上がってたのかね
999デフォルトの名無しさん
2020/03/11(水) 04:51:18.53ID:0ChhyzeV
999なら俺はいつか死ぬ
1000デフォルトの名無しさん
2020/03/11(水) 05:24:58.54ID:e34vXhFj
将来性はないかもしれないがwindows上でならまだまだ使える言語だね
ニューススポーツなんでも実況



lud20250919155002nca

ID:yohLywXTのレス一覧:


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

401Z3
509デフォルトの名無しさん
2018/05/24(木) 00:26:07.03ID:X0Vr2UrM
>>505
何年間も同じとこクルクル回って進歩してないな
510447
2018/05/24(木) 07:41:50.56ID:Xlbr0a9V
>>507
本当は分かっていません。
ただ、もう少し試行錯誤が必要だと判断しました。
TstringからStringに渡すのはそんなに難しいとは思えないのですが……。

>>509
コンパイラをいじっている時間があまりなくて
今回も数年ぶりに(昔このスレで正月に作ったメディアプレイヤー)触ってますので
進歩してなくて、さっぱり分からないことが相変わらず多いです。
511デフォルトの名無しさん
2018/05/24(木) 07:51:45.33ID:UDepo1QV
>>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?
512デフォルトの名無しさん
2018/05/24(木) 09:38:32.78ID:3hrzymd4
"Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか?
513デフォルトの名無しさん
2018/05/24(木) 09:47:02.42ID:1QuFgEhD
>>510
あのな、良いこと教えてやる

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

読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ
514デフォルトの名無しさん
2018/05/24(木) 12:22:44.13ID:2pfDia9X
TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね
515デフォルトの名無しさん
2018/05/24(木) 17:31:30.64ID:Pn5Zd5T4
>>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ

どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る
516デフォルトの名無しさん
2018/05/24(木) 18:32:52.16ID:Pmzmf4Ca
普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw
517デフォルトの名無しさん
2018/05/24(木) 18:38:26.23ID:Pn5Zd5T4
>>516
で、お前は何で教えてやらないの?
518デフォルトの名無しさん
2018/05/24(木) 18:43:41.36ID:NEzd0Nja
本人だからさ
519デフォルトの名無しさん
2018/05/24(木) 20:03:35.81ID:hm+d4/Zn
はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね
520デフォルトの名無しさん
2018/05/24(木) 20:16:15.75ID:Pn5Zd5T4
あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw
521510
2018/05/26(土) 04:35:23.77ID:4prcmauu
>>513
昔言語ガイド印刷してたのを忘れていました。
今読むと昔は分からなかったことが分かるようになってきました。
プロジェクトを作る前に最後まで読んでみます。

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

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

レスしてくれた皆様ありがとうございました。
522デフォルトの名無しさん
2018/05/26(土) 16:36:32.52ID:ZcCwZUbS
だから TStringじゃない TStrings
523510
2018/05/27(日) 06:51:35.56ID:6aP994kT
>522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。
524デフォルトの名無しさん
2018/05/27(日) 18:56:00.45ID:tt6kkd8K
初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う
525デフォルトの名無しさん
2018/05/29(火) 12:30:34.30ID:1O3tJEYz
頑張れ‼??誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね
526デフォルトの名無しさん
2018/05/29(火) 16:35:28.22ID:kxbaWIuP
何年「最初」を繰り返してるのだろうかー
527510
2018/05/30(水) 07:03:11.11ID:2jnt+z5e
>>524
Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
早速インストールしてみます。
ですが、皆様はシステムライブラリのヘルプを見て手続きや関数などを覚えたのでしょうか?

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

普通こんだけ叩かれたらプログラミングを諦めてしまうと思いますが、
双六ゲームがどうしても作りたいのでかじりついて離れずにいます。
528デフォルトの名無しさん
2018/05/30(水) 10:34:14.77ID:1AWKUtm2
>>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ
529デフォルトの名無しさん
2018/05/30(水) 14:51:11.60ID:240M2quP
ほんそれ
話聴かない奴は叩かれる
530デフォルトの名無しさん
2018/05/30(水) 17:57:51.44ID:QhoQOR8g
>>527

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

本の名前教えて。
俺もDelphiのHELP欲しい。
531デフォルトの名無しさん
2018/05/30(水) 20:16:26.04ID:lZ3vVAou
>>510>>527
MCIさんでしょ?
オーディオプレーヤは諦めて双六ゲームにしたの?
532デフォルトの名無しさん
2018/05/30(水) 20:52:42.12ID:lZ3vVAou
>>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど

http://support.embarcadero.com/jp/article/35932
533デフォルトの名無しさん
2018/05/31(木) 00:53:55.84ID:Rz8G1qx4
このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。
534デフォルトの名無しさん
2018/05/31(木) 00:56:10.16ID:KiYT67Xx
ナンセンスなラ(略)
535デフォルトの名無しさん
2018/05/31(木) 02:41:36.75ID:LeDqx/cu
>>533
アップデートファイルを単独で使用するなってこと?

そもそもdelphi 6 personalってフリーなんだから
その程度はいいんじゃない?
536デフォルトの名無しさん
2018/05/31(木) 12:29:07.06ID:tuQW1gq3
>>361 この人まだいるんだね(笑)
537デフォルトの名無しさん
2018/05/31(木) 15:12:07.71ID:LXR1oL3d
オマエモナ
538デフォルトの名無しさん
2018/05/31(木) 17:49:48.89ID:NnA31TPO
Unicode 正式対応したのは
どのバージョンから?
539デフォルトの名無しさん
2018/05/31(木) 19:52:10.32ID:OiZlt55G
>>532

ありがとう!
540510
2018/06/01(金) 04:16:23.59ID:5fSTAWJb
>>531
MCIいじってますよ。
ただ今は、TStringsと戦ってます。

>>528
そうですね。
理解が追いついていかない。ふがいないなぁ。
541デフォルトの名無しさん
2018/06/01(金) 07:07:59.62ID:tZOiVGE0
>>538
2009じゃね?
542デフォルトの名無しさん
2018/06/01(金) 08:17:03.08ID:AldthANR
>>538
string型のutf8化は2009から。
ucs2程度やwidestringであれば、少なくともdelphi7でも使えてる。
543デフォルトの名無しさん
2018/06/01(金) 12:06:09.39ID:JGYXEwwz
結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。
544デフォルトの名無しさん
2018/06/01(金) 12:13:27.24ID:VRiSWYxK
てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし

思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ
545デフォルトの名無しさん
2018/06/05(火) 19:54:37.86ID:FLappK2N
直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ
546デフォルトの名無しさん
2018/06/05(火) 19:55:52.87ID:FLappK2N
違った、2005年なので13年経過。。。
547デフォルトの名無しさん
2018/06/06(水) 10:45:41.05ID:I9hgDbEz
痴呆が始まってるな
548デフォルトの名無しさん
2018/06/07(木) 09:31:17.03ID:jM1yTm2r
Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください

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

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

やっぱ最低でもcgi使えるサーバとか必要?
549デフォルトの名無しさん
2018/06/07(木) 10:03:50.30ID:kW6Y240R
>>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示

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

3.SQLにFireDACで直接接続

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

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

というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし
551デフォルトの名無しさん
2018/06/08(金) 07:49:33.51ID:IKKgq9UT
>>549
cef4delphiがよいよ
552548
2018/06/08(金) 20:17:07.49ID:pOKoirVi
レスが遅くなりました

やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも

あとは、データは配布サイトに置いて投稿はメール経由かな
553デフォルトの名無しさん
2018/06/08(金) 22:02:43.94ID:lHspdop6
P2P
554548
2018/06/08(金) 22:45:08.12ID:pOKoirVi
よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね

したらばにしようと思います


p2pは理想だけど、開発側も利用者側も障害が大きすぎるような
555デフォルトの名無しさん
2018/06/09(土) 16:37:47.65ID:OTGz0P8v
delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?
556デフォルトの名無しさん
2018/06/09(土) 18:48:08.83ID:TA6PWthw
全然的外れとは思うけど
delphiを管理者権限で起動してる?
557555
2018/06/10(日) 06:13:38.25ID:5M4DtSyO
確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。
558デフォルトの名無しさん
2018/06/14(木) 03:02:30.74ID:DH9ZUtSo
めっちゃ便利になった

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.53ID:77QANGdm
Indyのヘルプについて教えてください

delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです

事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています

もしかして、ヘルプの内容がかなり古い?
560デフォルトの名無しさん
2018/06/18(月) 20:26:49.62ID:ZzCpcYem
>>559

ここからダウンロードとすといいよ
Delphi についてくるのよりは新しいと思う

https://code.google.com/archive/p/indydocs/downloads
561デフォルトの名無しさん
2018/06/18(月) 22:25:05.80ID:/oEGnL5/
Indyはしょっちゅう引数とか変えるからねー
562548
2018/06/18(月) 23:30:03.81ID:77QANGdm
>>560
ありがとう
早速ダウンロードしてみます
563デフォルトの名無しさん
2018/06/19(火) 07:23:03.75ID:O7MJlrFZ
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.41ID:6Sxd5pS5
OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください
565デフォルトの名無しさん
2018/06/26(火) 00:50:21.65ID:6Sxd5pS5
バージョンはXE8でお願いします
566デフォルトの名無しさん
2018/06/26(火) 20:07:40.02ID:Q/OTN/qp
オブジェクトと普通の変数はさすがに分けないとな
567デフォルトの名無しさん
2018/06/27(水) 08:33:51.96ID:LwNwDPPb
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.53ID:BMGfbdyk
fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな

てか希望する行にプログラムでジャンプできない
これって...
569568
2018/07/01(日) 20:45:39.22ID:UjvaLsGV
昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった

というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと
570デフォルトの名無しさん
2018/07/04(水) 22:07:10.80ID:gFgZc5FG
CMY
571デフォルトの名無しさん
2018/07/05(木) 16:32:14.16ID:AeL6VB/V
CMY
572デフォルトの名無しさん
2018/07/07(土) 01:05:29.30ID:/e+lZ8Kj
        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  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1476332514/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net ->画像>5枚 」を見た人も見ています:

  ↓この板の人気?スレ↓(一覧)
 
Excel VBA 質問スレ Part82
くだすれDelphi(超初心者用)その60【Embarcadero】
クラウドネイティブ言語 Ballerina part1
メタプログラミングで生産効率は上がるのか?
【MT5/MT4】 EA研究開発 Q&A 1 【売買自動】
プリンタの中のデータってどうやって見るの?
マルチプロファイル未対応ブラウザ
Pythonのお勉強 Part74
第28回プログラミングコンテスト 【プロコン】
D言語 Part34
【純粋関数型AltJS】PureScript
ワイ氏、AIアルゴリズムTransformer理解できない
Regular Expression(正規表現) Part15
掲示板作ったんだけどアドバイスください
.NET MAUIが不人気な原因なんなの?
【Ecere C】 eC 【C上位互換】
誰かがコミットログを英語に直すスレ
スレ立てるまでもない質問はここで 144匹目
オブジェクト指向システムの設計 173
Excel VBA 質問スレ Part49
Visual Studio 2017 Part6
アセンブリや機械語を解析して楽しむスレ
Excel VBA 質問スレ Part77
掲示板を自作してみたい
【最強CUI】PowerShell -Part 1
ふらっと C#,C♯,C#(初心者用) Part151
Kotlin 8
C/C++の宿題片付けます 170代目
WPF(.NET, WinUI) GUIプログラミング Part28
02:50:02 up 6 days, 23:59, 1 user, load average: 118.64, 109.45, 147.49

in 1.3424351215363 sec @[email protected] on 091915