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

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

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

■Delphi XE6 Professional/Enterprise/Ultimate/Architect エディション(トライアル版有)
64bit Windows、Mac OS XからiOS、Androidのアプリも開発可能。ライブラリのソースコード付き。アカデミックライセンス有り。
旧バージョン(XE6/5/4/3/2/XE/2010/2009/2007/Delphi 7)のライセンス取得とダウンロードが可能。(アカデミック不可)
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/?
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: 空文字列の扱い
2016/10/15(土) 08:01:16.21ID:Wck8f7HF
>>4
今はAnsiStringなら>5でOK。
ShortStringだとstraaaa[0]に長さが入ってるので
@straaa だけだと PChar と互換性ないから
2016/10/17(月) 13:18:21.20ID:WrWXzKVd
>>5,6
ありがとう。
調べるワードありがとう
2016/10/17(月) 22:03:38.40ID:u9f1SlFV
有料版買えばandroidで動くプログラムをDelphiで作れるの?
Indyみたいなhttpコンポーネントって使えるのだろうか?
2016/10/17(月) 22:24:59.98ID:DkHWfezI
>有料版買えばandroidで動くプログラムをDelphiで作れるの?
モバイルパック?だかなんだかを買わないといけないんじゃねぇか?
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を使っています。
2016/10/22(土) 10:35:27.82ID:VBuj+teK
バカみたいな質問をしてしまいました。
clBtnFace以外は反映されるのでプログラム的には間違いはないと思います。
clBtnFaceだけ弾かれる理由ってあるんでしょうか?
2016/10/22(土) 10:58:32.88ID:OrToTiIL
>>15
テーマが関係してるんじゃなかったっけ
2016/10/22(土) 11:01:18.05ID:AS0AO2zF
>>15
勘だけと、システムカラーだからOSのテーマカラーが優先されて使われてるんじゃないのかな?
2016/10/22(土) 11:34:02.15ID:VBuj+teK
ありがとうございます。
と言ってもどうしていいか分からないのでパネル貼ります。w
2016/10/23(日) 10:04:04.33ID:FT6Wwhog
昔Del7で作ったExcelを操作するプログラムを、Berlinで作り直したいんだけど今だとFirerDacを使うんですか?
取り敢えずやりたいことは、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;
2016/10/23(日) 14:13:58.96ID:gusT9oXO
>>21
propertyのGridLinesじゃないのか?
Delphi 10.1動かしてないから適当やけどw
2016/10/23(日) 15:14:16.61ID:MP5NXD0l
>>22
GridLines は False です。
試しに True にしても同じように 2pixel の区切り線が出ます。
他の人の環境では出ないのでしょうか?
2016/10/23(日) 15:28:26.85ID:MP5NXD0l
参考画像です。
http://fast-uploader.com/file/7032759494826/
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
2016/10/23(日) 16:54:42.26ID:CGzeXgZh
http://www.chrysocome.net/download
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の使用例がありました。
2016/10/24(月) 02:18:05.54ID:Pol9g+IM
>>21 >>24
10.1 Starter で再現したことだけ報告しておきます。
3019
垢版 |
2016/10/24(月) 11:23:45.88ID:V1HEhUaE
>>20
ありがとうございます。

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

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

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

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

Shapeを使う必然性があるんだったら別だけどね
4642
垢版 |
2016/10/31(月) 20:22:37.53ID:I4hSi9OL
>>45
ありがとう!!
出来ました、
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進数とかに変換すると文字列になるでしょ?
文字列をどうやれば計算に使えるの?
2016/11/03(木) 13:32:53.30ID:6FeMk1RE
16bitでわかれるって
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])
2016/11/03(木) 13:41:15.66ID:2mKhPyDG
早速、ありがとうございます!!
式の意味がわからない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);

...こう云うことじゃないの?
57デフォルトの名無しさん
垢版 |
2016/11/03(木) 16:20:54.86ID:KRq5Cur1
こういうあほと仕事したくないな
5853
垢版 |
2016/11/03(木) 18:24:42.65ID:2mKhPyDG
やってみたらあっさりできました。
右や左にシフトさせるだけで、マイナスも簡単に処理できました。
2の補数とかそういうことはDelphiが内部で勝手にやってくれるという認識でOK?
10進数のまま処理ができるのは他の言語でも一緒?
2016/11/03(木) 18:32:31.39ID:Vzj8eJlj
>Delphiが内部で勝手にやってくれる

その認識はおかしい

「Delphiは何もしない」が正しい
6053
垢版 |
2016/11/03(木) 19:10:20.41ID:2mKhPyDG
>>59
そうなんですか?
プログラムとして読み取る時は上位の16bitを
a:=a shl 16;
で左にシフトさせて
c:=a + b;
で、cにダブルワードの数値がマイナス値も含めて正しく入ったのでdelphiが勝手に処理してるのかなと思いました。
プログラムとしてはこれでOKですか?
2016/11/03(木) 19:18:10.90ID:KRq5Cur1
+ b でも良いかも知れないが or b の方が良くね
2016/11/03(木) 19:21:51.74ID:cIZsGa0I
符号付きのDWORDって4バイトの整数とは違うの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。