Delphi初心者のための ..
[2ch|▼Menu]
263:デフォルトの名無しさん
07/06/30 08:58:54
>>259
ありがとうございます。
いろいろいじっていて
実行時パッケージでない方でビルドできました。

264:デフォルトの名無しさん
07/06/30 22:34:43
ナッキーのdelphi奮戦記面白い
間違いなくナッキーは淫乱

ペイントソフト楽に作れ杉

265:デフォルトの名無しさん
07/07/04 09:36:13
TShapeじゃなくて、ラインをペタペタ貼るコンポーネントありましたっけ?

266:デフォルトの名無しさん
07/07/04 09:44:58
直線だけなら OnPaintに Canvas.MoveTo Canvas.LineToで簡単に引けるから需要無いかと


267:デフォルトの名無しさん
07/07/04 09:49:35
Delアメ猫だったかの人がフサギコと絡んで、マウスで直線を動かせるようなコンポーネントの原型を作って
どっかにアップしてたように思うのだけど、今検索してもみつからないな

268:265
07/07/04 09:55:01
>>266
やっぱ、そうですか。

>>267
>マウスで直線を動かせるようなコンポーネントの原型を作って
欲しいもの、これですorz

269:ミ,,゚Д゚ミノ ◆A6VzDeLphI
07/07/04 10:54:14
HDDに、原型のやつがあったよ。
検索に1時間ほどかかってしまた。


270:265
07/07/04 11:00:48
>>269
デルフサギコ様、うpをお願いしますorz

コンポーネントのソースは読めるので、
手直しとか派生くらいできますし、
使いこなせると思いまつ。

271:ミ,,゚Д゚ミノ ◆A6VzDeLphI
07/07/04 11:00:59
実行時にマウスで動かせた矢印コンポもあったような気がするんだけど
手元にあるのはShapeの矢印版っすね。

majunarrowexとか、viArrow.pas
って名前だけど、googleではでないみたいだ。

とりあえずうpろうか。午後くらいでよい?



272:265
07/07/04 11:03:42
>午後くらいでよい?

ずっと待ってまつ。

希望では、以下の機能も欲しかったり。。。
・マウスで動かせる
・マウスで長さが変えられる
・移動や長さが変ったときに、Changeイベント
・矢印をオフにして単なるライン化

273:ミ,,゚Д゚ミノ ◆A6VzDeLphI
07/07/04 11:09:05
URLリンク(delfusa.main.jp)

いや、はようpっとくよ。

もっといいものをつくってくれた人もいたきがするんだが...

あの時期てきにホットゾヌの作者の中の人だった気がするが
確証無しで。

このコンポ、いったい誰作なんだろう...中国の方かしら。

274:ミ,,゚Д゚ミノ ◆A6VzDeLphI
07/07/04 11:11:48
設計時なら
>・マウスで動かせる
>・マウスで長さが変えられる


>・移動や長さが変ったときに、Changeイベント
わからない。というか、Resizeイベントはなさそうだから
どっちにしても自作だね。

>・矢印をオフにして単なるライン化
なぜか出来ないみたいだ。
改造すれば簡単でしょう。



275:デフォルトの名無しさん
07/07/04 11:20:24
コレの事?
URLリンク(delwiki.info)


276:265
07/07/04 11:27:46
>>274
>>275

サンクス!

両方ダウソしました。
どっち使うか決めなきゃ。。。

277:デフォルトの名無しさん
07/07/04 11:53:46
>>273
・1個だけ
・設計中のみ変更可能
・コードはシンプル

>>275
・複数のラインやオブジェクトが1コントロールに入る
・フォームにフックさせて最下面に無理やり描画するのも出来る
・実行中に移動等も可能
・出来る事が大きいだけに、けっこう複雑

278:265
07/07/04 11:56:32
>>277
サンクス

どっちもクセ多杉orz

やりたいことは275なんだけどメッセージフック&インライン汗と、
何かあったとき対処できるかなとドンビキ。

273に275のコード混ぜるかなぁ。。。

279:デフォルトの名無しさん
07/07/04 12:06:35
>>275 には コンポが2つ入っていて、片方は TGraphicControl でメッセージフックは使ってない。
インラインアセンブラの部分はたぶん変更しなくていいいだろう。

ただ、文字を回転させるのに端ではなくて 真中というのは、チョットとまどった

あと、DesignProcでマウス応答全部やってるので
右ボタンメニューに対応させるとか、ココでやらんとあかんのかも


280:デフォルトの名無しさん
07/07/04 12:50:49
アセンブラの部分は 浮動小数点に置き換えたらいいんじゃないの?
iHypot -> math.Hypot で代用
MulSubDiv はコメント通りに浮動小数点で計算させる

281:265
07/07/04 13:02:06
汗は汗のままでも良いです。

>あと、DesignProcでマウス応答全部やってるので

この作り、拡張性大丈夫かなぁ。

282:デフォルトの名無しさん
07/07/04 13:11:00
WndProc で inherited してるから大丈夫じゃないの?
気になるなら、それぞれ分けたらいいだけで

ひとつはデザイン中だけ処理させる判定を1箇所にまとめたかったのと、
TMyFormDraw と TMyDraw の両方で使いたくてコピペが楽だからそうしたんだろな


283:265
07/07/04 13:19:59
>WndProc で inherited してるから大丈夫じゃないの?

了解でつ。

このコンポってStringsの中身をLines1つにすれば1本の線になるんですね。
動きも面白いし、機能は完璧。

最期の悩みは、このまま使うか、Linesプロパティを削除して、1本の線のコントロールとサブセットコントロール化するか。。。

284:Delフサギコ ◆A6VzDeLphI
07/07/04 13:21:48
 ∩ ∩
 ミ ゙''゙〜     ________
 ミ∧,,∧   /
 ミ,,゚Д゚彡 < おお。あったですかぁ。
 U U    \あっててよかったDelWiki新
           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
こういうのって、コンポインストールしないとサンプルプログラムが
コンパイルできない形になってて、非常に面倒よね〜
コンパイルしたsample.exeを是非に付けて欲しいもので。
まあ、漏れも付けてないんだけど。

それにしても、MyDraw....すごすぎだな。
(って何年も前にも言った感じがとてもデジャブー)

>>283さん
贅沢な悩みだな。(w

みつかってよかったね。


285:265
07/07/04 13:25:23
>>284
有難う。

デルフサさんて、一時期見かけなかったような。。。

286:デフォルトの名無しさん
07/07/04 13:27:30
MyDraw1.Lines.Add('LINE');
で実行中に、線を増やせるね。

287:|Д゚彡 ◆A6VzDeLphI
07/07/04 13:30:56
いつもひっそりと
草葉の陰から見つめているんですよ。

288:デフォルトの名無しさん
07/07/04 15:13:17
>>コンパイルしたsample.exeを是非に付けて欲しいもので。
そんな物、ダウソして実行する馬鹿がいたら是非お目にかかりたい物でwwww



289:デフォルトの名無しさん
07/07/04 18:28:34
たくさんいますよ

290:デフォルトの名無しさん
07/07/04 19:37:14
何か呼ばれた気がしたので来ました。

291:デフォルトの名無しさん
07/07/04 20:00:09
デモには、実行ファイルをつけようよ・・・

292:デフォルトの名無しさん
07/07/04 21:15:30
URLリンク(delwiki.info)
ココに、サンプル書いてみた。

右ボタンで削除出来るようにコンポ側に少し追加もした

でも、コレ、誰がItemのオブジェクト削除してくれてるんだろ?
テキストを変更してもメモリリークしないんだろか?

293:初心者++
07/07/05 00:11:28
いきなり割り込んで書き込みます、すいません。 
初心者です。データベースの接続で困ってます。
TTableのDataBaseNameで
サンプルのDBDEMOSでは無事接続できるんですが、
ほかのアリエス名(MSAccess,Excel...)では
ログインダイアログでユーザー名 パスワードをきかれ、
先へ進めません。どなたか教えてください。

  Turbo Delphi for wind32
OS : wind2000です。

294:初心者++
07/07/05 00:15:55
いきなり割り込んで書き込みます、すいません。 
初心者です。データベースの接続で困ってます。
TTableのDataBaseNameで
サンプルのDBDEMOSでは無事接続できるんですが、
ほかのアリエス名(MSAccess,Excel...)では
ログインダイアログでユーザー名 パスワードをきかれ、
先へ進めません。どなたか教えてください。

  Turbo Delphi for wind32
OS : wind2000です。


295:デフォルトの名無しさん
07/07/05 16:25:33
>>294
URLリンク(www.lares.dti.ne.jp)

296:デフォルトの名無しさん
07/07/05 16:38:53
こんにちは。Delphi製ブラウザコンポーネント
(TUIWebBrowser)のFlash上の
テキスト入力コントロールでEnter入力が
できない問題について質問した者です。

RADながらWin32APIとの親和性,
カスタマイズ性が高くアセンブラも使え、
デフォルトコントロールの綺麗さなど、
色々優れた点がある中で、生産コストを下げる目的で
Delphiを選ぶときについて意見をお伺いしたいです。

ブラウザを作る際に、
まずTWebBrowserを使ってみて、入力に関する
致命的なバグがあったために、そのバグを修正した
TUIWebBrowserを使ったのですが、
そこでまた入力バグに出会ってしまい、
これらの問題が、VC++での開発でははじめから起きない
問題であったために、VC++で作り直すべきか考えています。

流通しているDelphi製のブラウザ系ソフトにも同じバグが見れました。
しかし、作りやすいので本当はDelphiを使いたいです。

Delphiで、資料やバグフィクス情報が無く、
節約できるはずの時間が、逆に冗長になるケースを考慮したとき、
そういった面を考えても、Delphiの生産性を活用するためには
どういったことが必要になりますでしょうか。
Delphi開発の先輩である皆さんに
お考えをお聞かせ願いたいです。



297:デフォルトの名無しさん
07/07/05 17:19:12
>そういった面を考えても、Delphiの生産性を活用するためには
>どういったことが必要になりますでしょうか。

VCLコードを読んで理解する事。

298:デフォルトの名無しさん
07/07/05 17:46:02
VC++で解決出来るんなら、 それを見て自分で修正すればいいんじゃないの?
でも、たぶん VC++でも色々拡張しようとすると、いろんな問題が出ると思うよ。
他人の作ったコードをソース無しに使おうってんだから当然だ。

TWebBrowser ならともかく TUIWebBrowser は使ってる人が少ないだろうし
さらに Flash となると、問題に答えてくれる人は少ないと思うよ。

>>262 の問題は メッセージポンプの所で流れてるメッセージ
を(Application.OnMessage とかで)見て、なんとか出来ないか考えてみたら?


299:デフォルトの名無しさん
07/07/05 17:47:05
ActiveX や OLEControl の制御は VCL のソースを読んでも、個人レベルでは
解決は難しい。TWebBrowser やその派生コントロールは、Delphi で簡単に
使えるように見えるが、Delphi での細かい制御が一番面倒なもののひとつ。
VC++ でできるなら、そっちでやればいいでしょう。

300:デフォルトの名無しさん
07/07/05 17:49:23
いまさらだがMLに投げてみりゃよかったのに。

301:デフォルトの名無しさん
07/07/05 17:54:18
まぁなんでもMLに投げてみりゃいいんだよな。

302:デフォルトの名無しさん
07/07/05 18:45:41
Delphi TWebbrowser Enter ぐぐれかす

303:デフォルトの名無しさん
07/07/05 19:02:10
>>302
TWebBrowserのバグを回避した
TUIWebBrowserでFlashActiveX上のコントロールを経由した
ときだけ起こるって言ってるし
TWebBrowserの有名な入力バグは普通もう回避してるだろう。


304:デフォルトの名無しさん
07/07/05 22:25:45
コード量が短いので>>273を参考にして勉強中のものです。

そこで質問です。>>273
.dfm に記述されたコードを .pas側で実行時に自動生成する
形に書き直すと、どういう風になりますか?じぶんはテキスト
エディタ派なのでコードの編集はできればテキストエディタで
やりたいとです。。。

プロジェクトを立ち上げると、

フォーム作成中にエラーが発生しました。(中略)
クラス TviArrowが見つかりません
とか出て上手くゆかなかったとです。

viArrow.pas をプロジェクトに追加して
プロジェクトを再構築。でコンパイルしたら実行
ファイルのほうは簡単にできてちょっと感動したとです。ひろしですひろしですひろしです

305:デフォルトの名無しさん
07/07/05 22:39:05
>>304
なあ、こっちも実行してみてくれ。
URLリンク(delwiki.info)


306:304
07/07/05 23:07:33
>>305
1000行越えのコードの解読は厳しかったとです orz

307:デフォルトの名無しさん
07/07/06 07:39:12
>>304
.dfm にはコンポーネントのプロパティが入っている。
実行中に位置やサイズを変更したいなら、 Left, Top, Right, Bottom をコードで弄る必要がある

>>305のは、コンポーネントを登録しなくてもいいように作られている
位置やサイズは文字列で与えてるようだ

308:Delフサギコ ◆A6VzDeLphI
07/07/06 09:35:55
    ∧,,∧  オハヨ
   ミ,,゚Д゚彡
    ミ つ旦)~~
  〜と,,,~),,~)  旦~~
]]]]]]]]]]]]]]]]]]]]]]]]]]]]

自動生成する形になってて、いいっすね
>>305さん

どうせなら、バイナリも含んじゃえばいいのに。(w
IDE起動するのメンド(い人もいるかもね。)

>>307さん
MyDrawコンポーネントは単体で
たくさんの矢印や
矩形を処理するようになっていて
その位置を元々TStrings系でもっているのですよ。



309:デフォルトの名無しさん
07/07/09 18:36:58
TFormとかTImageってCanvasプロパティがありますよね。

TScrollBoxみたいにCanvasプロパティの無いコンポーネントにお絵かきするには、
どうすれば良いですか?

310:デフォルトの名無しさん
07/07/09 22:34:16
1.Canvasがある他のコンポーネント(TImageとか)を貼る。
2.TWinControlから派生したものであれば、さらに派生させてCanvasプロパティをpublicにする。
ん〜これしか思いつかなかった。もう少し具体的にやりたいことを書けば、もう少しまともな
回答がつくと思うよ。

311:デフォルトの名無しさん
07/07/09 22:42:34
var
 Canvas: TCanvas;
begin
 Canvas := TCanvas.Create;
 try
  Canvas.Handle := GetDC(hoge.Handle);
  try
   Canvas.TextOut(0, 0, 'HOGE');
  finally
   ReleaseDC(hoge.Handle, Canvas.Handle);
  end;
 finally
  Canvas.Free;
 end;
end;

312:309
07/07/10 08:56:46
サンクス>>310 >>311

具体的には、
TScrollBoxの上にTImage、その上にMyDrawを乗せています。

それで、MyDrawの図形をマウスでいじると、
TImageが物凄くチラツクんですよね。

それで、TScrollBoxにもTImageの図形描いておいてやろうかな、と。

313:309
07/07/10 09:35:54
TScrollBoxをやめて、TPanelにしてDoubleBufferdをtrueにしたらチラツキなくなりました。


314:デフォルトの名無しさん
07/07/10 22:26:17
現在おされているキーをセンスする関数みたいなのはないのでしょうか?


315:デフォルトの名無しさん
07/07/10 22:41:54
windows.getkeystate

316:デフォルトの名無しさん
07/07/10 23:14:11
>314
つ GetAsyncKeyState
URLリンク(msdn.microsoft.com)

>315
現在押されている、ということであればGetKeyStateは不適切。

317:デフォルトの名無しさん
07/07/11 22:17:05
ありがとうございます。

windowsの世界だと int 21h(AH=8) みたいなのはないんでしょうか。
シーラカンスですんません。


318:デフォルトの名無しさん
07/07/12 00:08:04
意味不明。何をしたいのかを具体的に。
たとえばOnKeyPressとかTForm.KeyPreviewあたりは幸せになれるかも?

319:デフォルトの名無しさん
07/07/12 06:53:33
ごめんどうおかけします。

やりたいのは、コンソールアプリケションで、
enter (1-9 or q):
みたいなプロンプトをだして、一文字キーボードから入力してもらい、
入力された文字で処理を分岐させようというだけです。
つまりread(c); でreturn を入れなくても一文字読み込みたいというだけです。


320:デフォルトの名無しさん
07/07/12 08:00:06
コンソール入力はwindows側でバッファされてるから、イベント入力を使う必要がある
GUIアプリの例だと、ボタンとメモと、タイマーを貼り付けて
procedure TForm1.Button1Click(Sender: TObject);
begin
 AllocConsole;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 pirBuffer: INPUT_RECORD;
 hdl: THandle;
 lpcRead: DWORD;
begin
 hdl := GetStdHandle(STD_INPUT_HANDLE);
 if integer(hdl) < 0 then
 exit;
 while ReadConsoleInput(hdl, pirBuffer, 1, lpcRead) do
  with pirBuffer do case EventType of
    KEY_EVENT: //Event.KeyEvent
     if Event.KeyEvent.bKeyDown then
      Memo1.Lines.Add('KEY=' + Event.KeyEvent.AsciiChar);
    _MOUSE_EVENT: //Event.MOUSE_EVENT
     with Event.MouseEvent do
      Memo1.Lines.Add(format('%5d %5d ', [dwMousePosition.x, dwMousePosition.y]));
    WINDOW_BUFFER_SIZE_EVENT, //Event. WindowBufferSizeEvent
     MENU_EVENT, // Event. MenuEvent
     FOCUS_EVENT: //Event.FocusEvent
   end;
end;

コンソールアプリだと、このタイマーの部分でキー入力があるまで無限ループする関数を書く事になるだろな

321:デフォルトの名無しさん
07/07/13 07:16:47
ありがとうございます。
これを参考にコンソール用に書き直してみます。


322:296
07/07/13 17:53:11
お世話になります。
ブラウザコンポーネント上の
FlashActiveX上の入力問題で質問した>>296です。
みなさんありがとうございました。
時間がかかりましたが、
なんとか解析して自己解決できました。
これでDelphiのままいけそうです。


323:デフォルトの名無しさん
07/07/16 03:42:15
>>322
解析結果を書いてくれるとみんなが幸せになれるかもよ

324:デフォルトの名無しさん
07/07/28 20:12:22
>>323
スクリプトによって書かれて配置される
FlashActiveXが、1ページに2つ以上あるときに、
従来の方法で
2つ目のものにメッセージを送れていない場合があるようです。
ウィンドウを細かく検索することで回避しました。


325:デフォルトの名無しさん
07/09/17 21:48:04
前スレうp頼む

326:デフォルトの名無しさん
07/09/17 21:56:24
っ 前スレうp

327:デフォルトの名無しさん
07/09/17 22:06:24
神キタ━━━(゚∀゚)━━━ !!
楽しみに待ってます。本当にありがとう!!
前スレの字句解析から意味解析のログ本当に勉強になったので

328:デフォルトの名無しさん
07/09/19 19:02:18
EditのPopupMenuに自作PopupMenu1をセットしたら、
元々EditにあったPopupMenuが無くなりますよね。

そうじゃなくて、EditのデフォのPopupMenuに自作PopupMenu1を足すには、
どうしたら良いでしょうか?

329:デフォルトの名無しさん
07/09/19 19:27:16
DPAPI(データ保護 API) を 使って パスワードを
OSに記憶してもらう方法とか有ったら知りたいのですがなかなか見つかりません。
マイクロソフトのページには

DPAPI は、以下の項目を保護するのに役立ちます。
• Web ページの資格情報 (たとえば、パスワード)
• ファイル共有の資格情報
• EFS (暗号化ファイル システム)、S/MIME、および他の証明書に関連付けられた秘密キー
• CryptProtectData() 関数を使用して保護されているプログラム データ
とあるのですが このDPAPIは単純に任意のパスワード等保護してもらえる機能として
捕らえていいのでしょうか 。 delphi7を利用しています。 どなたか情報いただけませんか。


330:デフォルトの名無しさん
07/09/20 08:37:27
>>328 もヨロ!

331:デフォルトの名無しさん
07/09/20 12:07:54
>>328
たぶん出来ない。
右ボタンメニュを出すには TrackPopupMenu を呼び出すわけで
エディットコントロールにはデフォルトのWM_RBUTTONUP内部でコレを呼び出してる部分があるのだろう

TrackPopupMenuを呼び出すにはhMenuが必要だけど、EDITでコレを入手する方法が見つからない。
親窓なら、GetMenuでhMenuを呼び出せるけど、小窓ではそれが出来ないから。


332:デフォルトの名無しさん
07/09/20 12:38:35
そうですか(´・ω・`)ショボーン

>親窓なら、GetMenuでhMenuを呼び出せるけど、小窓ではそれが出来ないから。

親窓を取得したりできないですかね。

差し替えたPopupMenu1のイベントハンドラを実行すると、
EditのデフォルトのPopupMenuを開きなおしたり、
とかでも良いのですが。



333:デフォルトの名無しさん
07/09/20 12:53:09
>>332 後半なら
var SaveMenu:TPopupMenu;
begin
 SaveMenu:=Edit1.PopupMenu;
 Edit1.PopupMenu:=nil;
  SendMessage(Edit1.Handle,WM_RBUTTONDOWN,Edit1.Left,Edit1.Height);
  SendMessage(Edit1.Handle,WM_RBUTTONUP,Edit1.Left,Edit1.Height);
 Edit1.PopupMenu:=SaveMenu;
end;

と、いったんメニューを外して、右ボタンを押して離してを送りつければ出るよ

334:デフォルトの名無しさん
07/09/20 12:57:32
有難うございます。それでやってみます。(*`∀´*)

335:デフォルトの名無しさん
07/09/20 13:28:00
メニューを外さなくても、直接小窓にメッセージを送ると出るみたい

var pt:TPoint;
begin
pt:=ClientToScreen(Point(Edit1.Left,Edit1.Height));
PostMessage(Edit1.Handle,WM_CONTEXTMENU,Edit1.Handle,pt.x+(pt.y shl 16));
end;


336:デフォルトの名無しさん
07/09/20 13:49:46
thx! >>333 >>335

両方おk、でした。

TPointを指定するのメンドウだから、333でやるかも。

PopupMenu1のメニューの一つに編集っていうメニューを用意して、それだとデフォメニューをオープン、
という動作でカコヨクできました。

337:デフォルトの名無しさん
07/09/21 20:03:36
>>326
ひょっとしてあたしを騙したの?

338:デフォルトの名無しさん
07/09/21 20:47:23
勝手な思いこみ

339:デフォルトの名無しさん
07/09/22 02:55:26
今からでるふぁい

340:デフォルトの名無しさん
07/09/22 18:11:26
もう死んデルファイ

341:デフォルトの名無しさん
07/09/24 00:52:44
みなさん
多言語化(日本語/英語)
をするときはどうしてますか?おしえてください


342:デフォルトの名無しさん
07/09/24 00:58:53
>>341
TNT+dxgettext

343:デフォルトの名無しさん
07/09/24 03:36:29
素直にリソースDLLウィザード。日本語/英語以外の言語サポートが必要ならTNTも併用。

344:デフォルトの名無しさん
07/09/24 04:17:57
標準VCLって役立たずだな

345:デフォルトの名無しさん
07/09/24 12:17:20
>>341
Delphiに国際化対応のツールが付属してるでしょ、

346:デフォルトの名無しさん
07/09/25 07:52:39
61 名前:34[] 投稿日:2007/09/24(月) 19:13:21
お久しぶりです。TThreadでボヤいてた者です。
TThreadをプールして使い回してみたところ問題なさそうなのでこれで行くことにしました。
あとスレッドで処理中にフォームを操作するとCPU100%のまま帰ってこなくなる現象が出ましたが、
TThreadの方にpublicで作ったAnsiStringに渡した文字列が原因だったようで、
スレッドの変数をAnsiString.Unique()して参照を切り離してやったら問題無くなりました。
これから先に嵌る人が居るかもしれないので書いておきます。

改めてありがとうございましたorz



347:デフォルトの名無しさん
07/09/27 14:25:29
みなさんありがとうございます。
>国際化、リソースDLL

こちらに書いてあることでしょうか?
URLリンク(www.wwlnk.com)
最後に書いてある、一度設定したらもう変更できないみたいな
ことが気になるのですが、
修正が入ったり、言語が変わると文字列の幅が変わるので
画面の調整も必要に思うんですが
みなさんどうしているのでしょうか?

何度も修正する場合
TNT+dxgettextが使われるのでしょうか。


348:デフォルトの名無しさん
07/10/04 12:21:13
アプリ全体のフォントサイズを大きくするって簡単ですか?

349:デフォルトの名無しさん
07/10/04 15:10:25
Formのフォントサイズをでかくすれば
その上に貼り付けたコントロールも一緒にでかくなる。
ParentFont参照。
ウィンドウキャプションとかはWindowsが描いてるものだから無理。

350:348
07/10/04 15:20:04
サンクス>>349

351:デフォルトの名無しさん
07/10/04 16:38:18
JPEG2000を表示する方法を教えて頂けないでしょうか?

352:デフォルトの名無しさん
07/10/04 22:53:42
>>351
Susie Plug-in + SPIS

353:デフォルトの名無しさん
07/10/10 11:38:53
実行中のexeのリストを取得するコンポはありまつか?

354:デフォルトの名無しさん
07/10/10 14:59:41
すれ違い

>Delphi初心者が問題をコツコツと解きながらレベルアップするためのスレです。

355:デフォルトの名無しさん
07/10/10 16:31:39
>>353
マジレスするとDelphiでは無理

356:デフォルトの名無しさん
07/10/10 18:38:07
>>353
コンポは知らないけど
NtQuerySystemInformation
を googleさんに begin とか pas と and で聞いたら 教えてくれるんじゃないかな

357:デフォルトの名無しさん
07/10/10 19:06:35
>>353
コンボはないけど、
多分、TookHelp関数を使えば割と簡単にできると思う。
具体的にはTHelp32.pasに宣言されている、
Process32FirstとProcess32Nextを使えばいいんじゃない。

358:デフォルトの名無しさん
07/10/10 23:55:39
>>355
お前の持ってるでるふゃいではな。

359:デフォルトの名無しさん
07/10/11 00:26:35
API使える言語ならどれでも出来る
逆にこれをライブラリ化してる製品ってないんじゃないかな

360:Delフサギコ ◆A6VzDeLphI
07/10/11 01:04:52
   ∧,,∧   これつかってちょ。
  ミ,,゚Д゚彡 
   U  つ   
 @ミ  ミ    
   ∪''∪ 

DelFusa Library - Delphi OpenSource - DelFusa Floor
URLリンク(delfusa.main.jp)

GetProcExeNameList


361:デフォルトの名無しさん
07/10/11 05:28:29
おまいら、すれ違い

>Delphi初心者が問題をコツコツと解きながらレベルアップするためのスレです。

362:デフォルトの名無しさん
07/10/11 06:37:28
問題
インチをセンチメートルに変換するプログラムを作って
細かい仕様は自由
ヒント:1in = 2.540cm 、StrToFloat

363:デフォルトの名無しさん
07/10/11 07:36:26
program Project1;
{$APPTYPE CONSOLE}

function InchToMetre(Value:Double):Double;
const
  INCH_UNIT=0.0254;
begin
  Result := Value * INCH_UNIT;
end;

begin
  writeln(InchToMetre(0.050)); //12.7
  writeln(InchToMetre(0.045)); //7.62
  writeln(InchToMetre(0.030)); //5.56
end.


364:デフォルトの名無しさん
07/10/11 07:36:56
嘘が書いてあるorz

365:デフォルトの名無しさん
07/10/11 09:15:41
DelphiでJpeg2000を表示する方法を教えて下さいでつ。

366:デフォルトの名無しさん
07/10/11 09:48:48
しつこい

367:デフォルトの名無しさん
07/10/11 09:53:58
URLリンク(codecentral.borland.com)

368:デフォルトの名無しさん
07/10/11 11:44:07
DelphiでJpeg2000を表示する方法を教えて下さいでつ。

369:365
07/10/11 11:51:18
368はニセモノでつ。









でも、実は未だに解決してなくて知りたかったりして。

370:デフォルトの名無しさん
07/10/11 13:22:13
普通に>>367ので表示できたけど?

371:365
07/10/11 14:23:02
サンクス>>370

実は自分もDel7出来ました。

が、実際の環境である、














C++ Builder 6だと上手くコンパイルできないんでつ><

372:デフォルトの名無しさん
07/10/11 16:41:56
Delphiアプリのメインフォームのウィンドウクラスって、TApplication固定でしたっけ?

373:デフォルトの名無しさん
07/10/11 19:19:37
でつでつ言うなよ

374:デフォルトの名無しさん
07/10/11 22:14:07
でつな

375:デフォルトの名無しさん
07/10/12 15:44:09
(a+3)^
ってある^はどういう意味?

376:デフォルトの名無しさん
07/10/12 16:43:45
ObjectPascalの場合 後ろの^は ポインタの参照
C言語の *(a+3) と同じ

377:デフォルトの名無しさん
07/10/12 17:52:24
なるほどサンクス

378:デフォルトの名無しさん
07/10/12 18:39:09
よく見かける、
エディットボックスにファイルをD&Dしてそのパスを取得
はどのようにやればよいですか?

379:デフォルトの名無しさん
07/10/12 19:29:56
質問はこちらにどうぞ
くだすれDelphi(超初心者用)その44
スレリンク(tech板)l50

380:デフォルトの名無しさん
07/10/13 05:15:36
答えられんからって誘導とは酷いな!

381:デフォルトの名無しさん
07/10/17 17:21:40
vb.netでそこそこは作れるレベルだけど、delphi始めようと思ったら最初に買うべき
本は何がいい?
それかどぼんみたく、そこだけ見ればそこそこのものは作れるようになるサイトか

382:デフォルトの名無しさん
07/10/17 23:12:41
何を作りたいかだろ
ファイラ作りたいとか、MMO作りたいとか(スレがあっったりするが)

383:デフォルトの名無しさん
07/10/18 08:44:22
ドトネトみたく環境設定も要らないし、コンポーネントも要るものはあるし。
いきなり始めて、躓いてから質問してみたら?

384:デフォルトの名無しさん
07/10/18 15:17:32
VB2005はヘルプがすごく使いやすい

385:デフォルトの名無しさん
07/10/18 15:30:47
ヘルプだけかよw

ネイティブアプリが作れるようになったら試しに触ってやるよ。

386:デフォルトの名無しさん
07/10/18 23:24:20
ま、C#からやったらいいよ。DelphiもIDEは.NETが必要だし。
C#は良い本もヘルプもMSDNもWEBサイトも腐るほどあるし。

387:デフォルトの名無しさん
07/11/09 01:23:20
Del5。XPで、

Ctrl+Alt+Delを無効にする方法。
右クリックを無効にする方法。

教えて。


388:デフォルトの名無しさん
07/11/09 01:40:40
>Ctrl+Alt+Delを無効にする方法。
マルウェアでも作るつもりですか?

389:デフォルトの名無しさん
07/11/09 05:38:41
そーゆーことしたいなら自分で調べろww

390:デフォルトの名無しさん
07/11/09 06:47:53
>>387
いちばん簡単なのは、DirectXのフルスクリーンモードで、そういうモードがある。
やり方は自分で調べろ

391:387
07/11/09 06:48:48
いや、調べてもわからないから聞いてるんで。

ちなみに、会社のIT担当委員ってのをやってて、社員にサイバーテロの対処について教育するんだが、
本物のウィルスを使うわけにはいかないんで、ジョークウェアを作ろうと思っている。


392:387
07/11/09 06:49:39
書き忘れた。

一定の時間が経過したら自動的に終了させるつもりだ。

393:デフォルトの名無しさん
07/11/09 23:31:11
Ctrl-Alt-Deleteのキーストロークは最優先でシステムが捕捉するので、これを
無効にすることはできない。無理。不可能。Deleteキーの軸を折っちゃえ。
右クリックはマウスの右クリックのスイッチを(ry

394:デフォルトの名無しさん
07/11/10 06:56:12
無理ではない。教えたいところだけど、>>391が本当か分からないし
教える立場だったら自分で調べて欲しいところ。

ヒント:海外

395:デフォルトの名無しさん
07/11/10 07:35:04
ソフトウェア板の各所でも、キーロガーとか、スパウウェア用途に使われるものは紹介しないというルールだしな
おしえる側も、最低限のことは守らないと

396:デフォルトの名無しさん
07/11/10 08:46:07
391だけど、不正ソフトばらまくのは犯罪だってことくらい知ってるよ。
けどまぁ、信用してもらえないのも仕方がないからなんとかするわ。

397:デフォルトの名無しさん
07/11/12 07:10:16
2chで信用しろといわれても・・・

398:delphi初心者
07/11/12 13:48:03
ご質問いたします。

1.コンマ区切りの文字列をばらして配列にセットしてくれる関数はありませんか?
2.functionで配列は返せないのですか?





追伸: 「そんなこと自分で調べろ!」 と云う罵倒はおことわり。

399:デフォルトの名無しさん
07/11/12 13:50:46
TStringList.CommaText

400:デフォルトの名無しさん
07/11/12 13:51:22
それかTStringList.Textに入れれば、バラしてくれたかも

401:デフォルトの名無しさん
07/11/12 22:10:08
>398
配列の型を宣言してそれを戻り値の型にすればおk


402:デフォルトの名無しさん
07/11/13 14:33:42
>>401
それ、何てTStringList?

403:デフォルトの名無しさん
07/11/13 18:48:49
【Borland Delphi 6 Personal日本語版 入手先】
URLリンク(www.vector.co.jp)
【Delphi 6 導入手順 】
URLリンク(www.wikihouse.com)
【インターネットダイレクト(Indy)コンポーネント導入手順 】
URLリンク(homepage3.nifty.com)

動作確認は、メモとIdHttpコンポーネントを貼り付けて以下のコードを書いて実行してみる。
うまくいくとこのスレがメモにダウンロードされる。
Memo1.Lines.Text := IdHttp1.Get('スレリンク(stock板)l50');

【デルファイの質問所】
URLリンク(hpcgi1.nifty.com)
URLリンク(leed.t.u-tokyo.ac.jp)
URLリンク(groups.google.com)

404:デフォルトの名無しさん
07/11/13 20:01:32
上げ荒らしうぜえ

405:初心者++
07/11/18 11:09:49
UpdateSQLがうまくいきません。以下のようなコードで実行すると、例外エラー'アップデート失敗'がでます。
propertyの設定は
cachedupdate true /requestlive true /updateobject updatesql

updatesqlのsql設定文もできてると思うんですが、、、


begin
database1.open;
database1.StartTransaction;
query1.Open;
end;

procedure TSDIAppForm.Button1Click(Sender: TObject);
begin

if query1.UpdatesPending then begin
query1.ApplyUpdates;
end;
database1.Commit;
query1.CommitUpdates;
query1.Close;
database1.Close;

end;

どこが間違ってるのでしょうか?教えてください
Turbo Delphi for wind32
OS : wind2000です。


406:デフォルトの名無しさん
07/11/18 15:36:44
残念、スレちがいです。

>Delphi初心者が問題をコツコツと解きながらレベルアップするためのスレです。

407:デフォルトの名無しさん
07/11/18 17:54:22
糞なテンプレでスレ立てて必死に粘着交通整理してる奴ってなんなの?

408:デフォルトの名無しさん
07/11/18 18:45:04
自分の居場所なんだから、そりゃ必死だろう。

自分の居場所をキチンとメインテナンスするのは、それは当然ではあるまいか?

409:デフォルトの名無しさん
07/11/20 17:32:32
自分の居場所ならグダグダ「スレ違い」とか言ってないで、問題を出題すべきだと思うんだな。
問題と解答、それに議論が無いから、過疎ってスレ違いと基地外の巣窟と化してるんだな。
問題:おみくじ
randomを使って大吉、吉、凶のいずれかを表示するプログラムを作れ

410:デフォルトの名無しさん
07/11/20 17:36:13
>>409

あまりにも簡単すぎるプログラム出題でワロタw

せめて、n回凶が出る確率を計算するプログラムとかにすればいいのに。

411:デフォルトの名無しさん
07/11/20 17:47:39
>>405

Queryの更新エラーは、
query1.RequestLiveのtrue/falseが
結構関係している。

412:デフォルトの名無しさん
07/11/20 22:53:35
Gandomを使って大吉、吉、凶のいずれかを表示するプログラムを作れ


413:デフォルトの名無しさん
07/11/20 23:05:26
>>412
CGは専門外なんで無理ですw

414:デフォルトの名無しさん
07/11/20 23:21:52
Gandom はすれ違い。

415:デフォルトの名無しさん
07/11/21 01:02:34
問題:呼び出すたびに1と0を交互に返す関数を書け。グローバル変数を使っても良い。

416:初心者++
07/11/21 02:06:06
UpdateSQLのエラーが解決しました。レスを下さった方ありがとうございました。
SQL文のキー違反でした。
 SQLの勉強をもっとしないと阿寒と思いました。
 Accessのビューで作ったSQL文を貼り付けたりしておったのですが、、、。
 エラー続出でした。

417:デフォルトの名無しさん
07/11/21 23:30:12
問題:マウスクリックすると、クリックしたマス目とその上下左右のマスが反転する。
    マス目を全て塗りつぶしたらクリアとなるゲームを作る

□□□□□             □□□□□            ■■□□□
□□□□□             □□■□□            ■□■□□
□□□□□             □■■■□            □■■■□
□□□□□             □□■□□            □□■□□
□□□□□の真ん中を押すと  □□□□□左上クリックで   .□□□□□

■■□□□           ■□□□□
■○■□□           □■□□□
□■■■□           □□■■□
□□■□□           □□■□□
□□□□□ ○を押したら  □□□□□


全部塗りつぶしたらゲームクリア
■■■■■
■■■■■
■■■■■
■■■■■
■■■■■

418:デフォルトの名無しさん
07/11/21 23:43:16
>>417
ライツアウト懐かしいな

419:デフォルトの名無しさん
07/11/22 00:58:06
俺には作れねぇ

420:デフォルトの名無しさん
07/11/22 01:03:28
頑張れば作れなくもなさそうだけど、とてつもなく無駄が多くなりそう・・。

421:1/2
07/11/22 01:33:44
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormClick(Sender: TObject);
  private
    FTable: array[0..4, 0..4] of Boolean;
  end;

procedure TForm1.FormPaint(Sender: TObject);
const
  B2S: array[Boolean] of String = ('□', '■');
var
  x, y: Integer;
begin
  for x := 0 to 4 do
    for y := 0 to 4 do
      Canvas.TextOut(x*12, y*12, B2S[FTable[x, y]]);
end;

422:2/2
07/11/22 01:34:15
procedure TForm1.FormClick(Sender: TObject);
var
  pt: TPoint;
begin
  pt := Self.ScreenToClient(Mouse.CursorPos);
  pt.X := pt.X div 12;
  pt.Y := pt.Y div 12;

  if (0 <= pt.X) and (pt.X <= 4) and (0 <= pt.Y) and (pt.Y <= 4) then
  begin
    FTable[pt.X, pt.Y] := not FTable[pt.X, pt.Y];

    if 1 <= pt.X then FTable[pt.X-1, pt.Y] := not FTable[pt.X-1, pt.Y];
    if pt.X <= 3 then FTable[pt.X+1, pt.Y] := not FTable[pt.X+1, pt.Y];
    if 1 <= pt.Y then FTable[pt.X, pt.Y-1] := not FTable[pt.X, pt.Y-1];
    if pt.Y <= 3 then FTable[pt.X, pt.Y+1] := not FTable[pt.X, pt.Y+1];
  end;
    
  Invalidate;
end;

423:2/2 ver.2
07/11/22 01:40:47
クリア判定忘れてた。

procedure TForm1.FormClick(Sender: TObject);
var
  pt: TPoint;
  x, y: Integer;
  Clear: Boolean;
begin
  pt := Self.ScreenToClient(Mouse.CursorPos);
  x := pt.X div 12;
  y := pt.Y div 12;

  if (0 <= x) and (x <= 4) and (0 <= y) and (y <= 4) then
  begin
    FTable[x, y] := not FTable[x, y];

    if 1 <= x then FTable[x-1, y] := not FTable[x-1, y];
    if x <= 3 then FTable[x+1, y] := not FTable[x+1, y];
    if 1 <= y then FTable[x, y-1] := not FTable[x, y-1];
    if y <= 3 then FTable[x, y+1] := not FTable[x, y+1];
  end;

424:3/2
07/11/22 01:41:18
  Clear := True;
  for x := 0 to 4 do
  begin
    for y := 0 to 4 do
      if not FTable[x, y] then
      begin
        Clear := False;
        Break;
      end;

    if not Clear then
      Break;
  end;

  if Clear then
    ShowMessage('おめ');

  Invalidate;
end;

425:デフォルトの名無しさん
07/11/22 02:02:47
すげー!参考にさせて頂きますm(_ _)m

426:デフォルトの名無しさん
07/11/23 11:33:40
implementation
{$R *.dfm}

//スペースの都合上ここに記述本当ならTForm1のprivateが望ましい
var
BTable:array of array of Boolean; 

procedure CheckComplete();
var
X,Y:Integer;
begin
for X:=1 to High(BTable)-1 do
for Y:= 1 to High(BTable[X])-1 do
if Not BTable[X,Y] then Exit;

ShowMessage('Mission Complete!');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetLength(BTable,DrawGrid1.ColCount+1,DrawGrid1.RowCount+1);
end;


427:修正1/2 (426は放置推奨 )
07/11/23 11:43:25

//●最初にDrawGridを貼り付け、プロパティを以下のようにセット
  Align = alClient
  DefaultDrawing = False
  ColCount = 6
  RowCount = 6

//●FormのPrivateに以下のフィールドとメソッドを追加
  BTable:array of array of Boolean; //動的二次元配列
  procedure CheckComplete();
  
//●CheckComplete関数を書く
procedure TForm1.CheckComplete();
var
  X,Y:Integer;
begin
  for X:=1 to High(BTable)-1 do
    for Y:= 1 to High(BTable[X])-1 do
      if Not BTable[X,Y] then Exit;

  ShowMessage('Mission Complete!');
end;

//●FormCreateを書く
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetLength(BTable,DrawGrid1.ColCount+1,DrawGrid1.RowCount+1);
end;

428:修正(2/2)
07/11/23 11:43:59
//●DrawGrid1DrawCellを書く
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
const
  COLORPALS:array[Boolean] of array[Boolean] of TColor = ((clWhite,clBlack),(clSilver,clSilver));
begin
  DrawGrid1.Canvas.Brush.Color := COLORPALS[(gdFixed in State) , BTable[ACol,ARow] ];
  DrawGrid1.Canvas.FillRect(Rect);
end;

//●DrawGrid1SelectCellを書く
procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;var CanSelect: Boolean);
begin
  BTable[ACol-1,ARow] := Not BTable[ACol-1,ARow];
  BTable[ACol ,ARow] := Not BTable[ACol ,ARow];
  BTable[ACol+1,ARow] := Not BTable[ACol+1,ARow];
  BTable[ACol,ARow-1] := Not BTable[ACol,ARow-1];
  BTable[ACol,ARow+1] := Not BTable[ACol,ARow+1];
  DrawGrid1.Invalidate;
  CheckComplete();
end;


429:デフォルトの名無しさん
07/11/23 18:34:16
>>417
7行スレで盛り上がりそうな内容だなw

430:デフォルトの名無しさん
07/11/28 17:46:32
25ボタンの処理を全部書くことで初心者でも作れてしまうが、まじめにやれば7行に・・・・なるな多分

431:デフォルトの名無しさん
07/11/28 23:00:38
>>157
D6からそうなったのか?
パスなしだとWINDOWSフォルダにつくられるんじゃなかった?

432:デフォルトの名無しさん
07/11/28 23:01:27
未読位置を間違えてロングパスを放ってしまったorz

433:デフォルトの名無しさん
07/12/08 01:31:13
>>417
作れたは良いんだがクリアできない
なんかコツとかある?勿論クリアするね

434:デフォルトの名無しさん
07/12/13 23:00:31
TMEMOの任意の行を削除するにはどうしたらいいの?

435:デフォルトの名無しさん
07/12/13 23:09:52
>>434
TMemo.Lines.Delete

436:434
07/12/14 06:52:10
>>435

ありがとう。

ごめん、質問間違えた。
あるデータと一致する行を削除 だった。
listboxだったらitems.indexとかで簡単にできるけど

437:デフォルトの名無しさん
07/12/14 22:58:42
>>436
TMemo.Lines.IndexOf

438:デフォルトの名無しさん
07/12/22 19:30:52
BDS2007を使っているんですが、コード補完機能って、すごーく
時間がかかるものなのでしょうか?
HDアクセスしまくりで、VS2005のそれとは比較にならない程遅いのですが。
それとも何か設定等が悪いのでしょうか?

OSはWinXP, メモリは2Gです。よろしくお願い致します。


439:デフォルトの名無しさん
07/12/23 18:36:32
コンポを大量インスコしてるとか

440:デフォルトの名無しさん
07/12/24 09:47:31
普段使わないコンポはチェック外しておくとロード時間が劇的に短くなる。

441:デフォルトの名無しさん
07/12/26 21:13:59
普段使うコンポはチェック外さないでおくとロード時間がものすごく長い。

442:デフォルトの名無しさん
07/12/26 22:06:02
最新式マシンに変えるとロード時間が劇的に短くなる。

443:デフォルトの名無しさん
07/12/27 01:49:05
ちょっと前のマシンだとロード時間がはげしく長い。

444:デフォルトの名無しさん
07/12/27 02:11:10
BDS2006で、PenD(3.0GHz) メモリ2G WinXPマシンでつこーてるが、
コード補完は、特に遅くないな。
ちなみに、起動時は、起動オプションで、Delphiのプロファイルのみ読み込み、
あと余計なDB周りのコンポなどもはずしてる。

しかしメモリ2Gで、ハードディスクカリカリは感がられんな
BDS2007が遅いということあるのかね

445:デフォルトの名無しさん
07/12/28 23:14:45
D7En Pen3(966) MEM384MB
コード補完滅茶苦茶遅い。
数年前は大丈夫だったから多分原因はHDDだろうと勝手に思ってる。

446:デフォルトの名無しさん
07/12/29 03:44:18
>>445
そのくらいのスペックで、Del6Pro つかってだけど、問題なかったぞ?

BDSの世代になって、死ぬほど重くて、マシン買い換えたが

447:デフォルトの名無しさん
07/12/31 07:28:11
職場のD7ENTでこちょこちょ書いてますがひたすらコピペしまくりでクラスも作った事がありません。
どこかのサイトにオプジェクト志向学ぶならC#やJavaで書かれた出来の良いコードをDelphiに移植するのが面倒だけど理解が早くなる、と言う意味の事が書かれてました。
とは言え、自分にオプジェクト志向の良いコードなのかどうか判別が出来るくらいならわざわざ移植には及ばない訳でして、適当なサンプル選びで途方に暮れています。
簡単なもの、ちょい重たいかなレベルで適当そうなコードを紹介して頂けませんか?


448:デフォルトの名無しさん
07/12/31 07:30:10
スミマセン
ageてしまいました。

449:デフォルトの名無しさん
07/12/31 11:10:07
どこまでもコピペするつもりですか。

*頭をたたくと「いてぇ」、わきの下をくすぐると「わははは」と笑うクラスをつくて

まじめな課題です。


450:デフォルトの名無しさん
07/12/31 11:59:29
自分用のコンポーネントを自作するのが近道だよ。

451:デフォルトの名無しさん
07/12/31 12:06:15
>>447
何度も同じコード書いてるならそこを共通化するクラスなりライブラリなりを作ってみたら。
重複部分で呼び出しているAPIなり関数なりをJediVCLでGrepかけてどうラップしてあるかを見てみればいいと思う。
あのライブラリ郡の設計が美しいかどうかは微妙なところだけど。

一番手っ取り早いのはC#をやること。
C#、Delphi両面の利点と欠点が見えてくると思う。
もちろんよりリッチなクラスライブラリの使い方も習得できるしね。

452:デフォルトの名無しさん
07/12/31 19:50:50
JCLのコンテナ使いにくすぎる。おすすめせん。

俺も、C#のライブラリを参考にするのがお勧め。
標準のでいい。
インターフェスだけならMSDNで見たい放題、クラス設計の参考になる。

中のぞきたかったら、Reflectorででも、使えばソース見られる。
Reflectorなら、Delphiでも見られるしなw


あとは、OOPなら、動的型言語のRubyもお勧め。
ほとんどが、オブジェクトなので、それを前提として、
どういった便利な使い方ができるか?というのがよくわかる。
ただ、ガーベジコレクション前提でオブジェクトを使い捨てまくるので、
そのままは使えないのだが、
勉強にはなる。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5231日前に更新/190 KB
担当:undef