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/?
探検
くだすれDelphi(超初心者用)その57 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2016/10/13(木) 13:21:54.84ID:7i5E+q2+2016/10/13(木) 13:27:38.39ID:rxboVzG1
クソスレ乙
2016/10/13(木) 13:43:32.62ID:7i5E+q2+
無料版の名称は Delphi 10 Starter Edition に変わっていたわ。
2016/10/15(土) 06:07:00.29ID:b/Ix7y8Q
stringのポインタを引数で使う時って何で@straaa[1]みたいに[1]をつけるの?
2016/10/15(土) 06:41:31.92ID:sr5ZMjEJ
PChar(straaa) じゃだめなん?
Hint: 空文字列の扱い
Hint: 空文字列の扱い
2016/10/15(土) 08:01:16.21ID:Wck8f7HF
2016/10/17(月) 13:18:21.20ID:WrWXzKVd
2016/10/17(月) 22:03:38.40ID:u9f1SlFV
有料版買えばandroidで動くプログラムをDelphiで作れるの?
Indyみたいなhttpコンポーネントって使えるのだろうか?
Indyみたいなhttpコンポーネントって使えるのだろうか?
2016/10/17(月) 22:24:59.98ID:DkHWfezI
>有料版買えばandroidで動くプログラムをDelphiで作れるの?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
Starterでモバイルパックつかえなきゃ、Pro版も買わないといけんと。
>Indyみたいなhttpコンポーネントって使えるのだろうか?
Indy使わなくても最新のにはhttpのクライアントライブラリ含まれてるからそれ使えば?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
Starterでモバイルパックつかえなきゃ、Pro版も買わないといけんと。
>Indyみたいなhttpコンポーネントって使えるのだろうか?
Indy使わなくても最新のにはhttpのクライアントライブラリ含まれてるからそれ使えば?
2016/10/17(月) 22:41:43.85ID:PmRH05Ee
cとかc++のenumって、Delphiの列挙型ということでいい?
集合とは違うんだよね?
集合とは違うんだよね?
2016/10/17(月) 22:42:37.41ID:DkHWfezI
そりゃ、Delphiの列挙の方でしょ
2016/10/17(月) 23:10:18.46ID:6Picysvx
ありがとう
2016/10/19(水) 10:47:08.64ID:4tgALgAo
ライトみたいに光る質感のコンポってありますか?
2016/10/22(土) 10:30:31.92ID:VBuj+teK
tabsheetの色を変えられるようにしたんだけど、clBtnFaceを指定しても白くなるんですけど何故でしょうか?
他の色は反映されます。
Delphi10.1Berlinを使っています。
他の色は反映されます。
Delphi10.1Berlinを使っています。
2016/10/22(土) 10:35:27.82ID:VBuj+teK
バカみたいな質問をしてしまいました。
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?
2016/10/22(土) 10:58:32.88ID:OrToTiIL
>>15
テーマが関係してるんじゃなかったっけ
テーマが関係してるんじゃなかったっけ
2016/10/22(土) 11:01:18.05ID:AS0AO2zF
>>15
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?
2016/10/22(土) 11:34:02.15ID:VBuj+teK
ありがとうございます。
と言ってもどうしていいか分からないのでパネル貼ります。w
と言ってもどうしていいか分からないのでパネル貼ります。w
2016/10/23(日) 10:04:04.33ID:FT6Wwhog
昔Del7で作ったExcelを操作するプログラムを、Berlinで作り直したいんだけど今だとFirerDacを使うんですか?
取り敢えずやりたいことは、xlsxをcsvに変換したいだけなので簡単な方法があったら教えて下さい。
取り敢えずやりたいことは、xlsxをcsvに変換したいだけなので簡単な方法があったら教えて下さい。
2016/10/23(日) 10:46:21.34ID:CGzeXgZh
ole
2016/10/23(日) 13:40:03.44ID:MP5NXD0l
今まで Delphi 7 で作っていましたが、Delphi 10.1 に移行することにしました。
そこで、10.1のListViewの挙動について質問です。
D7では、以下のコードで ListItem の一行の背景全てが綺麗に塗りつぶされていましたが、
10.1では Caption と SubItems[0]、そして SubItems間で 2pixel の白い区切り線のようなものが出来てしまいます。
回避方法をご存知の人は教えて下さい。
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Not Odd(Item.Index) then
begin
with ListView1.Canvas do
begin
Brush.Style := bsSolid;
Brush.Color := clLime;
end;
end;
end;
そこで、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;
2016/10/23(日) 14:13:58.96ID:gusT9oXO
2016/10/23(日) 15:14:16.61ID:MP5NXD0l
2016/10/23(日) 15:28:26.85ID:MP5NXD0l
2016/10/23(日) 16:44:38.74ID:kZkGsd/R
ちょっと教えてください
CD-ROMドライブのデバイス名(「EX-DVD04K」とか)と
ドライブ名(「D」とか)の一覧を得たいんですが
それぞれ別の方法で取得できるんですが、
複数のCDドライブがあると、対応が分かりません(EX-DVD04K = D)。
たぶんAPIを使うことにあると思います。
似た質問はあったんですが、回答がない...
ttp://okwave.jp/qa/q1942763.html
CD-ROMドライブのデバイス名(「EX-DVD04K」とか)と
ドライブ名(「D」とか)の一覧を得たいんですが
それぞれ別の方法で取得できるんですが、
複数のCDドライブがあると、対応が分かりません(EX-DVD04K = D)。
たぶんAPIを使うことにあると思います。
似た質問はあったんですが、回答がない...
ttp://okwave.jp/qa/q1942763.html
2016/10/23(日) 16:54:42.26ID:CGzeXgZh
http://www.chrysocome.net/download
dd のソース見れ
dd のソース見れ
2016/10/23(日) 18:18:46.84ID:j9LNItD5
cd-romだとWin32_CDROMDriveが使える
2016/10/23(日) 20:00:40.26ID:kZkGsd/R
ありがとうございました。
DelphiでWin32_CDROMDriveの使用例がありました。
DelphiでWin32_CDROMDriveの使用例がありました。
2016/10/24(月) 02:18:05.54ID:Pol9g+IM
3019
2016/10/24(月) 11:23:45.88ID:V1HEhUaE >>20
ありがとうございます。
delphiは久々なのでググりまくってる最中なんですが
Excelのコンポーネントとか有ったと思うんだけど今は無くなった?
悩んでてもしょうがないのでXRAYさんのサイト見ながらやってみます。
ありがとうございます。
delphiは久々なのでググりまくってる最中なんですが
Excelのコンポーネントとか有ったと思うんだけど今は無くなった?
悩んでてもしょうがないのでXRAYさんのサイト見ながらやってみます。
2016/10/24(月) 11:46:44.14ID:/o9Bzib3
3219
2016/10/24(月) 12:20:49.82ID:V1HEhUaE3319
2016/10/25(火) 23:13:37.93ID:PC8b9+iO oleコンテナだけでExcelのブックを表示できました。
昔とは違うんですね。
ただ、Excel本体も立ち上がってくるのですが、Excelは立ち上げずにブックを弄るにはどうしたらいいでしょうか?
昔とは違うんですね。
ただ、Excel本体も立ち上がってくるのですが、Excelは立ち上げずにブックを弄るにはどうしたらいいでしょうか?
2016/10/25(火) 23:23:00.70ID:9oSj5Tvc
Visisbleプロパティみたいのなかったっけ?
2016/10/25(火) 23:25:41.18ID:9oSj5Tvc
s多すぎた
2016/10/26(水) 01:12:16.61ID:DnQDMwJL
>>36
当然だけどExcel入ってない環境では動かないからね
当然だけどExcel入ってない環境では動かないからね
2016/10/26(水) 12:57:47.98ID:6SHMskVi
>Excelは立ち上げずに
って書いてあるのにVisible薦める香具師ってなんなの
って書いてあるのにVisible薦める香具師ってなんなの
2016/10/26(水) 12:59:55.89ID:yTRH6Fig
立ち上げずにコンテナになれるわけないことを暗に示しただけやない?
2016/10/28(金) 04:03:53.32ID:Jy3/QgVN
新しいDelpiのフォームの位置をドラッグで移動できないな???
どうして?
どうして?
2016/10/30(日) 03:41:18.12ID:5WyC57Kn
2016/10/30(日) 08:46:34.99ID:GMyWViLu
丸が幾つか描かれているbitmapがあるとして特定の丸の色を変えたいと思い、
丸の上にshapeの丸を置いて対応しました。
このbitmap上の丸とshapeをきっちり対応させる方法ってないですか?
bitmapの大きさ変えたりスクロールさせた時にshapeも追従させたいのですが。
丸の上にshapeの丸を置いて対応しました。
このbitmap上の丸とshapeをきっちり対応させる方法ってないですか?
bitmapの大きさ変えたりスクロールさせた時にshapeも追従させたいのですが。
2016/10/30(日) 12:44:13.74ID:+fHRwEF9
2016/10/30(日) 15:20:00.36ID:+fHRwEF9
>>44
じゃ、ビットマップ内の円を直接塗りつぶすのがいいよ?
モグラ叩き(?)みたいに動的に表示するんだったら
1) Bitmap0にオリジナルをロードしておいて
2) Bitmap1に都度コピーして任意の円を塗りつぶす
3) そんで最終的にPaintBoxのCanvasにコピーする
4) これを繰り返す
Shapeを使う必然性があるんだったら別だけどね
じゃ、ビットマップ内の円を直接塗りつぶすのがいいよ?
モグラ叩き(?)みたいに動的に表示するんだったら
1) Bitmap0にオリジナルをロードしておいて
2) Bitmap1に都度コピーして任意の円を塗りつぶす
3) そんで最終的にPaintBoxのCanvasにコピーする
4) これを繰り返す
Shapeを使う必然性があるんだったら別だけどね
2016/11/01(火) 14:44:48.26ID:aPCKG/Vh
Delphi10のインストーラーが一瞬立ち上がってすぐ終了してしまうのですが原因がわかる方いませんか?
サポートサイトを見てもレジストリを触る事しか見当たりません。
どなたかよろしくお願いします。
サポートサイトを見てもレジストリを触る事しか見当たりません。
どなたかよろしくお願いします。
2016/11/01(火) 15:13:15.36ID:p35VuLBk
パソコンが壊れとる
2016/11/01(火) 17:44:57.98ID:wawt2m9n
まずはdependencywalkerとか
あとウィルスチェックソフト止めるとか
ファイアウォール開いてみるとか
あとウィルスチェックソフト止めるとか
ファイアウォール開いてみるとか
2016/11/01(火) 18:11:10.46ID:MBBNR+y9
お客様にエスパーの方はいらっしゃりませんかー(棒
2016/11/01(火) 18:13:18.08ID:by7jiIas
馬鹿には無理
2016/11/03(木) 13:26:56.03ID:2mKhPyDG
符号付きのダブルワードとか言うデータを扱う事になったんだけど、普通に数値が相手から送られて来ると思ったら
16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけどプロの人はどうやってるの?
ググったら変換の考え方は分かったんだけど、プログラムをどう書けば良いかわからん。
Delphiって16進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?
16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけどプロの人はどうやってるの?
ググったら変換の考え方は分かったんだけど、プログラムをどう書けば良いかわからん。
Delphiって16進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?
2016/11/03(木) 13:32:53.30ID:6FeMk1RE
16bitでわかれるって
65535,65535
っていう意味?
だったら
0xffff,0xffff
で1dwordだから
リトルエンディアンなら
(dword)((a[0]<<16) | a[1])
で済むはず
65535,65535
っていう意味?
だったら
0xffff,0xffff
で1dwordだから
リトルエンディアンなら
(dword)((a[0]<<16) | a[1])
で済むはず
2016/11/03(木) 13:33:58.48ID:6FeMk1RE
ああ逆ω
(dword)((a[1]<<16) | a[0])
(dword)((a[1]<<16) | a[0])
2016/11/03(木) 13:41:15.66ID:2mKhPyDG
早速、ありがとうございます!!
式の意味がわからないw
調べ倒します。
65535,65535に分かれるんですが、-の時には両方2の補数がナンタラカンタラ変換された10進数が送られてきます。
また、分からないことがあったら宜しくお願いします。
式の意味がわからないw
調べ倒します。
65535,65535に分かれるんですが、-の時には両方2の補数がナンタラカンタラ変換された10進数が送られてきます。
また、分からないことがあったら宜しくお願いします。
2016/11/03(木) 16:09:43.66ID:nO9s2Og+
SmallInt変数に代入すればいいんじゃない?
var
si: SmallInt;
si := StrToInt('$' + Edit1.Text); // 16進数の文字列
si := StrToInt(Edit1.Text); // 10進数の文字列
Edit2.Text := IntToStr(si);
...こう云うことじゃないの?
var
si: SmallInt;
si := StrToInt('$' + Edit1.Text); // 16進数の文字列
si := StrToInt(Edit1.Text); // 10進数の文字列
Edit2.Text := IntToStr(si);
...こう云うことじゃないの?
57デフォルトの名無しさん
2016/11/03(木) 16:20:54.86ID:KRq5Cur1 こういうあほと仕事したくないな
5853
2016/11/03(木) 18:24:42.65ID:2mKhPyDG やってみたらあっさりできました。
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?
2016/11/03(木) 18:32:31.39ID:Vzj8eJlj
>Delphiが内部で勝手にやってくれる
その認識はおかしい
「Delphiは何もしない」が正しい
その認識はおかしい
「Delphiは何もしない」が正しい
6053
2016/11/03(木) 19:10:20.41ID:2mKhPyDG >>59
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?
2016/11/03(木) 19:18:10.90ID:KRq5Cur1
+ b でも良いかも知れないが or b の方が良くね
2016/11/03(木) 19:21:51.74ID:cIZsGa0I
符号付きのDWORDって4バイトの整数とは違うの?
2016/11/03(木) 19:44:23.50ID:ieIIzjtH
DWORDというかWORDが符号なし整数値やろ
BYTEはunsigned char
WORDはunsigned short
DWORDはunsigned long
UINTはunsigned int
いずれも符号なし整数
BYTEはunsigned char
WORDはunsigned short
DWORDはunsigned long
UINTはunsigned int
いずれも符号なし整数
2016/11/03(木) 20:02:43.66ID:URbOgVYK
DWORDは符号なしだけど
送られてくるデータはDWORDだけど符号を扱うっつってんだから
普通に中身はintだろ
intにキャストすれば万事OK
送られてくるデータはDWORDだけど符号を扱うっつってんだから
普通に中身はintだろ
intにキャストすれば万事OK
2016/11/03(木) 21:13:18.27ID:iYejUQc8
曖昧すぎるんだ
>普通に数値が相手から送られて来ると思ったら
>16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけど
>普通に数値が相手から送られて来ると思ったら
>16Bit毎に分かれて、しかも、-だと65535とか-が付かない値が送られてくるんだけど
66デフォルトの名無しさん
2016/11/05(土) 12:52:45.83ID:edcXpxnV >>60
同じ数値型変数でも a の型を変えてビット数や符号付きかどうかが変わると結果も変わる。
同じ数値型変数でも a の型を変えてビット数や符号付きかどうかが変わると結果も変わる。
6753
2016/11/06(日) 00:10:46.65ID:EC/gao/y >>66
仰る意味が分かりました。
符号付き16BitのデータをLongに入れるとマイナスが判断されず16Bitのプラス値が入る。
Smallintに入れるとマイナスを認識する。
と言う事で、扱うデータにあった型の変数に代入する、
もしくはデータの符号の位置が変数の左端に入るように
シフトさせるとプラマイを勝手に判断してくれると言う事で良いでしょか?
仰る意味が分かりました。
符号付き16BitのデータをLongに入れるとマイナスが判断されず16Bitのプラス値が入る。
Smallintに入れるとマイナスを認識する。
と言う事で、扱うデータにあった型の変数に代入する、
もしくはデータの符号の位置が変数の左端に入るように
シフトさせるとプラマイを勝手に判断してくれると言う事で良いでしょか?
68デフォルトの名無しさん
2016/11/06(日) 04:28:48.06ID:nNdE2u+1 >>67
勝手に、というか、歴史的なものでもあるんだが、そもそもコンピュータは符号について考慮できない。
というのはビットのON/OFFしかないからだ。かといって計算ではマイナスの値も考慮する必要がある。
ということで色々あって、結局今のコンピュータでは高速に計算する場合はこういう手法を使うことになった。
(低速になってもいいが精度が必要な場合にBCDにするとか、他の方法もあるがちょっとそれは置いておく)。
1. 0/1が表せるビットを束ねてまとめて2進数として大きな数値も表せるようにする。
2. 0の時は全てのビットが0になる。
3. 0の状態で1を引いた時、つまり-1は全ビットが1になる。
4. 更に1引いた場合は符号なし整数の時と同じ計算で1を引く。
5. 1番上のビットが1の場合はその値はマイナス、0の場合はプラス。
なので例えば8bit符号付整数は -128 〜 127 までが表せるが、-128の時は2進だと 10000000 になっている。
127 は 01111111 になっている。
画面に10進数に変換して出す場合はまず最上位ビットを見て1ならばマイナス記号を出しプラスならば何も出さない。
次に最上位ビットが1ならば全ビットを反転させた後に1を足す(符号をマイナスからプラスに変換する)。
その後10で割った余りを数字の文字に変換して出し10で割るというのを0になるまで繰り返すが、これだと
逆順になるので再帰処理にするかバッファに入れておいて逆順に出すか少しテクニックが必要。
勝手に、というか、歴史的なものでもあるんだが、そもそもコンピュータは符号について考慮できない。
というのはビットの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になるまで繰り返すが、これだと
逆順になるので再帰処理にするかバッファに入れておいて逆順に出すか少しテクニックが必要。
2016/11/06(日) 09:03:20.09ID:j4rRKkND
コンピューター工学
ASM
2の補数
・・・・いろいろ学ばないと分からないかも
一番いいのは痛い目食わないと覚えられないかも
趣味なら?
ASM
2の補数
・・・・いろいろ学ばないと分からないかも
一番いいのは痛い目食わないと覚えられないかも
趣味なら?
2016/11/06(日) 09:31:18.68ID:rGVVvSQ9
>>68
結果がたまたま合ってるが過程がめちゃくちゃの典型的な悪文
結果がたまたま合ってるが過程がめちゃくちゃの典型的な悪文
71デフォルトの名無しさん
2016/11/07(月) 02:58:59.60ID:k8MgRjfU じゃあおまえが書けよ
2016/11/07(月) 07:51:58.89ID:MiZ0k8Uw
わしもそう思う
しかし、理解すべきは、型の互換性や代入の互換性についての処理系の決め事であって、
動作原理やらは趣味の領域。
しかし、理解すべきは、型の互換性や代入の互換性についての処理系の決め事であって、
動作原理やらは趣味の領域。
2016/11/07(月) 11:31:55.07ID:VvMqHJ76
変数の宣言で符号有り、無しのどちらの宣言しても
キャストでどうとでもなるから、くよくよするな
var
i : LongInt;
キャストで
LongWord(i)
出来るから
キャストでどうとでもなるから、くよくよするな
var
i : LongInt;
キャストで
LongWord(i)
出来るから
2016/11/07(月) 16:11:14.00ID:iTWgrf69
スレチ
2016/11/09(水) 15:53:32.11ID:i2gLSeC7
D7のクイックレポートで質問です
現在単純な一覧を作っているのですが、罫線で全体の外枠を太く、明細行の仕切りを細く描きたいと思っています
Bandのフレームを外枠にして明細行は左右だけフレームで描き、下部にQrshapeを置いてやってみたのですが
その明細行がページの最終行かどうか判断する方法がわからず
外枠の下を印刷できません
各ページの行数は不定です
何かいい方法は無いでしょうか
もう一つ、グループで小計を印刷したいのですが、その際小計行は太線で囲みたいと思います
小計行はグループフッターで印刷し四方をフレームで囲ってみたところ明細行のShapeとフレームが重なって
小計行の上の線だけ少し太く印刷されてしまいました
うまいやり方は無いでしょうか
よろしくお願いします
現在単純な一覧を作っているのですが、罫線で全体の外枠を太く、明細行の仕切りを細く描きたいと思っています
Bandのフレームを外枠にして明細行は左右だけフレームで描き、下部にQrshapeを置いてやってみたのですが
その明細行がページの最終行かどうか判断する方法がわからず
外枠の下を印刷できません
各ページの行数は不定です
何かいい方法は無いでしょうか
もう一つ、グループで小計を印刷したいのですが、その際小計行は太線で囲みたいと思います
小計行はグループフッターで印刷し四方をフレームで囲ってみたところ明細行のShapeとフレームが重なって
小計行の上の線だけ少し太く印刷されてしまいました
うまいやり方は無いでしょうか
よろしくお願いします
2016/11/09(水) 16:14:12.62ID:i2gLSeC7
済みませんもう一点ありました
グループではなくページの小計を印刷したいのですが、ページフッターだと明細行と離れて印刷されてしまいます
何かいい方法は無いでしょうか
グループではなくページの小計を印刷したいのですが、ページフッターだと明細行と離れて印刷されてしまいます
何かいい方法は無いでしょうか
2016/11/18(金) 05:32:26.95ID:mITFokzs
仮想のイーサネットインターフェース(NIC)の作り方って知りませんか?
linuxだと簡単にできるらしいけど、windowsでできるコンポとかコマンドとかないのかな?
linuxだと簡単にできるらしいけど、windowsでできるコンポとかコマンドとかないのかな?
78デフォルトの名無しさん
2016/11/18(金) 16:27:06.42ID:vbdBJsNN softetherみたいなの?
2016/11/18(金) 17:38:12.72ID:mITFokzs
そういうのいじってみたい
仮想NICというかループバックていうのはMS純正でできるのが分かった
仮想NICというかループバックていうのはMS純正でできるのが分かった
2016/11/18(金) 19:29:30.81ID:e+81aozX
ソース公開されてるだろ
2016/11/20(日) 12:26:46.05ID:n8KZIrdr
https://www.embarcadero.com/products/rad-studio/features
RAD Studioの体験版ってDelphi XE2と共存できる?
体験版試して環境壊したら面倒だから躊躇してる
買うなら完全上書きで移行でも良いんだけど
xamarinみたいにハマるならやめたい
RAD Studioの体験版ってDelphi XE2と共存できる?
体験版試して環境壊したら面倒だから躊躇してる
買うなら完全上書きで移行でも良いんだけど
xamarinみたいにハマるならやめたい
2016/11/20(日) 12:33:25.79ID:omU4WGo2
canvasやcaptionを持ってないコントロール上に文字描こうと思ったら、LABELを被せるのが一番簡単?
2016/11/20(日) 12:37:35.32ID:sLB4mNYr
そりゃ、ポトペタしてプロパティ変更するだけだから、10秒で終わるし。
2016/11/21(月) 02:06:39.96ID:9bjfwpvu
動的に沢山作ったコントロールの破棄方法を教えて下さい。
作っ時にTLISTに入れておいて、破棄する時にリストから引っ張り出してfreeでいいですか?
作っ時にTLISTに入れておいて、破棄する時にリストから引っ張り出してfreeでいいですか?
2016/11/21(月) 06:45:32.74ID:6Naumri0
TObjectListに入れておけば、リストをクリアするだけでOK
2016/11/21(月) 08:34:01.10ID:3YAs2dXK
2016/11/21(月) 08:43:29.76ID:sE1stBxO
>>85
ありがとうございます!
ありがとうございます!
2016/11/21(月) 23:48:31.13ID:eSdu1Qd7
>>86
ありがとう!入れてみてすんなりスマホアプリ作れたら買おうっと
ありがとう!入れてみてすんなりスマホアプリ作れたら買おうっと
2016/11/22(火) 11:23:52.32ID:J8mgYJIF
16万かー 高すぎる
昔の4万位ならまた買いたいと思っていたのに、これじゃ無理だわ
C#ならタダだから、こっちで我慢する
昔の4万位ならまた買いたいと思っていたのに、これじゃ無理だわ
C#ならタダだから、こっちで我慢する
2016/11/22(火) 13:02:30.45ID:d73nUv9a
すごく初歩な事だと思うんだけど、フォームを最大にした状態でコントロールを配置するにはどうしたら良いですか?
2016/11/22(火) 13:11:22.55ID:qW+6ZAFd
えっ?
2016/11/22(火) 16:00:58.51ID:d73nUv9a
フォームデザイナは消せない?
フォームデザイナの中で少なからずスクロールさせるのがうざくて。
フォームデザイナの中で少なからずスクロールさせるのがうざくて。
2016/11/22(火) 16:20:11.79ID:Pvp5yOqg
もっと大きいディスプレイを使う
2016/11/22(火) 17:14:24.12ID:d73nUv9a
えっ?そう言う事じゃないw
2016/11/22(火) 18:10:29.79ID:kKFxgFqP
コンポーネントパレットのコンポーネントをダブルクリックすればいいんじゃね。
2016/11/22(火) 18:15:01.08ID:jjDYJ6Bv
最大化した状態を想定してコントロールを配置したい?
...ということでもなよね
...ということでもなよね
2016/11/22(火) 20:43:49.84ID:d73nUv9a
2016/11/22(火) 20:54:34.84ID:1EZz+VvR
フォームのサイズに追随するように作るから
わざわざ最大化で考えたりしない
わざわざ最大化で考えたりしない
2016/11/22(火) 21:23:29.12ID:jjDYJ6Bv
>>97
自分だけが使うんだったら、最大化を想定して
コントロールの絶対位置を決めることもありだけどね
でも、どのような環境で使われるか分からない場合
フォームの最大化への対応は結構難しいと思う
まあコントロールのAlignでフォームサイズに
追随するだけでいいなら簡単だけど...
自分だけが使うんだったら、最大化を想定して
コントロールの絶対位置を決めることもありだけどね
でも、どのような環境で使われるか分からない場合
フォームの最大化への対応は結構難しいと思う
まあコントロールのAlignでフォームサイズに
追随するだけでいいなら簡単だけど...
100デフォルトの名無しさん
2016/11/22(火) 22:15:22.90ID:d73nUv9a101デフォルトの名無しさん
2016/11/22(火) 23:16:57.50ID:qW+6ZAFd ふーん
102デフォルトの名無しさん
2016/11/23(水) 13:06:18.51ID:tPiPFLaf >>100
4Kディスプレイを買うのかな?
4Kディスプレイを買うのかな?
103デフォルトの名無しさん
2016/11/23(水) 13:16:56.95ID:wddBimUU 4Kディスプレイはプログラミングする上で非常に作業性が高まって
生産能力が跳ね上がるからアリだな
たくさんの資料と開くのはマルチディスプレイでも出来なくないけど
4Kディスプレイは縦が長いのが素晴らしい
一つ問題があるとしたら
自分のソフトを4Kディスプレイで最大化したら
描画が追い付かなくなってカクカクになるという事実に気づいてしまうこと
ただし、MS謹製のエクスプローラでもカクカクになるぐらいなので
本当の意味で4K対応のソフトはそんなに多くないし
気にしなくてもよいのかもしれんが、どーなんだろ
アンチエイリアスのかかった文字の描画がとにかく遅い
1FPSぐらいになって操作困難だ
生産能力が跳ね上がるからアリだな
たくさんの資料と開くのはマルチディスプレイでも出来なくないけど
4Kディスプレイは縦が長いのが素晴らしい
一つ問題があるとしたら
自分のソフトを4Kディスプレイで最大化したら
描画が追い付かなくなってカクカクになるという事実に気づいてしまうこと
ただし、MS謹製のエクスプローラでもカクカクになるぐらいなので
本当の意味で4K対応のソフトはそんなに多くないし
気にしなくてもよいのかもしれんが、どーなんだろ
アンチエイリアスのかかった文字の描画がとにかく遅い
1FPSぐらいになって操作困難だ
104デフォルトの名無しさん
2016/11/23(水) 14:35:16.76ID:XEgR0M7V k-ブルが糞なんじゃね
105デフォルトの名無しさん
2016/11/24(木) 21:31:04.24ID:EbGC2MML サブスクリプションって、アップデート2をインスコすれば
勝手にライセンス適用してくれるの?
勝手にライセンス適用してくれるの?
106デフォルトの名無しさん
2016/11/26(土) 08:53:16.82ID:SyGP2pYs フォームに入力した数値を保存する方法を教えてください。
107デフォルトの名無しさん
2016/11/26(土) 10:20:52.50ID:RLaeAJYk >>106
フォーム(上のエディットコンポ)に入力した数値を(ファイルに)保存する方法ということかしら?
簡単な一例。
フォームにエディットコンポEdit1とボタンButton1があるとしてボタンを押したらエディットコンポに入力されたテキスト(数値でなくても同じ)をファイルに保存する。
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
// 入力された文字列を取り出し(数値だろうと扱いは文字列)、文字列リストに追加
sl.add(Edit1.Text);
// 文字列リストの内容をファイルに保存(ここでは実行ファイルと同じフォルダーにした)
sl.SaveToFile(ChangeFileExt(Application.ExeName, '.txt'));
finally
sl.Free;
end;
end;
フォーム(上のエディットコンポ)に入力した数値を(ファイルに)保存する方法ということかしら?
簡単な一例。
フォームにエディットコンポEdit1とボタンButton1があるとしてボタンを押したらエディットコンポに入力されたテキスト(数値でなくても同じ)をファイルに保存する。
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
// 入力された文字列を取り出し(数値だろうと扱いは文字列)、文字列リストに追加
sl.add(Edit1.Text);
// 文字列リストの内容をファイルに保存(ここでは実行ファイルと同じフォルダーにした)
sl.SaveToFile(ChangeFileExt(Application.ExeName, '.txt'));
finally
sl.Free;
end;
end;
108デフォルトの名無しさん
2016/11/26(土) 10:35:43.40ID:SyGP2pYs ありがとうございます。
ちょっとやってみます。
ちょっとやってみます。
109デフォルトの名無しさん
2016/11/26(土) 23:59:22.61ID:+C/v9Yiv TFile使ったら1行で書けるかも
110デフォルトの名無しさん
2016/11/27(日) 21:47:18.22ID:G948Ts5Y TEdit.Lines自体がTStringsだからSaveToFile持ってるんじゃなかったかな
111107
2016/11/27(日) 22:12:21.76ID:Vd8hDN3e 昔のDelphiしかないので最近のはわかりません、あしからず。
昔のでもメモコンポならLines.SaveToFile(ファイル名)できますね。
昔のでもメモコンポならLines.SaveToFile(ファイル名)できますね。
112デフォルトの名無しさん
2016/11/28(月) 01:18:24.55ID:uacaeDTN TEditにLinesプロパティってなくね?
113デフォルトの名無しさん
2016/11/28(月) 13:10:31.06ID:/4N3P5Kl TEditにはLinesはないね
もともと1行編集ボックスだからね
TEditの内容を保存するんだったら
TStringList.に読み込んでSaveToFile()を使うか
TFile.WriteAllText()を使うかだね
まあ後者のほうが簡単だけど
もともと1行編集ボックスだからね
TEditの内容を保存するんだったら
TStringList.に読み込んでSaveToFile()を使うか
TFile.WriteAllText()を使うかだね
まあ後者のほうが簡単だけど
114デフォルトの名無しさん
2016/11/28(月) 22:30:06.28ID:4Blidc3O TFileってのは最近できたのか
TFileStreamとは別物なんだな?
TFileStreamとは別物なんだな?
115デフォルトの名無しさん
2016/11/29(火) 05:29:51.70ID:W5POPsuB TFile はDelphi2010からだって
TFileStreamとは別物
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TFile
System.IOUtils自体が2010からの追加らしい
TFileStreamとは別物
http://docwiki.embarcadero.com/Libraries/Seattle/en/System.IOUtils.TFile
System.IOUtils自体が2010からの追加らしい
116デフォルトの名無しさん
2016/11/29(火) 11:14:31.26ID:Ln/aQe4r パスワードがかかっているExcelファイルを開ける時にパスワードを入れる方法を教えて下さい。
delphi からパスワード無しファイルを操作する事は出来ています。
delphi からパスワード無しファイルを操作する事は出来ています。
117デフォルトの名無しさん
2016/11/30(水) 09:51:10.70ID:YyN+WuPe >>116
どういうやりかたで
「delphi からパスワード無しファイルを操作する事は出来ています。」
ができているのかしらんけど
OLEオートメーションを使っているなら、
xlApp.Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format,
Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)
excelを持ってないなら
?FlexCel for VCL / FireMonkey
を使うとか
どういうやりかたで
「delphi からパスワード無しファイルを操作する事は出来ています。」
ができているのかしらんけど
OLEオートメーションを使っているなら、
xlApp.Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format,
Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)
excelを持ってないなら
?FlexCel for VCL / FireMonkey
を使うとか
118デフォルトの名無しさん
2016/12/01(木) 19:46:00.26ID:D32vS8+n D6の使用許諾コードって今でも都連だね 知らなかったわ
119デフォルトの名無しさん
2016/12/02(金) 19:55:58.69ID:DITubkqg なぜに今さらD6?
新しいの無料になってなかったっけ
新しいの無料になってなかったっけ
120デフォルトの名無しさん
2016/12/02(金) 23:02:38.10ID:p/xrLFXH RXバグだらけで使いづらいよ
121デフォルトの名無しさん
2016/12/02(金) 23:39:57.49ID:LMsZph5A 具体的にどんなバグ?
122デフォルトの名無しさん
2016/12/03(土) 09:26:01.40ID:lQCz0lUj ボタンの色の変更ってTButtonから派生させて改造しないとダメ?
123デフォルトの名無しさん
2016/12/04(日) 00:23:15.66ID:VbxK6ZGr 結局どんなバグがあったんだろう
124デフォルトの名無しさん
2016/12/04(日) 00:50:42.52ID:Zv4y5DXv125デフォルトの名無しさん
2016/12/04(日) 01:14:11.69ID:VbxK6ZGr WindowsのバグとRadStudioになんの関係が?
126デフォルトの名無しさん
2016/12/04(日) 20:23:52.39ID:DHDwgClI 7以降アップデートしてないんだけど
すると良いことある?
すると良いことある?
127デフォルトの名無しさん
2016/12/05(月) 16:25:17.26ID:dF177W8B 人に依る
128デフォルトの名無しさん
2016/12/05(月) 20:51:09.49ID:u75Tu5Z4 ユニコード対応がなんたらうんたら
129デフォルトの名無しさん
2016/12/05(月) 22:36:44.05ID:Yjl942ym Delphi2.0 の高速コンパイルは素晴らしかった
130デフォルトの名無しさん
2016/12/05(月) 22:44:55.05ID:FaC7RcWw131デフォルトの名無しさん
2016/12/05(月) 23:11:20.14ID:3xjBziHl 新機能使わなきゃそりゃあってもしょうがないけど、
さすがに7からならアップグレードすりゃ色んな新機能がわんさかだと思うよ。
古い新機能ではUnicodeから始まってWin64bit対応やOSX対応、ジェネリックやら
Vistaとかの新コントール。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
から新機能のページだけを過去のバージョンにさかのぼってみていけばいい。
さすがに7からならアップグレードすりゃ色んな新機能がわんさかだと思うよ。
古い新機能ではUnicodeから始まってWin64bit対応やOSX対応、ジェネリックやら
Vistaとかの新コントール。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
から新機能のページだけを過去のバージョンにさかのぼってみていけばいい。
132デフォルトの名無しさん
2016/12/06(火) 00:07:34.75ID:cx3pcX82 コードエディタの進化は効率アップにもなるしやっぱ良いよ
133デフォルトの名無しさん
2016/12/06(火) 18:04:09.67ID:GBHXmuqR Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。
今、バーコード入力するソフトを書いているのですが、担当者をComboboxで選択していないと
EditをクリアしてShowMessageを表示するつもりです。
EditをクリアしてMessageを出す事自体は出来ているのですが、バーコードから送られるデータの
最後にCRがついてきて(バーコードリーダーが付けてきます。)、多分このCRがShowMessageに
送られてShowMessageが勝手に消えてしまうようなのです。
イベントはKeyPressを使っています。
Windows7 Delphi10.1の環境です。
よろしくお願いします
今、バーコード入力するソフトを書いているのですが、担当者をComboboxで選択していないと
EditをクリアしてShowMessageを表示するつもりです。
EditをクリアしてMessageを出す事自体は出来ているのですが、バーコードから送られるデータの
最後にCRがついてきて(バーコードリーダーが付けてきます。)、多分このCRがShowMessageに
送られてShowMessageが勝手に消えてしまうようなのです。
イベントはKeyPressを使っています。
Windows7 Delphi10.1の環境です。
よろしくお願いします
134デフォルトの名無しさん
2016/12/06(火) 18:16:56.25ID:B1jaM3TV 何がききたいのかようわからん。
135デフォルトの名無しさん
2016/12/06(火) 18:24:00.95ID:B1jaM3TV 「Editへの入力時のキーバッファをキャンセルする方法を教えて下さい。」
後ろにごちゃごちゃよくわからん説明が書いてあるけどこれが聞きたいの?
単に入力された文字をキャンセルならKeyPressのイベントでKeyパラメータに
Key := #00とか代入すればいいんじゃなかったっけ?
if Key = 'A' then
Key := #00;
すりゃ、Aの文字が入力できなくる
このことじゃなかったらもっと適格に書いてくれんとわからん。
後ろにごちゃごちゃよくわからん説明が書いてあるけどこれが聞きたいの?
単に入力された文字をキャンセルならKeyPressのイベントでKeyパラメータに
Key := #00とか代入すればいいんじゃなかったっけ?
if Key = 'A' then
Key := #00;
すりゃ、Aの文字が入力できなくる
このことじゃなかったらもっと適格に書いてくれんとわからん。
136デフォルトの名無しさん
2016/12/06(火) 19:02:50.65ID:GBHXmuqR ありがとうございます。
バーコードから送られてくる文字を全てキャンセルしたいのです。
一文字ずつチェックするのではなく、一気に送られて来た文字を消す方法はありませんか?
宜しくお願いします。
バーコードから送られてくる文字を全てキャンセルしたいのです。
一文字ずつチェックするのではなく、一気に送られて来た文字を消す方法はありませんか?
宜しくお願いします。
137デフォルトの名無しさん
2016/12/06(火) 19:18:11.18ID:BLWAVjyu138デフォルトの名無しさん
2016/12/06(火) 20:03:14.51ID:4bwuxuwQ こんなんじゃだめなの?
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then begin
ShowMessage('Enter!');
Edit1.Clear;
end;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then begin
ShowMessage('Enter!');
Edit1.Clear;
end;
end;
139デフォルトの名無しさん
2016/12/06(火) 20:26:28.30ID:GBHXmuqR ありがとうございます。
出来ました。
条件に合わなかったら入力したらいけないと変な思い込みをしてました。
助かりました。
出来ました。
条件に合わなかったら入力したらいけないと変な思い込みをしてました。
助かりました。
140デフォルトの名無しさん
2016/12/07(水) 09:03:33.62ID:gTqL7Hsg キーバッファw
141デフォルトの名無しさん
2016/12/07(水) 09:09:12.00ID:fnsUACzH えっ?
142デフォルトの名無しさん
2016/12/07(水) 09:47:59.67ID:7C3MKHBs ラジオボタンって大きくならない?
143デフォルトの名無しさん
2016/12/07(水) 16:09:50.00ID:1k8Mb6um できません。
大きなラジオボタンの絵を描くならできます(ちょっと気持ち悪いので注意)。
procedure TForm1.FormPaint(Sender: TObject);
begin
DrawFrameControl(Canvas.Handle, ClientRect, DFC_BUTTON, DFCS_BUTTONRADIO or DFCS_CHECKED);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Invalidate; // フォームの再描画をWindowsに促す。
end;
大きなラジオボタンの絵を描くならできます(ちょっと気持ち悪いので注意)。
procedure TForm1.FormPaint(Sender: TObject);
begin
DrawFrameControl(Canvas.Handle, ClientRect, DFC_BUTTON, DFCS_BUTTONRADIO or DFCS_CHECKED);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Invalidate; // フォームの再描画をWindowsに促す。
end;
144デフォルトの名無しさん
2016/12/08(木) 15:42:09.36ID:G/Oz9Gxc Berlin update2 のFireMonkeyで
Listbox.Items.Exchangeメソッドが動作しないXE2では動くのに
Listbox.Items.Exchangeメソッドが動作しないXE2では動くのに
145デフォルトの名無しさん
2016/12/09(金) 16:34:59.90ID:G3AX0Oay お前が悪い
146デフォルトの名無しさん
2016/12/10(土) 23:22:51.23ID:KMGjeMy/ 質問です
147デフォルトの名無しさん
2016/12/10(土) 23:33:56.35ID:KMGjeMy/ 関連付けされてるファイルを起動するのは ShellExecute でできますが
例えば abc.csv ファイルを .txt で関連付けされてるアプリケーションで
開く簡単な方法はあるでしょうか
例えば abc.csv ファイルを .txt で関連付けされてるアプリケーションで
開く簡単な方法はあるでしょうか
148デフォルトの名無しさん
2016/12/11(日) 06:10:35.77ID:RsXQTiEs ”
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
”
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
”
149デフォルトの名無しさん
2016/12/11(日) 12:45:00.53ID:DKctrae4150デフォルトの名無しさん
2016/12/11(日) 16:52:57.05ID:uXWnPaTO 拡張子に関連付けされた実行ファイル名の取得
http://mrxray.on.coocan.jp/Delphi/plSamples/480_GetFullExePath.htm
http://mrxray.on.coocan.jp/Delphi/plSamples/480_GetFullExePath.htm
151デフォルトの名無しさん
2016/12/11(日) 18:44:37.29ID:IZotsPxu152デフォルトの名無しさん
2016/12/12(月) 14:28:19.03ID:JuHHFpqe 私はFindExecutable APIで拡張子".txt"のダミーのファイル名を渡して…というところまで考えていたのですが、そのものずばりなAPIがあるのですね。
153デフォルトの名無しさん
2016/12/15(木) 11:41:17.48ID:KMS/yunp Cのライブラリで
const char *ss[] = {"abc", "def", "xyz", NULL};
を引数として要求するAPIがあるのですがDelphiからは
どうやって定義すればよいでしょう?
const char *ss[] = {"abc", "def", "xyz", NULL};
を引数として要求するAPIがあるのですがDelphiからは
どうやって定義すればよいでしょう?
154デフォルトの名無しさん
2016/12/15(木) 12:42:40.01ID:jYtTego3 ポインタのポインタ
155デフォルトの名無しさん
2016/12/15(木) 21:30:43.84ID:esnvxFap array of PChar
156デフォルトの名無しさん
2016/12/16(金) 08:13:11.02ID:khJxMTBU157デフォルトの名無しさん
2016/12/16(金) 13:53:20.44ID:bP8vH7ub IntArray: array[0..99, 0..99] of Integer;
AI :IntArray;
P :Pointer;
Fs :TFileStream;
i,j :Integer;
for i := 0 to 99 do
for j := 0 to 99-1 do
AI[i,j] := Random(1000)+50;
Fs.Write(AI[0,0], SizeOf(Integer)*L );
Fs.Write(AI, SizeOf(Integer)*L ); ………(#)
のどちらでも OK ですが、これは AI[0,0] と AI のアドレスが同じというだけで
AI[0,0] = AI
ではないのですから、(#)の記述は AI という '配列名' はポインタのように感じられます。しかし、
P := AI;
とするとコンパイラに怒られます。Delphi の '静的配列名' はポインタではないのしょうか。
AI :IntArray;
P :Pointer;
Fs :TFileStream;
i,j :Integer;
for i := 0 to 99 do
for j := 0 to 99-1 do
AI[i,j] := Random(1000)+50;
Fs.Write(AI[0,0], SizeOf(Integer)*L );
Fs.Write(AI, SizeOf(Integer)*L ); ………(#)
のどちらでも OK ですが、これは AI[0,0] と AI のアドレスが同じというだけで
AI[0,0] = AI
ではないのですから、(#)の記述は AI という '配列名' はポインタのように感じられます。しかし、
P := AI;
とするとコンパイラに怒られます。Delphi の '静的配列名' はポインタではないのしょうか。
158デフォルトの名無しさん
2016/12/16(金) 13:58:41.71ID:n8JQ6xp/ Fs.Writeの引数の型宣言みろ
159デフォルトの名無しさん
2016/12/16(金) 14:20:04.02ID:bP8vH7ub 引数は型なしパラメータだから、実際にはパラメータのアドレスが Fs.Write に渡され、
そのアドレスが処理対象になる。つまりそこに必要なサイズのメモリ領域が正しく確保さ
れていれば、その領域がどのような型なのかは関係ないということか。
結局 Delphi の '静的配列名' はポインタではないんだね。
そのアドレスが処理対象になる。つまりそこに必要なサイズのメモリ領域が正しく確保さ
れていれば、その領域がどのような型なのかは関係ないということか。
結局 Delphi の '静的配列名' はポインタではないんだね。
160デフォルトの名無しさん
2016/12/16(金) 14:32:37.28ID:HmHblg1G P := Pointer(AI);
161153
2016/12/16(金) 16:08:44.84ID:khJxMTBU 後に誰かの参考になるかもしれないので少し詳しく書いておきます。
Cで作成されたDLL内の関数の.hファイルの定義が
void hoge(const char **hage);
となっていて、
const char *ss[] = {"abc", "def", "xyz", NULL};
hoge(ss);
という使用例が書かれてたところ、
procedure hoge(hage: array of PAnsiChar); cdecl; external 'kage.dll';
hoge(['abc', 'def', 'xyz', nil]);
で上手く動作しました。ペコリ。
Cで作成されたDLL内の関数の.hファイルの定義が
void hoge(const char **hage);
となっていて、
const char *ss[] = {"abc", "def", "xyz", NULL};
hoge(ss);
という使用例が書かれてたところ、
procedure hoge(hage: array of PAnsiChar); cdecl; external 'kage.dll';
hoge(['abc', 'def', 'xyz', nil]);
で上手く動作しました。ペコリ。
162デフォルトの名無しさん
2016/12/16(金) 16:14:50.71ID:n8JQ6xp/ さんざん概出
164デフォルトの名無しさん
2016/12/18(日) 18:39:46.50ID:SM4ZDbUW TreeView をデザイン時にフォームに貼り付けてできたアプリを終了するとき
TreeView の各ノードが保持するデータ(TreeView1.Items[n].data が保持しているデータ)
も自動的に廃棄されるのですか?
TreeView の各ノードが保持するデータ(TreeView1.Items[n].data が保持しているデータ)
も自動的に廃棄されるのですか?
165デフォルトの名無しさん
2016/12/18(日) 18:51:06.13ID:U6l2OwGO >>164
TTreeNode::Data が保持するデータはプログラマが明示的に破棄しないとダメ。
TTreeNode::Data が保持するデータはプログラマが明示的に破棄しないとダメ。
166デフォルトの名無しさん
2016/12/18(日) 20:05:19.93ID:SM4ZDbUW >>165
ありがとう。
以下のような感じでいいのですかな?
//TNodeData は TreeNode.Data が保持するデータのクラス
//+----------- FormDestroy ------------+
procedure TForm1.FormDestroy(Sender: TObject);
i: Integer;
begin
with TreeView1 do
for i = 0 to Items.Count - 1 do
TNodeData(Items[i].Data).Free;
//TreeView1.Items.Clear; 不要
end;
あるいは TreeView のOnDeletion を使って
//+-------------- TreeViewDeletion --------------+
procedure Form1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node.Data) then
TNodeData(Node.Data).Free;
end;
ありがとう。
以下のような感じでいいのですかな?
//TNodeData は TreeNode.Data が保持するデータのクラス
//+----------- FormDestroy ------------+
procedure TForm1.FormDestroy(Sender: TObject);
i: Integer;
begin
with TreeView1 do
for i = 0 to Items.Count - 1 do
TNodeData(Items[i].Data).Free;
//TreeView1.Items.Clear; 不要
end;
あるいは TreeView のOnDeletion を使って
//+-------------- TreeViewDeletion --------------+
procedure Form1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node.Data) then
TNodeData(Node.Data).Free;
end;
167デフォルトの名無しさん
2016/12/18(日) 20:17:52.63ID:U6l2OwGO >>166
そんな感じ。
そんな感じ。
168デフォルトの名無しさん
2016/12/20(火) 23:16:00.88ID:ifPrFvUo スレッドを使ったプログラムで、スレッド内にある未使用の変数をコメントアウトしたら、
終了する時にアクセスバイオレーションが出るんだけど、こんな事ってあるの?
プライベートに宣言してあるからメインとかが絡んでる事は無いのだけど。
終了する時にアクセスバイオレーションが出るんだけど、こんな事ってあるの?
プライベートに宣言してあるからメインとかが絡んでる事は無いのだけど。
169デフォルトの名無しさん
2016/12/20(火) 23:35:38.32ID:qjg7YQIs コメントアウトされた変数が確保していたメモリ域のおかげで
偶然アクセス違反が発生しない状態になってるとかじゃね?
要はコメントアウトしていなくてもコーディングミスで不正なメモリアクセスしている状態なのかも
偶然アクセス違反が発生しない状態になってるとかじゃね?
要はコメントアウトしていなくてもコーディングミスで不正なメモリアクセスしている状態なのかも
170デフォルトの名無しさん
2016/12/20(火) 23:43:04.81ID:ifPrFvUo こんな時間にありがとう!
そんな事があり得るんですか。
難しいなぁ。
そんな事があり得るんですか。
難しいなぁ。
171デフォルトの名無しさん
2016/12/21(水) 12:39:12.66ID:kCrlwcjM あり得るというより一番多いパターンだったり
172デフォルトの名無しさん
2016/12/21(水) 14:28:11.26ID:yxrWTbmA 「参照」とポインタの話か? 慣れるまで結構厄介だからな。
173デフォルトの名無しさん
2016/12/21(水) 17:50:14.49ID:69vl5rId ちょっと教えてください
自分自身(実行ファイル)を再起動する方法を教えてください
ちなみに二重起動を禁止したアプリでです
できれば再起動用の別アプリを使用しないのが理想的です...
自分自身(実行ファイル)を再起動する方法を教えてください
ちなみに二重起動を禁止したアプリでです
できれば再起動用の別アプリを使用しないのが理想的です...
174デフォルトの名無しさん
2016/12/21(水) 18:38:54.87ID:3rWlzZt5 >>173
自分自身が起動するときだけ二重起動許可して起動確認できたら自分を閉じる
自分自身が起動するときだけ二重起動許可して起動確認できたら自分を閉じる
175デフォルトの名無しさん
2016/12/21(水) 21:13:47.15ID:69vl5rId >>174
ありがとうございます。
やはりその方向ですか。
リスタート後に最初のインスタンスのiniファイルを読み込みたいで
Mutexのチェックの前に最初のインスタンスの終了を待つ処理が
必要かなと漠然と考えていたんですが...
簡単でスマートな方法はないんですね
ありがとうございます。
やはりその方向ですか。
リスタート後に最初のインスタンスのiniファイルを読み込みたいで
Mutexのチェックの前に最初のインスタンスの終了を待つ処理が
必要かなと漠然と考えていたんですが...
簡単でスマートな方法はないんですね
176デフォルトの名無しさん
2016/12/21(水) 21:25:28.28ID:GvkBvmPc >>175
自分(プロセスA)が自分(プロセスB)を起動するときに、コマンドラインで /restart というようなコマンドを渡す。
プロセスBは /restart ってコマンドを受け取ったら、Mutexの所有権を得るまで待機する。(再起動処理)
プロセスAはMutexの所有権を開放する。
/restartを受け取らなかった場合は、Mutexの所有権を得られなかった場合は終了する。(二重起動防止)
自分(プロセスA)が自分(プロセスB)を起動するときに、コマンドラインで /restart というようなコマンドを渡す。
プロセスBは /restart ってコマンドを受け取ったら、Mutexの所有権を得るまで待機する。(再起動処理)
プロセスAはMutexの所有権を開放する。
/restartを受け取らなかった場合は、Mutexの所有権を得られなかった場合は終了する。(二重起動防止)
177デフォルトの名無しさん
2016/12/21(水) 23:03:33.63ID:V2gs4HSo178デフォルトの名無しさん
2016/12/22(木) 20:53:24.89ID:GbxNFxpQ よろしくお願いします。
『レコード型Aを利用する、クラスA』を自作したとします。
そして、『このクラスAとほとんど同じ機能を持つが、レコード型Bを利用する、別のクラス』を作りたいとします。
この場合、どう記述するのが効率良いでしょうか。
例えば、よくサンプルで見る、TListのItemにレコード型のポインタを使ってデータを入れる場合。
type
// レコード型A
PTRecA = ^TRecA;
TRecA = record
// 略
end;
// レコード型B
PTRecB = ^TRecB;
TRecB = record
// 略
end;
// クラスA・・・レコード型Aを利用
TClassA = class(TList)
procedure SetItem(Rec: TRecA);
function GetItems(Index: Integer): TRecA;
end;
// クラスB・・・レコード型Bを利用
TClassB = class(TList)
procedure SetItem(Rec: TRecB);
function GetItems(Index: Integer): TRecB;
end;
上記の様に、クラスAとクラスBで似た様なコードの重複が多い場合、
クラスの定義をもっと効率良く記述できる方法があれば教えていただきたいです。
『レコード型Aを利用する、クラスA』を自作したとします。
そして、『このクラスAとほとんど同じ機能を持つが、レコード型Bを利用する、別のクラス』を作りたいとします。
この場合、どう記述するのが効率良いでしょうか。
例えば、よくサンプルで見る、TListのItemにレコード型のポインタを使ってデータを入れる場合。
type
// レコード型A
PTRecA = ^TRecA;
TRecA = record
// 略
end;
// レコード型B
PTRecB = ^TRecB;
TRecB = record
// 略
end;
// クラスA・・・レコード型Aを利用
TClassA = class(TList)
procedure SetItem(Rec: TRecA);
function GetItems(Index: Integer): TRecA;
end;
// クラスB・・・レコード型Bを利用
TClassB = class(TList)
procedure SetItem(Rec: TRecB);
function GetItems(Index: Integer): TRecB;
end;
上記の様に、クラスAとクラスBで似た様なコードの重複が多い場合、
クラスの定義をもっと効率良く記述できる方法があれば教えていただきたいです。
179デフォルトの名無しさん
2016/12/22(木) 20:58:35.19ID:T2mCxqBZ delphi ジェネリックスでググる
180デフォルトの名無しさん
2016/12/24(土) 05:08:06.07ID:dJj6Jdn2 クラスの継承を使えないか?
レコードのほうに「違い」を押し込んでクラスにして継承して、クラスは共用とできないか?
そもそもクラスとレコードに分ける必要があるのか?
などなど
レコードのほうに「違い」を押し込んでクラスにして継承して、クラスは共用とできないか?
そもそもクラスとレコードに分ける必要があるのか?
などなど
181デフォルトの名無しさん
2016/12/24(土) 16:48:03.74ID:NvTs06qg レコード型をクラスのメンバとしてポインタで管理して
そのポインタの実体を操作する仮想メソッドなどを作る。
そのポインタの実体を操作する仮想メソッドなどを作る。
182デフォルトの名無しさん
2016/12/24(土) 23:24:23.58ID:SRluPO+r firemonkeyを使ってandroid向けのゲームを作り始めましたが
いきなり躓いて困ってます。
ゲームループのスレッドを作って描画を行っていますが
TBitmapがスレッドセーフでないため描画処理が正常に行えません。
firemonkeyでゲームを作る場合はメインスレッドのみで作るのでしょうか。
いきなり躓いて困ってます。
ゲームループのスレッドを作って描画を行っていますが
TBitmapがスレッドセーフでないため描画処理が正常に行えません。
firemonkeyでゲームを作る場合はメインスレッドのみで作るのでしょうか。
183デフォルトの名無しさん
2016/12/25(日) 02:11:22.91ID:dFY2jBPw lockしてもダメ?
184デフォルトの名無しさん
2016/12/25(日) 09:12:26.41ID:LRNNB7e/ DrawGridのセルの色を取得する方法を教えて下さい。
どのセルに何色を塗ったか記憶しているのですか、
もっと簡単に知る方法があると思い質問させてもらいました。
宜しくお願いします。
どのセルに何色を塗ったか記憶しているのですか、
もっと簡単に知る方法があると思い質問させてもらいました。
宜しくお願いします。
185デフォルトの名無しさん
2016/12/25(日) 09:56:13.82ID:HB1HITh4 >>182
スレッド側でBitmap描画してからSynchronize使ってメインスレッドのBitmapに転送すれ
スレッド側でBitmap描画してからSynchronize使ってメインスレッドのBitmapに転送すれ
186デフォルトの名無しさん
2016/12/25(日) 09:59:02.44ID:BtIm+2Ns187デフォルトの名無しさん
2016/12/25(日) 10:11:02.14ID:BtIm+2Ns >>185
スレッド側で描画用のBitmapをCreateしてWidth、Heightを設定した段階で
EBitmapSizeTooBigの例外が発生してしまうため、そこまで辿り着けなくて困ってます。
スレッド側で描画用のBitmapをCreateしてWidth、Heightを設定した段階で
EBitmapSizeTooBigの例外が発生してしまうため、そこまで辿り着けなくて困ってます。
188デフォルトの名無しさん
2016/12/25(日) 10:30:12.14ID:rexwkbDx 例外の種類見る限り、スレッドと関係なさそうに見えるが。
ビットマップが大きすぎるってWidthとHeightをいくつに設定しようとしたの?
ビットマップが大きすぎるってWidthとHeightをいくつに設定しようとしたの?
189デフォルトの名無しさん
2016/12/25(日) 10:36:40.00ID:BtIm+2Ns >>188
サイズは350x450なのでたぶん大きすぎることはないと思います。
メインスレッドで動作させた場合は、例外が発生することなく動作するので
メインスレッド以外ではTBitmapは使えないのかと・・・
また、Windowsでは正常に動作してAndroidで動作させると例外が発生するため
Android固有の問題なのかなと思いまして
サイズは350x450なのでたぶん大きすぎることはないと思います。
メインスレッドで動作させた場合は、例外が発生することなく動作するので
メインスレッド以外ではTBitmapは使えないのかと・・・
また、Windowsでは正常に動作してAndroidで動作させると例外が発生するため
Android固有の問題なのかなと思いまして
190デフォルトの名無しさん
2016/12/25(日) 12:33:01.08ID:dFY2jBPw >>186
map/unmap
map/unmap
191デフォルトの名無しさん
2016/12/25(日) 17:27:44.55ID:HB1HITh4192デフォルトの名無しさん
2016/12/25(日) 17:59:22.97ID:YEQFz9Pa Delのバグかよ
193デフォルトの名無しさん
2016/12/25(日) 18:04:15.67ID:BtIm+2Ns194デフォルトの名無しさん
2016/12/28(水) 09:28:27.13ID:aele3sW5 Delphi 10.1 BerlinのStarterでチュートリアルをやってます。
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/ユーザー アクションに対する応答をコード エディタでコーディングする(IDE チュートリアル)
このページの中ほどまで進んだら
[dcc32 エラー] TextEditorUnit.pas(94): E2003 未定義の識別子 : 'TDialogServiceSync'
というエラーが表示されてしまいます。
どうしたら修正できるのでしょうか?
http://docwiki.embarcadero.com/RADStudio/Berlin/ja/ユーザー アクションに対する応答をコード エディタでコーディングする(IDE チュートリアル)
このページの中ほどまで進んだら
[dcc32 エラー] TextEditorUnit.pas(94): E2003 未定義の識別子 : 'TDialogServiceSync'
というエラーが表示されてしまいます。
どうしたら修正できるのでしょうか?
195デフォルトの名無しさん
2017/01/01(日) 00:51:30.42ID:u9hnImCi >>194
ここで引っかかってるのかな?
UserResponse := TDialogServiceSync.MessageDialog(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, mbYesNo, TMsgDlgBtn.mbYes, 0);
TDialogServiceSync はFire Monkeyでしか使えないからvclプログラムではエラーになって当然かも。
チュートリアルのソースコードって色々バグってるからなぁ…
とりあえず
UserResponse := MessageDlg(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, [mbYes, mbNo], 0);
と書き換えたらエラー出なくなると思う。
ここで引っかかってるのかな?
UserResponse := TDialogServiceSync.MessageDialog(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, mbYesNo, TMsgDlgBtn.mbYes, 0);
TDialogServiceSync はFire Monkeyでしか使えないからvclプログラムではエラーになって当然かも。
チュートリアルのソースコードって色々バグってるからなぁ…
とりあえず
UserResponse := MessageDlg(
'File already exists. Do you want to overwrite?',
TMsgDlgType.mtInformation, [mbYes, mbNo], 0);
と書き換えたらエラー出なくなると思う。
196デフォルトの名無しさん
2017/01/02(月) 05:54:12.25ID:IPXAtosy クラスファンクションなのかそれは?
197194
2017/01/02(月) 12:22:05.25ID:THkmnZCs >>195
ありがとうございました。早速試してみましたが、
[dcc32 エラー] TextEditorUnit.pas(99): E2003 未定義の識別子 : 'mbYes'
[dcc32 エラー] TextEditorUnit.pas(99): E2250 指定された引数で呼び出すことのできるオーバーロード関数 'MessageDlg' が定義されていません
[dcc32 警告] TextEditorUnit.pas(99): W1000 シンボル 'MessageDlg' を使用することは推奨されていません : 'Use FMX.DialogService methods'
とエラーが出てコンパイルが通りませんでした。
FireMonkeyはデフォルトで使えるのかと思ってました。いろいろと無知すぎるので
もうちょっと分かりやすいところから勉強しなおしてみます。
ありがとうございました。早速試してみましたが、
[dcc32 エラー] TextEditorUnit.pas(99): E2003 未定義の識別子 : 'mbYes'
[dcc32 エラー] TextEditorUnit.pas(99): E2250 指定された引数で呼び出すことのできるオーバーロード関数 'MessageDlg' が定義されていません
[dcc32 警告] TextEditorUnit.pas(99): W1000 シンボル 'MessageDlg' を使用することは推奨されていません : 'Use FMX.DialogService methods'
とエラーが出てコンパイルが通りませんでした。
FireMonkeyはデフォルトで使えるのかと思ってました。いろいろと無知すぎるので
もうちょっと分かりやすいところから勉強しなおしてみます。
198デフォルトの名無しさん
2017/01/02(月) 20:49:19.17ID:7Rs/ksIu199デフォルトの名無しさん
2017/01/04(水) 22:56:01.95ID:SVZbRNc5 スレッドからサブフォームを表示する事は可能ですか?
他の機器から特定の信号が来たら、警告画面みたいなのを表示しようとして
スレッドで信号監視してフォーム表示のつもりがうまくいきません。
なのでメインフォームにタイマー置いてタイマーイベントで信号監視しています。
ヘルプを読むとスレッドからフォームはコントロール出来ないような事が書いてあったのですが、皆さんならどうしますか?
他の機器から特定の信号が来たら、警告画面みたいなのを表示しようとして
スレッドで信号監視してフォーム表示のつもりがうまくいきません。
なのでメインフォームにタイマー置いてタイマーイベントで信号監視しています。
ヘルプを読むとスレッドからフォームはコントロール出来ないような事が書いてあったのですが、皆さんならどうしますか?
200デフォルトの名無しさん
2017/01/04(水) 23:19:05.87ID:07zJ2hFc 表示するだけなんでしょ?
自分だったらpostmessage
自分だったらpostmessage
201デフォルトの名無しさん
2017/01/04(水) 23:55:57.26ID:07zJ2hFc ごめん
post-/sendmessageにはwm_closeみたいな表示するメッセージはなかった
独自のメッセージを定義して受け取った側でshowするか
showwindow(async)を使うかだね
post-/sendmessageにはwm_closeみたいな表示するメッセージはなかった
独自のメッセージを定義して受け取った側でshowするか
showwindow(async)を使うかだね
202デフォルトの名無しさん
2017/01/05(木) 00:45:48.42ID:sWl9IbhJ >>199
TThread.Synchronizeで、メインスレッドに切り替えてから、引数で渡されたコールバックメソッド(手続き)でサブフォームを表示させるとか
TThread.Synchronizeで、メインスレッドに切り替えてから、引数で渡されたコールバックメソッド(手続き)でサブフォームを表示させるとか
203194
2017/01/05(木) 06:34:16.06ID:KgVZC7r0204デフォルトの名無しさん
2017/01/05(木) 07:19:36.75ID:DrifgVvY206デフォルトの名無しさん
2017/01/08(日) 16:20:11.76ID:lAdNqeO/ TShellCtrlコンポーネントって、デモに含まれるものなんだよね なんでVCLに含めなかった??
207デフォルトの名無しさん
2017/01/09(月) 14:24:09.01ID:KdQvIKlc208デフォルトの名無しさん
2017/01/10(火) 11:27:52.10ID:D5z5IiVv マルチスレッドが終了したかどうか確認するのに、フラグで確認してるんだけど、
なんかもっとスマートな方法ってありませんか?
ググったらWaitForが出て来たのですが、hoge.WaitForとしてもハンドルエラーとか出て使えませんでした。
宜しくお願いします。
なんかもっとスマートな方法ってありませんか?
ググったらWaitForが出て来たのですが、hoge.WaitForとしてもハンドルエラーとか出て使えませんでした。
宜しくお願いします。
209デフォルトの名無しさん
2017/01/10(火) 12:33:32.63ID:8tL5nmKS 何があなたのスマートの基準なのか?
フラグは別に悪くないと思うけど。
フラグは別に悪くないと思うけど。
210デフォルトの名無しさん
2017/01/10(火) 17:34:35.55ID:cSdSlPHe freeが一番確実じゃない?
211デフォルトの名無しさん
2017/01/10(火) 17:41:03.73ID:9hDOaePS >>208
hogeってTThread?
そんだったらTThread.FreeOnTerminateをTrueにしてるから、
スレッドが終了してFreeされてるから、ハンドルエラーと出てくるんだろう。
FreeOnTerminiateをFalseにすればOK(そのかわりTThreadの破棄は自分でやる必要がある)。
hogeってTThread?
そんだったらTThread.FreeOnTerminateをTrueにしてるから、
スレッドが終了してFreeされてるから、ハンドルエラーと出てくるんだろう。
FreeOnTerminiateをFalseにすればOK(そのかわりTThreadの破棄は自分でやる必要がある)。
212デフォルトの名無しさん
2017/01/10(火) 18:11:59.83ID:uT10hEea 終了したか確認するのにWaitForしたら確認じゃなく待機しちゃってダメじゃないのかと思うけど。
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てるので良くないかい?
あとはメインフォームに終了通知としてメッセージ送るとか。
Win32API使うのOKなら FreeOnTerminiate:=false; にして
スレッドハンドルに対して WaitForSingleObject (タイムアウトは0に設定)使い
WAIT_OBJECT_0が返るかWAIT_TIMEOUTが返るか確認する。
もしくはGetExitCodeThread関数を使うとかかな。
FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てるので良くないかい?
あとはメインフォームに終了通知としてメッセージ送るとか。
Win32API使うのOKなら FreeOnTerminiate:=false; にして
スレッドハンドルに対して WaitForSingleObject (タイムアウトは0に設定)使い
WAIT_OBJECT_0が返るかWAIT_TIMEOUTが返るか確認する。
もしくはGetExitCodeThread関数を使うとかかな。
213デフォルトの名無しさん
2017/01/10(火) 18:56:40.06ID:XaHxjxQc そういやスレッドの終わり方の議論が2、3年前にあったな
214デフォルトの名無しさん
2017/01/10(火) 19:15:27.36ID:9hDOaePS FreeOnTerminateが使えない?とかいう議論じゃなかったっけw
215デフォルトの名無しさん
2017/01/10(火) 21:06:50.37ID:8tL5nmKS FreeOnTerminiate:=true;で OnTerminateイベントでフラグ立てる
に賛成。簡単確実。
に賛成。簡単確実。
216デフォルトの名無しさん
2017/01/11(水) 07:54:30.57ID:7+b9GoiT >>215
そのフラグの排他制御は簡単じゃないよ
そのフラグの排他制御は簡単じゃないよ
217デフォルトの名無しさん
2017/01/11(水) 08:27:35.32ID:7+b9GoiT ああOnTerminate 内はメインスレッドか。
なら簡単だわ。メンゴ。
昔はOnTerminateイベント無かった希ガス
なら簡単だわ。メンゴ。
昔はOnTerminateイベント無かった希ガス
218208
2017/01/11(水) 08:51:02.04ID:jn+AzvnI おはようございます。
皆さん、ありがとうございます。
フラグがやはり良さげなんですね。
もう1つ教えて下さい。
スレッドの中で
try
stringlist:=TStringList.Create;
while not Terminete do
begin
何かの処理
end;
finally
stringlist.free;
End;
とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
異常終了した時はfinallyの処理をしてくれます。
stringlistの解放はOnTermineteでするのが普通なのでしょうか?
皆さん、ありがとうございます。
フラグがやはり良さげなんですね。
もう1つ教えて下さい。
スレッドの中で
try
stringlist:=TStringList.Create;
while not Terminete do
begin
何かの処理
end;
finally
stringlist.free;
End;
とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
異常終了した時はfinallyの処理をしてくれます。
stringlistの解放はOnTermineteでするのが普通なのでしょうか?
219デフォルトの名無しさん
2017/01/11(水) 12:16:51.30ID:CK/PUOqI220デフォルトの名無しさん
2017/01/11(水) 14:34:41.49ID:Rshx8mvt >>219
tryはあるが?
tryはあるが?
221デフォルトの名無しさん
2017/01/11(水) 14:43:08.49ID:mOqhfYH5 >とした時に、TermineteをTrueにして終了するとfinallyの処理をしてくれません。
んなわけない。ちゃんとfinallyの処理するはずだからもっとしっかり確認しよう。
>フラグがやはり良さげなんですね。
もうちょっと具体的にスレッド終わった後何したいのかとか書いてくれんと答えようがねぇ。
んなわけない。ちゃんとfinallyの処理するはずだからもっとしっかり確認しよう。
>フラグがやはり良さげなんですね。
もうちょっと具体的にスレッド終わった後何したいのかとか書いてくれんと答えようがねぇ。
222デフォルトの名無しさん
2017/01/11(水) 17:34:02.96ID:y79IyYLw >>220
ホントだtryはあった...でも
最近のdelphiは仕様が変わったのか...
念のため例外処理入れてみたら?
list=:tstringlist.create;
try try
while not terminated do begin ...end;
// ここで正常処理終了のフラグをセット
except....end;
finally list.free; end;
ホントだtryはあった...でも
最近のdelphiは仕様が変わったのか...
念のため例外処理入れてみたら?
list=:tstringlist.create;
try try
while not terminated do begin ...end;
// ここで正常処理終了のフラグをセット
except....end;
finally list.free; end;
223デフォルトの名無しさん
2017/01/11(水) 18:26:26.78ID:tCuecbSb >>218
>TermineteをTrueにして終了するとfinallyの処理をしてくれません。
どうやって確認したの?
あとTThreadの派生クラスならTerminateはメソッドとTerminatedプロパティが使える。
>stringlistの解放はOnTermineteでするのが普通なのでしょうか?
そんなことはない。
>TermineteをTrueにして終了するとfinallyの処理をしてくれません。
どうやって確認したの?
あとTThreadの派生クラスならTerminateはメソッドとTerminatedプロパティが使える。
>stringlistの解放はOnTermineteでするのが普通なのでしょうか?
そんなことはない。
224デフォルトの名無しさん
2017/01/11(水) 18:29:24.22ID:+wq8yOB3 昔昔、QuadrupleDを使ってやってたサウンドの再生を最新のDelphiでやりたいんですが、使えるライブラリを探してます。
・複数のwaveファイルをマルチチャネルで読み込んでそれぞれ別個に再生したい
・チャネル単位でループ再生、ピッチ変更、音量変更がしたい
あるかな…(´・ω・`)
・複数のwaveファイルをマルチチャネルで読み込んでそれぞれ別個に再生したい
・チャネル単位でループ再生、ピッチ変更、音量変更がしたい
あるかな…(´・ω・`)
225デフォルトの名無しさん
2017/01/11(水) 21:03:36.27ID:go3Ym2g4 ブレーク入れてね
ステップで見るときブレーク入れないと
見かけ飛ばすから
ステップで見るときブレーク入れないと
見かけ飛ばすから
226デフォルトの名無しさん
2017/01/12(木) 06:31:56.17ID:a5xM53E0 フラグの排他制御は簡単だと思うが。
boolean変数一個なら読み書きは1命令で、割り込まれることはないだろうし
書く前に消されちゃうようなコードを書かなければいいだけ。
boolean変数一個なら読み書きは1命令で、割り込まれることはないだろうし
書く前に消されちゃうようなコードを書かなければいいだけ。
227デフォルトの名無しさん
2017/01/12(木) 07:43:07.08ID:pteiZ85t >>226
きちんとした知識がある人にとっては簡単だよね
きちんとした知識がある人にとっては簡単だよね
228デフォルトの名無しさん
2017/01/13(金) 08:37:54.09ID:ZuNdbFdt フラグをグローバルやメインフォームなどに
持たせるのはなんか古臭いという気持ちはある
持たせるのはなんか古臭いという気持ちはある
229デフォルトの名無しさん
2017/01/14(土) 13:08:24.40ID:gjFRSJdj 元号変わったらどうすっかな
D7だと対応できんだろ
D7だと対応できんだろ
230デフォルトの名無しさん
2017/01/14(土) 13:25:01.19ID:h3eR+GmF231デフォルトの名無しさん
2017/01/17(火) 17:31:21.77ID:O6RaaTFv Berlin試したみたけど以前ここで言った
gifアニメのバグが解消されてないな
gifアニメのバグが解消されてないな
232デフォルトの名無しさん
2017/01/18(水) 13:40:10.70ID:YhLwefSp string、ansichar、pansicharの型キャストってどうやるの?
暗黙の型キャストの警告を消したいんだけど、ググってstrpcopyとかのサンプルを実行しても消えない。
暗黙の型キャストの警告を消したいんだけど、ググってstrpcopyとかのサンプルを実行しても消えない。
233デフォルトの名無しさん
2017/01/19(木) 15:50:04.40ID:5UKguDxp >>232
string(ansistring変数)とかで消えない?
string(ansistring変数)とかで消えない?
234デフォルトの名無しさん
2017/01/20(金) 09:53:10.19ID:1eiriAuJ 具体的なコードを挙げてみては?
235デフォルトの名無しさん
2017/01/27(金) 12:59:02.17ID:/S2JEwyl Konopkaコンポーネントのアンインストール方法を教えて下さい。
インストール中に異常終了したのでアンインストールしたいのですが、
アンインストールも途中終了してしまって、行き詰ってしまいました。
よろしくお願いします。
インストール中に異常終了したのでアンインストールしたいのですが、
アンインストールも途中終了してしまって、行き詰ってしまいました。
よろしくお願いします。
236デフォルトの名無しさん
2017/01/27(金) 14:49:41.44ID:5OkJm/3R >>235
マイドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaのフォルダと
パブリックのドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaの
リポジトリデータを削除すればよかったと思う。(心配ならバックアップとっといてね)
konopka、インストール失敗するとアンインストールもできなくなるんだよね。
マイドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaのフォルダと
パブリックのドキュメント\Embarcadero\Studio\18.0\CatalogRepositoryにあるKonopkaの
リポジトリデータを削除すればよかったと思う。(心配ならバックアップとっといてね)
konopka、インストール失敗するとアンインストールもできなくなるんだよね。
238デフォルトの名無しさん
2017/02/01(水) 09:20:48.68ID:5qzbuLNZ 入力の支援機能で出て来た候補にカーソルを合わせて、
ピリオド打ったら選んだ候補が入力される設定ってどこにありますか?
ベルリンのup2を入れたのですが、最初は良かったのにいつの間にかピリオドで選択されなくなってしまいました。
ピリオド打ったら選んだ候補が入力される設定ってどこにありますか?
ベルリンのup2を入れたのですが、最初は良かったのにいつの間にかピリオドで選択されなくなってしまいました。
239デフォルトの名無しさん
2017/02/06(月) 19:05:34.17ID:xOrt0AYX StringGridのセルをデータの合わせて塗りつぶすことをしています。
タイマーイベントで0.2秒毎にデータに変化がなくても一旦デフォルト色にしてから他の色を塗っています。
そのせいだと思うのですがセルの選択ができません。
セルをランダムに色を塗りつつ、セルの選択もできるようにするにはどうしたらいいでしょうか?
タイマーイベントで0.2秒毎にデータに変化がなくても一旦デフォルト色にしてから他の色を塗っています。
そのせいだと思うのですがセルの選択ができません。
セルをランダムに色を塗りつつ、セルの選択もできるようにするにはどうしたらいいでしょうか?
240デフォルトの名無しさん
2017/02/06(月) 20:35:02.64ID:iNTq03fP おんどろーせる
241デフォルトの名無しさん
2017/02/06(月) 20:38:57.75ID:U9v8FdBr TSringGridのOnDrawCellイベントの引数で渡されるTGridDrawStateで、選択されたかどうか判断できる。
選択されてないときだけ、色を変更するよろし。
選択されてないときだけ、色を変更するよろし。
243デフォルトの名無しさん
2017/02/07(火) 04:11:46.40ID:odr3U2KT タイマーで200ミリ秒ずつやってるところが壮絶にまぬけっぽい 小学生以下の知能
244デフォルトの名無しさん
2017/02/07(火) 07:48:29.48ID:uL0lBsbg Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、もしくは
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
245239
2017/02/07(火) 14:14:09.54ID:vf4YiH1/ 昨日はありがとうございました。
TSringGridの特定のセルに数値を書き込むのにDrawTextを使って右寄せで書き込んでいます。
この書き込んだ数値を後から取得することってできますか?
セルにHintみたいに埋め込めたら簡単なんですけどググっても分かりませんでした。
>>243
シーケンサーの信号状態を監視するんで手っ取り早くタイマー使ってます。
TSringGridの特定のセルに数値を書き込むのにDrawTextを使って右寄せで書き込んでいます。
この書き込んだ数値を後から取得することってできますか?
セルにHintみたいに埋め込めたら簡単なんですけどググっても分かりませんでした。
>>243
シーケンサーの信号状態を監視するんで手っ取り早くタイマー使ってます。
246デフォルトの名無しさん
2017/02/07(火) 21:01:48.32ID:qgMFF5pP その「数値」はどこにしまってあるの? それは自分で世話するしかない。
DrawTextは文字列を描画するだけで、何書いたかなんてどこにも覚えていないよ。
DrawTextは文字列を描画するだけで、何書いたかなんてどこにも覚えていないよ。
247デフォルトの名無しさん
2017/02/07(火) 22:53:48.58ID:GEF3mu7C StringGridなんだから、Cellsプロパティを通して、文字列として各セルにでも入れときゃいいんでね?(ハナホジ
248デフォルトの名無しさん
2017/02/08(水) 07:16:05.46ID:3kd0dWw+ >>245
格納するオブジェクトも実装したらいいんじゃ
格納するオブジェクトも実装したらいいんじゃ
249デフォルトの名無しさん
2017/02/12(日) 16:38:05.20ID:iYdKWxWq 整数ならcellのobjects(だったっけかな)に入れときゃ良いじゃん
250デフォルトの名無しさん
2017/02/26(日) 22:21:06.30ID:S5w82ICF vs2015アンインスコしたらDel10.1でコンパイルできなくなった。
Del再インスコするしかない?
Del再インスコするしかない?
251デフォルトの名無しさん
2017/02/26(日) 22:23:37.25ID:8hwVjJWR 環境変数消されてるとか?
252デフォルトの名無しさん
2017/02/26(日) 23:37:41.28ID:S5w82ICF253デフォルトの名無しさん
2017/03/14(火) 14:46:39.28ID:SzM2z6wx スレッド1で変数aの値を読み書きしていてスレッド2では変数aを読み込みしかしない場合って干渉対策って必要?
254デフォルトの名無しさん
2017/03/14(火) 15:58:50.80ID:vbV/Jpv3 うん
255253
2017/03/14(火) 22:26:02.83ID:M7D1b0oM ありがとうございます。
干渉対策じゃなくて排他処理っていうんですね。
失礼しました。
各スレッドで共有する変数を集めたUnitに変数aを宣言して使っています。
この変数aを複数のスレッドからアクセスする場合、Synchronizeを使うのでしょうか?
SynchronizeはスレッドからVCLを描画する場合に使うと書いてあったので、フラグを立てるとかして
排他処理をするのでしょうか?
干渉対策じゃなくて排他処理っていうんですね。
失礼しました。
各スレッドで共有する変数を集めたUnitに変数aを宣言して使っています。
この変数aを複数のスレッドからアクセスする場合、Synchronizeを使うのでしょうか?
SynchronizeはスレッドからVCLを描画する場合に使うと書いてあったので、フラグを立てるとかして
排他処理をするのでしょうか?
256デフォルトの名無しさん
2017/03/14(火) 23:05:45.72ID:137tpMLx クリティカルセクションでも使えばいい、どっかで
CS := TCricalSection.Create()で作っておいて、
同時にアクセスされたら困るところで
CS.Enter();
try
共有リソースの変数Aにアクセスなど
finally
CS.Leave();
end;
CS := TCricalSection.Create()で作っておいて、
同時にアクセスされたら困るところで
CS.Enter();
try
共有リソースの変数Aにアクセスなど
finally
CS.Leave();
end;
257デフォルトの名無しさん
2017/03/14(火) 23:07:46.72ID:137tpMLx まぁ、他にもSyncObjs.pasにTInterlockedとかあるけど、
そこは自分で頑張ってくれ
そこは自分で頑張ってくれ
258デフォルトの名無しさん
2017/03/15(水) 07:56:13.67ID:OMQXGO2Q259253
2017/03/16(木) 09:51:28.35ID:IMOOaoXR 皆さん、ありがとうございます。
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
これから調べて確認しようと思うのですが、最後に1つ教えて下さい。
シンクロナイズを使い過ぎるとマルチスレッドの意味が無くなるとヘルプに書いてありました。
クリティカルセクション等は使い過ぎてもメインフォームの反応が悪くなるとかそういう事が無くなる、若しくは低減されるとかあるのでしょうか?
もし、それならクリティカルセクション等を推奨すると思うので使い過ぎはやはりダメとは思いますがどうなんでそょう?
260デフォルトの名無しさん
2017/03/16(木) 17:53:22.67ID:Xe646fvV どこからが使いすぎだと思う?
261デフォルトの名無しさん
2017/03/16(木) 18:29:10.53ID:vq3uRAd1 >>259
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。
クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
ウインドウ描画などしているスレッドが「メインVCLスレッド」。
要するにメッセージループが動作しているスレッド。
Synchronizeはこのメッセージループに「渡したプロシージャの処理を任せる」ため
Synchronizeを多用すると「メインフォームの反応が悪くなる」という状況を生む。
Synchronizeはあくまで変数のアクセスと言った軽い処理に限定すればいい。
この場合、メッセージループがウィンドウメッセージを処理する合間に変数へのアクセスを処理する程度なので
その程度で「メインフォームの反応が悪くなる」ということはないだろう。
ただ、もし重たい処理を任せてしまうと、フォームのイベントで処理するのと同じになってしまう。
(フォームなどコンポーネントのイベントはメインVCLスレッドで動作している)
この場合メインフォームの反応が悪くなる。
クリティカルセクションはメッセージループとか関係ないので、それによってメインフォームの反応が悪くなるということはない。
ただ例外として、メインVCLスレッドでクリティカルセクションを使うと、
他のスレッドが使用中はメインVCLスレッドは待機してしまうのでメインフォームの反応が悪くなることはある。
262デフォルトの名無しさん
2017/03/17(金) 07:45:46.44ID:88SBOT8h >>259
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
問題は「使い過ぎ」の定義だと思うけど
僕は1つ1つの処理の長さが長くなってしまった場合をいってるのではないかと思う。
同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
それを否定するようなプログラミングはもはやスレッドではないということではないかと。
263デフォルトの名無しさん
2017/03/17(金) 09:01:04.72ID:88SBOT8h あ、もしかしたら質問に答えてなかったかな?
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
つまりsyncronizeだろうがcsだろうが
占有状態が長くなるようなロジックになるなら同じことだ
264デフォルトの名無しさん
2017/03/17(金) 17:25:37.85ID:c2lVMe4f265デフォルトの名無しさん
2017/03/18(土) 10:42:58.16ID:TEQZ8ThN266デフォルトの名無しさん
2017/03/18(土) 11:15:40.91ID:uhuX0RUO OSのタスクスケジューリングやスレッド、Delphiのメインスレッドの話がごっちゃ混ぜになっててカオスカオス
267デフォルトの名無しさん
2017/03/18(土) 11:18:08.58ID:At1yjhtj 細かい処理が交互にっていつの時代のタスク割り当ての話してるんだ
268デフォルトの名無しさん
2017/03/18(土) 17:26:39.99ID:qhwfKSm6 >マルチコアなどの詳細な仕組みが現話題の結論に影響を与えるものではない
今の話題においてこれは正しいと思う。
>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
今の話題においてこれは正しいと思う。
>同時処理といっても現実は短い処理が交互に行われるのをスレッドと称しているだけであって
この話も同じく、“現話題の結論に影響を与えるものではない”
269デフォルトの名無しさん
2017/03/18(土) 17:42:46.56ID:uhuX0RUO 中途半端に説明するからややこしくなる
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する
くらいでイナフ
SynchronizeにしろCriticalSectionにしろDelphiのメインスレッドが処理待ちになる状況ができれば反応は悪化する
くらいでイナフ
270デフォルトの名無しさん
2017/03/18(土) 23:22:19.03ID:toYG3enn >>262が変な説明を入れたのが元凶だ
271デフォルトの名無しさん
2017/03/19(日) 10:14:13.46ID:pPSf+p35 >>269
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
メインに限らないっしょ。同期されたサブスレッド間でも片方が長い処理すれば片方は待ちになるわけだし。
272デフォルトの名無しさん
2017/03/19(日) 10:31:00.81ID:Zac56zGn >>271
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい
まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
メインスレッドを待機が発生するスレッドと置き換えて考えたら良いだけの話であってそのあたりは柔軟に考えてくだちい
まー、サブスレッド同士が待機しあって停滞しててもメインスレッドがそこに巻き込まれてなければ(見かけ上は)レスポンスの悪化とかは無いけどね
273デフォルトの名無しさん
2017/03/19(日) 12:59:15.63ID:pPSf+p35 結局「スレッド」という英単語が同いう意味かってだけだね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
あと例えば一度にたくさんのログインがあるサーバーなんかは
スレッドたくさん作ることによるメモリの圧迫が指摘されてて
メッセージ処理型に回帰してるよね。
つまり同時(的な)処理においてスレッドが万能ってわけじゃない
ことも知ってたほうがよいよね。
274デフォルトの名無しさん
2017/03/19(日) 16:36:19.37ID:z/4QTPa3 で、そのメモリ圧迫とやらは今回の質問のどこにかすっているのかね?
275デフォルトの名無しさん
2017/03/19(日) 18:47:31.53ID:Zac56zGn どんどん話題がすり変わっていくな
276デフォルトの名無しさん
2017/03/20(月) 01:59:24.49ID:Qzpue34I >>262
が悔し紛れに難癖つけてるだけっしょ
が悔し紛れに難癖つけてるだけっしょ
277デフォルトの名無しさん
2017/03/20(月) 07:33:47.40ID:/HDavIr2 予想どおりの反応ですw
278デフォルトの名無しさん
2017/03/23(木) 17:32:52.95ID:0AhE1jWZ 10.2tokyo入れて見たんだけど、10.1でgetitから入れたコンパーネントが入れられなくてプロジェクト開けられない。
エンバカ何なんだ?
エンバカ何なんだ?
279デフォルトの名無しさん
2017/03/24(金) 07:00:18.71ID:w0n9pMnW280デフォルトの名無しさん
2017/03/25(土) 07:13:02.05ID:Hlan26fq StarterのBerlinをTokyoにするんだけど
いったんBerlinをアンインストールするんだっけ?
いったんBerlinをアンインストールするんだっけ?
281デフォルトの名無しさん
2017/03/28(火) 04:59:23.66ID:by30piXi StarterのBerlinをインストールしたままTokyoをインストール出来ましたし、同時に起動出来ました。
公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
公式ブログには逆の順番(Tokyo→Berlin)でのインストールは、
お勧めしませんって書いてました。
282デフォルトの名無しさん
2017/03/28(火) 10:13:09.88ID:o61kLVYu283デフォルトの名無しさん
2017/03/31(金) 10:26:45.88ID:SnNLRdP6 2007からXEにあげるのに、いまさらながらユニコードに取り組むんですが、
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
・フォーム上で入力されるのはUTF-16
・UnicodeStringで保持するのはUTF-16
・ソースはUTF-8
の違いがあるようなのですが、ソースでリテラルで記述したUFT-8の文字を
コンポーネントのテキストやUnicodeStringに代入したりするとごちゃ混ぜに
なってしまうんですか?
284283
2017/03/31(金) 10:42:53.79ID:SnNLRdP6 文字コードを確認してみたのですが
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);
のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
var
c: Char;
begin
c := 'あ';
ShowMessage(Format('%x',[(Ord(c))]);
のソースで、ソースをバイナリエディタで見てみると、'あ'の部分
のコードはUTF-8ですが、Ord(c)はUTF-16のコードでした。
これは、勝手に文字コードの変換が掛かるのですか?
285デフォルトの名無しさん
2017/03/31(金) 11:27:56.20ID:tBgePiep こう言うとアレだけど
普通に使うときはユニコードとか
意識する必要ないんじゃない?
普通に使うときはユニコードとか
意識する必要ないんじゃない?
286283
2017/03/31(金) 11:48:21.75ID:SnNLRdP6 >>285
例えば、
s := Edit1.Text + 'が入力文字列';
のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
例えば、
s := Edit1.Text + 'が入力文字列';
のような場合だと、sにUTF-8の文字コードとUTF-16の文字コードが混在して
まずいような気がするのですが、プログラム動かしてみると、コンパイル時に
ソースコードでの文字列はUTF-16に変換してるのかな?と思ったのですが。
287デフォルトの名無しさん
2017/03/31(金) 12:08:45.28ID:YNGnrt5P 便乗失礼します。
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと
異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが
https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
2009以降
・ShowMessageの内部では、UnicodeStringとして表示する文字列を処理します。
ってことだったと思うのでUTF-16変換されてるのかと
異なるコード間では暗黙の変換される
でよかったでしょうか?
どこまで変換されるのかは確認してないのと、
Chr関数とか文字数、Byte数を数えるときに気をつけて考えておく、くらいでしか認識してないのですが
https://edn.embarcadero.com/jp/article/38783
https://edn.embarcadero.com/jp/article/38791
289デフォルトの名無しさん
2017/03/31(金) 12:27:36.02ID:tBgePiep290デフォルトの名無しさん
2017/03/31(金) 12:33:03.27ID:tBgePiep291デフォルトの名無しさん
2017/04/01(土) 09:16:09.24ID:FVobg3nm >>285
逆に、常に意識してないと嵌まることがあるよ。
逆に、常に意識してないと嵌まることがあるよ。
292デフォルトの名無しさん
2017/04/01(土) 11:20:45.32ID:1uakO4Jp コンパイル時に変換
293デフォルトの名無しさん
2017/04/01(土) 14:47:04.87ID:MIBbFxu2 >>288
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。
>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。
ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。
C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
リンク先を読んでみると、「すでにUnicodeとして扱われている」ってのが分かると思うんだが。
>Delphi 2009で、内部的に大きく変わっています。Delphi 2009では、Unicodeを標準文字列型として採用しているために、このコードで使われている文字列はすべてUnicodeです。
>Sに代入している ‘Hello, World.’ は、Unicodeです。
ソースの文字コードがなんであれ、リテラル文字列の扱いはUnicode。
C++Builderで扱う場合はLが付いているかいないかでリテラル文字列の扱いが変わると思う。
294デフォルトの名無しさん
2017/04/01(土) 16:29:34.25ID:xnSlrZsr てか簡単なサンプル作って試せば済むことじゃん
昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
昔のバージョンのdelphiで
文字コードを意識する必要があるケース以外
最近のバージョンのdelphiでも
unicodeであることは考えなくていいんじゃない
295デフォルトの名無しさん
2017/04/01(土) 21:40:45.92ID:JcotD4lU 真に気を付けないといけないのは1文字に複数文字が入ってるサロゲートペア
見た目が同じだからハマる
「ば」と「ば」が違う文字とかわっかんねーよ
見た目が同じだからハマる
「ば」と「ば」が違う文字とかわっかんねーよ
296デフォルトの名無しさん
2017/04/02(日) 09:37:47.98ID:OL+frmBm 正直UTF8で統一したほうがよかったと思う
297デフォルトの名無しさん
2017/04/02(日) 09:38:21.10ID:WSPdqmkD298デフォルトの名無しさん
2017/04/02(日) 09:40:01.86ID:OL+frmBm UTF16も実は可変長という落ちなんだからややこしくなっただけだと思う
299デフォルトの名無しさん
2017/04/02(日) 10:43:02.23ID:3chV0onz >>297
2chだと化ける可能性あるから両方サロゲートペアじゃないよ
入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか
おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
2chだと化ける可能性あるから両方サロゲートペアじゃないよ
入力ソフトによってはかな入力するとサロゲートペアになるんよ
んでUTF16の入力を受け付けるもんだからそのままDBに格納したりしてあとで検索にひっかからないとか
コードの仕様で言うならIF条件すり抜けたりとか
おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
300デフォルトの名無しさん
2017/04/02(日) 11:06:40.43ID:5Z3z/Zq2 は̋
301デフォルトの名無しさん
2017/04/02(日) 12:55:55.04ID:n+5RCyoZ >>295
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。
「ば」の話は合成文字だか結合文字だかそっちの話じゃん。
それ、ちょっと間違ってるな。
そのケースはサロゲートペアじゃないだろ。
サロゲートペアは単にUTF-16の2バイトのコードユニットで2つのコードユニットで
1文字を表すケースの事でしょ。
「ば」の話は合成文字だか結合文字だかそっちの話じゃん。
302デフォルトの名無しさん
2017/04/02(日) 13:01:11.75ID:n+5RCyoZ >299
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。
>おかげでEditのTextとか必ずUTF8Stringに代入する癖がついてしまった
だから、それも全然関係ないから。UTF-8だから解決するというのは勘違いだから。
合成文字の問題は「正規化」使って解決する問題。
303デフォルトの名無しさん
2017/04/02(日) 13:05:11.00ID:3chV0onz304デフォルトの名無しさん
2017/04/02(日) 13:10:15.31ID:n+5RCyoZ 言葉の使い方が完璧に間違ってるのに重箱のすみつつかないでっていわれてもなぁ・・
君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
君たちが議論してる「ぱ」と「は」+「゜」はサロゲートペアと全然関係ないんだけどな。
合成済み文字と基底文字と結合文字の話で合って、
サロゲートペアと全く関係ない。
305デフォルトの名無しさん
2017/04/02(日) 13:13:23.66ID:3chV0onz つまりこれこれこういう問題があってこうしましたって1から10まではしょらず正しい言葉をつかって説明しないとここには書き込むなって事ね。了解。
めんどくせ
めんどくせ
306デフォルトの名無しさん
2017/04/02(日) 13:17:10.52ID:n+5RCyoZ 完全に言葉の定義を間違ってるんだから、教えてあげただけじゃねぇかよ。
別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
別に間違ってたことに対して、「おまえら馬鹿?」みたいなくだらい煽りとか
俺はする気ねぇし。丁寧な言葉で教えてあげたら、その言いぐさ。
307デフォルトの名無しさん
2017/04/02(日) 13:20:18.66ID:8zECKtY8 君たち ではない。
308デフォルトの名無しさん
2017/04/02(日) 13:23:02.99ID:JDqJ1ftS 言葉の定義とやらが間違ってたとしても、
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
バグの原因になる事のコメントは個人的に大歓迎(こなみかん
309デフォルトの名無しさん
2017/04/02(日) 14:03:03.40ID:iqf+IrkA 俺には難しい話をしてるけど、文字扱うには正規化とやらをやって、utf8とか16とかに統一してから加工したり検索したりしないとハマるってこと?
310デフォルトの名無しさん
2017/04/02(日) 17:46:06.81ID:WSPdqmkD サロゲートペアに関連してだけど
MECUtilsとか使ってやったりするの?
今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
MECUtilsとか使ってやったりするの?
今まであんまり意識したことないから
注意喚起は嬉しいけどメンドクサ過ぎるね
311デフォルトの名無しさん
2017/04/02(日) 18:37:26.81ID:9KwT0wNW Unicode化の弊害というかなんというかだけど、
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
マルチデバイスも相まって想定外の変な文字が入る確率っていうのは
確かに飛躍的に増えてる・・・気がする。
312デフォルトの名無しさん
2017/04/02(日) 20:31:47.10ID:n+5RCyoZ313デフォルトの名無しさん
2017/04/02(日) 20:47:01.04ID:3chV0onz314デフォルトの名無しさん
2017/04/02(日) 20:48:31.98ID:3chV0onz おっと綴り間違ってたな
System.Characterだな。また重箱の隅つつかれるところだった
System.Characterだな。また重箱の隅つつかれるところだった
315デフォルトの名無しさん
2017/04/02(日) 21:07:50.79ID:n+5RCyoZ そうなんだ。それはすまん。XE3以降買ってなくて
最新のもってなくて。
最新のもってなくて。
316デフォルトの名無しさん
2017/04/02(日) 23:41:35.03ID:9/rnzeyZ 今ってディスプレイのアスペクト比が数種類あるけど、皆さんは画面のデザインってどうしてますか?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
16:9に合うようにデザインしてる?
それとも、フォームの設定とかで実行時にある程度アスペクト比に合わせてくれる設定とかってある?
317デフォルトの名無しさん
2017/04/03(月) 14:57:16.50ID:r7DyphN2 時代は可変
318デフォルトの名無しさん
2017/04/03(月) 17:20:51.81ID:vwU/OCff >>316
全画面表示させない
全画面表示させない
319デフォルトの名無しさん
2017/04/03(月) 18:42:50.88ID:gM/woy0K >>316
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
意味分からないが。
ウインドウサイズ自体固定させないし、
Align プロパティを使って固定部分とそうでない部分とを分けるし
プラスTSplitterでユーザの好みにさせたりもするし。
動画や画像でもないならアスペクト比なんて気にしないんじゃないのか。
320デフォルトの名無しさん
2017/04/03(月) 21:28:02.74ID:r3n0H3vn やっぱ、全画面表示させないが簡単でいいな
321デフォルトの名無しさん
2017/04/04(火) 06:32:18.18ID:vjUtddW+ >>316
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
ファイアーモンキーならTScaleLayout使って無理やり対応した事もあります
322デフォルトの名無しさん
2017/04/12(水) 07:11:34.88ID:lM5IX7kk メモリーリークの場所ってdelphiに標準で入ってるリークを監視するやつのフルバージョン入れないと分からない?
323デフォルトの名無しさん
2017/04/16(日) 12:03:24.01ID:he8BFR5v Delphi10.1でのフル機能のfastmm4の使い方を教えてください。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
メモリーリークのメッセージは出るのですが、テキストファイルが作成されないです。
よろしくお願いします。
324デフォルトの名無しさん
2017/04/17(月) 16:51:42.85ID:y+L9zWaz DatetimetostringとFormatDateTimeの違いって
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
procedureであるか、Functionであるか、だけですか?
(引数は異りますが)
325デフォルトの名無しさん
2017/04/17(月) 17:16:23.94ID:tXRogAtk326デフォルトの名無しさん
2017/04/17(月) 20:24:58.64ID:y+L9zWaz >>325
すみません、質問をはしおりすぎでした。
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。
FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、
DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。
すみません、質問をはしおりすぎでした。
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
上記2つ、使用目的はいっしょですよね。
なぜに同じような目的の手続きと関数が用意されているのか?
と思った次第です。
FormatDateTimeだと、
showmessage(FormatDateTime(....));とできますが、
DateTimeToStringだと、
var
DTstr :String;
Begin
DateTimeToString(DTstr, .....);
Showmessage(DTstr);
となるので、DTstr分手間がかかるなと思ってました。
327デフォルトの名無しさん
2017/04/18(火) 09:41:09.25ID:phVpBhu/ 何かとの互換性でどうしてもDT2strが欲しかったんじゃないかね
328デフォルトの名無しさん
2017/04/18(火) 15:11:31.58ID:nhn9im/Y329デフォルトの名無しさん
2017/04/18(火) 18:41:12.40ID:EH33vxsU >>326
ソースコード見てみると
FormatDateTimeはDateTimeToStringを呼び出しているだけ。
たぶん利便性(使い分けできるように)の問題だと思う。
ちなみに以下の関数が内部的にDateTimeToStringを呼び出すだけで実装されている。
function DateToStr(const DateTime: TDateTime): string;
function TimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
また同名の関数で引数の最後にTFormatSettings型が追加されたバージョンも
内部的にTFormatSettings型を引数に持つDateTimeToStringを呼び出しているだけ。
ソースコード見てみると
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を呼び出しているだけ。
331323
2017/04/19(水) 15:21:22.52ID:1b3gc8EV >>328
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
FastMM4のデモで試した結果、ソースの所のFastMM4 in 'FastMM4.pas'をSharememに変えたらリークの場所がわかる余裕になりました。
Sharememが何かはわかりません。w
円バカのサイトに載ってたのでやって見たらなんとか動作したって感じです。
332デフォルトの名無しさん
2017/04/23(日) 00:33:57.32ID:h9OMGlcp delphi10.1までは問題なかったのにdelphi10.2にしてから
stylebookで指定したstyleが一部反映されなくなりました。
tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz
対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
stylebookで指定したstyleが一部反映されなくなりました。
tabcontrolのタブがandroid実機で実行すると
styleが反映されずデフォルトのタブになってますorz
対処方法とか分かる方いらっしゃいますか?
暫くは10.1を使い続けるしかないですかね・・・
333デフォルトの名無しさん
2017/04/23(日) 01:24:14.01ID:6D2X13Ox >>332
Android用のスタイルを一旦削除してマージ
Android用のスタイルを一旦削除してマージ
334332
2017/04/23(日) 07:38:09.47ID:h9OMGlcp >>333
アドバイスありがとうございます。
Android用スタイルを削除してマージしてみましたが結果は同じでしたorz
もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。
同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。
また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。
実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
アドバイスありがとうございます。
Android用スタイルを削除してマージしてみましたが結果は同じでしたorz
もう少し詳細に書くとIDE上ではタブにもスタイルが反映されているが
ビルドしてAndroid実機で動かすとアクティブなタブだけが
デフォルトになってしまう状態です。
同じプロジェクトをDelphi10.1でビルドし直してAndroid実機で動かすと
アクティブなタブも含めてに正常にスタイルが反映されてます。
また、スタイルに使用しているファイルは「AquaGraphite.style」を
使用していますが他のスタイルファイルを使っても同様の結果でした。
実機はXperia Z3ですが他に持っていないので他機種でどうなるかは未検証です。
335332
2017/04/23(日) 07:50:06.92ID:h9OMGlcp >>333
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。
変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
すいませんTabControlのみしかない最小限のプロジェクトで試したら
正常にスタイルが反映されているのが確認できました。
変な設定がどこかで生きているのだと思います。
失礼しましたm(_ _)m
336デフォルトの名無しさん
2017/04/27(木) 08:22:37.61ID:rpeb1FWf メッセージダイアログやショーメッセージで改行を
使うとメモリリークが出るけどなんで?
使うとメモリリークが出るけどなんで?
337デフォルトの名無しさん
2017/04/27(木) 12:14:19.99ID:nqOtHEIU バグってんじゃね
338336
2017/04/27(木) 12:36:20.33ID:axAm+D16 delphiがバグってる?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
新規作成でシンプルな状態でやってもメモリーリークのメッセージが出るんだけど、どうすりゃ良いんだろう。
俺だけ?
339336
2017/04/28(金) 22:34:22.04ID:WI3n6xVG メモリーリークを調べているのですが
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
MessageDlg(IntToStr(123),mtConfirmation, [mbOK, mbCancel], 0);
IntToStr(123)が原因でメモリーリークが起きるみたいです。
Delphiのバグ?コードがダメ?
340デフォルトの名無しさん
2017/04/30(日) 09:29:58.72ID:kcq5sr/L ソースみれば?
341デフォルトの名無しさん
2017/04/30(日) 11:59:29.48ID:0p25w19v 336ではないけどソースコード見てみた
ポイントになりそうなところがアセンブリで書かれてた
ポイントになりそうなところがアセンブリで書かれてた
342デフォルトの名無しさん
2017/04/30(日) 12:08:19.89ID:VPr4LyhY それがどうかしたか
343デフォルトの名無しさん
2017/04/30(日) 23:16:41.78ID:rKLNeW5H 1. MessageDlg と同じ引数を持つ、そのユニット内にローカルな関数を書いて、MessageDlg のせいかどうか調べる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
2. IntToStr と同じ引数を持ち、適当な文字列を返す関数を同様に書いてみる。
3. コンソールアプリケーションのプロジェクトを作成して、1.を行って調べてみる。
4. 同様に IntToStr も行ってみる。
344デフォルトの名無しさん
2017/04/30(日) 23:36:32.18ID:5yRtGq51 どのバージョンで発生したのかしら?
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
こちらのTurbo Delphiは
ReportMemoryLeaksOnShutdown := True;
で再現せず。
345デフォルトの名無しさん
2017/05/02(火) 01:47:15.38ID:As8TBna0 昔の経験
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
マルチスレッド内で間違った呼びし、クリティカルセクションの間違った実装
346デフォルトの名無しさん
2017/05/02(火) 08:06:56.48ID:Hq/uPbjy 「IntToStr(123)が原因でメモリーリークが起きる」
と判断した理由を開示せよ
と判断した理由を開示せよ
347デフォルトの名無しさん
2017/05/24(水) 11:04:03.05ID:ipeCfZP9 32biでも64bitでもinteger型は32bitですか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
Pointer型(とPtrInt型)だけが変化すると考えてよいのでしょうか?
348デフォルトの名無しさん
2017/05/24(水) 11:54:37.27ID:4nncZNTT -1 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
0 を代入する
pointer を求める
pointer + 0 と pointer + 3 と pointer + 7 あたりを見る
349デフォルトの名無しさん
2017/05/25(木) 14:51:52.47ID:qme3C1o0 Integer は 32 だけど LongInt は 32 とは限らない
350デフォルトの名無しさん
2017/05/26(金) 08:47:10.54ID:trsKQBBQ >>349
そんなことどこにも書いてないけどホント?
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
そんなことどこにも書いてないけどホント?
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.71ID:gif2nYmV そのページは、たぶん、Win32->Win64 だけの頃のやつ。
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/Delphi_%E5%9E%8B%E3%81%A8_C%2B%2B_%E5%9E%8B%E3%81%AE%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
ここで、C の long は、Wind64 では 32-bit、iOS64/Linux64では 64-bit。
とか
http://docwiki.embarcadero.com/RADStudio/Tokyo/ja/%E5%8D%98%E7%B4%94%E5%9E%8B%EF%BC%88Delphi%EF%BC%89
とか
352デフォルトの名無しさん
2017/05/26(金) 10:13:55.43ID:trsKQBBQ353デフォルトの名無しさん
2017/05/26(金) 10:22:32.82ID:trsKQBBQ あ、iOSにはLinux系も含まれるんですか?
その辺のあやふやさも嫌な感じですね。
その辺のあやふやさも嫌な感じですね。
354デフォルトの名無しさん
2017/07/06(木) 10:33:45.10ID:E7iuEH9H シンエディットでプロシージャの名前とファンクションの名前を色分けするような使い方をしたいのですが、
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
シンジェネラルに設定するキーワードの種類を増やす事はでききませんか?
継承してシンジェネラルも自分で作らないと無理でしょうか?
355デフォルトの名無しさん
2017/07/06(木) 10:47:02.39ID:1ivNtSqb シンエディットて何?
356デフォルトの名無しさん
2017/07/06(木) 12:16:18.45ID:DKA4KQvd SynEditのことらしい
これをカタカナで書く感覚が分からん
これをカタカナで書く感覚が分からん
357デフォルトの名無しさん
2017/07/06(木) 13:00:39.86ID:/LwN4Pic すまん。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
あんまり、キーボードとかスマフォの画面とか触れないから音声のやつで入力した。
358デフォルトの名無しさん
2017/07/06(木) 16:56:40.09ID:uy+VElX3 キーボードが苦手なプログラマw
359デフォルトの名無しさん
2017/07/06(木) 19:47:25.65ID:j2rVCi1D360デフォルトの名無しさん
2017/07/08(土) 15:11:41.17ID:4Sqq07Ob これがアスペか・・
361デフォルトの名無しさん
2017/07/30(日) 22:35:33.76ID:PBa3jUos 昔MCIをいじっていた者です。覚えている人いるかな?
4年くらいメソッドを書いてなくて、送るでwavを聞きたいなって思って久しぶりにコンパイラを触りました。
何をするソフトなのかというとフォームに対してD&DしてTListにD&D元のファイルのフォルダの
ファイル名を取得するソフトなんですが、なぜうまくいかないかわからなくて…。
指摘していただければ幸いです。
4年くらいメソッドを書いてなくて、送るでwavを聞きたいなって思って久しぶりにコンパイラを触りました。
何をするソフトなのかというとフォームに対してD&DしてTListにD&D元のファイルのフォルダの
ファイル名を取得するソフトなんですが、なぜうまくいかないかわからなくて…。
指摘していただければ幸いです。
362デフォルトの名無しさん
2017/07/30(日) 22:37:14.18ID:PBa3jUos unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,ShellAPI, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
function SearchFile(SearchDir: string):integer; //SearchDir 検索対象のフォルダ
{ Private 宣言 }
protected
procedure FilesDropped(var Msg1:TWMDropFiles); message WM_DROPFILES;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,ShellAPI, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
function SearchFile(SearchDir: string):integer; //SearchDir 検索対象のフォルダ
{ Private 宣言 }
protected
procedure FilesDropped(var Msg1:TWMDropFiles); message WM_DROPFILES;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
363デフォルトの名無しさん
2017/07/30(日) 22:38:16.16ID:PBa3jUos procedure TForm1.Button1Click(Sender: TObject);
var
FileCount :integer;
begin
ListBox1.Clear;
//実行ファイルのあるディレクトリのファイルを列挙
FileCount :=SearchFile(ExtractFilePath(Application.ExeName));
ShowMessageFmt('%d個のファイルが見つかりました。',[FileCount]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
var
FileCount :integer;
begin
ListBox1.Clear;
//実行ファイルのあるディレクトリのファイルを列挙
FileCount :=SearchFile(ExtractFilePath(Application.ExeName));
ShowMessageFmt('%d個のファイルが見つかりました。',[FileCount]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
364デフォルトの名無しさん
2017/07/30(日) 22:38:43.85ID:PBa3jUos procedure TForm1.FilesDropped(var Msg1:TWMDropFiles);
var
FNameSize: UINT;
Count : UINT;
FileName : array[0..255] of Char;
FileName1: string;
begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0 );// A
if Count > 1 then Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
Filename1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then Exit;
label1.Caption := Filename1;
end;
end.
var
FNameSize: UINT;
Count : UINT;
FileName : array[0..255] of Char;
FileName1: string;
begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0 );// A
if Count > 1 then Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
Filename1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then Exit;
label1.Caption := Filename1;
end;
end.
365デフォルトの名無しさん
2017/07/31(月) 00:52:16.24ID:5UR8c5yg とこでfmxアプリをタスクトレイに収める方法はないですか?
探すとロシアのサイトにコンポーネントがあったけど
他に方法はないでしょうか?
探すとロシアのサイトにコンポーネントがあったけど
他に方法はないでしょうか?
366デフォルトの名無しさん
2017/07/31(月) 05:54:29.90ID:poJtShEs >>365
Windows専用だけどいい?
Windows専用だけどいい?
367デフォルトの名無しさん
2017/07/31(月) 08:21:01.65ID:5UR8c5yg >>366
ええもちろん
例えばバックグラウンドでネットにアクセスして
通知したりポップアップしたりする感じ
Androidだとserviceを使うんでしょうが
Windowsデスクトップだとタスクトレイに
常駐させるくらいしか思いつかない
こういうWindowsアプリをfmxで作る場合
どうするんでしょうか?
ええもちろん
例えばバックグラウンドでネットにアクセスして
通知したりポップアップしたりする感じ
Androidだとserviceを使うんでしょうが
Windowsデスクトップだとタスクトレイに
常駐させるくらいしか思いつかない
こういうWindowsアプリをfmxで作る場合
どうするんでしょうか?
368デフォルトの名無しさん
2017/07/31(月) 12:56:22.59ID:m2zUy0za >>367
WinAPI.WindowsをUSESしてタスクバーから消したいアプリケーションのHWND取得してShowWindow(HWND,SW_HIDE);をぶちかます
タスクトレイにアイコン表示させたりする場合はコード記述でもできるけど面倒だからMonkeyMixerか何か使ってVCLを混在させてTTrayIcon使う
WinAPI.WindowsをUSESしてタスクバーから消したいアプリケーションのHWND取得してShowWindow(HWND,SW_HIDE);をぶちかます
タスクトレイにアイコン表示させたりする場合はコード記述でもできるけど面倒だからMonkeyMixerか何か使ってVCLを混在させてTTrayIcon使う
369デフォルトの名無しさん
2017/07/31(月) 18:38:00.55ID:AynCBzeT370デフォルトの名無しさん
2017/08/01(火) 10:29:01.65ID:8qLxpsQt TTrayIconはVCL依存がほとんどないから、切り出して使った方が余計なユニットがリンクされなくていいと思う
自分はそうしてる
自分はそうしてる
371デフォルトの名無しさん
2017/08/13(日) 13:54:41.72ID:6x3+ks7t 教えてください。
fmxで矩形以外の多角形領域を
Bitmap(.Canvas)間でコピーするには
どうしたらいいでしょう?
Helpを探したんですが見つけられませんでした
苦肉の策で矩形領域を別のBitmapにコピーし
対象の多角形領域外を完全透過に塗りつぶして
それを最終的に目的のBitmapにコピーしてます
よろしくお願いします
fmxで矩形以外の多角形領域を
Bitmap(.Canvas)間でコピーするには
どうしたらいいでしょう?
Helpを探したんですが見つけられませんでした
苦肉の策で矩形領域を別のBitmapにコピーし
対象の多角形領域外を完全透過に塗りつぶして
それを最終的に目的のBitmapにコピーしてます
よろしくお願いします
372デフォルトの名無しさん
2017/08/26(土) 22:45:11.62ID:Siu65+Zd fmxねぇ...
実行ファイルのサイズが
vclの倍以上になるのはビックリ
でもvirustotalなんかでの誤検知は
確実に減るな
実行ファイルのサイズが
vclの倍以上になるのはビックリ
でもvirustotalなんかでの誤検知は
確実に減るな
373デフォルトの名無しさん
2017/08/29(火) 17:10:04.07ID:sf08cQEA DBCtrlのKeyPressメソッドで出てくる
^H ^V ^X
とかって何を指してるんですか?それぞれ16進で、8,16,18の値なんですが。
ポインタの逆参照以外で ”^” の使い方はヘルプにも無いのですが。
^H ^V ^X
とかって何を指してるんですか?それぞれ16進で、8,16,18の値なんですが。
ポインタの逆参照以外で ”^” の使い方はヘルプにも無いのですが。
374デフォルトの名無しさん
2017/08/29(火) 17:11:49.45ID:pis/sDRy H 48h
V 56h
X 58h
ctrl+H で 08h
ctrl+V で 16h
ctrl+X で 18h
V 56h
X 58h
ctrl+H で 08h
ctrl+V で 16h
ctrl+X で 18h
376デフォルトの名無しさん
2017/09/20(水) 09:56:54.97ID:lqqkwYAM ちょっと教えてください
ジェネリクスなTListにレコード型を格納しておいて
後でレコード内の一部のフィールドを修正したい場合
どうすればいいんでしょうか
やっぱレコード全体を取り出して、修正後に全体を書き戻す?
ジェネリクスなTListにレコード型を格納しておいて
後でレコード内の一部のフィールドを修正したい場合
どうすればいいんでしょうか
やっぱレコード全体を取り出して、修正後に全体を書き戻す?
377デフォルトの名無しさん
2017/09/21(木) 21:39:40.01ID:pNUeS15R うまくいくかはわからないが、
lst: TList<THoge>なリストがあるとして、
for i :=0 to lst.Count-1 do begin
lst.List[i].SomeField := v;
end;
のように、レコードのコピーが発生しないようにすればもしや。
lst: TList<THoge>なリストがあるとして、
for i :=0 to lst.Count-1 do begin
lst.List[i].SomeField := v;
end;
のように、レコードのコピーが発生しないようにすればもしや。
378デフォルトの名無しさん
2017/09/22(金) 00:31:23.41ID:zuQMjG3e デフォルトプロパティ List[i] に相当する List.Items[i] の
read関数 function TList<T>.GetItem(Index: Integer): T; は、戻り値が
左辺値ではないので、どうしても一時変数が必要です。
read関数 function TList<T>.GetItem(Index: Integer): T; は、戻り値が
左辺値ではないので、どうしても一時変数が必要です。
379デフォルトの名無しさん
2017/09/22(金) 07:31:05.69ID:mBOH6uxg380デフォルトの名無しさん
2017/09/23(土) 14:45:31.84ID:69c72AW1 Delphi 10.2 Update 1で実行しています。
log.d('error だめぽ');
上記コードをiPhone実機で実行して
Xcode -> Window -> Devicesに表示されている実機のログを確認すると
以下のように全角文字が文字化けします。
2017/09/23 14:35:21 Project1[7478]: error \M-c\M^A\240\M-c\M^B\M^A\M-c\M^A\M-=
解決策をご存知の方がいらっしゃいましたらお助けくださいませm(_ _)m
log.d('error だめぽ');
上記コードをiPhone実機で実行して
Xcode -> Window -> Devicesに表示されている実機のログを確認すると
以下のように全角文字が文字化けします。
2017/09/23 14:35:21 Project1[7478]: error \M-c\M^A\240\M-c\M^B\M^A\M-c\M^A\M-=
解決策をご存知の方がいらっしゃいましたらお助けくださいませm(_ _)m
381デフォルトの名無しさん
2017/09/23(土) 23:58:16.42ID:qb+wgPEX エスケープ文字をデコードすると e3 81 a0 e3 82 81 e3 81 bd なので、UTF-8 ですかね。
エスケープ文字への変換がログの前後かは切り分けてみましょう。od -x で16進表示すると、
\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
前者なら、ログを出力するツールの性格(ASCII以外は変換とか)、
後者ならコンソールへ出力するツールの変換ですかね。
前者なら、デコードツールでも作ってみれば。
\Mは、0x80を or するメタキーを併用したキー入力の名残りで、Emacs/GNU系の方言です。
\M-c は 0x80 + 'c' = 0xe3 、\M^A は 0x80 + 0x01 (Control-A) = 0x81、\240は8進表記なので 0xa0
エスケープ文字への変換がログの前後かは切り分けてみましょう。od -x で16進表示すると、
\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
前者なら、ログを出力するツールの性格(ASCII以外は変換とか)、
後者ならコンソールへ出力するツールの変換ですかね。
前者なら、デコードツールでも作ってみれば。
\Mは、0x80を or するメタキーを併用したキー入力の名残りで、Emacs/GNU系の方言です。
\M-c は 0x80 + 'c' = 0xe3 、\M^A は 0x80 + 0x01 (Control-A) = 0x81、\240は8進表記なので 0xa0
382380
2017/09/24(日) 08:50:50.85ID:xiqHS4Dl >>381
詳細に解説いただきありがとうございます!
>\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
od -xのやり方が分からなかったのでログをテキストで保存して
バイナリエディタで確認したところ5c 4d 2d 63でした。
これは表示する側の問題ということですよね?
あの後、XCodeでNSLogでデバッグログを出力する簡単なプログラムを書いて確認したところ
XCode上のデバッグコンソールには日本語が文字化けしないで出力されますが
Xcode -> Window -> Devicesに表示されている実機のログでは日本語が文字化けしたので
表示側の問題なのかなと思います。
日本語が表示できないのは不便なので解決できるとうれしいですが
こういう場合、難しいのでしょうか。
詳細に解説いただきありがとうございます!
>\M-c のところが、e3 なのか 5c 5d 2d 63 なのかでわかるでしょう。
od -xのやり方が分からなかったのでログをテキストで保存して
バイナリエディタで確認したところ5c 4d 2d 63でした。
これは表示する側の問題ということですよね?
あの後、XCodeでNSLogでデバッグログを出力する簡単なプログラムを書いて確認したところ
XCode上のデバッグコンソールには日本語が文字化けしないで出力されますが
Xcode -> Window -> Devicesに表示されている実機のログでは日本語が文字化けしたので
表示側の問題なのかなと思います。
日本語が表示できないのは不便なので解決できるとうれしいですが
こういう場合、難しいのでしょうか。
383デフォルトの名無しさん
2017/09/24(日) 19:16:16.23ID:QV3LCCDd384381
2017/09/25(月) 02:46:48.72ID:O5/7UCBk しまった。前後逆でした。e3 のままなら無変換。
で、ちょっと古いけどXcode6.3.2+ios8.3では日本語表示できてます。
で、ちょっと古いけどXcode6.3.2+ios8.3では日本語表示できてます。
385380
2017/09/25(月) 08:55:47.22ID:Ojd2COhe386デフォルトの名無しさん
2017/09/27(水) 10:22:25.25ID:9ZA1JIkS iOSってTBannerAdを使ってAdmob表示できないんですか?
docWiki見たらiOSはiAdを使う前提の説明しかなくて・・・
docWiki見たらiOSはiAdを使う前提の説明しかなくて・・・
387デフォルトの名無しさん
2017/10/17(火) 09:08:55.23ID:mEDA3l77 Delphi10.2ってxcode9.0に対応してる?
388デフォルトの名無しさん
2017/10/24(火) 09:26:42.32ID:ZAkkogtl すみません。どうしたりいいのか分からずに書き込みさせてください。
389デフォルトの名無しさん
2017/10/24(火) 09:43:54.24ID:PqKdrl6b ?
390デフォルトの名無しさん
2017/10/24(火) 20:03:21.48ID:1s7nmZJe もちつけ!
391デフォルトの名無しさん
2017/10/25(水) 11:38:12.62ID:32/KECdp したり顔
392デフォルトの名無しさん
2017/10/30(月) 20:24:16.10ID:n19lyVRb お伺いします。
https://www.axfc.net/u/3858375?key=delphi
アーカイブpass=123456
ですが、AというフォルダにB.zipC.zipD.zip・・・というファイルが入っています。
これにB.zipというファイルをフォームにD&Dで落とすと
1:q:\A\B.zip
2:q:\a
3:q:\a\
と表示されます。
そして、Button1を押すとバイナリがあるフォルダのファイルの数を報告します。
欲しい機能はB.zipをフォームにD&DをしたときにC.zip,D..zip
のAフォルダ内のファイルのすべてをListBox表示に表示させるにはどうしたらよいでしょうか?
最近いろいろやっているのですが、今ひとつ解決できないため、
教えていただけないでしょうか?
https://www.axfc.net/u/3858375?key=delphi
アーカイブpass=123456
ですが、AというフォルダにB.zipC.zipD.zip・・・というファイルが入っています。
これにB.zipというファイルをフォームにD&Dで落とすと
1:q:\A\B.zip
2:q:\a
3:q:\a\
と表示されます。
そして、Button1を押すとバイナリがあるフォルダのファイルの数を報告します。
欲しい機能はB.zipをフォームにD&DをしたときにC.zip,D..zip
のAフォルダ内のファイルのすべてをListBox表示に表示させるにはどうしたらよいでしょうか?
最近いろいろやっているのですが、今ひとつ解決できないため、
教えていただけないでしょうか?
393デフォルトの名無しさん
2017/10/30(月) 22:19:56.32ID:L79oOSSM >>392
TDirectory.GetFilesとExtractFilePath
TDirectory.GetFilesとExtractFilePath
394デフォルトの名無しさん
2017/11/02(木) 18:58:25.38ID:i0GpXesu すみません。エロい方教えてください。
s := 'ABC'#13#10;
という文字列を、SJISの16進文字列に変換して、
'4142430D0A'
にしたいのですが、やり方がわかりません。
どう書けばよいのでしょうか?
s := 'ABC'#13#10;
という文字列を、SJISの16進文字列に変換して、
'4142430D0A'
にしたいのですが、やり方がわかりません。
どう書けばよいのでしょうか?
395デフォルトの名無しさん
2017/11/03(金) 11:14:14.85ID:e5C3JHXA396デフォルトの名無しさん
2017/11/04(土) 21:02:07.27ID:wxgLJQNm D5でよければこんな感じでできるかな
procedure TForm1.FormCreate(Sender: TObject);
var
s, s2: string;
i: Integer;
begin
s := 'ABC'#13#10;
s2 := '';
for i := 1 to Length(s) do
begin
s2 := s2 + IntToHex(Ord(s[i]), 2);
end;
ShowMessage(s2);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
s, s2: string;
i: Integer;
begin
s := 'ABC'#13#10;
s2 := '';
for i := 1 to Length(s) do
begin
s2 := s2 + IntToHex(Ord(s[i]), 2);
end;
ShowMessage(s2);
end;
397デフォルトの名無しさん
2017/11/05(日) 18:50:55.45ID:3iw/MMda398デフォルトの名無しさん
2017/11/06(月) 21:01:49.83ID:MioLsWZJ399デフォルトの名無しさん
2017/11/06(月) 21:26:18.10ID:WbFc3oVf すみません。
気にしなきゃいけない状況です。
で、XE5は今環境がないのです。。。
(仕事場が2つあり、いまXE5がない方に常駐しているので)
気にしなきゃいけない状況です。
で、XE5は今環境がないのです。。。
(仕事場が2つあり、いまXE5がない方に常駐しているので)
400デフォルトの名無しさん
2017/11/07(火) 07:05:35.29ID:o3l3MYxT >>399
じゃあ行ってから試せ
じゃあ行ってから試せ
401デフォルトの名無しさん
2017/11/07(火) 21:49:52.73ID:5HoE4QmZ xcode9に対応した?
402デフォルトの名無しさん
2017/11/23(木) 12:24:47.52ID:H2oFoVNB firemonkeyって一度置いたコンポーネントって削除できないの?
403デフォルトの名無しさん
2017/11/23(木) 14:00:39.62ID:ATmHrlsw >>402
そんなバナナ
そんなバナナ
404デフォルトの名無しさん
2017/11/23(木) 14:01:03.28ID:ATmHrlsw 猿だけに…
405デフォルトの名無しさん
2017/11/23(木) 23:05:31.51ID:6erWI8jG .┌┐
/ /
./ / i
| ( ゜Д゜)
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
/ /
./ / i
| ( ゜Д゜)
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
406402
2017/11/24(金) 21:05:42.06ID:dHFHVjxQ imagelistを使うと削除できないみたいです。
選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.
これって返品で金返してくれないかな
選択範囲には継承されたコンポーネント ImageList1 が含まれているため削除できません。.
これって返品で金返してくれないかな
407デフォルトの名無しさん
2017/11/24(金) 22:59:59.51ID:RyYb1gen >>406
うちではそんな現象出ないけどバージョンは?
うちではそんな現象出ないけどバージョンは?
408デフォルトの名無しさん
2017/11/25(土) 01:36:58.01ID:90SL+fWH >>406
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
お前それTFrameの中にあるやつを継承先から削除しようとしてんじゃねーの
409デフォルトの名無しさん
2017/11/25(土) 08:22:38.33ID:W59Kilfu すーぐ返金返金言うてからに
410402
2017/11/25(土) 09:22:54.97ID:2E3yXKzA 皆さ、レスありがとうございます。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
バージョンは10.2です。
試した感じではボタンだけの貼り付け、削除はできる。
ImageListはListに画像を追加すると削除できなくなります。
その状態になるとボタンの削除もできなくなります。
ImageListの画像リストを削除してもダメです。
Delphiはそんなに触ってないので設定は初期値のままです。
411デフォルトの名無しさん
2017/11/25(土) 09:23:27.60ID:O3o92heE 何か最近ヘルプ表示したままdelphi終了しようとすると
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない
心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
ヘルプの終了処理に手間取ってdelphiがなかなか終了しない
心当たりはFCUへのアップデートとMS VisualStudioの再インストールだが...
412デフォルトの名無しさん
2017/11/26(日) 16:50:58.14ID:JMtUYhzN firemonkeyで正規表現ってできる?
413デフォルトの名無しさん
2017/11/26(日) 17:35:26.15ID:wHZSWh0R >>412
できる
できる
414デフォルトの名無しさん
2017/11/26(日) 18:29:30.48ID:JMtUYhzN ググったけどdelphiの正規表現しか出てこないです。
サイトとか教えてください。
サイトとか教えてください。
415デフォルトの名無しさん
2017/11/26(日) 20:24:03.68ID:wHZSWh0R >>414
System.RegularExpressions
System.RegularExpressions
416デフォルトの名無しさん
2017/11/26(日) 21:19:52.87ID:JMtUYhzN 有難うございます。
417デフォルトの名無しさん
2017/11/30(木) 11:55:54.04ID:jryz1LGC TRegistryをもちいて、
レジストリの情報を拾いたいのですが、
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras
ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T
const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin
この後どうすればいいんでしょう?
Reg.GetValueNames(MEMO.Lines);
としてもMEMOには何もかえってこないのです。
レジストリの情報を拾いたいのですが、
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras
ひろいたい情報
名前、データ
1868 01 01, 明治_明_Meiji_M
1912 07 30,大正_大_Taisho_T
const
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanesers\Eras';
var
Reg:TRegistry;
begin
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey(AppKey,False) then begin
この後どうすればいいんでしょう?
Reg.GetValueNames(MEMO.Lines);
としてもMEMOには何もかえってこないのです。
418デフォルトの名無しさん
2017/11/30(木) 16:38:33.08ID:af+3x/Ty キーが違うようです。
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
AppKey='\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras';
419デフォルトの名無しさん
2017/11/30(木) 17:26:14.42ID:jryz1LGC420デフォルトの名無しさん
2017/12/08(金) 21:17:46.94ID:Gxx/XJ9D421デフォルトの名無しさん
2017/12/11(月) 15:09:59.51ID:r0biDCTF Calender、Japaneseもわかってない人は論外
422デフォルトの名無しさん
2017/12/12(火) 16:52:51.98ID:F4p+lHsn 昔あったdelphiのフリーコンポーネントを集めたサイトって無くなっちゃた?
423デフォルトの名無しさん
2017/12/12(火) 18:31:07.66ID:D0b6rm60 古くからのDelphiコンポーネントが全て置いてある
アーカイブ的なサイトってないんだろうか
アーカイブ的なサイトってないんだろうか
424デフォルトの名無しさん
2017/12/12(火) 21:12:25.60ID:ABDe/NWv ふと思ったけどTImageListじゃなく
TSoundListコンポーネントってない?
用途はありそうだが
てかTImageListってどういう仕組みで
画像を保持してるんだろう
TSoundListコンポーネントってない?
用途はありそうだが
てかTImageListってどういう仕組みで
画像を保持してるんだろう
425デフォルトの名無しさん
2017/12/14(木) 09:04:39.76ID:XL4elc7V DSPとかtorrysとか懐かしいな
426デフォルトの名無しさん
2017/12/24(日) 16:19:13.24ID:dCGOIGeG Tetheringコンポーネントを使ってアプリ間データ共有を試してるんだけど
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど
Starterだと実はTetheringコンポーネントは使えない?
コンポーネントをフォームに置くだけでusesに追加される
IPPeerClient/Serverファイルがないって怒られるんだけど
Starterだと実はTetheringコンポーネントは使えない?
427デフォルトの名無しさん
2017/12/24(日) 16:33:23.07ID:NhonSez5 >>426
テザリングの項目がStarterは空欄になってるから多分使えない
テザリングの項目がStarterは空欄になってるから多分使えない
428デフォルトの名無しさん
2017/12/24(日) 19:06:27.16ID:dCGOIGeG429デフォルトの名無しさん
2017/12/28(木) 21:34:46.01ID:JOEtu7v7 質問させてください。
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。
var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;
C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
仮想通貨取引所で資産状況を見るプログラムを書こうとしているんですがうまくいきません。
エラーメッセージが、Signature mismatchとでます。
var
s,nonce,key,secret:string;
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
PostURL := 'https://api.zaif.jp/tapi';
PostStream := TStringList.Create;
ResStream := TStringStream.Create('');
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
nonce := DateTimeToUnix(Now,true).ToString();
IdHTTP1.Request.ContentType:='application/json';
IdHTTP1.Request.CharSet:='uft-8';
PostStream.Add('method' + HTTPEncode('get_info2'));
PostStream.Add('nonce' + HTTPEncode(nonce));
idhttp1.Request.CustomHeaders.AddValue('Key','XXXXXXXXXXx');
idhttp1.Request.CustomHeaders.AddValue('Sign','XXXXXXXXXXXX');
IdHTTP1.Post(PostURL, PostStream, ResStream);
showmessage(ResStream.DataString);
end;
C#では以下のように書くらしいのですが、ご教示願えないでしょうか。
https://kokenji.net/zaif-api/
430デフォルトの名無しさん
2017/12/28(木) 22:07:28.82ID:ThR79eg8431デフォルトの名無しさん
2017/12/29(金) 07:48:05.15ID:yZ5IlcO4432デフォルトの名無しさん
2017/12/29(金) 08:47:31.32ID:cWaP921A 仮想通貨って電気代が安い国の人がが圧倒的に有利だよね
433デフォルトの名無しさん
2017/12/29(金) 11:43:27.38ID:PDCF/c1K434デフォルトの名無しさん
2018/01/07(日) 11:23:55.22ID:KBdbbCLH435デフォルトの名無しさん
2018/01/07(日) 12:30:45.63ID:S38kpWyE 漬物石
436デフォルトの名無しさん
2018/01/07(日) 13:53:28.81ID:8Eqg8PLM >>432
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
自分で太陽光とか風とか地熱とか利用して発電できるならそいつが一番有利
437デフォルトの名無しさん
2018/01/08(月) 09:12:47.06ID:j35IDJ3/ Delphi 10.2 Tokyo で、
@クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること
ができないのですが、できるようにする方法はありますか?
@クラス定義部分で Ctrl+Shift+C を押してメソッド実装部を自動生成すること
Aメソッド呼び出し部分でCtrl+クリック で定義部にジャンプすること
ができないのですが、できるようにする方法はありますか?
438デフォルトの名無しさん
2018/01/08(月) 10:28:05.36ID:2Q7Kliqk >>436
ふむ。結局中国が一人勝ちして終わりやな。
ふむ。結局中国が一人勝ちして終わりやな。
439デフォルトの名無しさん
2018/01/08(月) 12:45:46.64ID:ictcT8i6440デフォルトの名無しさん
2018/01/08(月) 18:50:31.06ID:j35IDJ3/441デフォルトの名無しさん
2018/01/09(火) 22:26:41.17ID:tEYlJ576 Starterじゃないの?
442デフォルトの名無しさん
2018/01/09(火) 23:21:34.37ID:DSUTqw5a そうです。
Starterです。
無料のやつです。
Starterです。
無料のやつです。
443デフォルトの名無しさん
2018/01/10(水) 22:49:34.96ID:A/FWCqkf Starterは支援機能削られてる
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能
コード補完はつけて欲しかったね
コード補完、ライブコードテンプレート、リファクタリング、コマンドラインツール、コード整形、クラスエクスプローラ、ユニットテスト、翻訳ツールなどの支援機能
コード補完はつけて欲しかったね
444デフォルトの名無しさん
2018/01/10(水) 22:58:49.24ID:0V4diR3n そうなんですか・・・
コード補完がないのはキツいなぁ。
コード補完がないのはキツいなぁ。
445デフォルトの名無しさん
2018/01/10(水) 23:22:20.51ID:52V+kDTj Starterまじでコード補完ないんだww
ひでぇww
ひでぇww
446デフォルトの名無しさん
2018/01/11(木) 07:06:55.59ID:I3euztjG 5年間Starter使ってるけど
もう慣れた
もう慣れた
447デフォルトの名無しさん
2018/01/19(金) 14:12:23.13ID:3mDLycuV fmxで実行時に複数のpanelを動的に作成し
その背景を別の色にしたいんだけど
設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない
検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない
誰かヒントをお願いします
その背景を別の色にしたいんだけど
設計時にpanelのカスタムスタイルを変更するのは簡単だけど
実行時に変更する方法が分からない
検索すると質問は結構あるけど
答えは古いバージョン対応みたいで
うまく機能しない
誰かヒントをお願いします
448デフォルトの名無しさん
2018/01/19(金) 15:02:24.17ID:LVSymK+/ >>447
TRectangleマジおすすめ
TRectangleマジおすすめ
449デフォルトの名無しさん
2018/01/19(金) 22:25:43.24ID:9RJTUZM2450デフォルトの名無しさん
2018/02/02(金) 16:54:03.50ID:MJtWQFFO どうしても分からないため、教えてください。
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
アプリとしては、D&DでFoamに落としたときにTListboxにカレントフォルダのファイルを列挙します。
とんちんかんなメソッドでもとかもか構わないので、是非ともお願いいたします。
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, TRUE);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, FALSE);
end;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
begin
FileName1 := '';
451デフォルトの名無しさん
2018/02/02(金) 16:54:26.34ID:MJtWQFFO try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
Label1.Caption := FileName1;
DirName := ExtractFileDir(FileName1);
Label2.Caption := DirName;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(LDir);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
452デフォルトの名無しさん
2018/02/12(月) 17:53:30.98ID:wyyYgDNO453デフォルトの名無しさん
2018/02/12(月) 21:54:05.03ID:lRsL3DkL LDirはどこで定義されてんだ?
454デフォルトの名無しさん
2018/02/13(火) 11:15:08.11ID:Wl4kHNJK メモリー共有が簡単に出来るクラスってある?
455デフォルトの名無しさん
2018/02/13(火) 20:34:12.21ID:ZGwVrA8k >>454
ググったら、名前付きパイプによるプロセス間通信見つけた。
http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1
使ったことないので、使い心地までは分かりかねます。
ググったら、名前付きパイプによるプロセス間通信見つけた。
http://francois-piette.blogspot.jp/2013/04/inter-process-communication-using-pipes.html?m=1
使ったことないので、使い心地までは分かりかねます。
456デフォルトの名無しさん
2018/02/16(金) 01:22:45.51ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
457デフォルトの名無しさん
2018/03/14(水) 17:54:41.12ID:joCYD0wr 10.2.3出たな
でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
でー、インストール時にもインストール後の「プラットフォームの管理」にもAndroidとかiOSのが出ないんだけどどうなってるんや?(Pro Ed.
458デフォルトの名無しさん
2018/03/27(火) 23:04:26.37ID:krpCtSiN D6に入れて使ってるIndy10 https対応してたのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
dllをexeと一緒に置いておくだけ、あちこちで書かれてるIOHandlerを差換えって
必要ないのね。
459デフォルトの名無しさん
2018/04/07(土) 17:54:05.06ID:uobWZe4y すみません教えてください。
長いこと格闘していたのですが、どうしても攻略できません。
ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。
只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。
ttps://www.axfc.net/u/3901529?key=delphi
長いこと格闘していたのですが、どうしても攻略できません。
ソフトとしてはwavファイルをD&Dでフォームに落とすと、このフォルダー内のファイルをTListBox内に列挙して
フォーム落としたファイルをMCIを使って再生させるというものです。
只、落としたファイルをファイルPATHで渡しても何も起こらず苦慮しております。
長いこと何やってたんだと叱責を受けるかもしれませんが、よろしくお願いいたします。
意味のとりにくい文章で申し訳ありません。
ttps://www.axfc.net/u/3901529?key=delphi
460デフォルトの名無しさん
2018/04/08(日) 14:23:14.02ID:+Wdeqy0/461デフォルトの名無しさん
2018/04/08(日) 16:43:34.30ID:yiR7WAE6462デフォルトの名無しさん
2018/04/08(日) 19:31:28.65ID:aHOcMh8N ちょっと長いのですが…
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles);
var
FNameSize: UINT;
Count: UINT;
FileName: array [0 .. 255] of Char;
FileName1: string;
LFilesList: TStringDynArray;
LFileName: String;
str : string;
463デフォルトの名無しさん
2018/04/08(日) 19:32:04.72ID:aHOcMh8N begin
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
FileName1 := '';
try
Count := DragQueryFile(Msg1.Drop, $FFFFFFFF, nil, 0); // A
if Count > 1 then
Abort; // B
FNameSize := DragQueryFile(Msg1.Drop, 0, nil, 0) + 1; // C
DragQueryFile(Msg1.Drop, 0, FileName, FNameSize); // D
FileName1 := StrPas(FileName); // E
finally
DragFinish(Msg1.Drop); // F
end;
if FileName1 = '' then
Exit;
DirName := ExtractFileDir(FileName1);
Label2.Caption := FileName1; // ファイル名
Label3.Caption := DirName; // フォルダーパス\なし
464デフォルトの名無しさん
2018/04/08(日) 19:32:09.74ID:aHOcMh8N begin
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;
Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
//選択されているときに処理を行う
if ListBox1.ItemIndex > -1 then
begin
//選択している文字列を取得
str := ListBox1.Items[ListBox1.ItemIndex];
//取得した文字列を追加
ListBox1.Items.Add(str);
end;
Label4.Caption := str;
begin
// APath内のディレクトリ内のファイルリスト作成
// [マイコンピュータ]等の特殊フォルダは指定しても無効
LFilesList := TDirectory.GetFiles(DirName);
for LFileName in LFilesList do
begin
ListBox1.Items.Add(TPath.GetFileName(LFileName));
end;
ListBox1.Items.EndUpdate;
end;
end;
465デフォルトの名無しさん
2018/04/08(日) 19:40:43.33ID:aHOcMh8N procedure TForm1.PlayBtnClick(Sender: TObject);
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;
上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
var
FileName1: string;
begin
mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
// ~~~~~~~~~~~
mciSendString(PChar('play Musicfile from 0'), nil, 0, 0);
end;
上記のチルダの部分あたりだと思うのですが…
どうしてもわかりません。
466デフォルトの名無しさん
2018/04/08(日) 21:52:36.23ID:vzZ5v1M+ >>465
自分もよく知らんので間違ってたらごめん
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
自分もよく知らんので間違ってたらごめん
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
'open"' じゃなくて 'open "' ではないだろうか
コマンドの後に空白スペースが無いって事ね
typeやaliasの前にもスペース無いけど
467デフォルトの名無しさん
2018/04/09(月) 02:34:30.98ID:8Wv+Mi08 >>465
これってかなり前にも指摘したような気がするが...
まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな
それで問題なかったらMCIに送って
これってかなり前にも指摘したような気がするが...
まずはTEditをForm上に置いて実行時に
TEdit.TextにPChar(...)の...部分をそのまま代入してみな
それで問題なかったらMCIに送って
468デフォルトの名無しさん
2018/04/09(月) 07:55:25.96ID:qLOACt12469デフォルトの名無しさん
2018/04/09(月) 08:07:09.81ID:3dFP9zTK aliasの前に半角スペースがない
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
これじゃあMpegVideoAliasとか意味不明なtypeになる上にaliasが認識されないからMusicFileというaliasが未定義のまま渡される
470デフォルトの名無しさん
2018/04/09(月) 08:11:51.43ID:3dFP9zTK >>467さんが指摘してるのはTEditに入れて表示された文字列が正しいコマンドかどうかチェックしろって事であって、代入したら動くんじゃないって言ってるわけじゃない
471デフォルトの名無しさん
2018/04/09(月) 12:39:00.80ID:BwdfepzG FileName1のスコープが問題何じゃねーの?
472デフォルトの名無しさん
2018/04/09(月) 15:46:39.00ID:sAzU0iCB >>462-465
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
こんなやっつけ仕事みたいなコードだと、何やってもダメだと思う
473デフォルトの名無しさん
2018/04/09(月) 15:48:10.00ID:qLOACt12474デフォルトの名無しさん
2018/04/09(月) 15:52:07.60ID:3dFP9zTK 何が正しいのか正しくないのか、正しくないのは変数の中身なのかコードなのか渡し方かなのか、それとも別になにかなのかを探したら解決できる
正しいと思い込む前に確認する癖をつけましょう
正しいと思い込む前に確認する癖をつけましょう
475デフォルトの名無しさん
2018/04/09(月) 18:30:51.81ID:BomKXXDR >>473
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ
>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
>FileName1自体はあっちこっちで参照するので、Private 宣言部で定義させています。
あちこちで参照するってことは
procedure TForm1.FilesDropped(var Msg1: TWMDropFiles); で使われている FileName1:と
procedure TForm1.PlayBtnClick(Sender: TObject); で使われている FileName1: は同一のものということにしたいんだろ?
それぞれのプロシージャでFileName1: string;って宣言してたら「あちこちで参照する」ことは出来ないぞ
>Private 宣言部で定義させています。
とりあえずそれはそのまま、TForm1.FilesDropped()とTForm1.PlayBtnClick()の中で宣言しているFileName1: string;を消す
476デフォルトの名無しさん
2018/04/09(月) 18:57:48.34ID:BomKXXDR >>473
やっとソースDLできたw
ざっと見た限り
原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物
対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる
原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結
対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);
それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
やっとソースDLできたw
ざっと見た限り
原因:
TForm1.FilesDropped()でFileName1 にファイル名を代入しているが、
この FileName1 はTForm1.FilesDropped()の中で宣言されているため
TForm1クラスのprivate部で宣言されたFileName1とは別物
対策:
TForm1.FilesDropped()の中で書かれている FileName1: string; という宣言を消す
そうすればTForm1クラスのprivate部で宣言されたFileName1に代入されることになり
TForm1.PlayBtnClick()で使われているFileName1と同じになる
原因:
>mciSendString(PChar('open"' + FileName1 + '"type MEPGVideo' + 'alias MusicFile'), nil, 0, 0);
いろいろ半角スペースが足りない、余分な文字列の連結
対策:
適宜スペースの追加、たぶん、こう?↓
mciSendString(PChar('open "' + FileName1 + '" type MEPGVideo alias MusicFile'), nil, 0, 0);
それと str : string; と LFileName: String; も重複して宣言されているので注意
strに関しては使用目的が分からんのでなんとも言えないけどLFileNameのような使い方をするのであれば
クラスでの宣言は消したほうが良いと思う(不必要にスコープ(参照できる範囲)を広げない)
FileName1にしてもクラス変数として使うのなら変数名を変えて分かりやすくしたほうがよいかと
xxxxx1とかxxxxx2なんてのは関数内の一時的な変数として宣言しがちだと思うので
477デフォルトの名無しさん
2018/04/09(月) 19:52:13.89ID:gH9PL+mq >>472
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。
FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
やっつけ仕事に見えますか…
これでも知恵絞って作ったものですので…。
いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
アドバイスいただいた皆様ありがとうございました。
MCI諦めてSndPlaySound()を使うことで一応当初の目的は達成されました。
FileName1を掃除してSndPlaySoundのファイル名はFileName1を直接渡しました。
SndSoundPlayer()はmp3とかだめそうな気もするので、
MCIを直打ちしなければならないかもしれません。
478デフォルトの名無しさん
2018/04/09(月) 20:33:17.20ID:luHmX43j メディアプレーヤーコンポ使えばmp3ほかいろいろ再生できますぜ
479デフォルトの名無しさん
2018/04/09(月) 22:09:32.86ID:qcsBHwDv >>477
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと
そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
>いろいろのサイトで見つけたD&Dの使い方とかボリューム変更など90%位は流用しているため、
>メソッドを記述している人がバラバラなので書き方に違和感を抱くこともあると思います。
わからないなら参照して勉強するのもいいけど「流用」するだけじゃ何年経っても自分の物にはならないよ
ちゃんと使い方を理解して自分のコードに治さないと
そうすれば変数かぶったりするのも避けられる
あと変数は少々長くなってもあとで自分が見てわかるもっと意味のある名前にした方が読みやすくなるよ
480デフォルトの名無しさん
2018/04/09(月) 22:24:15.00ID:8Wv+Mi08 >>477
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う
https://1drv.ms/u/s!ALhSqBFVHu2ZzRg
前からTDropTargetを使ってみたかっただけなんだけど
触発されて自分も作ってみた...ただFireMonkey版だけど
基本的な部分はMacOSでも動くと思う
https://1drv.ms/u/s!ALhSqBFVHu2ZzRg
前からTDropTargetを使ってみたかっただけなんだけど
481デフォルトの名無しさん
2018/04/09(月) 22:25:36.16ID:tj7dSTW0 この話題長いねぇ
ずーっと解決してない気がするw
ずーっと解決してない気がするw
482デフォルトの名無しさん
2018/04/10(火) 07:46:44.60ID:M1dLQsHI 野球選手やサッカー選手に向いてるやつと向いてないやつがいるように
プログラマーにも向いてるやつと向いてないやつがいる
プログラマーにも向いてるやつと向いてないやつがいる
483デフォルトの名無しさん
2018/04/10(火) 09:28:59.45ID:8aH9jq04484447
2018/04/10(火) 17:57:58.95ID:ixHiVr8M485デフォルトの名無しさん
2018/04/10(火) 20:26:01.63ID:n/L+8J/R486デフォルトの名無しさん
2018/04/10(火) 21:56:04.81ID:7q8c2f4e487デフォルトの名無しさん
2018/04/10(火) 22:06:00.62ID:BUevE+bD >>484
VCLソース
VCLソース
488デフォルトの名無しさん
2018/04/11(水) 07:06:25.31ID:Ma7OFF0j リモコンって以前はMediaCenterが対応してたね
Delphiで今やるんだったら
TTethering使ってスマホから操作かな
Delphiで今やるんだったら
TTethering使ってスマホから操作かな
489デフォルトの名無しさん
2018/04/13(金) 00:04:40.08ID:QwQUx8hW @pikさんて何者なの?
本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
本当にすごい人なの?実力あるの?
なんか言ってることが胡散臭いんだけど
490デフォルトの名無しさん
2018/04/17(火) 14:33:30.73ID:eYOCf7bm >>489
直接本人に言えよ。陰湿な奴だな。
直接本人に言えよ。陰湿な奴だな。
491447
2018/04/18(水) 21:20:13.42ID:MII0lz02 すいません。教えてください
この前の続きです。
D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。
ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
この前の続きです。
D&D(例えば9.wav)をしてListBoxにフォルダのファイル一覧が抽出・表示されますが、
D&Dしたときに9.wavをハイライトさせるにはどうしたらいいでしょうか?
ハイライトをさせないとMCIエラーが出てしまいます。
ファイルですが、
https://mega.nz/fm/KbRmkKiL
よろしくお願いいたします。
492447
2018/04/19(木) 21:05:53.19ID:bgRnFwFv 現状でやりたいことは、送るで起動して音声ファイル(以下.wav)を再生させることです。
1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始
現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。
ここがくクリアできれば拡張子連動も可能だと思いますが・
1.とりあえずアプリを起動させる
2..wavをD&Dでフォームに落とす
3.すかさずListBoxにカレントフォルダのファイルを列挙させる
4.D&Dで落とした.wavにハイライトさせる
5.自動的に.wavの再生開始
現在4でつまずいています。
.wavを送っても起動するだけで、ListBoxに反映されません。
ここがくクリアできれば拡張子連動も可能だと思いますが・
493デフォルトの名無しさん
2018/04/21(土) 23:15:17.71ID:57zLglLu >>491-492
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)
ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です
とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで
Delphi2009だと問題ないのに?(**)?
ログインしなくちゃいけないみたいなので落としてないけど
「ハイライトさせる」ってファイルを選択状態にするってことね?
(プログラムする人間として質問するなら入門書なりを一冊通読してもう少し的確な言葉を憶えましょう)
ListBox.Selected[Index]:=True;(選択状態)
「9.wav」が例えば3番目ならIndexに「2」を入れます(ゼロスタートなので)
一番目のファイルなら「0」です
とりあえず試しておこうとDelphi5でやると範囲外エラーでますね
ListBox1.Selected[1]:=True;
これだけで
Delphi2009だと問題ないのに?(**)?
494デフォルトの名無しさん
2018/04/22(日) 09:43:57.64ID:/aj/ysEy ListBox1.ItemIndex := ListBox1.Items.IndexOf('9.wav');
495デフォルトの名無しさん
2018/04/22(日) 20:19:04.99ID:1p2Tkusj なるほどなー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
ListBoxとかもうずいぶん使ってなかったから忘れてたわー
496447
2018/04/25(水) 06:26:09.01ID:LyLCajq/ >>493
ハイライトではなく選択した(された)アイテムと表現すべきでした。
無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。
以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。
自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi
皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。
例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
ハイライトではなく選択した(された)アイテムと表現すべきでした。
無事選択状態にすることができました。
別の問題で送るとD&Dが併用できない問題に苦慮しています。
(送るだとListBoxに反映されますがD&Dだと反映されない。)
おそらく列挙の問題だと思いますが、今困っています。
以前作ったソースがすべてHDDのクラッシュで消えてしまったため
どうしたらいいのかもわかっていません。
自分自身で調査をしますが、よいアドバイスいただければ幸いです。
不評でしたが、ロダを
ttps://www.axfc.net/u/3905770?key=delphi
皆さんはDelphiの知識はどうやって得られましたか?
コンパイラを使ったのが数年ぶりだとか、いいわけにはならないのですが
やりたいことができずに悶々としています。
例えば、プログラミングバイブルを読破するとスキルが得られたりするものなのでしょうか?
こちらもアドバイススをいただけますと幸いです。
497デフォルトの名無しさん
2018/04/25(水) 08:14:31.72ID:iILk6Jpy >>496
もう仕様書作って金出してコード納品してもらった方が速い
もう仕様書作って金出してコード納品してもらった方が速い
498デフォルトの名無しさん
2018/04/25(水) 10:12:58.53ID:KojXazHw アドバイスも何も....
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
D&Dで取得したファイル名を
そのメソッド内でのみ有効なローカル変数に代入して終わりなの?
変数のスコープを理解してないのかな
てか、いろんなサンプルを参照して利用してるが
意味も分からずやってるでしょ
他人のコードを利用するなら
まずそのコードを理解しようと努めないと
永久に進歩はないね
499デフォルトの名無しさん
2018/04/25(水) 10:43:12.40ID:8p1Sd4ST500デフォルトの名無しさん
2018/04/26(木) 18:55:25.51ID:fqEKBH7q 動くまでいじくり倒すしかない。なんで動かなかったのかわかるまで調べる
501447
2018/05/05(土) 11:10:08.17ID:pQ8nw+O2 ListBoxへの反映の仕方が分かったので対処ができました。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi
本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。
ですが、曲名を集中管理している変数にLtstBoxのアイテムを代入しようとする
StringtoTstringに互換性がありませんと表示され、他の曲への反映ができません。
聞くところによれば、ポインタの知識とオブジェクトへの深い理解が必要だと聞きました。
コメントをいただければと思いいます。
https://www.axfc.net/u/3908351?key=delphi
本当にポインターの知識が必要ならアプリを作るのには時期尚早なのかもしれません。
よろしくお願いいたします。
502デフォルトの名無しさん
2018/05/05(土) 13:26:16.48ID:vbsrC7NJ こんな文字列処理メインのコードにポインタの出番はないでしょう
ListBoxの選択項目を取り出すのは、あなたが>>464に書いている通り
問題はListBoxに追加した項目が保持してる内容
ファイル名? パス付き?
あと老爺心で言うんだけど、メインの部分がまったく機能してないのに
サブの部分を追加してるのはどうかと
全体の見通しが悪くなるだけだよ
ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ
ListBoxの選択項目を取り出すのは、あなたが>>464に書いている通り
問題はListBoxに追加した項目が保持してる内容
ファイル名? パス付き?
あと老爺心で言うんだけど、メインの部分がまったく機能してないのに
サブの部分を追加してるのはどうかと
全体の見通しが悪くなるだけだよ
ドラッグ&ドロップと音量関係のルーチンのない状態で
ListBoxの内容を完璧に再生できるように
新規プロジェクトから始めたほうがいいよ
503デフォルトの名無しさん
2018/05/07(月) 08:05:08.09ID:bSchYp3+ ありがとう。C#で作り直すことにします。
504デフォルトの名無しさん
2018/05/07(月) 18:43:31.79ID:RryMz2og そうきたか www
505447
2018/05/23(水) 05:43:33.84ID:IzxjocGr TString型からString型へのキャストはどうしたら良いのでしょうか?
ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。
ずっとここで詰まっています。
コンパイラにはString型とTString型には互換性がないと怒られ
Listbox.item.text
みたいな感じにするとString型へ文字列が渡せません。
色々ネットで調べてみましたが、何か今ひとつ分からないままでいます。
506447
2018/05/23(水) 07:25:01.52ID:IzxjocGr 上の質問はスルーしてください
507デフォルトの名無しさん
2018/05/23(水) 20:23:05.77ID:yohLywXT 本当か?本当にTStringとStringの違いがわかったのか?
508デフォルトの名無しさん
2018/05/23(水) 20:31:59.75ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
401Z3
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
401Z3
509デフォルトの名無しさん
2018/05/24(木) 00:26:07.03ID:X0Vr2UrM >>505
何年間も同じとこクルクル回って進歩してないな
何年間も同じとこクルクル回って進歩してないな
510447
2018/05/24(木) 07:41:50.56ID:Xlbr0a9V511デフォルトの名無しさん
2018/05/24(木) 07:51:45.33ID:UDepo1QV >>510
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?
値、配列、値のリストという概念があるとして stringはどれで Tstringはどれにあたるか分かる?
512デフォルトの名無しさん
2018/05/24(木) 09:38:32.78ID:3hrzymd4 "Tstring"という言葉が気持ち悪いので、そろそろ訂正してくだいませんか?
513デフォルトの名無しさん
2018/05/24(木) 09:47:02.42ID:1QuFgEhD >>510
あのな、良いこと教えてやる
一番薄い「言語ガイド」というマニュアルがあるからそれ読め
最初の1ページ目から最後のページまで全部読め
判らなくても良い、難しくても良い、とにかく1冊全部読め
読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ
あのな、良いこと教えてやる
一番薄い「言語ガイド」というマニュアルがあるからそれ読め
最初の1ページ目から最後のページまで全部読め
判らなくても良い、難しくても良い、とにかく1冊全部読め
読み終えた次の日から、きっと新しい世界が見えるはず
読まなきゃお前さん、一生そのままだぞ
514デフォルトの名無しさん
2018/05/24(木) 12:22:44.13ID:2pfDia9X TStrings String型 TStringList AnsiString UTF8String・・・等々 いっぱいあるね
515デフォルトの名無しさん
2018/05/24(木) 17:31:30.64ID:Pn5Zd5T4 >>510
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ
どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る
名前が似ていても型が違うなら別物として考える
別物でも異なる型への変換方法が明示的に設定されていれば容易に渡すことが出来る
TStrings と String は別物
じゃあTStrings から String に明示的な変換方法が設定されているのか?を調べれば解決する
ヘルプを起動しTStringsと入力しろ
そして戻り値がStringになっているメソッドを探せ
どうでもいいことなんだが名前欄に自分のレス番号を入れるのは現在進行している質問の最初のレス番号を入れるべきだと思うんだ
今回のケースなら447ではなく505だな
そうすることで主題となる質問を見ることが出来て、また辿ることが出来る
516デフォルトの名無しさん
2018/05/24(木) 18:32:52.16ID:Pmzmf4Ca 普通に教えてやりゃいいじゃんか
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw
sがついてるからstringが複数扱えるクラスなんだろ?
男のくせにチマチマ、ネチネチ、そりゃお前らは一生結婚できねぇわw
517デフォルトの名無しさん
2018/05/24(木) 18:38:26.23ID:Pn5Zd5T4 >>516
で、お前は何で教えてやらないの?
で、お前は何で教えてやらないの?
518デフォルトの名無しさん
2018/05/24(木) 18:43:41.36ID:NEzd0Nja 本人だからさ
519デフォルトの名無しさん
2018/05/24(木) 20:03:35.81ID:hm+d4/Zn はいはい
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね
まあ聞きまくるやつにも問題はありそうだが、
狭い世界のちんこい知識でどんだけ上から目線なんだろね
520デフォルトの名無しさん
2018/05/24(木) 20:16:15.75ID:Pn5Zd5T4 あー
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw
そんなことを書くぐらいなら510に教えてあげればいいんじゃないの?
しょせん目くそ鼻くそなのに、ずいぶんと上から目線だねw
521510
2018/05/26(土) 04:35:23.77ID:4prcmauu522デフォルトの名無しさん
2018/05/26(土) 16:36:32.52ID:ZcCwZUbS だから TStringじゃない TStrings
523510
2018/05/27(日) 06:51:35.56ID:6aP994kT >522
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。
TStrings ですね。
複数のStringを束ねられるのでindexの数字で必要なオブジェクト(!?)を選択できるのですね。
今はプロジェクトを中断して言語ガイドを熟読しています。
今までで分からなかったことがしっかり書いてあるので
安易に入門書を読む前にこっちを読むべきでした。
524デフォルトの名無しさん
2018/05/27(日) 18:56:00.45ID:tt6kkd8K 初心者にはDelphi6あたりのHelpがいいんだけどな
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う
最近のHelpは不親切で、基本がわかっていない初心者には使いづらいだろうなと思う
525デフォルトの名無しさん
2018/05/29(火) 12:30:34.30ID:1O3tJEYz 頑張れ‼??誰でも最初はなんも知らんからね
ちゃんと覚えていろんなもん作れるようになってね
ちゃんと覚えていろんなもん作れるようになってね
526デフォルトの名無しさん
2018/05/29(火) 16:35:28.22ID:kxbaWIuP 何年「最初」を繰り返してるのだろうかー
527510
2018/05/30(水) 07:03:11.11ID:2jnt+z5e528デフォルトの名無しさん
2018/05/30(水) 10:34:14.77ID:1AWKUtm2 >>527
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ
叩かれるのはどれだけ親切丁寧に説明しても同じ場所を延々ぐるぐる回り続けてるからだよ
529デフォルトの名無しさん
2018/05/30(水) 14:51:11.60ID:240M2quP ほんそれ
話聴かない奴は叩かれる
話聴かない奴は叩かれる
530デフォルトの名無しさん
2018/05/30(水) 17:57:51.44ID:QhoQOR8g531デフォルトの名無しさん
2018/05/30(水) 20:16:26.04ID:lZ3vVAou532デフォルトの名無しさん
2018/05/30(水) 20:52:42.12ID:lZ3vVAou >>530
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど
http://support.embarcadero.com/jp/article/35932
下のURLの「Borland Delphi 6 ドキュメントアップデート #1」って
ダウンロードしたら使えるんじゃ?
もっとも .hlp はWindows10とかだと、そのままじゃ読めないと思けど
http://support.embarcadero.com/jp/article/35932
533デフォルトの名無しさん
2018/05/31(木) 00:53:55.84ID:Rz8G1qx4 このアップデートファイルは、Delphi 6 のライセンスユーザー向けに提供されるものです。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。
このファイルの使用に関しては、製品に同梱されたソフトウェアご使用条件に準じます。
534デフォルトの名無しさん
2018/05/31(木) 00:56:10.16ID:KiYT67Xx ナンセンスなラ(略)
535デフォルトの名無しさん
2018/05/31(木) 02:41:36.75ID:LeDqx/cu536デフォルトの名無しさん
2018/05/31(木) 12:29:07.06ID:tuQW1gq3 >>361 この人まだいるんだね(笑)
537デフォルトの名無しさん
2018/05/31(木) 15:12:07.71ID:LXR1oL3d オマエモナ
538デフォルトの名無しさん
2018/05/31(木) 17:49:48.89ID:NnA31TPO Unicode 正式対応したのは
どのバージョンから?
どのバージョンから?
539デフォルトの名無しさん
2018/05/31(木) 19:52:10.32ID:OiZlt55G540510
2018/06/01(金) 04:16:23.59ID:5fSTAWJb541デフォルトの名無しさん
2018/06/01(金) 07:07:59.62ID:tZOiVGE0 >>538
2009じゃね?
2009じゃね?
542デフォルトの名無しさん
2018/06/01(金) 08:17:03.08ID:AldthANR543デフォルトの名無しさん
2018/06/01(金) 12:06:09.39ID:JGYXEwwz 結局
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。
>今回は5年ぶりくらいにコンパイラーいじっていますので
5年ぶりとかやる気ないだけだから教えるだけ無駄。
544デフォルトの名無しさん
2018/06/01(金) 12:13:27.24ID:VRiSWYxK てか5年ぶりじゃないだろ
去年の夏も散々質問してたし
その1、2年前も来てたし
思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ
去年の夏も散々質問してたし
その1、2年前も来てたし
思うに、やるときは集中的にやって初心者脱出しないと
永遠に初心者のままだろ
545デフォルトの名無しさん
2018/06/05(火) 19:54:37.86ID:FLappK2N 直そう直そうと思っている毎日使っている自作ソフト、最後にビルドしてからまもなく10年になるわぁ
546デフォルトの名無しさん
2018/06/05(火) 19:55:52.87ID:FLappK2N 違った、2005年なので13年経過。。。
547デフォルトの名無しさん
2018/06/06(水) 10:45:41.05ID:I9hgDbEz 痴呆が始まってるな
548デフォルトの名無しさん
2018/06/07(木) 09:31:17.03ID:jM1yTm2r Delphiに直結する話題じゃないけど
ちょっとお知恵を貸してください
公開してるDelphiで作ったツールがあるんですが
ツール内にサポート用の掲示板みたいなのを実装したい
方法としてどんなのが考えられる?
やっぱ最低でもcgi使えるサーバとか必要?
ちょっとお知恵を貸してください
公開してるDelphiで作ったツールがあるんですが
ツール内にサポート用の掲示板みたいなのを実装したい
方法としてどんなのが考えられる?
やっぱ最低でもcgi使えるサーバとか必要?
549デフォルトの名無しさん
2018/06/07(木) 10:03:50.30ID:kW6Y240R >>548
1.適当に掲示板スクリプトを設置してTWebBrowserで表示
2.BaaS使ってRESTでやり取り
3.SQLにFireDACで直接接続
4.WindowsVPS(Linuxに吐けるならLinuxでも可)でDataSnap
好きなのをどうぞ
1.適当に掲示板スクリプトを設置してTWebBrowserで表示
2.BaaS使ってRESTでやり取り
3.SQLにFireDACで直接接続
4.WindowsVPS(Linuxに吐けるならLinuxでも可)でDataSnap
好きなのをどうぞ
550デフォルトの名無しさん
2018/06/07(木) 17:01:17.95ID:LERUY47Q >>548
まあ書き込みを送信する場所と書き込まれたものをダウンロードできる場所は必要だろう
サーバ借りなくても個人が固定IP契約しているならそのIP宛にすることも出来るし
固定じゃなくてもダイナミックDNS使えるルータとか使っているならそれを利用するのも手
適当なレンタルサーバでも月2000円も掛からないからそういうの使うのがベストだけど
というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし
まあ書き込みを送信する場所と書き込まれたものをダウンロードできる場所は必要だろう
サーバ借りなくても個人が固定IP契約しているならそのIP宛にすることも出来るし
固定じゃなくてもダイナミックDNS使えるルータとか使っているならそれを利用するのも手
適当なレンタルサーバでも月2000円も掛からないからそういうの使うのがベストだけど
というかしたらばあたりにスレ立ててそこを表示するようにするのはどう?
5chと違ってAPIいらんし
551デフォルトの名無しさん
2018/06/08(金) 07:49:33.51ID:IKKgq9UT >>549
cef4delphiがよいよ
cef4delphiがよいよ
552548
2018/06/08(金) 20:17:07.49ID:pOKoirVi レスが遅くなりました
やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも
あとは、データは配布サイトに置いて投稿はメール経由かな
やっぱそんな感じですよね
配布サイトはcgi使えないのでレンタルサーバか自宅サーバですよね
したらばはスクレイピングが可能だったらいいかも
あとは、データは配布サイトに置いて投稿はメール経由かな
553デフォルトの名無しさん
2018/06/08(金) 22:02:43.94ID:lHspdop6 P2P
554548
2018/06/08(金) 22:45:08.12ID:pOKoirVi よく考えたら、したらばはスクレイピング不要で
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね
したらばにしようと思います
p2pは理想だけど、開発側も利用者側も障害が大きすぎるような
旧2ちゃんと同じでdatファイルを直接ダウンロードできるんでしたよね
したらばにしようと思います
p2pは理想だけど、開発側も利用者側も障害が大きすぎるような
555デフォルトの名無しさん
2018/06/09(土) 16:37:47.65ID:OTGz0P8v delphi10.2を使っています。
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?
ActiveXのコンポーネントを追加するのにdclusr.dpkをあらかじめインストールしようとしても
dclusr.dpkが正しくないとかのエラーが出てしまいます。
dclusr.dpkって他のPCに入っている同バージョンのものをコピーしてもいいものでしょうか?
556デフォルトの名無しさん
2018/06/09(土) 18:48:08.83ID:TA6PWthw 全然的外れとは思うけど
delphiを管理者権限で起動してる?
delphiを管理者権限で起動してる?
557555
2018/06/10(日) 06:13:38.25ID:5M4DtSyO 確認してみます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。
コピーしようとしたpcはすんなり出来たので管理者とか気にしてませんでした。
ありがとうございます。
558デフォルトの名無しさん
2018/06/14(木) 03:02:30.74ID:DH9ZUtSo めっちゃ便利になった
sc7b & i:: ; Ctrl+無変換+iでbeginを上方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^k8
send,^qfbegin{enter}
send,^q8
send,^+l
send,{home}
}
else
send,{up}
return
sc7b & k:: ; Ctrl+無変換+kでendを下方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^qfend{enter}
send,{left}{right}
}
else
send,{down}
return
sc7b & i:: ; Ctrl+無変換+iでbeginを上方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^k8
send,^qfbegin{enter}
send,^q8
send,^+l
send,{home}
}
else
send,{up}
return
sc7b & k:: ; Ctrl+無変換+kでendを下方検索
ImeOff()
if GetKeyState("Ctrl", "P")
{
send,^qfend{enter}
send,{left}{right}
}
else
send,{down}
return
559デフォルトの名無しさん
2018/06/18(月) 18:42:12.53ID:77QANGdm Indyのヘルプについて教えてください
delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです
事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています
もしかして、ヘルプの内容がかなり古い?
delphi 10.2.3を使っていて、IndyのIdCookieを使うのにヘルプを見たんですが
どうも自動補完される項目とヘルプの内容が一致していないみたいです
事実、古いネット上のサンプルでもpropertyなどが認識できないと
エラーが出るんですが、ヘルプにはちゃんと記載されています
もしかして、ヘルプの内容がかなり古い?
560デフォルトの名無しさん
2018/06/18(月) 20:26:49.62ID:ZzCpcYem561デフォルトの名無しさん
2018/06/18(月) 22:25:05.80ID:/oEGnL5/ Indyはしょっちゅう引数とか変えるからねー
563デフォルトの名無しさん
2018/06/19(火) 07:23:03.75ID:O7MJlrFZ Delphi 10.2.3に付属しているIndyのヘルプのバージョン 10.1.5
>>560に書いてあるところにあるやつは 10.5.8.3だね
10.1.5のヘルプは、実際にバンドルされているIndyとではいろいろと
違っている部分があるんで使えないんだよね
エンバカはよくこんな状態で製品として出してるもんだと思う
まぁIndyの公式Webページにあるヘルプが更新されずに放置状態なせいでもあるんだろうけど
>>560に書いてあるところにあるやつは 10.5.8.3だね
10.1.5のヘルプは、実際にバンドルされているIndyとではいろいろと
違っている部分があるんで使えないんだよね
エンバカはよくこんな状態で製品として出してるもんだと思う
まぁIndyの公式Webページにあるヘルプが更新されずに放置状態なせいでもあるんだろうけど
564デフォルトの名無しさん
2018/06/26(火) 00:47:37.41ID:6Sxd5pS5 OutputDebugString(v: TValue);
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください
みたいなのを作りたいんですが
vが配列だろうがレコードだろうがクラスだろうが文字列化するサンプルコードがあったら教えてください
565デフォルトの名無しさん
2018/06/26(火) 00:50:21.65ID:6Sxd5pS5 バージョンはXE8でお願いします
566デフォルトの名無しさん
2018/06/26(火) 20:07:40.02ID:Q/OTN/qp オブジェクトと普通の変数はさすがに分けないとな
567デフォルトの名無しさん
2018/06/27(水) 08:33:51.96ID:LwNwDPPb case VarType(バリアント型) of
varNull: 〜;
varSmallint,varInteger,varshortint,varByte,
varword,varlongword,varint64,varqword: 〜;
varSingle,varDouble,vardecimal: 〜;
varBoolean: 〜;
varArray: 〜
else 〜
end;
みたいなのはどうか
varNull: 〜;
varSmallint,varInteger,varshortint,varByte,
varword,varlongword,varint64,varqword: 〜;
varSingle,varDouble,vardecimal: 〜;
varBoolean: 〜;
varArray: 〜
else 〜
end;
みたいなのはどうか
568デフォルトの名無しさん
2018/06/30(土) 19:57:18.53ID:BMGfbdyk fmxのlistviewで遊んでんだけど
各Itemの高さがvariableだと
ScrollToが正しく機能しないな
てか希望する行にプログラムでジャンプできない
これって...
各Itemの高さがvariableだと
ScrollToが正しく機能しないな
てか希望する行にプログラムでジャンプできない
これって...
569568
2018/07/01(日) 20:45:39.22ID:UjvaLsGV 昨日からずっと悩んでたんだけど原因が分かった
Itemを追加した直後にScrollToを実行していたのがマズかった
というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと
Itemを追加した直後にScrollToを実行していたのがマズかった
というのも個々のItemの高さの計算をUpdateObjects
イベントで行っているので、いったんシステムに制御を戻して
すべてのItemの高さを計算させた後でないと
ScrollToを正確にできないじゃないかと
570デフォルトの名無しさん
2018/07/04(水) 22:07:10.80ID:gFgZc5FG CMY
571デフォルトの名無しさん
2018/07/05(木) 16:32:14.16ID:AeL6VB/V CMY
572デフォルトの名無しさん
2018/07/07(土) 01:05:29.30ID:/e+lZ8Kj lヽ ノ l l l l ヽ ヽ
)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/ C | | |/| ハ / / ,/ /|ノ /l / l l l| l C ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| M l トー-トヽ| |ノ ''"´` rー-/// | M |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
| Y | | l | ヽ, ― / | | l Y |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
 ̄ ̄ | /  ̄
)'ーーノ( | | | 、 / l| l ハヽ |ー‐''"l
/ C | | |/| ハ / / ,/ /|ノ /l / l l l| l C ヽ
l ・ i´ | ヽ、| |r|| | //--‐'" `'メ、_lノ| / ・ /
| M l トー-トヽ| |ノ ''"´` rー-/// | M |
| ・ |/ | l ||、 ''""" j ""''/ | |ヽl ・ |
| Y | | l | ヽ, ― / | | l Y |
| !! | / | | | ` ー-‐ ' ´|| ,ノ| | | !! |
ノー‐---、,| / │l、l |レ' ,ノノ ノハ、_ノヽ
/ / ノ⌒ヾ、 ヽ ノハ, |
,/ ,イーf'´ /´ \ | ,/´ |ヽl |
/-ト、| ┼―- 、_ヽメr' , -=l''"ハ | l
,/ | ヽ \ _,ノーf' ´ ノノ ヽ | |
、_ _ ‐''l `ー‐―''" ⌒'ー--‐'´`ヽ、_ _,ノ ノ
 ̄ ̄ | /  ̄
573デフォルトの名無しさん
2018/07/11(水) 10:51:05.84ID:nmWNYHAt 炎猿でwindows以外のOSアプリ開発している人にお聞きしたいのですが、スマフォとかがアップデートされた場合動かなくなるとか、デバッグ出来なくなるとか不都合はないですか?
574デフォルトの名無しさん
2018/07/11(水) 17:39:18.30ID:nuZ0aS+z ドラクエにいそうだな
炎猿
炎猿
575デフォルトの名無しさん
2018/07/11(水) 21:49:54.77ID:r5yaKwaw まぁそんな致命的そうな問題あるなら既に話題になってるだろう。それぐらいの信仰心ないならエンバカ製品使わない方がいい。
576デフォルトの名無しさん
2018/07/11(水) 22:54:26.92ID:ybpsmMVD そうとも言い切れんから困る
577デフォルトの名無しさん
2018/07/13(金) 07:31:46.74ID:cjGt1E8J OpenGLが枯れてるからあまり心配なさそう
578デフォルトの名無しさん
2018/07/13(金) 07:36:27.90ID:qQhJFZKh AppleはMetal必須化するけどちゃんとコンパイラ出してくれるのかな
579デフォルトの名無しさん
2018/07/13(金) 19:21:29.08ID:I/E3+gDF OpenGLから、Vulkanに移り行きそうな流れだし、Androidもサポートしてるから、安泰とは言えないかも・・・。
580510
2018/07/15(日) 07:23:54.92ID:DmBJj22K 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
581510
2018/07/15(日) 07:24:30.45ID:DmBJj22K 以前作ってたメディアプレイヤーですが、あるていどは出来上がったのでご評価いただければと思います。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
https://www.axfc.net/u/3921358?key=delphi
今のところ.wav限定です。
既知の不具合
notfyを自前で無理矢理作っていて機能していない
トラックバーで自由にスライダーが動かせない(経過時間の方)
よろしくお願いいたします。
582デフォルトの名無しさん
2018/07/17(火) 12:02:31.20ID:XXadd0Qe D6です。
既存の .dll を調べて exports 関数の受け渡しの型やパラメータを知るやり方はありますか?
昔の物で ナビンユーというパソコン用ナビソフトがあって、
それ用に市販GPSレシーバーと繋ぐ .dll を過去有志により幾つか作られてフリー公開されていました。
当時はWin95-98全盛からWin2k〜xp以降期ほどで
COM ポートが1〜6番?まで ボーレートも9600bpsまでというOS?の制約を引きずってさらに 4800bps固定のTokyo測地系(日本ローカル)という物で
ニフティサーブも終わり多くのフリーツールと共に作者さん達も消えていきました。
年数が過ぎ、性能も良く価格もお手ごろ感なGPSロガー兼GPSレシーバーが巷に溢れると
今度は通信速度が9600bpsが最低クラス機種、良い物は 38400bps や 57600bps で WGS84測地系(世界基準) なんてものでして
それらを使うには、
D7環境用で公開されていた TComPort という COM 1〜256 ポート番号、300〜256000bps までのフリー物があり入れて
自作の高速COMポート←→低速COMポート受け渡し&測地系座標変換プログラム と 仮想COMポートを使ってました。
接続がそうとう手間で使用はお蔵入りに・・・。
最近になって dll の作成を思い立ち
要は、TComPort を使って自作の .dll が作れないものかと
.dll の exports 関数名に関しては、ResHacker というフリーツールで
GpsdevClose
GpsdevGetSupportedDevice
GpsdevOpen
GpsdevSetGeodeticSystem
GpsdevSetInitialPosition
この5つということは確定しています。
適当な型で宣言してコンパイルしてダンプリストで比較してみましたが分らず・・。
一応入手していた公開最終版の.dllを2種類zip圧縮でUPしておきます。
ttp://www1.axfc.net/u/3921897.zip
KNLink の方はDelphiで作られているそうです。
誰か型が分れば他の有志が開発しやすい用に晒してくださるとありがたいです。
既存の .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.28ID:+kxKOOfA https://msdn.microsoft.com/ja-jp/library/67wc07b9.aspx
http://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=257
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_61/rzaik/rzaikapigrphdrfile.htm
https://forum.dlang.org/post/mailman.637.1295116422.4748.digitalmars-d-learn@puremagic.com
http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
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.70ID:tvMjHs4f Introducing Delphi and C++Builder Community Edition
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?
https://community.embarcadero.com/blogs/entry/introducing-delphi-cplusplusbuilder-community-edition
Community EditionをDLしようとレジストの際に電話番号ではじかれます
なにか方法があるのでしょうか?
585デフォルトの名無しさん
2018/07/19(木) 07:36:15.48ID:KPlplAON >>584
ログインしてからダウンロードすると良いかもしれない
ログインしてからダウンロードすると良いかもしれない
586デフォルトの名無しさん
2018/07/19(木) 07:44:26.16ID:tvMjHs4f587デフォルトの名無しさん
2018/07/23(月) 12:35:10.41ID:TMDKKbFQ firemonkeyでWindowsとAndroidアプリを作るとき
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
SpeedButton用の画像のサイズって
どのくらいにすればいいの?
StyleLookupにないんでGoogleのフリーアイコンを
使おうと思ってるんだが
588582
2018/07/23(月) 19:47:13.97ID:ZNsXOfsj 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 もダメっぽい。
暑くてなーんも進まない
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.25ID:9xoPwG77 DLL調べるならデバッガで追いかければいいんじゃない? OllyDbgとかで
590デフォルトの名無しさん
2018/08/04(土) 10:03:56.88ID:pEPpCry/ 質問です。
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
他言語の計算式が解らず置き換える場合のデルファイ式はどういう構成になるのでしょうか?
えぬじーだらけで書き込めないのでソース含んだテキストのアプロダアドレスは以下に書いています。
https://agree.5ch.net/test/read.cgi/mango/1532726276/389
ひっかかりだらけで掲示板が使いにくくなってますね。
マンゴー板絞り込みスレを経由すれば書けるということだね
591デフォルトの名無しさん
2018/08/05(日) 07:09:51.51ID:lCE2SUhO めんどくさっ
592デフォルトの名無しさん
2018/08/05(日) 07:22:17.73ID:lCE2SUhO 今見てみたけど4バイトの浮動小数点数と各バイトの相互変換だよな
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
共用体使えば式は不要だと思う
可変長レコード(だっけ?)で検索
593デフォルトの名無しさん
2018/08/05(日) 07:39:19.78ID:33CDKMsR Delphiで書けないんだったら、日本語で何がしたいのか書けよ。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
Perl語なんて俺は知らんから。
f: single;
f := StrToInt( '$'+ '4D' );
で, fに77が入る。
int -> sigle は暗黙の型変換でいけるが逆は要関数呼び出し(キャスト禁止)。
2018/08/05(日) 12:50:09.31ID:gWGunr7x
>592-583
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。
ややこしくてすみません。
https://agree.5ch.net/test/read.cgi/mango/1532726276/496
↑元ソースあどれすも記載しました。
>>592 ありがとうございます。夜にでも調べてみます。
595427です
2018/08/05(日) 22:33:28.02ID:gWGunr7x >>592
どうやら>590 先のサブルーチンはズラして60進法座標にしてるだけのようです。
バイナリ読み込んで浮動小数点数にするパールの変換方式がまださっぱり分りませんが、適当にがんばります。
Delphi の Single 〜 Extended とか浮動小数点数を16進バイナリに直接相互変換みたいな内部関数ってありましたっけ?
現状D7でIEEE754-SingleとDouble は外部関数で使っていてそれだけでかなりサイズが大きくなってしまう。
浮動小数点型の数値はメモリ上でどのように格納されているのか C C++
2. 浮動小数点型の値のメモリ上での並び
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;
どうやら>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;
597デフォルトの名無しさん
2018/08/27(月) 09:41:49.47ID:UfmEJPeB Delphiの逆コンパイラでおすすめって何になるの?
598デフォルトの名無しさん
2018/08/27(月) 21:32:59.26ID:1pvUgZqM 超初心者スレだから許して のしつもんです。
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。
Pathの 記述とか??
今でも TIniFile とか使いますか?
Win10の開発は初めてです。
昔で言う .ini なんかはどこに置くのが基本ですか?
レジストリ使わない場合・・。
publicには Appdata とかないみたいだし。
Pathの 記述とか??
今でも TIniFile とか使いますか?
599デフォルトの名無しさん
2018/08/27(月) 22:05:18.90ID:UfmEJPeB >>598
exeと同じフォルダ
exeと同じフォルダ
600デフォルトの名無しさん
2018/08/27(月) 22:24:54.69ID:lZIE2FNf >>598
%appdata%にアプリケーションのフォルダ作って保存
%appdata%にアプリケーションのフォルダ作って保存
601デフォルトの名無しさん
2018/08/27(月) 23:33:36.63ID:1pvUgZqM 回答有り難うございます。
とっても参考になりました。
ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\
って感じで 良いみたいですね。
とっても参考になりました。
ユーザー別なら %appdata%\appname\
ユーザー共通なら %ProgramData%\appname\
って感じで 良いみたいですね。
602デフォルトの名無しさん
2018/08/28(火) 12:13:22.36ID:e0zrlbVu 確かプラットフォームごとのパスを取得する関数が用意されてたような
603デフォルトの名無しさん
2018/08/28(火) 16:21:16.43ID:6kEMX7h9 iniファイル便利か
604デフォルトの名無しさん
2018/08/28(火) 18:16:29.63ID:3sF2+X9S >>603
PCが壊れたとき等、環境移行はローテクの方が・・
PCが壊れたとき等、環境移行はローテクの方が・・
605デフォルトの名無しさん
2018/08/28(火) 19:10:27.83ID:pa8Xm38g レジストリなんか使わない。
XMLなんか使わない。
やっぱりINIがいい。
XMLなんか使わない。
やっぱりINIがいい。
606デフォルトの名無しさん
2018/08/28(火) 20:53:25.15ID:yUJd0FCJ 「プロジェクトから削除」で削除したunit2,unit3って結局生きてる?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
unit1で参照してるからコンパイルしたらエラーが出ると思ったら何も出なかった。
プロジェクトの削除ってどう言うこと?
607デフォルトの名無しさん
2018/08/28(火) 21:09:44.56ID:dFKNKLFU そもそも
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
システムと連携でもしない限り
レジストリ使う必要が無いと思うんだが
自動的に何も考えずにレジストリ使ってるのが多いと思う
608デフォルトの名無しさん
2018/08/28(火) 21:21:58.23ID:mAx5yIVS >>606
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
プロジェクトツリーから削除されるだけで参照は自分で削除しないといけないよ
610デフォルトの名無しさん
2018/08/29(水) 07:06:43.69ID:0P3/EBfJ (アン)インストーラが付属しないツールで
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
設定をレジトリとかexeフォルダ以外のフォルダに保存したりとか
何考えてるのか分からないのもあるからな
611デフォルトの名無しさん
2018/08/29(水) 19:36:02.35ID:2f70+wG1612デフォルトの名無しさん
2018/08/29(水) 20:50:27.29ID:CUO+ntMd インストールフォルダ自体がドキュメントフォルダ強制とかもあるな
613デフォルトの名無しさん
2018/08/30(木) 10:16:05.96ID:S/vwwZyF614611
2018/08/30(木) 16:00:49.78ID:xpekrfIC >>613 >>598
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。
procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;
こんな感じでやってます。
env : 「environment 環境」の略を当ててます。
procedure TForm1.SaveSettings;
var
Log_IniFile: TIniFile;
ia : Integer;
begin
Log_IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName, '.env')); // .env ← .ini
try
// [window]
Log_IniFile.WriteString('window', 'x0', IntToStr(Form1.Left));
Log_IniFile.WriteString('window', 'y0', IntToStr(Form1.Top));
// [〜〜]
finally
Log_IniFile.Free;
end;
end;
615デフォルトの名無しさん
2018/08/30(木) 16:39:09.31ID:h4Uebctf WriteInteger使えよww
616デフォルトの名無しさん
2018/08/30(木) 17:54:05.37ID:xpekrfIC レジストリを汚しまくるのは好かん!
617デフォルトの名無しさん
2018/08/30(木) 18:00:59.87ID:RB/Vojpj >>616
ほんそれ
ほんそれ
618デフォルトの名無しさん
2018/09/04(火) 04:53:47.13ID:cIgTW3mD スレッドオブジェクトで外部機器と通信するコンポーネント(自分で取り込んだactivexです)を使いたいのですが、
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
フォームがないのでcreateの引数って何にしたら良いでしょうか?
サブのフォームをvisible:= falseにして、そこに配置した方が良いでしょうか?
619デフォルトの名無しさん
2018/09/04(火) 07:40:32.69ID:Iud04UXg 引数はnilでok
必要ならparentを指定する
必要ならparentを指定する
620デフォルトの名無しさん
2018/09/04(火) 20:59:53.37ID:cIgTW3mD >>619
有難うございました。
有難うございました。
621デフォルトの名無しさん
2018/09/06(木) 20:32:48.73ID:b7skbySG 十数年ぶりにコード書いてます。
Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。
ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。
uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?
挫けそうですw
Delphi7 のソースを XE3 で書き直そうとしてますが ???です。
XE3は 買ったきり手つかずだったものを初めて使ってます。
ShortDateFormat、LongDateFormat、ShortDayNames が未定義の識別子エラーとなります。
uses には SysUtils が有ります。
どんな原因が有り得ますでしょうか?
挫けそうですw
622デフォルトの名無しさん
2018/09/06(木) 20:59:54.36ID:Y0pbPBaL 単純な変数から変更されているので、
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
FormatSettings.ShortDateFormat
のようにしてみてくだされ。
623デフォルトの名無しさん
2018/09/06(木) 21:14:09.34ID:b7skbySG 速攻でスゲー! 解決しました!
HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。
それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
HELP の ”親” ってのを 見なきゃイケなかったのね
有り難うございます。
それにしてもHELP が いちいちHTMLソースが表示されて
”制限されたコンテンツの表示” ってクリックしなきゃなのは しんどい・・・
624618
2018/09/07(金) 13:31:35.10ID:nbZaHp3Y 618です。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
マルチスレッドで自分で取り込んだActiveXコントロールを使えるようにはなったのですが
不定期にEAccess Violationが出るので調べたら、このコントロールはSTA モデルとなっていました。
自分にはActiveXの知識があまりなくマルチスレッドで使用するにはCOM 関数のCoMarshalInterThreadInterfaceInStream,
CoGetInterfaceAndReleaseStream を使うのかな?ということまではわかりました。
ただ、参考にしたサイトには「インタフェースポインタを他のアパートメントに渡す場合,インタフェースポインタをマーシャリング
する必要があります。」と書いてありましたが理解できていません。
多分、各スレッドでCreateするのではなく1つのコントロールを各スレッドで使い回すのかなと思っています。
Delphiではどうするのか、とっかかりだけでも教えてください。
よろしくお願いします。
625デフォルトの名無しさん
2018/09/08(土) 10:16:41.02ID:7h/1w/8o C#にしたら
626デフォルトの名無しさん
2018/09/08(土) 12:26:23.76ID:3pZBr9hd そのまんまでしょうに。アパートメントをまたぐ場合はマーシャリングしなきゃいけない。
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。
コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。
https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある
http://eternalwindows.jp/com/apartment/apartment02.html
で、CoMarshalInterThreadInterfaceInStreamでIStreamのバイトストリームに変換する。
で、そのストリームをアパートメントの異なる別スレッドに渡してそこでバイトストリームから元のオブジェクトに戻す。
コントロールのスレッドモデルより、各スレッドをどう初期化しかかがまず重要。
Comを使うときは各スレッドでCoInitialize(Ex)を呼ばなきゃいけんが、それでスレッドのアパートメントを指定する。
https://docs.microsoft.com/en-us/windows/desktop/com/processes--threads--and-apartments
読めば書いてある
627デフォルトの名無しさん
2018/09/08(土) 18:32:14.22ID:ifS5zDmq >>597
未だに見つけられていない
DeDe 3.50.02 Build 1619 for Windows
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コードを直接見てもワケワカメ
未だに見つけられていない
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.02ID:TILqF4on FireMonkeyのStringGridでマウスカーソル直下のセルの特定の仕方を教えてください。
マウスの座標は取得できています。
よろしくお願いします。
マウスの座標は取得できています。
よろしくお願いします。
629デフォルトの名無しさん
2018/09/13(木) 15:53:14.96ID:D2+vOfIF CellByPoint
630628
2018/09/14(金) 00:13:42.04ID:h30gDWV5 ありがとうございました。
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
一応は取得できるのですが、セル内のマウスカーソルの場所によって、セルが特定できたり
できなかったりという感じです。
また、列の位置は左端なら本来は0だと思うのですが1が返ってきます。
行は先頭行が16と返ってきます。
MousePos := Screen.MousePos;
StringGrid1.CellByPoint(MousePos.X,dMousePos.Y,ColNo,RowNo);
上記のようなプログラムですが、マウスの位置の取得方法が間違っているのでしょうか?
631デフォルトの名無しさん
2018/09/14(金) 07:11:59.92ID:N3zUYsZd onMouseMoveでテストしてみて
632デフォルトの名無しさん
2018/09/14(金) 08:18:00.14ID:sVVlCHCP ローカル座標に変換する必要あんでね?
633デフォルトの名無しさん
2018/09/14(金) 12:20:56.93ID:rsfS0hy3 >>630
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
>MousePos := Screen.MousePos;
この段階でマウス座標はスクリーン座標(スクリーンの左上を起点とする座標)なので
クライアント座標(この場合、StringGrid1の左上を起点とする座標に変換しないとダメだよ
VCLならStringGridにScreenToClientというメソッドがあるんだけど
FireMonkeyのことはよく知らんけど似たような(もしくは同名の)メソッドがあるんじゃないかな
634デフォルトの名無しさん
2018/09/14(金) 19:36:31.47ID:KQxf0S5x てかコントロール上のマウス位置から何なしようってときに
スクリーン座標が出てくる訳が分からない
スクリーン座標が出てくる訳が分からない
635628
2018/09/14(金) 20:55:44.40ID:QxWxbdYR 皆さん、ありがとうございます。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
まだ、解決できていないのですがまずはお礼まで。
ローカル座標はScreenToClientと同じ名前のものがあったので使ってみたのですが
うまくいきませんでした。
VCLの方だときちんとカーソル下のセルを正確に取得できるのに。
FireMonkey難しい。
636デフォルトの名無しさん
2018/09/14(金) 21:57:04.38ID:KQxf0S5x こんなんじゃだめなの?
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;
カーソル下のセルを正確に取得できてるよ
TForm1 = class(TForm)
private
{ private 宣言 }
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.OnMouseMove := StringGrid1MouseMove;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var ACol, ARow: integer;
begin
if StringGrid1.CellByPoint(X, Y, ACol, ARow) then
Edit1.Text := Format('Col:%d, Row:%d', [ACol, ARow]);
end;
カーソル下のセルを正確に取得できてるよ
637デフォルトの名無しさん
2018/09/14(金) 23:50:03.06ID:QxWxbdYR638デフォルトの名無しさん
2018/09/15(土) 00:17:48.45ID:8rxpHkWL なんで未だにデルファイなんかやっとるんやおまいら?
639デフォルトの名無しさん
2018/09/15(土) 06:26:34.02ID:mxfFGWip いろいろな言語使えるけどDelphiがベストだと思うから
640デフォルトの名無しさん
2018/09/15(土) 06:42:36.21ID:3TWFaDlw >>638
てかそんな話はエンバカスレでどうぞ
てかそんな話はエンバカスレでどうぞ
641デフォルトの名無しさん
2018/09/15(土) 11:07:16.52ID:AVfR6YnT Delphiは討たれる
642デフォルトの名無しさん
2018/09/15(土) 17:32:12.84ID:AkXmtK9p643デフォルトの名無しさん
2018/09/16(日) 10:48:44.14ID:e3KaLVno SKRegExpの作者はどこに行ったの?
644デフォルトの名無しさん
2018/09/26(水) 11:44:44.46ID:Ov2EA3Ui 今頃デルファイの10.2.3をインストールしようと思うんですが、サイトに書いてあるように一旦10.2をアンインストールしないとまずいですか?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
一旦アンインストールした場合サードパーティーのコンポーネントはやはり再インストールしないとダメですか?
10.2.3をインストールしたら復活するとかは無いですかね?
645デフォルトの名無しさん
2018/09/26(水) 13:25:05.76ID:WoZunzir646デフォルトの名無しさん
2018/09/26(水) 15:05:08.27ID:Ov2EA3Ui なんか共存できんかった
647デフォルトの名無しさん
2018/09/26(水) 17:59:31.37ID:7bJbQB0s 同居出来ないってCPB CEでも入ってるのか?
648デフォルトの名無しさん
2018/09/26(水) 19:21:31.24ID:ANIjlW8h BerlinとTokyoは共存できるけどToky同士は共存できなかったはず
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね
Webインストールの場合はそれができないんだったっけ
10.2から10.2.3は設定データなどを残してアンインストール、インストールで普通に移行できたよ
CDイメージからのインストールの場合だけどね
Webインストールの場合はそれができないんだったっけ
649デフォルトの名無しさん
2018/09/26(水) 19:58:22.59ID:V9O91uO9 サードパーティのコントロールが消えるのが嫌でアンインストールせずやってしまった。orz
650デフォルトの名無しさん
2018/09/28(金) 08:42:20.23ID:CK9JalNS ツールパレットにはコンポーネントのアイコンがきちんと表示されているんだけど、フォームに配置するとアイコンが見えない位小さくなってしまうんだけどなんで?
651デフォルトの名無しさん
2018/09/28(金) 18:27:10.70ID:L/CPkr5D652デフォルトの名無しさん
2018/09/28(金) 20:17:23.17ID:CK9JalNS そうか、ご苦労
653デフォルトの名無しさん
2018/09/29(土) 04:51:42.90ID:61Ke5MR1 フォームにアイコンだけ表示されるやつは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
OnCreateで手動で追加する形でずっとやってるから
どうでもいいは
654デフォルトの名無しさん
2018/09/29(土) 06:17:50.02ID:SaDPGrJG >>650
4Kモニターを使っているのかい?
4Kモニターを使っているのかい?
655デフォルトの名無しさん
2018/09/29(土) 20:55:31.30ID:nJOGxOxE そして
ふてくされて二度と来ないコミュ障であった
ふてくされて二度と来ないコミュ障であった
656デフォルトの名無しさん
2018/09/30(日) 05:42:12.80ID:OYYkxayT かわいそう・・・
657デフォルトの名無しさん
2018/09/30(日) 16:24:03.95ID:sVuwBfqE 意外とみんな覗いてんな
658デフォルトの名無しさん
2018/10/03(水) 20:49:10.84ID:T89/Qa9b モニタにもっと顔を近づけるんだよ きっと見れるよ
659デフォルトの名無しさん
2018/10/04(木) 10:29:39.99ID:FXVBuQxV モニタよモニタよモニタさん
660デフォルトの名無しさん
2018/10/06(土) 09:18:43.15ID:ruQOvniH マルチデバイスのソフトを初めて作ろうと思っています。
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
コントロールの配置に関して質問なのですが、とりあえずPC用かスマフォ用を作ってその後、
各デバイス用に配置しなおして再コンパイルする手順でいいでしょうか?
661デフォルトの名無しさん
2018/10/06(土) 12:13:05.71ID:Z2kGgnGa まずalignの使い方かな
662デフォルトの名無しさん
2018/10/06(土) 15:33:22.97ID:dM0Hntxh >>660
FireUI
FireUI
663660
2018/10/07(日) 08:57:42.83ID:XyZZDpel 有難うございます。
調べて勉強します。
調べて勉強します。
664デフォルトの名無しさん
2018/10/13(土) 18:12:13.98ID:3G3/hyQa 何かウェルカムページを開きたびに
セキュリティ警告が出るんだが
セキュリティ警告が出るんだが
665デフォルトの名無しさん
2018/10/13(土) 22:28:09.39ID:19TuI9Cj >>664
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
SSL証明書が期限切れたから更新あうるまで待ってってMCさんが
666デフォルトの名無しさん
2018/10/13(土) 23:05:26.94ID:ApCV8gEF667デフォルトの名無しさん
2018/10/17(水) 17:24:01.23ID:GbCGuExa ブラウザのタイトルを取得したいんですけど、
WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません
WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません
ってなるんです。
usesに何か足りませんか?
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;
Delphi 10.2 Community Edition
WebBrowser1.Document.Titleだと、
'TWebBrowser' は 'Document' という名前のメンバを含んでいません
WebBrowser1.OLEObject.Document.Titleだと、
'TWebBrowser' は 'OLEObject' という名前のメンバを含んでいません
ってなるんです。
usesに何か足りませんか?
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Edit, FMX.Controls.Presentation, FMX.WebBrowser;
Delphi 10.2 Community Edition
668デフォルトの名無しさん
2018/10/17(水) 17:49:10.11ID:GbCGuExa 解決しました。
VLCじゃやないやつで作ろうとしてたみたいです!
VLCじゃやないやつで作ろうとしてたみたいです!
669デフォルトの名無しさん
2018/11/06(火) 12:05:36.75ID:FnkVAeUe FMXでLabelのバックカラーの変更って出来ない?
今はPanelの色を変えて、その上に貼り付けてるんだけど。
今はPanelの色を変えて、その上に貼り付けてるんだけど。
670デフォルトの名無しさん
2018/11/06(火) 15:03:32.51ID:lO/IgrxW671デフォルトの名無しさん
2018/11/06(火) 16:08:30.30ID:xJl/nUxi672デフォルトの名無しさん
2018/11/06(火) 18:54:34.08ID:O/iOsvOA673デフォルトの名無しさん
2018/11/06(火) 19:14:26.53ID:lO/IgrxW >>671
ホントだ
TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
ホントだ
TPopupなんかもHelpじゃ実行時にParentを操作して
コントロールを乗っけるって書いてあって
使い勝手が悪いと感じてたんだけど
同じ方法で設計時にコントロールを配置できたりするんだよな
674669
2018/11/06(火) 22:06:13.74ID:FnkVAeUe 皆さん、ありがとうございました。
Rectangleって楽ですね。
もう一つ教えて下さい。
panddingとかmarginsを設定して0に元に戻すと隣のコントロールと隙間が空いたままになるのは自分だけ?
Rectangleって楽ですね。
もう一つ教えて下さい。
panddingとかmarginsを設定して0に元に戻すと隣のコントロールと隙間が空いたままになるのは自分だけ?
675669
2018/11/06(火) 22:08:56.05ID:hsnGAH6F 訂正です。
panddingとかmarginsを設定して実行。
その後、全部0に戻して実行しても隙間が空いたままです。
panddingとかmarginsを設定して実行。
その後、全部0に戻して実行しても隙間が空いたままです。
676デフォルトの名無しさん
2018/11/07(水) 12:11:35.51ID:wV9cKqqT >>675
fmxのmarginはちょっとバグってる気がする
その例と同じかどうか分からないけど
複数のspeedbuttonをalignをleftにして並べて
ボタンのmarginを一度設定すると
marginを解除しても
ボタンの左半分くらいがマウスに反応しなくなる
いろいろやってると何かのきっかけで正常になったりする
fmxのmarginはちょっとバグってる気がする
その例と同じかどうか分からないけど
複数のspeedbuttonをalignをleftにして並べて
ボタンのmarginを一度設定すると
marginを解除しても
ボタンの左半分くらいがマウスに反応しなくなる
いろいろやってると何かのきっかけで正常になったりする
677デフォルトの名無しさん
2018/11/07(水) 12:24:36.39ID:wV9cKqqT 上にスタイルの話があるけど
スタイルで背景色を変えたら
Windows10以外では適用されてなかった
コンパイルのしかたかなぁ
最近公開したソフトで
ユーザに指摘されて初めて気づいたよ
スタイルで背景色を変えたら
Windows10以外では適用されてなかった
コンパイルのしかたかなぁ
最近公開したソフトで
ユーザに指摘されて初めて気づいたよ
678669
2018/11/08(木) 21:49:27.80ID:+35zDuDi 結局プログラムで指定すれば配置されるので我慢します
679デフォルトの名無しさん
2018/11/15(木) 21:17:33.28ID:T3q1kNSY fmxでのフォームの最小化と復帰だけど
コードだけでで問題なく動作する?
WindowState := TWindowState.wsMinimize;
WindowState := TWindowState.wsNormal;
でできるはずなんだけどね
何かうまく機能したりしなかったり
コードだけでで問題なく動作する?
WindowState := TWindowState.wsMinimize;
WindowState := TWindowState.wsNormal;
でできるはずなんだけどね
何かうまく機能したりしなかったり
680デフォルトの名無しさん
2018/11/20(火) 09:18:03.84ID:7wJBb/wv 本棚からDelphi7体験版が出てきたのでインストールしようとしたら、
ライセンス取得のところでエラーが出て使用することができません。
今更ながら、使うことは不可能なのでしょうか?
DelphiXEで非Unicodeのソースが作れればそれでも構わないのですが。
ライセンス取得のところでエラーが出て使用することができません。
今更ながら、使うことは不可能なのでしょうか?
DelphiXEで非Unicodeのソースが作れればそれでも構わないのですが。
681デフォルトの名無しさん
2018/11/20(火) 22:24:15.58ID:yy/MaTgl 今ならフリーのDelphiありますよ
682デフォルトの名無しさん
2018/11/20(火) 22:25:24.56ID:yy/MaTgl すみません非Unicodeと限定されている意味がわからないので現行のものではダメなのかも知れませんね
683デフォルトの名無しさん
2018/11/21(水) 01:49:20.19ID:LolYlRS5684デフォルトの名無しさん
2018/11/23(金) 08:08:59.67ID:aknsIo8R685デフォルトの名無しさん
2018/11/24(土) 01:36:16.72ID:e4CBxpxl FMXをタッチパネルついてるWindows10で動作させるとTListViewとかが勝手にタッチパネル用のスタイルになるのどうにかならんかなぁ
Scrollbarが表示されない上にタッチパネル操作になるから操作が統一できない・・・
デバイス自体を無効にしたらタッチパネルじゃないスタイルで動作するけどなんだかなー
Scrollbarが表示されない上にタッチパネル操作になるから操作が統一できない・・・
デバイス自体を無効にしたらタッチパネルじゃないスタイルで動作するけどなんだかなー
686デフォルトの名無しさん
2018/11/25(日) 11:17:43.53ID:x9MDawPF ListBoxの項目にFocusを付与したいのですが、3,4日うまくいかず困っています。
クリック以外の方法でListBoxにFocusを付与する方法というのはありますか?
クリック以外の方法でListBoxにFocusを付与する方法というのはありますか?
687デフォルトの名無しさん
2018/11/25(日) 21:01:29.45ID:4hnmy7r/ ListBox1.ItemIndex:=3;
ListBox1.SetFocus;
ってこと?
なんか以前にもこんな質問あったような気がするが
ListBox1.SetFocus;
ってこと?
なんか以前にもこんな質問あったような気がするが
688デフォルトの名無しさん
2018/11/26(月) 13:46:48.38ID:gMNgG1vk689デフォルトの名無しさん
2018/11/27(火) 01:04:25.95ID:uHJWsmxJ >>688
そりゃそうだ
他のフォーカスを持つ所をクリックすればフォーカス移る
何がしたいのかわからない
「ウィンドウ ハンドルを持つコンポーネント」の意味を理解してますか?
例えばここ http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabeapp.htm
ListBox以外にフォーカス動かしたくないんなら
他の全てをフォーカスを持たないSpeedButtonとかメニューやツールバーとかにするしかない
或いは他を Enabled:=Falseにするとか
そりゃそうだ
他のフォーカスを持つ所をクリックすればフォーカス移る
何がしたいのかわからない
「ウィンドウ ハンドルを持つコンポーネント」の意味を理解してますか?
例えばここ http://delfusa.main.jp/delfusafloor/archive/VA009712_take/delphi/kabeapp.htm
ListBox以外にフォーカス動かしたくないんなら
他の全てをフォーカスを持たないSpeedButtonとかメニューやツールバーとかにするしかない
或いは他を Enabled:=Falseにするとか
690デフォルトの名無しさん
2018/11/27(火) 09:44:39.76ID:/9xlS8t7 こんな物を作っていました。
ttp://www1.axfc.net/u/3946835.zip?key=123456
既知の不具合
下手にいじると簡単にバックグラウンドプロセスに行ってしまう。
Focusについてですが、このアプリはFocusが残る物をベースに作りました。
新しく作り直した物がListboxをクリックすると一瞬だけFocusが表示されるのですが
すぐ消えてしまうと言うよく分からない現象が起きていました。
よろしかったらご評価いただければ幸いです。
もう我流は辞めてTurboDelphi〜を参考書に勉強したいと思います。
ttp://www1.axfc.net/u/3946835.zip?key=123456
既知の不具合
下手にいじると簡単にバックグラウンドプロセスに行ってしまう。
Focusについてですが、このアプリはFocusが残る物をベースに作りました。
新しく作り直した物がListboxをクリックすると一瞬だけFocusが表示されるのですが
すぐ消えてしまうと言うよく分からない現象が起きていました。
よろしかったらご評価いただければ幸いです。
もう我流は辞めてTurboDelphi〜を参考書に勉強したいと思います。
691デフォルトの名無しさん
2018/11/27(火) 09:53:17.62ID:/9xlS8t7 大事なことを忘れていました。
このアプリはエクスプローラ上で.wavファイルを選択し「送る」もしくはアイコンでD&Dすると再生を始めます。
またアプリを起動して、エクスプローラからフォームに直接D&Dすると曲を演奏します。
よろしくお願いいたします。
このアプリはエクスプローラ上で.wavファイルを選択し「送る」もしくはアイコンでD&Dすると再生を始めます。
またアプリを起動して、エクスプローラからフォームに直接D&Dすると曲を演奏します。
よろしくお願いいたします。
692デフォルトの名無しさん
2018/11/27(火) 12:16:28.81ID:e3+VQ8Az 例のお方か
まだやってたのはちょっとビックリ
まだやってたのはちょっとビックリ
693デフォルトの名無しさん
2018/11/27(火) 15:00:40.58ID:/9xlS8t7 そうですよ。まだやってました。石の上にも3年と言う言葉もありますし
おかげさまで、プログラミング技法の第一巻の半分くらいまでは理解できるようになりました。
今度はちゃんと基礎からやり直したいと思います。
あげたファイルはアルファー版ほどの出来ですが、今の知識で作った物です。
ご興味がありましたら、ご評価をよろしくお願いいたします。
おかげさまで、プログラミング技法の第一巻の半分くらいまでは理解できるようになりました。
今度はちゃんと基礎からやり直したいと思います。
あげたファイルはアルファー版ほどの出来ですが、今の知識で作った物です。
ご興味がありましたら、ご評価をよろしくお願いいたします。
694デフォルトの名無しさん
2018/11/27(火) 20:14:14.72ID:NOmVen+G695デフォルトの名無しさん
2018/11/27(火) 20:24:03.07ID:B1T5LoxP >>694
マウスでドラッグしたらスクロールできたり(タッチパネル式だからマウスでスクロールバー操作するのとは逆の動きする)、スクロールバーが表示されてるときにクリックしても反応なかったり
OS側で常にスクロールバー表示しても非表示とか
レガシーな入力デバイスが主なプラットホームでは切り替えられるようにしといて欲しい・・・
マウスでドラッグしたらスクロールできたり(タッチパネル式だからマウスでスクロールバー操作するのとは逆の動きする)、スクロールバーが表示されてるときにクリックしても反応なかったり
OS側で常にスクロールバー表示しても非表示とか
レガシーな入力デバイスが主なプラットホームでは切り替えられるようにしといて欲しい・・・
696デフォルトの名無しさん
2018/11/27(火) 22:24:05.07ID:NOmVen+G697デフォルトの名無しさん
2018/11/27(火) 22:44:39.21ID:uHJWsmxJ >>690
ごめん俺687と689を書いた者だけど自分の勉強以外で人のソース読むほど時間はないんだ
と書きながらも流し読みだけでもしようかと開いてみたら
「404 Not Foundファイルが見つかりません」
>新しく作り直した
と書かれているがそれは今までのソースのつぎはぎコピペではなく自分で理解しながら書き起こしたものですか?
それならば不具合が出たとしても何をググって調べればいいかわかると思います
プログラミング技法って昔持ってた記憶があるけど一度通読したあと埃かぶってたまま引っ越しの時に捨てたくらいいまいちな本だった記憶
自分はやっぱり最初は「はじめてのDelphi」が一番わかりやすかったし
「Delphiオブジェクト指向プログラミング」でVCL読むようになって
「インサイドDelphi」とか「シェルプログラミング入門」が楽しく読めるようになった
そうです私もおじさんです
ごめん俺687と689を書いた者だけど自分の勉強以外で人のソース読むほど時間はないんだ
と書きながらも流し読みだけでもしようかと開いてみたら
「404 Not Foundファイルが見つかりません」
>新しく作り直した
と書かれているがそれは今までのソースのつぎはぎコピペではなく自分で理解しながら書き起こしたものですか?
それならば不具合が出たとしても何をググって調べればいいかわかると思います
プログラミング技法って昔持ってた記憶があるけど一度通読したあと埃かぶってたまま引っ越しの時に捨てたくらいいまいちな本だった記憶
自分はやっぱり最初は「はじめてのDelphi」が一番わかりやすかったし
「Delphiオブジェクト指向プログラミング」でVCL読むようになって
「インサイドDelphi」とか「シェルプログラミング入門」が楽しく読めるようになった
そうです私もおじさんです
698デフォルトの名無しさん
2018/11/27(火) 22:49:52.31ID:NOmVen+G >>690
何をしたいのか分からないよ?
focusって言葉がそもそも違うんじゃない?
もし何らかの理由で本当にlistboxにfocusを与えたまま
維持したいんだけど、できないんだったら
他のコントロールがfocusを奪ってるんでしょ
それを調べたらいいんじゃない?
何をしたいのか分からないよ?
focusって言葉がそもそも違うんじゃない?
もし何らかの理由で本当にlistboxにfocusを与えたまま
維持したいんだけど、できないんだったら
他のコントロールがfocusを奪ってるんでしょ
それを調べたらいいんじゃない?
699デフォルトの名無しさん
2018/11/27(火) 23:04:45.17ID:NOmVen+G700デフォルトの名無しさん
2018/11/28(水) 07:11:14.22ID:cOVA6pyZ ListBoxってフォーカスの有無で外観が変わったっけ?
フォーカスがなくなって困ることってある?
フォーカスがなくなって困ることってある?
701デフォルトの名無しさん
2018/11/28(水) 18:42:27.35ID:6Wq1ldCo ご評価していただいた皆様ありがとうございます。
このソフトを作るときは、巻き戻し・プログレスバー移動自由自在・リモコン対応
を目標に作り始めましたが、どれ一つも実現できませんでした。
MCIを使っての巻き戻しは、テープ系なら可能みたいですがMpegではデバイスが対応していないので無理。プログレスバーでの移動はどんなに大変なのかは、DelphiでDVDプレイヤーを作った方のサイトがあるのでそちらを参照してください。
大本のVolume制御以外は自分で実装しましたが、新しく別プロジェクトを作って試作してめどが立ってから導入しましたが、何故か思ったように動かず。
前半はMCIに翻弄され後半はインターフェースに苦しみ、メディアプレイヤーはもう少し修行を重ねてから、作りたいと思います。
愚痴めいた内容ですみません。
色々アドバイスをしてくれた皆様、特に質問を投げかけたときに、コマンドを一言つぶやいていただいた方、自分で使い方を調べることで理解が進みました。
スレ汚し失礼しました。
このソフトを作るときは、巻き戻し・プログレスバー移動自由自在・リモコン対応
を目標に作り始めましたが、どれ一つも実現できませんでした。
MCIを使っての巻き戻しは、テープ系なら可能みたいですがMpegではデバイスが対応していないので無理。プログレスバーでの移動はどんなに大変なのかは、DelphiでDVDプレイヤーを作った方のサイトがあるのでそちらを参照してください。
大本のVolume制御以外は自分で実装しましたが、新しく別プロジェクトを作って試作してめどが立ってから導入しましたが、何故か思ったように動かず。
前半はMCIに翻弄され後半はインターフェースに苦しみ、メディアプレイヤーはもう少し修行を重ねてから、作りたいと思います。
愚痴めいた内容ですみません。
色々アドバイスをしてくれた皆様、特に質問を投げかけたときに、コマンドを一言つぶやいていただいた方、自分で使い方を調べることで理解が進みました。
スレ汚し失礼しました。
702デフォルトの名無しさん
2018/11/28(水) 18:45:05.85ID:KTh/kflZ 3行で頼む
703デフォルトの名無しさん
2018/11/28(水) 19:03:58.25ID:6Wq1ldCo 教えてくれた皆さんありがとう
つかれた
mp3再生君にはかないませんでした。
こんな感じで
つかれた
mp3再生君にはかないませんでした。
こんな感じで
704デフォルトの名無しさん
2018/11/28(水) 19:51:39.78ID:N0ilq15o >>702
おまえ1行じゃねえか
おまえ1行じゃねえか
705デフォルトの名無しさん
2018/11/28(水) 19:52:09.33ID:9Dt+AyzE706デフォルトの名無しさん
2018/11/28(水) 21:12:16.13ID:6Wq1ldCo そうでした。
Object Pascal言語ガイドを少し腰を据えて読んで理解したいと思います。
Object Pascal言語ガイドを少し腰を据えて読んで理解したいと思います。
707デフォルトの名無しさん
2018/11/28(水) 21:32:01.67ID:m6jgQPaC 前も言ったような気がするけど
fmxのコントロールのカスタムスタイルって
Windowsだと10でしか有効にならなくない?
設定した背景色とか8.1や7じゃ消えてるし
fmxのコントロールのカスタムスタイルって
Windowsだと10でしか有効にならなくない?
設定した背景色とか8.1や7じゃ消えてるし
708デフォルトの名無しさん
2018/11/28(水) 22:21:14.73ID:KTh/kflZ >>707
Windowsのバージョンで別々に設定できる反面、Windows10専用で設定されてるのに気付かないと別の環境では変な表示になっちゃうよね
Windowsのバージョンで別々に設定できる反面、Windows10専用で設定されてるのに気付かないと別の環境では変な表示になっちゃうよね
709デフォルトの名無しさん
2018/11/28(水) 23:14:08.68ID:DuRogDXc MCI君をいじると擁護する単発が現れるのももう恒例行事になってきた。
710デフォルトの名無しさん
2018/11/28(水) 23:46:29.77ID:WWqTncYq え?誰が擁護してる?
711デフォルトの名無しさん
2018/11/29(木) 00:17:09.19ID:3U/+XJ1L ほらね
712デフォルトの名無しさん
2018/11/29(木) 08:37:13.44ID:J6L5KB/r >>708
そうなんだ
確かに「ターゲットプラットフォームの
バージョンごとにネイティブ」って書いてあるね
Windows 10 Desktop用に作ってあったとして
新たに8用と7用も作ってやらないとならないのか
こりゃちょっと大変な作業だ
そうなんだ
確かに「ターゲットプラットフォームの
バージョンごとにネイティブ」って書いてあるね
Windows 10 Desktop用に作ってあったとして
新たに8用と7用も作ってやらないとならないのか
こりゃちょっと大変な作業だ
713デフォルトの名無しさん
2018/11/29(木) 15:25:33.53ID:yQEZusSx >>712
デフォルトスタイルに設定するか、スタイルを保存して各プラットホームにマージしたらそんなに手間でもないよ
デフォルトスタイルに設定するか、スタイルを保存して各プラットホームにマージしたらそんなに手間でもないよ
714デフォルトの名無しさん
2018/11/29(木) 21:26:39.87ID:w2wW1sYB715デフォルトの名無しさん
2018/12/05(水) 10:09:27.51ID:mTCdLhw6 DelphiXEを使ってます。
エクスプローラからプロジェクトファイルをダブルクリックしてDelphiが起動するのですが、
さらにもう一つ同じ操作で起動すると、先に起動したIDEのプロジェクトグループに追加され
てしまいます。2つ目のプロジェクトを別のIDE画面で起動したいのですが、そのような設定
があるのでしょうか?
エクスプローラからプロジェクトファイルをダブルクリックしてDelphiが起動するのですが、
さらにもう一つ同じ操作で起動すると、先に起動したIDEのプロジェクトグループに追加され
てしまいます。2つ目のプロジェクトを別のIDE画面で起動したいのですが、そのような設定
があるのでしょうか?
716デフォルトの名無しさん
2018/12/06(木) 13:52:27.48ID:DDjonqa2 無い
そういうものと思うしかない
そういうものと思うしかない
717デフォルトの名無しさん
2018/12/07(金) 09:21:09.18ID:2Avy4w/h718デフォルトの名無しさん
2018/12/08(土) 09:28:52.05ID:p9Ru1ius Rioの各デスクトップレイアウトを変更した後
それを保存する項目がメニューから消えたみたいですが?
それを保存する項目がメニューから消えたみたいですが?
719デフォルトの名無しさん
2018/12/08(土) 13:38:29.09ID:NwPO1Ie0720デフォルトの名無しさん
2018/12/08(土) 17:06:57.94ID:p9Ru1ius721デフォルトの名無しさん
2018/12/12(水) 22:30:39.97ID:MSpbLBgR エンタープライズコネクターのインストール方法教えて下さい。
ダウンロードしてsetup.exeを実行してパスを通すの?
ダウンロードしてsetup.exeを実行してパスを通すの?
722デフォルトの名無しさん
2018/12/13(木) 09:33:41.92ID:+QyQFfQj ちょっと教えてください
fmxのカスタムスタイル変更でコントロールの背景を変更するとき
Windows 10 Desktopstyle.pngとかWindows 7style.pngとか利用しますが
これってどこにあるの?
この画像を修正したいいんですがドライブの中を検索しても見つかりません
fmxのカスタムスタイル変更でコントロールの背景を変更するとき
Windows 10 Desktopstyle.pngとかWindows 7style.pngとか利用しますが
これってどこにあるの?
この画像を修正したいいんですがドライブの中を検索しても見つかりません
723デフォルトの名無しさん
2018/12/13(木) 11:47:04.04ID:YCEJ54t4 Delphi10.3 Community Edition 入れてみた
オブジェクトインスペクタのイベントTabが開かないんだけど
俺だけ?
Delphi10.23 Community Editionでは問題なく選択できる
オブジェクトインスペクタのイベントTabが開かないんだけど
俺だけ?
Delphi10.23 Community Editionでは問題なく選択できる
724デフォルトの名無しさん
2018/12/13(木) 16:31:21.26ID:vV5HNjFS 10.23とかなり新しいから修正あったんだろ
725デフォルトの名無しさん
2018/12/13(木) 18:38:58.45ID:YCEJ54t4 'イベント'の文字の所をクリックすると いけた
TABの色と右側空白の色が同じだったので、空白をクリックしていただけだったw
TABの色と右側空白の色が同じだったので、空白をクリックしていただけだったw
726デフォルトの名無しさん
2018/12/13(木) 19:43:45.07ID:w3f+OOI4 クリックしてイベントTabを開けない方が難しいと思うw
727デフォルトの名無しさん
2018/12/15(土) 02:19:47.94ID:bDhDTHwp 10.3でPostMessageを使ったメソッド、イベントハンドラ呼び出しの
標準のラッパーみたいのありますか
Call(Button1Click, [Sender]);
的な使い方ができるもの
標準のラッパーみたいのありますか
Call(Button1Click, [Sender]);
的な使い方ができるもの
728デフォルトの名無しさん
2018/12/21(金) 18:01:03.17ID:cky1I29u AndroidアプリのためにFMX.MEMOを使って
簡単なテキストエディタを作ろうと思ったが
いざAndroid上で動かすと、漢字入力の際
変換中の文字列の色が変化せずに困っている
普通は入力中の文字、文節の区切り、カーソル位置で
色が変わったり下線が表示されるが、周りの文字と同じままで
どこが入力中で、どこが文節の区切りなのか分からない
何か設定が足りないんだろうか?
(IMEはGoogle日本語入力です)
簡単なテキストエディタを作ろうと思ったが
いざAndroid上で動かすと、漢字入力の際
変換中の文字列の色が変化せずに困っている
普通は入力中の文字、文節の区切り、カーソル位置で
色が変わったり下線が表示されるが、周りの文字と同じままで
どこが入力中で、どこが文節の区切りなのか分からない
何か設定が足りないんだろうか?
(IMEはGoogle日本語入力です)
729デフォルトの名無しさん
2018/12/22(土) 08:55:33.68ID:NdThNIsr まあバグだろうね。欧米人はIMEとか使わないから
730デフォルトの名無しさん
2019/01/20(日) 15:49:29.87ID:qfpRHOuf D7 です。
それなりに以前の機器の古いバイナリデータの日時情報が 8 byte(64bit) Hex で記録されているのですが、
日付TDateTime型 に入れる式をどなたか分りませんでしょうか?
この形式のような気配なのですが
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 系でのミリ秒含めでもなさそうでちょっとお手あげです。
それなりに以前の機器の古いバイナリデータの日時情報が 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.16ID:pkTQkmr2 64bitの符号付きかね?
符号無しでも試してみれば?
符号無しでも試してみれば?
732731
2019/01/20(日) 18:33:56.63ID:pkTQkmr2 整数型は、符号付き・符号無しのどちらか?
リトルエンディアン・ビッグエンディアンのどちらか?
そのサイトのソースコードを見ると、
unsigned long low, high;
unsigned は、符号無し
val[0〜3]がlow、[4〜7]がhigh、
0123_4567 が、low_high だから、ミドル(PDP)エンディアンか?
1234_ABCD を、ABCD_1234 にしているのか?
Wikipedia の「エンディアン」を参照して!
リトルエンディアン・ビッグエンディアンのどちらか?
そのサイトのソースコードを見ると、
unsigned long low, high;
unsigned は、符号無し
val[0〜3]がlow、[4〜7]がhigh、
0123_4567 が、low_high だから、ミドル(PDP)エンディアンか?
1234_ABCD を、ABCD_1234 にしているのか?
Wikipedia の「エンディアン」を参照して!
733デフォルトの名無しさん
2019/01/20(日) 20:11:56.51ID:KDWvqb8v D7から10.3comに変更してAndroidアプリでも作ろうかと気軽にチャレンジしたら
すげー苦労してる・・・
プロパティ名が微妙に違うしStringGridとかListviewみたいになってるし
ダイアログとかも面倒くせー
すげー苦労してる・・・
プロパティ名が微妙に違うしStringGridとかListviewみたいになってるし
ダイアログとかも面倒くせー
734デフォルトの名無しさん
2019/01/20(日) 20:13:41.94ID:KDWvqb8v すまんエン馬鹿スレと間違えた メッセージが分かりづれーよJane
735730
2019/01/21(月) 09:36:20.23ID:a6ON0eDT 詳細書き直し
古い規格データの機器からのバイナリデータ。
目的:古いデータを今の形式にする為。
日時部分を Delphi D7 で扱える ULDateTime : TDateTime; に入れたい。
問題点:時間部分の変換が分らない。
データブロックを構成する他の部分データ部分はリトルエンディアンで構成されている。
バイナリエディタで見ると不明で残る日時データ部分が8バイトの羅列。
[0][1][2][3][4][5][6][7]
(1) "80 D4 12 08 06 4B D2 88"
データの変る区切りで (2)つ目の変化
(2) "00 6B AB 08 06 4B D2 88"
時間が進むごとに
[0] 側から加算されていく、よってこの部分もリトルエンディアンで構成。
1分に満たない時間変化で4バイト目も変っていく為 32bitではない。
古い規格データの機器からのバイナリデータ。
目的:古いデータを今の形式にする為。
日時部分を Delphi D7 で扱える ULDateTime : TDateTime; に入れたい。
問題点:時間部分の変換が分らない。
データブロックを構成する他の部分データ部分はリトルエンディアンで構成されている。
バイナリエディタで見ると不明で残る日時データ部分が8バイトの羅列。
[0][1][2][3][4][5][6][7]
(1) "80 D4 12 08 06 4B D2 88"
データの変る区切りで (2)つ目の変化
(2) "00 6B AB 08 06 4B D2 88"
時間が進むごとに
[0] 側から加算されていく、よってこの部分もリトルエンディアンで構成。
1分に満たない時間変化で4バイト目も変っていく為 32bitではない。
736デフォルトの名無しさん
2019/01/21(月) 09:40:36.46ID:p/5Zwz2x Link先はUnix系だからこれでいけるようだけど違うみたいね
function bswap64(i: int64): int64;
begin
result := (i and $ff00000000000000) shr 56 or (i and $ff000000000000) shr 40 or
(i and $ff0000000000) shr 24 or (i and $ff00000000) shr 8 or
(i and $ff000000) shl 8 or (i and $ff0000) shl 24 or
(i and $ff00) shl 40 or (i and $ff) shl 56;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i64 : Int64;
d: double;
la: cardinal;
s : String;
dt : TDateTime;
begin
i64 := StrToInt64('$' + '6082D42A5A38C601');
i64 := bswap64(i64);
d := i64 * 1.0e-7;
d := d - 11644473600;
d := d /(24*60*60) + UnixDateDelta;
dt := FloatToDateTime(d);
// la := Trunc(d);
// dt := UnixToDateTime(la);
Edit2.Text := FormatDateTime('YYYY/MM/DD HH:MM:SS', dt);
end;
function bswap64(i: int64): int64;
begin
result := (i and $ff00000000000000) shr 56 or (i and $ff000000000000) shr 40 or
(i and $ff0000000000) shr 24 or (i and $ff00000000) shr 8 or
(i and $ff000000) shl 8 or (i and $ff0000) shl 24 or
(i and $ff00) shl 40 or (i and $ff) shl 56;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i64 : Int64;
d: double;
la: cardinal;
s : String;
dt : TDateTime;
begin
i64 := StrToInt64('$' + '6082D42A5A38C601');
i64 := bswap64(i64);
d := i64 * 1.0e-7;
d := d - 11644473600;
d := d /(24*60*60) + UnixDateDelta;
dt := FloatToDateTime(d);
// la := Trunc(d);
// dt := UnixToDateTime(la);
Edit2.Text := FormatDateTime('YYYY/MM/DD HH:MM:SS', dt);
end;
737730
2019/01/21(月) 09:56:47.94ID:/4Ne5b0H パソコンで続きを書こうとしたらホスト規制の文字が出る
>736 考えてみます
>736 考えてみます
738736
2019/01/22(火) 07:57:49.66ID:wlBx3Xs7 Q : 整数型は、符号付き・符号無しのどちらか?
A : いっさい不明
全差分 54秒 ほどの間に 1529 個ほどのデータ
時間文字の違いを抜き出し
time 1> 0x88D24B060812D480 : 2015/04/22 11:24:29 付近
time 2> 0x88D24B0608AB6B00
〜
time end-1> 0x88D24B0627A9FD00
time end> 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
2進数、8進数、10進数、16進数相互変換ツール
h ttp:〜(この〜〜は規制がどうたらこーたら表示)
符号なし10進数化で差分を求めると 10000000
これが1秒の更新と一致。
新展開
"00 40 E4 47 02 22 C1 08" : 終了段未計測の値、(データ無し)
0x08C1220247E44000
符号なし で変換 630822816000000000 ググるといくつも何かがHit
Calendar のどうたらこーたら英文一杯
A : いっさい不明
全差分 54秒 ほどの間に 1529 個ほどのデータ
時間文字の違いを抜き出し
time 1> 0x88D24B060812D480 : 2015/04/22 11:24:29 付近
time 2> 0x88D24B0608AB6B00
〜
time end-1> 0x88D24B0627A9FD00
time end> 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
2進数、8進数、10進数、16進数相互変換ツール
h ttp:〜(この〜〜は規制がどうたらこーたら表示)
符号なし10進数化で差分を求めると 10000000
これが1秒の更新と一致。
新展開
"00 40 E4 47 02 22 C1 08" : 終了段未計測の値、(データ無し)
0x08C1220247E44000
符号なし で変換 630822816000000000 ググるといくつも何かがHit
Calendar のどうたらこーたら英文一杯
739デフォルトの名無しさん
2019/01/22(火) 20:50:24.33ID:zgLYWjKa >>738
time2の値を0xffffffffffffffff-1(=0x7fffffffffffffff)でbit andを取ると、
0x8d24b0628429380
この値を.NET frameworkのDateTime型に渡してインスタンス化したところ、
2015/04/22 11:25:23
となり一致した。
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
またほかの考察から、1sec=10000000であり、ちょうど100nsecの分解能とも一致している。
time2の値を0xffffffffffffffff-1(=0x7fffffffffffffff)でbit andを取ると、
0x8d24b0628429380
この値を.NET frameworkのDateTime型に渡してインスタンス化したところ、
2015/04/22 11:25:23
となり一致した。
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
またほかの考察から、1sec=10000000であり、ちょうど100nsecの分解能とも一致している。
740デフォルトの名無しさん
2019/01/22(火) 20:52:09.44ID:zgLYWjKa741デフォルトの名無しさん
2019/01/22(火) 22:15:27.13ID:zgLYWjKa743736
2019/01/23(水) 06:56:58.78ID:BnZEIkIf .NET frameworkのDateTime互換型と仮定 → (.Net型 非対応) Delphi TDateTime型
対象 : 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
符号なしで推移
2000年1月1日 00:00:00 基準値 0x08C1220247E44000
差分
16進数 = 80112903E05E5380
10進数 = 9228202208084775808
02進数 = 1000000000010001001010010000001111100000010111100101001110000000
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)
値の上位2bitは0b10(=2)なので、ローカルタイム
上位2bit捨てる
2000/01/01 00:00:00 以降だけと仮定(計測機器データなので過去は無し)
1000000000010001001010010000001111100000010111100101001110000000
00000000010001001010010000001111100000010111100101001110000000 = 4830171230000000 = 0x112903E05E5380
4830171230000000 / 10000 ms = 483017123000 {切捨て}
483017123000 (ms)
/1000 = 483017123 ...0 (ms)
/60 = 8050285 ...23 (sec)
/60 = 134171 ...25 (min)
/24 = 5590 ...11 (hour)
2000年1月1日 から 5590 日のローカルタイム経過日
対象 : 0x88D24B0628429380 : 2015/04/22 11:25:23 付近
符号なしで推移
2000年1月1日 00:00:00 基準値 0x08C1220247E44000
差分
16進数 = 80112903E05E5380
10進数 = 9228202208084775808
02進数 = 1000000000010001001010010000001111100000010111100101001110000000
.NET frameworkのDateTime型は、100nsecの分解能をもつグレゴリオ歴0001年1月1日 00:00:00からの経過時間
時刻の種類を示すbit flagで、指定なし(0), utc(1), local(2)
値の上位2bitは0b10(=2)なので、ローカルタイム
上位2bit捨てる
2000/01/01 00:00:00 以降だけと仮定(計測機器データなので過去は無し)
1000000000010001001010010000001111100000010111100101001110000000
00000000010001001010010000001111100000010111100101001110000000 = 4830171230000000 = 0x112903E05E5380
4830171230000000 / 10000 ms = 483017123000 {切捨て}
483017123000 (ms)
/1000 = 483017123 ...0 (ms)
/60 = 8050285 ...23 (sec)
/60 = 134171 ...25 (min)
/24 = 5590 ...11 (hour)
2000年1月1日 から 5590 日のローカルタイム経過日
744736
2019/01/23(水) 07:02:27.05ID:BnZEIkIf .NET frameworkのDateTime互換型と仮定 → (.Net 非対応) Delphi TDateTime型
検証中
uses
// (略)
DateUtils,Math;
procedure TForm1.Button_Hex64Bit2000CalendarClick(Sender: TObject);
var
i64 : Int64;
// (略)
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Hex64BitDotNfDateTime.Text);
i64 := i64 - $08C1220247E44000;
TextStr := IntToHex(i64,16);
Memo1.Lines.Add(TextStr);
// Hex 16bit 文字→ 2bit String に変換
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// i64 := 残りを 10進数数値に変換
// i64 := Trunc(i64/10000); // ミリ秒単位化
i64 := 483017123000; // (仮入れ)
ULDateTime := StrToDateTime('2000/01/01 00:00:00.000');
ULDateTime := IncMilliSecond(ULDateTime,i64);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
Memo1.Lines.Add(TextStr);
end;
結果 : 2015/04/22 11:25:23.000
一致しました。
検証中
uses
// (略)
DateUtils,Math;
procedure TForm1.Button_Hex64Bit2000CalendarClick(Sender: TObject);
var
i64 : Int64;
// (略)
TextStr : String;
ULDateTime : TDateTime;
begin
i64 := StrToInt64('$' + Edit_Hex64BitDotNfDateTime.Text);
i64 := i64 - $08C1220247E44000;
TextStr := IntToHex(i64,16);
Memo1.Lines.Add(TextStr);
// Hex 16bit 文字→ 2bit String に変換
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// i64 := 残りを 10進数数値に変換
// i64 := Trunc(i64/10000); // ミリ秒単位化
i64 := 483017123000; // (仮入れ)
ULDateTime := StrToDateTime('2000/01/01 00:00:00.000');
ULDateTime := IncMilliSecond(ULDateTime,i64);
TextStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
Memo1.Lines.Add(TextStr);
end;
結果 : 2015/04/22 11:25:23.000
一致しました。
745736 関数化
2019/01/24(木) 06:22:34.57ID:+IgQLcoJ 関数化したものを分けて書こうとすると
Sorry, you have been blocked
You are unable to access 5ch.net
>744 変更
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
TextStr := Int64ToBin(i64,False); // 他者さんの参照外部関数を改変
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
Sorry, you have been blocked
You are unable to access 5ch.net
>744 変更
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
TextStr := Int64ToBin(i64,False); // 他者さんの参照外部関数を改変
// 上位2bit 文字 で utc(1)00, local(2)10 を判定後削除
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
746736 関数化
2019/01/24(木) 06:38:11.74ID:+IgQLcoJ function DotNf64bitHexToDateTimeStr(Str8bytesHex : String; Flg,MS : Boolean) : String; // 8 Bytes Hex , Flg check , ms on(True/False)off
(省略 >744冒頭部分近似)
// i64 := 残りを 10進数数値に変換
ib := 0; // 頭"i"Int
ea := 0; // 頭"e"Extended
ilen := Length(TextStr);
for ia := ilen downto 1 do
begin
iBin := StrToIntDef(TextStr[ia],0);
ea := ea + ((power(2,ib)) * iBin);
ib := ib + 1;
end;
i64 := Trunc(ea / 10000); // ミリ秒単位化
ULDateTime := StrToDateTime(DateTimeStr);
ULDateTime := IncMilliSecond(ULDateTime,i64);
if MS then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
if MS = False then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
end;
if Flg then DateTimeStr := UL + DateTimeStr;
DotNf64bitHexToDateTimeStr := DateTimeStr;
end;
end.
(省略 >744冒頭部分近似)
// i64 := 残りを 10進数数値に変換
ib := 0; // 頭"i"Int
ea := 0; // 頭"e"Extended
ilen := Length(TextStr);
for ia := ilen downto 1 do
begin
iBin := StrToIntDef(TextStr[ia],0);
ea := ea + ((power(2,ib)) * iBin);
ib := ib + 1;
end;
i64 := Trunc(ea / 10000); // ミリ秒単位化
ULDateTime := StrToDateTime(DateTimeStr);
ULDateTime := IncMilliSecond(ULDateTime,i64);
if MS then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS.ZZZ',ULDateTime);
if MS = False then DateTimeStr := FormatDateTime('YYYY/MM/DD HH:MM:SS',ULDateTime);
end;
if Flg then DateTimeStr := UL + DateTimeStr;
DotNf64bitHexToDateTimeStr := DateTimeStr;
end;
end.
747736 関数化
2019/01/25(金) 06:18:32.24ID:/nan/z+i 補足
i64 := StrToInt64('$' + Str8bytesHex);
// Int64 → 2bit String に変換 'Int64ToBin' で検索先
// 上位2bit 文字 で utc(1)01, local(2)10 を判定
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
流れをこうしないと年日時の結果は同じでも
指定なし(0) 上位2bit 文字 '00' の場合
差し引き結果から'01'のutc判別となってしまう。
i64 := StrToInt64('$' + Str8bytesHex);
// Int64 → 2bit String に変換 'Int64ToBin' で検索先
// 上位2bit 文字 で utc(1)01, local(2)10 を判定
i64 := i64 - $08C1220247E44000;
// Int64 → 2bit String に変換
// 上位ゴミ'0'削除
// i64 := 残りを 10進数数値に変換
流れをこうしないと年日時の結果は同じでも
指定なし(0) 上位2bit 文字 '00' の場合
差し引き結果から'01'のutc判別となってしまう。
748デフォルトの名無しさん
2019/01/26(土) 12:43:51.03ID:V7Vc5iY/ DocWikiの内容をzipファイルか何かで一括ダウンロードする方法あったら教えてください
749デフォルトの名無しさん
2019/02/10(日) 07:14:24.28ID:RF523CmO 古いD6をまだ使っているが、エディタは VScode にDelphi extension入れて
使っている
デバッグはD6のIDEでやるしかないけど、両方立ち上げておけば
まあ使えますね
使っている
デバッグはD6のIDEでやるしかないけど、両方立ち上げておけば
まあ使えますね
750デフォルトの名無しさん
2019/02/10(日) 10:26:35.22ID:3PGMldSJ 俺もD6で、秀丸でコーディングしていたが、VSodeに切り替えてみようかな。
VSCodeは他の言語で使ってるので。
VSCodeは他の言語で使ってるので。
751デフォルトの名無しさん
2019/02/10(日) 18:01:50.44ID:RF523CmO VScodeの注意点: 別PCのファイルを開くと、変更が反映されない事象あり
自動保存されるけど、書きなおしたやつをまた開くと直っているように見えるのに、
実際は直ってないとか。 意味不明
自動保存されるけど、書きなおしたやつをまた開くと直っているように見えるのに、
実際は直ってないとか。 意味不明
752デフォルトの名無しさん
2019/02/10(日) 20:08:43.74ID:RF523CmO >>751 あっちとこっちで同時にファイル開いてたせいみたい
753デフォルトの名無しさん
2019/02/17(日) 19:49:40.12ID:mFe1BbW0 別に今必要な事じゃないんだけど
エクスプローラーのファイル名で並べたら
ファイル1
ファイル2
・・
ファイル10
って並ぶでしょ。 これどんなロジックなんだろ
スマートな方法が思いつかないし興味ある
エクスプローラーのファイル名で並べたら
ファイル1
ファイル2
・・
ファイル10
って並ぶでしょ。 これどんなロジックなんだろ
スマートな方法が思いつかないし興味ある
754デフォルトの名無しさん
2019/02/17(日) 21:28:00.77ID:8qqWbI4p 自分は自作ソフトで似たようなことやってるけど
1文字単位での比較で数値同士の比較の場合に、その先の数値じゃなくなる前まで読んで整数にして比較ってしてる
小数点以下は1文字単位での比較として扱うので整数にしない
ただ 第11話 最終話 のような場合のロジックが面倒
1文字単位での比較で数値同士の比較の場合に、その先の数値じゃなくなる前まで読んで整数にして比較ってしてる
小数点以下は1文字単位での比較として扱うので整数にしない
ただ 第11話 最終話 のような場合のロジックが面倒
755デフォルトの名無しさん
2019/02/19(火) 06:54:39.26ID:9UQztg+8 VisualStudioでDelphi使えないかなぁ
756デフォルトの名無しさん
2019/02/19(火) 08:12:14.24ID:BDyhgoG4 Delphi Community EditionとC++Builder Community Editionは同時にインストールできないんだな。
757デフォルトの名無しさん
2019/02/19(火) 09:38:23.94ID:5KoJ2HbW >>753
例えばこういうのは?
ファイル名文字列をバイト単位で数値化して加算
f0 = 0x65 + 0x30 = 101 + 48 = 149
f1 = 150
f2 = 151
f01 = 0x65 + 0x30 + 0x31 = 198
数値化した値で降順ソート
つまり
格納されてるファイル名を文字ではなく文字コードの数値合計でソート
例えばこういうのは?
ファイル名文字列をバイト単位で数値化して加算
f0 = 0x65 + 0x30 = 101 + 48 = 149
f1 = 150
f2 = 151
f01 = 0x65 + 0x30 + 0x31 = 198
数値化した値で降順ソート
つまり
格納されてるファイル名を文字ではなく文字コードの数値合計でソート
758デフォルトの名無しさん
2019/02/19(火) 09:58:03.22ID:5KoJ2HbW 補足
f01 = 0f1 = 1f0 になってしまうので
f(filename)文字列の桁数 len:=length(f) で文字列制限を設けて
for i:=1 to len do
if i<10 then a:=a+Ord(f[i])*10 else a:=a+Ord(f[i]);
適当処理
f01 = 0f1 = 1f0 になってしまうので
f(filename)文字列の桁数 len:=length(f) で文字列制限を設けて
for i:=1 to len do
if i<10 then a:=a+Ord(f[i])*10 else a:=a+Ord(f[i]);
適当処理
759753
2019/02/19(火) 16:58:58.81ID:kMKRA1xT 有り難うございます
おもしろい・・・
おもしろい・・・
760デフォルトの名無しさん
2019/02/19(火) 17:54:17.46ID:oJBYXncw761デフォルトの名無しさん
2019/02/19(火) 19:07:51.51ID:0tdxPmy7 StrCmpLogicalW
762デフォルトの名無しさん
2019/02/19(火) 19:34:05.73ID:oJBYXncw 自分の場合、壱弐参なんてのも数値として扱うようにしている(したい)からAPIだと望んだ結果を得られない
「数値もしくは数値に変換可能なもの」同士の比較の場合だけ整数として比較してる
「数値もしくは数値に変換可能なもの」同士の比較の場合だけ整数として比較してる
763デフォルトの名無しさん
2019/02/21(木) 17:17:10.52ID:2mlLSirQ begin
var
i: Integer;
i := 0;
end;
コードフォーマッタ使うとこうなってしまうのだけどvarのあとで改行しない設定ってどこ?
var
i: Integer;
i := 0;
end;
コードフォーマッタ使うとこうなってしまうのだけどvarのあとで改行しない設定ってどこ?
764デフォルトの名無しさん
2019/03/12(火) 15:37:42.39ID:G73gvPJk ttps://qiita.com/ht_deko/items/41e95154e8da2f901698
コメ欄w
コメ欄w
765デフォルトの名無しさん
2019/03/12(火) 16:19:08.39ID:8KtfShI4 Sorry, my bad. My memory is confused. But, so what?
I mean, the fact is you humiliate Linus and Kernighan in such a way that they never know such a thing as you said.
たしかに恥ずかしい
I mean, the fact is you humiliate Linus and Kernighan in such a way that they never know such a thing as you said.
たしかに恥ずかしい
766デフォルトの名無しさん
2019/03/14(木) 12:21:21.05ID:w5DEurD7 結局なんだったのアレ?
767デフォルトの名無しさん
2019/04/02(火) 23:02:52.38ID:Jpqx4ytb ちょっと教えてほしいんですが、社内イントラネット環境で50台くらいのクライアントPCと
1台のサーバーで双方向に情報をやり取りするVCLフォームアプリを作りたいですが
Delphiだと何使って構築するのが良いのでしょうか?
上からの命令でDelphi使うことなって調べてみたんですが、検索するとDataSnapとか
RESTとかのキーワードが出てきますが自分の経験がDelphi7でストップしていて
現状についていけてません。よろしくおねがいします。
1台のサーバーで双方向に情報をやり取りするVCLフォームアプリを作りたいですが
Delphiだと何使って構築するのが良いのでしょうか?
上からの命令でDelphi使うことなって調べてみたんですが、検索するとDataSnapとか
RESTとかのキーワードが出てきますが自分の経験がDelphi7でストップしていて
現状についていけてません。よろしくおねがいします。
768デフォルトの名無しさん
2019/04/03(水) 02:20:05.63ID:ZykPhSzn769デフォルトの名無しさん
2019/04/03(水) 05:47:42.38ID:qbGQvqkC ふつーにIISで鯖立てて、httpでやりあえばよくね?
770デフォルトの名無しさん
2019/04/03(水) 06:04:14.50ID:Vd76zIcd CのDLLは普通にDelphiでも使える。
つまりcurlとかも普通に選択肢になると思う。
つまりcurlとかも普通に選択肢になると思う。
771デフォルトの名無しさん
2019/04/03(水) 09:22:36.44ID:CI6gl4VO なんでDelphiが指定されたんだろう?
今まで使ってた訳じゃないのに
今まで使ってた訳じゃないのに
772デフォルトの名無しさん
2019/04/04(木) 06:32:46.99ID:HLoaCcLX ネィティブ系だと実質C++かDelphiかの選択肢しかなくね?
773デフォルトの名無しさん
2019/04/04(木) 19:27:06.29ID:GNoSo19c そだねー
774デフォルトの名無しさん
2019/04/12(金) 06:11:32.75ID:MYAmm+z/ >>767
Firebird + Apache + SOAP
Firebird + Apache + SOAP
775デフォルトの名無しさん
2019/04/12(金) 06:17:57.84ID:MYAmm+z/ >>753
[Delphi]Windows XPの規則(自然順ソート・natural sort・natural ordering)ででファイル名をソートする
https://www.gesource.jp/weblog/?p=5947
[Delphi]Windows XPの規則(自然順ソート・natural sort・natural ordering)ででファイル名をソートする
https://www.gesource.jp/weblog/?p=5947
776デフォルトの名無しさん
2019/04/26(金) 08:30:46.09ID:l06kgRZY777デフォルトの名無しさん
2019/04/26(金) 08:31:55.46ID:l06kgRZY >>774
DBはPostgreSQLかMariaDB
DBはPostgreSQLかMariaDB
778デフォルトの名無しさん
2019/05/06(月) 11:11:11.14ID:WAQCiPA3 UnZIP32.DLLとかUnRAR32.DLLでRARファイルの操作する場合の質問です
例えば
BOOL WINAPI UnrarCheckArchive(LPCSTR szFileName,const int iMode);
と定義されてるUnrarCheckArchive関数をDelphiで定義すると
UnrarCheckArchive: function(szFileName: LPCSTR; const iMode: integer): Boolean; stdcall;
こんな感じなって通常はこれで問題ないのですが、
Unicode文字(バ、ガなどの濁音とか)が混じってるファイル名の場合上手く行きません
szFileNameがLPCSTRだからAnsiString扱いなのでUnicodeのファイル名を渡せないのもの当然なのですが、
なにかプログラム側でできる回避策はないでしょうか?
例えば
BOOL WINAPI UnrarCheckArchive(LPCSTR szFileName,const int iMode);
と定義されてるUnrarCheckArchive関数をDelphiで定義すると
UnrarCheckArchive: function(szFileName: LPCSTR; const iMode: integer): Boolean; stdcall;
こんな感じなって通常はこれで問題ないのですが、
Unicode文字(バ、ガなどの濁音とか)が混じってるファイル名の場合上手く行きません
szFileNameがLPCSTRだからAnsiString扱いなのでUnicodeのファイル名を渡せないのもの当然なのですが、
なにかプログラム側でできる回避策はないでしょうか?
779デフォルトの名無しさん
2019/05/06(月) 12:25:07.78ID:a/Eukqc8 >>778
使用しているdelphiのバージョンを書いてください。
delphi2009前か後かで回答が変わるかもしれないからです。
UnrarChechArchive関数の仕様に基づいて型キャストしてやれば良さそうな気がします。
例えばnull終端wide stringという仕様なら、渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
使用しているdelphiのバージョンを書いてください。
delphi2009前か後かで回答が変わるかもしれないからです。
UnrarChechArchive関数の仕様に基づいて型キャストしてやれば良さそうな気がします。
例えばnull終端wide stringという仕様なら、渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
780デフォルトの名無しさん
2019/05/06(月) 13:23:28.45ID:WAQCiPA3 >>779
レスありがとうございます
使用してるDelphiは2010です
>UnrarChechArchive関数の仕様
szFileNameはLPCSTRなので32bit系のDLLではnull終端のAnsiChar配列(のポインタ)になってると思います
>渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
var
Path : string;
UnrarCheckArchive(PAnsiChar(PWideChar(Path)), 0);
この型キャストでは残念ながら上手く行かないようです
レスありがとうございます
使用してるDelphiは2010です
>UnrarChechArchive関数の仕様
szFileNameはLPCSTRなので32bit系のDLLではnull終端のAnsiChar配列(のポインタ)になってると思います
>渡すファイル名をまずPWideCharにキャストして、さらにPAnsiCharにキャスト。
var
Path : string;
UnrarCheckArchive(PAnsiChar(PWideChar(Path)), 0);
この型キャストでは残念ながら上手く行かないようです
781デフォルトの名無しさん
2019/05/06(月) 20:04:43.46ID:6T4so0Ox LongFileNameをShortFileNameに変換すると
幸せになれる
幸せになれる
782デフォルトの名無しさん
2019/05/06(月) 20:48:15.87ID:WAQCiPA3783デフォルトの名無しさん
2019/05/10(金) 10:35:30.18ID:VUdPAgci TDateTime datetime = VarToDateTime("令和元年5月10日9時10分15秒");
今はエラーが出るんだがそのうち対応されるのか?
今はエラーが出るんだがそのうち対応されるのか?
784デフォルトの名無しさん
2019/05/10(金) 20:47:06.76ID:bRXsPgWN FormatDateTime('ge', Now);
レジストリに令和を加えてから上記を実行すると令1 って出るね
レジストリに令和を加えてから上記を実行すると令1 って出るね
785デフォルトの名無しさん
2019/05/11(土) 03:08:09.14ID:KNhq3FbT いずれWindowsアップデートで対応するらしい
https://support.microsoft.com/ja-jp/help/4469068/summary-of-new-japanese-era-updates-kb4469068
コマンドプロンプトでこれを実行するとレジストリに追加される
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras /v "2019 05 01" /t REG_SZ /d "令和_令_Reiwa_R"
https://support.microsoft.com/ja-jp/help/4469068/summary-of-new-japanese-era-updates-kb4469068
コマンドプロンプトでこれを実行するとレジストリに追加される
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras /v "2019 05 01" /t REG_SZ /d "令和_令_Reiwa_R"
786デフォルトの名無しさん
2019/05/12(日) 18:37:34.16ID:Kr8GnLfu vsIconかつAutoArrangeのListViewで、両端のアイテムを選択した状態で左右キーを押すと、
エクスプローラーなら上下の列に移動しますが、DelphiのTListViewだと無反応です
これをエクスプローラーに準拠の動作をさせるにはどうすればよいのでしょうか?
エクスプローラーなら上下の列に移動しますが、DelphiのTListViewだと無反応です
これをエクスプローラーに準拠の動作をさせるにはどうすればよいのでしょうか?
787786
2019/05/15(水) 06:10:55.25ID:jY9AnPp4 自己レスです
通常方向キーなどはVCL側で処理されてOnKeyPress、OnKeyDownなどではトラップできないので、Windowsメッセージを直接トラップすることでエクスプローラー準拠にできました
procedure WMKEYDOWN( var Msg : TWMKEYDOWN ); message CM_CHILDKEY;
procedure TForm1.WMKEYDOWN(var Msg: TWMKEYDOWN);
begin
case Msg.CharCode of
VK_LEFT :
左端か判別して左端なら上の列の右端に移動してResult := 0;
VK_RIGHT :
右端か判別して右端なら下の列の左端に移動してResult := 0;
end;
inherited;
end;
通常方向キーなどはVCL側で処理されてOnKeyPress、OnKeyDownなどではトラップできないので、Windowsメッセージを直接トラップすることでエクスプローラー準拠にできました
procedure WMKEYDOWN( var Msg : TWMKEYDOWN ); message CM_CHILDKEY;
procedure TForm1.WMKEYDOWN(var Msg: TWMKEYDOWN);
begin
case Msg.CharCode of
VK_LEFT :
左端か判別して左端なら上の列の右端に移動してResult := 0;
VK_RIGHT :
右端か判別して右端なら下の列の左端に移動してResult := 0;
end;
inherited;
end;
788デフォルトの名無しさん
2019/05/15(水) 06:39:29.51ID:jY9AnPp4 訂正
Result := 1;でした
Result := 1;でした
789デフォルトの名無しさん
2019/05/26(日) 19:04:45.15ID:Nlo0sxin 開発環境だと問題ないのですが
実行したいPCだと
「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」と警告が出ます。
いくつかのDLLを使ってます。
どこから調べれば良いか???です。
開発環境は XE3 です。
何かヒントでもありませんか?
実行したいPCだと
「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」と警告が出ます。
いくつかのDLLを使ってます。
どこから調べれば良いか???です。
開発環境は XE3 です。
何かヒントでもありませんか?
790デフォルトの名無しさん
2019/05/26(日) 20:54:01.76ID:zVm0Vl5m791デフォルトの名無しさん
2019/05/26(日) 21:22:58.51ID:Nlo0sxin 有り難うございます
警告メッセージは最初にググったのですが ピンとくる書込は見つけられませんでした
VBAは使ってないし・・
開発環境 Win7 x64 、実行環境 Win10 x64 です。
当初はそんな警告出てなかったのですが デバッグしてるうちに出るようになりました
困った・・・
警告メッセージは最初にググったのですが ピンとくる書込は見つけられませんでした
VBAは使ってないし・・
開発環境 Win7 x64 、実行環境 Win10 x64 です。
当初はそんな警告出てなかったのですが デバッグしてるうちに出るようになりました
困った・・・
792デフォルトの名無しさん
2019/05/27(月) 06:55:38.20ID:+4vJq2r8 とりあえず、「動いている状態」ってのに戻してみたらどうかね?
それが再現できるなら話は簡単になる
それが再現できるなら話は簡単になる
793デフォルトの名無しさん
2019/05/27(月) 09:20:16.88ID:ywThIruX コメント感謝します
DLL参照の プロパティ値代入を1行追加してから症状が出るようになった気がするのですが(自信なし)
それをコメントアウトしても症状が消えません
開発環境では出ないので厄介です
Delphiが タイプライブラリを自動で追加したり とか しないですよね?
DLL参照の プロパティ値代入を1行追加してから症状が出るようになった気がするのですが(自信なし)
それをコメントアウトしても症状が消えません
開発環境では出ないので厄介です
Delphiが タイプライブラリを自動で追加したり とか しないですよね?
794デフォルトの名無しさん
2019/05/27(月) 09:39:37.30ID:+4vJq2r8 そうじゃなくて、前の状態のファイルとかシステム一式をバックアップから取り出せないの?
自動でバックアップしながらじゃないとソフト開発は効率わるいよ。
自動でバックアップしながらじゃないとソフト開発は効率わるいよ。
795デフォルトの名無しさん
2019/05/27(月) 11:28:59.51ID:ywThIruX お付き合いホントに有り難うございます
開発環境と 実行環境が 1時間の移動距離にあるので
今現在出来てるテストが上記の書込でした
開発ファイル群は毎日のバックアップがあります
先ず、手元に現象を再現できる環境を構築しようと思ってます。
1度ビルドすると ソースの変更点をコメントアウトしても 元に戻らない
「何か」が有る可能性はあるのでしょうかね?
開発環境と 実行環境が 1時間の移動距離にあるので
今現在出来てるテストが上記の書込でした
開発ファイル群は毎日のバックアップがあります
先ず、手元に現象を再現できる環境を構築しようと思ってます。
1度ビルドすると ソースの変更点をコメントアウトしても 元に戻らない
「何か」が有る可能性はあるのでしょうかね?
796デフォルトの名無しさん
2019/05/27(月) 12:32:39.96ID:9qF1YjML どうせADOとかOLE DBとかそっちの問題だろ?
797デフォルトの名無しさん
2019/05/27(月) 13:08:16.22ID:AYKzEEPJ >>795
四の五の言ってないでデータベースドライバ入れろ
四の五の言ってないでデータベースドライバ入れろ
798789
2019/05/27(月) 16:22:46.11ID:ywThIruX コメント有り難うございます
データベースドライバは入っています
入れ直すということでしょうか?
先の警告メッセージが出たあとOKを押すと 一見正常に動作しているように見えます。
そもそも警告が出始める前は 一通り正常に動作していました。
原因がわかりません。
旧ソースをビルドし直してテストしてみます。
データベースドライバは入っています
入れ直すということでしょうか?
先の警告メッセージが出たあとOKを押すと 一見正常に動作しているように見えます。
そもそも警告が出始める前は 一通り正常に動作していました。
原因がわかりません。
旧ソースをビルドし直してテストしてみます。
799デフォルトの名無しさん
2019/05/27(月) 20:19:06.04ID:zpIi4cEd データベースドライバが32bitか64bitなのかが開発環境と実行環境で違ってたら
そんなようなエラーが出たような気がするが
そんなようなエラーが出たような気がするが
800789
2019/05/27(月) 20:33:13.36ID:ywThIruX >>799
コメント心から感謝します
警告メッセージをググると そんなことも書いてありました
只 当初は問題なく動作していたので 途中でドライバーが変わるようなことも考えにくいですよね
Delphiで書いた実行ファイル以外は一切環境を変えていませんので 謎です
コメント心から感謝します
警告メッセージをググると そんなことも書いてありました
只 当初は問題なく動作していたので 途中でドライバーが変わるようなことも考えにくいですよね
Delphiで書いた実行ファイル以外は一切環境を変えていませんので 謎です
801デフォルトの名無しさん
2019/05/28(火) 00:25:44.07ID:M3HPfliA 32bit用ドライバ → system32 に入れる
64bit用ドライバ → wow64 に入れる
こういう勘違いをしてるアホは時々見かける
64bit用ドライバ → wow64 に入れる
こういう勘違いをしてるアホは時々見かける
802デフォルトの名無しさん
2019/05/28(火) 00:29:31.95ID:Ht1RoDma そういう命名にしたMSが最高のアホだろ
803デフォルトの名無しさん
2019/05/28(火) 08:25:10.69ID:m8dRe03e アプリのバージョンを表示するコードが上手く行かないんで悩んだがどうやらデバッグ版とリリース版でバージョン情報が共有されない仕様になったんだな
デバッグ版、リリース版でそれぞれバージョン情報をオプション設定しなきゃならないんで面倒くさいわー
デフォの文字コードも英語版になってるしなんかいろいろ使いにくい>10.3
デバッグ版、リリース版でそれぞれバージョン情報をオプション設定しなきゃならないんで面倒くさいわー
デフォの文字コードも英語版になってるしなんかいろいろ使いにくい>10.3
804デフォルトの名無しさん
2019/05/28(火) 09:12:35.07ID:WeI/rfn2805デフォルトの名無しさん
2019/05/29(水) 05:48:35.44ID:PLjjs/Q6 begin
TStringList.Create.Add('メモリリークした');
end;
このメモリリークの型、内容、ソースコードの場所を検出してくれるツールで
フリーかつDelphi10.3で使えるものって何があるますか?
TStringList.Create.Add('メモリリークした');
end;
このメモリリークの型、内容、ソースコードの場所を検出してくれるツールで
フリーかつDelphi10.3で使えるものって何があるますか?
806デフォルトの名無しさん
2019/05/29(水) 11:15:02.18ID:+DJjCaX6 >>805
これじゃあかんの?
EurekaLogでDelphiアプリケーションのメモリリークを検出する – 山本隆の開発日誌
https://www.gesource.jp/weblog/?p=4834
これじゃあかんの?
EurekaLogでDelphiアプリケーションのメモリリークを検出する – 山本隆の開発日誌
https://www.gesource.jp/weblog/?p=4834
807デフォルトの名無しさん
2019/05/29(水) 12:20:29.95ID:nxMyfbFc くたばれDelphiに見えた
808デフォルトの名無しさん
2019/05/31(金) 07:36:06.37ID:L7xGWFvw 僕が高校生の頃の記事を紹介されても・・・
809デフォルトの名無しさん
2019/05/31(金) 11:36:16.19ID:wXpLEcKn ところでandroidのメモリリークって
どうやって検出するの?
少なくとも標準のを書いておいても
今まで報告されたことないんだが
どうやって検出するの?
少なくとも標準のを書いておいても
今まで報告されたことないんだが
810デフォルトの名無しさん
2019/06/04(火) 18:44:33.74ID:UGFk7I+U > フリーかつDelphi10.3で使えるもの
バージョンアップについていけなくて大半の外部ツールやVCLは死亡中
有料ですら10.3に対応してないものが多い
バージョンアップについていけなくて大半の外部ツールやVCLは死亡中
有料ですら10.3に対応してないものが多い
811デフォルトの名無しさん
2019/06/04(火) 22:27:56.89ID:2iRNEsdQ Delphiって有志による外部ツールやVCLで成り立っている文化なのに
メーカーはなんでそのことを理解してないんだろうなあ
メーカーはなんでそのことを理解してないんだろうなあ
812デフォルトの名無しさん
2019/06/05(水) 13:40:38.43ID:CzlXW3sk バージョン表記自体もわかりにくいんだよな・・・
8からいきなり2005になったと思ったらDelphi 2010を最後にDelphi XEシリーズになってそのままいくのかと思ったらXE8でうちどめして今度はDelphi 10に
10から11〜とメジャーバージョン上がっていくかと思ったらマイナーバージョンがメジャーアップデート相当でなんか末尾に都市名つけはじめたし
Delphi 10 Seattle
Delphi 10.1 Berlin
Delphi 10.2 Tokyo
Delphi 10.3 Rio
8からいきなり2005になったと思ったらDelphi 2010を最後にDelphi XEシリーズになってそのままいくのかと思ったらXE8でうちどめして今度はDelphi 10に
10から11〜とメジャーバージョン上がっていくかと思ったらマイナーバージョンがメジャーアップデート相当でなんか末尾に都市名つけはじめたし
Delphi 10 Seattle
Delphi 10.1 Berlin
Delphi 10.2 Tokyo
Delphi 10.3 Rio
813デフォルトの名無しさん
2019/06/05(水) 15:20:31.40ID:MBMFE53P >>811
エンバカデロが過去の歴史知らないから仕方ない
エンバカデロが過去の歴史知らないから仕方ない
814デフォルトの名無しさん
2019/06/07(金) 08:09:59.63ID:tLy1nxeI 戦争を知らない〜子供たち〜さ〜
815デフォルトの名無しさん
2019/06/17(月) 18:50:44.65ID:mpJ2xeVG RazorでVB.NET切られるかも知れないのね
まだDelphiの方がクロスプラットフォームで残るかも知れないね
まだDelphiの方がクロスプラットフォームで残るかも知れないね
816デフォルトの名無しさん
2019/06/19(水) 05:04:09.25ID:tVNS+22r 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
817デフォルトの名無しさん
2019/07/09(火) 19:56:00.97ID:tNo5ef94 質問、D6です
Clipboard関数
ANIS 半角アスキーテキスト(1行128バイト以下)をClipboard.AsTextで送らせます。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00058.htm
を参照しました。
uses節に 「Clipbrd」を追加
Clipboard.AsText := 'String変数';
これだと1秒ごとに送っているとすぐハングアップするので
AsTextより先にクリアさせるようにしてみました
Clipboard.Clear;
〜処理〜
Clipboard.AsText := 'String変数';
が
カウントさせてみると16回目ぐらいでハングアップしているようです。
上記の次ぎに
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
を追加すると
79回目ぐらいで行ってハングアップします。
なにかスムーズにさせるコツみたいなのありますか?
Clipboard関数
ANIS 半角アスキーテキスト(1行128バイト以下)をClipboard.AsTextで送らせます。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00058.htm
を参照しました。
uses節に 「Clipbrd」を追加
Clipboard.AsText := 'String変数';
これだと1秒ごとに送っているとすぐハングアップするので
AsTextより先にクリアさせるようにしてみました
Clipboard.Clear;
〜処理〜
Clipboard.AsText := 'String変数';
が
カウントさせてみると16回目ぐらいでハングアップしているようです。
上記の次ぎに
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
を追加すると
79回目ぐらいで行ってハングアップします。
なにかスムーズにさせるコツみたいなのありますか?
818デフォルトの名無しさん
2019/07/09(火) 20:16:45.77ID:cI7q65Pk819デフォルトの名無しさん
2019/07/09(火) 21:09:40.47ID:yicNQMua820デフォルトの名無しさん
2019/07/10(水) 08:29:24.86ID:SpAM0kMX Lazarusで書き直してみるとかね。
D6ってユニコードAPIとかに対応してないと思うのでそれ関係じゃね?
D6ってユニコードAPIとかに対応してないと思うのでそれ関係じゃね?
821デフォルトの名無しさん
2019/07/11(木) 16:01:27.35ID:s0u0iTmX Excelが起動してるとクリップボードの扱いでトラブった覚えあるけど
そういう用途じゃないよね
そういう用途じゃないよね
822デフォルトの名無しさん
2019/07/11(木) 18:36:12.29ID:T5uCpHez >79回目ぐらいで行ってハングアップします。
ハングアップが具体的にどういう状況かわからんので考えるだけ無駄だと思う
ハングアップが具体的にどういう状況かわからんので考えるだけ無駄だと思う
823デフォルトの名無しさん
2019/07/11(木) 21:28:58.78ID:LgH9l4aT てかソース見ると単純にapi呼び出してるだけだから
それってDelphiの問題なのか?
テストプログラムを他のPCで実行してチェックしてみるとかした?
それってDelphiの問題なのか?
テストプログラムを他のPCで実行してチェックしてみるとかした?
824デフォルトの名無しさん
2019/07/12(金) 12:38:08.15ID:MoL5DIGp Delphi6とDelphi7のclipbrd.pas比べてみたらFClipboardとかFClipboardWindowの解放処理が追加されてるな。ひどすw
825817です
2019/07/12(金) 16:34:53.01ID:pm2ij2oX 各位レスありがとうございました
>>819 ソレ入れてみます。
ソースも晒そうかとしてましたが
どこでハングアップしてるのかダミー表示させてたどり着き
結局、
クリップボードの処理いれたら顕在化したという
別の部分がエンバグしていたオチでした orz
何かクリップボード使う作法でもあるのか?と思っていたのでQしたわけです。
AsTextより先にClipboard.Clear;
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
結果これは不要でした。
以下↓レスを書きこむ直前に↑脱したので遅くなりました
>818さん
(SSDで入れ替えXPの開発環境デスクトップと実行パソコン XPノート&XPモバイルとは別です)
ハングアップの具体的
・作ってる物(送り側 高bps GPSデータ1秒更新)Clipboard.AsText := 'String変数'; のアプリが>817 の挙動で反応しなくなり操作を受け付けなくなる。
・受け手ソフト(昔のナビ地図ソフト、デフォCOM In 4800bps / オプ Clipboard を)は反映も止るが動作は続けている。
・作ってる物(実行ファイル)を終了させるには[タスクマネージャ]から[アプリケーション]でなく[プロセス]から該当イメージ名を選んで[プロセスの終了]を行わないと終わらなくなる。
>>819 ソレ入れてみます。
ソースも晒そうかとしてましたが
どこでハングアップしてるのかダミー表示させてたどり着き
結局、
クリップボードの処理いれたら顕在化したという
別の部分がエンバグしていたオチでした orz
何かクリップボード使う作法でもあるのか?と思っていたのでQしたわけです。
AsTextより先にClipboard.Clear;
FormCreate内でClipboard.Create;
FormDestroy内最後にClipboard.Free;
結果これは不要でした。
以下↓レスを書きこむ直前に↑脱したので遅くなりました
>818さん
(SSDで入れ替えXPの開発環境デスクトップと実行パソコン XPノート&XPモバイルとは別です)
ハングアップの具体的
・作ってる物(送り側 高bps GPSデータ1秒更新)Clipboard.AsText := 'String変数'; のアプリが>817 の挙動で反応しなくなり操作を受け付けなくなる。
・受け手ソフト(昔のナビ地図ソフト、デフォCOM In 4800bps / オプ Clipboard を)は反映も止るが動作は続けている。
・作ってる物(実行ファイル)を終了させるには[タスクマネージャ]から[アプリケーション]でなく[プロセス]から該当イメージ名を選んで[プロセスの終了]を行わないと終わらなくなる。
826デフォルトの名無しさん
2019/07/12(金) 20:44:56.01ID:Mt2Dum22 読み手に情報が伝わらない書き方だなあ
2、3年後に自分で読んでみるといいよ
まあ関心ないからどうでもいいけど
2、3年後に自分で読んでみるといいよ
まあ関心ないからどうでもいいけど
827デフォルトの名無しさん
2019/07/14(日) 01:36:06.45ID:xLSDSuj/828デフォルトの名無しさん
2019/07/14(日) 17:57:44.35ID:RQcMGpwy829デフォルトの名無しさん
2019/07/14(日) 21:02:30.19ID:AfMdaAZO TrueTypeじゃないフォント使ってるのか?としか思わんな
830デフォルトの名無しさん
2019/09/15(日) 07:02:41.90ID:2jRAVw8s あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めたいんですけど
IDEの機能として可能でしたっけ?
元のプロジェクトを温存したまま
新しいプロジェクトとして始めたいんですけど
IDEの機能として可能でしたっけ?
831デフォルトの名無しさん
2019/09/15(日) 07:23:58.99ID:AbznkVe7 >>830
できる
できる
832デフォルトの名無しさん
2019/09/16(月) 15:08:17.96ID:nnMNLU6i 面倒だからフォルダごと圧縮比して保存しといた
833デフォルトの名無しさん
2019/09/21(土) 14:34:45.15ID:gfJmTKeO 勿論な事だけど絶対パスとか注意
834デフォルトの名無しさん
2019/09/21(土) 15:21:04.87ID:a27aqUZJ >>831
どうやってやるの?
どうやってやるの?
835デフォルトの名無しさん
2019/09/21(土) 15:50:53.96ID:ZIXe7ufx あるプロジェクトをまるごと新しいフォルダにコピーし
元のプロジェクトを温存したまま
新しいプロジェクトとして始めてみろ
元のプロジェクトを温存したまま
新しいプロジェクトとして始めてみろ
836デフォルトの名無しさん
2019/09/21(土) 23:17:52.31ID:czYxzrrK そうすると、新しいフォルダのソースをいじっているつもりが、元のソースを変更してしまう。
*.dskファイルは消すこと。
*.dskファイルは消すこと。
837デフォルトの名無しさん
2019/09/21(土) 23:32:02.53ID:iquo6Qc8 >>830
できない
できない
838デフォルトの名無しさん
2019/09/22(日) 19:31:31.99ID:TKcBWrZD 丸っとコピーでプロジェクト系のファイルは修正すればいいよ
839デフォルトの名無しさん
2019/09/22(日) 21:18:02.00ID:PEynJ+dQ 「プロジェクトのコピーを作成する」という機能が
発売20年以上経っても実装されてないとは信じられん
発売20年以上経っても実装されてないとは信じられん
840デフォルトの名無しさん
2019/09/23(月) 11:30:02.95ID:3qdqqJ07 pythonでスクリプトでも書けば一発
841デフォルトの名無しさん
2019/09/25(水) 08:05:58.59ID:Uo4jEa/c >>839
いらないからだよ。
いらないからだよ。
842デフォルトの名無しさん
2019/09/25(水) 12:09:01.98ID:lpIOIv3N >>839
Visual Studio にそういう機能ありますか?
Visual Studio にそういう機能ありますか?
843デフォルトの名無しさん
2019/09/25(水) 15:48:30.01ID:OW+fPjNy いや、要るだろ普通に 別バージョンとか作りたいときに
*.dsk消せば済むことだけど標準機能であればそれに越したことはない
VSは使ったことないから知らん
*.dsk消せば済むことだけど標準機能であればそれに越したことはない
VSは使ったことないから知らん
844デフォルトの名無しさん
2019/09/25(水) 16:33:22.57ID:VxOhHjIL てか初心者がプロジェクトの別名保存を誤解して
大変なことになりそう
自分もそうだったけどね
大変なことになりそう
自分もそうだったけどね
845デフォルトの名無しさん
2019/09/25(水) 22:08:28.34ID:cw/6a5eO >>830
D6 D7 だけど、(絶対パスがなければ)できる。
普段はプロジェクトとソースを保存するときの「名前を付けて保存」で
デフォルトのセーブ先から別のドライブのフォルダに指定してる。
そうするとプロジェクト毎のソースがフォルダ別に整理できる。
同じ系統のプログラム作成はベース部分まで作っておいて保存、
新規フォルダにコピーでクローンしてスタート。
現プロジェクト中に「名前を付けて保存」で対象移動先にセーブしてみたらどうですか?
この際の注意点として、
プロジェクトの保存だけでは足りない、ソースなどの保存の2回保存作業が必要。
始動は移動先のプロジェクトを指定する。
その後は全保存の1回で使えてる。
試す前にコピーで戻せるようにはしておくことです。
D6 D7 だけど、(絶対パスがなければ)できる。
普段はプロジェクトとソースを保存するときの「名前を付けて保存」で
デフォルトのセーブ先から別のドライブのフォルダに指定してる。
そうするとプロジェクト毎のソースがフォルダ別に整理できる。
同じ系統のプログラム作成はベース部分まで作っておいて保存、
新規フォルダにコピーでクローンしてスタート。
現プロジェクト中に「名前を付けて保存」で対象移動先にセーブしてみたらどうですか?
この際の注意点として、
プロジェクトの保存だけでは足りない、ソースなどの保存の2回保存作業が必要。
始動は移動先のプロジェクトを指定する。
その後は全保存の1回で使えてる。
試す前にコピーで戻せるようにはしておくことです。
846デフォルトの名無しさん
2019/09/26(木) 06:36:59.16ID:XqflkBue >>845
そんな手間かけるならエクスプローラでコピーすればいいだろ
そんな手間かけるならエクスプローラでコピーすればいいだろ
847デフォルトの名無しさん
2019/09/26(木) 16:30:40.39ID:IfndknF+848デフォルトの名無しさん
2019/09/27(金) 07:51:52.34ID:rPuRGMpg 各ファイルの役割をきちんと覚えること。
それができなくてプログラマーとか笑うしかない。
変な自動機能があるとその基本を忘れがちになる。
それができなくてプログラマーとか笑うしかない。
変な自動機能があるとその基本を忘れがちになる。
849デフォルトの名無しさん
2019/09/27(金) 08:17:47.22ID:KklKnzXk デスクトップ保存なんてしないからdskなんてできたことないわ
便利なのかあれ
便利なのかあれ
850デフォルトの名無しさん
2019/09/27(金) 11:49:01.01ID:oLJPEcmZ851デフォルトの名無しさん
2019/09/27(金) 16:59:40.30ID:foryHhOm 今時使用言語は数個、開発環境も数種類さらにクラウドやら覚えることもりだくさん。
delphiしか触ってないなら、delphiの各ファイルの役割ぐらい覚えられるだろうが
delphiしか触ってないなら、delphiの各ファイルの役割ぐらい覚えられるだろうが
852デフォルトの名無しさん
2019/09/27(金) 17:31:01.27ID:lSkgbLDU 848ってすごく偉そうだけど、偉い人なんですか?
853デフォルトの名無しさん
2019/09/27(金) 17:44:52.22ID:7QNtDU/z みんな初心者に厳しいな
854デフォルトの名無しさん
2019/09/27(金) 21:16:55.01ID:swY7XTEk 皆、自称初心者のプロが作ったスパゲッティウンコに悩まされてきたからな
855デフォルトの名無しさん
2019/09/27(金) 23:00:19.44ID:miVHoQrZ まぁ、日本じゃMVPがあの程度の低能だからな
856848
2019/09/28(土) 08:02:41.58ID:xbQ4upm/ >>851
だからさ、覚えるとかそういうことじゃない。
各ファイルの役割をきちんと知らないと
プログラマー生命そのものがあやうくなるんだって。
話題の dsk ファイルのはまったく要らない子だってことを知るのもそのひとつ。
例えばオープンソースに dsk ファイル含めて公開しちゃうと
パス名から身バレしちゃったりするリスクもあるわけよ。
言語によらず、プログラマ名乗るならそういうのに敏感になれということ。
だからさ、覚えるとかそういうことじゃない。
各ファイルの役割をきちんと知らないと
プログラマー生命そのものがあやうくなるんだって。
話題の dsk ファイルのはまったく要らない子だってことを知るのもそのひとつ。
例えばオープンソースに dsk ファイル含めて公開しちゃうと
パス名から身バレしちゃったりするリスクもあるわけよ。
言語によらず、プログラマ名乗るならそういうのに敏感になれということ。
857デフォルトの名無しさん
2019/09/28(土) 10:31:39.10ID:VM/fe2sP MySQLやSQLiteをやろうとして挫折した人間です。
BDEというか、ParadoxのかわりにClientDatasetを使おうと思うんだけど、
設計時にDBコンポで表示できて便利だし、使ってる人いませんか?
.xmlファイルに書き出せるフィールドタイプに制限があるけど、それ以外は
TTableと同じように使える感じ
BDEというか、ParadoxのかわりにClientDatasetを使おうと思うんだけど、
設計時にDBコンポで表示できて便利だし、使ってる人いませんか?
.xmlファイルに書き出せるフィールドタイプに制限があるけど、それ以外は
TTableと同じように使える感じ
858デフォルトの名無しさん
2019/09/28(土) 10:50:32.92ID:+WjqjUuO >>857
CDSやFDMemTableは普通に使われてるかと?
CDSやFDMemTableは普通に使われてるかと?
859デフォルトの名無しさん
2019/09/28(土) 12:10:53.41ID:98P9Jt4Z え?
delphiの各ファイルの役割をきちんと知らないと、プログラマー生命そのものが
危うくなっちゃうんですか???
そ、それはヤバイなぁ!
(か・・・片腹痛てぇ・・・中学生?)
delphiの各ファイルの役割をきちんと知らないと、プログラマー生命そのものが
危うくなっちゃうんですか???
そ、それはヤバイなぁ!
(か・・・片腹痛てぇ・・・中学生?)
860デフォルトの名無しさん
2019/09/28(土) 12:42:06.93ID:lDFhrhsD >>857
ふつうにカジュアルに使てるで
CDSは、ランタイムであるmidas.dllを同梱するか、MidasLibをどこかのソースファイルでusesに加えてあげる必要ありなので、TfdMemTableの方が楽なイメージ。
(古いシステムのお守りでCDS使うことの方が多いけど)
ふつうにカジュアルに使てるで
CDSは、ランタイムであるmidas.dllを同梱するか、MidasLibをどこかのソースファイルでusesに加えてあげる必要ありなので、TfdMemTableの方が楽なイメージ。
(古いシステムのお守りでCDS使うことの方が多いけど)
861デフォルトの名無しさん
2019/09/28(土) 12:44:04.73ID:lDFhrhsD >>857
インメモリDBとして使用してるから、xmlの書き出しについてはよくわかりません。
インメモリDBとして使用してるから、xmlの書き出しについてはよくわかりません。
862デフォルトの名無しさん
2019/09/28(土) 14:56:11.24ID:jekZgFRJ863デフォルトの名無しさん
2019/09/28(土) 15:00:56.96ID:Fp/VMyF1 >>860
確かmidas.dllは静的リンクできるはず
確かmidas.dllは静的リンクできるはず
864デフォルトの名無しさん
2019/09/28(土) 15:09:36.10ID:VM/fe2sP midas.dllは無料版では同梱不可?
といっても買ったD6でやるので、だいじょうぶだけど。
静的リンクって、exe一体化もできるということ?
といっても買ったD6でやるので、だいじょうぶだけど。
静的リンクって、exe一体化もできるということ?
865デフォルトの名無しさん
2019/09/28(土) 15:21:57.63ID:Fp/VMyF1 >>864
そそ、uses MIDASLIB; でEXEの中に入る
そそ、uses MIDASLIB; でEXEの中に入る
866デフォルトの名無しさん
2019/09/28(土) 15:41:37.90ID:VM/fe2sP D6でも出来ました
ちなみに .xml に保存だと、他で流用するのが楽かもしれないなあと
ちなみに .xml に保存だと、他で流用するのが楽かもしれないなあと
867デフォルトの名無しさん
2019/09/28(土) 22:03:23.25ID:VM/fe2sP xmlで保存するとcdsの3倍に膨れるので、普段は.cdsでやるようですね。
868848
2019/09/29(日) 08:47:47.40ID:3jPOw8Yu869デフォルトの名無しさん
2019/09/29(日) 09:34:06.88ID:eilyQrmI 中学生が日曜にいじってるチクビー選手が何だって?
870デフォルトの名無しさん
2019/09/29(日) 10:44:05.25ID:ZdWVwqu8 ラグビーどこから出てきたw
871デフォルトの名無しさん
2019/09/29(日) 15:05:35.94ID:waqB6WCo ラグビーとか何の興味も無いわw
どっかで何か大会でもやってんの?
どっかで何か大会でもやってんの?
872デフォルトの名無しさん
2019/09/29(日) 15:52:25.82ID:s9l7tbgO873デフォルトの名無しさん
2019/09/29(日) 16:50:11.27ID:mdCYdpYZ 趣味ならどんなやり方でも何でもやればいい
仕事の規約みたいなの押し付けてくるの嫌い
ビジネス系と分けた方が良いんじゃないかと時折思うけど
ビジネス板ってそういうじゃないんだよね?
仕事の規約みたいなの押し付けてくるの嫌い
ビジネス系と分けた方が良いんじゃないかと時折思うけど
ビジネス板ってそういうじゃないんだよね?
874848
2019/09/30(月) 07:30:37.66ID:Xp0HZa25 超初心者用スレだった。
悪かった。今は反省している。
悪かった。今は反省している。
875デフォルトの名無しさん
2019/09/30(月) 20:17:14.33ID:ZxnjErQn >>874
おまいが本物の848だとは思えない
おまいが本物の848だとは思えない
876デフォルトの名無しさん
2019/10/24(木) 06:33:27.26ID:C+cXuXRZ D6を使っている初心者なんですが、ローカルファイルで使うTClientDatasetでは
SQL文を使ってなにかすることってできないのでしょうか?
Filterプロパティとか、項目リンクでやる?
あと、トランザクションも無い?
SQL文を使ってなにかすることってできないのでしょうか?
Filterプロパティとか、項目リンクでやる?
あと、トランザクションも無い?
877デフォルトの名無しさん
2019/10/24(木) 20:26:47.73ID:JmFaqgCP878デフォルトの名無しさん
2019/10/28(月) 16:38:14.34ID:1rTfV6b0 以前Delohi7 は 使ってました
今回 Win10にして DelphiXE3の中古を買いました
いきなりつまずいて dclusr.dpk のインストールができません
C:\Program Files (x86) 以下への書き込み権限がないのが理由のようです
Win10へのXE3のセットアップで こつのようなものが有りましたら教えてください
今回 Win10にして DelphiXE3の中古を買いました
いきなりつまずいて dclusr.dpk のインストールができません
C:\Program Files (x86) 以下への書き込み権限がないのが理由のようです
Win10へのXE3のセットアップで こつのようなものが有りましたら教えてください
879デフォルトの名無しさん
2019/10/28(月) 18:30:23.79ID:Knk7VVe1 >>878
インストーラを「管理者として実行」すれば良いと思う
インストーラを「管理者として実行」すれば良いと思う
880デフォルトの名無しさん
2019/10/28(月) 21:22:05.93ID:1rTfV6b0 ありがとうございます
正しいのかは解りませんが
bds.exe のプロパティを 「管理者権限で実行」 にしたら
とりあえず うまくいってます
正しいのかは解りませんが
bds.exe のプロパティを 「管理者権限で実行」 にしたら
とりあえず うまくいってます
881デフォルトの名無しさん
2019/10/30(水) 08:11:55.65ID:W/c+8tx6 管理者権限が必要なフォルダにちゃんとファイルが入ったかな?
できればアンインストールしてから再度管理者権限でインストールし直した方がいいと思うよ
できればアンインストールしてから再度管理者権限でインストールし直した方がいいと思うよ
882デフォルトの名無しさん
2019/11/05(火) 01:33:09.38ID:RmI3r0pW CE10.3+Update2のライセンスがあと21日で切れると言われたんだけど
一旦アンインストールして10.3.2入れ直せばいいの?
10.4リリース前にライセンス切れ起こされても困る
一旦アンインストールして10.3.2入れ直せばいいの?
10.4リリース前にライセンス切れ起こされても困る
883デフォルトの名無しさん
2019/11/15(金) 16:21:19.78ID:VW/VrmE3884デフォルトの名無しさん
2019/11/15(金) 16:49:00.43ID:NLCWqdB7 何年前のニュースよ
885デフォルトの名無しさん
2019/11/15(金) 18:34:56.28ID:VW/VrmE3 誤爆w
886デフォルトの名無しさん
2019/11/15(金) 23:16:36.91ID:/yBuhf/V でるほいでるほい。
887デフォルトの名無しさん
2019/11/15(金) 23:51:49.26ID:AquHepuk888デフォルトの名無しさん
2019/11/17(日) 12:24:40.53ID:oO0v8f+d 今Delphiを勉強しています。
使っている本は日経BPのカンタンDelphiプログラミングです
24ページの
SchFile := ChangeFileWxt(Application.Exename, '*.txt';
でどうしてもSchFileのところで赤波線が出てしまいます。
現在生きているDelphiでどう治せばいいのか調べていますが
これだけは出てきません。
ご存じの方教えていただけないでしょうか?
使っている本は日経BPのカンタンDelphiプログラミングです
24ページの
SchFile := ChangeFileWxt(Application.Exename, '*.txt';
でどうしてもSchFileのところで赤波線が出てしまいます。
現在生きているDelphiでどう治せばいいのか調べていますが
これだけは出てきません。
ご存じの方教えていただけないでしょうか?
889デフォルトの名無しさん
2019/11/17(日) 12:40:56.92ID:qohtSdnJ890デフォルトの名無しさん
2019/11/17(日) 12:41:13.55ID:qohtSdnJ891デフォルトの名無しさん
2019/11/17(日) 12:41:48.10ID:qohtSdnJ Timeoutエラーで再投稿選んだら2重になった(´・ω・`)
892デフォルトの名無しさん
2019/11/17(日) 12:44:48.48ID:X9AhIAwA 優しすぎ
893デフォルトの名無しさん
2019/11/17(日) 23:07:10.86ID:r8gTgqCf そこらへんの関数は古いので実戦ではTPath使っとけ
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath.ChangeExtension
http://docwiki.embarcadero.com/Libraries/Rio/ja/System.IOUtils.TPath.ChangeExtension
894デフォルトの名無しさん
2019/11/18(月) 06:59:08.44ID:ivxwgLiy >>888
セミコロン前に)も足りない
セミコロン前に)も足りない
895デフォルトの名無しさん
2019/11/18(月) 17:52:09.30ID:F3ZpdG4d >>893
関係ないけどIOutilsとShapeにTPathの名前空間設定してるってほんと
関係ないけどIOutilsとShapeにTPathの名前空間設定してるってほんと
896デフォルトの名無しさん
2019/11/18(月) 20:00:11.12ID:cegJQRwO897デフォルトの名無しさん
2019/11/25(月) 00:41:39.58ID:3JL19Dun delphicbuilder10_3_3*_isoってどこにあるの?
898デフォルトの名無しさん
2019/11/25(月) 13:32:01.77ID:/TKXypzi >>897
edn
edn
899デフォルトの名無しさん
2019/11/25(月) 19:02:35.06ID:xAqc66Cz isoだとなんかメリットあるの?いつもexeのほうでインストールしてるけど…
900デフォルトの名無しさん
2019/11/25(月) 20:28:51.05ID:/TKXypzi >>899
レジストリの仕様がWebとISOで(何故か)違うから一回インストールしたらずっとそっちを使わないと不具合出る
レジストリの仕様がWebとISOで(何故か)違うから一回インストールしたらずっとそっちを使わないと不具合出る
901デフォルトの名無しさん
2019/11/26(火) 00:16:02.16ID:0xdcR0pZ エンバカのインストーラーって昔から何かに付け問題起こすよなあ
902デフォルトの名無しさん
2019/11/26(火) 09:39:02.59ID:c3SEnPpX VSのトラブルの方が多い
903デフォルトの名無しさん
2019/11/26(火) 22:39:22.51ID:E5VH4GlY 黒金特売
https://www.packtpub.com/catalogsearch/result/?q=Delphi&product_type_filter=Book
https://www.packtpub.com/catalogsearch/result/?q=Delphi&product_type_filter=Book
904デフォルトの名無しさん
2019/11/26(火) 23:35:25.93ID:f8AM92bW WindowsUpdateの方が多い
905デフォルトの名無しさん
2019/11/27(水) 20:23:49.45ID:E4Y5rsTJ community使ってんだけど
事前に10.3.2アンインストールしたほうがいい?
事前に10.3.2アンインストールしたほうがいい?
906デフォルトの名無しさん
2019/11/27(水) 20:27:20.56ID:DH1+L8h0 >>905
Yes
Yes
907デフォルトの名無しさん
2019/11/27(水) 21:18:59.15ID:E4Y5rsTJ >>906
ありがと
ありがと
908デフォルトの名無しさん
2019/11/30(土) 00:08:22.61ID:djtdsJmt Black Friday discounts from Delphi related third party vendors
https://www.ideasawakened.com/post/black-friday-discounts-from-delphi-related-third-party-vendors
https://www.ideasawakened.com/post/black-friday-discounts-from-delphi-related-third-party-vendors
909デフォルトの名無しさん
2019/11/30(土) 20:55:58.53ID:QuZ7D6yA また新たなバグかよ
まったく安定しないな
まったく安定しないな
910デフォルトの名無しさん
2019/12/01(日) 16:54:20.10ID:xsp+dk7g CnPack-Options-Editor Enhancements-Othersにフリーカーソル無効化機能あんのか
911デフォルトの名無しさん
2019/12/05(木) 09:41:30.71ID:dexY8qQm // 渡した引数をとにかくJsonObjectに変換する
class function TJsonUtil.ToJsonObject<T>(AValue: T): TJsonObject;
begin
// AValueをTValueに変換
var v := TValue.From<T>(AValue);
Result := TJsonObject.Create;
// todo: Resultにvをセットしたい
end;
ってどうやって実装すれば良いんでしょうか?
TConverter = class
FValue: TValue;
end;
を噛ませればObjectToJsonObjectできるんですができれば直接やりたいです
使用例
ToJsonObject(123) // int
ToJsonObject(RegexpResult) // record
ToJsonObject(Form1) // object
class function TJsonUtil.ToJsonObject<T>(AValue: T): TJsonObject;
begin
// AValueをTValueに変換
var v := TValue.From<T>(AValue);
Result := TJsonObject.Create;
// todo: Resultにvをセットしたい
end;
ってどうやって実装すれば良いんでしょうか?
TConverter = class
FValue: TValue;
end;
を噛ませればObjectToJsonObjectできるんですができれば直接やりたいです
使用例
ToJsonObject(123) // int
ToJsonObject(RegexpResult) // record
ToJsonObject(Form1) // object
912デフォルトの名無しさん
2019/12/15(日) 19:14:51.23ID:Erl1x9YI Delphi 10.3.3 Community Edition インストールできたのですが
GetItから、Konopkaと Radiant Shapesを インストールしてみました。
この時のコンポーネントパレットの数は65です、
ここで、新規作成で Windows VCL アプリケーション作成すると
コンポーネントパレットの数は49に減少します。
減った分16にはRadiant ShapesやTeeChartLite等々が含まれます。
これは このバージョンには適合しないコンポーネント、ということなのでしょうか?
GetItから、Konopkaと Radiant Shapesを インストールしてみました。
この時のコンポーネントパレットの数は65です、
ここで、新規作成で Windows VCL アプリケーション作成すると
コンポーネントパレットの数は49に減少します。
減った分16にはRadiant ShapesやTeeChartLite等々が含まれます。
これは このバージョンには適合しないコンポーネント、ということなのでしょうか?
913デフォルトの名無しさん
2019/12/15(日) 19:30:14.10ID:Erl1x9YI 訂正
×ここで、新規作成で Windows VCL アプリケーション作成すると
〇ここで、新規作成で Windows VCL アプリケーションを立ち上げると
×ここで、新規作成で Windows VCL アプリケーション作成すると
〇ここで、新規作成で Windows VCL アプリケーションを立ち上げると
914912
2019/12/16(月) 12:36:00.90ID:ttWgB5Qq 解決
消えたのは マルチデバイス アプリ用のコンポーネントでした。
でもRadiant Shapesのコンポーネントアイコンが全部同じなのを何とかしてほしい。
消えたのは マルチデバイス アプリ用のコンポーネントでした。
でもRadiant Shapesのコンポーネントアイコンが全部同じなのを何とかしてほしい。
915デフォルトの名無しさん
2019/12/16(月) 17:25:45.47ID:imI0kE/x ついていけません
916デフォルトの名無しさん
2019/12/21(土) 16:34:19.99ID:7JUwe78b 「ライセンス有効期限切れの事前通知」ダイアログが出たので
「新しいCommnunity Editionライセンスを要求」をクリックしたのですが
開いたページにそれらしい項目が見当たりません。
どうすればよいのでしょうか。
「新しいCommnunity Editionライセンスを要求」をクリックしたのですが
開いたページにそれらしい項目が見当たりません。
どうすればよいのでしょうか。
917デフォルトの名無しさん
2019/12/21(土) 16:41:43.91ID:7JUwe78b すいません、解決しました。
DL時にメールが来ていてそこにシリアルがついていましたので
「ライセンスの操作」→「登録」でこのシリアルを入力して解決しました。
DL時にメールが来ていてそこにシリアルがついていましたので
「ライセンスの操作」→「登録」でこのシリアルを入力して解決しました。
918デフォルトの名無しさん
2019/12/24(火) 21:17:41.79ID:qlVCJ4TF TeeChart をいろいろ調べてるんですが、例えば .NET の Chart コントロールにある
ChartAreas コレクションみたいにグラフを増やすことはできない?
素直に複数の TeeChart を貼るしかないのかな。
ChartAreas コレクションみたいにグラフを増やすことはできない?
素直に複数の TeeChart を貼るしかないのかな。
919デフォルトの名無しさん
2019/12/28(土) 11:10:32.35ID:7thx4FXN http://docwiki.embarcadero.com/images/RADStudio/Rio/j/b/b5/ObjInspKH.png
オブジェクトインスペクタのフィルターボックスで絞り込んだあとに
キーボード操作で通常のグリッド部分にフォーカス移す方法ないですか?
オブジェクトインスペクタのフィルターボックスで絞り込んだあとに
キーボード操作で通常のグリッド部分にフォーカス移す方法ないですか?
920デフォルトの名無しさん
2019/12/28(土) 19:57:46.28ID:D0v0zeIX Embarcaスレもうないの?
921デフォルトの名無しさん
2019/12/28(土) 20:22:02.42ID:VAO6wyfS >>920
まぁ日本じゃMVPがあのキモ男だからな
まぁ日本じゃMVPがあのキモ男だからな
922デフォルトの名無しさん
2019/12/30(月) 23:16:18.53ID:6qINtcSB isoが7GBでそっ閉じ
923デフォルトの名無しさん
2019/12/30(月) 23:20:18.80ID:1fsbbQSB924デフォルトの名無しさん
2020/01/02(木) 22:17:53.37ID:hpdfwBfI もうここがDlephi総合スレって事でいいのかな
925デフォルトの名無しさん
2020/01/03(金) 19:06:59.37ID:kIqS3g14 営業担当がどんどんやめてく...
ttps://twitter.com/IchihanaMiwa/status/1213026105281540096
https://twitter.com/5chan_nel (5ch newer account)
ttps://twitter.com/IchihanaMiwa/status/1213026105281540096
https://twitter.com/5chan_nel (5ch newer account)
926デフォルトの名無しさん
2020/01/05(日) 14:48:06.25ID:6XuBW/ld IDE Fix Pack作ってた人、どうしちゃったのかなー
927デフォルトの名無しさん
2020/01/05(日) 18:31:46.11ID:BIrlwOVT IDE Fix Pack って、ほんとに効果ある?
928デフォルトの名無しさん
2020/01/07(火) 06:13:17.60ID:ysLsWKuo >IDE Fix Pack って、ほんとに効果ある?
たぶん無い。少なくとも俺の環境では効果がない。
けど悪くもならないのでまぁお守り扱いで使っている。
たぶん無い。少なくとも俺の環境では効果がない。
けど悪くもならないのでまぁお守り扱いで使っている。
929デフォルトの名無しさん
2020/01/07(火) 21:35:30.43ID:AWOylPKB 型推論のインライン変数書くと、ビルドは通るのにエディタではエラー表示になる。なんでや。
930デフォルトの名無しさん
2020/01/07(火) 22:22:30.36ID:Bkg1oNr5931デフォルトの名無しさん
2020/01/07(火) 22:34:45.15ID:x2MzGoUT >>930
Castaliaいじれる技術者まだ残ってるのかが心配
Castaliaいじれる技術者まだ残ってるのかが心配
932デフォルトの名無しさん
2020/01/08(水) 21:19:31.57ID:wLTYkb+a933デフォルトの名無しさん
2020/01/08(水) 22:21:01.82ID:MEH3hyXq934デフォルトの名無しさん
2020/01/20(月) 13:50:17.13ID:YpnY3DBw CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
935デフォルトの名無しさん
2020/01/28(火) 17:15:20.90ID:jA3HtLr3 >CarsyBdeって使ってる人いる?めっちゃ怪しそうなんやが
インストーラーにマルウェアもどきが入っているので、ファイルを展開して自分でインストールするべき。
あと、日本語関係ドライバが入っていないから日本語ソートはできないよ
インストーラーにマルウェアもどきが入っているので、ファイルを展開して自分でインストールするべき。
あと、日本語関係ドライバが入っていないから日本語ソートはできないよ
936デフォルトの名無しさん
2020/01/30(木) 19:19:48.53ID:idED7zVd そうなんだありがとう
地道にfiredacに置き換えますわ
地道にfiredacに置き換えますわ
937デフォルトの名無しさん
2020/01/31(金) 10:44:06.52ID:Y9q94Xhy メモリリークを内蔵のFastMMでチェックしたらUnicodeStringやUnknownでリーク発生というよく分からない表示がされたので、
FastMM4のフルデバッグモードでチェックしたところこんなログが出ましたが、ソースのどこでリークしてるのかさっぱり不明で困ってます
どのpasファイルの何行目とか出ない場合のリークはどこを修正したらよいのでしょうか?
A memory block has been leaked. The size is: 36
This block was allocated by thread 0x51BC, and the stack trace (return addresses) at the time was:
4070F2
40C0EE
708321 [Unknown function at TMethodImplementationIntercept]
77276DF3 [Unknown function at GetThreadDesktop]
77276E44 [Unknown function at GetThreadDesktop]
77BFF8FA [ZwCallbackReturn]
77276E57 [Unknown function at GetThreadDesktop]
77BF011A [KiUserCallbackDispatcher]
77280E28 [ShowWindow]
62A6A9 [Unknown function at TMethodImplementationIntercept]
62A81C [Unknown function at TMethodImplementationIntercept]
The block is currently used for an object of class: Unknown
FastMM4のフルデバッグモードでチェックしたところこんなログが出ましたが、ソースのどこでリークしてるのかさっぱり不明で困ってます
どのpasファイルの何行目とか出ない場合のリークはどこを修正したらよいのでしょうか?
A memory block has been leaked. The size is: 36
This block was allocated by thread 0x51BC, and the stack trace (return addresses) at the time was:
4070F2
40C0EE
708321 [Unknown function at TMethodImplementationIntercept]
77276DF3 [Unknown function at GetThreadDesktop]
77276E44 [Unknown function at GetThreadDesktop]
77BFF8FA [ZwCallbackReturn]
77276E57 [Unknown function at GetThreadDesktop]
77BF011A [KiUserCallbackDispatcher]
77280E28 [ShowWindow]
62A6A9 [Unknown function at TMethodImplementationIntercept]
62A81C [Unknown function at TMethodImplementationIntercept]
The block is currently used for an object of class: Unknown
938デフォルトの名無しさん
2020/02/03(月) 09:42:44.84ID:ZUQl5IjM サブスクリプションって更新してる?
社内用プログラムの修正でたまに使う程度なので
年10万はちょっとなぁ・・・
社内用プログラムの修正でたまに使う程度なので
年10万はちょっとなぁ・・・
939デフォルトの名無しさん
2020/02/04(火) 07:28:16.35ID:6U67LbmC TMS のWeb Coreってのを最近見つけた。
Intrawebと同じくpascal→JavaScriptみたいなんだけどかなり完成度は高い
気軽にDelphi+PascalベースでWebアプリを創りたいときにはいいよ、コンポーネントも自作できるみたいだし
サブスクリプションは入ってませんよ
新規機能を必要としない、ちょっとした改修メインならあまり必要はないんじゃないかな?
法人ベースなら10万ははした金だけど、生きたお金とも言えないんで払わないようにしてる
Intrawebと同じくpascal→JavaScriptみたいなんだけどかなり完成度は高い
気軽にDelphi+PascalベースでWebアプリを創りたいときにはいいよ、コンポーネントも自作できるみたいだし
サブスクリプションは入ってませんよ
新規機能を必要としない、ちょっとした改修メインならあまり必要はないんじゃないかな?
法人ベースなら10万ははした金だけど、生きたお金とも言えないんで払わないようにしてる
940デフォルトの名無しさん
2020/02/04(火) 20:30:44.36ID:u9fAPblT 大政翼賛イベント、終わり。
斜陽の会社と製品買うのはいいけど、買うだけで統合とかシナジーとかできないよなぁ。
元技術者たちが全員いなくなった sencha なんかどうするきだろう
斜陽の会社と製品買うのはいいけど、買うだけで統合とかシナジーとかできないよなぁ。
元技術者たちが全員いなくなった sencha なんかどうするきだろう
941デフォルトの名無しさん
2020/02/05(水) 20:51:12.54ID:gyQe6DwW942デフォルトの名無しさん
2020/02/05(水) 21:24:09.71ID:UTgGnF3M943デフォルトの名無しさん
2020/02/05(水) 21:36:45.32ID:UTgGnF3M というわけでプロジェクトのオプションのコンパイル→リンカでマップやTDSを有効にするとより詳しく調べられました
944デフォルトの名無しさん
2020/02/06(木) 10:26:40.35ID:wF1qF0nM D7で作ったプログラムをD10に移行中ですがDBGRIDのカラムタイトルの色が変更できません
プロパティで何を指定しても白のままです
どうしたらいいのでしょうか
プロパティで何を指定しても白のままです
どうしたらいいのでしょうか
945デフォルトの名無しさん
2020/02/06(木) 13:43:22.46ID:GZVea8mu >>944
FixedColorの2つ上にDrawingStyleというのがある
FixedColorの2つ上にDrawingStyleというのがある
946デフォルトの名無しさん
2020/02/06(木) 16:27:26.83ID:wF1qF0nM947デフォルトの名無しさん
2020/02/13(木) 06:28:37.56ID:vBflwVQp D6からアップデートしてないユーザーなんだけど、いろいろ古すぎて苦しい。
C#は多少いじれるようになった。
RDBはいじらない、ネットから情報を取ってきたり、お絵かきプログラム中心。
新しいプロジェクトを始めるのに C#と、Tokyo? Berlin?やりだすのとどっちが楽だろうか
C#は多少いじれるようになった。
RDBはいじらない、ネットから情報を取ってきたり、お絵かきプログラム中心。
新しいプロジェクトを始めるのに C#と、Tokyo? Berlin?やりだすのとどっちが楽だろうか
948デフォルトの名無しさん
2020/02/13(木) 07:53:08.45ID:AuZ/W2H1 全く新しくていいなら C# だな。
Delphi は時代に追従しきれていない感じ。がんばってはいるけど。
自分も遊びでは Delphi 使ってる。
Delphi は時代に追従しきれていない感じ。がんばってはいるけど。
自分も遊びでは Delphi 使ってる。
949デフォルトの名無しさん
2020/02/13(木) 21:47:53.63ID:EdFxkN9G >>947
Lazarus
Lazarus
950デフォルトの名無しさん
2020/02/13(木) 22:02:38.27ID:nW/OuvCI FreePascalの次のリリースはジェネリクスがDelphi互換になってますますDelphiに近くなるよ
去年中にリリースと言われて現在もまだリリースされてないけど
去年中にリリースと言われて現在もまだリリースされてないけど
951デフォルトの名無しさん
2020/02/14(金) 06:49:48.88ID:ZmXO4tiK952デフォルトの名無しさん
2020/02/14(金) 10:38:29.59ID:cah/hEJW 開発環境が数GBダウンロード必須って
ハナから無理
ハナから無理
953デフォルトの名無しさん
2020/02/14(金) 12:07:08.02ID:a5iC3cHy C#って見かけは小さいけど
環境は馬鹿みたいにデカすぎる
環境は馬鹿みたいにデカすぎる
954デフォルトの名無しさん
2020/02/14(金) 19:10:57.82ID:H2ERqwMc >>953
プリインストール済みの.Net Frameworkとメモ帳で開発コストゼロや!
プリインストール済みの.Net Frameworkとメモ帳で開発コストゼロや!
955デフォルトの名無しさん
2020/02/14(金) 20:21:05.57ID:7pjvoPX7 Delphi の方が重いと思うがなあ。
956デフォルトの名無しさん
2020/02/15(土) 09:46:15.30ID:lW8gbEk5 Indy10のhttpsで使うdllが最新版に入れ替わっちゃうとおかしくなる不具合ではまり。
2018年ごろのやつに差換えたら動くようになった。
TLS1.2まではいけるからしばらくは持ちこたえられそう
2018年ごろのやつに差換えたら動くようになった。
TLS1.2まではいけるからしばらくは持ちこたえられそう
957デフォルトの名無しさん
2020/02/15(土) 10:25:19.00ID:abNW28Cg >>956
Delphiのバージョンがいくつか、何に使ってるかわからんけどもTNetHttp系に差し替えを検討したら?
Delphiのバージョンがいくつか、何に使ってるかわからんけどもTNetHttp系に差し替えを検討したら?
958デフォルトの名無しさん
2020/02/15(土) 11:23:33.67ID:4O69sBWU959デフォルトの名無しさん
2020/02/15(土) 12:38:24.87ID:qtyOJHsa Indy10ってまだ10.3に対応してなかったような
対応版でたの?
対応版でたの?
960デフォルトの名無しさん
2020/02/15(土) 21:35:37.58ID:CqCEJ0Fs Rioでdebug releaseのモード切り替えると固まるのは俺だけ?
961デフォルトの名無しさん
2020/02/15(土) 21:47:54.17ID:4O69sBWU962デフォルトの名無しさん
2020/02/15(土) 22:01:01.91ID:qtyOJHsa963デフォルトの名無しさん
2020/02/16(日) 10:30:31.87ID:u9eNlzbF どの「コミュニティ」に行っても、同じ人たちしかいないのって、よーするに人材枯渇かね?
964デフォルトの名無しさん
2020/02/16(日) 10:53:29.32ID:ajhowdAH まぁ日本じゃMVPがあのキモさだからな
965デフォルトの名無しさん
2020/02/18(火) 17:22:10.12ID:Fy87CGLW966デフォルトの名無しさん
2020/02/22(土) 07:52:44.80ID:jMTU79N4 quickreporteって昔みたく標準でついてないのね
皆さん印刷とかどうやってるの
皆さん印刷とかどうやってるの
967デフォルトの名無しさん
2020/02/22(土) 14:04:02.92ID:61rJN/k0 >>966
FastReportが今の標準添付の印刷コンポーネント
FastReportが今の標準添付の印刷コンポーネント
968デフォルトの名無しさん
2020/02/26(水) 17:54:06.74ID:KqbM6wtj そろそろ次のスレを立てないとね
969デフォルトの名無しさん
2020/02/26(水) 22:14:57.47ID:TEAnrnJR 総合スレは・・・まだいいか
970◆JAVA/drQNg
2020/03/01(日) 18:42:38.51ID:zM73AfEv https://www.hellowork.mhlw.go.jp/kensaku/GECA110010.do?screenId=GECA110010&action=dispDetailBtn&kJNo=1301023906401&kJKbn=1&jGSHNo=Yl0LGUJlwstE%2F%2BqkjXcR2Q%3D%3D&fullPart=1&iNFTeikyoRiyoDtiID=&kSNo=&newArrived=&tatZngy=1&shogaiKbn=0
職種
Delphiプログラマー(PG)
仕事内容
(業務内容)以下の開発を行います。
(例)
・業務パッケージ製品の開発
・業務システム開発
・C/S系システム開発
OS:windows
DB:oracle
※Delphiの知識
職種
Delphiプログラマー(PG)
仕事内容
(業務内容)以下の開発を行います。
(例)
・業務パッケージ製品の開発
・業務システム開発
・C/S系システム開発
OS:windows
DB:oracle
※Delphiの知識
971デフォルトの名無しさん
2020/03/01(日) 18:46:43.16ID:wt4aL9gq >>970
東京はとおいよ〜
東京はとおいよ〜
972デフォルトの名無しさん
2020/03/02(月) 11:22:02.02ID:glnmwhpK 東京は人が多いだけで済みにくい
感染しやすい
土地高い
物価高い
タクシー止まらない
感染しやすい
土地高い
物価高い
タクシー止まらない
973デフォルトの名無しさん
2020/03/03(火) 20:00:31.20ID:ottIIFYY >タクシー止まらない
雨の日とかは別だけどこれはないんじゃないか
むしろ地方のほうが流しとかないから駅前か呼び出しだろ
雨の日とかは別だけどこれはないんじゃないか
むしろ地方のほうが流しとかないから駅前か呼び出しだろ
974デフォルトの名無しさん
2020/03/03(火) 22:12:22.77ID:lgJdJP/z タクシーも客を選ぶからね
975デフォルトの名無しさん
2020/03/04(水) 06:28:10.42ID:+a0OpeoU976デフォルトの名無しさん
2020/03/04(水) 10:27:13.44ID:hHbt2ovK977デフォルトの名無しさん
2020/03/05(木) 20:49:33.10ID:qVbpyIXi FMXでDebugHookを使うと
「特定のプラットフォームに固有」と出るんだけど
特定のプラットフォームってWindows以外でどれ?
検索するとMacOSではダメだったって
「特定のプラットフォームに固有」と出るんだけど
特定のプラットフォームってWindows以外でどれ?
検索するとMacOSではダメだったって
978デフォルトの名無しさん
2020/03/06(金) 23:16:35.43ID:i1sIlXFK 質問です。Delphi 2007からアップデートしなくても、新しい技術を使っていなければ、
たいていWindows 10できちんと動きますよね?
(2009以降の文字列まわりが理解できていません)
Delphi 2007からアップデートする場合、Delphi 2009にしてから、新しいものにした方がいいんでしたっけ?
それとも直接10.3とかに読み込んでもいいんでしたっけ?
たいていWindows 10できちんと動きますよね?
(2009以降の文字列まわりが理解できていません)
Delphi 2007からアップデートする場合、Delphi 2009にしてから、新しいものにした方がいいんでしたっけ?
それとも直接10.3とかに読み込んでもいいんでしたっけ?
979デフォルトの名無しさん
2020/03/07(土) 00:48:31.04ID:GTOLdhcV Windows10なら全部同じと思うような馬鹿は死ねよ
980デフォルトの名無しさん
2020/03/07(土) 00:49:34.19ID:c6Inby5m981デフォルトの名無しさん
2020/03/07(土) 08:57:40.90ID:qF4QD93A Delphi6はwin10にインストールすら拒否されたが
982デフォルトの名無しさん
2020/03/07(土) 09:14:59.31ID:Uy9cEyCw はぁ? Win10にD6入れて何台も使っているぞ
983978
2020/03/07(土) 10:30:17.09ID:u9TLT7km みなさんありがとうございます。
私の範囲では使えそうなので安心しました。さすがDelphiですね。
私の範囲では使えそうなので安心しました。さすがDelphiですね。
984デフォルトの名無しさん
2020/03/07(土) 10:47:40.54ID:fhFabl+2 さすがDelphiと言うより、さすがWindowsでは?
985デフォルトの名無しさん
2020/03/07(土) 12:32:37.05ID:3ScJp+cW 新しい技術つかってないから動かない場合もあるだろうけどねAPIとか
何もしなくても動くなんてHelloWorldのサンプルぐらいじゃないか
何もしなくても動くなんてHelloWorldのサンプルぐらいじゃないか
986デフォルトの名無しさん
2020/03/07(土) 13:40:58.34ID:mdASUqdC >>983
馬鹿は死ね
馬鹿は死ね
987デフォルトの名無しさん
2020/03/07(土) 15:43:00.80ID:vg1Dq2A8 app tetheringがまったく動かないんだが
付属やネット上のサンプルのどれもダメだった
firwall関係かねぇ
ただWidowsのクリップボードを監視して
macのクリップボードにコピーしたいだけなんだが
付属やネット上のサンプルのどれもダメだった
firwall関係かねぇ
ただWidowsのクリップボードを監視して
macのクリップボードにコピーしたいだけなんだが
988デフォルトの名無しさん
2020/03/07(土) 17:09:27.82ID:u9TLT7km989デフォルトの名無しさん
2020/03/07(土) 17:34:39.51ID:u9TLT7km 10.3のCommunity Editionのライセンス条項を見たら、他の収入と合わせて$5000を超えてたら除外されるっていう理解で正しいですか?
さすがに他の収入と合わせて$5000を超えてなかったら食べていけません。
数年前のCommunity Editionのときはもっとゆるかった記憶があります。
さすがに他の収入と合わせて$5000を超えてなかったら食べていけません。
数年前のCommunity Editionのときはもっとゆるかった記憶があります。
990デフォルトの名無しさん
2020/03/07(土) 18:37:25.19ID:RZgTMQsN Embarcaderoからメール来た
C++2017の電子本が無料らしい
C++2017の電子本が無料らしい
991デフォルトの名無しさん
2020/03/07(土) 19:42:10.94ID:FYTe5U5h992デフォルトの名無しさん
2020/03/08(日) 02:41:14.63ID:uqevG+QX993デフォルトの名無しさん
2020/03/08(日) 11:08:58.55ID:XCaBTWjM usesにDGCarad9ってのがあって
DirectX9使えるようにした個人の奴だけどサイトが無かった・・・
使用許諾にもメルアド登録済みになってるしパスワードわからんし
やっぱりいろいろめんどくさくて使えねー
DirectX9使えるようにした個人の奴だけどサイトが無かった・・・
使用許諾にもメルアド登録済みになってるしパスワードわからんし
やっぱりいろいろめんどくさくて使えねー
994デフォルトの名無しさん
2020/03/08(日) 14:04:12.00ID:Ks5q/7ma まぁ日本じゃMVPがあのレベルのソフトを公開して悦に入ってるだけだからな
まったく恥ずかしくないのかと思うよ・・・
まったく恥ずかしくないのかと思うよ・・・
995デフォルトの名無しさん
2020/03/10(火) 08:06:10.34ID:KnD7ZfFa 個人攻撃は見苦しい。自分は匿名で卑怯。
996デフォルトの名無しさん
2020/03/10(火) 08:16:12.87ID:KnD7ZfFa >>989
英語のライセンス条項を見たが、その理解で正しいと思う。
前のCommunity EditionではWin32限定でそのときはもっとライセンス条項がゆるかったが、今は機能限定が少しだけになって、使える人の範囲が狭くなった。
学生や定年後の老人や専業主婦が対象といったところか。
英語のライセンス条項を見たが、その理解で正しいと思う。
前のCommunity EditionではWin32限定でそのときはもっとライセンス条項がゆるかったが、今は機能限定が少しだけになって、使える人の範囲が狭くなった。
学生や定年後の老人や専業主婦が対象といったところか。
997デフォルトの名無しさん
2020/03/10(火) 21:13:43.44ID:iMwptZU/ まぁ、彼はちょっと違うの事実だな。最近ではクソアプリ?のadvent calenderで一番手ではりきって一人でニヤニヤしたんだろうな...
998デフォルトの名無しさん
2020/03/11(水) 01:04:28.82ID:zwwCe0yv なんで1000盗り合戦とか意味の無いことで盛り上がってたのかね
999デフォルトの名無しさん
2020/03/11(水) 04:51:18.53ID:0ChhyzeV 999なら俺はいつか死ぬ
1000デフォルトの名無しさん
2020/03/11(水) 05:24:58.54ID:e34vXhFj 将来性はないかもしれないがwindows上でならまだまだ使える言語だね
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1244日 16時間 3分 4秒
新しいスレッドを立ててください。
life time: 1244日 16時間 3分 4秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
- お前らダウナー系だよな
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ182
- 精液がゼリー状で黄ばんでるせいで女と付き合う勇気ない
- 女はSNSで乳揺らして踊ってりゃラクにカモ集まるから羨ましい
- 【高市速報】中国、最後通牒 [308389511]
