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

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

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

1 :デフォルトの名無しさん:2009/02/22(日) 22:10:29
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

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

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
http://delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89


2 :デフォルトの名無しさん:2009/02/22(日) 22:11:16
<関連スレ>
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc11.2ch.net/test/read.cgi/tech/1093654251/
Delphi初心者のための寺子屋
http://pc11.2ch.net/test/read.cgi/tech/1132756268/
delphiで作った有名ソフトって何があるの?
http://pc11.2ch.net/test/read.cgi/tech/1135654787/
Delphi持ってるならGLSceneを使え
http://pc11.2ch.net/test/read.cgi/tech/1163269079/
【Delphi互換!?】FreePascal【GPL】
http://pc11.2ch.net/test/read.cgi/tech/1137051510/

【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
http://pc11.2ch.net/test/read.cgi/gamedev/1097836469/
Delphiでアクションゲームが作りたい!! Part2
http://pc11.2ch.net/test/read.cgi/gamedev/1027482533/
ネットワークゲーム作成のお勉強(Delphi専用スレ)
http://pc11.2ch.net/test/read.cgi/gamedev/1028278884/
delphiでMMO
http://pc11.2ch.net/test/read.cgi/gamedev/1072515100/

3 :デフォルトの名無しさん:2009/02/22(日) 22:38:28
>>1

4 :デフォルトの名無しさん:2009/02/22(日) 23:55:30
>1乙です

5 :デフォルトの名無しさん:2009/02/23(月) 02:16:18
>>1乙でありまする

6 :デフォルトの名無しさん:2009/02/23(月) 02:36:12
>>1乙;


7 :デフォルトの名無しさん:2009/02/23(月) 05:46:47
            /.:.:.:.:.:.:.:.:.:.:.:.:.:.:.ミY:.:.:.:.:.:.:.:.:ヽ
         //::/:/.:.:.:.:.:.:.:.:.';:.:.:.}:.:.:.:.:.:.:.:.:.:.:'.
       //:〃::/:/::/:::/::/ |:::j::ト、\::::::::::::::.
       イ/|/j:::/l/ヽ{::/::/ j::/::j ヾ::ヽ::::::::::i
        -=7{:小{イf心/l:/  ノ⌒メ  {ヽ:ハ:::::::::|
          /:/V} Vリ     アi心  ミ:::}::j/:::::j
.        /イ:::/:⊂⊃ ,    V_ソノ ノ`Y:::::::::リ
.         |/l ::八      ⊂⊃ .)^ノ :::::;':|
            |:∧::\ `     ィー::1::::::/:::{   >>1
            |::ハ::}::::>‐r   爪::{:::::::∧::::N八 
           '´ j∧/   }__,/{:从::::::|
             /\/|       ヘヽ{
           乙イ 、\  /⌒ヽ
            | L{.∨ / : : ⌒∧
             |   ̄/: : : :/: : : : :}
              |    |: : :j/ : : : : : |

8 :デフォルトの名無しさん:2009/02/23(月) 07:27:43
ある条件によってフォーム上のコントロールを切り替えたいのですが何か楽な
方法はないでしょうか?
1.ページコントロールを使い条件によって表示するタブを切り替える。
2.フレームを使って条件によってフレームを動的生成して切り替える。
の2通り考えましたが、他にないでしょうか?
1の場合、タブとページコントロールの枠線が消せないので気になります。



9 :デフォルトの名無しさん:2009/02/23(月) 13:18:46
パネルに乗せる

10 :デフォルトの名無しさん:2009/02/23(月) 19:17:31
>>8
PageControlの何かのプロパティの設定で完全に消せた記憶もあるが…
かなり以前のことなので覚えてないし、ソースも何もないんでゴメンね

11 :デフォルトの名無しさん:2009/02/23(月) 20:50:28
>>88
フラットにしてtab非表示にしたら消えなかったっけ?

SpTBXLibっての使ってる方います?


12 :デフォルトの名無しさん:2009/02/23(月) 21:15:36
>>88に期待

13 :デフォルトの名無しさん:2009/02/23(月) 21:30:35
>>8です。
>>10,11
色々プロパティいじってみましたが消せないですね。
>>9
のパネルで切り替える方法でやってみたいと思います。
ありがとうございました。


14 :デフォルトの名無しさん:2009/02/23(月) 23:16:21
タブの部分がフォームからはみ出るように配置という姑息なことをしたことがあるw

15 :デフォルトの名無しさん:2009/02/23(月) 23:25:23
StyleをtsFlatButtonsにして各ページのTabVisibleをFalseにすれば完全に消える
デザイン時はPageControlのActivePageを切り替えて編集すればおk
まあ、パネルに決めたんなら止めはしないけど

16 :デフォルトの名無しさん:2009/02/23(月) 23:48:04
最新版にあるか分からないけどTNotebookは?

17 :デフォルトの名無しさん:2009/02/24(火) 13:08:28
教えてください。
フォームをリポジトリに登録する方法で
RegisterComponentsみたいなやり方って無いですか?

18 :デフォルトの名無しさん:2009/02/25(水) 01:34:07
BlockList: TImageList;
omoteGa: TImage;
FBord: array[0..9, 0..12] of Integer;
//(1)背景を敷き詰める
procedure TForm1.BackPaint;
var
 i,j : Integer;
begin
 for j := 0 to 14 do
  for i := 0 to 20 do
   BlockList.draw(omoteGa.Canvas,i*XYDOT,j*XYDOT,BCK);
end;
//(2)ワクを描く 
procedure TForm1.BordPaint;
var
 i,j :Integer;
begin
 for j := 0 to 12 do
  for i := 0 to 9 do
  begin
   FBord[i,j] := 0;
   if (i = 0) or (i = 9) then FBord[i,j] := WAK;
   if j = 12 then FBord[i,j] := WAK;
   BlockList.draw(omoteGa.Canvas,(i+5)*XYDOT,(j+1)*XYDOT, FBord[i,j]);
  end;
end;


19 :続き:2009/02/25(水) 01:34:31
//(3)テキスト表示
procedure TForm1.TextShow;
var
 j,i: Integer;
begin
 for j := 0 to 12 do
  for i := 0 to 9 do
    omoteGa.Canvas.TextOut(i*10,j*10, inttostr(FBord[i,j]));
end;
 (1)、(2)を単独で最初に実行すれば意図されたとおり描かれるのですが、(1)で背景を描き
その上に枠を囲うとして(1)→(2)の順で実行してもうまくいきません。ところが
(1)→(2)→(3)の順に実行するとうまくいきます。(2)→(1)としたい場合もいっしょです。
 なぜ(1)→(2)だけではだめなのでしょう?


20 :訂正:2009/02/25(水) 01:35:20
> 囲うとして
描こうとして

21 :デフォルトの名無しさん:2009/02/25(水) 03:39:21
どううまくいかないの?

22 :18:2009/02/25(水) 09:41:38
 たとえば
 BackPaint;//背景
 BordPaint;//枠
としても、背景が描かれたままで枠が描写されません。ところがこの後
 TextShow;
を実行すれば「枠」が描かれるのです。当然この後テキストを消そうとして
 BackPaint;//背景
を実行してもそのままです。ソースを以下の通り。
http://toku.xdisc.net/cgi/up/ttt/nm10417.lzh.html


23 :デフォルトの名無しさん:2009/02/25(水) 10:50:18
>>22
(1)ではBitmapが生成されていないので、描画されたときにPictureプロパティが変更されて表示される。
(2)ではRefreshメソッドが呼ばれてないので、再描画されない。
(3)ではTCanvasの描画メソッドを呼んでいるので再描画される。

(1)を実行前にTImageのPicture.BitmapオブジェクトのWidth,Heightを指定して
事前にTBitmapを生成しておけば(2)と同様に描画されない。
要は内部ビットマップへは描画されているが、TImageがまだ表示していないってことです。

24 :デフォルトの名無しさん:2009/02/25(水) 11:29:06
最前面表示について色々調べたら以下のAPIでできることが分かりました。
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE);
ですが、メインフォームは問題なく最前面表示されますが、別のフォーム(Form2)を
表示させた場合、以下の動作になります。

MainFormをクリックして別アプリをクリックするとMainForm、Form2両方最前面
Form2をクリックして別アプリをクリックするとMainFormだけ最前面
※Form2のCreateイベントにもSetWindowPosを書いています。

実際にはメインフォームは表示させずに複数のフォームを表示させて、それを
全て最前面にしようと思っています。
このようなことをやる場合は別の方法でやるのでしょうか。

25 :デフォルトの名無しさん:2009/02/25(水) 12:14:41
最前面表示は止めた方がいいよ。べつのアプリも最前面表示をしようとすると
ハチャメチャ。マルチタスク環境での反則技と心得るべし。

複数の最前面表示は意味が矛盾してる・

26 :デフォルトの名無しさん:2009/02/25(水) 12:50:28
>>24
http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200309/200309_03090055.html

27 :デフォルトの名無しさん:2009/02/25(水) 13:14:36
>>26
ありがとうございます。望んでいた動作をさせることができました!

28 :デフォルトの名無しさん:2009/02/25(水) 16:03:19
>>23
> 要は内部ビットマップへは描画されているが、TImageがまだ表示していないってことです。
 なるほどそういうものですか。
(1)(2)に omoteGa.Refresh; を追加しただけでOKでした。
 TPaintBoxと異なり TImage は OnPaint で再描画しなくていいというのが頭に
あったものですからRefreshは不要だと思っていました。
 TImage、TBitmap、TCanvas などをもう少し勉強してみます。


29 :デフォルトの名無しさん:2009/02/26(木) 06:47:38
昔Canvas直描きでゲーム作ってたらチラつきにはまったの思い出した
自前でダブルバッファしてあげて解決したけど

チラ裏おしまい

30 :デフォルトの名無しさん:2009/02/27(金) 10:27:54
Delphi2009の新規プロジェクトにTButtonを貼るとXPスタイルで表示されますが
Delphi7で作ったプロジェクトを開くとIDE上ではクラシックスタイルで表示されます。
実行すればXPスタイルで表示されますが、IDE上でも新規プロジェクトと同じように
表示するにはどうすればいいんでしょうか?


31 :30:2009/02/27(金) 10:52:33
自己解決。
ランタイムテーマを有効にして保存後、開き直したらできました。
失礼しました。

32 :デフォルトの名無しさん:2009/02/27(金) 18:49:28
Delphi2009? 今年じゃん! いつの間にかそんなに進んでたのか…

Delphi6や7と比べて良くなったのかな
簡単なツールしか作ってないけど、久しぶりにバージョンアップしようかな

33 :デフォルトの名無しさん:2009/02/27(金) 20:48:23
Delphi2009はUnicode対応(専用)版だよ

34 :デフォルトの名無しさん:2009/02/27(金) 23:19:41
現在、QuadrupleDを使って2Dゲームを作っています。
Zバッファを使用するにはどのようにすればいいでしょうか?
具体的にいうと、後から描画したテクスチャを
後ろに回りこませたりといったことがしたいのです。
チュートリアルのプロジェクトを改造して作ってみましたが、
デプスバッファに書き込む値を0以外にすると
テクスチャそのものが表示されなくなってしまいます。

procedure TForm1.FormCreate(Sender: TObject);
begin
//とりあえずクライアント領域のサイズに合わせて画面を初期化
DG.WindowMode(ClientWidth, ClientHeight, DGFMT_ZDetail);


procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
var Done: Boolean);
begin


//スプライトを一個置け
Scene.PushSprite(Vector2D(Tick,50),
[SXVertexSP(0,0, $FFFFFFFF, 0.0,0.0),
SXVertexSP(Texture.Width, 0, $FFFFFFFF, Texture.U, 0.0),
SXVertexSP(0,Texture.Height, $FFFFFFFF, 0.0,Texture.V),
SXVertexSP(Texture.Width,Texture.Height, $FFFFFFFF, Texture.U,Texture.V)],
Texture,sxbAlpha,False,false,0.0);
Scene.PushSprite(Vector2D(Tick,100),
[SXVertexSP(0,0, $FFFFFF00, 0.0,0.0),
SXVertexSP(Texture.Width, 0, $FFFF00FF, Texture.U, 0.0),
SXVertexSP(0,Texture.Height, $FF00FFFF, 0.0,Texture.V),
SXVertexSP(Texture.Width,Texture.Height, $FFFFFFFF, Texture.U,Texture.V)],
Texture,sxbAlpha,False,false,0.0);

35 :デフォルトの名無しさん:2009/02/27(金) 23:25:13
上の通りにコンパイルすると
http://imepita.jp/20090227/842150
こうなります
Zバッファの値は同じ0のはずなのに
なぜか先に書いた普通の色のDG子が前に・・・

36 :デフォルトの名無しさん:2009/02/28(土) 14:31:10
function TForm1.BlockSet(ix,jy:Integer):Integer;
begin // FBord[ix,jy1] 0 --> 背景、1 --> 壁、2 --> ブロック
 Result := 1;
 if jy+1 <= YMAX then //下へ(1)
  if FBord[ix,jy+1] =0 then
  begin
   FBord[ix,jy+1] := 2;  Result := Result + SubPaint(ix,jy+1);
  end;
 if jy-1 >= 0 then   //上へ(2)
  if FBord[ix,jy-1] =0 then
  begin
   FBord[ix,jy-1] := 2;  Result := Result + SubPaint(ix,jy-1);
  end;
 if ix+1 <= XMAX then //右へ(3)
  if FBord[ix+1,jy] =0 then
  begin
   FBord[ix+1,jy] := 2;  Result := Result + SubPaint(ix+1,jy);
  end;
 if ix-1 >= 0 then   //左へ(4)
  if FBord[ix-1,jy] =0 then
  begin
   FBord[ix-1,jy] := 2;  Result := Result + SubPaint(ix-1,jy);
  end;
end;
//使い方
 for j := 0 to YMAX do
  for i := 0 to XMAX do
   ImageList1.Draw(offBmp.Canvas, i*DOT, j*DOT, FBord[i,j]);


37 :続き:2009/02/28(土) 14:37:00
 マウスをクリックしたところから壁に囲まれた範囲を塗りつぶす処理をネット上で
見つけたのですが、なぜこれでいいのでしょう(笑)。人力トレースでは以下のよ
うになると思うのですが。ix,jy をチェックしたら(1)の再帰が終わって(2)を実行す
るとき ix が 1 増えています。これがわかりません。
■■■■■■ ■■■■■■ ■■■■■■ ■■■■■■  ■■■■■■
■      ■ ■      ■ ■  ●   ■ ■  ●   ■ ■  ●  ■
■  ●   ■ ■  ●   ■ ■  ●   ■ ■  ●●●■ ■●●●●■
■      ■ ■  ●   ■ ■  ●   ■ ■  ●   ■ ■  ●  ■
■      ■ ■  ●   ■ ■  ●   ■ ■  ●   ■ ■  ●  ■
■■■■■■ ■■■■■■ ■■■■■■ ■■■■■■  ■■■■■■
  最初      (1)下へ      (2)上へ      (3)右へ      (4)左へ


38 :デフォルトの名無しさん:2009/03/01(日) 00:36:37
>>36が端折りすぎてると思うのは俺だけか?
どこに再帰があるのかさっぱりわからん。

39 :デフォルトの名無しさん:2009/03/01(日) 02:03:31
SubPaintも何してるか分からないしな

40 :デフォルトの名無しさん:2009/03/01(日) 09:12:37
基本的な質問で失礼します。
Delphi言語でJSPのようなWeb開発って出来ますか?
開発環境としてのDelphiではなく
言語としてのDelphiです。
つまりObject Pascal。

41 :デフォルトの名無しさん:2009/03/01(日) 11:40:37
Delphi7で下記用に記述すると
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
  i:=-2147483648;
end;

[エラー] Unit2.pas(31): 数値演算のオーバーフロー
[致命的エラー] Project2.dpr(7): 'Unit2.pas' ユニットはコンパイルできませんでした
コンパイルが通らないなぜでしょう


42 :デフォルトの名無しさん:2009/03/01(日) 12:10:10
>>41 釣りじゃないよな?
Integerの範囲は-2147483648〜2147483647

43 :デフォルトの名無しさん:2009/03/01(日) 12:14:22
>>42
delphi6,d2009は通りますけどd7は通らないので困っています


44 :デフォルトの名無しさん:2009/03/01(日) 12:53:56
>>42
え?

45 :42:2009/03/01(日) 13:01:03
すまん、-が見えてなかったorz

確かに編だな。なぜかi:=Low(Integer)は通る。

46 :42:2009/03/01(日) 13:02:44
×編
○変
ダメすぎ…

47 :デフォルトの名無しさん:2009/03/01(日) 16:26:40
Delphi 2009 で ドライブ名(C: 等) から、
DeviceIoControl に渡すハンドルを得る為の
CreateFile へ渡すファイル名の取得にはどの様な手順を踏まえたらよろしいのでしょうか?

1. QueryDosDevice
2. GetDevNodeRegistryProperty

の手順でよろしいのでしょうか?
…なんか、全然Delphiっぽくない質問ですね…。
該当スレッドなどがあればそちらを照会させてくれると嬉しいです。

48 :デフォルトの名無しさん:2009/03/01(日) 17:16:37
ttp://www.page.sannet.ne.jp/kenjia/J_usb.html

49 :34:2009/03/01(日) 21:20:59
自己解決しました。
デプスバッファへの書き込み値を0≦rhw<1にすると
正常に描画できました。

50 :デフォルトの名無しさん:2009/03/03(火) 22:55:39
自前の手続きの引数にはvarを付けた方がいいの?
有りと無しの違いは?

51 :デフォルトの名無しさん:2009/03/03(火) 23:00:46
ヘルプの「値パラメータと変数パラメータ」嫁

52 :デフォルトの名無しさん:2009/03/05(木) 12:04:37
var str:string;
Copy(str,1,4)とCopy(str,0,4)の結果が同じなんですが
どっちでもいいんですかね?

53 :デフォルトの名無しさん:2009/03/05(木) 17:16:41
Copyの場合のインデックスは1から始まりますよ。
0にした場合エラーにならなくてもワーニングが出てませんか?

54 :デフォルトの名無しさん:2009/03/05(木) 18:34:14
Unicode対応のアプリで TNTのコンポーネントを使ってるんですけど、
TStringStream のUnicode版が無いんです(Delphi7)。
代替案かよさげなライブラリなどありましたら教えてください。

55 :デフォルトの名無しさん:2009/03/05(木) 23:50:08
作れ

56 :デフォルトの名無しさん:2009/03/06(金) 10:29:25
54です。TMemoryStreamのWriteとReadを使って何とかできました。

57 :デフォルトの名無しさん:2009/03/06(金) 22:43:48
文字コードの変換の事で教えてください。
この手のコードとかは検索して見つかったのですが、
word型というのを使うみたいですが何故word型なんでしょうか?



58 :デフォルトの名無しさん:2009/03/07(土) 14:18:49
Delphi7ではTCoolBarやTActionToolBarは不具合のあるので
ちょうどDelphi2007も持ってるので
2007のTCoolBarやTActionToolBarをDel7にインストールして使いたいんですが
こういったことはやはり無理なんでしょうか?
もし可能ならよろしかったら方法を教えて頂けないでしょうか。
2007を使えばいいんでしょうが重くて使いづらくって…

59 :デフォルトの名無しさん:2009/03/07(土) 14:54:10
パソコンを買い換えるのが吉

60 :デフォルトの名無しさん:2009/03/07(土) 20:08:54
やっぱ買うしかないか…

61 :デフォルトの名無しさん:2009/03/07(土) 21:31:03
Del7のに不具合とかあったっけ?
問題なく使っているかも

62 :デフォルトの名無しさん:2009/03/08(日) 10:06:53
XPモード表示でTCoolBarにツールバーを何個か置いて
位置を移動すると変な動作をしたり、表示・非表示したりすると位置がずれたりします。
他コンポも何個かあった。

63 :デフォルトの名無しさん:2009/03/08(日) 11:04:12
WndProcでWM_USER + $500を無視するといいんじゃなかったっけ?

64 : ◆XcB18Bks.Y :2009/03/08(日) 18:11:33
>>57
文字コードが2バイトの符号なしなら変数も2バイトの符号なしのWord型だと扱いやすい。


65 :デフォルトの名無しさん:2009/03/09(月) 09:09:03
Delphi使うとある面では業効率がいいのですが、Delphiのバグと格闘するという
何のためにもならない時間が増大します。誰か助けてください。

66 :デフォルトの名無しさん:2009/03/09(月) 11:25:07
稚拙な質問の上に伝わらなかったらすまん。
Form上に動的に生成したパネルを4つalTopで配置。幅はform.height/4
それぞれのcaptionを1..4にしたとして、これの並び替えってどうやればいいんですか?
上から1234にしたり4321にしたり。

67 :デフォルトの名無しさん:2009/03/09(月) 11:29:42
>>65
上にもちょっと出てるけど、よかったらDelphiのバグ教えてくれませんか?
なるべくそのコンポ使うの避ける。

68 :デフォルトの名無しさん:2009/03/09(月) 11:41:57
>>66
一度全てをalNoneにして、上にしたいものからalTopではダメかな?

>幅はform.height/4
これがよくわからないけど。

69 :デフォルトの名無しさん:2009/03/09(月) 14:55:20
Delphi2006のプロジェクトを2007でコンパイルすると、アプリケーションがタスクバーに出なくなるのは
何か解決方法ありますか。

70 :デフォルトの名無しさん:2009/03/09(月) 15:22:33
>>69
Delphi2009でコンパイルする。

71 :デフォルトの名無しさん:2009/03/09(月) 17:59:09
>>69
なんか
Application.MainFormOnTaskbar := True;
みたいなコードが必要だった気がする

72 :デフォルトの名無しさん:2009/03/09(月) 18:00:09
procedure A(param:integer)みたいなのがあって、
ボタン1が押された時に実行させるのですが、
この時Aが終了する前にボタン1が押されたら、
Aを別に複数実行みたいなことをマルチタスクを使わずに
行えますか?


73 :デフォルトの名無しさん:2009/03/09(月) 18:26:32
>>68
失礼 高さです。フォームを4枚のパネルで埋め尽くす感じです。
教えていただいた方法では駄目でした。

74 :デフォルトの名無しさん:2009/03/09(月) 19:25:42
>>73 いい加減ですまん。
各PanelのAlignをalNone
各PanelのTopに(Form.Height - PanelN.Height)を代入
上に置きたいPanelからAlignにalTop

これでそれっぽい動きをしたので、試してみて。


75 :デフォルトの名無しさん:2009/03/09(月) 21:46:38
>72
マルチタスクが駄目ならマルチスレッドで。

76 :デフォルトの名無しさん:2009/03/09(月) 22:26:06
マルチタスクってなに?

77 :デフォルトの名無しさん:2009/03/09(月) 22:27:56
Windowsの世界ではマルチプロセスってことだと思う。

78 :デフォルトの名無しさん:2009/03/09(月) 23:14:34
ファイルをD&Dすればunixサーバのscriptが実行されるものを作りたいんだけど、
何を調べればいいのでしょう?
また、Cygwin、unix for windows、を使わずにできるものでしょうか?

WinXPでDelphi6 personal 使ってます。

79 :デフォルトの名無しさん:2009/03/09(月) 23:28:08
D&Dしたファイルがscriptにどう影響を与えるのかとか
script本体はどこにあるのかとかさっぱりわからない。
sshを使うとかそういうイメージなんだろうか…。

80 :デフォルトの名無しさん:2009/03/10(火) 00:50:54
>>78
あなたを使わずに別の開発者を使えば可能です

81 :78:2009/03/10(火) 06:50:53
>79
"calc"ってscriptがunixサーバ側に用意されてて、
たとえばWindows側にunix環境ができていれば、
$calc AAA.txt ってやるとAAA.txtがサーバで処理されて
AAA.resultsが返ってくる。

これを、cygwinなどのunix環境無しで、AAA.txtをD&Dしてできないかと思いまして。
"calcstat"で処理の進捗を表示させるのが最終目標です。


82 :72:2009/03/10(火) 07:17:36
マルチタスクじゃなくて、スレッドでした。
ヘルプを見たりしましたが、別スレッドで実行するしかない
みたいですね。
クリエートなんちゃらとかあるかと思いました。

83 :デフォルトの名無しさん:2009/03/10(火) 10:27:31
>>78
セキュリティがザルなのでおすすめできないが
windowsプログラムからrcp,rshを起動すればいけんじゃない
rcp,rshならXPなら標準で入ってる
セキュアにしたいならssh
ただしWindowsには入ってないので自分で入手

84 :デフォルトの名無しさん:2009/03/10(火) 17:19:30
突然でスイマセン
誰かdelphi perssonal もってたらください。

85 :デフォルトの名無しさん:2009/03/10(火) 17:27:27
お断りします

86 :78:2009/03/10(火) 18:20:23
>>83
ありがとう。試してみる。


87 :デフォルトの名無しさん:2009/03/10(火) 19:02:24
>>74ども。確かに結果は得られました。
ありがとうございます。
しかし結局設計時に配置変えるときのような動作をさせるより他ないのかなぁ。

88 :デフォルトの名無しさん:2009/03/10(火) 19:26:24
希望とは違うだろうけどalNoneのままそれぞれのTopを
0
Form.ClientHeight div 4
(Form.ClientHeight div 4)*2
(Form.ClientHeight div 4)*3
でOKなような。

89 :alCustom:2009/03/10(火) 23:02:32
俺の出番か

90 :デフォルトの名無しさん:2009/03/10(火) 23:36:16
そんなものがあったのかorz

91 :デフォルトの名無しさん:2009/03/11(水) 14:28:50
D6Personal
http://reservoir.cc.kyushu-u.ac.jp/delphi/BorlandDelphiPersonalEditionJP.exe
http://reservoir.cc.kyushu-u.ac.jp/delphi/d6perdoc.zip
http://reservoir.cc.kyushu-u.ac.jp/delphi/delphi6update1.exe
でもアクティベーションが出来るかはわからない

92 :デフォルトの名無しさん:2009/03/11(水) 17:31:25
>>88ですな。
結局top,left,width,heightを希望するよう逐次設定してやれば希望の動作はします。
アンカーやタグの存在に気付いたときのように、もっとスマートな方法があるのでは
ないかと思い、質問してみた次第です。お騒がせしました。

93 :デフォルトの名無しさん:2009/03/11(水) 22:22:52
それぞれのalTopのパネルの上にalClientなパネルを置いて
配置換えするときはalClientなパネルのParentを変える
ってのはどうかな?

94 :デフォルトの名無しさん:2009/03/12(木) 13:24:52
forの中にforを作ったとして、すべてのループをBreakさせる手続きってありますか?
BreakAllみたいな。

95 :デフォルトの名無しさん:2009/03/12(木) 13:57:44
goto

96 :デフォルトの名無しさん:2009/03/12(木) 14:18:14
exit

97 :デフォルトの名無しさん:2009/03/12(木) 15:30:40
ECUで書かれたページを直接読み込んで、その中からキーワードを拾うときに
ソースの1行がTStringList1行に入るようにはできませんか?
ダウンロードするプログラムは初心者本のコピーなんですが、
どうも1単語になっているものが途中で切られて次行に行ったりするみたいで
うまくキーワードを拾えないときがあるんです。
どなたか教えてください。

98 :デフォルトの名無しさん:2009/03/12(木) 15:36:07
LoadFromFileをやめてReadlnで読む

99 :デフォルトの名無しさん:2009/03/12(木) 18:58:04
ECUとか何だか内容が良く分からないけど全部1行というか改行を削除して
検索すれば良い気がするが、外してる感じも大。

100 :デフォルトの名無しさん:2009/03/12(木) 21:33:16
>>94
if BreakAll then Break;

101 :デフォルトの名無しさん:2009/03/12(木) 22:21:12
try
for ...
for ...
if ... then raise Exception.Create('BreakAll');
...
except
end;

102 :デフォルトの名無しさん:2009/03/12(木) 22:38:36
多重ループは例外で抜けるのがよさげ

103 :デフォルトの名無しさん:2009/03/13(金) 17:46:24
APIに関係しているかもしれないのですが、winsightで見ても表示されていないボタンに
メッセージを送りたい時の調べ方について教えてください。
一応、optionでトレースするメッセージをマウスのクリックに絞って、メッセージを
見てるのですがイマイチ分かりません。
どう調べればいいんでしょうか?
よろしくお願いします。


104 :デフォルトの名無しさん:2009/03/13(金) 18:07:44
それは、絵に描いた牡丹だからメッセージは送れないよ。

105 :デフォルトの名無しさん:2009/03/13(金) 20:05:11
そう思うんですけど、そのソフトの画面を切り替える外部ソフトがあるので
何とかならんかなと思って。

106 :デフォルトの名無しさん:2009/03/13(金) 21:39:24
Spyでしらべてみれば。


107 :デフォルトの名無しさん:2009/03/13(金) 21:58:55
つWindowTree.exe

108 :デフォルトの名無しさん:2009/03/14(土) 03:35:58
del7pro
actionmainmenuと同等のプロパティが付いてるpopupmenuがあったと思ったんだがない。
このバージョンには付いてないんだっけか?

109 :デフォルトの名無しさん:2009/03/14(土) 08:49:54
ちょっと質問があります。

IDEのエディタが改行しなくなりました。ENTERを押しても次の行にカーソルが進むだけで、
実際の改行がされないのです。

・既存のプロジェクトでも駄目
・新規作成でも駄目
・IDEの再起動でも駄目
・OSの再起動でも駄目

開発がまったくできず困っております。
10年来Delphiを使ってきて始めて遭遇しました。
解決方法はないものでしょうか?

環境:BDS2006 Vista SP1

110 :デフォルトの名無しさん:2009/03/14(土) 08:52:20
>>109
自己解決しました。
エディタが上書きモードになっていましたwwww

今まで上書きモード使ったことなかったぜ
ホフォすぎる俺・・・

111 :デフォルトの名無しさん:2009/03/14(土) 08:55:12
>>34-35
QuadrupleDしらんけど、ZバッファONなら、
後から書いてZバッファが同じなら、先に書いたものの上に上書きはされないよ。

112 :デフォルトの名無しさん:2009/03/15(日) 01:01:16
いいなぁ、RSSつながって。

113 :デフォルトの名無しさん:2009/03/15(日) 14:44:41
TForm上でDirectXを表示させる事は可能でしょうか?
可能ならばどのようにすればいいのでしょうか?

114 :デフォルトの名無しさん:2009/03/15(日) 16:33:15
Clootie

115 :デフォルトの名無しさん:2009/03/15(日) 16:33:21
そのフォームのキャンバスのハンドルを表示先に指定する

116 :113:2009/03/15(日) 18:57:52
>>114-115
返信ありがとうございます。
ハンドルを指定すればいいのですね。
検索したらやり方がいろいろ出てきました。
アドバイスありがとうございました。

117 :デフォルトの名無しさん:2009/03/16(月) 21:36:18
外部プログラムのボタンの位置をスクリーン座標で取得するにはどうすればいいですか?
ClientToScreenにハンドルを指定する引数がないので、あれ?って感じです。

118 :デフォルトの名無しさん:2009/03/16(月) 22:02:29
そのClientToScreen関数はTControlのもの
Win32APIを使う場合はWindows.ClientToScreenとして、Windows.pasのものを使うと明示すするべし

119 :117:2009/03/16(月) 23:31:49
ありがとうございました。
外部アプリのボタンをハンドルではなく座標を指定して押すプログラムを
書いていて、Mouse_Eventで押すことは出来たんですがマウスカーソルが
動くのが嫌で調べていたら、SendInputというのがありました。
今回は別に使う必要はないのですが、これも座標を指定してクリックのメッセージ
を送ることは出来るのでしょうか?

120 :デフォルトの名無しさん:2009/03/17(火) 14:21:35
delphi2009で、それ以前のString[n]と同じような宣言をしたいときは
どうしたらいいですか?AnsiString[n]というのは無いらしいし、
そのままString[n]では、全角を1文字としてしまうので使えないし。

121 :デフォルトの名無しさん:2009/03/17(火) 14:40:44
>>120
ちゃんと試してからお聞きください。

122 :デフォルトの名無しさん:2009/03/17(火) 14:49:16
>120
ウンコードの弊害です。あきらめてください。

123 :デフォルトの名無しさん:2009/03/17(火) 14:49:46
>>119
WindowFromPointでその点にあるコントロールが分かるので、
そのハンドルを使ってWM_LBUTTONDOWNとWM_LBUTTONUPを送るとか
Win32でGroupBoxの上にコントロールを置いてると、
Zオーダーの関係でGroupBoxのハンドルが返ることがあるので注意

124 :デフォルトの名無しさん:2009/03/17(火) 15:20:03
>>121
すまん、俺が勘違いしていたらしい。
そのままでいいみたいだった。ありがとう。

125 :デフォルトの名無しさん:2009/03/17(火) 17:09:02
https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/virtualtreeview-new/
にある VirtualTreeview のインストール方法を誰か知りませんか?

126 :デフォルトの名無しさん:2009/03/17(火) 17:20:26
>>125
http://www.delphi-gems.com/
本家本元のをインストールしたら?
というか今見たら3月16日付で4.8.5にアップデートされてるね。

127 :デフォルトの名無しさん:2009/03/17(火) 18:16:32
複数のレコードを1つのレコードとしてアクセスする方法って無い?
type rec1 = rec2 + rec3;とか
type rec1 = record(rec2, rec3);とか

128 :デフォルトの名無しさん:2009/03/17(火) 19:23:19
r2、r3の記述は必須なので、望み通りではないかな?

rec1 = record
r2: rec2;
r3: rec3;
end;

129 :117:2009/03/17(火) 20:43:18
HD入れ替えてXPを入れ直したいんだけど、
Del7って認証受けなきゃダメだよね?
今でもページあるのかな?
アップデートあるのかな?

130 :デフォルトの名無しさん:2009/03/17(火) 20:55:36
D7なら認証を受けなくても使えないことはないわけだが。
認証しろとは言われるけど。

131 :デフォルトの名無しさん:2009/03/18(水) 06:21:13
うちのPCには昨年末にDelphi7を入れたぞ。
確かやり方がややこしかったけど、それはVistaだったからのような気がする。

132 :デフォルトの名無しさん:2009/03/18(水) 07:10:17
Delphi 6 updates and downloads for registered users
http://edn.embarcadero.com/article/38607
これがあるんだから7もありそうだけど、
さがしたけどよくわからんかった。


133 :デフォルトの名無しさん:2009/03/18(水) 17:30:32
デバイコンテキストを使って文字列を書く時はTexteOutですけど、
その反対の書かれたテキストを取り出すのってないですか?

134 :デフォルトの名無しさん:2009/03/18(水) 17:35:09
>>132
ttp://cc.embarcadero.com/reg/delphi7

135 :デフォルトの名無しさん:2009/03/18(水) 17:38:45
>>133
それが出来たらCAPTCHAで苦労しねーよ

136 :デフォルトの名無しさん:2009/03/18(水) 18:00:01
>>133
これが超初心者の成せる技か…

137 :デフォルトの名無しさん:2009/03/18(水) 18:25:13
アイコン選択ダイアログのアイコンリストのような32×32の
アイコンをリストアップできるコンポーネントを
どなたかご存知ないでしょうか?
リストビューで代用しようと思ったんですが
アイコン同士の間隔が広すぎて思ったようには出来ませんでした。

138 :132:2009/03/18(水) 18:47:06
>>135,136
ハイハイ、プロプロ


139 :デフォルトの名無しさん:2009/03/18(水) 18:49:09
>>137
TListBoxでもTDrawGridでも好きなの使えばいい。

140 :137:2009/03/18(水) 23:27:16
>>139
ありがとうございます。
おかげでTDrawGridを継承してアイコン表示コンポを作ることが出来ました。

141 :デフォルトの名無しさん:2009/03/19(木) 13:34:00
スルー推奨

142 :デフォルトの名無しさん:2009/03/21(土) 08:27:54
Excelのセル範囲指定の時って
Range['B6:N14']
の書き方しか駄目ですか?
VBAで書くみたいに
Range[Cells[1,1]:Cells[10,10]]
って書いてもエラーになってしまいます。

143 :デフォルトの名無しさん:2009/03/21(土) 09:31:19
うろ覚えですが。
[]を()にしてみたりするとどうですかね?



144 :デフォルトの名無しさん:2009/03/21(土) 21:53:31
>>143
レスありがとうございます。
()にしてもだめで、Range['Cells(1,1):Cells(10,10)']見たいに
文字列にしてみても駄目でした。

145 :デフォルトの名無しさん:2009/03/22(日) 01:11:35
Delphi7のエディタってVSのエディタみたいに
2行目の行頭で←キーで1行目の行末へカーソル移動
って出来ないのでしょうか?
何か設定とかあればお教え願えませんか?

146 :デフォルトの名無しさん:2009/03/22(日) 01:13:53
FAQだな
http://www.google.co.jp/search?num=30&hl=ja&q=Delphi7+%E3%83%95%E3%83%AA%E3%83%BC%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB&btnG=%E6%A4%9C%E7%B4%A2&lr=

147 :デフォルトの名無しさん:2009/03/22(日) 01:19:08
ありがとうございます
フリーカーソルっていうのか…用語が分からんとかこの時点で失格な気がしてきたorz

148 :デフォルトの名無しさん:2009/03/22(日) 11:21:04
winsightのことで教えてください。
Aというソフトのキーボードクリックをフックして、
押されたキーによってAを操作するBというソフトがあります。
(Aにはショートカットの設定が全くないので無理やりショートカット操作する
ソフトです)
Bからどういうメッセージが出てるのか調べたいのですが、Aにフォーカスが
移るとAのメッセージを拾うようになるみたいです。
Bのメッセージをいつも監視する設定って出来ますか?

149 :デフォルトの名無しさん:2009/03/22(日) 11:24:07
Winspectorとか使えば?
WinSightは正直使えない。

150 :デフォルトの名無しさん:2009/03/22(日) 11:28:20
>>142
:演算子、Delphiで使えないだろ。
Range[Cells[1,1],Cells[10,10]] でどう?


151 :デフォルトの名無しさん:2009/03/22(日) 12:06:41
148
Spy | Follow Focus にチェックがついてない?

152 :デフォルトの名無しさん:2009/03/22(日) 13:09:59
>>145
Ctrl + ←

153 :デフォルトの名無しさん:2009/03/22(日) 13:16:12
VisualStudio エミュレーション時のフリーカーソル抑制って、QC に入っていたっけ?
Weaver でどうにかしたいね。

154 :デフォルトの名無しさん:2009/03/22(日) 19:32:41
Delphi7でずっとやってきたんすけど、Delphi2009 他の案内封筒きた。
アップすべきか、ちと迷ってます。ご意見とかこれはとか、あったら
お願いします。

155 :デフォルトの名無しさん:2009/03/22(日) 19:40:42
制約事項のあまりないアマグラマだと仮定して、Unicode対応をいまやっておきたいですか?ならD2009で。
いや、まだもう少し様子見、ならD2007で。

2007は最後のANSI系開発環境なので、Unicodeへの移行を急がないのであれば押さえておくのをお勧めする。
逆にいやもうUnicodeの時代でしょというなら2009なわけだが、これは人と事情によりお勧め度が異なる。

156 :デフォルトの名無しさん:2009/03/22(日) 22:12:56
プリンタダイアログで「部単位での印刷」チェック時の処理を制御仕様としたときに
if (PrintDialog1.Execute) then begin
a := PrintDialog1.Collate;
ShowMessage(BoolToStr (a));
end;

な感じでチェック状態を取得してみたんだけどFalseでしか帰ってこない。

C# 2008 Express Editionでも
MessageBox.Show(System.Convert.ToString(printDialog1.PrinterSettings.Collate));
ってやってみたけどFalseしか帰ってこなかった

これってウチプリンタが対応してないとかなんかなぁ

157 :デフォルトの名無しさん:2009/03/23(月) 12:41:41
>>155
内部的なテキストとか、TMemoを保存する時とかにUnicodeになるのん?
それともソースファイルがUnicodeって事?

出来上がるソフトウェアにまでunicode強制なら、旧版使うかなー。

158 :デフォルトの名無しさん:2009/03/23(月) 12:59:27
Windows 9x のことを忘れていいなら、Unicode 化のほうが OS の制限も少ないし速度も上がる。
NT OS 自身の内部コードは Unicode で、Ansi 文字列を API に渡すたびに OS が文字セット変換を
かけている。
そのオーバーヘッドがなくなる分、ちっと早いし、メモリオーバーヘッドも減る。

ソースコードは、Delphi8 (Delphi .NET) 以降 SJIS でも UTF8/UNICODE でも利用可能。
必要であれば Unicode 系円コーディングを使えばいい。

TMemo を保存するとき, SaveToFile とかするときにはエンコーディングを選べる。デフォルトは...
どっちだっけ。ちとわすれた。

コンソール読み書きは ANSI のまま。
LoadFromFile とかの読み込み系は、必要ならエンコーディングの自動判定

159 :デフォルトの名無しさん:2009/03/23(月) 14:16:01
>そのオーバーヘッドがなくなる分、ちっと早いし、メモリオーバーヘッドも減る。
うそつけw


160 :デフォルトの名無しさん:2009/03/23(月) 18:46:18
ある決まったアプリのキーストロークをフックするプログラムを
作ったんですが、フックが有効な間キーボードの反応が悪くなってしまいます。
(関係ないアプリの入力まで影響されてしまいます。)

CallNextHookExを実行させればキーコードはすぐに次のフック?キュー?にいって
キーボードの反応が悪くなったりはしないのではないですか?

フックを始めて作ったので質問がおかしいかもしれませんがよろしくお願いします。

161 :デフォルトの名無しさん:2009/03/23(月) 20:40:37
>157
くわしくはどっかまとめたところを探せ。エンバカデロにもいくつかあるはず。かいつまんでいうと、String型は
UTF-16になる。従来の文字列型はAnsiStringと明示しなければならない(ついでに従来のWideStringは
そのままで変更なし)。またPCharもUTF-16の要素へのポインタになる。ソースコードはUTF-8だな。

162 :160:2009/03/23(月) 22:03:06
A-Z、0-9をフック処理するんですが、押されたキーはそのまま
アプリに送りたいんですが、どうも消されてしまっているみたいです。

どうすればいいですかね?
すみません、質問の仕方がぜんぜん思い浮かばない。

163 :デフォルトの名無しさん:2009/03/23(月) 22:17:12
最低限の再現ソースと詳細な状況、かな。でもスレチじゃないか?まぁWin32APIスレでフックとかいうと
それだけで荒れるからな。

164 :デフォルトの名無しさん:2009/03/24(火) 12:10:28
てか、どうみてもキーロガーにしか見えない

165 :デフォルトの名無しさん:2009/03/24(火) 14:45:40
それは単に物を知らなさすぎるだけ。

166 :デフォルトの名無しさん:2009/03/24(火) 20:09:48
キーロガーといわれればそうですね。
でも、キーストロークを監視するのって
よくあることじゃない?

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)