■ このスレッドは過去ログ倉庫に格納されています
くだすれDelphi(超初心者用)その57
- 1 :デフォルトの名無しさん:2016/10/13(木) 13:21:54.84 ID:7i5E+q2+.net
- Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
■Delphi XE6 Professional/Enterprise/Ultimate/Architect エディション(トライアル版有)
64bit Windows、Mac OS XからiOS、Androidのアプリも開発可能。ライブラリのソースコード付き。アカデミックライセンス有り。
旧バージョン(XE6/5/4/3/2/XE/2010/2009/2007/Delphi 7)のライセンス取得とダウンロードが可能。(アカデミック不可)
ttp://www.embarcadero.com/jp/products/delphi
■Delphi XE6 Starter エディション
個人/5人以下の企業・組織向け。年間売上1000US$以内の商用開発可。
(※)Delphi、Visual Studio等の有償/無償の開発ツールユーザーが対象。インストール確認は特に行わない。
ttp://www.embarcadero.com/jp/products/delphi/starter
■Embarcadero RAD Studio XE6 (Delphi、C++Builder、HTML5 Builder等を含むビジュアル開発スイート)
ttp://www.embarcadero.com/jp/products/rad-studio
<前スレ>
くだすれDelphi(超初心者用)その56
http://echo.2ch.net/test/read.cgi/tech/1405783063/
<過去スレ>
DelWiki (Delphi 関連の過去スレッド)※行方不明
ttp://delwiki.info/?
- 2 :デフォルトの名無しさん:2016/10/13(木) 13:27:38.39 ID:rxboVzG1.net
- クソスレ乙
- 3 :デフォルトの名無しさん:2016/10/13(木) 13:43:32.62 ID:7i5E+q2+.net
- 無料版の名称は Delphi 10 Starter Edition に変わっていたわ。
- 4 :デフォルトの名無しさん:2016/10/15(土) 06:07:00.29 ID:b/Ix7y8Q.net
- stringのポインタを引数で使う時って何で@straaa[1]みたいに[1]をつけるの?
- 5 :デフォルトの名無しさん:2016/10/15(土) 06:41:31.92 ID:sr5ZMjEJ.net
- PChar(straaa) じゃだめなん?
Hint: 空文字列の扱い
- 6 :デフォルトの名無しさん:2016/10/15(土) 08:01:16.21 ID:Wck8f7HF.net
- >>4
今はAnsiStringなら>5でOK。
ShortStringだとstraaaa[0]に長さが入ってるので
@straaa だけだと PChar と互換性ないから
- 7 :デフォルトの名無しさん:2016/10/17(月) 13:18:21.20 ID:WrWXzKVd.net
- >>5,6
ありがとう。
調べるワードありがとう
- 8 :デフォルトの名無しさん:2016/10/17(月) 22:03:38.40 ID:u9f1SlFV.net
- 有料版買えばandroidで動くプログラムをDelphiで作れるの?
Indyみたいなhttpコンポーネントって使えるのだろうか?
- 9 :デフォルトの名無しさん:2016/10/17(月) 22:24:59.98 ID:DkHWfezI.net
- >有料版買えばandroidで動くプログラムをDelphiで作れるの?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
Starterでモバイルパックつかえなきゃ、Pro版も買わないといけんと。
>Indyみたいなhttpコンポーネントって使えるのだろうか?
Indy使わなくても最新のにはhttpのクライアントライブラリ含まれてるからそれ使えば?
- 10 :デフォルトの名無しさん:2016/10/17(月) 22:41:43.85 ID:PmRH05Ee.net
- cとかc++のenumって、Delphiの列挙型ということでいい?
集合とは違うんだよね?
- 11 :デフォルトの名無しさん:2016/10/17(月) 22:42:37.41 ID:DkHWfezI.net
- そりゃ、Delphiの列挙の方でしょ
- 12 :デフォルトの名無しさん:2016/10/17(月) 23:10:18.46 ID:6Picysvx.net
- ありがとう
- 13 :デフォルトの名無しさん:2016/10/19(水) 10:47:08.64 ID:4tgALgAo.net
- ライトみたいに光る質感のコンポってありますか?
- 14 :デフォルトの名無しさん:2016/10/22(土) 10:30:31.92 ID:VBuj+teK.net
- tabsheetの色を変えられるようにしたんだけど、clBtnFaceを指定しても白くなるんですけど何故でしょうか?
他の色は反映されます。
Delphi10.1Berlinを使っています。
- 15 :デフォルトの名無しさん:2016/10/22(土) 10:35:27.82 ID:VBuj+teK.net
- バカみたいな質問をしてしまいました。
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?
- 16 :デフォルトの名無しさん:2016/10/22(土) 10:58:32.88 ID:OrToTiIL.net
- >>15
テーマが関係してるんじゃなかったっけ
- 17 :デフォルトの名無しさん:2016/10/22(土) 11:01:18.05 ID:AS0AO2zF.net
- >>15
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?
- 18 :デフォルトの名無しさん:2016/10/22(土) 11:34:02.15 ID:VBuj+teK.net
- ありがとうございます。
と言ってもどうしていいか分からないのでパネル貼ります。w
- 19 :デフォルトの名無しさん:2016/10/23(日) 10:04:04.33 ID:FT6Wwhog.net
- 昔Del7で作ったExcelを操作するプログラムを、Berlinで作り直したいんだけど今だとFirerDacを使うんですか?
取り敢えずやりたいことは、xlsxをcsvに変換したいだけなので簡単な方法があったら教えて下さい。
- 20 :デフォルトの名無しさん:2016/10/23(日) 10:46:21.34 ID:CGzeXgZh.net
- ole
- 21 :デフォルトの名無しさん:2016/10/23(日) 13:40:03.44 ID:MP5NXD0l.net
- 今まで Delphi 7 で作っていましたが、Delphi 10.1 に移行することにしました。
そこで、10.1のListViewの挙動について質問です。
D7では、以下のコードで ListItem の一行の背景全てが綺麗に塗りつぶされていましたが、
10.1では Caption と SubItems[0]、そして SubItems間で 2pixel の白い区切り線のようなものが出来てしまいます。
回避方法をご存知の人は教えて下さい。
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Not Odd(Item.Index) then
begin
with ListView1.Canvas do
begin
Brush.Style := bsSolid;
Brush.Color := clLime;
end;
end;
end;
- 22 :デフォルトの名無しさん:2016/10/23(日) 14:13:58.96 ID:gusT9oXO.net
- >>21
propertyのGridLinesじゃないのか?
Delphi 10.1動かしてないから適当やけどw
- 23 :デフォルトの名無しさん:2016/10/23(日) 15:14:16.61 ID:MP5NXD0l.net
- >>22
GridLines は False です。
試しに True にしても同じように 2pixel の区切り線が出ます。
他の人の環境では出ないのでしょうか?
- 24 :デフォルトの名無しさん:2016/10/23(日) 15:28:26.85 ID:MP5NXD0l.net
- 参考画像です。
http://fast-uploader.com/file/7032759494826/
- 25 :デフォルトの名無しさん:2016/10/23(日) 16:44:38.74 ID:kZkGsd/R.net
- ちょっと教えてください
CD-ROMドライブのデバイス名(「EX-DVD04K」とか)と
ドライブ名(「D」とか)の一覧を得たいんですが
それぞれ別の方法で取得できるんですが、
複数のCDドライブがあると、対応が分かりません(EX-DVD04K = D)。
たぶんAPIを使うことにあると思います。
似た質問はあったんですが、回答がない...
ttp://okwave.jp/qa/q1942763.html
- 26 :デフォルトの名無しさん:2016/10/23(日) 16:54:42.26 ID:CGzeXgZh.net
- http://www.chrysocome.net/download
dd のソース見れ
- 27 :デフォルトの名無しさん:2016/10/23(日) 18:18:46.84 ID:j9LNItD5.net
- cd-romだとWin32_CDROMDriveが使える
- 28 :デフォルトの名無しさん:2016/10/23(日) 20:00:40.26 ID:kZkGsd/R.net
- ありがとうございました。
DelphiでWin32_CDROMDriveの使用例がありました。
- 29 :デフォルトの名無しさん:2016/10/24(月) 02:18:05.54 ID:Pol9g+IM.net
- >>21 >>24
10.1 Starter で再現したことだけ報告しておきます。
- 30 :19:2016/10/24(月) 11:23:45.88 ID:V1HEhUaE.net
- >>20
ありがとうございます。
delphiは久々なのでググりまくってる最中なんですが
Excelのコンポーネントとか有ったと思うんだけど今は無くなった?
悩んでてもしょうがないのでXRAYさんのサイト見ながらやってみます。
- 31 :デフォルトの名無しさん:2016/10/24(月) 11:46:44.14 ID:/o9Bzib3.net
- >>30
Excelのタイプライブラリ取り込めばおk
もしくはFlexcel買うか
- 32 :19:2016/10/24(月) 12:20:49.82 ID:V1HEhUaE.net
- >>31
>Excelのタイプライブラリ取り込めばおk
おぉ、そんなのありましたね。
一気に進めそうです。
ありがとうございます。
- 33 :19:2016/10/25(火) 23:13:37.93 ID:PC8b9+iO.net
- oleコンテナだけでExcelのブックを表示できました。
昔とは違うんですね。
ただ、Excel本体も立ち上がってくるのですが、Excelは立ち上げずにブックを弄るにはどうしたらいいでしょうか?
- 34 :デフォルトの名無しさん:2016/10/25(火) 23:23:00.70 ID:9oSj5Tvc.net
- Visisbleプロパティみたいのなかったっけ?
- 35 :デフォルトの名無しさん:2016/10/25(火) 23:25:41.18 ID:9oSj5Tvc.net
- s多すぎた
- 36 :19:2016/10/26(水) 00:18:32.99 ID:5VsTRTiY.net
- >>34
ありがとうございます。
試してみます。
- 37 :デフォルトの名無しさん:2016/10/26(水) 01:12:16.61 ID:DnQDMwJL.net
- >>36
当然だけどExcel入ってない環境では動かないからね
- 38 :デフォルトの名無しさん:2016/10/26(水) 12:57:47.98 ID:6SHMskVi.net
- >Excelは立ち上げずに
って書いてあるのにVisible薦める香具師ってなんなの
- 39 :デフォルトの名無しさん:2016/10/26(水) 12:59:55.89 ID:yTRH6Fig.net
- 立ち上げずにコンテナになれるわけないことを暗に示しただけやない?
- 40 :デフォルトの名無しさん:2016/10/28(金) 04:03:53.32 ID:Jy3/QgVN.net
- 新しいDelpiのフォームの位置をドラッグで移動できないな???
どうして?
- 41 :デフォルトの名無しさん:2016/10/30(日) 03:41:18.12 ID:5WyC57Kn.net
- >>40
「デフォルトレイアウト」から「クラシック(ドッキングなし)」に変えたら
Delphi7のような画面レイアウトになるけど、お望みの回答かどうかはわからない。
- 42 :デフォルトの名無しさん:2016/10/30(日) 08:46:34.99 ID:GMyWViLu.net
- 丸が幾つか描かれているbitmapがあるとして特定の丸の色を変えたいと思い、
丸の上にshapeの丸を置いて対応しました。
このbitmap上の丸とshapeをきっちり対応させる方法ってないですか?
bitmapの大きさ変えたりスクロールさせた時にshapeも追従させたいのですが。
- 43 :デフォルトの名無しさん:2016/10/30(日) 12:44:13.74 ID:+fHRwEF9.net
- >>42
丸を違う色でを塗りつぶすか
違う色で丸を再描画するとかダメ?
- 44 :42:2016/10/30(日) 13:14:20.67 ID:VzVr3D3G.net
- >>43
説明不足ですみません。
ビットマップの画像ファイルを貼り付けた状態と言うことでした。
- 45 :デフォルトの名無しさん:2016/10/30(日) 15:20:00.36 ID:+fHRwEF9.net
- >>44
じゃ、ビットマップ内の円を直接塗りつぶすのがいいよ?
モグラ叩き(?)みたいに動的に表示するんだったら
1) Bitmap0にオリジナルをロードしておいて
2) Bitmap1に都度コピーして任意の円を塗りつぶす
3) そんで最終的にPaintBoxのCanvasにコピーする
4) これを繰り返す
Shapeを使う必然性があるんだったら別だけどね
- 46 :42:2016/10/31(月) 20:22:37.53 ID:I4hSi9OL.net
- >>45
ありがとう!!
出来ました、
- 47 :デフォルトの名無しさん:2016/11/01(火) 14:44:48.26 ID:aPCKG/Vh.net
- Delphi10のインストーラーが一瞬立ち上がってすぐ終了してしまうのですが原因がわかる方いませんか?
サポートサイトを見てもレジストリを触る事しか見当たりません。
どなたかよろしくお願いします。
- 48 :デフォルトの名無しさん:2016/11/01(火) 15:13:15.36 ID:p35VuLBk.net
- パソコンが壊れとる
- 49 :デフォルトの名無しさん:2016/11/01(火) 17:44:57.98 ID:wawt2m9n.net
- まずはdependencywalkerとか
あとウィルスチェックソフト止めるとか
ファイアウォール開いてみるとか
- 50 :デフォルトの名無しさん:2016/11/01(火) 18:11:10.46 ID:MBBNR+y9.net
- お客様にエスパーの方はいらっしゃりませんかー(棒
- 51 :デフォルトの名無しさん:2016/11/01(火) 18:13:18.08 ID:by7jiIas.net
- 馬鹿には無理
- 52 :デフォルトの名無しさん:2016/11/03(木) 13:26:56.03 ID:2mKhPyDG.net
- 符号付きのダブルワードとか言うデータを扱う事になったんだけど、普通に数値が相手から送られて来ると思ったら
16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけどプロの人はどうやってるの?
ググったら変換の考え方は分かったんだけど、プログラムをどう書けば良いかわからん。
Delphiって16進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?
- 53 :デフォルトの名無しさん:2016/11/03(木) 13:32:53.30 ID:6FeMk1RE.net
- 16bitでわかれるって
65535,65535
っていう意味?
だったら
0xffff,0xffff
で1dwordだから
リトルエンディアンなら
(dword)((a[0]<<16) | a[1])
で済むはず
- 54 :デフォルトの名無しさん:2016/11/03(木) 13:33:58.48 ID:6FeMk1RE.net
- ああ逆ω
(dword)((a[1]<<16) | a[0])
- 55 :デフォルトの名無しさん:2016/11/03(木) 13:41:15.66 ID:2mKhPyDG.net
- 早速、ありがとうございます!!
式の意味がわからないw
調べ倒します。
65535,65535に分かれるんですが、-の時には両方2の補数がナンタラカンタラ変換された10進数が送られてきます。
また、分からないことがあったら宜しくお願いします。
- 56 :デフォルトの名無しさん:2016/11/03(木) 16:09:43.66 ID:nO9s2Og+.net
- SmallInt変数に代入すればいいんじゃない?
var
si: SmallInt;
si := StrToInt('$' + Edit1.Text); // 16進数の文字列
si := StrToInt(Edit1.Text); // 10進数の文字列
Edit2.Text := IntToStr(si);
...こう云うことじゃないの?
- 57 :デフォルトの名無しさん:2016/11/03(木) 16:20:54.86 ID:KRq5Cur1.net
- こういうあほと仕事したくないな
- 58 :53:2016/11/03(木) 18:24:42.65 ID:2mKhPyDG.net
- やってみたらあっさりできました。
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?
- 59 :デフォルトの名無しさん:2016/11/03(木) 18:32:31.39 ID:Vzj8eJlj.net
- >Delphiが内部で勝手にやってくれる
その認識はおかしい
「Delphiは何もしない」が正しい
- 60 :53:2016/11/03(木) 19:10:20.41 ID:2mKhPyDG.net
- >>59
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?
- 61 :デフォルトの名無しさん:2016/11/03(木) 19:18:10.90 ID:KRq5Cur1.net
- + b でも良いかも知れないが or b の方が良くね
- 62 :デフォルトの名無しさん:2016/11/03(木) 19:21:51.74 ID:cIZsGa0I.net
- 符号付きのDWORDって4バイトの整数とは違うの?
- 63 :デフォルトの名無しさん:2016/11/03(木) 19:44:23.50 ID:ieIIzjtH.net
- DWORDというかWORDが符号なし整数値やろ
BYTEはunsigned char
WORDはunsigned short
DWORDはunsigned long
UINTはunsigned int
いずれも符号なし整数
- 64 :デフォルトの名無しさん:2016/11/03(木) 20:02:43.66 ID:URbOgVYK.net
- DWORDは符号なしだけど
送られてくるデータはDWORDだけど符号を扱うっつってんだから
普通に中身はintだろ
intにキャストすれば万事OK
- 65 :デフォルトの名無しさん:2016/11/03(木) 21:13:18.27 ID:iYejUQc8.net
- 曖昧すぎるんだ
>普通に数値が相手から送られて来ると思ったら
>16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけど
- 66 :デフォルトの名無しさん:2016/11/05(土) 12:52:45.83 ID:edcXpxnV.net
- >>60
同じ数値型変数でも a の型を変えてビット数や符号付きかどうかが変わると結果も変わる。
- 67 :53:2016/11/06(日) 00:10:46.65 ID:EC/gao/y.net
- >>66
仰る意味が分かりました。
符号付き16BitのデータをLongに入れるとマイナスが判断されず16Bitのプラス値が入る。
Smallintに入れるとマイナスを認識する。
と言う事で、扱うデータにあった型の変数に代入する、
もしくはデータの符号の位置が変数の左端に入るように
シフトさせるとプラマイを勝手に判断してくれると言う事で良いでしょか?
- 68 :デフォルトの名無しさん:2016/11/06(日) 04:28:48.06 ID:nNdE2u+1.net
- >>67
勝手に、というか、歴史的なものでもあるんだが、そもそもコンピュータは符号について考慮できない。
というのはビットのON/OFFしかないからだ。かといって計算ではマイナスの値も考慮する必要がある。
ということで色々あって、結局今のコンピュータでは高速に計算する場合はこういう手法を使うことになった。
(低速になってもいいが精度が必要な場合にBCDにするとか、他の方法もあるがちょっとそれは置いておく)。
1. 0/1が表せるビットを束ねてまとめて2進数として大きな数値も表せるようにする。
2. 0の時は全てのビットが0になる。
3. 0の状態で1を引いた時、つまり-1は全ビットが1になる。
4. 更に1引いた場合は符号なし整数の時と同じ計算で1を引く。
5. 1番上のビットが1の場合はその値はマイナス、0の場合はプラス。
なので例えば8bit符号付整数は -128 〜 127 までが表せるが、-128の時は2進だと 10000000 になっている。
127 は 01111111 になっている。
画面に10進数に変換して出す場合はまず最上位ビットを見て1ならばマイナス記号を出しプラスならば何も出さない。
次に最上位ビットが1ならば全ビットを反転させた後に1を足す(符号をマイナスからプラスに変換する)。
その後10で割った余りを数字の文字に変換して出し10で割るというのを0になるまで繰り返すが、これだと
逆順になるので再帰処理にするかバッファに入れておいて逆順に出すか少しテクニックが必要。
- 69 :デフォルトの名無しさん:2016/11/06(日) 09:03:20.09 ID:j4rRKkND.net
- コンピューター工学
ASM
2の補数
・・・・いろいろ学ばないと分からないかも
一番いいのは痛い目食わないと覚えられないかも
趣味なら?
- 70 :デフォルトの名無しさん:2016/11/06(日) 09:31:18.68 ID:rGVVvSQ9.net
- >>68
結果がたまたま合ってるが過程がめちゃくちゃの典型的な悪文
- 71 :デフォルトの名無しさん:2016/11/07(月) 02:58:59.60 ID:k8MgRjfU.net
- じゃあおまえが書けよ
- 72 :デフォルトの名無しさん:2016/11/07(月) 07:51:58.89 ID:MiZ0k8Uw.net
- わしもそう思う
しかし、理解すべきは、型の互換性や代入の互換性についての処理系の決め事であって、
動作原理やらは趣味の領域。
- 73 :デフォルトの名無しさん:2016/11/07(月) 11:31:55.07 ID:VvMqHJ76.net
- 変数の宣言で符号有り、無しのどちらの宣言しても
キャストでどうとでもなるから、くよくよするな
var
i : LongInt;
キャストで
LongWord(i)
出来るから
- 74 :デフォルトの名無しさん:2016/11/07(月) 16:11:14.00 ID:iTWgrf69.net
- スレチ
- 75 :デフォルトの名無しさん:2016/11/09(水) 15:53:32.11 ID:i2gLSeC7.net
- D7のクイックレポートで質問です
現在単純な一覧を作っているのですが、罫線で全体の外枠を太く、明細行の仕切りを細く描きたいと思っています
Bandのフレームを外枠にして明細行は左右だけフレームで描き、下部にQrshapeを置いてやってみたのですが
その明細行がページの最終行かどうか判断する方法がわからず
外枠の下を印刷できません
各ページの行数は不定です
何かいい方法は無いでしょうか
もう一つ、グループで小計を印刷したいのですが、その際小計行は太線で囲みたいと思います
小計行はグループフッターで印刷し四方をフレームで囲ってみたところ明細行のShapeとフレームが重なって
小計行の上の線だけ少し太く印刷されてしまいました
うまいやり方は無いでしょうか
よろしくお願いします
- 76 :デフォルトの名無しさん:2016/11/09(水) 16:14:12.62 ID:i2gLSeC7.net
- 済みませんもう一点ありました
グループではなくページの小計を印刷したいのですが、ページフッターだと明細行と離れて印刷されてしまいます
何かいい方法は無いでしょうか
- 77 :デフォルトの名無しさん:2016/11/18(金) 05:32:26.95 ID:mITFokzs.net
- 仮想のイーサネットインターフェース(NIC)の作り方って知りませんか?
linuxだと簡単にできるらしいけど、windowsでできるコンポとかコマンドとかないのかな?
- 78 :デフォルトの名無しさん:2016/11/18(金) 16:27:06.42 ID:vbdBJsNN.net
- softetherみたいなの?
- 79 :デフォルトの名無しさん:2016/11/18(金) 17:38:12.72 ID:mITFokzs.net
- そういうのいじってみたい
仮想NICというかループバックていうのはMS純正でできるのが分かった
- 80 :デフォルトの名無しさん:2016/11/18(金) 19:29:30.81 ID:e+81aozX.net
- ソース公開されてるだろ
- 81 :デフォルトの名無しさん:2016/11/20(日) 12:26:46.05 ID:n8KZIrdr.net
- https://www.embarcadero.com/products/rad-studio/features
RAD Studioの体験版ってDelphi XE2と共存できる?
体験版試して環境壊したら面倒だから躊躇してる
買うなら完全上書きで移行でも良いんだけど
xamarinみたいにハマるならやめたい
- 82 :デフォルトの名無しさん:2016/11/20(日) 12:33:25.79 ID:omU4WGo2.net
- canvasやcaptionを持ってないコントロール上に文字描こうと思ったら、LABELを被せるのが一番簡単?
- 83 :デフォルトの名無しさん:2016/11/20(日) 12:37:35.32 ID:sLB4mNYr.net
- そりゃ、ポトペタしてプロパティ変更するだけだから、10秒で終わるし。
- 84 :デフォルトの名無しさん:2016/11/21(月) 02:06:39.96 ID:9bjfwpvu.net
- 動的に沢山作ったコントロールの破棄方法を教えて下さい。
作っ時にTLISTに入れておいて、破棄する時にリストから引っ張り出してfreeでいいですか?
- 85 :デフォルトの名無しさん:2016/11/21(月) 06:45:32.74 ID:6Naumri0.net
- TObjectListに入れておけば、リストをクリアするだけでOK
- 86 :デフォルトの名無しさん:2016/11/21(月) 08:34:01.10 ID:3YAs2dXK.net
- >>81
XE2とは共存できる。
10.1Berlinの他のグレードとは共存できない。
- 87 :デフォルトの名無しさん:2016/11/21(月) 08:43:29.76 ID:sE1stBxO.net
- >>85
ありがとうございます!
- 88 :デフォルトの名無しさん:2016/11/21(月) 23:48:31.13 ID:eSdu1Qd7.net
- >>86
ありがとう!入れてみてすんなりスマホアプリ作れたら買おうっと
- 89 :デフォルトの名無しさん:2016/11/22(火) 11:23:52.32 ID:J8mgYJIF.net
- 16万かー 高すぎる
昔の4万位ならまた買いたいと思っていたのに、これじゃ無理だわ
C#ならタダだから、こっちで我慢する
- 90 :デフォルトの名無しさん:2016/11/22(火) 13:02:30.45 ID:d73nUv9a.net
- すごく初歩な事だと思うんだけど、フォームを最大にした状態でコントロールを配置するにはどうしたら良いですか?
- 91 :デフォルトの名無しさん:2016/11/22(火) 13:11:22.55 ID:qW+6ZAFd.net
- えっ?
- 92 :デフォルトの名無しさん:2016/11/22(火) 16:00:58.51 ID:d73nUv9a.net
- フォームデザイナは消せない?
フォームデザイナの中で少なからずスクロールさせるのがうざくて。
- 93 :デフォルトの名無しさん:2016/11/22(火) 16:20:11.79 ID:Pvp5yOqg.net
- もっと大きいディスプレイを使う
- 94 :デフォルトの名無しさん:2016/11/22(火) 17:14:24.12 ID:d73nUv9a.net
- えっ?そう言う事じゃないw
- 95 :デフォルトの名無しさん:2016/11/22(火) 18:10:29.79 ID:kKFxgFqP.net
- コンポーネントパレットのコンポーネントをダブルクリックすればいいんじゃね。
- 96 :デフォルトの名無しさん:2016/11/22(火) 18:15:01.08 ID:jjDYJ6Bv.net
- 最大化した状態を想定してコントロールを配置したい?
...ということでもなよね
- 97 :デフォルトの名無しさん:2016/11/22(火) 20:43:49.84 ID:d73nUv9a.net
- >>96
そう言う事です。
俺、相当変なこと聞いてる?
- 98 :デフォルトの名無しさん:2016/11/22(火) 20:54:34.84 ID:1EZz+VvR.net
- フォームのサイズに追随するように作るから
わざわざ最大化で考えたりしない
- 99 :デフォルトの名無しさん:2016/11/22(火) 21:23:29.12 ID:jjDYJ6Bv.net
- >>97
自分だけが使うんだったら、最大化を想定して
コントロールの絶対位置を決めることもありだけどね
でも、どのような環境で使われるか分からない場合
フォームの最大化への対応は結構難しいと思う
まあコントロールのAlignでフォームサイズに
追随するだけでいいなら簡単だけど...
- 100 :デフォルトの名無しさん:2016/11/22(火) 22:15:22.90 ID:d73nUv9a.net
- >>98,99
ありがとうございます。
大きなディスプレイ使います。w
- 101 :デフォルトの名無しさん:2016/11/22(火) 23:16:57.50 ID:qW+6ZAFd.net
- ふーん
- 102 :デフォルトの名無しさん:2016/11/23(水) 13:06:18.51 ID:tPiPFLaf.net
- >>100
4Kディスプレイを買うのかな?
- 103 :デフォルトの名無しさん:2016/11/23(水) 13:16:56.95 ID:wddBimUU.net
- 4Kディスプレイはプログラミングする上で非常に作業性が高まって
生産能力が跳ね上がるからアリだな
たくさんの資料と開くのはマルチディスプレイでも出来なくないけど
4Kディスプレイは縦が長いのが素晴らしい
一つ問題があるとしたら
自分のソフトを4Kディスプレイで最大化したら
描画が追い付かなくなってカクカクになるという事実に気づいてしまうこと
ただし、MS謹製のエクスプローラでもカクカクになるぐらいなので
本当の意味で4K対応のソフトはそんなに多くないし
気にしなくてもよいのかもしれんが、どーなんだろ
アンチエイリアスのかかった文字の描画がとにかく遅い
1FPSぐらいになって操作困難だ
- 104 :デフォルトの名無しさん:2016/11/23(水) 14:35:16.76 ID:XEgR0M7V.net
- k-ブルが糞なんじゃね
- 105 :デフォルトの名無しさん:2016/11/24(木) 21:31:04.24 ID:EbGC2MML.net
- サブスクリプションって、アップデート2をインスコすれば
勝手にライセンス適用してくれるの?
- 106 :デフォルトの名無しさん:2016/11/26(土) 08:53:16.82 ID:SyGP2pYs.net
- フォームに入力した数値を保存する方法を教えてください。
- 107 :デフォルトの名無しさん:2016/11/26(土) 10:20:52.50 ID:RLaeAJYk.net
- >>106
フォーム(上のエディットコンポ)に入力した数値を(ファイルに)保存する方法ということかしら?
簡単な一例。
フォームにエディットコンポEdit1とボタンButton1があるとしてボタンを押したらエディットコンポに入力されたテキスト(数値でなくても同じ)をファイルに保存する。
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
// 入力された文字列を取り出し(数値だろうと扱いは文字列)、文字列リストに追加
sl.add(Edit1.Text);
// 文字列リストの内容をファイルに保存(ここでは実行ファイルと同じフォルダーにした)
sl.SaveToFile(ChangeFileExt(Application.ExeName, '.txt'));
finally
sl.Free;
end;
end;
- 108 :デフォルトの名無しさん:2016/11/26(土) 10:35:43.40 ID:SyGP2pYs.net
- ありがとうございます。
ちょっとやってみます。
- 109 :デフォルトの名無しさん:2016/11/26(土) 23:59:22.61 ID:+C/v9Yiv.net
- TFile使ったら1行で書けるかも
- 110 :デフォルトの名無しさん:2016/11/27(日) 21:47:18.22 ID:G948Ts5Y.net
- TEdit.Lines自体がTStringsだからSaveToFile持ってるんじゃなかったかな
- 111 :107:2016/11/27(日) 22:12:21.76 ID:Vd8hDN3e.net
- 昔のDelphiしかないので最近のはわかりません、あしからず。
昔のでもメモコンポならLines.SaveToFile(ファイル名)できますね。
- 112 :デフォルトの名無しさん:2016/11/28(月) 01:18:24.55 ID:uacaeDTN.net
- TEditにLinesプロパティってなくね?
- 113 :デフォルトの名無しさん:2016/11/28(月) 13:10:31.06 ID:/4N3P5Kl.net
- TEditにはLinesはないね
もともと1行編集ボックスだからね
TEditの内容を保存するんだったら
TStringList.に読み込んでSaveToFile()を使うか
TFile.WriteAllText()を使うかだね
まあ後者のほうが簡単だけど
- 114 :デフォルトの名無しさん:2016/11/28(月) 22:30:06.28 ID:4Blidc3O.net
- TFileってのは最近できたのか
TFileStreamとは別物なんだな?
- 115 :デフォルトの名無しさん:2016/11/29(火) 05:29:51.70 ID:W5POPsuB.net
- TFile はDelphi2010からだって
TFileStreamとは別物
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TFile
System.IOUtils自体が2010からの追加らしい
- 116 :デフォルトの名無しさん:2016/11/29(火) 11:14:31.26 ID:Ln/aQe4r.net
- パスワードがかかっているExcelファイルを開ける時にパスワードを入れる方法を教えて下さい。
delphi からパスワード無しファイルを操作する事は出来ています。
- 117 :デフォルトの名無しさん:2016/11/30(水) 09:51:10.70 ID:YyN+WuPe.net
- >>116
どういうやりかたで
「delphi からパスワード無しファイルを操作する事は出来ています。」
ができているのかしらんけど
OLEオートメーションを使っているなら、
xlApp.Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format,
Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)
excelを持ってないなら
?FlexCel for VCL / FireMonkey
を使うとか
- 118 :デフォルトの名無しさん:2016/12/01(木) 19:46:00.26 ID:D32vS8+n.net
- D6の使用許諾コードって今でも都連だね 知らなかったわ
- 119 :デフォルトの名無しさん:2016/12/02(金) 19:55:58.69 ID:DITubkqg.net
- なぜに今さらD6?
新しいの無料になってなかったっけ
- 120 :デフォルトの名無しさん:2016/12/02(金) 23:02:38.10 ID:p/xrLFXH.net
- RXバグだらけで使いづらいよ
- 121 :デフォルトの名無しさん:2016/12/02(金) 23:39:57.49 ID:LMsZph5A.net
- 具体的にどんなバグ?
- 122 :デフォルトの名無しさん:2016/12/03(土) 09:26:01.40 ID:lQCz0lUj.net
- ボタンの色の変更ってTButtonから派生させて改造しないとダメ?
- 123 :デフォルトの名無しさん:2016/12/04(日) 00:23:15.66 ID:VbxK6ZGr.net
- 結局どんなバグがあったんだろう
- 124 :デフォルトの名無しさん:2016/12/04(日) 00:50:42.52 ID:Zv4y5DXv.net
- こんなバグ
http://gigazine.net/news/20161201-windows-10-upgrade-bitlocker-bypass/
- 125 :デフォルトの名無しさん:2016/12/04(日) 01:14:11.69 ID:VbxK6ZGr.net
- WindowsのバグとRadStudioになんの関係が?
- 126 :デフォルトの名無しさん:2016/12/04(日) 20:23:52.39 ID:DHDwgClI.net
- 7以降アップデートしてないんだけど
すると良いことある?
- 127 :デフォルトの名無しさん:2016/12/05(月) 16:25:17.26 ID:dF177W8B.net
- 人に依る
- 128 :デフォルトの名無しさん:2016/12/05(月) 20:51:09.49 ID:u75Tu5Z4.net
- ユニコード対応がなんたらうんたら
- 129 :デフォルトの名無しさん:2016/12/05(月) 22:36:44.05 ID:Yjl942ym.net
- Delphi2.0 の高速コンパイルは素晴らしかった
- 130 :デフォルトの名無しさん:2016/12/05(月) 22:44:55.05 ID:FaC7RcWw.net
- >>128
Unicode対応なんだ・・・TNTいらなくなるのか
これだけでも少し便利そうだな・・ありがと考えてみる
- 131 :デフォルトの名無しさん:2016/12/05(月) 23:11:20.14 ID:3xjBziHl.net
- 新機能使わなきゃそりゃあってもしょうがないけど、
さすがに7からならアップグレードすりゃ色んな新機能がわんさかだと思うよ。
古い新機能ではUnicodeから始まってWin64bit対応やOSX対応、ジェネリックやら
Vistaとかの新コントール。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
から新機能のページだけを過去のバージョンにさかのぼってみていけばいい。
- 132 :デフォルトの名無しさん:2016/12/06(火) 00:07:34.75 ID:cx3pcX82.net
- コードエディタの進化は効率アップにもなるしやっぱ良いよ
- 133 :デフォルトの名無しさん:2016/12/06(火) 18:04:09.67 ID:GBHXmuqR.net
- Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。
今、バーコード入力するソフトを書いているのですが、担当者をComboboxで選択していないと
EditをクリアしてShowMessageを表示するつもりです。
EditをクリアしてMessageを出す事自体は出来ているのですが、バーコードから送られるデータの
最後にCRがついてきて(バーコードリーダーが付けてきます。)、多分このCRがShowMessageに
送られてShowMessageが勝手に消えてしまうようなのです。
イベントはKeyPressを使っています。
Windows7 Delphi10.1の環境です。
よろしくお願いします
- 134 :デフォルトの名無しさん:2016/12/06(火) 18:16:56.25 ID:B1jaM3TV.net
- 何がききたいのかようわからん。
- 135 :デフォルトの名無しさん:2016/12/06(火) 18:24:00.95 ID:B1jaM3TV.net
- 「Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。」
後ろにごちゃごちゃよくわからん説明が書いてあるけどこれが聞きたいの?
単に入力された文字をキャンセルならKeyPressのイベントでKeyパラメータに
Key := #00とか代入すればいいんじゃなかったっけ?
if Key = 'A' then
Key := #00;
すりゃ、Aの文字が入力できなくる
このことじゃなかったらもっと適格に書いてくれんとわからん。
- 136 :デフォルトの名無しさん:2016/12/06(火) 19:02:50.65 ID:GBHXmuqR.net
- ありがとうございます。
バーコードから送られてくる文字を全てキャンセルしたいのです。
一文字ずつチェックするのではなく、一気に送られて来た文字を消す方法はありませんか?
宜しくお願いします。
- 137 :デフォルトの名無しさん:2016/12/06(火) 19:18:11.18 ID:BLWAVjyu.net
- >>136
CRって復帰コードのことだろ?
最後にCRがついてくるなら、それが送られてくる最後の文字
なら、それが送られてきたら Key には0入れて Edit.Text := ""; でよかんべ
- 138 :デフォルトの名無しさん:2016/12/06(火) 20:03:14.51 ID:4bwuxuwQ.net
- こんなんじゃだめなの?
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then begin
ShowMessage('Enter!');
Edit1.Clear;
end;
end;
- 139 :デフォルトの名無しさん:2016/12/06(火) 20:26:28.30 ID:GBHXmuqR.net
- ありがとうございます。
出来ました。
条件に合わなかったら入力したらいけないと変な思い込みをしてました。
助かりました。
- 140 :デフォルトの名無しさん:2016/12/07(水) 09:03:33.62 ID:gTqL7Hsg.net
- キーバッファw
- 141 :デフォルトの名無しさん:2016/12/07(水) 09:09:12.00 ID:fnsUACzH.net
- えっ?
- 142 :デフォルトの名無しさん:2016/12/07(水) 09:47:59.67 ID:7C3MKHBs.net
- ラジオボタンって大きくならない?
- 143 :デフォルトの名無しさん:2016/12/07(水) 16:09:50.00 ID:1k8Mb6um.net
- できません。
大きなラジオボタンの絵を描くならできます(ちょっと気持ち悪いので注意)。
procedure TForm1.FormPaint(Sender: TObject);
begin
DrawFrameControl(Canvas.Handle, ClientRect, DFC_BUTTON, DFCS_BUTTONRADIO or DFCS_CHECKED);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Invalidate; // フォームの再描画をWindowsに促す。
end;
- 144 :デフォルトの名無しさん:2016/12/08(木) 15:42:09.36 ID:G/Oz9Gxc.net
- Berlin update2 のFireMonkeyで
Listbox.Items.Exchangeメソッドが動作しないXE2では動くのに
- 145 :デフォルトの名無しさん:2016/12/09(金) 16:34:59.90 ID:G3AX0Oay.net
- お前が悪い
- 146 :デフォルトの名無しさん:2016/12/10(土) 23:22:51.23 ID:KMGjeMy/.net
- 質問です
- 147 :デフォルトの名無しさん:2016/12/10(土) 23:33:56.35 ID:KMGjeMy/.net
- 関連付けされてるファイルを起動するのは ShellExecute でできますが
例えば abc.csv ファイルを .txt で関連付けされてるアプリケーションで
開く簡単な方法はあるでしょうか
- 148 :デフォルトの名無しさん:2016/12/11(日) 06:10:35.77 ID:RsXQTiEs.net
- ”
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
”
- 149 :デフォルトの名無しさん:2016/12/11(日) 12:45:00.53 ID:DKctrae4.net
- >>147
簡単には無いと思う。
レジストリ開いて関連付け調べてabc.csvを引数にそのプロセスを起動させる。
- 150 :デフォルトの名無しさん:2016/12/11(日) 16:52:57.05 ID:uXWnPaTO.net
- 拡張子に関連付けされた実行ファイル名の取得
http://mrxray.on.coocan.jp/Delphi/plSamples/480_GetFullExePath.htm
- 151 :デフォルトの名無しさん:2016/12/11(日) 18:44:37.29 ID:IZotsPxu.net
- >>149-150
サンキュー参考になりそう
ちなみに xray さん元気そうでなにより
- 152 :デフォルトの名無しさん:2016/12/12(月) 14:28:19.03 ID:JuHHFpqe.net
- 私はFindExecutable APIで拡張子".txt"のダミーのファイル名を渡して…というところまで考えていたのですが、そのものずばりなAPIがあるのですね。
- 153 :デフォルトの名無しさん:2016/12/15(木) 11:41:17.48 ID:KMS/yunp.net
- Cのライブラリで
const char *ss[] = {"abc", "def", "xyz", NULL};
を引数として要求するAPIがあるのですがDelphiからは
どうやって定義すればよいでしょう?
- 154 :デフォルトの名無しさん:2016/12/15(木) 12:42:40.01 ID:jYtTego3.net
- ポインタのポインタ
- 155 :デフォルトの名無しさん:2016/12/15(木) 21:30:43.84 ID:esnvxFap.net
- array of PChar
- 156 :デフォルトの名無しさん:2016/12/16(金) 08:13:11.02 ID:khJxMTBU.net
- >>154
>>155
ありがとう。
array of は内部的にはポインタなんですね。上手く動作しました。
- 157 :デフォルトの名無しさん:2016/12/16(金) 13:53:20.44 ID:bP8vH7ub.net
- IntArray: array[0..99, 0..99] of Integer;
AI :IntArray;
P :Pointer;
Fs :TFileStream;
i,j :Integer;
for i := 0 to 99 do
for j := 0 to 99-1 do
AI[i,j] := Random(1000)+50;
Fs.Write(AI[0,0], SizeOf(Integer)*L );
Fs.Write(AI, SizeOf(Integer)*L ); ………(#)
のどちらでも OK ですが、これは AI[0,0] と AI のアドレスが同じというだけで
AI[0,0] = AI
ではないのですから、(#)の記述は AI という '配列名' はポインタのように感じられます。しかし、
P := AI;
とするとコンパイラに怒られます。Delphi の '静的配列名' はポインタではないのしょうか。
- 158 :デフォルトの名無しさん:2016/12/16(金) 13:58:41.71 ID:n8JQ6xp/.net
- Fs.Writeの引数の型宣言みろ
- 159 :デフォルトの名無しさん:2016/12/16(金) 14:20:04.02 ID:bP8vH7ub.net
- 引数は型なしパラメータだから、実際にはパラメータのアドレスが Fs.Write に渡され、
そのアドレスが処理対象になる。つまりそこに必要なサイズのメモリ領域が正しく確保さ
れていれば、その領域がどのような型なのかは関係ないということか。
結局 Delphi の '静的配列名' はポインタではないんだね。
- 160 :デフォルトの名無しさん:2016/12/16(金) 14:32:37.28 ID:HmHblg1G.net
- P := Pointer(AI);
- 161 :153:2016/12/16(金) 16:08:44.84 ID:khJxMTBU.net
- 後に誰かの参考になるかもしれないので少し詳しく書いておきます。
Cで作成されたDLL内の関数の.hファイルの定義が
void hoge(const char **hage);
となっていて、
const char *ss[] = {"abc", "def", "xyz", NULL};
hoge(ss);
という使用例が書かれてたところ、
procedure hoge(hage: array of PAnsiChar); cdecl; external 'kage.dll';
hoge(['abc', 'def', 'xyz', nil]);
で上手く動作しました。ペコリ。
- 162 :デフォルトの名無しさん:2016/12/16(金) 16:14:50.71 ID:n8JQ6xp/.net
- さんざん概出
- 163 :153:2016/12/17(土) 10:45:35.06 ID:1MhgkvS0.net
- >>162
そうですか。スレ汚し失礼しました。ペコリ
- 164 :デフォルトの名無しさん:2016/12/18(日) 18:39:46.50 ID:SM4ZDbUW.net
- TreeView をデザイン時にフォームに貼り付けてできたアプリを終了するとき
TreeView の各ノードが保持するデータ(TreeView1.Items[n].data が保持しているデータ)
も自動的に廃棄されるのですか?
- 165 :デフォルトの名無しさん:2016/12/18(日) 18:51:06.13 ID:U6l2OwGO.net
- >>164
TTreeNode::Data が保持するデータはプログラマが明示的に破棄しないとダメ。
- 166 :デフォルトの名無しさん:2016/12/18(日) 20:05:19.93 ID:SM4ZDbUW.net
- >>165
ありがとう。
以下のような感じでいいのですかな?
//TNodeData は TreeNode.Data が保持するデータのクラス
//+----------- FormDestroy ------------+
procedure TForm1.FormDestroy(Sender: TObject);
i: Integer;
begin
with TreeView1 do
for i = 0 to Items.Count - 1 do
TNodeData(Items[i].Data).Free;
//TreeView1.Items.Clear; 不要
end;
あるいは TreeView のOnDeletion を使って
//+-------------- TreeViewDeletion --------------+
procedure Form1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node.Data) then
TNodeData(Node.Data).Free;
end;
- 167 :デフォルトの名無しさん:2016/12/18(日) 20:17:52.63 ID:U6l2OwGO.net
- >>166
そんな感じ。
- 168 :デフォルトの名無しさん:2016/12/20(火) 23:16:00.88 ID:ifPrFvUo.net
- スレッドを使ったプログラムで、スレッド内にある未使用の変数をコメントアウトしたら、
終了する時にアクセスバイオレーションが出るんだけど、こんな事ってあるの?
プライベートに宣言してあるからメインとかが絡んでる事は無いのだけど。
- 169 :デフォルトの名無しさん:2016/12/20(火) 23:35:38.32 ID:qjg7YQIs.net
- コメントアウトされた変数が確保していたメモリ域のおかげで
偶然アクセス違反が発生しない状態になってるとかじゃね?
要はコメントアウトしていなくてもコーディングミスで不正なメモリアクセスしている状態なのかも
- 170 :デフォルトの名無しさん:2016/12/20(火) 23:43:04.81 ID:ifPrFvUo.net
- こんな時間にありがとう!
そんな事があり得るんですか。
難しいなぁ。
- 171 :デフォルトの名無しさん:2016/12/21(水) 12:39:12.66 ID:kCrlwcjM.net
- あり得るというより一番多いパターンだったり
- 172 :デフォルトの名無しさん:2016/12/21(水) 14:28:11.26 ID:yxrWTbmA.net
- 「参照」とポインタの話か? 慣れるまで結構厄介だからな。
- 173 :デフォルトの名無しさん:2016/12/21(水) 17:50:14.49 ID:69vl5rId.net
- ちょっと教えてください
自分自身(実行ファイル)を再起動する方法を教えてください
ちなみに二重起動を禁止したアプリでです
できれば再起動用の別アプリを使用しないのが理想的です...
- 174 :デフォルトの名無しさん:2016/12/21(水) 18:38:54.87 ID:3rWlzZt5.net
- >>173
自分自身が起動するときだけ二重起動許可して起動確認できたら自分を閉じる
- 175 :デフォルトの名無しさん:2016/12/21(水) 21:13:47.15 ID:69vl5rId.net
- >>174
ありがとうございます。
やはりその方向ですか。
リスタート後に最初のインスタンスのiniファイルを読み込みたいで
Mutexのチェックの前に最初のインスタンスの終了を待つ処理が
必要かなと漠然と考えていたんですが...
簡単でスマートな方法はないんですね
- 176 :デフォルトの名無しさん:2016/12/21(水) 21:25:28.28 ID:GvkBvmPc.net
- >>175
自分(プロセスA)が自分(プロセスB)を起動するときに、コマンドラインで /restart というようなコマンドを渡す。
プロセスBは /restart ってコマンドを受け取ったら、Mutexの所有権を得るまで待機する。(再起動処理)
プロセスAはMutexの所有権を開放する。
/restartを受け取らなかった場合は、Mutexの所有権を得られなかった場合は終了する。(二重起動防止)
- 177 :デフォルトの名無しさん:2016/12/21(水) 23:03:33.63 ID:V2gs4HSo.net
- >>176
そうですね
Mutexが取得できるまで待機すればいいですよね
終了待ちをもっと複雑な方法で考えてました
ありがとうございます
- 178 :デフォルトの名無しさん:2016/12/22(木) 20:53:24.89 ID:GbxNFxpQ.net
- よろしくお願いします。
『レコード型Aを利用する、クラスA』を自作したとします。
そして、『このクラスAとほとんど同じ機能を持つが、レコード型Bを利用する、別のクラス』を作りたいとします。
この場合、どう記述するのが効率良いでしょうか。
例えば、よくサンプルで見る、TListのItemにレコード型のポインタを使ってデータを入れる場合。
type
// レコード型A
PTRecA = ^TRecA;
TRecA = record
// 略
end;
// レコード型B
PTRecB = ^TRecB;
TRecB = record
// 略
end;
// クラスA・・・レコード型Aを利用
TClassA = class(TList)
procedure SetItem(Rec: TRecA);
function GetItems(Index: Integer): TRecA;
end;
// クラスB・・・レコード型Bを利用
TClassB = class(TList)
procedure SetItem(Rec: TRecB);
function GetItems(Index: Integer): TRecB;
end;
上記の様に、クラスAとクラスBで似た様なコードの重複が多い場合、
クラスの定義をもっと効率良く記述できる方法があれば教えていただきたいです。
- 179 :デフォルトの名無しさん:2016/12/22(木) 20:58:35.19 ID:T2mCxqBZ.net
- delphi ジェネリックスでググる
- 180 :デフォルトの名無しさん:2016/12/24(土) 05:08:06.07 ID:dJj6Jdn2.net
- クラスの継承を使えないか?
レコードのほうに「違い」を押し込んでクラスにして継承して、クラスは共用とできないか?
そもそもクラスとレコードに分ける必要があるのか?
などなど
- 181 :デフォルトの名無しさん:2016/12/24(土) 16:48:03.74 ID:NvTs06qg.net
- レコード型をクラスのメンバとしてポインタで管理して
そのポインタの実体を操作する仮想メソッドなどを作る。
- 182 :デフォルトの名無しさん:2016/12/24(土) 23:24:23.58 ID:SRluPO+r.net
- firemonkeyを使ってandroid向けのゲームを作り始めましたが
いきなり躓いて困ってます。
ゲームループのスレッドを作って描画を行っていますが
TBitmapがスレッドセーフでないため描画処理が正常に行えません。
firemonkeyでゲームを作る場合はメインスレッドのみで作るのでしょうか。
- 183 :デフォルトの名無しさん:2016/12/25(日) 02:11:22.91 ID:dFY2jBPw.net
- lockしてもダメ?
- 184 :デフォルトの名無しさん:2016/12/25(日) 09:12:26.41 ID:LRNNB7e/.net
- DrawGridのセルの色を取得する方法を教えて下さい。
どのセルに何色を塗ったか記憶しているのですか、
もっと簡単に知る方法があると思い質問させてもらいました。
宜しくお願いします。
- 185 :デフォルトの名無しさん:2016/12/25(日) 09:56:13.82 ID:HB1HITh4.net
- >>182
スレッド側でBitmap描画してからSynchronize使ってメインスレッドのBitmapに転送すれ
- 186 :デフォルトの名無しさん:2016/12/25(日) 09:59:02.44 ID:BtIm+2Ns.net
- >>183
Delphi6の時はCanvas.Lockがあったと思いますが
今使ってるDelphi10.1ではLockが見つからなくて・・・
- 187 :デフォルトの名無しさん:2016/12/25(日) 10:11:02.14 ID:BtIm+2Ns.net
- >>185
スレッド側で描画用のBitmapをCreateしてWidth、Heightを設定した段階で
EBitmapSizeTooBigの例外が発生してしまうため、そこまで辿り着けなくて困ってます。
- 188 :デフォルトの名無しさん:2016/12/25(日) 10:30:12.14 ID:rexwkbDx.net
- 例外の種類見る限り、スレッドと関係なさそうに見えるが。
ビットマップが大きすぎるってWidthとHeightをいくつに設定しようとしたの?
- 189 :デフォルトの名無しさん:2016/12/25(日) 10:36:40.00 ID:BtIm+2Ns.net
- >>188
サイズは350x450なのでたぶん大きすぎることはないと思います。
メインスレッドで動作させた場合は、例外が発生することなく動作するので
メインスレッド以外ではTBitmapは使えないのかと・・・
また、Windowsでは正常に動作してAndroidで動作させると例外が発生するため
Android固有の問題なのかなと思いまして
- 190 :デフォルトの名無しさん:2016/12/25(日) 12:33:01.08 ID:dFY2jBPw.net
- >>186
map/unmap
- 191 :デフォルトの名無しさん:2016/12/25(日) 17:27:44.55 ID:HB1HITh4.net
- >>189
AndroidのThreadで発生するってQPに上がってるからVOTEしとけばそのうち治るんじゃないかな
そのうち。
- 192 :デフォルトの名無しさん:2016/12/25(日) 17:59:22.97 ID:YEQFz9Pa.net
- Delのバグかよ
- 193 :デフォルトの名無しさん:2016/12/25(日) 18:04:15.67 ID:BtIm+2Ns.net
- >>190
教えていただいたものを使って処理を行ってみましたがダメでした。
>>191
期待しないで待つことにします。
別スレッドでの処理を諦めてとりあえずメインスレッドで全て行うようにします。
相談に乗っていただいた方々ありがとうございました!
- 194 :デフォルトの名無しさん:2016/12/28(水) 09:28:27.13 ID:aele3sW5.net
- Delphi 10.1 BerlinのStarterでチュートリアルをやってます。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/ユーザー アクションに対する応答をコード エディタでコーディングする(IDE チュートリアル)
このページの中ほどまで進んだら
[dcc32 エラー] TextEditorUnit.pas(94): E2003 未定義の識別子 : 'TDialogServiceSync'
というエラーが表示されてしまいます。
どうしたら修正できるのでしょうか?
- 195 :デフォルトの名無しさん:2017/01/01(日) 00:51:30.42 ID:u9hnImCi.net
- >>194
ここで引っかかってるのかな?
UserResponse := TDialogServiceSync.MessageDialog(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, mbYesNo, TMsgDlgBtn.mbYes, 0);
TDialogServiceSync はFire Monkeyでしか使えないからvclプログラムではエラーになって当然かも。
チュートリアルのソースコードって色々バグってるからなぁ…
とりあえず
UserResponse := MessageDlg(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, [mbYes, mbNo], 0);
と書き換えたらエラー出なくなると思う。
- 196 :デフォルトの名無しさん:2017/01/02(月) 05:54:12.25 ID:IPXAtosy.net
- クラスファンクションなのかそれは?
- 197 :194:2017/01/02(月) 12:22:05.25 ID:THkmnZCs.net
- >>195
ありがとうございました。早速試してみましたが、
[dcc32 エラー] TextEditorUnit.pas(99): E2003 未定義の識別子 : 'mbYes'
[dcc32 エラー] TextEditorUnit.pas(99): E2250 指定された引数で呼び出すことのできるオーバーロード関数 'MessageDlg' が定義されていません
[dcc32 警告] TextEditorUnit.pas(99): W1000 シンボル 'MessageDlg' を使用することは推奨されていません : 'Use FMX.DialogService methods'
とエラーが出てコンパイルが通りませんでした。
FireMonkeyはデフォルトで使えるのかと思ってました。いろいろと無知すぎるので
もうちょっと分かりやすいところから勉強しなおしてみます。
- 198 :デフォルトの名無しさん:2017/01/02(月) 20:49:19.17 ID:7Rs/ksIu.net
- >>197
その警告が出るって事はFire Monkeyの方なのか。
だったらそこは元の>>194の命令でいいはず。
usesの所に FMX.DialogService.Sync が記載されているか確認して
なければ追加。
- 199 :デフォルトの名無しさん:2017/01/04(水) 22:56:01.95 ID:SVZbRNc5.net
- スレッドからサブフォームを表示する事は可能ですか?
他の機器から特定の信号が来たら、警告画面みたいなのを表示しようとして
スレッドで信号監視してフォーム表示のつもりがうまくいきません。
なのでメインフォームにタイマー置いてタイマーイベントで信号監視しています。
ヘルプを読むとスレッドからフォームはコントロール出来ないような事が書いてあったのですが、皆さんならどうしますか?
- 200 :デフォルトの名無しさん:2017/01/04(水) 23:19:05.87 ID:07zJ2hFc.net
- 表示するだけなんでしょ?
自分だったらpostmessage
- 201 :デフォルトの名無しさん:2017/01/04(水) 23:55:57.26 ID:07zJ2hFc.net
- ごめん
post-/sendmessageにはwm_closeみたいな表示するメッセージはなかった
独自のメッセージを定義して受け取った側でshowするか
showwindow(async)を使うかだね
- 202 :デフォルトの名無しさん:2017/01/05(木) 00:45:48.42 ID:sWl9IbhJ.net
- >>199
TThread.Synchronizeで、メインスレッドに切り替えてから、引数で渡されたコールバックメソッド(手続き)でサブフォームを表示させるとか
- 203 :194:2017/01/05(木) 06:34:16.06 ID:KgVZC7r0.net
- >>198
エラーが消えて無事に動きました。
ありがとうございます。
こういうのはIDEが教えてくれるのかと思って
いましたが、有料版だとそういう機能は
あるんでしょうかねー
- 204 :デフォルトの名無しさん:2017/01/05(木) 07:19:36.75 ID:DrifgVvY.net
- >>203
関数や手続きが定義されていないってエラーが出たときはその関数などのヘルプを見て
そこに書いてあるユニット名が自分のプログラムのuses節に書かれているか調べるといいよ。
- 205 :199:2017/01/05(木) 09:38:01.68 ID:u8XERnLo.net
- >>200,202
ありがとうございます。
教えてもらった方法を調べながらやってみます。
- 206 :デフォルトの名無しさん:2017/01/08(日) 16:20:11.76 ID:lAdNqeO/.net
- TShellCtrlコンポーネントって、デモに含まれるものなんだよね なんでVCLに含めなかった??
- 207 :デフォルトの名無しさん:2017/01/09(月) 14:24:09.01 ID:KdQvIKlc.net
- >>199
Queue関数。
http://www.gesource.jp/weblog/?p=538
- 208 :デフォルトの名無しさん:2017/01/10(火) 11:27:52.10 ID:D5z5IiVv.net
- マルチスレッドが終了したかどうか確認するのに、フラグで確認してるんだけど、
なんかもっとスマートな方法ってありませんか?
ググったらWaitForが出て来たのですが、hoge.WaitForとしてもハンドルエラーとか出て使えませんでした。
宜しくお願いします。
- 209 :デフォルトの名無しさん:2017/01/10(火) 12:33:32.63 ID:8tL5nmKS.net
- 何があなたのスマートの基準なのか?
フラグは別に悪くないと思うけど。
- 210 :デフォルトの名無しさん:2017/01/10(火) 17:34:35.55 ID:cSdSlPHe.net
- freeが一番確実じゃない?
- 211 :デフォルトの名無しさん:2017/01/10(火) 17:41:03.73 ID:9hDOaePS.net
- >>208
hogeってTThread?
そんだったらTThread.FreeOnTerminateをTrueにしてるから、
スレッドが終了してFreeされてるから、ハンドルエラーと出てくるんだろう。
FreeOnTerminiateをFalseにすればOK(そのかわりTThreadの破棄は自分でやる必要がある)。
- 212 :デフォルトの名無しさん:2017/01/10(火) 18:11:59.83 ID:uT10hEea.net
- 終了したか確認するのにWaitForしたら確認じゃなく待機しちゃってダメじゃないのかと思うけど。
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てるので良くないかい?
あとはメインフォームに終了通知としてメッセージ送るとか。
Win32API使うのOKなら FreeOnTerminiate:=false; にして
スレッドハンドルに対して WaitForSingleObject (タイムアウトは0に設定)使い
WAIT_OBJECT_0が返るかWAIT_TIMEOUTが返るか確認する。
もしくはGetExitCodeThread関数を使うとかかな。
- 213 :デフォルトの名無しさん:2017/01/10(火) 18:56:40.06 ID:XaHxjxQc.net
- そういやスレッドの終わり方の議論が2、3年前にあったな
- 214 :デフォルトの名無しさん:2017/01/10(火) 19:15:27.36 ID:9hDOaePS.net
- FreeOnTerminateが使えない?とかいう議論じゃなかったっけw
- 215 :デフォルトの名無しさん:2017/01/10(火) 21:06:50.37 ID:8tL5nmKS.net
- FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てる
に賛成。簡単確実。
- 216 :デフォルトの名無しさん:2017/01/11(水) 07:54:30.57 ID:7+b9GoiT.net
- >>215
そのフラグの排他制御は簡単じゃないよ
- 217 :デフォルトの名無しさん:2017/01/11(水) 08:27:35.32 ID:7+b9GoiT.net
- ああOnTerminate 内はメインスレッドか。
なら簡単だわ。メンゴ。
昔はOnTerminateイベント無かった希ガス
- 218 :208:2017/01/11(水) 08:51:02.04 ID:jn+AzvnI.net
- おはようございます。
皆さん、ありがとうございます。
フラグがやはり良さげなんですね。
もう1つ教えて下さい。
スレッドの中で
try
stringlist:=TStringList.Create;
while not Terminete do
begin
何かの処理
end;
finally
stringlist.free;
End;
とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
異常終了した時はfinallyの処理をしてくれます。
stringlistの解放はOnTermineteでするのが普通なのでしょうか?
- 219 :デフォルトの名無しさん:2017/01/11(水) 12:16:51.30 ID:CK/PUOqI.net
- >>218
構文が変だよ
tryが抜けてる
- 220 :デフォルトの名無しさん:2017/01/11(水) 14:34:41.49 ID:Rshx8mvt.net
- >>219
tryはあるが?
- 221 :デフォルトの名無しさん:2017/01/11(水) 14:43:08.49 ID:mOqhfYH5.net
- >とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
んなわけない。ちゃんとfinallyの処理するはずだからもっとしっかり確認しよう。
>フラグがやはり良さげなんですね。
もうちょっと具体的にスレッド終わった後何したいのかとか書いてくれんと答えようがねぇ。
- 222 :デフォルトの名無しさん:2017/01/11(水) 17:34:02.96 ID:y79IyYLw.net
- >>220
ホントだtryはあった...でも
最近のdelphiは仕様が変わったのか...
念のため例外処理入れてみたら?
list=:tstringlist.create;
try try
while not terminated do begin ...end;
// ここで正常処理終了のフラグをセット
except....end;
finally list.free; end;
- 223 :デフォルトの名無しさん:2017/01/11(水) 18:26:26.78 ID:tCuecbSb.net
- >>218
>TermineteをTrueにして終了するとfinallyの処理をしてくれません。
どうやって確認したの?
あとTThreadの派生クラスならTerminateはメソッドとTerminatedプロパティが使える。
>stringlistの解放はOnTermineteでするのが普通なのでしょうか?
そんなことはない。
- 224 :デフォルトの名無しさん:2017/01/11(水) 18:29:24.22 ID:+wq8yOB3.net
- 昔昔、QuadrupleDを使ってやってたサウンドの再生を最新のDelphiでやりたいんですが、使えるライブラリを探してます。
・複数のwaveファイルをマルチチャネルで読み込んでそれぞれ別個に再生したい
・チャネル単位でループ再生、ピッチ変更、音量変更がしたい
あるかな…(´・ω・`)
- 225 :デフォルトの名無しさん:2017/01/11(水) 21:03:36.27 ID:go3Ym2g4.net
- ブレーク入れてね
ステップで見るときブレーク入れないと
見かけ飛ばすから
- 226 :デフォルトの名無しさん:2017/01/12(木) 06:31:56.17 ID:a5xM53E0.net
- フラグの排他制御は簡単だと思うが。
boolean変数一個なら読み書きは1命令で、割り込まれることはないだろうし
書く前に消されちゃうようなコードを書かなければいいだけ。
- 227 :デフォルトの名無しさん:2017/01/12(木) 07:43:07.08 ID:pteiZ85t.net
- >>226
きちんとした知識がある人にとっては簡単だよね
- 228 :デフォルトの名無しさん:2017/01/13(金) 08:37:54.09 ID:ZuNdbFdt.net
- フラグをグローバルやメインフォームなどに
持たせるのはなんか古臭いという気持ちはある
- 229 :デフォルトの名無しさん:2017/01/14(土) 13:08:24.40 ID:gjFRSJdj.net
- 元号変わったらどうすっかな
D7だと対応できんだろ
- 230 :デフォルトの名無しさん:2017/01/14(土) 13:25:01.19 ID:h3eR+GmF.net
- >>229
元号とか使わないか
自力で変換
OSの機能を使ってるんだったら大丈夫か
ただvistaも今春でサポート終了するけど
- 231 :デフォルトの名無しさん:2017/01/17(火) 17:31:21.77 ID:O6RaaTFv.net
- Berlin試したみたけど以前ここで言った
gifアニメのバグが解消されてないな
- 232 :デフォルトの名無しさん:2017/01/18(水) 13:40:10.70 ID:YhLwefSp.net
- string、ansichar、pansicharの型キャストってどうやるの?
暗黙の型キャストの警告を消したいんだけど、ググってstrpcopyとかのサンプルを実行しても消えない。
- 233 :デフォルトの名無しさん:2017/01/19(木) 15:50:04.40 ID:5UKguDxp.net
- >>232
string(ansistring変数)とかで消えない?
- 234 :デフォルトの名無しさん:2017/01/20(金) 09:53:10.19 ID:1eiriAuJ.net
- 具体的なコードを挙げてみては?
- 235 :デフォルトの名無しさん:2017/01/27(金) 12:59:02.17 ID:/S2JEwyl.net
- Konopkaコンポーネントのアンインストール方法を教えて下さい。
インストール中に異常終了したのでアンインストールしたいのですが、
アンインストールも途中終了してしまって、行き詰ってしまいました。
よろしくお願いします。
- 236 :デフォルトの名無しさん:2017/01/27(金) 14:49:41.44 ID:5OkJm/3R.net
- >>235
マイドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaのフォルダと
パブリックのドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaの
リポジトリデータを削除すればよかったと思う。(心配ならバックアップとっといてね)
konopka、インストール失敗するとアンインストールもできなくなるんだよね。
- 237 :235:2017/01/27(金) 22:35:47.30 ID:/S2JEwyl.net
- >>236
ありがとうございます。
助かりました。
- 238 :デフォルトの名無しさん:2017/02/01(水) 09:20:48.68 ID:5qzbuLNZ.net
- 入力の支援機能で出て来た候補にカーソルを合わせて、
ピリオド打ったら選んだ候補が入力される設定ってどこにありますか?
ベルリンのup2を入れたのですが、最初は良かったのにいつの間にかピリオドで選択されなくなってしまいました。
- 239 :デフォルトの名無しさん:2017/02/06(月) 19:05:34.17 ID:xOrt0AYX.net
- StringGridのセルをデータの合わせて塗りつぶすことをしています。
タイマーイベントで0.2秒毎にデータに変化がなくても一旦デフォルト色にしてから他の色を塗っています。
そのせいだと思うのですがセルの選択ができません。
セルをランダムに色を塗りつつ、セルの選択もできるようにするにはどうしたらいいでしょうか?
- 240 :デフォルトの名無しさん:2017/02/06(月) 20:35:02.64 ID:iNTq03fP.net
- おんどろーせる
- 241 :デフォルトの名無しさん:2017/02/06(月) 20:38:57.75 ID:U9v8FdBr.net
- TSringGridのOnDrawCellイベントの引数で渡されるTGridDrawStateで、選択されたかどうか判断できる。
選択されてないときだけ、色を変更するよろし。
- 242 :239:2017/02/06(月) 22:36:47.54 ID:xOrt0AYX.net
- >>240.241
ありがとうございます。
まだ、試してませんがどういうコードを書けば良いか案が浮かびました。
- 243 :デフォルトの名無しさん:2017/02/07(火) 04:11:46.40 ID:odr3U2KT.net
- タイマーで200ミリ秒ずつやってるところが壮絶にまぬけっぽい 小学生以下の知能
- 244 :デフォルトの名無しさん:2017/02/07(火) 07:48:29.48 ID:uL0lBsbg.net
- Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
- 245 :239:2017/02/07(火) 14:14:09.54 ID:vf4YiH1/.net
- 昨日はありがとうございました。
TSringGridの特定のセルに数値を書き込むのにDrawTextを使って右寄せで書き込んでいます。
この書き込んだ数値を後から取得することってできますか?
セルにHintみたいに埋め込めたら簡単なんですけどググっても分かりませんでした。
>>243
シーケンサーの信号状態を監視するんで手っ取り早くタイマー使ってます。
- 246 :デフォルトの名無しさん:2017/02/07(火) 21:01:48.32 ID:qgMFF5pP.net
- その「数値」はどこにしまってあるの? それは自分で世話するしかない。
DrawTextは文字列を描画するだけで、何書いたかなんてどこにも覚えていないよ。
- 247 :デフォルトの名無しさん:2017/02/07(火) 22:53:48.58 ID:GEF3mu7C.net
- StringGridなんだから、Cellsプロパティを通して、文字列として各セルにでも入れときゃいいんでね?(ハナホジ
- 248 :デフォルトの名無しさん:2017/02/08(水) 07:16:05.46 ID:3kd0dWw+.net
- >>245
格納するオブジェクトも実装したらいいんじゃ
- 249 :デフォルトの名無しさん:2017/02/12(日) 16:38:05.20 ID:iYdKWxWq.net
- 整数ならcellのobjects(だったっけかな)に入れときゃ良いじゃん
- 250 :デフォルトの名無しさん:2017/02/26(日) 22:21:06.30 ID:S5w82ICF.net
- vs2015アンインスコしたらDel10.1でコンパイルできなくなった。
Del再インスコするしかない?
- 251 :デフォルトの名無しさん:2017/02/26(日) 22:23:37.25 ID:8hwVjJWR.net
- 環境変数消されてるとか?
- 252 :デフォルトの名無しさん:2017/02/26(日) 23:37:41.28 ID:S5w82ICF.net
- >>251
ありがとうございます。
調べてみます。
- 253 :デフォルトの名無しさん:2017/03/14(火) 14:46:39.28 ID:SzM2z6wx.net
- スレッド1で変数aの値を読み書きしていてスレッド2では変数aを読み込みしかしない場合って干渉対策って必要?
- 254 :デフォルトの名無しさん:2017/03/14(火) 15:58:50.80 ID:vbV/Jpv3.net
- うん
- 255 :253:2017/03/14(火) 22:26:02.83 ID:M7D1b0oM.net
- ありがとうございます。
干渉対策じゃなくて排他処理っていうんですね。
失礼しました。
各スレッドで共有する変数を集めたUnitに変数aを宣言して使っています。
この変数aを複数のスレッドからアクセスする場合、Synchronizeを使うのでしょうか?
SynchronizeはスレッドからVCLを描画する場合に使うと書いてあったので、フラグを立てるとかして
排他処理をするのでしょうか?
- 256 :デフォルトの名無しさん:2017/03/14(火) 23:05:45.72 ID:137tpMLx.net
- クリティカルセクションでも使えばいい、どっかで
CS := TCricalSection.Create()で作っておいて、
同時にアクセスされたら困るところで
CS.Enter();
try
共有リソースの変数Aにアクセスなど
finally
CS.Leave();
end;
- 257 :デフォルトの名無しさん:2017/03/14(火) 23:07:46.72 ID:137tpMLx.net
- まぁ、他にもSyncObjs.pasにTInterlockedとかあるけど、
そこは自分で頑張ってくれ
- 258 :デフォルトの名無しさん:2017/03/15(水) 07:56:13.67 ID:OMQXGO2Q.net
- >>255
Synchronize内の処理はメインスレッドでの処理となるから
同時アクセスがありえなくなるということらしいよ
- 259 :253:2017/03/16(木) 09:51:28.35 ID:IMOOaoXR.net
- 皆さん、ありがとうございます。
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
- 260 :デフォルトの名無しさん:2017/03/16(木) 17:53:22.67 ID:Xe646fvV.net
- どこからが使いすぎだと思う?
- 261 :デフォルトの名無しさん:2017/03/16(木) 18:29:10.53 ID:vq3uRAd1.net
- >>259
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。
クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
- 262 :デフォルトの名無しさん:2017/03/17(金) 07:45:46.44 ID:88SBOT8h.net
- >>259
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
- 263 :デフォルトの名無しさん:2017/03/17(金) 09:01:04.72 ID:88SBOT8h.net
- あ、もしかしたら質問に答えてなかったかな?
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
- 264 :デフォルトの名無しさん:2017/03/17(金) 17:25:37.85 ID:c2lVMe4f.net
- >>262
今のcpuは普通にマルチコア、マルチスレッドじゃない?
同時に動いてんじゃない?
- 265 :デフォルトの名無しさん:2017/03/18(土) 10:42:58.16 ID:TEQZ8ThN.net
- >>264
そういう御仁が現れるだろうなとは思ってた。
申し訳ないがマルチコアなどの詳細な仕組みが現話題の結論に
影響を与えるものではないので無視させてもらいます。
- 266 :デフォルトの名無しさん:2017/03/18(土) 11:15:40.91 ID:uhuX0RUO.net
- OSのタスクスケジューリングやスレッド、Delphiのメインスレッドの話がごっちゃ混ぜになっててカオスカオス
- 267 :デフォルトの名無しさん:2017/03/18(土) 11:18:08.58 ID:At1yjhtj.net
- 細かい処理が交互にっていつの時代のタスク割り当ての話してるんだ
- 268 :デフォルトの名無しさん:2017/03/18(土) 17:26:39.99 ID:qhwfKSm6.net
- >マルチコアなどの詳細な仕組みが現話題の結論に影響を与えるものではない
今の話題においてこれは正しいと思う。
>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
- 269 :デフォルトの名無しさん:2017/03/18(土) 17:42:46.56 ID:uhuX0RUO.net
- 中途半端に説明するからややこしくなる
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する
くらいでイナフ
- 270 :デフォルトの名無しさん:2017/03/18(土) 23:22:19.03 ID:toYG3enn.net
- >>262が変な説明を入れたのが元凶だ
- 271 :デフォルトの名無しさん:2017/03/19(日) 10:14:13.46 ID:pPSf+p35.net
- >>269
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
- 272 :デフォルトの名無しさん:2017/03/19(日) 10:31:00.81 ID:Zac56zGn.net
- >>271
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい
まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
- 273 :デフォルトの名無しさん:2017/03/19(日) 12:59:15.63 ID:pPSf+p35.net
- 結局「スレッド」という英単語が同いう意味かってだけだね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
- 274 :デフォルトの名無しさん:2017/03/19(日) 16:36:19.37 ID:z/4QTPa3.net
- で、そのメモリ圧迫とやらは今回の質問のどこにかすっているのかね?
- 275 :デフォルトの名無しさん:2017/03/19(日) 18:47:31.53 ID:Zac56zGn.net
- どんどん話題がすり変わっていくな
- 276 :デフォルトの名無しさん:2017/03/20(月) 01:59:24.49 ID:Qzpue34I.net
- >>262
が悔し紛れに難癖つけてるだけっしょ
- 277 :デフォルトの名無しさん:2017/03/20(月) 07:33:47.40 ID:/HDavIr2.net
- 予想どおりの反応ですw
- 278 :デフォルトの名無しさん:2017/03/23(木) 17:32:52.95 ID:0AhE1jWZ.net
- 10.2tokyo入れて見たんだけど、10.1でgetitから入れたコンパーネントが入れられなくてプロジェクト開けられない。
エンバカ何なんだ?
- 279 :デフォルトの名無しさん:2017/03/24(金) 07:00:18.71 ID:w0n9pMnW.net
- >>278
よくある
Getitじゃなくて配布元からダウンロードして入れたらOk
- 280 :デフォルトの名無しさん:2017/03/25(土) 07:13:02.05 ID:Hlan26fq.net
- StarterのBerlinをTokyoにするんだけど
いったんBerlinをアンインストールするんだっけ?
- 281 :デフォルトの名無しさん:2017/03/28(火) 04:59:23.66 ID:by30piXi.net
- StarterのBerlinをインストールしたままTokyoをインストール出来ましたし、同時に起動出来ました。
公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
- 282 :デフォルトの名無しさん:2017/03/28(火) 10:13:09.88 ID:o61kLVYu.net
- >>281
ありがとう
上書きインストールされないってことか...
- 283 :デフォルトの名無しさん:2017/03/31(金) 10:26:45.88 ID:SnNLRdP6.net
- 2007からXEにあげるのに、いまさらながらユニコードに取り組むんですが、
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
- 284 :283:2017/03/31(金) 10:42:53.79 ID:SnNLRdP6.net
- 文字コードを確認してみたのですが
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);
のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
- 285 :デフォルトの名無しさん:2017/03/31(金) 11:27:56.20 ID:tBgePiep.net
- こう言うとアレだけど
普通に使うときはユニコードとか
意識する必要ないんじゃない?
- 286 :283:2017/03/31(金) 11:48:21.75 ID:SnNLRdP6.net
- >>285
例えば、
s := Edit1.Text + 'が入力文字列';
のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
- 287 :デフォルトの名無しさん:2017/03/31(金) 12:08:45.28 ID:YNGnrt5P.net
- 便乗失礼します。
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと
異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが
https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
- 288 :283:2017/03/31(金) 12:14:44.98 ID:SnNLRdP6.net
- >>287
リンク先を読んでみると、文字列の代入時に変換してるみたいですね。
ありがとうございます。
- 289 :デフォルトの名無しさん:2017/03/31(金) 12:27:36.02 ID:tBgePiep.net
- >>286
大丈夫
ソースファイルがutf8とか意識しないほうがいいよ
文字列リテラルもstring変数もunicodeだよ
- 290 :デフォルトの名無しさん:2017/03/31(金) 12:33:03.27 ID:tBgePiep.net
- >>288
内部でどう処理してるのか知らないけど
このケースだと代入時(実行時)に変換してるのかな?
実行ファイルの最後に定数が保存されてたと思うけど
すでにunicodeになってたような気がする
- 291 :デフォルトの名無しさん:2017/04/01(土) 09:16:09.24 ID:FVobg3nm.net
- >>285
逆に、常に意識してないと嵌まることがあるよ。
- 292 :デフォルトの名無しさん:2017/04/01(土) 11:20:45.32 ID:1uakO4Jp.net
- コンパイル時に変換
- 293 :デフォルトの名無しさん:2017/04/01(土) 14:47:04.87 ID:MIBbFxu2.net
- >>288
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。
>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。
ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。
C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
- 294 :デフォルトの名無しさん:2017/04/01(土) 16:29:34.25 ID:xnSlrZsr.net
- てか簡単なサンプル作って試せば済むことじゃん
昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
- 295 :デフォルトの名無しさん:2017/04/01(土) 21:40:45.92 ID:JcotD4lU.net
- 真に気を付けないといけないのは1文字に複数文字が入ってるサロゲートペア
見た目が同じだからハマる
「ば」と「ば」が違う文字とかわっかんねーよ
- 296 :デフォルトの名無しさん:2017/04/02(日) 09:37:47.98 ID:OL+frmBm.net
- 正直UTF8で統一したほうがよかったと思う
- 297 :デフォルトの名無しさん:2017/04/02(日) 09:38:21.10 ID:WSPdqmkD.net
- >>295
最後の行は「ば」?
これってサロゲートペアなのか?
それとも別の文字が化けた?
それと
内部の文字列がunicodeになった話と
unicode文字列を処理する話は
微妙に違う話だぞ?
- 298 :デフォルトの名無しさん:2017/04/02(日) 09:40:01.86 ID:OL+frmBm.net
- UTF16も実は可変長という落ちなんだからややこしくなっただけだと思う
- 299 :デフォルトの名無しさん:2017/04/02(日) 10:43:02.23 ID:3chV0onz.net
- >>297
2chだと化ける可能性あるから両方サロゲートペアじゃないよ
入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか
おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
- 300 :デフォルトの名無しさん:2017/04/02(日) 11:06:40.43 ID:5Z3z/Zq2.net
- は̋
- 301 :デフォルトの名無しさん:2017/04/02(日) 12:55:55.04 ID:n+5RCyoZ.net
- >>295
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。
「ば」の話は合成文字だか結合文字だかそっちの話じゃん。
- 302 :デフォルトの名無しさん:2017/04/02(日) 13:01:11.75 ID:n+5RCyoZ.net
- >299
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。
- 303 :デフォルトの名無しさん:2017/04/02(日) 13:05:11.00 ID:3chV0onz.net
- >>302
はしょってるから書いてないけど正規化もしてるよ
文字での説明に重箱の隅つつかないでくださいな
気にしないでやってるとそういう問題(にぶつかる可能性)もあるよって話です
- 304 :デフォルトの名無しさん:2017/04/02(日) 13:10:15.31 ID:n+5RCyoZ.net
- 言葉の使い方が完璧に間違ってるのに重箱のすみつつかないでっていわれてもなぁ・・
君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
- 305 :デフォルトの名無しさん:2017/04/02(日) 13:13:23.66 ID:3chV0onz.net
- つまりこれこれこういう問題があってこうしましたって1から10まではしょらず正しい言葉をつかって説明しないとここには書き込むなって事ね。了解。
めんどくせ
- 306 :デフォルトの名無しさん:2017/04/02(日) 13:17:10.52 ID:n+5RCyoZ.net
- 完全に言葉の定義を間違ってるんだから、教えてあげただけじゃねぇかよ。
別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
- 307 :デフォルトの名無しさん:2017/04/02(日) 13:20:18.66 ID:8zECKtY8.net
- 君たち ではない。
- 308 :デフォルトの名無しさん:2017/04/02(日) 13:23:02.99 ID:JDqJ1ftS.net
- 言葉の定義とやらが間違ってたとしても、
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
- 309 :デフォルトの名無しさん:2017/04/02(日) 14:03:03.40 ID:iqf+IrkA.net
- 俺には難しい話をしてるけど、文字扱うには正規化とやらをやって、utf8とか16とかに統一してから加工したり検索したりしないとハマるってこと?
- 310 :デフォルトの名無しさん:2017/04/02(日) 17:46:06.81 ID:WSPdqmkD.net
- サロゲートペアに関連してだけど
MECUtilsとか使ってやったりするの?
今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
- 311 :デフォルトの名無しさん:2017/04/02(日) 18:37:26.81 ID:9KwT0wNW.net
- Unicode化の弊害というかなんというかだけど、
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
- 312 :デフォルトの名無しさん:2017/04/02(日) 20:31:47.10 ID:n+5RCyoZ.net
- >>310
そんなの使わなくても普通は標準であるだろ。
Character.pasに必要なのそろってる。
TCharacter.IsSurrogate()
- 313 :デフォルトの名無しさん:2017/04/02(日) 20:47:01.04 ID:3chV0onz.net
- >>312
TCharctorなんてものはない
System.Charactor.IsSurrogate(廃止)
もしくは
TCharHelper
- 314 :デフォルトの名無しさん:2017/04/02(日) 20:48:31.98 ID:3chV0onz.net
- おっと綴り間違ってたな
System.Characterだな。また重箱の隅つつかれるところだった
- 315 :デフォルトの名無しさん:2017/04/02(日) 21:07:50.79 ID:n+5RCyoZ.net
- そうなんだ。それはすまん。XE3以降買ってなくて
最新のもってなくて。
- 316 :デフォルトの名無しさん:2017/04/02(日) 23:41:35.03 ID:9/rnzeyZ.net
- 今ってディスプレイのアスペクト比が数種類あるけど、皆さんは画面のデザインってどうしてますか?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
- 317 :デフォルトの名無しさん:2017/04/03(月) 14:57:16.50 ID:r7DyphN2.net
- 時代は可変
- 318 :デフォルトの名無しさん:2017/04/03(月) 17:20:51.81 ID:vwU/OCff.net
- >>316
全画面表示させない
- 319 :デフォルトの名無しさん:2017/04/03(月) 18:42:50.88 ID:gM/woy0K.net
- >>316
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
- 320 :デフォルトの名無しさん:2017/04/03(月) 21:28:02.74 ID:r3n0H3vn.net
- やっぱ、全画面表示させないが簡単でいいな
- 321 :デフォルトの名無しさん:2017/04/04(火) 06:32:18.18 ID:vjUtddW+.net
- >>316
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
- 322 :デフォルトの名無しさん:2017/04/12(水) 07:11:34.88 ID:lM5IX7kk.net
- メモリーリークの場所ってdelphiに標準で入ってるリークを監視するやつのフルバージョン入れないと分からない?
- 323 :デフォルトの名無しさん:2017/04/16(日) 12:03:24.01 ID:he8BFR5v.net
- Delphi10.1でのフル機能のfastmm4の使い方を教えてください。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
- 324 :デフォルトの名無しさん:2017/04/17(月) 16:51:42.85 ID:y+L9zWaz.net
- DatetimetostringとFormatDateTimeの違いって
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
- 325 :デフォルトの名無しさん:2017/04/17(月) 17:16:23.94 ID:tXRogAtk.net
- >>324
引数が違うって分かれば
自ずと...
- 326 :デフォルトの名無しさん:2017/04/17(月) 20:24:58.64 ID:y+L9zWaz.net
- >>325
すみません、質問をはしおりすぎでした。
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。
FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、
DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。
- 327 :デフォルトの名無しさん:2017/04/18(火) 09:41:09.25 ID:phVpBhu/.net
- 何かとの互換性でどうしてもDT2strが欲しかったんじゃないかね
- 328 :デフォルトの名無しさん:2017/04/18(火) 15:11:31.58 ID:nhn9im/Y.net
- >>323
http://mrxray.on.coocan.jp/Delphi/Others/UsageFastMM.htm
ここに書いてある手順でやってみた?
- 329 :デフォルトの名無しさん:2017/04/18(火) 18:41:12.40 ID:EH33vxsU.net
- >>326
ソースコード見てみると
FormatDateTimeはDateTimeToStringを呼び出しているだけ。
たぶん利便性(使い分けできるように)の問題だと思う。
ちなみに以下の関数が内部的にDateTimeToStringを呼び出すだけで実装されている。
function DateToStr(const DateTime: TDateTime): string;
function TimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
また同名の関数で引数の最後にTFormatSettings型が追加されたバージョンも
内部的にTFormatSettings型を引数に持つDateTimeToStringを呼び出しているだけ。
- 330 :324,326:2017/04/19(水) 09:04:32.22 ID:/KRyUyJO.net
- >>329
なるほど、参考になりました。ありがとうございます。
- 331 :323:2017/04/19(水) 15:21:22.52 ID:1b3gc8EV.net
- >>328
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
- 332 :デフォルトの名無しさん:2017/04/23(日) 00:33:57.32 ID:h9OMGlcp.net
- delphi10.1までは問題なかったのにdelphi10.2にしてから
stylebookで指定したstyleが一部反映されなくなりました。
tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz
対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
- 333 :デフォルトの名無しさん:2017/04/23(日) 01:24:14.01 ID:6D2X13Ox.net
- >>332
Android用のスタイルを一旦削除してマージ
- 334 :332:2017/04/23(日) 07:38:09.47 ID:h9OMGlcp.net
- >>333
アドバイスありがとうございます。
Android用スタイルを削除してマージしてみましたが結果は同じでしたorz
もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。
同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。
また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。
実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
- 335 :332:2017/04/23(日) 07:50:06.92 ID:h9OMGlcp.net
- >>333
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。
変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
- 336 :デフォルトの名無しさん:2017/04/27(木) 08:22:37.61 ID:rpeb1FWf.net
- メッセージダイアログやショーメッセージで改行を
使うとメモリリークが出るけどなんで?
- 337 :デフォルトの名無しさん:2017/04/27(木) 12:14:19.99 ID:nqOtHEIU.net
- バグってんじゃね
- 338 :336:2017/04/27(木) 12:36:20.33 ID:axAm+D16.net
- delphiがバグってる?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
- 339 :336:2017/04/28(金) 22:34:22.04 ID:WI3n6xVG.net
- メモリーリークを調べているのですが
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
- 340 :デフォルトの名無しさん:2017/04/30(日) 09:29:58.72 ID:kcq5sr/L.net
- ソースみれば?
- 341 :デフォルトの名無しさん:2017/04/30(日) 11:59:29.48 ID:0p25w19v.net
- 336ではないけどソースコード見てみた
ポイントになりそうなところがアセンブリで書かれてた
- 342 :デフォルトの名無しさん:2017/04/30(日) 12:08:19.89 ID:VPr4LyhY.net
- それがどうかしたか
- 343 :デフォルトの名無しさん:2017/04/30(日) 23:16:41.78 ID:rKLNeW5H.net
- 1. MessageDlg と同じ引数を持つ、そのユニット内にローカルな関数を書いて、MessageDlg のせいかどうか調べる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
- 344 :デフォルトの名無しさん:2017/04/30(日) 23:36:32.18 ID:5yRtGq51.net
- どのバージョンで発生したのかしら?
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
- 345 :デフォルトの名無しさん:2017/05/02(火) 01:47:15.38 ID:As8TBna0.net
- 昔の経験
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
- 346 :デフォルトの名無しさん:2017/05/02(火) 08:06:56.48 ID:Hq/uPbjy.net
- 「IntToStr(123)が原因でメモリーリークが起きる」
と判断した理由を開示せよ
- 347 :デフォルトの名無しさん:2017/05/24(水) 11:04:03.05 ID:ipeCfZP9.net
- 32biでも64bitでもinteger型は32bitですか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
- 348 :デフォルトの名無しさん:2017/05/24(水) 11:54:37.27 ID:4nncZNTT.net
- -1 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
- 349 :デフォルトの名無しさん:2017/05/25(木) 14:51:52.47 ID:qme3C1o0.net
- Integer は 32 だけど LongInt は 32 とは限らない
- 350 :デフォルトの名無しさん:2017/05/26(金) 08:47:10.54 ID:trsKQBBQ.net
- >>349
そんなことどこにも書いてないけどホント?
ttp://docwiki.embarcadero.com/RADStudio/Berlin/ja/32_%E3%83%93%E3%83%83%E3%83%88_Delphi_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE_64_%E3%83%93%E3%83%83%E3%83%88_Windows_%E3%81%B8%E3%81%AE%E5%A4%89%E6%8F%9B
- 351 :デフォルトの名無しさん:2017/05/26(金) 10:06:17.71 ID:gif2nYmV.net
- そのページは、たぶん、Win32->Win64 だけの頃のやつ。
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89
とか
- 352 :デフォルトの名無しさん:2017/05/26(金) 10:13:55.43 ID:trsKQBBQ.net
- >>351
iOSだけ特殊な感じ?変なの。
LongIntとLongWordは使わないほうがよさげですね。何でこんな変な仕様にしたんだろ。
- 353 :デフォルトの名無しさん:2017/05/26(金) 10:22:32.82 ID:trsKQBBQ.net
- あ、iOSにはLinux系も含まれるんですか?
その辺のあやふやさも嫌な感じですね。
- 354 :デフォルトの名無しさん:2017/07/06(木) 10:33:45.10 ID:E7iuEH9H.net
- シンエディットでプロシージャの名前とファンクションの名前を色分けするような使い方をしたいのですが、
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
- 355 :デフォルトの名無しさん:2017/07/06(木) 10:47:02.39 ID:1ivNtSqb.net
- シンエディットて何?
- 356 :デフォルトの名無しさん:2017/07/06(木) 12:16:18.45 ID:DKA4KQvd.net
- SynEditのことらしい
これをカタカナで書く感覚が分からん
- 357 :デフォルトの名無しさん:2017/07/06(木) 13:00:39.86 ID:/LwN4Pic.net
- すまん。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
- 358 :デフォルトの名無しさん:2017/07/06(木) 16:56:40.09 ID:uy+VElX3.net
- キーボードが苦手なプログラマw
- 359 :デフォルトの名無しさん:2017/07/06(木) 19:47:25.65 ID:j2rVCi1D.net
- >>358
- 360 :デフォルトの名無しさん:2017/07/08(土) 15:11:41.17 ID:4Sqq07Ob.net
- これがアスペか・・
- 361 :デフォルトの名無しさん:2017/07/30(日) 22:35:33.76 ID:PBa3jUos.net
- 昔MCIをいじっていた者です。覚えている人いるかな?
4年くらいメソッドを書いてなくて、送るでwavを聞きたいなって思って久しぶりにコンパイラを触りました。
何をするソフトなのかというとフォームに対してD&DしてTListにD&D元のファイルのフォルダの
ファイル名を取得するソフトなんですが、なぜうまくいかないかわからなくて…。
指摘していただければ幸いです。
- 362 :デフォルトの名無しさん:2017/07/30(日) 22:37:14.18 ID:PBa3jUos.net
- unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,ShellAPI, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
function SearchFile(SearchDir: string):integer; //SearchDir 検索対象のフォルダ
{ Private 宣言 }
protected
procedure FilesDropped(var Msg1:TWMDropFiles); message WM_DROPFILES;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
- 363 :デフォルトの名無しさん:2017/07/30(日) 22:38:16.16 ID:PBa3jUos.net
- procedure TForm1.Button1Click(Sender: TObject);
var
FileCount :integer;
begin
ListBox1.Clear;
//実行ファイルのあるディレクトリのファイルを列挙
FileCount :=SearchFile(ExtractFilePath(Application.ExeName));
ShowMessageFmt('%d個のファイルが見つかりました。',[FileCount]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
- 364 :デフォルトの名無しさん:2017/07/30(日) 22:38:43.85 ID:PBa3jUos.net
- procedure TForm1.FilesDropped(var Msg1:TWMDropFiles);
var
FNameSize: UINT;
Count : UINT;
FileName : array[0..255] of Char;
FileName1: string;
begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0 );// A
if Count > 1 then Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
Filename1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then Exit;
label1.Caption := Filename1;
end;
end.
- 365 :デフォルトの名無しさん:2017/07/31(月) 00:52:16.24 ID:5UR8c5yg.net
- とこでfmxアプリをタスクトレイに収める方法はないですか?
探すとロシアのサイトにコンポーネントがあったけど
他に方法はないでしょうか?
- 366 :デフォルトの名無しさん:2017/07/31(月) 05:54:29.90 ID:poJtShEs.net
- >>365
Windows専用だけどいい?
- 367 :デフォルトの名無しさん:2017/07/31(月) 08:21:01.65 ID:5UR8c5yg.net
- >>366
ええもちろん
例えばバックグラウンドでネットにアクセスして
通知したりポップアップしたりする感じ
Androidだとserviceを使うんでしょうが
Windowsデスクトップだとタスクトレイに
常駐させるくらいしか思いつかない
こういうWindowsアプリをfmxで作る場合
どうするんでしょうか?
- 368 :デフォルトの名無しさん:2017/07/31(月) 12:56:22.59 ID:m2zUy0za.net
- >>367
WinAPI.WindowsをUSESしてタスクバーから消したいアプリケーションのHWND取得してShowWindow(HWND,SW_HIDE);をぶちかます
タスクトレイにアイコン表示させたりする場合はコード記述でもできるけど面倒だからMonkeyMixerか何か使ってVCLを混在させてTTrayIcon使う
- 369 :デフォルトの名無しさん:2017/07/31(月) 18:38:00.55 ID:AynCBzeT.net
- >>368
ありがとう
MonkeyMixerを調べて見ます
- 370 :デフォルトの名無しさん:2017/08/01(火) 10:29:01.65 ID:8qLxpsQt.net
- TTrayIconはVCL依存がほとんどないから、切り出して使った方が余計なユニットがリンクされなくていいと思う
自分はそうしてる
- 371 :デフォルトの名無しさん:2017/08/13(日) 13:54:41.72 ID:6x3+ks7t.net
- 教えてください。
fmxで矩形以外の多角形領域を
Bitmap(.Canvas)間でコピーするには
どうしたらいいでしょう?
Helpを探したんですが見つけられませんでした
苦肉の策で矩形領域を別のBitmapにコピーし
対象の多角形領域外を完全透過に塗りつぶして
それを最終的に目的のBitmapにコピーしてます
よろしくお願いします
- 372 :デフォルトの名無しさん:2017/08/26(土) 22:45:11.62 ID:Siu65+Zd.net
- fmxねぇ...
実行ファイルのサイズが
vclの倍以上になるのはビックリ
でもvirustotalなんかでの誤検知は
確実に減るな
- 373 :デフォルトの名無しさん:2017/08/29(火) 17:10:04.07 ID:sf08cQEA.net
- DBCtrlのKeyPressメソッドで出てくる
^H ^V ^X
とかって何を指してるんですか?それぞれ16進で、8,16,18の値なんですが。
ポインタの逆参照以外で ”^” の使い方はヘルプにも無いのですが。
- 374 :デフォルトの名無しさん:2017/08/29(火) 17:11:49.45 ID:pis/sDRy.net
- H 48h
V 56h
X 58h
ctrl+H で 08h
ctrl+V で 16h
ctrl+X で 18h
- 375 :373:2017/08/29(火) 17:15:51.90 ID:sf08cQEA.net
- >>374
コントロールキーを押しながら…の記述に ”^” を使うということですか。
ありがとうございます。
- 376 :デフォルトの名無しさん:2017/09/20(水) 09:56:54.97 ID:lqqkwYAM.net
- ちょっと教えてください
ジェネリクスなTListにレコード型を格納しておいて
後でレコード内の一部のフィールドを修正したい場合
どうすればいいんでしょうか
やっぱレコード全体を取り出して、修正後に全体を書き戻す?
- 377 :デフォルトの名無しさん:2017/09/21(木) 21:39:40.01 ID:pNUeS15R.net
- うまくいくかはわからないが、
lst: TList<THoge>なリストがあるとして、
for i :=0 to lst.Count-1 do begin
lst.List[i].SomeField := v;
end;
のように、レコードのコピーが発生しないようにすればもしや。
- 378 :デフォルトの名無しさん:2017/09/22(金) 00:31:23.41 ID:zuQMjG3e.net
- デフォルトプロパティ List[i] に相当する List.Items[i] の
read関数 function TList<T>.GetItem(Index: Integer): T; は、戻り値が
左辺値ではないので、どうしても一時変数が必要です。
- 379 :デフォルトの名無しさん:2017/09/22(金) 07:31:05.69 ID:mBOH6uxg.net
- >>378
Itemsプロパティではなく、内部で管理している配列を直接返すListプロパティを介してもテンポラリーのコピー発生するんだっけ?
ちょっとうろ覚え。
- 380 :デフォルトの名無しさん:2017/09/23(土) 14:45:31.84 ID:69c72AW1.net
- Delphi 10.2 Update 1で実行しています。
log.d('error だめぽ');
上記コードをiPhone実機で実行して
Xcode -> Window -> Devicesに表示されている実機のログを確認すると
以下のように全角文字が文字化けします。
2017/09/23 14:35:21 Project1[7478]: error \M-c\M^A\240\M-c\M^B\M^A\M-c\M^A\M-=
解決策をご存知の方がいらっしゃいましたらお助けくださいませm(_ _)m
- 381 :デフォルトの名無しさん:2017/09/23(土) 23:58:16.42 ID:qb+wgPEX.net
- エスケープ文字をデコードすると e3 81 a0 e3 82 81 e3 81 bd なので、UTF-8 ですかね。
エスケープ文字への変換がログの前後かは切り分けてみましょう。od -x で16進表示すると、
\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
前者なら、ログを出力するツールの性格(ASCII以外は変換とか)、
後者ならコンソールへ出力するツールの変換ですかね。
前者なら、デコードツールでも作ってみれば。
\Mは、0x80を or するメタキーを併用したキー入力の名残りで、Emacs/GNU系の方言です。
\M-c は 0x80 + 'c' = 0xe3 、\M^A は 0x80 + 0x01 (Control-A) = 0x81、\240は8進表記なので 0xa0
- 382 :380:2017/09/24(日) 08:50:50.85 ID:xiqHS4Dl.net
- >>381
詳細に解説いただきありがとうございます!
>\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
od -xのやり方が分からなかったのでログをテキストで保存して
バイナリエディタで確認したところ5c 4d 2d 63でした。
これは表示する側の問題ということですよね?
あの後、XCodeでNSLogでデバッグログを出力する簡単なプログラムを書いて確認したところ
XCode上のデバッグコンソールには日本語が文字化けしないで出力されますが
Xcode -> Window -> Devicesに表示されている実機のログでは日本語が文字化けしたので
表示側の問題なのかなと思います。
日本語が表示できないのは不便なので解決できるとうれしいですが
こういう場合、難しいのでしょうか。
- 383 :デフォルトの名無しさん:2017/09/24(日) 19:16:16.23 ID:QV3LCCDd.net
- >>382
面倒だから試してないけど
NSstr使うとかAnsiStringに一旦格納して出力するとか
- 384 :381:2017/09/25(月) 02:46:48.72 ID:O5/7UCBk.net
- しまった。前後逆でした。e3 のままなら無変換。
で、ちょっと古いけどXcode6.3.2+ios8.3では日本語表示できてます。
- 385 :380:2017/09/25(月) 08:55:47.22 ID:Ojd2COhe.net
- >>383
ご回答ありがとうございます!
NSstrを使ってlog.dで出力しようとするとコンパイラに怒られてしまいましたorz
AnsiStringを試したところ出力文字は変化しましたが文字化けは改善されませんでした。
>>384
ご回答ありがとうございます!
なるほど。
現在の環境がXCode8.3 + iOS8.3なので少し古いXCodeを使って試してみようと思います。
- 386 :デフォルトの名無しさん:2017/09/27(水) 10:22:25.25 ID:9ZA1JIkS.net
- iOSってTBannerAdを使ってAdmob表示できないんですか?
docWiki見たらiOSはiAdを使う前提の説明しかなくて・・・
- 387 :デフォルトの名無しさん:2017/10/17(火) 09:08:55.23 ID:mEDA3l77.net
- Delphi10.2ってxcode9.0に対応してる?
- 388 :デフォルトの名無しさん:2017/10/24(火) 09:26:42.32 ID:ZAkkogtl.net
- すみません。どうしたりいいのか分からずに書き込みさせてください。
- 389 :デフォルトの名無しさん:2017/10/24(火) 09:43:54.24 ID:PqKdrl6b.net
- ?
- 390 :デフォルトの名無しさん:2017/10/24(火) 20:03:21.48 ID:1s7nmZJe.net
- もちつけ!
- 391 :デフォルトの名無しさん:2017/10/25(水) 11:38:12.62 ID:32/KECdp.net
- したり顔
- 392 :デフォルトの名無しさん:2017/10/30(月) 20:24:16.10 ID:n19lyVRb.net
- お伺いします。
https://www.axfc.net/u/3858375?key=delphi
アーカイブpass=123456
ですが、AというフォルダにB.zipC.zipD.zip・・・というファイルが入っています。
これにB.zipというファイルをフォームにD&Dで落とすと
1:q:\A\B.zip
2:q:\a
3:q:\a\
と表示されます。
そして、Button1を押すとバイナリがあるフォルダのファイルの数を報告します。
欲しい機能はB.zipをフォームにD&DをしたときにC.zip,D..zip
のAフォルダ内のファイルのすべてをListBox表示に表示させるにはどうしたらよいでしょうか?
最近いろいろやっているのですが、今ひとつ解決できないため、
教えていただけないでしょうか?
- 393 :デフォルトの名無しさん:2017/10/30(月) 22:19:56.32 ID:L79oOSSM.net
- >>392
TDirectory.GetFilesとExtractFilePath
- 394 :デフォルトの名無しさん:2017/11/02(木) 18:58:25.38 ID:i0GpXesu.net
- すみません。エロい方教えてください。
s := 'ABC'#13#10;
という文字列を、SJISの16進文字列に変換して、
'4142430D0A'
にしたいのですが、やり方がわかりません。
どう書けばよいのでしょうか?
- 395 :デフォルトの名無しさん:2017/11/03(金) 11:14:14.85 ID:e5C3JHXA.net
- これか?
つ http://docwiki.embarcadero.com/Libraries/Tokyo/ja/System.Classes.BinToHex
- 396 :デフォルトの名無しさん:2017/11/04(土) 21:02:07.27 ID:wxgLJQNm.net
- D5でよければこんな感じでできるかな
procedure TForm1.FormCreate(Sender: TObject);
var
s, s2: string;
i: Integer;
begin
s := 'ABC'#13#10;
s2 := '';
for i := 1 to Length(s) do
begin
s2 := s2 + IntToHex(Ord(s[i]), 2);
end;
ShowMessage(s2);
end;
- 397 :デフォルトの名無しさん:2017/11/05(日) 18:50:55.45 ID:3iw/MMda.net
- >>396
Delphi6でできました。ありがとう。
これ、XE5でも動くのかな?
- 398 :デフォルトの名無しさん:2017/11/06(月) 21:01:49.83 ID:MioLsWZJ.net
- >>397
自分で試すこともしないのか
試すことができないなら気にしなくてよくないか
- 399 :デフォルトの名無しさん:2017/11/06(月) 21:26:18.10 ID:WbFc3oVf.net
- すみません。
気にしなきゃいけない状況です。
で、XE5は今環境がないのです。。。
(仕事場が2つあり、いまXE5がない方に常駐しているので)
- 400 :デフォルトの名無しさん:2017/11/07(火) 07:05:35.29 ID:o3l3MYxT.net
- >>399
じゃあ行ってから試せ
- 401 :デフォルトの名無しさん:2017/11/07(火) 21:49:52.73 ID:5HoE4QmZ.net
- xcode9に対応した?
- 402 :デフォルトの名無しさん:2017/11/23(木) 12:24:47.52 ID:H2oFoVNB.net
- firemonkeyって一度置いたコンポーネントって削除できないの?
- 403 :デフォルトの名無しさん:2017/11/23(木) 14:00:39.62 ID:ATmHrlsw.net
- >>402
そんなバナナ
- 404 :デフォルトの名無しさん:2017/11/23(木) 14:01:03.28 ID:ATmHrlsw.net
- 猿だけに…
- 405 :デフォルトの名無しさん:2017/11/23(木) 23:05:31.51 ID:6erWI8jG.net
- .┌┐
/ /
./ / i
| ( ゜Д゜)
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
- 406 :402:2017/11/24(金) 21:05:42.06 ID:dHFHVjxQ.net
- imagelistを使うと削除できないみたいです。
選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.
これって返品で金返してくれないかな
- 407 :デフォルトの名無しさん:2017/11/24(金) 22:59:59.51 ID:RyYb1gen.net
- >>406
うちではそんな現象出ないけどバージョンは?
- 408 :デフォルトの名無しさん:2017/11/25(土) 01:36:58.01 ID:90SL+fWH.net
- >>406
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
- 409 :デフォルトの名無しさん:2017/11/25(土) 08:22:38.33 ID:W59Kilfu.net
- すーぐ返金返金言うてからに
- 410 :402:2017/11/25(土) 09:22:54.97 ID:2E3yXKzA.net
- 皆さ、レスありがとうございます。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
- 411 :デフォルトの名無しさん:2017/11/25(土) 09:23:27.60 ID:O3o92heE.net
- 何か最近ヘルプ表示したままdelphi終了しようとすると
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない
心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
- 412 :デフォルトの名無しさん:2017/11/26(日) 16:50:58.14 ID:JMtUYhzN.net
- firemonkeyで正規表現ってできる?
- 413 :デフォルトの名無しさん:2017/11/26(日) 17:35:26.15 ID:wHZSWh0R.net
- >>412
できる
- 414 :デフォルトの名無しさん:2017/11/26(日) 18:29:30.48 ID:JMtUYhzN.net
- ググったけどdelphiの正規表現しか出てこないです。
サイトとか教えてください。
- 415 :デフォルトの名無しさん:2017/11/26(日) 20:24:03.68 ID:wHZSWh0R.net
- >>414
System.RegularExpressions
- 416 :デフォルトの名無しさん:2017/11/26(日) 21:19:52.87 ID:JMtUYhzN.net
- 有難うございます。
- 417 :デフォルトの名無しさん:2017/11/30(木) 11:55:54.04 ID:jryz1LGC.net
- TRegistryをもちいて、
レジストリの情報を拾いたいのですが、
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras
ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T
const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin
この後どうすればいいんでしょう?
Reg.GetValueNames(MEMO.Lines);
としてもMEMOには何もかえってこないのです。
- 418 :デフォルトの名無しさん:2017/11/30(木) 16:38:33.08 ID:af+3x/Ty.net
- キーが違うようです。
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
- 419 :デフォルトの名無しさん:2017/11/30(木) 17:26:14.42 ID:jryz1LGC.net
- >>418
その通りでした。
Reg.OpenKey で戻りを気にしていなかったので、悩み続けてしまいました。
ありがとうございます。感謝です。
- 420 :デフォルトの名無しさん:2017/12/08(金) 21:17:46.94 ID:Gxx/XJ9D.net
- 誰か行かないの?
https://techplay.jp/event/639177
https://techplay.jp/event/641383
- 421 :デフォルトの名無しさん:2017/12/11(月) 15:09:59.51 ID:r0biDCTF.net
- Calender、Japaneseもわかってない人は論外
- 422 :デフォルトの名無しさん:2017/12/12(火) 16:52:51.98 ID:F4p+lHsn.net
- 昔あったdelphiのフリーコンポーネントを集めたサイトって無くなっちゃた?
- 423 :デフォルトの名無しさん:2017/12/12(火) 18:31:07.66 ID:D0b6rm60.net
- 古くからのDelphiコンポーネントが全て置いてある
アーカイブ的なサイトってないんだろうか
- 424 :デフォルトの名無しさん:2017/12/12(火) 21:12:25.60 ID:ABDe/NWv.net
- ふと思ったけどTImageListじゃなく
TSoundListコンポーネントってない?
用途はありそうだが
てかTImageListってどういう仕組みで
画像を保持してるんだろう
- 425 :デフォルトの名無しさん:2017/12/14(木) 09:04:39.76 ID:XL4elc7V.net
- DSPとかtorrysとか懐かしいな
- 426 :デフォルトの名無しさん:2017/12/24(日) 16:19:13.24 ID:dCGOIGeG.net
- Tetheringコンポーネントを使ってアプリ間データ共有を試してるんだけど
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど
Starterだと実はTetheringコンポーネントは使えない?
- 427 :デフォルトの名無しさん:2017/12/24(日) 16:33:23.07 ID:NhonSez5.net
- >>426
テザリングの項目がStarterは空欄になってるから多分使えない
- 428 :デフォルトの名無しさん:2017/12/24(日) 19:06:27.16 ID:dCGOIGeG.net
- >>427
そうだよね
だったらTetheringコンポーネントなんか
選択できなくすればいいのに
ただSystem.Tether.*.dcuはすべて揃ってるぽいんだよな
- 429 :デフォルトの名無しさん:2017/12/28(木) 21:34:46.01 ID:JOEtu7v7.net
- 質問させてください。
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。
var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;
C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
- 430 :デフォルトの名無しさん:2017/12/28(木) 22:07:28.82 ID:ThR79eg8.net
- >>429
せめtw署名生成ルーチンくらい書こうぜブラザー
たぶんHmacSHA256やとは思うが
- 431 :デフォルトの名無しさん:2017/12/29(金) 07:48:05.15 ID:yZ5IlcO4.net
- >>430
ありがとうございます。
SHA256でメッセージ暗号化するってことでしょうか?
それとも別の通信するのに必要な処理でしょうか?
- 432 :デフォルトの名無しさん:2017/12/29(金) 08:47:31.32 ID:cWaP921A.net
- 仮想通貨って電気代が安い国の人がが圧倒的に有利だよね
- 433 :デフォルトの名無しさん:2017/12/29(金) 11:43:27.38 ID:PDCF/c1K.net
- >>431
URLから察するにZaifやと思うが、公式のAPIリファレンスまず読もうや
リファレンスで書いてる事がわからないなら都度質問したらええ
今の状況を人は丸投げと言う
- 434 :デフォルトの名無しさん:2018/01/07(日) 11:23:55.22 ID:KBdbbCLH.net
- 買っとけよ
https://www.packtpub.com/all?search=Delphi
- 435 :デフォルトの名無しさん:2018/01/07(日) 12:30:45.63 ID:S38kpWyE.net
- 漬物石
- 436 :デフォルトの名無しさん:2018/01/07(日) 13:53:28.81 ID:8Eqg8PLM.net
- >>432
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
- 437 :デフォルトの名無しさん:2018/01/08(月) 09:12:47.06 ID:j35IDJ3/.net
- Delphi 10.2 Tokyo で、
@クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること
ができないのですが、できるようにする方法はありますか?
- 438 :デフォルトの名無しさん:2018/01/08(月) 10:28:05.36 ID:2Q7Kliqk.net
- >>436
ふむ。結局中国が一人勝ちして終わりやな。
- 439 :デフォルトの名無しさん:2018/01/08(月) 12:45:46.64 ID:ictcT8i6.net
- >>437
うちはできるからおま環
ショートカットの設定とか見直したらええんちゃう
- 440 :デフォルトの名無しさん:2018/01/08(月) 18:50:31.06 ID:j35IDJ3/.net
- >>439
俺環とわかり、ありがたし。
サンキュ!
- 441 :デフォルトの名無しさん:2018/01/09(火) 22:26:41.17 ID:tEYlJ576.net
- Starterじゃないの?
- 442 :デフォルトの名無しさん:2018/01/09(火) 23:21:34.37 ID:DSUTqw5a.net
- そうです。
Starterです。
無料のやつです。
- 443 :デフォルトの名無しさん:2018/01/10(水) 22:49:34.96 ID:A/FWCqkf.net
- Starterは支援機能削られてる
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能
コード補完はつけて欲しかったね
- 444 :デフォルトの名無しさん:2018/01/10(水) 22:58:49.24 ID:0V4diR3n.net
- そうなんですか・・・
コード補完がないのはキツいなぁ。
- 445 :デフォルトの名無しさん:2018/01/10(水) 23:22:20.51 ID:52V+kDTj.net
- Starterまじでコード補完ないんだww
ひでぇww
- 446 :デフォルトの名無しさん:2018/01/11(木) 07:06:55.59 ID:I3euztjG.net
- 5年間Starter使ってるけど
もう慣れた
- 447 :デフォルトの名無しさん:2018/01/19(金) 14:12:23.13 ID:3mDLycuV.net
- fmxで実行時に複数のpanelを動的に作成し
その背景を別の色にしたいんだけど
設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない
検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない
誰かヒントをお願いします
- 448 :デフォルトの名無しさん:2018/01/19(金) 15:02:24.17 ID:LVSymK+/.net
- >>447
TRectangleマジおすすめ
- 449 :デフォルトの名無しさん:2018/01/19(金) 22:25:43.24 ID:9RJTUZM2.net
- >>448
バッチリだった
ありがとう
- 450 :デフォルトの名無しさん:2018/02/02(金) 16:54:03.50 ID:MJtWQFFO.net
- どうしても分からないため、教えてください。
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
- 451 :デフォルトの名無しさん:2018/02/02(金) 16:54:26.34 ID:MJtWQFFO.net
- try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
- 452 :デフォルトの名無しさん:2018/02/12(月) 17:53:30.98 ID:wyyYgDNO.net
- >>443
Starterにはコード整形というのはないのですか、一生懸命探してしまった(笑)
CodeFormatterありがたい!
- 453 :デフォルトの名無しさん:2018/02/12(月) 21:54:05.03 ID:lRsL3DkL.net
- LDirはどこで定義されてんだ?
- 454 :デフォルトの名無しさん:2018/02/13(火) 11:15:08.11 ID:Wl4kHNJK.net
- メモリー共有が簡単に出来るクラスってある?
- 455 :デフォルトの名無しさん:2018/02/13(火) 20:34:12.21 ID:ZGwVrA8k.net
- >>454
ググったら、名前付きパイプによるプロセス間通信見つけた。
http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1
使ったことないので、使い心地までは分かりかねます。
- 456 :デフォルトの名無しさん:2018/02/16(金) 01:22:45.51 ID:W1XJdyx1.net
- ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
- 457 :デフォルトの名無しさん:2018/03/14(水) 17:54:41.12 ID:joCYD0wr.net
- 10.2.3出たな
でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
- 458 :デフォルトの名無しさん:2018/03/27(火) 23:04:26.37 ID:krpCtSiN.net
- D6に入れて使ってるIndy10 https対応してたのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
- 459 :デフォルトの名無しさん:2018/04/07(土) 17:54:05.06 ID:uobWZe4y.net
- すみません教えてください。
長いこと格闘していたのですが、どうしても攻略できません。
ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。
只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。
ttps://www.axfc.net/u/3901529?key=delphi
- 460 :デフォルトの名無しさん:2018/04/08(日) 14:23:14.02 ID:+Wdeqy0/.net
- >>459
ダウンロードはメンド
問題の部分だけでも書いて
- 461 :デフォルトの名無しさん:2018/04/08(日) 16:43:34.30 ID:yiR7WAE6.net
- >>459
ダウンロード全然始まんないぞ
てかアップローダ選ぼうぜ
- 462 :デフォルトの名無しさん:2018/04/08(日) 19:31:28.65 ID:aHOcMh8N.net
- ちょっと長いのですが…
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
- 463 :デフォルトの名無しさん:2018/04/08(日) 19:32:04.72 ID:aHOcMh8N.net
- begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
- 464 :デフォルトの名無しさん:2018/04/08(日) 19:32:09.74 ID:aHOcMh8N.net
- begin
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;
Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
- 465 :デフォルトの名無しさん:2018/04/08(日) 19:40:43.33 ID:aHOcMh8N.net
- procedure TForm1.PlayBtnClick(Sender: TObject);
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;
上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
- 466 :デフォルトの名無しさん:2018/04/08(日) 21:52:36.23 ID:vzZ5v1M+.net
- >>465
自分もよく知らんので間違ってたらごめん
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
- 467 :デフォルトの名無しさん:2018/04/09(月) 02:34:30.98 ID:8Wv+Mi08.net
- >>465
これってかなり前にも指摘したような気がするが...
まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな
それで問題なかったらMCIに送って
- 468 :デフォルトの名無しさん:2018/04/09(月) 07:55:25.96 ID:qLOACt12.net
- >>466-467
レスどうもです。
>>465
以前FileListBoxで作ったときのものをそのままD&D時のパスを含むファイル名を渡しています。
>>467
TEditに代入しても動きません。途方に暮れています。
何年か選択したListBox ItemからMCIに渡す方法を探してますが、どうしてもわからないままでいます。
上に上げたロダはリロードするとファイルが落ちてくるようです。
お忙しいとこrとすみませんがよろしくお願いいたします。
- 469 :デフォルトの名無しさん:2018/04/09(月) 08:07:09.81 ID:3dFP9zTK.net
- aliasの前に半角スペースがない
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
- 470 :デフォルトの名無しさん:2018/04/09(月) 08:11:51.43 ID:3dFP9zTK.net
- >>467さんが指摘してるのはTEditに入れて表示された文字列が正しいコマンドかどうかチェックしろって事であって、代入したら動くんじゃないって言ってるわけじゃない
- 471 :デフォルトの名無しさん:2018/04/09(月) 12:39:00.80 ID:BwdfepzG.net
- FileName1のスコープが問題何じゃねーの?
- 472 :デフォルトの名無しさん:2018/04/09(月) 15:46:39.00 ID:sAzU0iCB.net
- >>462-465
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
- 473 :デフォルトの名無しさん:2018/04/09(月) 15:48:10.00 ID:qLOACt12.net
- >>469
>>467さんの指摘を受けLabelに命令を代入しましたが、確かにおかしい命令を吐き出していました。
open ""type MEPGVideo alias MusicFile
こんな表示をしています。
>>471
FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
私個人の予想では、ListBoxからうまくファイルのPATHを含むファイル名がうまく取得できていないためではないかと考えているのですが…
- 474 :デフォルトの名無しさん:2018/04/09(月) 15:52:07.60 ID:3dFP9zTK.net
- 何が正しいのか正しくないのか、正しくないのは変数の中身なのかコードなのか渡し方かなのか、それとも別になにかなのかを探したら解決できる
正しいと思い込む前に確認する癖をつけましょう
- 475 :デフォルトの名無しさん:2018/04/09(月) 18:30:51.81 ID:BomKXXDR.net
- >>473
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ
>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
- 476 :デフォルトの名無しさん:2018/04/09(月) 18:57:48.34 ID:BomKXXDR.net
- >>473
やっとソースDLできたw
ざっと見た限り
原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物
対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる
原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結
対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);
それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
- 477 :デフォルトの名無しさん:2018/04/09(月) 19:52:13.89 ID:gH9PL+mq.net
- >>472
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。
FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
- 478 :デフォルトの名無しさん:2018/04/09(月) 20:33:17.20 ID:luHmX43j.net
- メディアプレーヤーコンポ使えばmp3ほかいろいろ再生できますぜ
- 479 :デフォルトの名無しさん:2018/04/09(月) 22:09:32.86 ID:qcsBHwDv.net
- >>477
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと
そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
- 480 :デフォルトの名無しさん:2018/04/09(月) 22:24:15.00 ID:8Wv+Mi08.net
- >>477
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う
https://1drv.ms/u/s!ALhSqBFVHu2ZzRg
前からTDropTargetを使ってみたかっただけなんだけど
- 481 :デフォルトの名無しさん:2018/04/09(月) 22:25:36.16 ID:tj7dSTW0.net
- この話題長いねぇ
ずーっと解決してない気がするw
- 482 :デフォルトの名無しさん:2018/04/10(火) 07:46:44.60 ID:M1dLQsHI.net
- 野球選手やサッカー選手に向いてるやつと向いてないやつがいるように
プログラマーにも向いてるやつと向いてないやつがいる
- 483 :デフォルトの名無しさん:2018/04/10(火) 09:28:59.45 ID:8aH9jq04.net
- >>480
なかなか良い
センスあるな
- 484 :447:2018/04/10(火) 17:57:58.95 ID:ixHiVr8M.net
- >>480
シンプルで必要十分な情報がまとまっていました。
このスレにいる皆様は、今回のMCI問題を含むVCLの操作ではなく、
細かい文法事項などはどこで習得されたのでしょうか?
>>481
ずっとコンパイラーを使っていたのではなく、新しい攻略できたかもと散発的にいじってました。
本当に作りたいアプリがあるので、ご迷惑とは思っていますが、未だに食いついています。
リモコンで制御したいのと、巻き戻しがサポートされていれば、多分ここまでしつこくはなかったかもしれません。
- 485 :デフォルトの名無しさん:2018/04/10(火) 20:26:01.63 ID:n/L+8J/R.net
- >>484
>このスレにいる皆様は、今回のMCI問題を含むVCLの操作ではなく、
>細かい文法事項などはどこで習得されたのでしょうか?
勘とノリと勢いとGoogle先生
- 486 :デフォルトの名無しさん:2018/04/10(火) 21:56:04.81 ID:7q8c2f4e.net
- >>484
巻き戻しってもしかして逆再生?
そりゃハードルが高すぎないか
- 487 :デフォルトの名無しさん:2018/04/10(火) 22:06:00.62 ID:BUevE+bD.net
- >>484
VCLソース
- 488 :デフォルトの名無しさん:2018/04/11(水) 07:06:25.31 ID:Ma7OFF0j.net
- リモコンって以前はMediaCenterが対応してたね
Delphiで今やるんだったら
TTethering使ってスマホから操作かな
- 489 :デフォルトの名無しさん:2018/04/13(金) 00:04:40.08 ID:QwQUx8hW.net
- @pikさんて何者なの?
本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
- 490 :デフォルトの名無しさん:2018/04/17(火) 14:33:30.73 ID:eYOCf7bm.net
- >>489
直接本人に言えよ。陰湿な奴だな。
- 491 :447:2018/04/18(水) 21:20:13.42 ID:MII0lz02.net
- すいません。教えてください
この前の続きです。
D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。
ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
- 492 :447:2018/04/19(木) 21:05:53.19 ID:bgRnFwFv.net
- 現状でやりたいことは、送るで起動して音声ファイル(以下.wav)を再生させることです。
1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始
現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。
ここがくクリアできれば拡張子連動も可能だと思いますが・
- 493 :デフォルトの名無しさん:2018/04/21(土) 23:15:17.71 ID:57zLglLu.net
- >>491-492
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)
ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です
とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで
Delphi2009だと問題ないのに?(**)?
- 494 :デフォルトの名無しさん:2018/04/22(日) 09:43:57.64 ID:/aj/ysEy.net
- ListBox1.ItemIndex := ListBox1.Items.IndexOf('9.wav');
- 495 :デフォルトの名無しさん:2018/04/22(日) 20:19:04.99 ID:1p2Tkusj.net
- なるほどなー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
- 496 :447:2018/04/25(水) 06:26:09.01 ID:LyLCajq/.net
- >>493
ハイライトではなく選択した(された)アイテムと表現すべきでした。
無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。
以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。
自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi
皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。
例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
- 497 :デフォルトの名無しさん:2018/04/25(水) 08:14:31.72 ID:iILk6Jpy.net
- >>496
もう仕様書作って金出してコード納品してもらった方が速い
- 498 :デフォルトの名無しさん:2018/04/25(水) 10:12:58.53 ID:KojXazHw.net
- アドバイスも何も....
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
- 499 :デフォルトの名無しさん:2018/04/25(水) 10:43:12.40 ID:8p1Sd4ST.net
- >>496
>(送るだとListBoxに反映されますがD&Dだと反映されない。)
D&Dを受け取る WMDropFiles 内にListBoxに反映させるコードが無いんだから反映されるわけが無い
- 500 :デフォルトの名無しさん:2018/04/26(木) 18:55:25.51 ID:fqEKBH7q.net
- 動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる
- 501 :447:2018/05/05(土) 11:10:08.17 ID:pQ8nw+O2.net
- ListBoxへの反映の仕方が分かったので対処ができました。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi
本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。
- 502 :デフォルトの名無しさん:2018/05/05(土) 13:26:16.48 ID:vbsrC7NJ.net
- こんな文字列処理メインのコードにポインタの出番はないでしょう
ListBoxの選択項目を取り出すのは、あなたが>>464に書いている通り
問題はListBoxに追加した項目が保持してる内容
ファイル名? パス付き?
あと老爺心で言うんだけど、メインの部分がまったく機能してないのに
サブの部分を追加してるのはどうかと
全体の見通しが悪くなるだけだよ
ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ
- 503 :デフォルトの名無しさん:2018/05/07(月) 08:05:08.09 ID:bSchYp3+.net
- ありがとう。C#で作り直すことにします。
- 504 :デフォルトの名無しさん:2018/05/07(月) 18:43:31.79 ID:RryMz2og.net
- そうきたか www
- 505 :447:2018/05/23(水) 05:43:33.84 ID:IzxjocGr.net
- TString型からString型へのキャストはどうしたら良いのでしょうか?
ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。
- 506 :447:2018/05/23(水) 07:25:01.52 ID:IzxjocGr.net
- 上の質問はスルーしてください
- 507 :デフォルトの名無しさん:2018/05/23(水) 20:23:05.77 ID:yohLywXT.net
- 本当か?本当にTStringとStringの違いがわかったのか?
- 508 :デフォルトの名無しさん:2018/05/23(水) 20:31:59.75 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
401Z3
- 509 :デフォルトの名無しさん:2018/05/24(木) 00:26:07.03 ID:X0Vr2UrM.net
- >>505
何年間も同じとこクルクル回って進歩してないな
- 510 :447:2018/05/24(木) 07:41:50.56 ID:Xlbr0a9V.net
- >>507
本当は分かっていません。
ただ、もう少し試行錯誤が必要だと判断しました。
TstringからStringに渡すのはそんなに難しいとは思えないのですが……。
>>509
コンパイラをいじっている時間があまりなくて
今回も数年ぶりに(昔このスレで正月に作ったメディアプレイヤー)触ってますので
進歩してなくて、さっぱり分からないことが相変わらず多いです。
- 511 :デフォルトの名無しさん:2018/05/24(木) 07:51:45.33 ID:UDepo1QV.net
- >>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?
- 512 :デフォルトの名無しさん:2018/05/24(木) 09:38:32.78 ID:3hrzymd4.net
- "Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか?
- 513 :デフォルトの名無しさん:2018/05/24(木) 09:47:02.42 ID:1QuFgEhD.net
- >>510
あのな、良いこと教えてやる
一番薄い「言語ガイド」というマニュアルがあるからそれ読め
最初の1ページ目から最後のページまで全部読め
判らなくても良い、難しくても良い、とにかく1冊全部読め
読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ
- 514 :デフォルトの名無しさん:2018/05/24(木) 12:22:44.13 ID:2pfDia9X.net
- TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね
- 515 :デフォルトの名無しさん:2018/05/24(木) 17:31:30.64 ID:Pn5Zd5T4.net
- >>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ
どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る
- 516 :デフォルトの名無しさん:2018/05/24(木) 18:32:52.16 ID:Pmzmf4Ca.net
- 普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw
- 517 :デフォルトの名無しさん:2018/05/24(木) 18:38:26.23 ID:Pn5Zd5T4.net
- >>516
で、お前は何で教えてやらないの?
- 518 :デフォルトの名無しさん:2018/05/24(木) 18:43:41.36 ID:NEzd0Nja.net
- 本人だからさ
- 519 :デフォルトの名無しさん:2018/05/24(木) 20:03:35.81 ID:hm+d4/Zn.net
- はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね
- 520 :デフォルトの名無しさん:2018/05/24(木) 20:16:15.75 ID:Pn5Zd5T4.net
- あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw
- 521 :510:2018/05/26(土) 04:35:23.77 ID:4prcmauu.net
- >>513
昔言語ガイド印刷してたのを忘れていました。
今読むと昔は分からなかったことが分かるようになってきました。
プロジェクトを作る前に最後まで読んでみます。
>>516
そう複数なんですよね!だからListBoxでindexで数字でターゲットを選べると言うことに気がつきました。
読みにくい文で済みません。
>>515
TStringで検索かけたところ膨大な数のメソッドが出てきて
悩んでいます。
まずは大事なことがたくさん書いてある言語ガイドをよく読んでから理解してから
再チャレンジします。
レスしてくれた皆様ありがとうございました。
- 522 :デフォルトの名無しさん:2018/05/26(土) 16:36:32.52 ID:ZcCwZUbS.net
- だから TStringじゃない TStrings
- 523 :510:2018/05/27(日) 06:51:35.56 ID:6aP994kT.net
- >522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。
- 524 :デフォルトの名無しさん:2018/05/27(日) 18:56:00.45 ID:tt6kkd8K.net
- 初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う
- 525 :デフォルトの名無しさん:2018/05/29(火) 12:30:34.30 ID:1O3tJEYz.net
- 頑張れ‼誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね
- 526 :デフォルトの名無しさん:2018/05/29(火) 16:35:28.22 ID:kxbaWIuP.net
- 何年「最初」を繰り返してるのだろうかー
- 527 :510:2018/05/30(水) 07:03:11.11 ID:2jnt+z5e.net
- >>524
Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
早速インストールしてみます。
ですが、皆様はシステムライブラリのヘルプを見て手続きや関数などを覚えたのでしょうか?
>>526
職業はコンピューター関係でなく、時間が空かないとコンパイラを使うのも
厳しいために今回は5年ぶりくらいにコンパイラーいじっていますので
最初になってしまいます。
普通こんだけ叩かれたらプログラミングを諦めてしまうと思いますが、
双六ゲームがどうしても作りたいのでかじりついて離れずにいます。
- 528 :デフォルトの名無しさん:2018/05/30(水) 10:34:14.77 ID:1AWKUtm2.net
- >>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ
- 529 :デフォルトの名無しさん:2018/05/30(水) 14:51:11.60 ID:240M2quP.net
- ほんそれ
話聴かない奴は叩かれる
- 530 :デフォルトの名無しさん:2018/05/30(水) 17:57:51.44 ID:QhoQOR8g.net
- >>527
>Delphi6買っとけば良かったなと思っていたら、初心者の入門書に収録されていました。
本の名前教えて。
俺もDelphiのHELP欲しい。
- 531 :デフォルトの名無しさん:2018/05/30(水) 20:16:26.04 ID:lZ3vVAou.net
- >>510、>>527
MCIさんでしょ?
オーディオプレーヤは諦めて双六ゲームにしたの?
- 532 :デフォルトの名無しさん:2018/05/30(水) 20:52:42.12 ID:lZ3vVAou.net
- >>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど
http://support.embarcadero.com/jp/article/35932
- 533 :デフォルトの名無しさん:2018/05/31(木) 00:53:55.84 ID:Rz8G1qx4.net
- このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。
- 534 :デフォルトの名無しさん:2018/05/31(木) 00:56:10.16 ID:KiYT67Xx.net
- ナンセンスなラ(略)
- 535 :デフォルトの名無しさん:2018/05/31(木) 02:41:36.75 ID:LeDqx/cu.net
- >>533
アップデートファイルを単独で使用するなってこと?
そもそもdelphi 6 personalってフリーなんだから
その程度はいいんじゃない?
- 536 :デフォルトの名無しさん:2018/05/31(木) 12:29:07.06 ID:tuQW1gq3.net
- >>361 この人まだいるんだね(笑)
- 537 :デフォルトの名無しさん:2018/05/31(木) 15:12:07.71 ID:LXR1oL3d.net
- オマエモナ
- 538 :デフォルトの名無しさん:2018/05/31(木) 17:49:48.89 ID:NnA31TPO.net
- Unicode 正式対応したのは
どのバージョンから?
- 539 :デフォルトの名無しさん:2018/05/31(木) 19:52:10.32 ID:OiZlt55G.net
- >>532
ありがとう!
- 540 :510:2018/06/01(金) 04:16:23.59 ID:5fSTAWJb.net
- >>531
MCIいじってますよ。
ただ今は、TStringsと戦ってます。
>>528
そうですね。
理解が追いついていかない。ふがいないなぁ。
- 541 :デフォルトの名無しさん:2018/06/01(金) 07:07:59.62 ID:tZOiVGE0.net
- >>538
2009じゃね?
- 542 :デフォルトの名無しさん:2018/06/01(金) 08:17:03.08 ID:AldthANR.net
- >>538
string型のutf8化は2009から。
ucs2程度やwidestringであれば、少なくともdelphi7でも使えてる。
- 543 :デフォルトの名無しさん:2018/06/01(金) 12:06:09.39 ID:JGYXEwwz.net
- 結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。
- 544 :デフォルトの名無しさん:2018/06/01(金) 12:13:27.24 ID:VRiSWYxK.net
- てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし
思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ
- 545 :デフォルトの名無しさん:2018/06/05(火) 19:54:37.86 ID:FLappK2N.net
- 直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ
- 546 :デフォルトの名無しさん:2018/06/05(火) 19:55:52.87 ID:FLappK2N.net
- 違った、2005年なので13年経過。。。
- 547 :デフォルトの名無しさん:2018/06/06(水) 10:45:41.05 ID:I9hgDbEz.net
- 痴呆が始まってるな
- 548 :デフォルトの名無しさん:2018/06/07(木) 09:31:17.03 ID:jM1yTm2r.net
- Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください
公開してるDelphiで作ったツールがあるんですが
ツール内にサポート用の掲示板みたいなのを実装したい
方法としてどんなのが考えられる?
やっぱ最低でもcgi使えるサーバとか必要?
- 549 :デフォルトの名無しさん:2018/06/07(木) 10:03:50.30 ID:kW6Y240R.net
- >>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示
2.BaaS使ってRESTでやり取り
3.SQLにFireDACで直接接続
4.WindowsVPS(Linuxに吐けるならLinuxでも可)でDataSnap
好きなのをどうぞ
- 550 :デフォルトの名無しさん:2018/06/07(木) 17:01:17.95 ID:LERUY47Q.net
- >>548
まあ書き込みを送信する場所と書き込まれたものをダウンロードできる場所は必要だろう
サーバ借りなくても個人が固定IP契約しているならそのIP宛にすることも出来るし
固定じゃなくてもダイナミックDNS使えるルータとか使っているならそれを利用するのも手
適当なレンタルサーバでも月2000円も掛からないからそういうの使うのがベストだけど
というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし
- 551 :デフォルトの名無しさん:2018/06/08(金) 07:49:33.51 ID:IKKgq9UT.net
- >>549
cef4delphiがよいよ
- 552 :548:2018/06/08(金) 20:17:07.49 ID:pOKoirVi.net
- レスが遅くなりました
やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも
あとは、データは配布サイトに置いて投稿はメール経由かな
- 553 :デフォルトの名無しさん:2018/06/08(金) 22:02:43.94 ID:lHspdop6.net
- P2P
- 554 :548:2018/06/08(金) 22:45:08.12 ID:pOKoirVi.net
- よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね
したらばにしようと思います
p2pは理想だけど、開発側も利用者側も障害が大きすぎるような
- 555 :デフォルトの名無しさん:2018/06/09(土) 16:37:47.65 ID:OTGz0P8v.net
- delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?
- 556 :デフォルトの名無しさん:2018/06/09(土) 18:48:08.83 ID:TA6PWthw.net
- 全然的外れとは思うけど
delphiを管理者権限で起動してる?
- 557 :555:2018/06/10(日) 06:13:38.25 ID:5M4DtSyO.net
- 確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。
- 558 :デフォルトの名無しさん:2018/06/14(木) 03:02:30.74 ID:DH9ZUtSo.net
- めっちゃ便利になった
sc7b & i:: ; Ctrl+無変換+iでbeginを上方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^k8
send,^qfbegin{enter}
send,^q8
send,^+l
send,{home}
}
else
send,{up}
return
sc7b & k:: ; Ctrl+無変換+kでendを下方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^qfend{enter}
send,{left}{right}
}
else
send,{down}
return
- 559 :デフォルトの名無しさん:2018/06/18(月) 18:42:12.53 ID:77QANGdm.net
- Indyのヘルプについて教えてください
delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです
事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています
もしかして、ヘルプの内容がかなり古い?
- 560 :デフォルトの名無しさん:2018/06/18(月) 20:26:49.62 ID:ZzCpcYem.net
- >>559
ここからダウンロードとすといいよ
Delphi についてくるのよりは新しいと思う
https://code.google.com/archive/p/indydocs/downloads
- 561 :デフォルトの名無しさん:2018/06/18(月) 22:25:05.80 ID:/oEGnL5/.net
- Indyはしょっちゅう引数とか変えるからねー
- 562 :548:2018/06/18(月) 23:30:03.81 ID:77QANGdm.net
- >>560
ありがとう
早速ダウンロードしてみます
- 563 :デフォルトの名無しさん:2018/06/19(火) 07:23:03.75 ID:O7MJlrFZ.net
- Delphi 10.2.3に付属しているIndyのヘルプのバージョン 10.1.5
>>560に書いてあるところにあるやつは 10.5.8.3だね
10.1.5のヘルプは、実際にバンドルされているIndyとではいろいろと
違っている部分があるんで使えないんだよね
エンバカはよくこんな状態で製品として出してるもんだと思う
まぁIndyの公式Webページにあるヘルプが更新されずに放置状態なせいでもあるんだろうけど
- 564 :デフォルトの名無しさん:2018/06/26(火) 00:47:37.41 ID:6Sxd5pS5.net
- OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください
- 565 :デフォルトの名無しさん:2018/06/26(火) 00:50:21.65 ID:6Sxd5pS5.net
- バージョンはXE8でお願いします
- 566 :デフォルトの名無しさん:2018/06/26(火) 20:07:40.02 ID:Q/OTN/qp.net
- オブジェクトと普通の変数はさすがに分けないとな
- 567 :デフォルトの名無しさん:2018/06/27(水) 08:33:51.96 ID:LwNwDPPb.net
- case VarType(バリアント型) of
varNull: 〜;
varSmallint,varInteger,varshortint,varByte,
varword,varlongword,varint64,varqword: 〜;
varSingle,varDouble,vardecimal: 〜;
varBoolean: 〜;
varArray: 〜
else 〜
end;
みたいなのはどうか
- 568 :デフォルトの名無しさん:2018/06/30(土) 19:57:18.53 ID:BMGfbdyk.net
- fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな
てか希望する行にプログラムでジャンプできない
これって...
- 569 :568:2018/07/01(日) 20:45:39.22 ID:UjvaLsGV.net
- 昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった
というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと
- 570 :デフォルトの名無しさん:2018/07/04(水) 22:07:10.80 ID:gFgZc5FG.net
- CMY
- 571 :デフォルトの名無しさん:2018/07/05(木) 16:32:14.16 ID:AeL6VB/V.net
- CMY
- 572 :デフォルトの名無しさん:2018/07/07(土) 01:05:29.30 ID:/e+lZ8Kj.net
- lヽ ノ l l l l ヽ ヽ
)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/ C | | |/| ハ / / ,/ /|ノ /l / l l l| l C ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| M l トー-トヽ| |ノ ''"´` rー-/// | M |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
| Y | | l | ヽ, ― / | | l Y |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
 ̄ ̄ | /  ̄
- 573 :デフォルトの名無しさん:2018/07/11(水) 10:51:05.84 ID:nmWNYHAt.net
- 炎猿でwindows以外のOSアプリ開発している人にお聞きしたいのですが、スマフォとかがアップデートされた場合動かなくなるとか、デバッグ出来なくなるとか不都合はないですか?
- 574 :デフォルトの名無しさん:2018/07/11(水) 17:39:18.30 ID:nuZ0aS+z.net
- ドラクエにいそうだな
炎猿
- 575 :デフォルトの名無しさん:2018/07/11(水) 21:49:54.77 ID:r5yaKwaw.net
- まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。
- 576 :デフォルトの名無しさん:2018/07/11(水) 22:54:26.92 ID:ybpsmMVD.net
- そうとも言い切れんから困る
- 577 :デフォルトの名無しさん:2018/07/13(金) 07:31:46.74 ID:cjGt1E8J.net
- OpenGLが枯れてるからあまり心配なさそう
- 578 :デフォルトの名無しさん:2018/07/13(金) 07:36:27.90 ID:qQhJFZKh.net
- AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな
- 579 :デフォルトの名無しさん:2018/07/13(金) 19:21:29.08 ID:I/E3+gDF.net
- OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。
- 580 :510:2018/07/15(日) 07:23:54.92 ID:DmBJj22K.net
- 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
- 581 :510:2018/07/15(日) 07:24:30.45 ID:DmBJj22K.net
- 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
- 582 :デフォルトの名無しさん:2018/07/17(火) 12:02:31.20 ID:XXadd0Qe.net
- D6です。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?
昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。
年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと
.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。
一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。
- 583 :デフォルトの名無しさん:2018/07/17(火) 14:50:49.28 ID:+kxKOOfA.net
- https://msdn.microsoft.com/ja-jp/library/67wc07b9.aspx
http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=257
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_61/rzaik/rzaikapigrphdrfile.htm
https://forum.dlang.org/post/mailman.637.1295116422.4748.digitalmars-d-learn@puremagic.com
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
- 584 :デフォルトの名無しさん:2018/07/19(木) 07:25:14.70 ID:tvMjHs4f.net
- Introducing Delphi and C++Builder Community Edition
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?
- 585 :デフォルトの名無しさん:2018/07/19(木) 07:36:15.48 ID:KPlplAON.net
- >>584
ログインしてからダウンロードすると良いかもしれない
- 586 :デフォルトの名無しさん:2018/07/19(木) 07:44:26.16 ID:tvMjHs4f.net
- >>585
thx
出来ました
- 587 :デフォルトの名無しさん:2018/07/23(月) 12:35:10.41 ID:TMDKKbFQ.net
- firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
- 588 :582:2018/07/23(月) 19:47:13.97 ID:ZNsXOfsj.net
- Dependency Walker
ttps://www.off-soft.net/ja/software/develop2/depens.html
と
Visual Studio 付属 dumpbin
というのでも関数名だけしかワカンネ
ILSpy_Master_2.3.0.1827_Binaries 起動できない。
Visual Studio 付属 Ildasm もダメっぽい。
暑くてなーんも進まない
- 589 :デフォルトの名無しさん:2018/08/04(土) 01:10:32.25 ID:9xoPwG77.net
- DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで
- 590 :デフォルトの名無しさん:2018/08/04(土) 10:03:56.88 ID:pEPpCry/.net
- 質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
- 591 :デフォルトの名無しさん:2018/08/05(日) 07:09:51.51 ID:lCE2SUhO.net
- めんどくさっ
- 592 :デフォルトの名無しさん:2018/08/05(日) 07:22:17.73 ID:lCE2SUhO.net
- 今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
- 593 :デフォルトの名無しさん:2018/08/05(日) 07:39:19.78 ID:33CDKMsR.net
- Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
- 594 :590です これは書けるかな?:2018/08/05(日) 12:50:09.31 ID:gWGunr7x.net
- >592-583
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。
- 595 :427です:2018/08/05(日) 22:33:28.02 ID:gWGunr7x.net
- >>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。
浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
2. 浮動小数点型の値のメモリ上での並び
ttps://qiita.com/nia_tn1012/items/340a1f0ad71bf6085f7f
元の値 : 1.024000
内部表現の値 : 3F83126F
↑
この例では、IEEE754-Single でした。
>>593
IEEE754 単精度浮動小数点数(float)の文字列とかいろいろ入れても
ただの整数になるようですが?
var
f: Single;
begin
Edit_Single.Clear;
if (Edit_IEEE754_HexSingle.Text <> '') and (StrToIntdef('$' + Edit_IEEE754_HexSingle.Text,-1) <> -1) then
f := StrToInt( '$'+ Edit_IEEE754_HexSingle.Text );
Edit_Single.Text := FloatToStr(f);
end else Edit_Single.Text := '入力エラー';
end;
- 596 :590 です:2018/08/05(日) 22:36:47.70 ID:gWGunr7x.net
- >595
パールスレでの名前欄 「427です」 がそのまま入ってしまいました。
>>590 です
- 597 :デフォルトの名無しさん:2018/08/27(月) 09:41:49.47 ID:UfmEJPeB.net
- Delphiの逆コンパイラでおすすめって何になるの?
- 598 :デフォルトの名無しさん:2018/08/27(月) 21:32:59.26 ID:1pvUgZqM.net
- 超初心者スレだから許して のしつもんです。
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。
Pathの 記述とか??
今でも TIniFile とか使いますか?
- 599 :デフォルトの名無しさん:2018/08/27(月) 22:05:18.90 ID:UfmEJPeB.net
- >>598
exeと同じフォルダ
- 600 :デフォルトの名無しさん:2018/08/27(月) 22:24:54.69 ID:lZIE2FNf.net
- >>598
%appdata%にアプリケーションのフォルダ作って保存
- 601 :デフォルトの名無しさん:2018/08/27(月) 23:33:36.63 ID:1pvUgZqM.net
- 回答有り難うございます。
とっても参考になりました。
ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\
って感じで 良いみたいですね。
- 602 :デフォルトの名無しさん:2018/08/28(火) 12:13:22.36 ID:e0zrlbVu.net
- 確かプラットフォームごとのパスを取得する関数が用意されてたような
- 603 :デフォルトの名無しさん:2018/08/28(火) 16:21:16.43 ID:6kEMX7h9.net
- iniファイル便利か
- 604 :デフォルトの名無しさん:2018/08/28(火) 18:16:29.63 ID:3sF2+X9S.net
- >>603
PCが壊れたとき等、環境移行はローテクの方が・・
- 605 :デフォルトの名無しさん:2018/08/28(火) 19:10:27.83 ID:pa8Xm38g.net
- レジストリなんか使わない。
XMLなんか使わない。
やっぱりINIがいい。
- 606 :デフォルトの名無しさん:2018/08/28(火) 20:53:25.15 ID:yUJd0FCJ.net
- 「プロジェクトから削除」で削除したunit2,unit3って結局生きてる?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
- 607 :デフォルトの名無しさん:2018/08/28(火) 21:09:44.56 ID:dFKNKLFU.net
- そもそも
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
- 608 :デフォルトの名無しさん:2018/08/28(火) 21:21:58.23 ID:mAx5yIVS.net
- >>606
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
- 609 :606:2018/08/28(火) 22:07:01.20 ID:yUJd0FCJ.net
- >>608
有難う
- 610 :デフォルトの名無しさん:2018/08/29(水) 07:06:43.69 ID:0P3/EBfJ.net
- (アン)インストーラが付属しないツールで
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
- 611 :デフォルトの名無しさん:2018/08/29(水) 19:36:02.35 ID:2f70+wG1.net
- >>598 >>601
Win8.1以降でiniファイルは取り扱いが難儀になったので
TIniFileでも拡張子を別のものにすると素直に使える。
例えば .env とか
.ini でトラブルになる挙動としては
管理者権限でプログラムを動かすとiniは書き出せるけどD&Dできなかったり
ユーザー権限で動かすとiniが書き込み変更できなくてエラーになったりする。
- 612 :デフォルトの名無しさん:2018/08/29(水) 20:50:27.29 ID:CUO+ntMd.net
- インストールフォルダ自体がドキュメントフォルダ強制とかもあるな
- 613 :デフォルトの名無しさん:2018/08/30(木) 10:16:05.96 ID:S/vwwZyF.net
- >>611
virtualstoreに入ってしまったものを
間違って元のディレクトリ名で見に行くと
「書き込み変更できなくてエラーになったり」
するね
- 614 :611:2018/08/30(木) 16:00:49.78 ID:xpekrfIC.net
- >>613 >>598
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。
procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;
- 615 :デフォルトの名無しさん:2018/08/30(木) 16:39:09.31 ID:h4Uebctf.net
- WriteInteger使えよww
- 616 :デフォルトの名無しさん:2018/08/30(木) 17:54:05.37 ID:xpekrfIC.net
- レジストリを汚しまくるのは好かん!
- 617 :デフォルトの名無しさん:2018/08/30(木) 18:00:59.87 ID:RB/Vojpj.net
- >>616
ほんそれ
- 618 :デフォルトの名無しさん:2018/09/04(火) 04:53:47.13 ID:cIgTW3mD.net
- スレッドオブジェクトで外部機器と通信するコンポーネント(自分で取り込んだactivexです)を使いたいのですが、
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
- 619 :デフォルトの名無しさん:2018/09/04(火) 07:40:32.69 ID:Iud04UXg.net
- 引数はnilでok
必要ならparentを指定する
- 620 :デフォルトの名無しさん:2018/09/04(火) 20:59:53.37 ID:cIgTW3mD.net
- >>619
有難うございました。
- 621 :デフォルトの名無しさん:2018/09/06(木) 20:32:48.73 ID:b7skbySG.net
- 十数年ぶりにコード書いてます。
Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。
ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。
uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?
挫けそうですw
- 622 :デフォルトの名無しさん:2018/09/06(木) 20:59:54.36 ID:Y0pbPBaL.net
- 単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
- 623 :デフォルトの名無しさん:2018/09/06(木) 21:14:09.34 ID:b7skbySG.net
- 速攻でスゲー! 解決しました!
HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。
それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
- 624 :618:2018/09/07(金) 13:31:35.10 ID:nbZaHp3Y.net
- 618です。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
- 625 :デフォルトの名無しさん:2018/09/08(土) 10:16:41.02 ID:7h/1w/8o.net
- C#にしたら
- 626 :デフォルトの名無しさん:2018/09/08(土) 12:26:23.76 ID:3pZBr9hd.net
- そのまんまでしょうに。アパートメントをまたぐ場合はマーシャリングしなきゃいけない。
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。
コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。
https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある
- 627 :デフォルトの名無しさん:2018/09/08(土) 18:32:14.22 ID:ifS5zDmq.net
- >>597
未だに見つけられていない
DeDe 3.50.02 Build 1619 for Windows
ttp://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml
Delphi製のバイナリを解析する方法
ttp://peryaudo.hatenablog.com/entry/20110105/1294209734
>DeDeのprojectタブを使うと、
>ディスアセンブルされたx86のコードをコメントでくくっただけのpasとデコンパイルされたdfmをファイルに落とせる。
x86コードを直接見てもワケワカメ
- 628 :デフォルトの名無しさん:2018/09/13(木) 10:48:16.02 ID:TILqF4on.net
- FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。
- 629 :デフォルトの名無しさん:2018/09/13(木) 15:53:14.96 ID:D2+vOfIF.net
- CellByPoint
- 630 :628:2018/09/14(金) 00:13:42.04 ID:h30gDWV5.net
- ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
- 631 :デフォルトの名無しさん:2018/09/14(金) 07:11:59.92 ID:N3zUYsZd.net
- onMouseMoveでテストしてみて
- 632 :デフォルトの名無しさん:2018/09/14(金) 08:18:00.14 ID:sVVlCHCP.net
- ローカル座標に変換する必要あんでね?
- 633 :デフォルトの名無しさん:2018/09/14(金) 12:20:56.93 ID:rsfS0hy3.net
- >>630
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
- 634 :デフォルトの名無しさん:2018/09/14(金) 19:36:31.47 ID:KQxf0S5x.net
- てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない
- 635 :628:2018/09/14(金) 20:55:44.40 ID:QxWxbdYR.net
- 皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
- 636 :デフォルトの名無しさん:2018/09/14(金) 21:57:04.38 ID:KQxf0S5x.net
- こんなんじゃだめなの?
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;
カーソル下のセルを正確に取得できてるよ
- 637 :デフォルトの名無しさん:2018/09/14(金) 23:50:03.06 ID:QxWxbdYR.net
- >>636
ありがとうございます。
やりたいことができました。
>>631
ヒントもらっていたのに申し訳ありません。
あくまでもコントロール上の座標を取らないといけないということですね。
ScreenToClientはアプリのウィンド上の座標と言うことで良いでしょうか?
- 638 :デフォルトの名無しさん:2018/09/15(土) 00:17:48.45 ID:8rxpHkWL.net
- なんで未だにデルファイなんかやっとるんやおまいら?
- 639 :デフォルトの名無しさん:2018/09/15(土) 06:26:34.02 ID:mxfFGWip.net
- いろいろな言語使えるけどDelphiがベストだと思うから
- 640 :デフォルトの名無しさん:2018/09/15(土) 06:42:36.21 ID:3TWFaDlw.net
- >>638
てかそんな話はエンバカスレでどうぞ
- 641 :デフォルトの名無しさん:2018/09/15(土) 11:07:16.52 ID:AVfR6YnT.net
- Delphiは討たれる
- 642 :デフォルトの名無しさん:2018/09/15(土) 17:32:12.84 ID:AkXmtK9p.net
- >>641
- 643 :デフォルトの名無しさん:2018/09/16(日) 10:48:44.14 ID:e3KaLVno.net
- SKRegExpの作者はどこに行ったの?
- 644 :デフォルトの名無しさん:2018/09/26(水) 11:44:44.46 ID:Ov2EA3Ui.net
- 今頃デルファイの10.2.3をインストールしようと思うんですが、サイトに書いてあるように一旦10.2をアンインストールしないとまずいですか?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
- 645 :デフォルトの名無しさん:2018/09/26(水) 13:25:05.76 ID:WoZunzir.net
- >>644
別のプログラムとしてインストールされるからTokyo用のコンポーネントは再インストール必須
別に10.2を残してても共存はできる
- 646 :デフォルトの名無しさん:2018/09/26(水) 15:05:08.27 ID:Ov2EA3Ui.net
- なんか共存できんかった
- 647 :デフォルトの名無しさん:2018/09/26(水) 17:59:31.37 ID:7bJbQB0s.net
- 同居出来ないってCPB CEでも入ってるのか?
- 648 :デフォルトの名無しさん:2018/09/26(水) 19:21:31.24 ID:ANIjlW8h.net
- BerlinとTokyoは共存できるけどToky同士は共存できなかったはず
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね
Webインストールの場合はそれができないんだったっけ
- 649 :デフォルトの名無しさん:2018/09/26(水) 19:58:22.59 ID:V9O91uO9.net
- サードパーティのコントロールが消えるのが嫌でアンインストールせずやってしまった。orz
- 650 :デフォルトの名無しさん:2018/09/28(金) 08:42:20.23 ID:CK9JalNS.net
- ツールパレットにはコンポーネントのアイコンがきちんと表示されているんだけど、フォームに配置するとアイコンが見えない位小さくなってしまうんだけどなんで?
- 651 :デフォルトの名無しさん:2018/09/28(金) 18:27:10.70 ID:L/CPkr5D.net
- >>650
老眼かい?
他人にはあんたの見て思ってる物が大きいか小さいかなんてエスパーでもないから分らない。
画面キャプチャーでもして画像貼れ
- 652 :デフォルトの名無しさん:2018/09/28(金) 20:17:23.17 ID:CK9JalNS.net
- そうか、ご苦労
- 653 :デフォルトの名無しさん:2018/09/29(土) 04:51:42.90 ID:61Ke5MR1.net
- フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
- 654 :デフォルトの名無しさん:2018/09/29(土) 06:17:50.02 ID:SaDPGrJG.net
- >>650
4Kモニターを使っているのかい?
- 655 :デフォルトの名無しさん:2018/09/29(土) 20:55:31.30 ID:nJOGxOxE.net
- そして
ふてくされて二度と来ないコミュ障であった
- 656 :デフォルトの名無しさん:2018/09/30(日) 05:42:12.80 ID:OYYkxayT.net
- かわいそう・・・
- 657 :デフォルトの名無しさん:2018/09/30(日) 16:24:03.95 ID:sVuwBfqE.net
- 意外とみんな覗いてんな
- 658 :デフォルトの名無しさん:2018/10/03(水) 20:49:10.84 ID:T89/Qa9b.net
- モニタにもっと顔を近づけるんだよ きっと見れるよ
- 659 :デフォルトの名無しさん:2018/10/04(木) 10:29:39.99 ID:FXVBuQxV.net
- モニタよモニタよモニタさん
- 660 :デフォルトの名無しさん:2018/10/06(土) 09:18:43.15 ID:ruQOvniH.net
- マルチデバイスのソフトを初めて作ろうと思っています。
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
- 661 :デフォルトの名無しさん:2018/10/06(土) 12:13:05.71 ID:Z2kGgnGa.net
- まずalignの使い方かな
- 662 :デフォルトの名無しさん:2018/10/06(土) 15:33:22.97 ID:dM0Hntxh.net
- >>660
FireUI
- 663 :660:2018/10/07(日) 08:57:42.83 ID:XyZZDpel.net
- 有難うございます。
調べて勉強します。
- 664 :デフォルトの名無しさん:2018/10/13(土) 18:12:13.98 ID:3G3/hyQa.net
- 何かウェルカムページを開きたびに
セキュリティ警告が出るんだが
- 665 :デフォルトの名無しさん:2018/10/13(土) 22:28:09.39 ID:19TuI9Cj.net
- >>664
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
- 666 :デフォルトの名無しさん:2018/10/13(土) 23:05:26.94 ID:ApCV8gEF.net
- >>665
なるほど
今日はvclとfmxアプリ間のメッセージングのテストやってて
切り替えるたんびにダイアログが何度も出てイヤんなる
- 667 :デフォルトの名無しさん:2018/10/17(水) 17:24:01.23 ID:GbCGuExa.net
- ブラウザのタイトルを取得したいんですけど、
WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません
WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません
ってなるんです。
usesに何か足りませんか?
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;
Delphi 10.2 Community Edition
- 668 :デフォルトの名無しさん:2018/10/17(水) 17:49:10.11 ID:GbCGuExa.net
- 解決しました。
VLCじゃやないやつで作ろうとしてたみたいです!
- 669 :デフォルトの名無しさん:2018/11/06(火) 12:05:36.75 ID:FnkVAeUe.net
- FMXでLabelのバックカラーの変更って出来ない?
今はPanelの色を変えて、その上に貼り付けてるんだけど。
- 670 :デフォルトの名無しさん:2018/11/06(火) 15:03:32.51 ID:lO/IgrxW.net
- >>669
labelのスタイルに背景ってないからムリじゃないかな
あとpanelよりtlayoutの上にtrectangleのせて
さらにlabelはったほうが柔軟性が高い
- 671 :デフォルトの名無しさん:2018/11/06(火) 16:08:30.30 ID:xJl/nUxi.net
- >>670
TRectangle、オブジェクトエクスプローラからなら子に色んな物入れられるよ
(要するにTRectangleがTLayoutのように使える)
- 672 :デフォルトの名無しさん:2018/11/06(火) 18:54:34.08 ID:O/iOsvOA.net
- >>669
XE5までの知識しかないが、
TStyleBook割り当てて、そっちで対応するんじゃなかったかな?
- 673 :デフォルトの名無しさん:2018/11/06(火) 19:14:26.53 ID:lO/IgrxW.net
- >>671
ホントだ
TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
- 674 :669:2018/11/06(火) 22:06:13.74 ID:FnkVAeUe.net
- 皆さん、ありがとうございました。
Rectangleって楽ですね。
もう一つ教えて下さい。
panddingとかmarginsを設定して0に元に戻すと隣のコントロールと隙間が空いたままになるのは自分だけ?
- 675 :669:2018/11/06(火) 22:08:56.05 ID:hsnGAH6F.net
- 訂正です。
panddingとかmarginsを設定して実行。
その後、全部0に戻して実行しても隙間が空いたままです。
- 676 :デフォルトの名無しさん:2018/11/07(水) 12:11:35.51 ID:wV9cKqqT.net
- >>675
fmxのmarginはちょっとバグってる気がする
その例と同じかどうか分からないけど
複数のspeedbuttonをalignをleftにして並べて
ボタンのmarginを一度設定すると
marginを解除しても
ボタンの左半分くらいがマウスに反応しなくなる
いろいろやってると何かのきっかけで正常になったりする
- 677 :デフォルトの名無しさん:2018/11/07(水) 12:24:36.39 ID:wV9cKqqT.net
- 上にスタイルの話があるけど
スタイルで背景色を変えたら
Windows10以外では適用されてなかった
コンパイルのしかたかなぁ
最近公開したソフトで
ユーザに指摘されて初めて気づいたよ
- 678 :669:2018/11/08(木) 21:49:27.80 ID:+35zDuDi.net
- 結局プログラムで指定すれば配置されるので我慢します
- 679 :デフォルトの名無しさん:2018/11/15(木) 21:17:33.28 ID:T3q1kNSY.net
- fmxでのフォームの最小化と復帰だけど
コードだけでで問題なく動作する?
WindowState := TWindowState.wsMinimize;
WindowState := TWindowState.wsNormal;
でできるはずなんだけどね
何かうまく機能したりしなかったり
- 680 :デフォルトの名無しさん:2018/11/20(火) 09:18:03.84 ID:7wJBb/wv.net
- 本棚からDelphi7体験版が出てきたのでインストールしようとしたら、
ライセンス取得のところでエラーが出て使用することができません。
今更ながら、使うことは不可能なのでしょうか?
DelphiXEで非Unicodeのソースが作れればそれでも構わないのですが。
- 681 :デフォルトの名無しさん:2018/11/20(火) 22:24:15.58 ID:yy/MaTgl.net
- 今ならフリーのDelphiありますよ
- 682 :デフォルトの名無しさん:2018/11/20(火) 22:25:24.56 ID:yy/MaTgl.net
- すみません非Unicodeと限定されている意味がわからないので現行のものではダメなのかも知れませんね
- 683 :デフォルトの名無しさん:2018/11/21(水) 01:49:20.19 ID:LolYlRS5.net
- 使用許諾コードがメールで送られてくる登録フォームならある
今でも機能してるのか知らんけど
http://support.embarcadero.com/jp/install/product
- 684 :デフォルトの名無しさん:2018/11/23(金) 08:08:59.67 ID:aknsIo8R.net
- >>683
良くサイトを見たら、体験版の承認キーの発行は終了しているみたいです。
せっかく教えていただいたのにすみません。
- 685 :デフォルトの名無しさん:2018/11/24(土) 01:36:16.72 ID:e4CBxpxl.net
- FMXをタッチパネルついてるWindows10で動作させるとTListViewとかが勝手にタッチパネル用のスタイルになるのどうにかならんかなぁ
Scrollbarが表示されない上にタッチパネル操作になるから操作が統一できない・・・
デバイス自体を無効にしたらタッチパネルじゃないスタイルで動作するけどなんだかなー
- 686 :デフォルトの名無しさん:2018/11/25(日) 11:17:43.53 ID:x9MDawPF.net
- ListBoxの項目にFocusを付与したいのですが、3,4日うまくいかず困っています。
クリック以外の方法でListBoxにFocusを付与する方法というのはありますか?
- 687 :デフォルトの名無しさん:2018/11/25(日) 21:01:29.45 ID:4hnmy7r/.net
- ListBox1.ItemIndex:=3;
ListBox1.SetFocus;
ってこと?
なんか以前にもこんな質問あったような気がするが
- 688 :デフォルトの名無しさん:2018/11/26(月) 13:46:48.38 ID:gMNgG1vk.net
- >>687
どうもです。
ただ、マウスクリックするとFocusが出ますが、ListBoxの他の所をクリックすると消えちゃうんですよね…。
- 689 :デフォルトの名無しさん:2018/11/27(火) 01:04:25.95 ID:uHJWsmxJ.net
- >>688
そりゃそうだ
他のフォーカスを持つ所をクリックすればフォーカス移る
何がしたいのかわからない
「ウィンドウ ハンドルを持つコンポーネント」の意味を理解してますか?
例えばここ http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabeapp.htm
ListBox以外にフォーカス動かしたくないんなら
他の全てをフォーカスを持たないSpeedButtonとかメニューやツールバーとかにするしかない
或いは他を Enabled:=Falseにするとか
- 690 :デフォルトの名無しさん:2018/11/27(火) 09:44:39.76 ID:/9xlS8t7.net
- こんな物を作っていました。
ttp://www1.axfc.net/u/3946835.zip?key=123456
既知の不具合
下手にいじると簡単にバックグラウンドプロセスに行ってしまう。
Focusについてですが、このアプリはFocusが残る物をベースに作りました。
新しく作り直した物がListboxをクリックすると一瞬だけFocusが表示されるのですが
すぐ消えてしまうと言うよく分からない現象が起きていました。
よろしかったらご評価いただければ幸いです。
もう我流は辞めてTurboDelphi〜を参考書に勉強したいと思います。
- 691 :デフォルトの名無しさん:2018/11/27(火) 09:53:17.62 ID:/9xlS8t7.net
- 大事なことを忘れていました。
このアプリはエクスプローラ上で.wavファイルを選択し「送る」もしくはアイコンでD&Dすると再生を始めます。
またアプリを起動して、エクスプローラからフォームに直接D&Dすると曲を演奏します。
よろしくお願いいたします。
- 692 :デフォルトの名無しさん:2018/11/27(火) 12:16:28.81 ID:e3+VQ8Az.net
- 例のお方か
まだやってたのはちょっとビックリ
- 693 :デフォルトの名無しさん:2018/11/27(火) 15:00:40.58 ID:/9xlS8t7.net
- そうですよ。まだやってました。石の上にも3年と言う言葉もありますし
おかげさまで、プログラミング技法の第一巻の半分くらいまでは理解できるようになりました。
今度はちゃんと基礎からやり直したいと思います。
あげたファイルはアルファー版ほどの出来ですが、今の知識で作った物です。
ご興味がありましたら、ご評価をよろしくお願いいたします。
- 694 :デフォルトの名無しさん:2018/11/27(火) 20:14:14.72 ID:NOmVen+G.net
- >>685
確かにスクロールバーが通常は非表示だけど
そんなに違いがあったっけ?
自分としてはマウスホイールでスクロールしてるときも
スクロールバーが非表示なのがあれだけど
- 695 :デフォルトの名無しさん:2018/11/27(火) 20:24:03.07 ID:B1T5LoxP.net
- >>694
マウスでドラッグしたらスクロールできたり(タッチパネル式だからマウスでスクロールバー操作するのとは逆の動きする)、スクロールバーが表示されてるときにクリックしても反応なかったり
OS側で常にスクロールバー表示しても非表示とか
レガシーな入力デバイスが主なプラットホームでは切り替えられるようにしといて欲しい・・・
- 696 :デフォルトの名無しさん:2018/11/27(火) 22:24:05.07 ID:NOmVen+G.net
- >>695
てかいま自分が作ってるfmxアプリをwindowsタブレットで動かしてみると
listviewとかのタッチでのスクロールには少し違和感があるね
android上とは明らかに違う操作感だ
- 697 :デフォルトの名無しさん:2018/11/27(火) 22:44:39.21 ID:uHJWsmxJ.net
- >>690
ごめん俺687と689を書いた者だけど自分の勉強以外で人のソース読むほど時間はないんだ
と書きながらも流し読みだけでもしようかと開いてみたら
「404 Not Foundファイルが見つかりません」
>新しく作り直した
と書かれているがそれは今までのソースのつぎはぎコピペではなく自分で理解しながら書き起こしたものですか?
それならば不具合が出たとしても何をググって調べればいいかわかると思います
プログラミング技法って昔持ってた記憶があるけど一度通読したあと埃かぶってたまま引っ越しの時に捨てたくらいいまいちな本だった記憶
自分はやっぱり最初は「はじめてのDelphi」が一番わかりやすかったし
「Delphiオブジェクト指向プログラミング」でVCL読むようになって
「インサイドDelphi」とか「シェルプログラミング入門」が楽しく読めるようになった
そうです私もおじさんです
- 698 :デフォルトの名無しさん:2018/11/27(火) 22:49:52.31 ID:NOmVen+G.net
- >>690
何をしたいのか分からないよ?
focusって言葉がそもそも違うんじゃない?
もし何らかの理由で本当にlistboxにfocusを与えたまま
維持したいんだけど、できないんだったら
他のコントロールがfocusを奪ってるんでしょ
それを調べたらいいんじゃない?
- 699 :デフォルトの名無しさん:2018/11/27(火) 23:04:45.17 ID:NOmVen+G.net
- >>697
自分なんか「おじさん」じゃなくて
60過ぎのジイサンだよ
と言ってもdelphi歴は短いけどね
今はfmxにハマってる
- 700 :デフォルトの名無しさん:2018/11/28(水) 07:11:14.22 ID:cOVA6pyZ.net
- ListBoxってフォーカスの有無で外観が変わったっけ?
フォーカスがなくなって困ることってある?
- 701 :デフォルトの名無しさん:2018/11/28(水) 18:42:27.35 ID:6Wq1ldCo.net
- ご評価していただいた皆様ありがとうございます。
このソフトを作るときは、巻き戻し・プログレスバー移動自由自在・リモコン対応
を目標に作り始めましたが、どれ一つも実現できませんでした。
MCIを使っての巻き戻しは、テープ系なら可能みたいですがMpegではデバイスが対応していないので無理。プログレスバーでの移動はどんなに大変なのかは、DelphiでDVDプレイヤーを作った方のサイトがあるのでそちらを参照してください。
大本のVolume制御以外は自分で実装しましたが、新しく別プロジェクトを作って試作してめどが立ってから導入しましたが、何故か思ったように動かず。
前半はMCIに翻弄され後半はインターフェースに苦しみ、メディアプレイヤーはもう少し修行を重ねてから、作りたいと思います。
愚痴めいた内容ですみません。
色々アドバイスをしてくれた皆様、特に質問を投げかけたときに、コマンドを一言つぶやいていただいた方、自分で使い方を調べることで理解が進みました。
スレ汚し失礼しました。
- 702 :デフォルトの名無しさん:2018/11/28(水) 18:45:05.85 ID:KTh/kflZ.net
- 3行で頼む
- 703 :デフォルトの名無しさん:2018/11/28(水) 19:03:58.25 ID:6Wq1ldCo.net
- 教えてくれた皆さんありがとう
つかれた
mp3再生君にはかないませんでした。
こんな感じで
- 704 :デフォルトの名無しさん:2018/11/28(水) 19:51:39.78 ID:N0ilq15o.net
- >>702
おまえ1行じゃねえか
- 705 :デフォルトの名無しさん:2018/11/28(水) 19:52:09.33 ID:9Dt+AyzE.net
- >>513
- 706 :デフォルトの名無しさん:2018/11/28(水) 21:12:16.13 ID:6Wq1ldCo.net
- そうでした。
Object Pascal言語ガイドを少し腰を据えて読んで理解したいと思います。
- 707 :デフォルトの名無しさん:2018/11/28(水) 21:32:01.67 ID:m6jgQPaC.net
- 前も言ったような気がするけど
fmxのコントロールのカスタムスタイルって
Windowsだと10でしか有効にならなくない?
設定した背景色とか8.1や7じゃ消えてるし
- 708 :デフォルトの名無しさん:2018/11/28(水) 22:21:14.73 ID:KTh/kflZ.net
- >>707
Windowsのバージョンで別々に設定できる反面、Windows10専用で設定されてるのに気付かないと別の環境では変な表示になっちゃうよね
- 709 :デフォルトの名無しさん:2018/11/28(水) 23:14:08.68 ID:DuRogDXc.net
- MCI君をいじると擁護する単発が現れるのももう恒例行事になってきた。
- 710 :デフォルトの名無しさん:2018/11/28(水) 23:46:29.77 ID:WWqTncYq.net
- え?誰が擁護してる?
- 711 :デフォルトの名無しさん:2018/11/29(木) 00:17:09.19 ID:3U/+XJ1L.net
- ほらね
- 712 :デフォルトの名無しさん:2018/11/29(木) 08:37:13.44 ID:J6L5KB/r.net
- >>708
そうなんだ
確かに「ターゲットプラットフォームの
バージョンごとにネイティブ」って書いてあるね
Windows 10 Desktop用に作ってあったとして
新たに8用と7用も作ってやらないとならないのか
こりゃちょっと大変な作業だ
- 713 :デフォルトの名無しさん:2018/11/29(木) 15:25:33.53 ID:yQEZusSx.net
- >>712
デフォルトスタイルに設定するか、スタイルを保存して各プラットホームにマージしたらそんなに手間でもないよ
- 714 :デフォルトの名無しさん:2018/11/29(木) 21:26:39.87 ID:w2wW1sYB.net
- >>713
ありがとう
マージできるんだ
何もわからないで始めたのがマズかった
- 715 :デフォルトの名無しさん:2018/12/05(水) 10:09:27.51 ID:mTCdLhw6.net
- DelphiXEを使ってます。
エクスプローラからプロジェクトファイルをダブルクリックしてDelphiが起動するのですが、
さらにもう一つ同じ操作で起動すると、先に起動したIDEのプロジェクトグループに追加され
てしまいます。2つ目のプロジェクトを別のIDE画面で起動したいのですが、そのような設定
があるのでしょうか?
- 716 :デフォルトの名無しさん:2018/12/06(木) 13:52:27.48 ID:DDjonqa2.net
- 無い
そういうものと思うしかない
- 717 :デフォルトの名無しさん:2018/12/07(金) 09:21:09.18 ID:2Avy4w/h.net
- >>715
スタートメニューから起動してプロジェクトロードするしかない
レジストリをいじれば出来るかもしれないけど
- 718 :デフォルトの名無しさん:2018/12/08(土) 09:28:52.05 ID:p9Ru1ius.net
- Rioの各デスクトップレイアウトを変更した後
それを保存する項目がメニューから消えたみたいですが?
- 719 :デフォルトの名無しさん:2018/12/08(土) 13:38:29.09 ID:NwPO1Ie0.net
- >>718
つ ttps://qiita.com/ht_deko/items/573f7c11c15c46f895c6
のQ.7かな?
- 720 :デフォルトの名無しさん:2018/12/08(土) 17:06:57.94 ID:p9Ru1ius.net
- >>719
ありがとうございました
できました
このボタンが関係するのかなとも思いましたが
Hintも非表示でスルーしてました
- 721 :デフォルトの名無しさん:2018/12/12(水) 22:30:39.97 ID:MSpbLBgR.net
- エンタープライズコネクターのインストール方法教えて下さい。
ダウンロードしてsetup.exeを実行してパスを通すの?
- 722 :デフォルトの名無しさん:2018/12/13(木) 09:33:41.92 ID:+QyQFfQj.net
- ちょっと教えてください
fmxのカスタムスタイル変更でコントロールの背景を変更するとき
Windows 10 Desktopstyle.pngとかWindows 7style.pngとか利用しますが
これってどこにあるの?
この画像を修正したいいんですがドライブの中を検索しても見つかりません
- 723 :デフォルトの名無しさん:2018/12/13(木) 11:47:04.04 ID:YCEJ54t4.net
- Delphi10.3 Community Edition 入れてみた
オブジェクトインスペクタのイベントTabが開かないんだけど
俺だけ?
Delphi10.23 Community Editionでは問題なく選択できる
- 724 :デフォルトの名無しさん:2018/12/13(木) 16:31:21.26 ID:vV5HNjFS.net
- 10.23とかなり新しいから修正あったんだろ
- 725 :デフォルトの名無しさん:2018/12/13(木) 18:38:58.45 ID:YCEJ54t4.net
- 'イベント'の文字の所をクリックすると いけた
TABの色と右側空白の色が同じだったので、空白をクリックしていただけだったw
- 726 :デフォルトの名無しさん:2018/12/13(木) 19:43:45.07 ID:w3f+OOI4.net
- クリックしてイベントTabを開けない方が難しいと思うw
- 727 :デフォルトの名無しさん:2018/12/15(土) 02:19:47.94 ID:bDhDTHwp.net
- 10.3でPostMessageを使ったメソッド、イベントハンドラ呼び出しの
標準のラッパーみたいのありますか
Call(Button1Click, [Sender]);
的な使い方ができるもの
- 728 :デフォルトの名無しさん:2018/12/21(金) 18:01:03.17 ID:cky1I29u.net
- AndroidアプリのためにFMX.MEMOを使って
簡単なテキストエディタを作ろうと思ったが
いざAndroid上で動かすと、漢字入力の際
変換中の文字列の色が変化せずに困っている
普通は入力中の文字、文節の区切り、カーソル位置で
色が変わったり下線が表示されるが、周りの文字と同じままで
どこが入力中で、どこが文節の区切りなのか分からない
何か設定が足りないんだろうか?
(IMEはGoogle日本語入力です)
- 729 :デフォルトの名無しさん:2018/12/22(土) 08:55:33.68 ID:NdThNIsr.net
- まあバグだろうね。欧米人はIMEとか使わないから
- 730 :デフォルトの名無しさん:2019/01/20(日) 15:49:29.87 ID:qfpRHOuf.net
- D7 です。
それなりに以前の機器の古いバイナリデータの日時情報が 8 byte(64bit) Hex で記録されているのですが、
日付TDateTime型 に入れる式をどなたか分りませんでしょうか?
この形式のような気配なのですが
ttp://madia.world.coocan.jp/vb/vb_bbs2/200602/200602_06020084.html
>Windowsは、「1601年1月1日 00:00:00からの100ナノ秒単位の経過数」です。
実データ値
0x88D24B060812D480 : 2015/04/22 11:24:29 付近
0x88D24B0608AB6B00 : 次の変化 : 差分 int 10000000 = Hex 0x989680
↓
0x88D24B0628429380 : 2015/04/22 11:25:23 付近 : 最終
// UNIX 系の変換はこのような感じでやってたのですが
var
i64 : Int64;
la : Longword;
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Unix64bitDateTime.Text);
la := i64 div 1000;
ULDateTime := UnixToDateTime(la);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
UNIX 系でのミリ秒含めでもなさそうでちょっとお手あげです。
- 731 :デフォルトの名無しさん:2019/01/20(日) 18:16:00.16 ID:pkTQkmr2.net
- 64bitの符号付きかね?
符号無しでも試してみれば?
- 732 :731:2019/01/20(日) 18:33:56.63 ID:pkTQkmr2.net
- 整数型は、符号付き・符号無しのどちらか?
リトルエンディアン・ビッグエンディアンのどちらか?
そのサイトのソースコードを見ると、
unsigned long low, high;
unsigned は、符号無し
val[0〜3]がlow、[4〜7]がhigh、
0123_4567 が、low_high だから、ミドル(PDP)エンディアンか?
1234_ABCD を、ABCD_1234 にしているのか?
Wikipedia の「エンディアン」を参照して!
- 733 :デフォルトの名無しさん:2019/01/20(日) 20:11:56.51 ID:KDWvqb8v.net
- D7から10.3comに変更してAndroidアプリでも作ろうかと気軽にチャレンジしたら
すげー苦労してる・・・
プロパティ名が微妙に違うしStringGridとかListviewみたいになってるし
ダイアログとかも面倒くせー
- 734 :デフォルトの名無しさん:2019/01/20(日) 20:13:41.94 ID:KDWvqb8v.net
- すまんエン馬鹿スレと間違えた メッセージが分かりづれーよJane
- 735 :730:2019/01/21(月) 09:36:20.23 ID:a6ON0eDT.net
- 詳細書き直し
古い規格データの機器からのバイナリデータ。
目的:古いデータを今の形式にする為。
日時部分を Delphi D7 で扱える ULDateTime : TDateTime; に入れたい。
問題点:時間部分の変換が分らない。
データブロックを構成する他の部分データ部分はリトルエンディアンで構成されている。
バイナリエディタで見ると不明で残る日時データ部分が8バイトの羅列。
[0][1][2][3][4][5][6][7]
(1) "80 D4 12 08 06 4B D2 88"
データの変る区切りで (2)つ目の変化
(2) "00 6B AB 08 06 4B D2 88"
時間が進むごとに
[0] 側から加算されていく、よってこの部分もリトルエンディアンで構成。
1分に満たない時間変化で4バイト目も変っていく為 32bitではない。
- 736 :デフォルトの名無しさん:2019/01/21(月) 09:40:36.46 ID:p/5Zwz2x.net
- Link先はUnix系だからこれでいけるようだけど違うみたいね
function bswap64(i: int64): int64;
begin
result := (i and $ff00000000000000) shr 56 or (i and $ff000000000000) shr 40 or
(i and $ff0000000000) shr 24 or (i and $ff00000000) shr 8 or
(i and $ff000000) shl 8 or (i and $ff0000) shl 24 or
(i and $ff00) shl 40 or (i and $ff) shl 56;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i64 : Int64;
d: double;
la: cardinal;
s : String;
dt : TDateTime;
begin
i64 := StrToInt64('$' + '6082D42A5A38C601');
i64 := bswap64(i64);
d := i64 * 1.0e-7;
d := d - 11644473600;
d := d /(24*60*60) + UnixDateDelta;
dt := FloatToDateTime(d);
// la := Trunc(d);
// dt := UnixToDateTime(la);
Edit2.Text := FormatDateTime('YYYY/MM/DD HH:MM:SS', dt);
end;
- 737 :730:2019/01/21(月) 09:56:47.94 ID:/4Ne5b0H.net
- パソコンで続きを書こうとしたらホスト規制の文字が出る
>736 考えてみます
- 738 :736:2019/01/22(火) 07:57:49.66 ID:wlBx3Xs7.net
- Q : 整数型は、符号付き・符号無しのどちらか?
A : いっさい不明
全差分 54秒 ほどの間に 1529 個ほどのデータ
時間文字の違いを抜き出し
time 1> 0x88D24B060812D480 : 2015/04/22 11:24:29 付近
time 2> 0x88D24B0608AB6B00
〜
time end-1> 0x88D24B0627A9FD00
time end> 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
2進数、8進数、10進数、16進数相互変換ツール
h ttp:〜(この〜〜は規制がどうたらこーたら表示)
符号なし10進数化で差分を求めると 10000000
これが1秒の更新と一致。
新展開
"00 40 E4 47 02 22 C1 08" : 終了段未計測の値、(データ無し)
0x08C1220247E44000
符号なし で変換 630822816000000000 ググるといくつも何かがHit
Calendar のどうたらこーたら英文一杯
- 739 :デフォルトの名無しさん:2019/01/22(火) 20:50:24.33 ID:zgLYWjKa.net
- >>738
time2の値を0xffffffffffffffff-1(=0x7fffffffffffffff)でbit andを取ると、
0x8d24b0628429380
この値を.NET frameworkのDateTime型に渡してインスタンス化したところ、
2015/04/22 11:25:23
となり一致した。
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
またほかの考察から、1sec=10000000であり、ちょうど100nsecの分解能とも一致している。
- 740 :デフォルトの名無しさん:2019/01/22(火) 20:52:09.44 ID:zgLYWjKa.net
- >>738
データ点数1529は、
1529 = 54 * 28 + 1
なので、28Hzのクロックシグナルでログを取っているものと予想される
- 741 :デフォルトの名無しさん:2019/01/22(火) 22:15:27.13 ID:zgLYWjKa.net
- >>738
日時の表現が.NET frameworkのDateTime互換と仮定すると、
>>739 では上位1bitを捨てたけど、実際には2bit捨てるのが正しい。
この2bitが何物かといえば、
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)
例示された値の上位2bitは0b10(=2)なので、ローカルタイムだったのだろうと推測される。
- 742 :736:2019/01/23(水) 06:54:24.00 ID:BnZEIkIf.net
- >>739-741
ありがとうございます。
まとめるとこのような感じで上手くいくようです。
- 743 :736:2019/01/23(水) 06:56:58.78 ID:BnZEIkIf.net
- .NET frameworkのDateTime互換型と仮定 → (.Net型 非対応) Delphi TDateTime型
対象 : 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
符号なしで推移
2000年1月1日 00:00:00 基準値 0x08C1220247E44000
差分
16進数 = 80112903E05E5380
10進数 = 9228202208084775808
02進数 = 1000000000010001001010010000001111100000010111100101001110000000
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)
値の上位2bitは0b10(=2)なので、ローカルタイム
上位2bit捨てる
2000/01/01 00:00:00 以降だけと仮定(計測機器データなので過去は無し)
1000000000010001001010010000001111100000010111100101001110000000
00000000010001001010010000001111100000010111100101001110000000 = 4830171230000000 = 0x112903E05E5380
4830171230000000 / 10000 ms = 483017123000 {切捨て}
483017123000 (ms)
/1000 = 483017123 ...0 (ms)
/60 = 8050285 ...23 (sec)
/60 = 134171 ...25 (min)
/24 = 5590 ...11 (hour)
2000年1月1日 から 5590 日のローカルタイム経過日
- 744 :736:2019/01/23(水) 07:02:27.05 ID:BnZEIkIf.net
- .NET frameworkのDateTime互換型と仮定 → (.Net 非対応) Delphi TDateTime型
検証中
uses
// (略)
DateUtils,Math;
procedure TForm1.Button_Hex64Bit2000CalendarClick(Sender: TObject);
var
i64 : Int64;
// (略)
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Hex64BitDotNfDateTime.Text);
i64 := i64 - $08C1220247E44000;
TextStr := IntToHex(i64,16);
Memo1.Lines.Add(TextStr);
// Hex 16bit 文字→ 2bit String に変換
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// i64 := 残りを 10進数数値に変換
// i64 := Trunc(i64/10000); // ミリ秒単位化
i64 := 483017123000; // (仮入れ)
ULDateTime := StrToDateTime('2000/01/01 00:00:00.000');
ULDateTime := IncMilliSecond(ULDateTime,i64);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
Memo1.Lines.Add(TextStr);
end;
結果 : 2015/04/22 11:25:23.000
一致しました。
- 745 :736 関数化:2019/01/24(木) 06:22:34.57 ID:+IgQLcoJ.net
- 関数化したものを分けて書こうとすると
Sorry, you have been blocked
You are unable to access 5ch.net
>744 変更
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
TextStr := Int64ToBin(i64,False); // 他者さんの参照外部関数を改変
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
- 746 :736 関数化:2019/01/24(木) 06:38:11.74 ID:+IgQLcoJ.net
- function DotNf64bitHexToDateTimeStr(Str8bytesHex : String; Flg,MS : Boolean) : String; // 8 Bytes Hex , Flg check , ms on(True/False)off
(省略 >744冒頭部分近似)
// i64 := 残りを 10進数数値に変換
ib := 0; // 頭"i"Int
ea := 0; // 頭"e"Extended
ilen := Length(TextStr);
for ia := ilen downto 1 do
begin
iBin := StrToIntDef(TextStr[ia],0);
ea := ea + ((power(2,ib)) * iBin);
ib := ib + 1;
end;
i64 := Trunc(ea / 10000); // ミリ秒単位化
ULDateTime := StrToDateTime(DateTimeStr);
ULDateTime := IncMilliSecond(ULDateTime,i64);
if MS then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
if MS = False then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
end;
if Flg then DateTimeStr := UL + DateTimeStr;
DotNf64bitHexToDateTimeStr := DateTimeStr;
end;
end.
- 747 :736 関数化:2019/01/25(金) 06:18:32.24 ID:/nan/z+i.net
- 補足
i64 := StrToInt64('$' + Str8bytesHex);
// Int64 → 2bit String に変換 'Int64ToBin' で検索先
// 上位2bit 文字 で utc(1)01, local(2)10 を判定
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
流れをこうしないと年日時の結果は同じでも
指定なし(0) 上位2bit 文字 '00' の場合
差し引き結果から'01'のutc判別となってしまう。
- 748 :デフォルトの名無しさん:2019/01/26(土) 12:43:51.03 ID:V7Vc5iY/.net
- DocWikiの内容をzipファイルか何かで一括ダウンロードする方法あったら教えてください
- 749 :デフォルトの名無しさん:2019/02/10(日) 07:14:24.28 ID:RF523CmO.net
- 古いD6をまだ使っているが、エディタは VScode にDelphi extension入れて
使っている
デバッグはD6のIDEでやるしかないけど、両方立ち上げておけば
まあ使えますね
- 750 :デフォルトの名無しさん:2019/02/10(日) 10:26:35.22 ID:3PGMldSJ.net
- 俺もD6で、秀丸でコーディングしていたが、VSodeに切り替えてみようかな。
VSCodeは他の言語で使ってるので。
- 751 :デフォルトの名無しさん:2019/02/10(日) 18:01:50.44 ID:RF523CmO.net
- VScodeの注意点: 別PCのファイルを開くと、変更が反映されない事象あり
自動保存されるけど、書きなおしたやつをまた開くと直っているように見えるのに、
実際は直ってないとか。 意味不明
- 752 :デフォルトの名無しさん:2019/02/10(日) 20:08:43.74 ID:RF523CmO.net
- >>751 あっちとこっちで同時にファイル開いてたせいみたい
- 753 :デフォルトの名無しさん:2019/02/17(日) 19:49:40.12 ID:mFe1BbW0.net
- 別に今必要な事じゃないんだけど
エクスプローラーのファイル名で並べたら
ファイル1
ファイル2
・・
ファイル10
って並ぶでしょ。 これどんなロジックなんだろ
スマートな方法が思いつかないし興味ある
- 754 :デフォルトの名無しさん:2019/02/17(日) 21:28:00.77 ID:8qqWbI4p.net
- 自分は自作ソフトで似たようなことやってるけど
1文字単位での比較で数値同士の比較の場合に、その先の数値じゃなくなる前まで読んで整数にして比較ってしてる
小数点以下は1文字単位での比較として扱うので整数にしない
ただ 第11話 最終話 のような場合のロジックが面倒
- 755 :デフォルトの名無しさん:2019/02/19(火) 06:54:39.26 ID:9UQztg+8.net
- VisualStudioでDelphi使えないかなぁ
- 756 :デフォルトの名無しさん:2019/02/19(火) 08:12:14.24 ID:BDyhgoG4.net
- Delphi Community EditionとC++Builder Community Editionは同時にインストールできないんだな。
- 757 :デフォルトの名無しさん:2019/02/19(火) 09:38:23.94 ID:5KoJ2HbW.net
- >>753
例えばこういうのは?
ファイル名文字列をバイト単位で数値化して加算
f0 = 0x65 + 0x30 = 101 + 48 = 149
f1 = 150
f2 = 151
f01 = 0x65 + 0x30 + 0x31 = 198
数値化した値で降順ソート
つまり
格納されてるファイル名を文字ではなく文字コードの数値合計でソート
- 758 :デフォルトの名無しさん:2019/02/19(火) 09:58:03.22 ID:5KoJ2HbW.net
- 補足
f01 = 0f1 = 1f0 になってしまうので
f(filename)文字列の桁数 len:=length(f) で文字列制限を設けて
for i:=1 to len do
if i<10 then a:=a+Ord(f[i])*10 else a:=a+Ord(f[i]);
適当処理
- 759 :753:2019/02/19(火) 16:58:58.81 ID:kMKRA1xT.net
- 有り難うございます
おもしろい・・・
- 760 :デフォルトの名無しさん:2019/02/19(火) 17:54:17.46 ID:oJBYXncw.net
- >>757
それだと
abcd5.txt
bbcd1.txt
というファイルがあった場合に
bbcd1.txt
abcd5.txt
という並び順になっちゃうんじゃね?
あくまで"文字列"+"数値" というファイル名に対して"文字列"で比較し、"文字列"が同一なら"数値"で比較する必要があると思うが
>>754の場合、数字が文字列の一部だった場合に正しくソートされないって問題があるけど
そういう場合のファイル名はあまり意味がないから気にしないようにしている
それと先頭が数字の場合は文字列の一部として扱ってる
- 761 :デフォルトの名無しさん:2019/02/19(火) 19:07:51.51 ID:0tdxPmy7.net
- StrCmpLogicalW
- 762 :デフォルトの名無しさん:2019/02/19(火) 19:34:05.73 ID:oJBYXncw.net
- 自分の場合、壱弐参なんてのも数値として扱うようにしている(したい)からAPIだと望んだ結果を得られない
「数値もしくは数値に変換可能なもの」同士の比較の場合だけ整数として比較してる
- 763 :デフォルトの名無しさん:2019/02/21(木) 17:17:10.52 ID:2mlLSirQ.net
- begin
var
i: Integer;
i := 0;
end;
コードフォーマッタ使うとこうなってしまうのだけどvarのあとで改行しない設定ってどこ?
- 764 :デフォルトの名無しさん:2019/03/12(火) 15:37:42.39 ID:G73gvPJk.net
- ttps://qiita.com/ht_deko/items/41e95154e8da2f901698
コメ欄w
- 765 :デフォルトの名無しさん:2019/03/12(火) 16:19:08.39 ID:8KtfShI4.net
- Sorry, my bad. My memory is confused. But, so what?
I mean, the fact is you humiliate Linus and Kernighan in such a way that they never know such a thing as you said.
たしかに恥ずかしい
- 766 :デフォルトの名無しさん:2019/03/14(木) 12:21:21.05 ID:w5DEurD7.net
- 結局なんだったのアレ?
- 767 :デフォルトの名無しさん:2019/04/02(火) 23:02:52.38 ID:Jpqx4ytb.net
- ちょっと教えてほしいんですが、社内イントラネット環境で50台くらいのクライアントPCと
1台のサーバーで双方向に情報をやり取りするVCLフォームアプリを作りたいですが
Delphiだと何使って構築するのが良いのでしょうか?
上からの命令でDelphi使うことなって調べてみたんですが、検索するとDataSnapとか
RESTとかのキーワードが出てきますが自分の経験がDelphi7でストップしていて
現状についていけてません。よろしくおねがいします。
- 768 :デフォルトの名無しさん:2019/04/03(水) 02:20:05.63 ID:ZykPhSzn.net
- >>767
情報のやり取りだけでは何とも言えんなー
それだけの要件だとIndyかWinsocksで通信したらええんちゃうってなる
- 769 :デフォルトの名無しさん:2019/04/03(水) 05:47:42.38 ID:qbGQvqkC.net
- ふつーにIISで鯖立てて、httpでやりあえばよくね?
- 770 :デフォルトの名無しさん:2019/04/03(水) 06:04:14.50 ID:Vd76zIcd.net
- CのDLLは普通にDelphiでも使える。
つまりcurlとかも普通に選択肢になると思う。
- 771 :デフォルトの名無しさん:2019/04/03(水) 09:22:36.44 ID:CI6gl4VO.net
- なんでDelphiが指定されたんだろう?
今まで使ってた訳じゃないのに
- 772 :デフォルトの名無しさん:2019/04/04(木) 06:32:46.99 ID:HLoaCcLX.net
- ネィティブ系だと実質C++かDelphiかの選択肢しかなくね?
- 773 :デフォルトの名無しさん:2019/04/04(木) 19:27:06.29 ID:GNoSo19c.net
- そだねー
- 774 :デフォルトの名無しさん:2019/04/12(金) 06:11:32.75 ID:MYAmm+z/.net
- >>767
Firebird + Apache + SOAP
- 775 :デフォルトの名無しさん:2019/04/12(金) 06:17:57.84 ID:MYAmm+z/.net
- >>753
[Delphi]Windows XPの規則(自然順ソート・natural sort・natural ordering)ででファイル名をソートする
https://www.gesource.jp/weblog/?p=5947
- 776 :デフォルトの名無しさん:2019/04/26(金) 08:30:46.09 ID:l06kgRZY.net
- >>767
https://www.embarcadero.com/jp/products/delphi/starter
Community Editionで使えるか試してみ
- 777 :デフォルトの名無しさん:2019/04/26(金) 08:31:55.46 ID:l06kgRZY.net
- >>774
DBはPostgreSQLかMariaDB
- 778 :デフォルトの名無しさん:2019/05/06(月) 11:11:11.14 ID:WAQCiPA3.net
- UnZIP32.DLLとかUnRAR32.DLLでRARファイルの操作する場合の質問です
例えば
BOOL WINAPI UnrarCheckArchive(LPCSTR szFileName,const int iMode);
と定義されてるUnrarCheckArchive関数をDelphiで定義すると
UnrarCheckArchive: function(szFileName: LPCSTR; const iMode: integer): Boolean; stdcall;
こんな感じなって通常はこれで問題ないのですが、
Unicode文字(バ、ガなどの濁音とか)が混じってるファイル名の場合上手く行きません
szFileNameがLPCSTRだからAnsiString扱いなのでUnicodeのファイル名を渡せないのもの当然なのですが、
なにかプログラム側でできる回避策はないでしょうか?
- 779 :デフォルトの名無しさん:2019/05/06(月) 12:25:07.78 ID:a/Eukqc8.net
- >>778
使用しているdelphiのバージョンを書いてください。
delphi2009前か後かで回答が変わるかもしれないからです。
UnrarChechArchive関数の仕様に基づいて型キャストしてやれば良さそうな気がします。
例えばnull終端wide stringという仕様なら、渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
- 780 :デフォルトの名無しさん:2019/05/06(月) 13:23:28.45 ID:WAQCiPA3.net
- >>779
レスありがとうございます
使用してるDelphiは2010です
>UnrarChechArchive関数の仕様
szFileNameはLPCSTRなので32bit系のDLLではnull終端のAnsiChar配列(のポインタ)になってると思います
>渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
var
Path : string;
UnrarCheckArchive(PAnsiChar(PWideChar(Path)), 0);
この型キャストでは残念ながら上手く行かないようです
- 781 :デフォルトの名無しさん:2019/05/06(月) 20:04:43.46 ID:6T4so0Ox.net
- LongFileNameをShortFileNameに変換すると
幸せになれる
- 782 :デフォルトの名無しさん:2019/05/06(月) 20:48:15.87 ID:WAQCiPA3.net
- >>781
ナイスアドバイスです
GetShortPathNameで上手く行きました
おかげさまで幸せになれました
ありがとうございました
- 783 :デフォルトの名無しさん:2019/05/10(金) 10:35:30.18 ID:VUdPAgci.net
- TDateTime datetime = VarToDateTime("令和元年5月10日9時10分15秒");
今はエラーが出るんだがそのうち対応されるのか?
- 784 :デフォルトの名無しさん:2019/05/10(金) 20:47:06.76 ID:bRXsPgWN.net
- FormatDateTime('ge', Now);
レジストリに令和を加えてから上記を実行すると令1 って出るね
- 785 :デフォルトの名無しさん:2019/05/11(土) 03:08:09.14 ID:KNhq3FbT.net
- いずれWindowsアップデートで対応するらしい
https://support.microsoft.com/ja-jp/help/4469068/summary-of-new-japanese-era-updates-kb4469068
コマンドプロンプトでこれを実行するとレジストリに追加される
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras /v "2019 05 01" /t REG_SZ /d "令和_令_Reiwa_R"
- 786 :デフォルトの名無しさん:2019/05/12(日) 18:37:34.16 ID:Kr8GnLfu.net
- vsIconかつAutoArrangeのListViewで、両端のアイテムを選択した状態で左右キーを押すと、
エクスプローラーなら上下の列に移動しますが、DelphiのTListViewだと無反応です
これをエクスプローラーに準拠の動作をさせるにはどうすればよいのでしょうか?
- 787 :786:2019/05/15(水) 06:10:55.25 ID:jY9AnPp4.net
- 自己レスです
通常方向キーなどはVCL側で処理されてOnKeyPress、OnKeyDownなどではトラップできないので、Windowsメッセージを直接トラップすることでエクスプローラー準拠にできました
procedure WMKEYDOWN( var Msg : TWMKEYDOWN ); message CM_CHILDKEY;
procedure TForm1.WMKEYDOWN(var Msg: TWMKEYDOWN);
begin
case Msg.CharCode of
VK_LEFT :
左端か判別して左端なら上の列の右端に移動してResult := 0;
VK_RIGHT :
右端か判別して右端なら下の列の左端に移動してResult := 0;
end;
inherited;
end;
- 788 :デフォルトの名無しさん:2019/05/15(水) 06:39:29.51 ID:jY9AnPp4.net
- 訂正
Result := 1;でした
- 789 :デフォルトの名無しさん:2019/05/26(日) 19:04:45.15 ID:Nlo0sxin.net
- 開発環境だと問題ないのですが
実行したいPCだと
「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」と警告が出ます。
いくつかのDLLを使ってます。
どこから調べれば良いか???です。
開発環境は XE3 です。
何かヒントでもありませんか?
- 790 :デフォルトの名無しさん:2019/05/26(日) 20:54:01.76 ID:zVm0Vl5m.net
- >>789
メッセージググればそのまま出てくるけどVBA関連では?
こことか
https://ameblo.jp/realsystems/entry-11946216560.html
- 791 :デフォルトの名無しさん:2019/05/26(日) 21:22:58.51 ID:Nlo0sxin.net
- 有り難うございます
警告メッセージは最初にググったのですが ピンとくる書込は見つけられませんでした
VBAは使ってないし・・
開発環境 Win7 x64 、実行環境 Win10 x64 です。
当初はそんな警告出てなかったのですが デバッグしてるうちに出るようになりました
困った・・・
- 792 :デフォルトの名無しさん:2019/05/27(月) 06:55:38.20 ID:+4vJq2r8.net
- とりあえず、「動いている状態」ってのに戻してみたらどうかね?
それが再現できるなら話は簡単になる
- 793 :デフォルトの名無しさん:2019/05/27(月) 09:20:16.88 ID:ywThIruX.net
- コメント感謝します
DLL参照の プロパティ値代入を1行追加してから症状が出るようになった気がするのですが(自信なし)
それをコメントアウトしても症状が消えません
開発環境では出ないので厄介です
Delphiが タイプライブラリを自動で追加したり とか しないですよね?
- 794 :デフォルトの名無しさん:2019/05/27(月) 09:39:37.30 ID:+4vJq2r8.net
- そうじゃなくて、前の状態のファイルとかシステム一式をバックアップから取り出せないの?
自動でバックアップしながらじゃないとソフト開発は効率わるいよ。
- 795 :デフォルトの名無しさん:2019/05/27(月) 11:28:59.51 ID:ywThIruX.net
- お付き合いホントに有り難うございます
開発環境と 実行環境が 1時間の移動距離にあるので
今現在出来てるテストが上記の書込でした
開発ファイル群は毎日のバックアップがあります
先ず、手元に現象を再現できる環境を構築しようと思ってます。
1度ビルドすると ソースの変更点をコメントアウトしても 元に戻らない
「何か」が有る可能性はあるのでしょうかね?
- 796 :デフォルトの名無しさん:2019/05/27(月) 12:32:39.96 ID:9qF1YjML.net
- どうせADOとかOLE DBとかそっちの問題だろ?
- 797 :デフォルトの名無しさん:2019/05/27(月) 13:08:16.22 ID:AYKzEEPJ.net
- >>795
四の五の言ってないでデータベースドライバ入れろ
- 798 :789:2019/05/27(月) 16:22:46.11 ID:ywThIruX.net
- コメント有り難うございます
データベースドライバは入っています
入れ直すということでしょうか?
先の警告メッセージが出たあとOKを押すと 一見正常に動作しているように見えます。
そもそも警告が出始める前は 一通り正常に動作していました。
原因がわかりません。
旧ソースをビルドし直してテストしてみます。
- 799 :デフォルトの名無しさん:2019/05/27(月) 20:19:06.04 ID:zpIi4cEd.net
- データベースドライバが32bitか64bitなのかが開発環境と実行環境で違ってたら
そんなようなエラーが出たような気がするが
- 800 :789:2019/05/27(月) 20:33:13.36 ID:ywThIruX.net
- >>799
コメント心から感謝します
警告メッセージをググると そんなことも書いてありました
只 当初は問題なく動作していたので 途中でドライバーが変わるようなことも考えにくいですよね
Delphiで書いた実行ファイル以外は一切環境を変えていませんので 謎です
- 801 :デフォルトの名無しさん:2019/05/28(火) 00:25:44.07 ID:M3HPfliA.net
- 32bit用ドライバ → system32 に入れる
64bit用ドライバ → wow64 に入れる
こういう勘違いをしてるアホは時々見かける
- 802 :デフォルトの名無しさん:2019/05/28(火) 00:29:31.95 ID:Ht1RoDma.net
- そういう命名にしたMSが最高のアホだろ
- 803 :デフォルトの名無しさん:2019/05/28(火) 08:25:10.69 ID:m8dRe03e.net
- アプリのバージョンを表示するコードが上手く行かないんで悩んだがどうやらデバッグ版とリリース版でバージョン情報が共有されない仕様になったんだな
デバッグ版、リリース版でそれぞれバージョン情報をオプション設定しなきゃならないんで面倒くさいわー
デフォの文字コードも英語版になってるしなんかいろいろ使いにくい>10.3
- 804 :デフォルトの名無しさん:2019/05/28(火) 09:12:35.07 ID:WeI/rfn2.net
- >>800
開発環境から実行した時に、モジュールのロードで始まる dll や bpl のロード情報を
コピペしてゆっくり眺めてみる
- 805 :デフォルトの名無しさん:2019/05/29(水) 05:48:35.44 ID:PLjjs/Q6.net
- begin
TStringList.Create.Add('メモリリークした');
end;
このメモリリークの型、内容、ソースコードの場所を検出してくれるツールで
フリーかつDelphi10.3で使えるものって何があるますか?
- 806 :デフォルトの名無しさん:2019/05/29(水) 11:15:02.18 ID:+DJjCaX6.net
- >>805
これじゃあかんの?
EurekaLogでDelphiアプリケーションのメモリリークを検出する – 山本隆の開発日誌
https://www.gesource.jp/weblog/?p=4834
- 807 :デフォルトの名無しさん:2019/05/29(水) 12:20:29.95 ID:nxMyfbFc.net
- くたばれDelphiに見えた
- 808 :デフォルトの名無しさん:2019/05/31(金) 07:36:06.37 ID:L7xGWFvw.net
- 僕が高校生の頃の記事を紹介されても・・・
- 809 :デフォルトの名無しさん:2019/05/31(金) 11:36:16.19 ID:wXpLEcKn.net
- ところでandroidのメモリリークって
どうやって検出するの?
少なくとも標準のを書いておいても
今まで報告されたことないんだが
- 810 :デフォルトの名無しさん:2019/06/04(火) 18:44:33.74 ID:UGFk7I+U.net
- > フリーかつDelphi10.3で使えるもの
バージョンアップについていけなくて大半の外部ツールやVCLは死亡中
有料ですら10.3に対応してないものが多い
- 811 :デフォルトの名無しさん:2019/06/04(火) 22:27:56.89 ID:2iRNEsdQ.net
- Delphiって有志による外部ツールやVCLで成り立っている文化なのに
メーカーはなんでそのことを理解してないんだろうなあ
- 812 :デフォルトの名無しさん:2019/06/05(水) 13:40:38.43 ID:CzlXW3sk.net
- バージョン表記自体もわかりにくいんだよな・・・
8からいきなり2005になったと思ったらDelphi 2010を最後にDelphi XEシリーズになってそのままいくのかと思ったらXE8でうちどめして今度はDelphi 10に
10から11〜とメジャーバージョン上がっていくかと思ったらマイナーバージョンがメジャーアップデート相当でなんか末尾に都市名つけはじめたし
Delphi 10 Seattle
Delphi 10.1 Berlin
Delphi 10.2 Tokyo
Delphi 10.3 Rio
- 813 :デフォルトの名無しさん:2019/06/05(水) 15:20:31.40 ID:MBMFE53P.net
- >>811
エンバカデロが過去の歴史知らないから仕方ない
- 814 :デフォルトの名無しさん:2019/06/07(金) 08:09:59.63 ID:tLy1nxeI.net
- 戦争を知らない〜子供たち〜さ〜
- 815 :デフォルトの名無しさん:2019/06/17(月) 18:50:44.65 ID:mpJ2xeVG.net
- RazorでVB.NET切られるかも知れないのね
まだDelphiの方がクロスプラットフォームで残るかも知れないね
- 816 :デフォルトの名無しさん:2019/06/19(水) 05:04:09.25 ID:tVNS+22r.net
- 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
- 817 :デフォルトの名無しさん:2019/07/09(火) 19:56:00.97 ID:tNo5ef94.net
- 質問、D6です
Clipboard関数
ANIS 半角アスキーテキスト(1行128バイト以下)をClipboard.AsTextで送らせます。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00058.htm
を参照しました。
uses節に 「Clipbrd」を追加
Clipboard.AsText := 'String変数';
これだと1秒ごとに送っているとすぐハングアップするので
AsTextより先にクリアさせるようにしてみました
Clipboard.Clear;
〜処理〜
Clipboard.AsText := 'String変数';
が
カウントさせてみると16回目ぐらいでハングアップしているようです。
上記の次ぎに
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
を追加すると
79回目ぐらいで行ってハングアップします。
なにかスムーズにさせるコツみたいなのありますか?
- 818 :デフォルトの名無しさん:2019/07/09(火) 20:16:45.77 ID:cI7q65Pk.net
- >>817
ハングアップ、って具体的にどうなってるの?
何かの勘違いじゃないの?
あとClipboard.CreateとClipboard.Freeは要らないと思う;
- 819 :デフォルトの名無しさん:2019/07/09(火) 21:09:40.47 ID:yicNQMua.net
- >>817
ハングアップに対する回答ではないけど……
同じなのに入れ替える必要ないと思うので
if Clipboard.AsText <> 'String変数' then
入れた方がいいのでは?
- 820 :デフォルトの名無しさん:2019/07/10(水) 08:29:24.86 ID:SpAM0kMX.net
- Lazarusで書き直してみるとかね。
D6ってユニコードAPIとかに対応してないと思うのでそれ関係じゃね?
- 821 :デフォルトの名無しさん:2019/07/11(木) 16:01:27.35 ID:s0u0iTmX.net
- Excelが起動してるとクリップボードの扱いでトラブった覚えあるけど
そういう用途じゃないよね
- 822 :デフォルトの名無しさん:2019/07/11(木) 18:36:12.29 ID:T5uCpHez.net
- >79回目ぐらいで行ってハングアップします。
ハングアップが具体的にどういう状況かわからんので考えるだけ無駄だと思う
- 823 :デフォルトの名無しさん:2019/07/11(木) 21:28:58.78 ID:LgH9l4aT.net
- てかソース見ると単純にapi呼び出してるだけだから
それってDelphiの問題なのか?
テストプログラムを他のPCで実行してチェックしてみるとかした?
- 824 :デフォルトの名無しさん:2019/07/12(金) 12:38:08.15 ID:MoL5DIGp.net
- Delphi6とDelphi7のclipbrd.pas比べてみたらFClipboardとかFClipboardWindowの解放処理が追加されてるな。ひどすw
- 825 :817です:2019/07/12(金) 16:34:53.01 ID:pm2ij2oX.net
- 各位レスありがとうございました
>>819 ソレ入れてみます。
ソースも晒そうかとしてましたが
どこでハングアップしてるのかダミー表示させてたどり着き
結局、
クリップボードの処理いれたら顕在化したという
別の部分がエンバグしていたオチでした orz
何かクリップボード使う作法でもあるのか?と思っていたのでQしたわけです。
AsTextより先にClipboard.Clear;
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
結果これは不要でした。
以下↓レスを書きこむ直前に↑脱したので遅くなりました
>818さん
(SSDで入れ替えXPの開発環境デスクトップと実行パソコン XPノート&XPモバイルとは別です)
ハングアップの具体的
・作ってる物(送り側 高bps GPSデータ1秒更新)Clipboard.AsText := 'String変数'; のアプリが>817 の挙動で反応しなくなり操作を受け付けなくなる。
・受け手ソフト(昔のナビ地図ソフト、デフォCOM In 4800bps / オプ Clipboard を)は反映も止るが動作は続けている。
・作ってる物(実行ファイル)を終了させるには[タスクマネージャ]から[アプリケーション]でなく[プロセス]から該当イメージ名を選んで[プロセスの終了]を行わないと終わらなくなる。
- 826 :デフォルトの名無しさん:2019/07/12(金) 20:44:56.01 ID:Mt2Dum22.net
- 読み手に情報が伝わらない書き方だなあ
2、3年後に自分で読んでみるといいよ
まあ関心ないからどうでもいいけど
- 827 :デフォルトの名無しさん:2019/07/14(日) 01:36:06.45 ID:xLSDSuj/.net
- RADStudioで指定できるまともなフォントないの?
https://i.imgur.com/DF2S9Si.jpg
https://i.imgur.com/FBhZpX7.jpg
- 828 :デフォルトの名無しさん:2019/07/14(日) 17:57:44.35 ID:RQcMGpwy.net
- >>827
他の環境(エディタ)だとちゃんと表示されるのに、って画像も提示してくれないと
そのフォントがそういうものなんだろ、としか思わない
- 829 :デフォルトの名無しさん:2019/07/14(日) 21:02:30.19 ID:AfMdaAZO.net
- TrueTypeじゃないフォント使ってるのか?としか思わんな
- 830 :デフォルトの名無しさん:2019/09/15(日) 07:02:41.90 ID:2jRAVw8s.net
- あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めたいんですけど
IDEの機能として可能でしたっけ?
- 831 :デフォルトの名無しさん:2019/09/15(日) 07:23:58.99 ID:AbznkVe7.net
- >>830
できる
- 832 :デフォルトの名無しさん:2019/09/16(月) 15:08:17.96 ID:nnMNLU6i.net
- 面倒だからフォルダごと圧縮比して保存しといた
- 833 :デフォルトの名無しさん:2019/09/21(土) 14:34:45.15 ID:gfJmTKeO.net
- 勿論な事だけど絶対パスとか注意
- 834 :デフォルトの名無しさん:2019/09/21(土) 15:21:04.87 ID:a27aqUZJ.net
- >>831
どうやってやるの?
- 835 :デフォルトの名無しさん:2019/09/21(土) 15:50:53.96 ID:ZIXe7ufx.net
- あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めてみろ
- 836 :デフォルトの名無しさん:2019/09/21(土) 23:17:52.31 ID:czYxzrrK.net
- そうすると、新しいフォルダのソースをいじっているつもりが、元のソースを変更してしまう。
*.dskファイルは消すこと。
- 837 :デフォルトの名無しさん:2019/09/21(土) 23:32:02.53 ID:iquo6Qc8.net
- >>830
できない
- 838 :デフォルトの名無しさん:2019/09/22(日) 19:31:31.99 ID:TKcBWrZD.net
- 丸っとコピーでプロジェクト系のファイルは修正すればいいよ
- 839 :デフォルトの名無しさん:2019/09/22(日) 21:18:02.00 ID:PEynJ+dQ.net
- 「プロジェクトのコピーを作成する」という機能が
発売20年以上経っても実装されてないとは信じられん
- 840 :デフォルトの名無しさん:2019/09/23(月) 11:30:02.95 ID:3qdqqJ07.net
- pythonでスクリプトでも書けば一発
- 841 :デフォルトの名無しさん:2019/09/25(水) 08:05:58.59 ID:Uo4jEa/c.net
- >>839
いらないからだよ。
- 842 :デフォルトの名無しさん:2019/09/25(水) 12:09:01.98 ID:lpIOIv3N.net
- >>839
Visual Studio にそういう機能ありますか?
- 843 :デフォルトの名無しさん:2019/09/25(水) 15:48:30.01 ID:OW+fPjNy.net
- いや、要るだろ普通に 別バージョンとか作りたいときに
*.dsk消せば済むことだけど標準機能であればそれに越したことはない
VSは使ったことないから知らん
- 844 :デフォルトの名無しさん:2019/09/25(水) 16:33:22.57 ID:VxOhHjIL.net
- てか初心者がプロジェクトの別名保存を誤解して
大変なことになりそう
自分もそうだったけどね
- 845 :デフォルトの名無しさん:2019/09/25(水) 22:08:28.34 ID:cw/6a5eO.net
- >>830
D6 D7 だけど、(絶対パスがなければ)できる。
普段はプロジェクトとソースを保存するときの「名前を付けて保存」で
デフォルトのセーブ先から別のドライブのフォルダに指定してる。
そうするとプロジェクト毎のソースがフォルダ別に整理できる。
同じ系統のプログラム作成はベース部分まで作っておいて保存、
新規フォルダにコピーでクローンしてスタート。
現プロジェクト中に「名前を付けて保存」で対象移動先にセーブしてみたらどうですか?
この際の注意点として、
プロジェクトの保存だけでは足りない、ソースなどの保存の2回保存作業が必要。
始動は移動先のプロジェクトを指定する。
その後は全保存の1回で使えてる。
試す前にコピーで戻せるようにはしておくことです。
- 846 :デフォルトの名無しさん:2019/09/26(木) 06:36:59.16 ID:XqflkBue.net
- >>845
そんな手間かけるならエクスプローラでコピーすればいいだろ
- 847 :デフォルトの名無しさん:2019/09/26(木) 16:30:40.39 ID:IfndknF+.net
- >>846
>>836を防ぐため
- 848 :デフォルトの名無しさん:2019/09/27(金) 07:51:52.34 ID:rPuRGMpg.net
- 各ファイルの役割をきちんと覚えること。
それができなくてプログラマーとか笑うしかない。
変な自動機能があるとその基本を忘れがちになる。
- 849 :デフォルトの名無しさん:2019/09/27(金) 08:17:47.22 ID:KklKnzXk.net
- デスクトップ保存なんてしないからdskなんてできたことないわ
便利なのかあれ
- 850 :デフォルトの名無しさん:2019/09/27(金) 11:49:01.01 ID:oLJPEcmZ.net
- >>848
ほんそれ
https://code-examples.net/ja/q/847e26
- 851 :デフォルトの名無しさん:2019/09/27(金) 16:59:40.30 ID:foryHhOm.net
- 今時使用言語は数個、開発環境も数種類さらにクラウドやら覚えることもりだくさん。
delphiしか触ってないなら、delphiの各ファイルの役割ぐらい覚えられるだろうが
- 852 :デフォルトの名無しさん:2019/09/27(金) 17:31:01.27 ID:lSkgbLDU.net
- 848ってすごく偉そうだけど、偉い人なんですか?
- 853 :デフォルトの名無しさん:2019/09/27(金) 17:44:52.22 ID:7QNtDU/z.net
- みんな初心者に厳しいな
- 854 :デフォルトの名無しさん:2019/09/27(金) 21:16:55.01 ID:swY7XTEk.net
- 皆、自称初心者のプロが作ったスパゲッティウンコに悩まされてきたからな
- 855 :デフォルトの名無しさん:2019/09/27(金) 23:00:19.44 ID:miVHoQrZ.net
- まぁ、日本じゃMVPがあの程度の低能だからな
- 856 :848:2019/09/28(土) 08:02:41.58 ID:xbQ4upm/.net
- >>851
だからさ、覚えるとかそういうことじゃない。
各ファイルの役割をきちんと知らないと
プログラマー生命そのものがあやうくなるんだって。
話題の dsk ファイルのはまったく要らない子だってことを知るのもそのひとつ。
例えばオープンソースに dsk ファイル含めて公開しちゃうと
パス名から身バレしちゃったりするリスクもあるわけよ。
言語によらず、プログラマ名乗るならそういうのに敏感になれということ。
- 857 :デフォルトの名無しさん:2019/09/28(土) 10:31:39.10 ID:VM/fe2sP.net
- MySQLやSQLiteをやろうとして挫折した人間です。
BDEというか、ParadoxのかわりにClientDatasetを使おうと思うんだけど、
設計時にDBコンポで表示できて便利だし、使ってる人いませんか?
.xmlファイルに書き出せるフィールドタイプに制限があるけど、それ以外は
TTableと同じように使える感じ
- 858 :デフォルトの名無しさん:2019/09/28(土) 10:50:32.92 ID:+WjqjUuO.net
- >>857
CDSやFDMemTableは普通に使われてるかと?
- 859 :デフォルトの名無しさん:2019/09/28(土) 12:10:53.41 ID:98P9Jt4Z.net
- え?
delphiの各ファイルの役割をきちんと知らないと、プログラマー生命そのものが
危うくなっちゃうんですか???
そ、それはヤバイなぁ!
(か・・・片腹痛てぇ・・・中学生?)
- 860 :デフォルトの名無しさん:2019/09/28(土) 12:42:06.93 ID:lDFhrhsD.net
- >>857
ふつうにカジュアルに使てるで
CDSは、ランタイムであるmidas.dllを同梱するか、MidasLibをどこかのソースファイルでusesに加えてあげる必要ありなので、TfdMemTableの方が楽なイメージ。
(古いシステムのお守りでCDS使うことの方が多いけど)
- 861 :デフォルトの名無しさん:2019/09/28(土) 12:44:04.73 ID:lDFhrhsD.net
- >>857
インメモリDBとして使用してるから、xmlの書き出しについてはよくわかりません。
- 862 :デフォルトの名無しさん:2019/09/28(土) 14:56:11.24 ID:jekZgFRJ.net
- >>856
趣味でマターリやってる日曜プログラマに
そこまでの責務を負わされたら趣味じゃなくなってしまうんですが
- 863 :デフォルトの名無しさん:2019/09/28(土) 15:00:56.96 ID:Fp/VMyF1.net
- >>860
確かmidas.dllは静的リンクできるはず
- 864 :デフォルトの名無しさん:2019/09/28(土) 15:09:36.10 ID:VM/fe2sP.net
- midas.dllは無料版では同梱不可?
といっても買ったD6でやるので、だいじょうぶだけど。
静的リンクって、exe一体化もできるということ?
- 865 :デフォルトの名無しさん:2019/09/28(土) 15:21:57.63 ID:Fp/VMyF1.net
- >>864
そそ、uses MIDASLIB; でEXEの中に入る
- 866 :デフォルトの名無しさん:2019/09/28(土) 15:41:37.90 ID:VM/fe2sP.net
- D6でも出来ました
ちなみに .xml に保存だと、他で流用するのが楽かもしれないなあと
- 867 :デフォルトの名無しさん:2019/09/28(土) 22:03:23.25 ID:VM/fe2sP.net
- xmlで保存するとcdsの3倍に膨れるので、普段は.cdsでやるようですね。
- 868 :848:2019/09/29(日) 08:47:47.40 ID:3jPOw8Yu.net
- >>862
中学生か?とか、日曜プログラマなんで、とかで
現実逃避してんじゃないよまったく。
だから何をやってもだめなんだよおまえは。
少しはラグビー選手を見習えよ。
- 869 :デフォルトの名無しさん:2019/09/29(日) 09:34:06.88 ID:eilyQrmI.net
- 中学生が日曜にいじってるチクビー選手が何だって?
- 870 :デフォルトの名無しさん:2019/09/29(日) 10:44:05.25 ID:ZdWVwqu8.net
- ラグビーどこから出てきたw
- 871 :デフォルトの名無しさん:2019/09/29(日) 15:05:35.94 ID:waqB6WCo.net
- ラグビーとか何の興味も無いわw
どっかで何か大会でもやってんの?
- 872 :デフォルトの名無しさん:2019/09/29(日) 15:52:25.82 ID:s9l7tbgO.net
- >>868
いや日曜プログラマとか趣味の世界だから
現実逃避してもいいんだよ
趣味ってそういうもんでしょ
- 873 :デフォルトの名無しさん:2019/09/29(日) 16:50:11.27 ID:mdCYdpYZ.net
- 趣味ならどんなやり方でも何でもやればいい
仕事の規約みたいなの押し付けてくるの嫌い
ビジネス系と分けた方が良いんじゃないかと時折思うけど
ビジネス板ってそういうじゃないんだよね?
- 874 :848:2019/09/30(月) 07:30:37.66 ID:Xp0HZa25.net
- 超初心者用スレだった。
悪かった。今は反省している。
- 875 :デフォルトの名無しさん:2019/09/30(月) 20:17:14.33 ID:ZxnjErQn.net
- >>874
おまいが本物の848だとは思えない
- 876 :デフォルトの名無しさん:2019/10/24(木) 06:33:27.26 ID:C+cXuXRZ.net
- D6を使っている初心者なんですが、ローカルファイルで使うTClientDatasetでは
SQL文を使ってなにかすることってできないのでしょうか?
Filterプロパティとか、項目リンクでやる?
あと、トランザクションも無い?
- 877 :デフォルトの名無しさん:2019/10/24(木) 20:26:47.73 ID:JmFaqgCP.net
- >>876
できない
Yes
ない
- 878 :デフォルトの名無しさん:2019/10/28(月) 16:38:14.34 ID:1rTfV6b0.net
- 以前Delohi7 は 使ってました
今回 Win10にして DelphiXE3の中古を買いました
いきなりつまずいて dclusr.dpk のインストールができません
C:\Program Files (x86) 以下への書き込み権限がないのが理由のようです
Win10へのXE3のセットアップで こつのようなものが有りましたら教えてください
- 879 :デフォルトの名無しさん:2019/10/28(月) 18:30:23.79 ID:Knk7VVe1.net
- >>878
インストーラを「管理者として実行」すれば良いと思う
- 880 :デフォルトの名無しさん:2019/10/28(月) 21:22:05.93 ID:1rTfV6b0.net
- ありがとうございます
正しいのかは解りませんが
bds.exe のプロパティを 「管理者権限で実行」 にしたら
とりあえず うまくいってます
- 881 :デフォルトの名無しさん:2019/10/30(水) 08:11:55.65 ID:W/c+8tx6.net
- 管理者権限が必要なフォルダにちゃんとファイルが入ったかな?
できればアンインストールしてから再度管理者権限でインストールし直した方がいいと思うよ
- 882 :デフォルトの名無しさん:2019/11/05(火) 01:33:09.38 ID:RmI3r0pW.net
- CE10.3+Update2のライセンスがあと21日で切れると言われたんだけど
一旦アンインストールして10.3.2入れ直せばいいの?
10.4リリース前にライセンス切れ起こされても困る
- 883 :デフォルトの名無しさん:2019/11/15(金) 16:21:19.78 ID:VW/VrmE3.net
- https://forest.watch.impress.co.jp/docs/news/1133620.html
みんな、伝説のデルファイさんが
ついに公開されたぞw
- 884 :デフォルトの名無しさん:2019/11/15(金) 16:49:00.43 ID:NLCWqdB7.net
- 何年前のニュースよ
- 885 :デフォルトの名無しさん:2019/11/15(金) 18:34:56.28 ID:VW/VrmE3.net
- 誤爆w
- 886 :デフォルトの名無しさん:2019/11/15(金) 23:16:36.91 ID:/yBuhf/V.net
- でるほいでるほい。
- 887 :デフォルトの名無しさん:2019/11/15(金) 23:51:49.26 ID:AquHepuk.net
- https://mevius.5ch.net/test/read.cgi/tech/1532750539/
の次スレ立ててそこでヤレ
- 888 :デフォルトの名無しさん:2019/11/17(日) 12:24:40.53 ID:oO0v8f+d.net
- 今Delphiを勉強しています。
使っている本は日経BPのカンタンDelphiプログラミングです
24ページの
SchFile := ChangeFileWxt(Application.Exename, '*.txt';
でどうしてもSchFileのところで赤波線が出てしまいます。
現在生きているDelphiでどう治せばいいのか調べていますが
これだけは出てきません。
ご存じの方教えていただけないでしょうか?
- 889 :デフォルトの名無しさん:2019/11/17(日) 12:40:56.92 ID:qohtSdnJ.net
- >>888
ChangeFileWxtがTypo
ChangeFileExtが正解
- 890 :デフォルトの名無しさん:2019/11/17(日) 12:41:13.55 ID:qohtSdnJ.net
- >>888
ChangeFileWxtがTypo
ChangeFileExtが正解
- 891 :デフォルトの名無しさん:2019/11/17(日) 12:41:48.10 ID:qohtSdnJ.net
- Timeoutエラーで再投稿選んだら2重になった(´・ω・`)
- 892 :デフォルトの名無しさん:2019/11/17(日) 12:44:48.48 ID:X9AhIAwA.net
- 優しすぎ
- 893 :デフォルトの名無しさん:2019/11/17(日) 23:07:10.86 ID:r8gTgqCf.net
- そこらへんの関数は古いので実戦ではTPath使っとけ
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath.ChangeExtension
- 894 :デフォルトの名無しさん:2019/11/18(月) 06:59:08.44 ID:ivxwgLiy.net
- >>888
セミコロン前に)も足りない
- 895 :デフォルトの名無しさん:2019/11/18(月) 17:52:09.30 ID:F3ZpdG4d.net
- >>893
関係ないけどIOutilsとShapeにTPathの名前空間設定してるってほんと
- 896 :デフォルトの名無しさん:2019/11/18(月) 20:00:11.12 ID:cegJQRwO.net
- >>895
こいつらのことか?
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath
http://docwiki.embarcadero.com/Libraries/Rio/ja/FMX.Objects.TPath
- 897 :デフォルトの名無しさん:2019/11/25(月) 00:41:39.58 ID:3JL19Dun.net
- delphicbuilder10_3_3*_isoってどこにあるの?
- 898 :デフォルトの名無しさん:2019/11/25(月) 13:32:01.77 ID:/TKXypzi.net
- >>897
edn
- 899 :デフォルトの名無しさん:2019/11/25(月) 19:02:35.06 ID:xAqc66Cz.net
- isoだとなんかメリットあるの?いつもexeのほうでインストールしてるけど…
- 900 :デフォルトの名無しさん:2019/11/25(月) 20:28:51.05 ID:/TKXypzi.net
- >>899
レジストリの仕様がWebとISOで(何故か)違うから一回インストールしたらずっとそっちを使わないと不具合出る
- 901 :デフォルトの名無しさん:2019/11/26(火) 00:16:02 ID:0xdcR0pZ.net
- エンバカのインストーラーって昔から何かに付け問題起こすよなあ
- 902 :デフォルトの名無しさん:2019/11/26(火) 09:39:02.59 ID:c3SEnPpX.net
- VSのトラブルの方が多い
- 903 :デフォルトの名無しさん:2019/11/26(火) 22:39:22.51 ID:E5VH4GlY.net
- 黒金特売
https://www.packtpub.com/catalogsearch/result/?q=Delphi&product_type_filter=Book
- 904 :デフォルトの名無しさん:2019/11/26(火) 23:35:25.93 ID:f8AM92bW.net
- WindowsUpdateの方が多い
- 905 :デフォルトの名無しさん:2019/11/27(水) 20:23:49.45 ID:E4Y5rsTJ.net
- community使ってんだけど
事前に10.3.2アンインストールしたほうがいい?
- 906 :デフォルトの名無しさん:2019/11/27(水) 20:27:20.56 ID:DH1+L8h0.net
- >>905
Yes
- 907 :デフォルトの名無しさん:2019/11/27(水) 21:18:59.15 ID:E4Y5rsTJ.net
- >>906
ありがと
- 908 :デフォルトの名無しさん:2019/11/30(土) 00:08:22.61 ID:djtdsJmt.net
- Black Friday discounts from Delphi related third party vendors
https://www.ideasawakened.com/post/black-friday-discounts-from-delphi-related-third-party-vendors
- 909 :デフォルトの名無しさん:2019/11/30(土) 20:55:58.53 ID:QuZ7D6yA.net
- また新たなバグかよ
まったく安定しないな
- 910 :デフォルトの名無しさん:2019/12/01(日) 16:54:20.10 ID:xsp+dk7g.net
- CnPack-Options-Editor Enhancements-Othersにフリーカーソル無効化機能あんのか
- 911 :デフォルトの名無しさん:2019/12/05(Thu) 09:41:30 ID:dexY8qQm.net
- // 渡した引数をとにかくJsonObjectに変換する
class function TJsonUtil.ToJsonObject<T>(AValue: T): TJsonObject;
begin
// AValueをTValueに変換
var v := TValue.From<T>(AValue);
Result := TJsonObject.Create;
// todo: Resultにvをセットしたい
end;
ってどうやって実装すれば良いんでしょうか?
TConverter = class
FValue: TValue;
end;
を噛ませればObjectToJsonObjectできるんですができれば直接やりたいです
使用例
ToJsonObject(123) // int
ToJsonObject(RegexpResult) // record
ToJsonObject(Form1) // object
- 912 :デフォルトの名無しさん:2019/12/15(日) 19:14:51.23 ID:Erl1x9YI.net
- Delphi 10.3.3 Community Edition インストールできたのですが
GetItから、Konopkaと Radiant Shapesを インストールしてみました。
この時のコンポーネントパレットの数は65です、
ここで、新規作成で Windows VCL アプリケーション作成すると
コンポーネントパレットの数は49に減少します。
減った分16にはRadiant ShapesやTeeChartLite等々が含まれます。
これは このバージョンには適合しないコンポーネント、ということなのでしょうか?
- 913 :デフォルトの名無しさん:2019/12/15(日) 19:30:14.10 ID:Erl1x9YI.net
- 訂正
×ここで、新規作成で Windows VCL アプリケーション作成すると
〇ここで、新規作成で Windows VCL アプリケーションを立ち上げると
- 914 :912:2019/12/16(月) 12:36:00.90 ID:ttWgB5Qq.net
- 解決
消えたのは マルチデバイス アプリ用のコンポーネントでした。
でもRadiant Shapesのコンポーネントアイコンが全部同じなのを何とかしてほしい。
- 915 :デフォルトの名無しさん:2019/12/16(月) 17:25:45.47 ID:imI0kE/x.net
- ついていけません
- 916 :デフォルトの名無しさん:2019/12/21(土) 16:34:19.99 ID:7JUwe78b.net
- 「ライセンス有効期限切れの事前通知」ダイアログが出たので
「新しいCommnunity Editionライセンスを要求」をクリックしたのですが
開いたページにそれらしい項目が見当たりません。
どうすればよいのでしょうか。
- 917 :デフォルトの名無しさん:2019/12/21(土) 16:41:43.91 ID:7JUwe78b.net
- すいません、解決しました。
DL時にメールが来ていてそこにシリアルがついていましたので
「ライセンスの操作」→「登録」でこのシリアルを入力して解決しました。
- 918 :デフォルトの名無しさん:2019/12/24(火) 21:17:41.79 ID:qlVCJ4TF.net
- TeeChart をいろいろ調べてるんですが、例えば .NET の Chart コントロールにある
ChartAreas コレクションみたいにグラフを増やすことはできない?
素直に複数の TeeChart を貼るしかないのかな。
- 919 :デフォルトの名無しさん:2019/12/28(土) 11:10:32.35 ID:7thx4FXN.net
- http://docwiki.embarcadero.com/images/RADStudio/Rio/j/b/b5/ObjInspKH.png
オブジェクトインスペクタのフィルターボックスで絞り込んだあとに
キーボード操作で通常のグリッド部分にフォーカス移す方法ないですか?
- 920 :デフォルトの名無しさん:2019/12/28(土) 19:57:46.28 ID:D0v0zeIX.net
- Embarcaスレもうないの?
- 921 :デフォルトの名無しさん:2019/12/28(土) 20:22:02.42 ID:VAO6wyfS.net
- >>920
まぁ日本じゃMVPがあのキモ男だからな
- 922 :デフォルトの名無しさん:2019/12/30(月) 23:16:18.53 ID:6qINtcSB.net
- isoが7GBでそっ閉じ
- 923 :デフォルトの名無しさん:2019/12/30(月) 23:20:18.80 ID:1fsbbQSB.net
- >>920
無い
立たない
- 924 :デフォルトの名無しさん:2020/01/02(木) 22:17:53.37 ID:hpdfwBfI.net
- もうここがDlephi総合スレって事でいいのかな
- 925 :デフォルトの名無しさん:2020/01/03(金) 19:06:59.37 ID:kIqS3g14.net
- 営業担当がどんどんやめてく...
ttps://twitter.com/IchihanaMiwa/status/1213026105281540096
(deleted an unsolicited ad)
- 926 :デフォルトの名無しさん:2020/01/05(日) 14:48:06.25 ID:6XuBW/ld.net
- IDE Fix Pack作ってた人、どうしちゃったのかなー
- 927 :デフォルトの名無しさん:2020/01/05(日) 18:31:46.11 ID:BIrlwOVT.net
- IDE Fix Pack って、ほんとに効果ある?
- 928 :デフォルトの名無しさん:2020/01/07(火) 06:13:17.60 ID:ysLsWKuo.net
- >IDE Fix Pack って、ほんとに効果ある?
たぶん無い。少なくとも俺の環境では効果がない。
けど悪くもならないのでまぁお守り扱いで使っている。
- 929 :デフォルトの名無しさん:2020/01/07(火) 21:35:30 ID:AWOylPKB.net
- 型推論のインライン変数書くと、ビルドは通るのにエディタではエラー表示になる。なんでや。
- 930 :デフォルトの名無しさん:2020/01/07(火) 22:22:30.36 ID:Bkg1oNr5.net
- >>929
エディタのエラーインサイト(だったかな?)が対応していないから
エラーインサイトを切ればエラー表示はされなくなるけどいつ直るんだろうね?
- 931 :デフォルトの名無しさん:2020/01/07(火) 22:34:45.15 ID:x2MzGoUT.net
- >>930
Castaliaいじれる技術者まだ残ってるのかが心配
- 932 :デフォルトの名無しさん:2020/01/08(水) 21:19:31.57 ID:wLTYkb+a.net
- >>930
マジか。そんな状態でリリースするとは、なかなかやりおる。
直るまでインライン変数とかはやめておこう。
- 933 :デフォルトの名無しさん:2020/01/08(水) 22:21:01.82 ID:MEH3hyXq.net
- >>932
10.3のときにインライン変数が実装されたのに、10.3Release1、Release2、Release3ときて
いっこうに直ってないからな。 10.4で直るかどうかも危ぶまれる
- 934 :デフォルトの名無しさん:2020/01/20(月) 13:50:17 ID:YpnY3DBw.net
- CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
- 935 :にゃんこちゃん:2020/01/23(木) 12:18:56.18 ID:N+B8js5bQ
- 嬉し恥ずかしド素人です^^
delphiで簡単な画像を描いて、JW_CADに読み込ませたいです。
とりあえず、Form1のイベントでonpaintをformpaintにすればcanvasが使えるのはわかりました。
それでline.toを使って画像はできました。
問題は、それをどうやってJW_CADに読み込ませればいいのでしょう?
あたま、こんぐらがってます。
- 936 :デフォルトの名無しさん:2020/01/28(火) 17:15:20 ID:jA3HtLr3.net
- >CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
インストーラーにマルウェアもどきが入っているので、ファイルを展開して自分でインストールするべき。
あと、日本語関係ドライバが入っていないから日本語ソートはできないよ
- 937 :デフォルトの名無しさん:2020/01/30(Thu) 19:19:48 ID:idED7zVd.net
- そうなんだありがとう
地道にfiredacに置き換えますわ
- 938 :デフォルトの名無しさん:2020/01/31(金) 10:44:06.52 ID:Y9q94Xhy.net
- メモリリークを内蔵のFastMMでチェックしたらUnicodeStringやUnknownでリーク発生というよく分からない表示がされたので、
FastMM4のフルデバッグモードでチェックしたところこんなログが出ましたが、ソースのどこでリークしてるのかさっぱり不明で困ってます
どのpasファイルの何行目とか出ない場合のリークはどこを修正したらよいのでしょうか?
A memory block has been leaked. The size is: 36
This block was allocated by thread 0x51BC, and the stack trace (return addresses) at the time was:
4070F2
40C0EE
708321 [Unknown function at TMethodImplementationIntercept]
77276DF3 [Unknown function at GetThreadDesktop]
77276E44 [Unknown function at GetThreadDesktop]
77BFF8FA [ZwCallbackReturn]
77276E57 [Unknown function at GetThreadDesktop]
77BF011A [KiUserCallbackDispatcher]
77280E28 [ShowWindow]
62A6A9 [Unknown function at TMethodImplementationIntercept]
62A81C [Unknown function at TMethodImplementationIntercept]
The block is currently used for an object of class: Unknown
- 939 :デフォルトの名無しさん:2020/02/03(月) 09:42:44.84 ID:ZUQl5IjM.net
- サブスクリプションって更新してる?
社内用プログラムの修正でたまに使う程度なので
年10万はちょっとなぁ・・・
- 940 :デフォルトの名無しさん:2020/02/04(火) 07:28:16 ID:6U67LbmC.net
- TMS のWeb Coreってのを最近見つけた。
Intrawebと同じくpascal→JavaScriptみたいなんだけどかなり完成度は高い
気軽にDelphi+PascalベースでWebアプリを創りたいときにはいいよ、コンポーネントも自作できるみたいだし
サブスクリプションは入ってませんよ
新規機能を必要としない、ちょっとした改修メインならあまり必要はないんじゃないかな?
法人ベースなら10万ははした金だけど、生きたお金とも言えないんで払わないようにしてる
- 941 :デフォルトの名無しさん:2020/02/04(火) 20:30:44 ID:u9fAPblT.net
- 大政翼賛イベント、終わり。
斜陽の会社と製品買うのはいいけど、買うだけで統合とかシナジーとかできないよなぁ。
元技術者たちが全員いなくなった sencha なんかどうするきだろう
- 942 :デフォルトの名無しさん:2020/02/05(水) 20:51:12 ID:gyQe6DwW.net
- >>938
自分もちょっとメモリーリークで悩んでるんだけど
delphi versionとかvcl/fmx とか少し情報もらえる?
- 943 :デフォルトの名無しさん:2020/02/05(水) 21:24:09.71 ID:UTgGnF3M.net
- >>942
Delphi10.3.3でVCLアプリです
手がかり求めて海外のフォーラム情報を調べたら.MAPまたは.TDSファイルを作成するとより詳しく調べられるらしいです
- 944 :デフォルトの名無しさん:2020/02/05(水) 21:36:45 ID:UTgGnF3M.net
- というわけでプロジェクトのオプションのコンパイル→リンカでマップやTDSを有効にするとより詳しく調べられました
- 945 :デフォルトの名無しさん:2020/02/06(Thu) 10:26:40 ID:wF1qF0nM.net
- D7で作ったプログラムをD10に移行中ですがDBGRIDのカラムタイトルの色が変更できません
プロパティで何を指定しても白のままです
どうしたらいいのでしょうか
- 946 :デフォルトの名無しさん:2020/02/06(Thu) 13:43:22 ID:GZVea8mu.net
- >>945
FixedColorの2つ上にDrawingStyleというのがある
- 947 :デフォルトの名無しさん:2020/02/06(木) 16:27:26.83 ID:wF1qF0nM.net
- >>946
ありがとうございます
変更できました
- 948 :デフォルトの名無しさん:2020/02/13(Thu) 06:28:37 ID:vBflwVQp.net
- D6からアップデートしてないユーザーなんだけど、いろいろ古すぎて苦しい。
C#は多少いじれるようになった。
RDBはいじらない、ネットから情報を取ってきたり、お絵かきプログラム中心。
新しいプロジェクトを始めるのに C#と、Tokyo? Berlin?やりだすのとどっちが楽だろうか
- 949 :デフォルトの名無しさん:2020/02/13(木) 07:53:08.45 ID:AuZ/W2H1.net
- 全く新しくていいなら C# だな。
Delphi は時代に追従しきれていない感じ。がんばってはいるけど。
自分も遊びでは Delphi 使ってる。
- 950 :デフォルトの名無しさん:2020/02/13(木) 21:47:53.63 ID:EdFxkN9G.net
- >>948
Lazarus
- 951 :デフォルトの名無しさん:2020/02/13(木) 22:02:38.27 ID:nW/OuvCI.net
- FreePascalの次のリリースはジェネリクスがDelphi互換になってますますDelphiに近くなるよ
去年中にリリースと言われて現在もまだリリースされてないけど
- 952 :デフォルトの名無しさん:2020/02/14(金) 06:49:48 ID:ZmXO4tiK.net
- >>948
間違いなくC#
余裕があるならdelphiやりなされ
- 953 :デフォルトの名無しさん:2020/02/14(金) 10:38:29.59 ID:cah/hEJW.net
- 開発環境が数GBダウンロード必須って
ハナから無理
- 954 :デフォルトの名無しさん:2020/02/14(金) 12:07:08 ID:a5iC3cHy.net
- C#って見かけは小さいけど
環境は馬鹿みたいにデカすぎる
- 955 :デフォルトの名無しさん:2020/02/14(金) 19:10:57 ID:H2ERqwMc.net
- >>954
プリインストール済みの.Net Frameworkとメモ帳で開発コストゼロや!
- 956 :デフォルトの名無しさん:2020/02/14(金) 20:21:05 ID:7pjvoPX7.net
- Delphi の方が重いと思うがなあ。
- 957 :デフォルトの名無しさん:2020/02/15(土) 09:46:15 ID:lW8gbEk5.net
- Indy10のhttpsで使うdllが最新版に入れ替わっちゃうとおかしくなる不具合ではまり。
2018年ごろのやつに差換えたら動くようになった。
TLS1.2まではいけるからしばらくは持ちこたえられそう
- 958 :デフォルトの名無しさん:2020/02/15(土) 10:25:19 ID:abNW28Cg.net
- >>957
Delphiのバージョンがいくつか、何に使ってるかわからんけどもTNetHttp系に差し替えを検討したら?
- 959 :デフォルトの名無しさん:2020/02/15(土) 11:23:33 ID:4O69sBWU.net
- >>957
それって既知の問題としてどこかに書かれてる?
公開してるアプリでは問題は起こってないけど
何らかの条件があるんだろうか?
- 960 :デフォルトの名無しさん:2020/02/15(土) 12:38:24 ID:qtyOJHsa.net
- Indy10ってまだ10.3に対応してなかったような
対応版でたの?
- 961 :デフォルトの名無しさん:2020/02/15(土) 21:35:37.58 ID:CqCEJ0Fs.net
- Rioでdebug releaseのモード切り替えると固まるのは俺だけ?
- 962 :デフォルトの名無しさん:2020/02/15(土) 21:47:54 ID:4O69sBWU.net
- >>960
Indy10がRioに対応してるかってこと?
Rioに付属してるIndyは10.6だよ?
- 963 :デフォルトの名無しさん:2020/02/15(土) 22:01:01.91 ID:qtyOJHsa.net
- >>962
そうだったのか
付属のはもっと古いバージョンかと思ってた
- 964 :デフォルトの名無しさん:2020/02/16(日) 10:30:31.87 ID:u9eNlzbF.net
- どの「コミュニティ」に行っても、同じ人たちしかいないのって、よーするに人材枯渇かね?
- 965 :デフォルトの名無しさん:2020/02/16(日) 10:53:29.32 ID:ajhowdAH.net
- まぁ日本じゃMVPがあのキモさだからな
- 966 :デフォルトの名無しさん:2020/02/18(火) 17:22:10.12 ID:Fy87CGLW.net
- >>957
IOHandler.SSLOptions.Method := sslvSSLv23;
で、dllが持ってる強度の高い方から順に試すんじゃなかったっけ
関係なかったらゴメン
- 967 :デフォルトの名無しさん:2020/02/22(土) 07:52:44.80 ID:jMTU79N4.net
- quickreporteって昔みたく標準でついてないのね
皆さん印刷とかどうやってるの
- 968 :デフォルトの名無しさん:2020/02/22(土) 14:04:02.92 ID:61rJN/k0.net
- >>967
FastReportが今の標準添付の印刷コンポーネント
- 969 :デフォルトの名無しさん:2020/02/26(水) 17:54:06.74 ID:KqbM6wtj.net
- そろそろ次のスレを立てないとね
- 970 :デフォルトの名無しさん:2020/02/26(水) 22:14:57.47 ID:TEAnrnJR.net
- 総合スレは・・・まだいいか
- 971 :◆JAVA/drQNg :2020/03/01(日) 18:42:38 ID:zM73AfEv.net
- https://www.hellowork.mhlw.go.jp/kensaku/GECA110010.do?screenId=GECA110010&action=dispDetailBtn&kJNo=1301023906401&kJKbn=1&jGSHNo=Yl0LGUJlwstE%2F%2BqkjXcR2Q%3D%3D&fullPart=1&iNFTeikyoRiyoDtiID=&kSNo=&newArrived=&tatZngy=1&shogaiKbn=0
職種
Delphiプログラマー(PG)
仕事内容
(業務内容)以下の開発を行います。
(例)
・業務パッケージ製品の開発
・業務システム開発
・C/S系システム開発
OS:windows
DB:oracle
※Delphiの知識
- 972 :デフォルトの名無しさん:2020/03/01(日) 18:46:43 ID:wt4aL9gq.net
- >>971
東京はとおいよ〜
- 973 :デフォルトの名無しさん:2020/03/02(月) 11:22:02.02 ID:glnmwhpK.net
- 東京は人が多いだけで済みにくい
感染しやすい
土地高い
物価高い
タクシー止まらない
- 974 :デフォルトの名無しさん:2020/03/03(火) 20:00:31 ID:ottIIFYY.net
- >タクシー止まらない
雨の日とかは別だけどこれはないんじゃないか
むしろ地方のほうが流しとかないから駅前か呼び出しだろ
- 975 :デフォルトの名無しさん:2020/03/03(火) 22:12:22.77 ID:lgJdJP/z.net
- タクシーも客を選ぶからね
- 976 :デフォルトの名無しさん:2020/03/04(水) 06:28:10.42 ID:+a0OpeoU.net
- 10.3.3のGetItでCodeSiteがインストールできない…
どうすりゃいいの?
https://i.imgur.com/T8TQIEN.jpg
- 977 :デフォルトの名無しさん:2020/03/04(水) 10:27:13 ID:hHbt2ovK.net
- >>974
地方だと「タクシー通らない」だな
>>975
わろす
- 978 :デフォルトの名無しさん:2020/03/05(木) 20:49:33.10 ID:qVbpyIXi.net
- FMXでDebugHookを使うと
「特定のプラットフォームに固有」と出るんだけど
特定のプラットフォームってWindows以外でどれ?
検索するとMacOSではダメだったって
- 979 :デフォルトの名無しさん:2020/03/06(金) 23:16:35 ID:i1sIlXFK.net
- 質問です。Delphi 2007からアップデートしなくても、新しい技術を使っていなければ、
たいていWindows 10できちんと動きますよね?
(2009以降の文字列まわりが理解できていません)
Delphi 2007からアップデートする場合、Delphi 2009にしてから、新しいものにした方がいいんでしたっけ?
それとも直接10.3とかに読み込んでもいいんでしたっけ?
- 980 :デフォルトの名無しさん:2020/03/07(土) 00:48:31 ID:GTOLdhcV.net
- Windows10なら全部同じと思うような馬鹿は死ねよ
- 981 :デフォルトの名無しさん:2020/03/07(土) 00:49:34.19 ID:c6Inby5m.net
- >>979
使う命令時代ですね
delphi5で作ったものも
普通にwindow10で動きますよ
- 982 :デフォルトの名無しさん:2020/03/07(土) 08:57:40 ID:qF4QD93A.net
- Delphi6はwin10にインストールすら拒否されたが
- 983 :デフォルトの名無しさん:2020/03/07(土) 09:14:59.31 ID:Uy9cEyCw.net
- はぁ? Win10にD6入れて何台も使っているぞ
- 984 :978:2020/03/07(土) 10:30:17.09 ID:u9TLT7km.net
- みなさんありがとうございます。
私の範囲では使えそうなので安心しました。さすがDelphiですね。
- 985 :デフォルトの名無しさん:2020/03/07(土) 10:47:40.54 ID:fhFabl+2.net
- さすがDelphiと言うより、さすがWindowsでは?
- 986 :デフォルトの名無しさん:2020/03/07(土) 12:32:37.05 ID:3ScJp+cW.net
- 新しい技術つかってないから動かない場合もあるだろうけどねAPIとか
何もしなくても動くなんてHelloWorldのサンプルぐらいじゃないか
- 987 :デフォルトの名無しさん:2020/03/07(土) 13:40:58 ID:mdASUqdC.net
- >>984
馬鹿は死ね
- 988 :デフォルトの名無しさん:2020/03/07(土) 15:43:00 ID:vg1Dq2A8.net
- app tetheringがまったく動かないんだが
付属やネット上のサンプルのどれもダメだった
firwall関係かねぇ
ただWidowsのクリップボードを監視して
macのクリップボードにコピーしたいだけなんだが
- 989 :デフォルトの名無しさん:2020/03/07(土) 17:09:27 ID:u9TLT7km.net
- >>985 昔からDelphiはWindowsであれば環境によらず動いてくれるという印象があったもので。。。
>>987 たしかに私はDelphi 2009以降の文字列の扱いを覚えようとしないバカかもしれません。
私だってこれからたくさんDelphi使うなら覚えますが、昔のプログラムのメンテしか使う予定がないですし2007までのライセンスしかないので。
- 990 :デフォルトの名無しさん:2020/03/07(土) 17:34:39 ID:u9TLT7km.net
- 10.3のCommunity Editionのライセンス条項を見たら、他の収入と合わせて$5000を超えてたら除外されるっていう理解で正しいですか?
さすがに他の収入と合わせて$5000を超えてなかったら食べていけません。
数年前のCommunity Editionのときはもっとゆるかった記憶があります。
- 991 :デフォルトの名無しさん:2020/03/07(土) 18:37:25.19 ID:RZgTMQsN.net
- Embarcaderoからメール来た
C++2017の電子本が無料らしい
- 992 :デフォルトの名無しさん:2020/03/07(土) 19:42:10.94 ID:FYTe5U5h.net
- >>989
そうじゃない
Windows10と一括りにしてることを馬鹿だと指摘してる
- 993 :デフォルトの名無しさん:2020/03/08(日) 02:41:14.63 ID:uqevG+QX.net
- >>992
元の978呼んだが、そこに引っかかるとはww
しかも質問スレで質問しただけなのに何度も「死ね」はないだろ
- 994 :デフォルトの名無しさん:2020/03/08(日) 11:08:58 ID:XCaBTWjM.net
- usesにDGCarad9ってのがあって
DirectX9使えるようにした個人の奴だけどサイトが無かった・・・
使用許諾にもメルアド登録済みになってるしパスワードわからんし
やっぱりいろいろめんどくさくて使えねー
- 995 :デフォルトの名無しさん:2020/03/08(日) 14:04:12 ID:Ks5q/7ma.net
- まぁ日本じゃMVPがあのレベルのソフトを公開して悦に入ってるだけだからな
まったく恥ずかしくないのかと思うよ・・・
- 996 :デフォルトの名無しさん:2020/03/10(火) 08:06:10.34 ID:KnD7ZfFa.net
- 個人攻撃は見苦しい。自分は匿名で卑怯。
- 997 :デフォルトの名無しさん:2020/03/10(火) 08:16:12.87 ID:KnD7ZfFa.net
- >>990
英語のライセンス条項を見たが、その理解で正しいと思う。
前のCommunity EditionではWin32限定でそのときはもっとライセンス条項がゆるかったが、今は機能限定が少しだけになって、使える人の範囲が狭くなった。
学生や定年後の老人や専業主婦が対象といったところか。
- 998 :デフォルトの名無しさん:2020/03/10(火) 21:13:43 ID:iMwptZU/.net
- まぁ、彼はちょっと違うの事実だな。最近ではクソアプリ?のadvent calenderで一番手ではりきって一人でニヤニヤしたんだろうな...
- 999 :デフォルトの名無しさん:2020/03/11(水) 01:04:28 ID:zwwCe0yv.net
- なんで1000盗り合戦とか意味の無いことで盛り上がってたのかね
- 1000 :デフォルトの名無しさん:2020/03/11(水) 04:51:18.53 ID:0ChhyzeV.net
- 999なら俺はいつか死ぬ
- 1001 :デフォルトの名無しさん:2020/03/11(水) 05:24:58.54 ID:e34vXhFj.net
- 将来性はないかもしれないがwindows上でならまだまだ使える言語だね
- 1002 :2ch.net投稿限界:Over 1000 Thread
- 2ch.netからのレス数が1000に到達しました。
総レス数 1002
279 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★