トップページ⇒tech
1001コメント321KB

モナーの *やさしい* Delphi質問スレ Ver.11

レス数が1000を超えています。これ以上書き込みはできません。
0001DelモナーNGNG
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_)  \_________________________

前スレ モナーの *やさしい* Delphi質問スレ Ver.10
http://pc3.2ch.net/tech/kako/1038/10388/1038880567.html
0002デフォルトの名無しさんNGNG
■過去スレ

モナーの *やさしい* Delphi質問スレ Ver.9
http://pc3.2ch.net/tech/kako/1033/10336/1033668645.html

モナーの *やさしい* Delphi質問スレ Ver.8
http://pc3.2ch.net/tech/kako/1027/10278/1027873869.html

モナーの *やさしい* Delphi質問スレ Ver.7
http://pc.2ch.net/tech/kako/1021/10212/1021262086.html

モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/tech/kako/1019/10191/1019134412.html

モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/tech/kako/1017/10178/1017803412.html

モナーの *やさしい* Delphi質問スレ Ver4
http://pc.2ch.net/tech/kako/1016/10164/1016467137.html

モナーの *やさしい* Delphi質問スレ Ver3
http://pc.2ch.net/tech/kako/1014/10144/1014474727.html

モナーの *やさしい* Delphi質問スレ Ver2
http://pc.2ch.net/tech/kako/1011/10116/1011649179.html

モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html
0003デフォルトの名無しさんNGNG
このスレは冗談で作られた偽スレです。

すでに削除依頼済ですので、今後は書き込まないようにお願いします。

本物のスレは↓こちら。

http://pc3.2ch.net/test/read.cgi/tech/1037146781/l50
Delphi相談室その8
00041001NGNG
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
0005デフォルトの名無しさんNGNG
>1
( ´∀`)乙!
0006デフォルトの名無しさんNGNG
スレ立て乙

もう前スレがhtml化されてるのには驚いた。
0007デフォルトの名無しさんNGNG
つーか>>1のモナーの語り口はダメ過ぎ
モナー使うなら全部語尾は「もな」でお願いします
0008デフォルトの名無しさんNGNG
>>7
このスレの伝統だから、大目に見てあげて。
0009デフォルトの名無しさんNGNG
大型連休に固定が消えるのはいつものこと(ひろゆき含む)
0010デフォルトの名無しさんNGNG
質問させて下さい。

Delphi6 Enterpriseを使っているのですが、
ShellListViewから、ショートカットファイルをクリックし、そのURLとタイトルを
取得するにはどうしたらいいのでしょうか?
0011TECHNGNG
>>10
//ショートカットファイル かどうかは
  with ShellListView1.SelectedFolder do
   if fpIsLink in Properties then begin

//タイトルは
   Memo1.Lines.Add( DisplayName );
//ショートカットファイルのファイル名は
   Memo1.Lines.Add( PathName );
  end;
さらに URLが必要な IShellLinkを PathNameからか ShellFolder からか収得する
http://www.google.co.jp/search?q=IShellLink+Delphi&lr=lang_ja
001210NGNG
>>11
レスありがとうございます。
やってみます。
0013 NGNG
>>10
たった今、ほとんど同じ質問を他の場所で読んだ気がするのは
気のせいか?
0014 NGNG
粘着ですまないが、>>10からレスが無いな…。
マルチだね?
2003/01/14(火) 06:57:03 と 
TECH :03/01/14 08:30 か…

マルチはやめとけよ。そんだけ。
001513,14NGNG
訂正。
TECH氏に悪いので…。スマソ。

2003/01/14(火) 06:57:03 と 
デフォルトの名無しさん :03/01/14 06:44。
こっちの方が先に書いたのか。
0016デフォルトの名無しさんNGNG
Database DesktopまたはDatabase ExplorerでSQLを実行する際に
WHERE句にパラメーターを使いたいのですがやりかたが判りません。
どなたか教えてください。
0017デフォルトの名無しさんNGNG
TQuertの Params プロパティのようにって事ですか? それは無理というか・・・
001816NGNG
やっぱり無理ですか。
Database DesktopでテストしてOKならそのままTQueryにコピペできれば
楽なんですけど。
パラメーターが使えるツールはないですかねぇ。
0019TECHNGNG
>>18
新規プロジェクトを作って、フォームにメモとDBGridとボタンを貼り付けて
作ってるアプリの DataModuleユニットを入れて
ボタンイベントで TMemoの内容でDataModuleのTQuertを更新したら?

 
002016NGNG
>>19
とりあえずそれでやってみます。ありがとうございました。
0021デフォルトの名無しさんNGNG
スンマセンが教えてください。

例えばフォームにボタンを3個貼って、それを実行してTABキーを押すと
ボタンを貼り付けた順番でフォーカスが移動しますよね。
それを任意の順番で移動させたい場合はどうするのですか?(OnKeyDownイベントとか書かずに)
0022デフォルトの名無しさんNGNG
>>21
フォームを右クリックしてタブ順序を変更する。
002321NGNG
>22
ありがとうございますた。簡単ですた。
0024山崎渉NGNG
(^^)
0025デフォルトの名無しさんNGNG
教えて頂きたいのですが、

26Mバイト、90万行のテキストファイルから文字列を抜き出そうと思ってます。
AssignFile、readlnを使用して一行ずつチェックしていくプログラムを作成したのですが
どうも全てチェックできないようです。

While not Eoln(F) do begin
readln(F, Str1);
〜〜
end;

上の様に一行ずつチェックしていきます。
この方法ではこのサイズのテキストデータを扱うのは無理なのでしょうか。
0026デフォルトの名無しさんNGNG
んなこたない
変な文字コードでも混じってるんじゃないの
0027デフォルトの名無しさんNGNG
>>26
ありがとうございました。
原因がわかりました。よく考えてみたら、Eoln は行の最後かどうかチェックする
関数でした。 正しくはSeekEofにしないと駄目ですね。

どうも有り難うございました。
0028デフォルトの名無しさんNGNG
Delphiやりたいんだけど、やっぱDelphi7をやった方がいいのかな?
Delphi6はフリーで落とせるみたいなんだが・・・
0029デフォルトの名無しさんNGNG
PersonalとProfessionalの差は大きいけど
6と7の差なんて大してないからPro買わないんだったら6Perで十分。
0030デフォルトの名無しさんNGNG
>>29
ありがとうございます。
0031デフォルトの名無しさんNGNG
ども、任意のディレクトリ一覧を得たいのですがヒントをくださいお願いします(;´Д`)
0032デフォルトの名無しさんNGNG
FindFirst/Next/Close
0033デフォルトの名無しさんNGNG
>>32
ども、それっぽいところに行き着けました(;´Д`)
0034デフォルトの名無しさんNGNG
頼むから1回くらい検索してからにしてくれ。
http://www.google.co.jp/search?q=%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E4%B8%80%E8%A6%A7+delphi&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
↑
これくらい思いつくと思うが…。
0035デフォルトの名無しさんNGNG
訳あってApplication.MainFormじゃない普通のフォームをメインのフォームとして使ってます。
ShowModalで表示したフォームがそのフォームより後ろに隠れないようにするにはCreateParamsのoverrideで出来ると分かったんですが
ShowMessageやMessageDlgとかで出てくるフォームが後ろに隠れないようにする方法が分からないっす。
誰か教えてください。
0036デフォルトの名無しさんNGNG
iniファイルでやることにしたか…。
こっちにも報告しろよ。
ってもう見てないか?
0037デフォルトの名無しさんNGNG
プログラムは一切やった事無いんですけどpersonal版がフリーなので落としてみました。
挑戦しようと思うんですけど、プログラミング事態に面識が無いので
勉強すれば良いんですけど何をすれば良いかすら解りません。
アマゾンとかで検索かけるもどんな内容かも読まないから解らないし
かと言って本屋に行ってもVBユーザーのdelphiとかしか無くて
VBすら触った事の無い俺はどないせー言うんじゃぁぁ!
・・・という、どうしようも無い屁タレっぷりを発揮してしまったのですが
とにかく、プログラミングをした事ない人間に良い書籍及び勉強法をご存知でしたら
どうか教えて下さいませ、お願いします。
0038デフォルトの名無しさんNGNG
>>37
最初は「初心者向けデルファイ」として講座を開いてくれてるページを
参考にした方がいいと思う。タダだし。
いきなり本買ってもいいけど。
「プログラミング 初心者」とかで検索してみては?
つーか、全くもって何が何だかサパーリだと、そーゆーのを見るだけでストレスかも
しれないから、もっと簡易(深い意味は無い)な言語とかスクリプトから始めると
ラッキーかも。ラッキープレイスは東京タワー。ラッキーカラーはclwhite。
とっておきの帽子を被って出かけるといいことありそう!
0039デフォルトの名無しさんNGNG
>>37
とりあえず、なんか作ってみるとか。
メモ帳とか、ラーメンタイマーとかなら、コードは少しだけでいいし。
0040デフォルトの名無しさんNGNG
初心者向けのサイトは結構頓珍漢なことが書いてあるのでお勧めしない。
FAQ&Tipsの検索とわからない事を質問するにとどめた方がいい。
まとまった情報は書籍にすべし。
0041デフォルトの名無しさんNGNG
>>37
http://onigiri.s3.xrea.com:8080/delphi/
とりあえず、ここのリンクの初心者向けのサイトを見てみたら?
最初は解説通りに何かを作ってみるだけでも意味が有ると思うから。
0042 NGNG
MDIアプリケーションでmainformのkeypreviewをtrueにして
onkeypressイベントの所に

begin
showmessage('キー押したよ');
end;

と書いて実行したんですが、キーを押してもメッセージダイアログが出てきません。
なぜキーを押したのにダイアログが出ないのか分からないのですが、
教えていただけないでしょうか
バージョンはpersonal ver6です。
よろしくお願いします。
0043TECHNGNG
>>42
なぜ、出ないのかは説明が難しいですが、MDIChildのフォームも作成時の
親は Application だという事で、
 全部のキーイベントをフックしたい場合は、メインフォームではなく
 Applicationの持つ窓ハンドルに対してフックすると多少は横取り
 可能な範囲が広がります。

procedure TMainForm.FormCreate(Sender: TObject);
begin
Application.OnMessage:=MessageEvent;
end;

procedure TMainForm.MessageEvent(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message=WM_CHAR then begin
   showmessage('キー押したよ');
end;
end;


ただ、メニュー操作時やダイアログ操作時はたぶんダメでしょう
0044デフォルトの名無しさんNGNG
>>43
教えてくださってありがとうございます!
ちょっと理解できない所もあるのですがそこは自分で勉強して
何とかやってみます。
ありがとうございました。
004537NGNG
>>38-41
レス有難うございます
>>41さんの挙げたページから辿って行けばなんとなく解るような(?)ページがありました。
>>40さんのおっしゃる通り、今まで色々なdelphi関連の初心者ページを見て回ってましたが
全体的に最低限の知識を所有する人間相手のページばかりでしたので大変助かります。

未だ先の話なのですが、皆さんはdelphi初心者の頃はどんな書籍を見ましたか?
amazonで調べると何やらやたらと評判のわるいのとかよく見かけるんで
人によって向き不向きはあるでしょうが、参考までに教えてください
よろしくお願いします・・・。
0046TECHNGNG
>>45
最終的には、技術書は並べてベッドに出来るくらい読まないといけないわけで、
どれが良いとか悪いとか考える前に、学校なり近所の図書館なりを利用して
まずは沢山読んでみる方がいいのでは?

それからプログラミングについては、やはり他人のコードを読むことが一番の勉強になります。
Web上の色んなソースを読んだり、
少しお金を貯めて Proを買ってVCLを読んだり
0047TECHNGNG
後、やっぱり動かしながら勉強するのがモチベーションが保てて良い感じです。

最初に
ファイル->新規作成->その他->プロジェクト->SDIアプリケーション
して、これを元に色々追加してみると良いでしょう。

それが終ったら、
Demos ディレクトリの内容を順に見ていくとか
0048デフォルトの名無しさんNGNG
やっぱり「自分が欲しいソフトを作りたい」が一番のモチベーションかなぁ?
とオレは思う。
0049デフォルトの名無しさんNGNG
>>48 ドウーイ
明確な達成目標がある事で学ぶ事の取捨選択ができるからね。
学ぶ事が多少偏るだろうし、非効率でツギハギだらけの
プログラムが出来あがるかもしれないけど
作る過程で得られる内容は確実に次に活かせるし
作ったという達成感が生まれるのはとても良い。
0050デフォルトの名無しさんNGNG
しつもんです。
ほんとに初歩的ですが…

'TStrings' と 'Array' には互換性がありません

TStringsとArrayってどう型変換すればいいんでしょうか???
0051デフォルトの名無しさんNGNG
50です。
ある程度直したら今度もエラーが発生しました(泣)

'TArchiverOptions' と 'String' には互換性がありません

これはどうしたらよいのでしょうか?
探しても型変換を詳しく取り扱ってるところがない・・・
0052デフォルトの名無しさんNGNG
50です。
なぜか書き込めませんでした(エラーは出ず)
で、ある程度解決したのですが、

'TArchiverOptions' と 'String' には互換性がありません

のエラーです。
いくら探しても型変換を取り扱っているところが・・ない
初歩的ですみません
005350NGNG
書き込めません(泣)
005450NGNG
かきこめてました。
すみません
0055デフォルトの名無しさんNGNG
TArchiverOptions の変数を直接代入しようとしてるのでは?
欲しいのは UserOptions とか ResFileName とかじゃないの?

0056デフォルトの名無しさんNGNG
新規の質問です。

XPに「ユーザーによる操作なしで Windows にプリンタを追加する方法」
と言うのがあるのですが、
http://support.microsoft.com/default.aspx?scid=kb;ja;JP189105

プログラム上で設定を値を変えながら
プリンタを追加して行こうとかと思っています。が

[ WinExec ][ ShellExecute ]などを使っても動いてくれません。
こんなの↓
ShellExecute(Handle, 'OPEN', 'rundll32.exe',
'printui.dll,PrintUIEntry /if /b "Test Printer" /f "%windir%
\inf\ntprint.inf" /r "lpt1:" /m "AGFA-AccuSet v52.3" ', '', SW_SHOW);

DOSプロンプト&ファイル名を指定して実行では正常に追加されます。
根本的な物が抜けていると思うので、どなたかお助けを〜( ToT)

0057デフォルトの名無しさんNGNG
CreateProcessは?
0058デフォルトの名無しさんNGNG
>>57
CreateProcess?
さっそく挑戦中

レスありがとうございます
0059デフォルトの名無しさんNGNG
>>58
つーか、思いっきりマルチポストだねぇ…。
よく恥ずかしくないね。信じられない。
あっち消しとけよ。
0060デフォルトの名無しさんNGNG
>>59
すみません。。。
0061デフォルトの名無しさんNGNG
IPアドレスを使ってチャットをするプログラムを
組みたいのですがどうするべきなんでしょうか?
0062デフォルトの名無しさんNGNG
どうするべき?
0063デフォルトの名無しさんNGNG
サーバーとクライアント
0064デフォルトの名無しさんNGNG
indyでCGIファイルの要求を出して、
返ってきたファイルが、htmなのかgifなのかって判断はどうすれば
いいのでしょうか?

お願いします。
0065デフォルトの名無しさんNGNG
>>64
拡張子を調べる
0066デフォルトの名無しさんNGNG
頭の3バイトをチェック
006764NGNG
どうもありがとうございます。
jpegが返ってきたりする事はないのでしょうか?
0068デフォルトの名無しさんNGNG
そりゃあるだろ。というかあっても破綻しないように作っとけ
0069デフォルトの名無しさんNGNG
61ですが、教えてよん(はぁと)
0070デフォルトの名無しさんNGNG
一般的なチャットの構造とDelphiでの実装のどっちがわからないんだ?
前者ならスレ違い。とりあえずIndyでもWinsockでも何でもいいからTCP覚えろ。
0071デフォルトの名無しさんNGNG
Delphiでの実装です!
0072デフォルトの名無しさんNGNG
>>64
Content-Type調べれば分かると思います。
007364NGNG
>>68
>>72
どうもありがとうございます。ヽ(´∀` )ノ
0074デフォルトの名無しさんNGNG
>>71
その構造をIndyで作ればよいでしょう。
0075デフォルトの名無しさんNGNG
>>74 どうやって作ったらよいのかわかりません・・・。
0076デフォルトの名無しさんNGNG
>>75 何がわからないのかわかりません・・・。
とりあえずTCP/IP使った一般的なチャットクライアントの構造を説明してみなよ。
0077デフォルトの名無しさんNGNG
>>77 はっきりとは分からないですが・・・。
俺はP2P方式のチャットソフトを作ろうとしています。
P2Pとは通信し合う機器の間にプロバイタ以外の機器が入らずに
通信する方法です。peer to peerでしたかな?
そのP2Pを用いてチャットシステムを組みたいのです。
0078デフォルトの名無しさんNGNG
まずは普通にクライアント-サーバ型のチャットシステムを作る(exeは二種類)
client->server<-client
それができたらサーバの機能をクライアントに突っ込む(exeは一種類)
client<-client
つまりクライアントが他のクライアントからの接続要求を受けたら
サーバの役割も果たすようにする。
0079デフォルトの名無しさんNGNG
>>77
だからそのP2Pを理解してるんですか?
理解していればおのずと何をするべきか分かると思うのです。
0080デフォルトの名無しさんNGNG
Delphiで実際どのように記述したらよいのか分からないので。
コンポーネントとかは何を使ったらよいのやら・・・。
IdTCPServerってコンポーネント使えばよいの?
0081デフォルトの名無しさんNGNG
>>80
TCP/IPの基礎から勉強してください。煽りじゃなくて。
0082デフォルトの名無しさんNGNG
「どうするべきなんでしょうか?」とか逝ってる時点でもうDelphi以前の問題
0083デフォルトの名無しさんNGNG
新手だよネ。
「○○は出来ますか」とかの。
自分で決めろって。
子供じゃないんだから。
煽りじゃなくて。
マルチポストも最低だけど、「どうすれば」だの「出来ますか」だの…。
0084デフォルトの名無しさんNGNG
>>61
QuadrupleDのヘルプ見てごらん(DirectX9対応の最新βじゃなくてVer2.12のほうね)
すぐ作れるよ
0085デフォルトの名無しさんNGNG
横やりだが
ADSLとかLANの中に居ると使えないチャットとか有るわけだがそのへんどうなんだろかと
0086デフォルトの名無しさんNGNG
Delphi 6 Personal を使っているのですが
GETメソッドで特定のCGIにスコアを送信したいのですがどのようにすればよいのでしょうか?
参考サイトなどありましたら教えてください。
0087デフォルトの名無しさんNGNG
>>85
ルータを設定しなさい。
0088デフォルトの名無しさんNGNG
質問です

プログラム(EXE)の終了時に、呼び出し元に値を返す方法はどのような方法がエレガントなのでしょうか?

VB からEXEを呼び出して、その帰り値をVB側で取得することが目的です。
できれば文字列が取得できればいいのですが....

ご存知の方、ご教授ください。

>>86 あまりいい方法ではありませんが、IEを呼び出す方法があります。
(ブラウザが立ち上がりますが、それでも問題ないケースもあると思いますので)

ShellExecute(0, 'open',sURL, nil, nil, SW_SHOW);
詳しくはドキュメントでお調べください。

0089デフォルトの名無しさんNGNG
ExitCodeで数値を返せる。それ以外は無理。
プロセス間通信するしかない。
あるいはiniファイルかレジストリか。
0090デフォルトの名無しさんNGNG
>>88
その用途で文字列を渡すなら DDE かメールスロットが簡単だと思うよ。
メールスロットなら

Delphi相談室その8
http://pc3.2ch.net/test/read.cgi/tech/1037146781/400-401
0091デフォルトの名無しさんNGNG
未来を考えるならDDEはちょっとなあ
ttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_7.asp
0092デフォルトの名無しさんNGNG
>>89-91
レス 有難う。大変参考になりました。

実際、調べるとこの辺りの仕様はあまり拡張されていないようですね。
調べ方が足りないのかと、ここに書かせてもらいました。
従来の方法だと値、もしくはポインタ(使わないほうが良いと書かれている)
となっているようでつд`).....

そうであれば89さんがご指摘のレジストリというのが手っ取り早いですかね。
エラー処理も整っているし、VB側からの呼び出しも簡単。
なにしろ、(プロセス間通信などのタイミングやメッセージアイドリング、タイマー)
などが入ってくると、目的とはかけ離れて無駄にプログラムが煩雑になりそうです。

レジストリの中にはOS起動時に消してくれる便利な場所もあるので、そういう部分を使ってみます。
ご意見、有難うございました。
009386NGNG
>>88さんありがとうございます

ネットランキングをやりたいのですが、どうにかブラウザを立ち上げずに
データのみ送信できないでしょうか?
GETでもPOSTメソッドでもかまいませんので何か方法があればご教授下さい。
0094デフォルトの名無しさんNGNG
>>93
SocketからHTTP実装するとかな。なんかHTTP用のコンポーネントもいくつかあるみたいだが融通聞かないので嫌い。
0095デフォルトの名無しさんNGNG
Wininetで十分
0096デフォルトの名無しさんNGNG
すでに開いているフォーム(TForm)のメソッドや内在コントロールの
プロパティを別のUnitから操作したいのですが、方法がわかりません。

具体的には、

(1) TFormHoge の [実行]ボタンをクリック。
(2) UnitHoge.MethodHoge が呼び出される。
(3) 上記処理の進捗状況(「実行中」、「1/N」など)を(1)の
  フォームに表示。
(4) 処理を終了。

といったことがしたいのです。
ユニットを分割せずに、すべての処理をTFormHogeに記述すれば
簡単なのですが、それは本意ではないのです。

ヘルプや、ttp://www.users.gr.jp/query.aspx のログ、数冊の
書籍を探してみたのですが、探し方が悪いためか、目的に合い
そうな説明を発見できませんでした。

ご存知の方いらっしゃいましたら、ご教示(または代案の提示)
ください。
簡単なサンプルコードを示して頂けると助かります。
0097デフォルトの名無しさんNGNG
age忘れました。
0098デフォルトの名無しさんNGNG
>>96
uses Unit1; //<-TForm1


...


procedure hoge();
begin
Form1.Edit1.Text.Lines.Add('こんな感じ?');
end;
0099デフォルトの名無しさんNGNG
>>98

ありがとうございます。
実は、その方法と似たようなやり方は試してみたのですが、
Form1 が未定義の識別子でハネられます。
そこで、Uses節にForm1の参照を追加すると、当然のように
循環参照でハネられます。

何かうまい方法はないでしょうか・・・?
0100デフォルトの名無しさんNGNG
>>99
WebBrowser
を使うのはどうですか?
非表示で使えば良いし、エレガントではないけど(簡単ではある)。
0101デフォルトの名無しさんNGNG
ファイル->ユニットファイルヘッダーの追加
?
0102デフォルトの名無しさんNGNG
>>99
implement節のusesに加えると循環参照にならないはず。
0103デフォルトの名無しさんNGNG
>>100
ありがとうございます。
(できればもう少し具体的なところを教えて頂けると助かるのですが・・・)

>>102
ありがとうございます。確認してみます。
0104デフォルトの名無しさんNGNG
>>103
tWebBrowser
というコンポーネントがあるので、それを使います。
機能はWEBのブラウジング(表示)をおこないます。
URLを呼び出し先にセットすれば CGIトリガーが引かれます。
非表示、表示枠 サイス0にできるのでこれで良いかと...
0105デフォルトの名無しさんNGNG
Delohiでwindowsゲームを作ろう!を見ながらつくってるんですが、
アニメーション作りでエラーが出てしまい、先へ進めません。
interface部を変えて、Timer1のOnTimerを、Timer1Timarに変えると、
エラーがでてしまい、メソッドTimer1Timerの実現部がみつかりません。
とでてしまいます。なにが悪いのでしょうか。おしえてください。
0106デフォルトの名無しさんNGNG
実現部の名前を変えたからじゃないの?
0107デフォルトの名無しさんNGNG
>>106
名前はどこも変えていないのです。
本みながらなのにつまづくなんて。。。
説明書どおりにしてるのですが。
0108デフォルトの名無しさんNGNG
すいません。実行部ってどこでしょうか。。。
教えてください。お願いします。
もうだめぽ。
0109組込もしまっせNGNG
>>105
Timer1Timar <> Timer1Timer という事では?

Timer1のOnTimerを記述するときは
プロパティエディタの OnTimer をダブルクリックするといいよ
0110デフォルトの名無しさんNGNG
>>108
implementから下の方。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
end;
の様にイベントハンドラの実行部を書く。
0111デフォルトの名無しさんNGNG
>>109
イベントですよね?してるんですが・・。
うぅ。。。
わかんない。。ソースあとで張ります。またきます。。
0112デフォルトの名無しさんNGNG
>>110
ありがとう。
0113デフォルトの名無しさんNGNG
VBを少しかじっってて、今Delphiやり始めたんですけど

Label1 TLabel
Label2 Tlabel

のLabel1,Label2などはそのコンポーネントの名前だってことはわかるんですが
TLabelとかってなんなんでしょうか?
0114デフォルトの名無しさんNGNG
それと
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{ Private 宣言 }
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.

↑がかなり気になるんですがこのままやっていいんですよね?
0115デフォルトの名無しさんNGNG
>>113
クラス(コンポーネント)名。
その場合Label1はクラスTLabelのインスタンス。
>>114
TFormを継承したTForm1が作られている。そのままでも良いがTForm1よりもっとわかりやすい名前の方が良いかと。
オブジェクトインスペクタでForm1のNameというプロパティを変えるとTForm1というクラス名も勝手に変わる。
そしてフォームのprivateやpublicにメソッドを追加したりコンポーネントを貼り付けたり、
他のユニットをUsesしたりしてプログラムを作る。
0116111NGNG
です。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
ImageList1: TImageList;
procedure Timer1Timer(Sender: TObject);
Procedure FormCreate(Sender:TObject);
private
{ Private 宣言 }
PtnNo: Imteger;
MxX, MyY: Integer;
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
これのあとに、Timer1のTimer1Timerをしようとしてもできません。お願いします。
0117デフォルトの名無しさんNGNG
>>116
何がしたいかわからないっす。
TTimerのOnTimerイベントを書きたいなら、

>>109の
>Timer1のOnTimerを記述するときは
>プロパティエディタの OnTimer をダブルクリックするといいよ
すれば、勝手に実行部にも宣言部にもコードを書いてくれる。

それをせずただ、宣言と実装を書くだけだと、イベントがTimerに割り当てられないので注意。
0118111NGNG
>>117
ありがとうございます!わかりました。
interface部分を勝手にいじってました。
お騒がせしました。
0119デフォルトの名無しさんNGNG
厨質問ですいませんが、フックの仕方を教えてください

具体的には、他のアプリケーション(市販のものです)のチャットのようなものがあって、
そこに表示されるメッセージに対して処理を行いたいのです
(誰かが入室したら音を鳴らすetc.)

調べたところ、そのウィンドウはListBoxになっているようで、
文字列が追加されるときは、LB_ADDSTRINGというメッセージが発生してるようなので、
このメッセージを捕まえられればと思うのですが、やり方がわかりません。
「Delhpi2 達人テクニック」という本のキーフックのところを参考にして、
やってみようとしたのですが、うまくいきません。
(PrtScキーを押したときに画面をキャプチャする例)

まず単純に本にあるSetWindowsHookExのコールバック関数の中の
if文の条件を下記のように変更してみたのですが、
これではLB_ADDSTRINGというのは捕まえられないのでしょうか?
(フックの種類はWH_GETMESSAGEになってます)
0120119NGNG
function GetMsgProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
rc: Boolean;
hFM: THandle; // メモリマップドファイル
pLog: PMsgBuf; // 共用メモリへのポインタ
pm: PMsg; // フックしたメッセージ
(省略)
begin
pLog := PMsgBuf(GetMapAddr);
if pLog <> nil then
begin
// ここから
if Code >= 0 then
begin
pm := PMsg(lParam);
// Ctrl+Escを殺す
if (pm.message = WM_SYSCOMMAND) and
(pm.wParam = SC_TASKLIST) then
begin
pm.message := WM_NULL;
pm.wParam := 0;
end;
// Print Screenキー
// if ((pm.message = WM_KEYUP) or (pm.message = WM_SYSKEYUP)) and
// (pm.wParam = VK_SNAPSHOT) then
if (pm.message = LB_ADDSTRING) then // <-変更行
begin
(以下略)
0121デフォルトの名無しさんNGNG
>>119
取りあえずDLL内に置いてね。その関数。
0122119NGNG
>121
レスありがとうございます。

説明が足らずにすいません。本に従って、DLLを作成しています。
(というか、サンプルでついてたのを少しずつ変更してます)
キーフックの動作は確認取れてます。
0123デフォルトの名無しさんNGNG
適当というか予想

if (pm.message = WM_COMMAND) and (pm.wParam = LB_ADDSTRING) then
0124119NGNG
>123
試してみましたが、駄目ですた(´・ω・`)ショボーン
0125デフォルトの名無しさんNGNG
先生!小生、DLLは使えるようになったのですが(delphi6)、
COMはdelphi6で使えるのでしょうか!教えてくだだい!
宣言の仕方すら調べても出てきません!
0126デフォルトの名無しさんNGNG
>>125
使える。
0127125NGNG
>>126先生
使えますか!お返事ありがとうございます!

どこか参考になるようなサイトとかないですかね・・・
(・∀・)イイ情報キゴンヌ!
誰か教えて!COMコンポ!(の組込方
0128いいサイトNGNG
>>127
http://www.google.com/
終了
一通り探しまくったらまた来い。
0129☆NGNG
>>127
付属のヘルプくらいは読もうよ。
ActiveX の取り込みとか
0130デフォルトの名無しさんNGNG
>>102

循環参照は解消できたのですが、UnitHogeからFormHogeのラベルのキャプションを
操作すると実行時エラーとなり、うまくいきませんでした。

自分なりに、外部からはコントロールの操作はできないのか?と考えて、FormHoge
にラベルのキャプション操作用のMethodHogeを追加して間接的にアクセスして見たり
もしたのですが、結果はおなじ(実行時エラー)でした。

(1) FormHoge内のイベントハンドラからMethodHogeを実行。→ ○
(2) UnitHoge内のプロシージャからMethodHogeを実行。→ ×

という結果です。
ちなみに、MethodHogeのコントロールを操作する記述をコメントアウトし、数値演算
やメッセージボックス表示の処理を記述した結果は(2)でもエラーにならずに正常実行
できました。
結局、原因も回避手段もわからず、UnitHogeに記述していた処理すべてをFormHogeに
記述することで妥協しました。(不本意)

このような場合、どのような実装が一般的なのでしょうか?多機能なフォームの場合、
関連する処理すべてを1箇所に記述すると、保守性が悪くなると思うのですが。
0131デフォルトの名無しさんNGNG
>>130
エラーが出ると書いてエラーメッセージ書かない奴ってアホだと思うが。
0132デフォルトの名無しさんNGNG
>>131
今手元にないので、書きたくても書けない。(メモって置けばよかったと思う)
0133デフォルトの名無しさんNGNG
>>132
ちなみに、Try .... Finally でも回避できなかった。
0134デフォルトの名無しさんNGNG
>>133
try...Finallyの場合例外はキャッチされずに呼び出し元に伝搬すると記憶。
IDEから実行してるならexceptのあるなしに関わらずデバッガが実行を停止してウザイ。
0135デフォルトの名無しさんNGNG
>130
別スレッドから操作したらエラー出るけど、
別ユニットから操作したからってエラーは出ないよ。
俺はこんな感じでいくつかのユニットに分けてるけど、それが原因のエラーは出てないから。
unit untHoge;
interface
type
  THogeEvents = class(TObject)
  public
    procedure SetEvents;
    procedure Button1Click(Sender: TObject);
  end;
implementation
uses frmMain;
procedure THogeEvents.SetEvents;
begin
  MainForm.Button1.OnClick := Button1Click;
end;
procedure THogeEvents.Button1Click(Sender: TObject);
begin
  MainForm.Label1.Caption := '押しますた';
end;
end.
0136デフォルトの名無しさんNGNG
やはり>>96の考え方(外部からフォームを操作する)がおかしいのだろうか?
0137デフォルトの名無しさんNGNG
>>136
いや、普通に出来る。恐らく君のコーディングに何らかの問題があるだけかと。
0138デフォルトの名無しさんNGNG
>>136はタイミングズレ。

>>135
ありがとうございます。書き忘れましたが、私の事例では、UnitHogeは
Classではないのです。(VBで言うところの「標準モジュール」)
これが間違いなのでしょうか?
0139デフォルトの名無しさんNGNG
もうひとつ気になった疑問点は、public .... End;節に宣言しなくても
FunctionやProcedureが外部から呼べてしまう点。
(130の例でも、UnitHogeからの呼び出しでエラーになったのは、コント
ロールのプロパティ操作だけ)
スコープがイマイチよくわからない。
0140デフォルトの名無しさんNGNG
>>139
Publicはプロジェクト外部に公開という意味?
Interface でPublicでないものはFriend(というキーワードはDelphiにはないが)
スコープになるのか・・・。
(基本的な部分がよくわかってないので、ヘルプを読んだ方がよさげ)
0141デフォルトの名無しさんNGNG
Quadruple Dのインストールをしようとしたんですが、
この部分の意味がよくわかりませんでした。

>まず、配布アーカイブであるdddd.lzhを解凍し、libディレクトリに移動してください。

>そして、中にある全てのファイルを、Delphiのライブラリパスの通っているディレクトリにコピーしてください。
>dxheaderディレクトリの中のファイルも同様に、全てDelphiのライブラリパスの通っているディレクトリにコピーしてください。

適当にやったらエラーが出てしまいました。
どなたかインストール方法を教えていただけないでしょうか?


0142141NGNG
できました。すいません
0143デフォルトの名無しさんNGNG
>>139
ソース貼ってみ
0144デフォルトの名無しさんNGNG
>>139-140
もうひとつユニットを作って色々呼んでみるとわかる筈。

public 他のソースファイルから見える
protected private に加え派生クラスから見える
private そのソースファイルだけ

public/privateはinterface/implementationとおんなじような関係。
同じソースファイル内なら同じ人が書くのは明白なので
妙なアクセス規制かけずに好き放題させてくれると考えればよし。
0145デフォルトの名無しさんNGNG
でるふぁいで作ったプログラムは特別なコンポーネントがないと
うごきませんか?BVみたいに
0146デフォルトの名無しさんNGNG
>>145
死ね。後、単体で動く。
0147デフォルトの名無しさんNGNG
つまらんネタだろ?反応しないように<BV
0148デフォルトの名無しさんNGNG
>>145
Windowsという特別なコンポーネント群が無いと動きません。
0149デフォルトの名無しさんNGNG
>>1が
>Delモナーがどんな厨房疑問でもやさしく答えます。
言ってるじゃん
馬鹿扱いしたりネタ扱いしてもいいけど、おしえて。
0150 NGNG
>>149
何に答えてほしいんだ?
つーか、「Delモナー」は優しいが、他は荒くれ者ばかりが集うスレ。
七つの海を制覇した強者しかいないと思ってくれ。
0151デフォルトの名無しさんNGNG
>>149にハゲドウ
>>150そんなんしるか!
0152デフォルトの名無しさんNGNG
プッシーは潮でも吹いてろ
0153デフォルトの名無しさんNGNG
>>125
プロジェクト→タイプライブラリの取り込み、で登録したocxが表示されるはず。
んで、OKすると自動的にpasが作成されるから、それをusesすればよい。

そしたら、CreateComObjectし、ご自由にお使いくださいと。
0154ななしへたぐらま ◆XcB18Bks.Y NGNG
>>149
>146さんがすでに書いてあるとおり単体で動きますよ.
ほかの方が作ったコンポーネントを使ってもやはり単体です.

>>150
それだとDelスレがいくつもある意味が….
0155デフォルトの名無しさんNGNG
どなたか>119に知恵を貸してやってください
0156組込もしまっせNGNG
>>119 は、他のアプリが受け取ってるメッセージをフックしたいという事ですよね?
 それは簡単ではないと思います。
 というかソレが出来るなら、逆に困った事になってしまうような・・・

ListBoxの窓ハンドルが入手出来ているなら、 
LB_GETSELCOUNT LB_GETTEXT は使えませんか?
0157デフォルトの名無しさんNGNG
>156
レスありがとうございます
いちおうタイマ処理で、SendMessageして文字列取得して処理するのは作ってみました

でも、フックができたら、いろいろできるんだろうなぁと妄想を膨らませていたので、
やり方がわかればと思ったのです
それができると困ったことになるということは、
Winの仕組み上できないようになってるってことなんでしょうか?
(できたとしてもキーフックみたいに簡単?ではないということですかね)


0158組込もしまっせNGNG
あ、ゴメン 観察するだけなんだね。 なら可能だ。

タイマー割り込みの代わりに、そのフック中で 自アプリにメッセージを送って貰って
それでテキストを取得したらいいんじゃないの?
0159組込もしまっせNGNG
もしかして、WH_CALLWNDPROC の方がいいのかもね
参考: ttp://home.att.ne.jp/yellow/hide_n/programming/tips03.html
0160デフォルトの名無しさんNGNG
ありがとうございます
参考サイトを見ると、SendMessage()を送られたのはWH_CALLWNDPROCでってことみたいですね。
また挑戦してみます
0161山崎渉NGNG
(^^)
0162デフォルトの名無しさんNGNG

delphi 6 personal 使ってるんですが背景がデスクトップそのまま映ってて
気持ち悪いんですがVBのように背景をつけることってできないんでしょうか?
0163デフォルトの名無しさんNGNG
背景っていうのはdelphi本体の背景のことです
0164デフォルトの名無しさんNGNG
ファイルのコピーのダイアログに出るような

c:\progam filed\...\a.txt

の様な形式を生成するAPIとか関数ってあるんですか?
0165デフォルトの名無しさんNGNG
たしかあった。
0166デフォルトの名無しさんNGNG
>>165
ですよねw

昔Del3使ってた時に見かけた記憶があるんですけどねぇ。
0167デフォルトの名無しさんNGNG
検 索 す れ ば 1 2 0 % 出 て く る ぞ 
0168デフォルトの名無しさんNGNG
>>164
uses節に Filectrl を追加して MinimizeName
0169デフォルトの名無しさんNGNG
頼むから1回くらい検索してくれ
0170デフォルトの名無しさんNGNG
>>169
散々検索したけれど。
VCLリファレンスのファイルと名の付くものも読みあさった。
0171162NGNG
誰かわかりませんか〜?
0172煽りではないがNGNG
>>162
質問がワケ分からんから、誰も相手しないと見た。
このまま相手されなくて、他のとこへマルチポストしてる姿が見えます。

こんなんでましたけど(泉)
0173デフォルトの名無しさんNGNG
MDI環境とSDI環境の違いじゃないの?
Delphiは使ったことないからどっちかしらないんだけど<おい
0174デフォルトの名無しさんNGNG
一人よくわからないバカが勘違いして粋がっているスレはここですか?
0175デフォルトの名無しさんNGNG
>>174
違います。
0176デフォルトの名無しさんNGNG
パンツを洗濯機で洗うと必ず裏返しになる理由を考察するスレはここですか?
0177デフォルトの名無しさんNGNG
>>162
放置するのも気持ち悪いからレスするけど外してたらごめんよ

http://www.borland.co.jp/tips/delphi/dh015/
0178162NGNG

えーとつまり
http://age.ne.jp/x/kazuhito/Delphi/0101b.gif
この画像のようにフォームウィンドウの後ろにデスクトップがそのまま
見えていますよね?デスクトップが見えているとなんかやりにくいので
色をつけて隠せたらいいなと思うんですが可能でしょうか?
0179デフォルトの名無しさんNGNG
>>178
Activeデスクトップ + 白いgifファイル&アイコンの表示をしない。
0180デフォルトの名無しさんNGNG
>>178
Delphiの仕様です。
0181デフォルトの名無しさんNGNG
ていうか、そこに突っ込む人をはじめてみた。
0182デフォルトの名無しさんNGNG
VBも3位まで背景無くなかったっけ?
0183デフォルトの名無しさんNGNG
>>178 わかるぞー 俺も最初は戸惑ったものだ。気持ち悪いと思ったものだ
今は全く気にならないけど
0184デフォルトの名無しさんNGNG
>>183
気持ち悪いとは思わないが、バックグラウンドで別の窓が開いていると、
触ってしまう。
0185デフォルトの名無しさんNGNG
結局>>173であってるじゃん。。。
ああ、>>174は自分で自分に言ってたのか
ちなみにVB6あたりでも、ツール>オプション>明細設定で変更できます
0186ななしへたぐらま ◆XcB18Bks.Y NGNG
Delphi統合環境の画面の話でしたか.
>>182
そもそもこの画面構成はVBをまねたものにしか思えませんでしたが
VBの方はすでに変わっていたのですね.

0187デフォルトの名無しさんNGNG
#include <stdio.h>

↑これってDelphiでいうところのuses?
0188デフォルトの名無しさんNGNG
>>187
その行に stdio.h というファイルを 読み込んで追加 というような動作。
0189デフォルトの名無しさんNGNG
>>187
Delphiでいうところの#include
0190デフォルトの名無しさんNGNG
違った。$inlucde
0191デフォルトの名無しさんNGNG
インルークド
0192デフォルトの名無しさんNGNG
つーか、MSは昔から(95時代くらいから?)MDIは推奨しないって言ってたのに。
0193162NGNG

レスありがとうございます
じゃあdelphiをMDIのように背景をつけることはできないんでしょうか?
0194 NGNG
悪いことは言わない。このままグダグダ同じこと聞くより
「慣  れ  ろ  !」
しまいには叩かれるぞ。いいじゃんか、後ろが見えたって。
絶対慣れるから。そのまま使うがヨロシ!
0195デフォルトの名無しさんNGNG
>162
最背面に常に表示されるウインドウをもつ、フル画面のソフトを作って
常に立ち上げておけばいい。
0196デフォルトの名無しさんNGNG
A型
0197いちごNGNG
Delphi(プログラミング)初心者です。
上司から、これ参考にしてつくれと
eXescoper(逆コンパイラ?)とsample.exeを渡された
のですが使い方を書いたHPが見当たりません。
上司に質問したらそんなこと自分で調べろと怒られました。
先輩に聞いても、そんな課題でなかったらしく、知らない
と言われ、困ってます。どなたかご存知でしたら教えてください。
0198デフォルトの名無しさんNGNG
初心者がeXescper作るなんて無理。
0199デフォルトの名無しさんNGNG
>>198
違うだろ。
Sample.exe "を" eXescoper "で"懐石して作れだろ。
0200デフォルトの名無しさんNGNG
>>197
何を作るのかを書かなければ分からない。
もう一度言う。「何を」を書かないと(その上司以外は)誰も分からない。
eXescopeは、exeやdll内の様々なデータを見るツール。
sample.exeは、作ったやつに聞け。それとも広く公開され有名なアプリなのか?sample.exeって。
自分しか分からない情報を出さないことには、誰も答えることなんて出来ない。
これは、プログラミングとは関係ない社会人としての常識である。
0201いちごNGNG
レスありがとうございます。
私の説明が舌足らずでしたので、もう一度説明させて下さい。
sample.exeに動きを参考にしたい部分があるのですが
それをeXescoperを使って調べて、課題のプログラム
をつくれというのが上司の要求です。
(要するにパクれってことだと思います)
eXescoperを起動させてsample.exeを開くと、
なにやらいっぱい出てくるのですが見方がわかりません。
どうやって使うのでしょうか?
0202デフォルトの名無しさんNGNG
>>201
なんで他のアプリをパクるのにeXescopeを使う必要があるの?
一体何を作るの?(仕様のことだよ)
sample.exeの「参考にしたい」部分を言わないと分からないよ。
まず、sample.exeが何をするものなのかから説明したほうがいいんじゃない?
eXescopeは、逆コンパイラじゃないよ。EXEのヘッダとか、参照してるやつとか、リソースを表示するやつだよ。
0203デフォルトの名無しさんNGNG
ネタの予感…
でもマジレス。上司か先輩に聞け。恥を書くことを恐れては成長しない罠。
0204いちごNGNG
はい、すみませんでした。以後気をつけます。
課題はブロック崩しゲームなのですが
(ピンポン玉があたるとブロックが消えていく)
ボールの動きが終始同じなのを、ブロックの数が少なく
なるにつれて、速くするというものです。
sample.exeはスクリーンセーバーだと思うのですが
球が壁に跳ね返っているものです。ただ時間がたつにつれて
次第にその移動スピードがあがってきます。
その部分をブロック崩しのピンポン玉の動きにとりいれろ
というのです。スピードのあがり方は全く同じにしなくては
いけないという条件なのでプログラムソースをみなくては
できないです。こんな状況ですが、おわかり頂けたでしょうか?
0205デフォルトの名無しさんNGNG
>>204
そのアプリを作るにあたり、eXescopeは役に立ちそうにありません。
上司が本気でeXescopeを使えと言っているのなら、その上司は天才の反対の反対です。
動きをまったく(1pixelも違わずに)同じくする必要は無いでしょ?
この課題はパクることが目的なの?
たぶん、ブロック崩しを作る上で必要な、「ボールが壁に当たったときの跳ね返りの
角度を計算する」とか、そういうことを学ばせるために課題を出したんだと思う。
だとしたら、まったく同じくパクる必要はなくて、ちゃんと計算式が理解出来て、それをプログラムに
反映できればいいんじゃないかと思う。
で、そういう計算は、俺は分からんから、他の人に任せます。
あと、サイト見つけた。
http://pc.2ch.net/tech/kako/1004/10048/1004855513.html
http://www.geocities.co.jp/SiliconValley/2530/vbblock.html
0206いちごNGNG
レスありがとうございます。
私も最初そういう主旨だと思って、だいたい似たような速度の上がり方
するもので提出したのですが、sample.exeはなにか特別な関数を使ってる
らしく全く同じ(1pixelも違わずに)してくれと却下されました。
パクることも目的のようです。
0207いちごNGNG
はい、先輩にきいたのですが、
eXescoperなんて知らないって言う人ばかり(いじめ?)で
上司に聞いたら、それを調べるのが仕事とつっかえされました(涙)
0208いちごNGNG
202さんへ、レスありがとうございます。
とんちんかんな質問でしたらごめんなさい。
eXescoperはコンパイル前の状態を復元するものでは
ないということでしょうか?
0209デフォルトの名無しさんNGNG
>>208違います。
eXescopeは”なにか特別な関数”を使っている事や
その関数名とかはImport情報から分かるかもしれないが
例えば関数の引数の意味など仕様までは教えてくれない。
だから”よっぽど特別”な関数でない限り全く同じは無理。

情報を小出しにするあんたも、無茶な課題を出す上司
2人とも意識はないかもしれんが、相当悪質だぞ。
0210デフォルトの名無しさんNGNG
>>208
違います。リソースを調べる物です。
これでアプリケーションの動作を検証するなんて事は出来ません。
そのサンプルはゲームだから目で見て判断するしかないんじゃないでしょうか?
0211いちごNGNG
レスありがとうございます。
ということは全く同じにするには
本当の逆コンパイルツールっていりますよね?
そんなのあるのでしょうか?
すみません、いろいろ聞いちゃって。
0212デフォルトの名無しさんNGNG
ある。が、DelphiのObjectPascalでなくアセンブラになるな。
…つまり、やめとけって事。
0213いちごNGNG
レスありがとうございます。
アセンブラ→ObjectPascal翻訳みたいなツール
ないですよね・・すみません。
てことはどうしろってことなのかな?
単なるいじめ?
0214デフォルトの名無しさんNGNG
どうでもいいがいじめいじめウザい
0215デフォルトの名無しさんNGNG
eXescopeと課題の関係なさを説明しろってことかなぁ
リソースの中になにか数字が入ってるんだろうか
まったく同じにするには動画としてキャプったほうが手っ取り早そうだな
sample.exeとやらをうぷするわけにはさすがにいかんだろうが他にはなにもないの?
0216デフォルトの名無しさんNGNG
ここか?
http://homepage3.nifty.com/digikei/ten.html
0217デフォルトの名無しさんNGNG
>てことはどうしろってことなのかな?
知らんわ。あんたの上司の言う通りだ。ちったぁ自分でかんがえろや
ここはDelphi質問スレであって、新入社員を育成するスレじゃない。出直せ
0218いちごNGNG
215さん、レスありがとうございます。
今、eXescoperをみてみたのですが、
リソースってのは具体的にどの部分のことを
いうのでしょうか?
0219デフォルトの名無しさんNGNG
そろそろウザクなってきませんか?

>>218
リソースはいくつも意味があるが、この場合は、
exeファイルに埋め込まれた、アイコンや文字列、その他のデータを意味する。
0220デフォルトの名無しさんNGNG
で、上司だけど
真性の馬鹿で、exescopeや逆コンパイルを何か知らないで渡したか、
わざと間違った道具を渡して、自分で調べさせようとした
のどちらか。
0221デフォルトの名無しさんNGNG
できないならできない正統な理由を調べてレポートしろや、なあ。
できないことを証明するのも科学のうちだと学生のころにやったっしょ?
0222デフォルトの名無しさんNGNG
レス付けてる人たちが、eXeScopeとeXeScoperがごっちゃにしてるような気がしなくもない。
似たようなもんだけどさ。
0223デフォルトの名無しさんNGNG
つーかブロックの数に反比例して速度上げるくらいすぐ出来るだろ
0224デフォルトの名無しさんNGNG
ExtractHeaderFieldsを使って、文字列を分解しようと思いセパレーターを
このように設定しました。
Parser:TSysCharSet;
Parser := [#$0..#$FF] - ['0'..'9', 'A'..'Z', '_', 'a'..'z'];
私としては、['0'..'9', 'A'..'Z', '_', 'a'..'z']以外のもの(空白や()、@等)
がセパレーターになると思ったのですが、違うようなのです。
空白や括弧等複数のセパレーターを設定するには、どうしたらいいでしょうか?
教えてください。よろしくお願いします。
0225162NGNG

A型です
0226デフォルトの名無しさんNGNG
> がセパレーターになると思ったのですが、違うようなのです。

どこで違うと思った?
0227224NGNG
例えば AAAAA() という文字列があった場合AAAAAが取り出されると思うのですが、
AAAAA()と、全部なってしまうのです。
ブレークポイントを設定してマウスを合わせてみたら、Parserの中身は'@','[','_'
など6個ぐらいしか設定されていないようなのです。

0228デフォルトの名無しさんNGNG
>>218
ネタの予感がしますが…
課題からしてほぼ9割いじめと考えていいでしょ。
コンパイルされたアプリから内部処理を取得することは普通のレベルの
プログラマには不可能です。(リソースは簡単)
DLLにリンクされていれば内部処理結果を取得することは可能でしょうが
それにしてもDLLの仕様を取得する必要があります。
0229なのだ!NGNG
天才の反対の反対
↑
結局、天才では?
0230224NGNG
自己レスです。
ExtractHeaderFieldsは、urlを分解する為のものなので空白をセパレーターに
指定しても無視されるようです。
よく考えたらurlの場合は空白で区切るとまずいですよね。
(私の質問がまずかった。urlとかに関係のない文字列を分解しようとしている
ことを書かなかった)
226さん ありがとうございました

0231デフォルトの名無しさんNGNG
function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;

説明

ExtractStrings 関数を使うと,Content で指定されたヌルで終わる文字列の部分文字列を文
字列リストに挿入できます。
Separators は,部分文字列を区切る区切り記号として使われる文字のセットです。復帰,改
行文字,および引用符(一重または二重)は常に区切り記号として扱われます。引用符付き
文字列の中の Separators は最後の引用符が現れるまで無視されます(引用符を二重にし
た場合,引用符を引用符付き文字列内に表示できます)。
WhiteSpace は,文字列の先頭にある場合に Content の分解時に無視される文字のセット
です。

Content は,部分文字列に分解されるヌルで終わる文字列です。
Strings は,Content から分解されたすべての部分文字列が追加される文字列リストです
。この文字列リストは ExtractStrings ではクリアされないので,文字列リストの既存の文字
列はそのまま維持されます。
ExtractStrings は,Strings パラメータに追加される文字列の数を返します。

注意ExtractStrings は,空の文字列をリストに追加しません。
0232デフォルトの名無しさんNGNG
>>231
(´-`)。o ○ (オイオイ…)
0233デフォルトの名無しさんNGNG
>>192
確かにそういう時期があったが、その後、複数起動を許すMDIなら
SDIとしてもMDIとしても利用できるので、現在はMDIを推奨してるんでなかった?
なにかの書籍で読んだ覚えが。
0234いちごNGNG
222さんへ、ご指摘いただきありがとうございます。
私も今、eXescopeというのがあるのを知りましたが
私が渡されたのはeXescopeRです。eXescopeではありません。
レス頂いた皆さんへ、スペルを見る限り勘違いされてますね。
0235いちごNGNG
223さんへ、反比例がどうかはわかりません。
わかっているのはブロックの数が少なくなると球のスピード
があがるということだけです。それを満たす関数なんて無数にありますよね。
(反比例というのもその中の1つですが)
課題はその中から特定しろってことです。
0236デフォルトの名無しさんNGNG
厨房な質問で申し訳ないんですが、
&&rrlo;を使って反転させるのはわかるんですが、トリップ入れると反転
はできないと思ってたんですが・・・
http://okazu.bbspink.com/test/read.cgi/ascii/1041248983/308
↑これ どうやるんですか?
って・・・やっぱり、わかりませんよね
厨房すまそ
0237デフォルトの名無しさんNGNG
上司は eXescoper を逆コンパイラと勘違いしているのかも。


0238デフォルトの名無しさんNGNG
>>234
勘違いしていた。
だが、exescoperとやらも試してみた限り、逆コンパイラには程遠い代物だぞ。
やはり、いじめか、上司がバカかだな・・・。
0239いちごNGNG
課題があともう1つ出てるので、わかる方みえましたら
アドバイス頂けたら幸いです。
電話で商品の注文を受け付けるシステムについて
{電話での入力(ボタンを押す)に対して音声を返す(”在庫切れです”など)}
Delphiでできるそうなのですが、どんなハードのデバイスやコンポーネントが
必要になるのでしょうか?CTIサーバというのらしいのですが関連業界の方
みえたらさしさわりがない範囲でかまいませんので教えて下さい。
0240デフォルトの名無しさんNGNG
>このソフトはDelphiでコンパイルされたEXE/DLLファイルを高速で解析して
>DFMファイル(Delphiフォーム)を抜き出したり、使用しているクラス及びPAS
>ファイル(Delphiソースコード)を取得することが出来ます。
>いわゆる逆コンパイラーに近い働きをすることが出来ます。たぶん。(^^;
>また、 自分で作成したプロジェクトの管理または他人が作ったプロジェクト
>を解析したい人にお勧めのソフトです。

なーんて書いてあるから、勘違いしたのでしょう。
上司の間違いを指摘すると逆切れされるかもしれないので、
適当に似せて作って、同じにはなりませんでしたと言えば良いでしょう。
0241デフォルトの名無しさんNGNG
上司がここ見てたらどうするのかなぁ…。
0242224NGNG
と言う訳で、どなたか単語に分解する関数知りませんか?

0243デフォルトの名無しさんNGNG
>>239
Delphiで出来る事は、CTIサーバメーカーが提供するライブラリのAPIを
呼ぶぐらいじゃないの?
0244いちごNGNG
eXescoperに関して、ファイルをみていったら
nameのところにらしき関数が書いてあったので
それで提出します。
レス頂いた皆様、ありがとうございました。
0245いちごNGNG

0246デフォルトの名無しさんNGNG
224,230です。
ExtractHeaderFieldsについて、くどくいようで申し訳ないのですが、
D6だと空白や括弧 ( で文字列を切り分けてくれるのですが、D7では切り分け
てくれないようです。
PRO版なのでソースを見比べてみたのですが、何が違うのか判りませんでした。
D6、D7どちらが正しいのか判らないのですが、D6の動作にしたいのでどなたか、教えてください。よろしくお願いします。
(とりあえずは、D6でプログラムします。)
0247デフォルトの名無しさんNGNG
>>246
レス全部読まないバカは嫌い。
0248世直し一揆NGNG
<血液型A型の一般的な特徴>(見せかけの優しさ・もっともらしさ(偽善)に騙され
るな!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ、自己中心)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとす
る(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際には
たいてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本
の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く
、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「世間体命」、「〜みたい
」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は
個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あいつの足を引っ張ってやる!!)」)
0249デフォルトの名無しさんNGNG
Cで書かれたDLL内の、void hoge(char** au); を、Delphiから呼び出したいんですが
どう宣言すれば良いんでしょうか?

procedure hoge(au: array of pchar); <実行時例外
procedure hoge(au: array of array of pchar); <コンパイルエラー
0250デフォルトの名無しさんNGNG
>>249
type

ppchar = ^PChar;

procedure hoge(au: ppchar);cdecl;
0251デフォルトの名無しさんNGNG
>>250
すいません、追加で教えて下さい。
var
test: ppchar;
begin
GetMem(test, 1);
GetMem(test^, 6);
strcopy(test^, 'test0');
end;
こうすると、実行時例外になります。
メモリの確保と代入のところで何か間違いを犯してるんだと思うんですが
ppcharに値を代入するには、どうすれば良いんでしょうか?
0252デフォルトの名無しさんNGNG
DelphiってDLLのあつかいがめんどくさいね。
0253デフォルトの名無しさんNGNG
特に文字列の扱いがね。
0254デフォルトの名無しさんNGNG
ArrayPChar = Array of PChar;
PArrayPChar = ^ArrayPChar;
procedure hoge(au: PArrayPChar); cdecl;

var
test: PArrayPChar;
begin
GetMem(test^,2);
GetMem(test^[0], 6);
GetMem(test^[1], 6);
strcopy(test^[0], 'test0');
strcopy(test^[1], 'test1');

としたらできました・・・・・・けど、なんでこんな複雑なことに?ヽ(;´Д`)ノ
0255デフォルトの名無しさんNGNG
procedure hoge(var au: Array of PChar); cdecl;

var
test: Array of PChar;
begin
GetMem(test, 2);
GetMem(test[0], 6);
GetMem(test[1], 6);
strcopy(test[0], 'test0');
strcopy(test[1], 'test1');
end;
こうすると実行時例外になるんですが、なぜなんでしょう?
varはアドレスを渡すから、>>254と同じ結果になると思ったんですが・・・・・・
0256デフォルトの名無しさんNGNG
Delphiなんか使わないでC/C++使えよ(藁
0257デフォルトの名無しさんNGNG
>>251
GetMem(test, 1);→GetMem(test, 4);じゃないか。
SizeOf(PChar)の値だから。


0258デフォルトの名無しさんNGNG
まっDelphiでAPIなんか使うなってこった。
0259デフォルトの名無しさんNGNG
>>257
はう、確かに・・・・・・でも、>>254でエラーにならないのは何故なんだろう?
ポインターわからんですヽ(;´Д`)ノ
0260デフォルトの名無しさんNGNG
>>258
アホ丸出しです。

>>252
他の言語より遙かに簡単です。


>>249
Cで作ったDLL側がstdcall呼び出し規約を使ってるならdelphi側も

procedure hoge();stdcall;

にすべし。
0261デフォルトの名無しさんNGNG
249は根本的に間違ってないか?
DLLから関数を呼ぶときは、external でDLLのファイル名を指定しないと
procedure hoge(p:ppchar);external 'ABCDE.DLL';

0262デフォルトの名無しさんNGNG
おいコラ! 教えてたら自分でできなくなるだろ!アホかてめえあえええええええええええええええええええええええええええええええええ あほかてめええええええ
0263↑(´∀`)MVPNGNG
 
0264246NGNG
すみません。あほです。
レスは全部呼んだつもりですが、多分231のレスを私が理解し切れていないため
あほ扱いになったと。
ヘルプは呼んだのですが、あの文章からどの文字では区切られて、どれではだめか
読みとる力がありません。
あほに解説していただけませんか?
0265デフォルトの名無しさんNGNG
>>あほ
あほには何いっても無駄
0266デフォルトの名無しさんNGNG
>>あほには何いっても無駄
え〜 そんなにおこらなくても。。。
これだから、ヒキオタは(略
0267デフォルトの名無しさんNGNG
x[i]の値とx[j]の値を入れ替える手続きswapを
procedure swap(var x,y:array of integer);
var temp:array of integer;
begin
temp:=x;x:=y;y:=temp;
end;
と定義したら
'Array' と 'dynamic array' には互換性がありません
って怒られちゃいますた。助けてください。
0268デフォルトの名無しさんNGNG
★http://jsweb.muvc.net/index.html★
  ★こんなサイト見つけました★
0269デルファイの名無しさんNGNG
>>267
Pascalでは同じ内容でも別の場所で宣言した型は別の型。

type T = array of integer;
procedure swap(var x,y:T);
var temp:T;
begin
 temp:=x;x:=y;y:=temp;
end;

ならどうです?
0270デフォルトの名無しさんNGNG
つーか・・・
procedure swap(var x,y:Integer);
var
 temp: Integer;
begin
 temp := y; y := x; x := Temp;
end;
じゃいかんの?
0271267NGNG
ありがとうございます。でも両方とも
k:=0;
for l:=1 to r do
begin
if x[l]>x[l+1] then begin
swap(x[l],x[l+1]);
k:=l;
end;
r:=k-1;
end;
end;
の swap(x[l],x[l+1]); の部分で
変数実パラメータと変数仮パラメータとは同一の型でなければなりません
ってまた怒られちゃいますた…
0272デフォルトの名無しさんNGNG
キャストすれ
0273デフォルトの名無しさんNGNG
>>272
キャスト?
0274デフォルトの名無しさんNGNG
>>273
(・Д・)!?
0275デフォルトの名無しさんNGNG
>>274
( ;´Д`)
0276デルファイの名無しさんNGNG
なんだ。全体じゃなく要素の入れ換えか。なら>>270でいいでしょ?
実はxがIntegerの配列ではないなんてオチで無ければ。
0277 NGNG
>>276
思いっきりそれですた…
ご迷惑おかけしますた。回線切って(ry
0278しつもんNGNG
可変部付きのレコード型のタグフィールドって何か意味あるの?
使い方がよおわからん???

type
TRec = record
A:integer;
B:integer;
case C:Boolean of
True:(D:integer);
False:(E:integer);
end;

この時、フィールドDとFはいつでも読み書き出きるでしょ。
なら、タグフィールドCって何に使われるのでしょう?

0279デフォルトの名無しさんNGNG
>>278
DとEは同じ記憶領域を共有するってわかってる?
同じ型じゃ可変部にする意味ないじゃん。
0280しつもんNGNG
間違えた

type
TRec = record
A:integer;
B:integer;
case C:Boolean of
True:(D:integer);
False:(E:String[10]);
end;
0281しつもんNGNG
DとEは同じメモリアドレスにアクセスするのはわかるけど、
Cの値関係無しに、DとEどちらも書き込み出きるでしょ。
C値によって、どちらかが制限されるのならわかるけど、
じゃあ、この中のCaseってどんな動作するの?
Cの使い方って?
0282しつもんNGNG
>>279
同じ型にする意味はありますよ。
同じメモリ領域に二つの識別子が使えるので、
一つのレコード型データに対して、どちらかのフィールドしか使わない
(二つ一緒に使う事はない)
場合、メモリが節約できます。
0283デフォルトの名無しさんNGNG
>>282
まじで?
0284デフォルトの名無しさんNGNG
>>283
後、ビット列の表現を変えたい場合な。

IntegerとByte4つの構造体を共用させればRGB形式のデータの操作が楽だったり。
0285282NGNG
278=280=281=282=284 なのかな?
メモリの節約なんてできませんよ
SizeOf の戻り値見てる?
むしろ case 文の分だけ損してる

> 後、ビット列の表現を変えたい場合な。
「後、」って何だろ?(w
その副詞は話の流れとして相応しくないな
レコードの可変は主にそのためにあるんでしょ

同じ型にして意味のある事といえば、ヘルプに出てくるみたいに
変数名を別にできるということくらいでしょう
0286デフォルトの名無しさんNGNG
>>285
>同じ型にして意味のある事といえば、ヘルプに出てくるみたいに
>変数名を別にできるということくらいでしょう

アホですか?それになんの意味があるというのだ。
0287285NGNG
>>286
あなたのアホすぎる質問に、発言するのが嫌になった・・・
0288デフォルトの名無しさんNGNG
type t1=record a,b:Integer; end;
type t2=record case Boolean of true:(a:Integer;);false:(b:Integer;) end;
type t3=record case C:Boolean of true:(a:Integer;);false:(b:Integer;) end;
begin
AllocConsole;
writeln(sizeof(t1));
writeln(sizeof(t2));
writeln(sizeof(t3));
end;
実行結果
8
4
8
0289デフォルトの名無しさんNGNG
タグフィールドは、Borland実装が単なるフィールドとしてしか扱わないってだけで、
p-codeやインタプリタのPascalには、ちゃんと見てくれて、
タグフィールドが向けられてない要素にアクセスしようとするとエラーになる実装が存在する

…と何処かで読んだ気がする。
0290デフォルトの名無しさんNGNG
なんかさいきんあほとかばかとかでおわらせるのおおいな
0291デフォルトの名無しさんNGNG
D6PROですが、かなり内部のソースコードまで付属しているんですね。
ひょっとしてDelphiそのものをビルドできちゃうとか?
IDEの正規表現検索を自分のアプリに組み込みたいのですが、
ユニットorクラスが見つかりません。
おしえてください。
0292デフォルトの名無しさんNGNG
まあほんとうにばかなんだけどな
モナーじゃしょうがないのか...

>>291
ありません
0293デフォルトの名無しさんNGNG
>>291
See also
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/index.php
0294デフォルトの名無しさんNGNG
ガッカリ。。

とあるフレームワークでは標準装備なのに。。
0295デフォルトの名無しさんNGNG
>>293
あ、これいいですね。どうもです。
ググルでは外部DLLものばかりひっかかってウンザリしてたんです。
0296デフォルトの名無しさんNGNG
>295
しょせんんVBにはかなわんよな。プツ
くそったれ
デルポイ
0297デフォルトの名無しさんNGNG
ろくにVBできねアフォが調子こいてんじゃねえよ
いっとくけどDelphiのほうが上だバカ
0298デフォルトの名無しさんNGNG
比較して、こっちが上だと言う人は、両方の言語を使いこなしてないんだろうな。
0299デフォルトの名無しさんNGNG
ばかやろう、VBの方がまだましだぜ。
たとえば、先行きわからんVCLに頼っているやつは
あほだろ。
0300I90vmCq+NGNG
ボクは西沢選手が大好きです♥
0301デフォルトの名無しさんNGNG
>>299
あなたの対象としてるのは、VB6までのこと?VB.NETからのこと?
0302デフォルトの名無しさんNGNG
全部同じ奴っぽいな。
VB>DELPHIってほざいてんの
0303デフォルトの名無しさんNGNG
Pascal >> delphi
だな。
かなりobject pascal文法は
いい加減だぞ。
0304デフォルトの名無しさんNGNG
とあるフレームワークって.NET Frameworkのことだよ。
なにVB厨に釣られてるんだ(w
まあ.NETにもVBあるけどな。
0305デフォルトの名無しさんNGNG
なにが.NETだつぎからつぎ新しいのだしやがって
難しくなっただけじゃねーーーーーーーーーーーのか
中身一緒で難しくなっただけじゃねえええええええええええええええええええええのか
つぎつぎ新しいのでてきりがねええええええええええええええええええんだよ
ちょっと書き方かわっただけじゃねえええええええええええええええええええのか
せっかく慣れたと思ったら次の出やがってやってらんねえええええええええええっての
信用ねえええええええええええええええええええええええええええええええっつの
0306デフォルトの名無しさんNGNG
結論 Delphi.NETなんかだすな。
0307デフォルトの名無しさんNGNG
>>296
とかカキコしてるツールが かちゅ とか ギコナビとか(w
0308デフォルトの名無しさんNGNG
>>307
Janeだヴォケ(嘲笑禿藁
0309デフォルトの名無しさんNGNG
>>305
同意。
0310デフォルトの名無しさんNGNG
>>308
それ同じことだ。まじれすスマソ。
0311デフォルトの名無しさんNGNG
なぜ2ちゃんねる関連のツールはDelphiやVB製が多いのだろう。
0312..NGNG
>>311
ソフトウェアのできは、使うツールとは関係ない。ってこと。
0313デフォルトの名無しさんNGNG
>>311
ユーザーが多いからだろ
ちなみに監視所、アクティブスレッドランキング、みみずん検索なども2ちゃんねる関連のツールと捉えると
Delphi、VBが多数派とも言えない
0314デフォルトの名無しさんNGNG
(1)
external宣言でWin32APIを使う利点は、関数名にエイリアスを使えること以外に
ないように思えるのですが、他に何かメリットはありますか?

(2)
Handle(HWnd)を受け取る引数は何型で定義すればよいのでしょうか?
Integerだと「型が不一致」でハネられるのですが・・・。
0315デフォルトの名無しさんNGNG
>>314
楽

Cardinal
0316デフォルトの名無しさんNGNG
>>315

(1) VBのDeclare宣言とおなじで、煩雑だと思います。
  楽だとは思えないんですが・・・。

(2) Cardinalとはちょっと気が付きませんでした。感謝です。
0317デフォルトの名無しさんNGNG
>>316
GetProcAddrとかLoadLibraryの戻り値はちゃんとチェックしてくださいね。
0318bloomNGNG
http://www.agemasukudasai.com/bloom/
0319デフォルトの名無しさんNGNG
>>317
コメントありがとうございます。
0320デフォルトの名無しさんNGNG
(3)
Delphiで作ったDLLのAPIをVBクライアントからDeclare宣言で呼び出すと、
function(procedure)の実行は出来るのですが、呼び出し元に変更を反映
させたい引数が、変更されません。(値渡しの引数やローカル変数と同じ
ような動作で、関数スコープ内でしか値が有効でない)
引数の型をPInteger(PChar)に変更したり、VB側のAPI関数宣言でByValを
ByRefに変更したりしましたが、結果はおなじでした。
どのようにコーディングすればよいのでしょうか?
(ちなみに、Delphi側の引数宣言をvarに変更したら、アプリケーション
エラーで落ちました)

(4)
VBクライアントから利用するAPIで文字列を返す場合は、PCharではなく、
PWideChar(Unicode扱い)でないとダメですか?
(1)の問題が解決しないことには意味がありませんが・・・。
0321デフォルトの名無しさんNGNG
>>320
補足ですが、当然stdcallは記述しています。
「参照渡し引数の値の変更をクライアント側に反映させる」以外の動作は
一通り問題なく実現できています。
(テスト的なものなので、あまりむずかしい処理は書いていないのです)
0322デフォルトの名無しさんNGNG
>>320 を書いた後で、

ttp://www.users.gr.jp/ml/archive/delphi/33597.asp

を見つけました。これで何とかなるのかな・・・?
0323デフォルトの名無しさんNGNG
>>320

ttp://www.users.gr.jp/ml/archive/delphi/33627.asp

↑こんなのも見つけたのですが、この本、今でも入手できるのだろうか?
0324デルファイの名無しさんNGNG
(1) C/C++製のdllだと関数名に変な記号が付いていて別名与えないとどうしようもない場合有り
(3) VB側で、違う型を与えてません?VBだとByRefに式が書けてその場合変更は無視された気が
(4) 6以前のVBは文字列の扱いがややこしいのでVariantに入れて返すのが一番楽と思う
0325デフォルトの名無しさんNGNG
>>324
コメントありがとうございます。
結果報告は、後日・・・。
0326デフォルトの名無しさんNGNG
教えて頂きたいのですが、

Delphiで、ShellAPIのShellExecute関数を使っているのですが、
起動したアプリケーションとDelphiのプログラムが同時に走ってしまい、
プログラムがうまくいきません。

ShellExecute関数で起動したアプリケーションの終了を確認してから、
プログラムの続きを実行する方法をどなたか教えて頂けないでしょうか。

宜しくお願いします。
0327デフォルトの名無しさんNGNG
FAQ
0328組込もしまっせNGNG
WaitForSingleObject か
GetExitCodeProcess を使えば該当アプリが終了してるかどうかわかりますが
ところが、これらのAPIを呼出すのに必要なハンドルを ShellExecuteは返してくれません。

対策は、
1、ShellExecuteEx を使って hProcess を使う
2、 FindExecutable で対応アプリの名前を調べてCreateProcessする
0329326NGNG
>>328

ご返答ありがとうございます。
教えていただいた内容を調べて概要が分かりました。

難しそうですが、何とかがんばってみます。
ありがとうございました。
0330デフォルトの名無しさんNGNG

SpinEditというコンポーネントを使って数値を変えて
ボタンを押すとその数値を使って処理をするというプログラムについてなんですが、

処理が終わった後、ユーザーによって変えられた数値を
「元に戻す」ボタンで初期値に戻すためにはボタンを押したときに
SpinEdhit1.Valueに初期値を書いて代入する以外に何か方法ってありますか?


0331デフォルトの名無しさんNGNG
>>330
Undoメソッドがあるにはあるけど
 キー入力→Undo→(・∀・)アンドゥセイコウ
 スピン→Undo→(・A・)アンドゥデキン
となった(Del6付属のTSpinEdit)
0332デフォルトの名無しさんNGNG
ボタンを押すとテキストファイルにその日の日付を書き込みたいのですがどのようにやればいいのでしょうか?

たとえばボタンを押すと「2003/01/28」という文字がfile.iniの一番上の行に追加されるというものです。
昔の日付はだんだん下の行に下がっていく、つまり新しく書き込むと上から順に追加される
という感じなのですがこれはどうやるんでしょうか?
0333組込もしまっせNGNG
TStringList.Create; して、 LoadFromFileして、先頭に
Insert FormatDateTime して SaveToFileかな

でも、
新しい書き込みが下になった方が パソコンには優しい処理だと思うけどなあ・・・・
0334デフォルトの名無しさんNGNG
ユーザ的に不便

はい次
0335デフォルトの名無しさんNGNG
procedure TForm1.Button1Click(Sender: TObject);

var

vdate : String; vdata : TStringList;

begin

vdata := TStringList.Create ;
vdata.Text := vdate;
vdata.SaveToFile ('test.txt');
vdata.Free ;

end;

こんな感じでとりあえず保存だけやり方がわかったのですが追加書き込みはどうやるのでしょうか?
新しい日付が最初にこなくてもいいのでファイルもう一度ボタンを押すと
次の行に追加されるようにしたいのですが調べても詳しく分からなかったので
例みたいなものを教えていただけないでしょうか
0336335NGNG
追記:vdateには日付が文字列型で入っています。
0337デフォルトの名無しさんNGNG
コンソールアプリケーション作ったんですが
コマンドプロンプトで300行弱しか表示されません。
もっと表示するのって無理なんですかね…?
0338デフォルトの名無しさんNGNG
コンソールアプリで表示される行数って考え方が今風だな(w
0339デフォルトの名無しさんNGNG
>>337
OS次第。
0340デフォルトの名無しさんNGNG
>>337
あなたの言われる機能はターミナルに依存します。
よって、履歴機能を自力で実装するしかないです。
0341デフォルトの名無しさんNGNG
>>338-340
ありがとうございました。
0342デフォルトの名無しさんNGNG
とはいえ、300行ってことは、NT系だろうからコマンドプロンプトのプロパティで増やせるはず。
0343デフォルトの名無しさんNGNG
誰も解決策知らないのかよ(w
0344デフォルトの名無しさんNGNG
>>342
もっと具体的に教えてください。
0345デフォルトの名無しさんNGNG
>>344
何をつかってるんだ。
0346デフォルトの名無しさんNGNG
だからターミナルに依存すると言っているだろうに
アプリ側でどうにかなるもんじゃない。てうかどうにかするほうが反則だゴルァ

それも嫌なら自前で出力ウィンドウ作るとか、リダイレクト使ってファイルに吐かせるとか。
0347デフォルトの名無しさんNGNG
整列の時間を計ろうとしたら早く終わりすぎて計れなかったんでループさせてから
かかった時間をループ回数で割って計ろうとしました。
自分で作ってみたんですが途中で整列する対象がソート済みの配列に変わってしまうんです。
整列前のソートをソートし続けるいい方法はないですかね?
begin
for i:=1 to 100 do begin
y[i]:=101-i;
end;
for j:= 1 to 10000 do begin
for k:=1 to 100 do begin
x[k]:=y[k];
end;
while m<=100 do begin
writeln('x[',m,']=',x[m]); m:=m+1;
end;
for r:=100 downto 1 do begin
for l:=1 to 99 do begin
if (x[l]>x[l+1]) then swap(x[l],x[l+1]);{swap(x,y)はxの値とyの値を入れ替える手続き}
end;
end;
end.
0348デフォルトの名無しさんNGNG
毎回初期化するか降順昇順でソートするかQueryPerformanceCounter使え。
0349デフォルトの名無しさんNGNG
>>348
一応ループの中に
for k:=1 to 100 do begin
x[k]:=y[k];
end;
って入れてループに入るたびにxの値を更新するようにしたつもりなんですが…
0350デフォルトの名無しさんNGNG
>>335

実行してないので間違ってたらスマソ・・・

var
vdate : String;
vdata : TStringList;

begin
vdata := TStringList.Create ;
vdata.LoadFormFile ('test.txt');
vdata.Add(Newdata);
 ・
 ・
 ・
 ・
vdata.Free ;
end;
0351デフォルトの名無しさんNGNG
Webページのデータから、リンクしているファイルのアドレスを抽出するコンポーネントなどはないでしょうか?
自分でHTMLを解析するのが面倒なので、定番のライブラリなどがあったら教えて欲しいです。
0352デフォルトの名無しさんNGNG
test
0353347NGNG
while m<=100 do begin
writeln('x[',m,']=',x[m]); m:=m+1;
end;
の部分を
for m:=1 to 100 do begin
writeln('x[',m,']=',x[m]);
end;
に変えたらなぜか知らないけどうまくいきました。すいません。
0354デフォルトの名無しさんNGNG

シングル型の変数 Data に 2.222222 という数値が入ったとして
これを2.2にしたいのですが、FormatFloatを使ってもうまくいきません。

Data2 := FormatFloat('0.0',Data);

Label1.Caption := Data2;

にするとラベルには0.0と表示されてしまいました
どんな感じでやればいいのでしょうか?
0355デフォルトの名無しさんNGNG
このダイアログを使いたいんですが、どこにありますか?
http://www.42ch.net/UploaderSmall/source/1043761966.jpg
0356デフォルトの名無しさんNGNG
見れない
0357デフォルトの名無しさんNGNG
すいません、「フォルダの参照」ダイアログに「フォルダの新規作成」
機能がついた奴です。ついてない奴は見つけたのですが、新規作成が
できればかなり便利になると思いましたので。
0358デフォルトの名無しさんNGNG
>>354
実験したけどちゃんと"2.2"になったよ。
Dataの初期化をわすれてないか。
0359Delフサギコ ◆A6VzDeLphI NGNG
http://takamichie.tripod.co.jp/warehouse/units/index.html

   ∧,,∧    /
  ミ,,゚Д゚彡 < ほいな。
   ミ つ つ   \
 @ミ  ミ      
   ∪''∪     
>>351さん
0360デフォルトの名無しさんNGNG
>>359
そのページ、初めて見るけど、
>関数郡です
  ↑
「関数群」だよなぁ。

ま、くだらないあげあしとりだけどさ。
0361デフォルトの名無しさんNGNG
Glyph が TImageList になってる TSpeedButton がほスィのですが、
探し方が悪いのか、いくら探してもみつかりません。
もしご存じのかたおられましたら教えてください。
よろしくお願いします。
0362初心者NGNG
AVIからWAVを摘出するコードを書きたい。
どうするの?
0363361NGNG
いじってたらできてしまいました
もういいです
0364デフォルトの名無しさんNGNG
>>358

すいません。こちらのケアレスミスでした。

50 / ((150/100) * (150/100))

とやらなければいけないところを

50 / (100 * 100)

にしていたので前者の答えは0.0022222...で後者の答えは22.2222...になるため
前者は0.0に、後者は22.2になっていました。

ちなみにDelphi初めて間もないのでよくわからないのですが、
なぜ変数を初期化しなければいけないのでしょうか?
初期化するのは違う値を何回も入れ替えるときのみでいいんでしょうか?
それ以外の、たとえば1回しか代入しないような変数は初期化しないでもOKですか?
0365デフォルトの名無しさんNGNG
>>315
せっかくコメントを頂いたのに申し訳ないのですが、後で調べてみたら、
THANDLE で問題なく動作しました。たぶん、Cardinalよりこちらの方が
ベターだと思います。

>>326
VB用のサンプルコードなら、WEB上で探せば腐るほどあるので、VBのコード
を読み書きできるなら、それをDelphiで書き直すのもありだと思います。
Win32APIの代わりにWSHを使う方法もあります。
 Delphi用のコードも、WEBや書籍で見た記憶があるのですが、残念ながら
提示できません。(どこで見たか忘れた・・・)


・・・>>320-321の問題は未解決です。(T_T)
(>>322を読んだが、イマイチ意味がよくわからないし)
どこかにわかりやすいサンプルコードはないだろうか?
0366デフォルトの名無しさんNGNG
>>365
WIndowsAPIと同じ様な動作で良ければ

// Delphi側
function testproc( X: PChar ): Integer; stdcall;
begin
  StrCopy( X, 'Hello World' );
  result := 12;
end;

'' VB側
Private Declare Function testproc Lib "AHAN\UHUN.DLL" (ByVal X As String) As Long

Private Sub Main()
  Dim X As String
  Dim L As Long
  X = Space(100)
  L = testproc(X)
  MsgBox L & " '" & X & "'"
End Sub
0367組込もしまっせNGNG
>>320
文字列を返したいのですか?
VBの事はもう忘れてしまったのですが、一般的な話として文字列を返したい場合は
 文字列用の領域を用意し、領域サイズもあわせて引数として渡す必要があります。
 WindowsのGetWindowText API を参考にすると良いでしょう。

マルチスレッドを使わない場合は、関数の引数で返さず、
その関数内で別の変数に代入しておいて、別の関数でPCharで返す方法もあります
0368デフォルトの名無しさんNGNG
>>366-367
ありがとうございます。
無論、文字列も・・・なんですが、それ以前に数値(32bit整数)も返せていない(DLL内で
MessageboxAで表示してみると正しい値が入っている)という情けない状況です。(T_T)
0369366NGNG
>>368
ほれ。
メモリ管理はどうなっているかわからん。調べてくれ。

// Delphiだってさ
uses
Ole2 in '..\..\..\..\..\Program Files\Borland\Delphi6\Source\Rtl\Win\Ole2.pas';

function testproc( var X: PWideChar; var Y: Integer; Z: PInteger ): Integer; stdcall;
const
  X_ = 'はいりはいりふれはいりほー';
begin
  X := SysAllocStringByteLen( X_, Length( X_ ) );
  Y := 8823;
  Z^ := 2003;
  result := 11;
end;


'' VBだってばよ
Private Declare Function testproc Lib "KILLTHEVB.DLL" (ByRef X As String, ByRef Y As Long, ByRef Z As Long) As Long
Private Sub Main()
  Dim X As String
  Dim Y As Long
  Dim Z As Long
  Dim L As Long
  L = testproc(X, Y, Z)
  MsgBox L & " '" & X & "' ," & Y & "," & Z
End Sub

0370あべしNGNG
コントロールパネルにある
サウンドとマルチメディアの設定(OSによって名前が違うかも)で
起動音やごみ箱の音とか登録してまとめれて変えられますが
現在選択されているものをプログラムで外部から操作できないでしょうか?

個々の設定を変えるのではなく、用はデスクトップテーマの
効果音だけ変更ソフトみたいなのを作りたいんですが。
0371デフォルトの名無しさんNGNG
>>370
レジストリを書き換えるしかない。
0372MisterNGNG
Delphi personalをはじめようと思うんですが、何からはじめればいいですか?
0373詭弁の特徴のガイドラインNGNG
1:事実に対して仮定を持ち出す
    「犬は子供を産むが、もし卵を生む犬がいたらどうだろうか?」
2:ごくまれな反例をとりあげる
    「だが、時として尻尾が2本ある犬が生まれることもある」
3:自分に有利な将来像を予想する
    「何年か後、犬に羽が生えないという保証は誰にもできない」
4:主観で決め付ける
    「犬自身が哺乳類であることを望むわけがない」
5:資料を示さず自論が支持されていると思わせる
    「世界では、犬は哺乳類ではないという見方が一般的だ」
6:一見関係ありそうで関係ない話を始める
    「ところで、カモノハシが卵を産むのは知っているか?」
7:陰謀であると力説する
    「それは、犬を哺乳類と認めると都合の良いアメリカが画策した陰謀だ」
8:知能障害を起こす
    「何、犬ごときにマジになってやんの、バーカバーカ」
9:自分の見解を述べずに人格批判をする
    「犬が哺乳類なんて言う奴は、社会に出てない証拠。現実をみてみろよ」
10:ありえない解決策を図る
    「結局、犬が卵を産めるようになれば良いって事だよね」
11:レッテル貼りをする
    「犬が哺乳類だなんて過去の概念にしがみつく右翼はイタイね」
12:決着した話を経緯を無視して蒸し返す
    「ところで、犬がどうやったら哺乳類の条件をみたすんだ?」
13:勝利宣言をする
    「犬が哺乳類だという論はすでに何年も前に論破されてる事なのだが」
14:細かい部分のミスを指摘し相手を無知と認識させる
    「犬って言っても大型犬から小型犬までいる。もっと勉強しろよ」
15:新しい概念が全て正しいのだとミスリードする
    「犬が哺乳類ではないと認めない限り生物学に進歩はない」
16:反論の代わりに詭弁ということにしてすます。
    「それは詭弁です。いいから詭弁なんです。」
0374デフォルトの名無しさんNGNG

終了ボタンを押すとアプリケーションを終了させるには

beginとendの間にclose;と書くのが正しい方法なのでしょうか?
ほかにやり方とかってありますか?
0375デフォルトの名無しさんNGNG
>>373
それは詭弁です。いいから詭弁なんです。






そんなことはどうでもいいが、

メインフォームならそれでOK
そうでないなら、
Application.Terminate または
Application.MainForm.Close

コンソール(等、VCLで作られたフォームがないアプリ)なら、Halt
0376Delフサギコ ◆A6VzDeLphI NGNG
  ∧,,∧  >>326さん
 ミ,,゚Д゚彡 きっとCreateProcess.
 ミ⊃ ⊃
0377初心者NGNG
画像の出し方教えてください
0378デフォルトの名無しさんNGNG
>>377
難しすぎて分かりません
0379デフォルトの名無しさんNGNG
クイックソートのプログラムを作っているんですが、
どうもうまくいきません。
どこを直せばいいか教えてください。
お願いします。

program quick;
{$APPTYPE CONSOLE}
uses
SysUtils;
0380デフォルトの名無しさんNGNG
procedure quick_sort(l,r:integer);
var p,pivot,i,j,b:integer;
begin
p:=(l+r) div 2;
pivot:=x[p];
i:=l;
j:=r;
repeat
while x[i]<pivot do i:=i+1;
while x[j]>pivot do j:=j-1;
if i<=j then
begin
b:=x[i];
x[i]:=x[j];
x[j]:=b;
i:=i+1;
j:=j-1;
end;
until i>j;
if l>j then quick_sort(l,j);
if i<r then quick_sort(i,r);
end;
0381デフォルトの名無しさんNGNG
var i,n:integer;
t,t1,t2:TDateTime;
Year,Month,Day,Hour,Min,Sec,MSec:Word;
x:array[1..10000] of integer;
begin
n:=10000;
Randomize;
for i:=1 to 10000 do begin
x[i]:=random(n+1);
end;
t1:=Now;
quick_sort(1,n);
t2:=Now;
t:=t2-t1;
DecodeTime(t,Hour,Min,Sec,Msec);
writeln(Sec,'秒',Msec);
readln;
end.
0382デフォルトの名無しさんNGNG
>>379-381です
varの位置を変えたらうまくいきました。
どうもお騒がせしました。
0383デフォルトの名無しさんNGNG
頼 む か ら 1 回 く ら い 検 索 し て か ら に し て く れ
0384デフォルトの名無しさんNGNG
>>379
頑張れよ、九州大学電気情報工学科。
0385351NGNG
>>359
ありがとうございますー
とても助かりました。
0386デフォルトの名無しさんNGNG
>>379
今日提出レポート必死だな(w
0387デフォルトの名無しさんNGNG
>>379

ワロタw
0388デフォルトの名無しさんNGNG
>>366-367 >>369

ありがとうございます。お蔭様で解決しました。実は仕事でも何でも
なかったのですが、動かないプログラムが気に掛かって、ここ数日、
睡眠不足気味でした。
これでDelphiのことは忘れて仕事に集中できそうです。(おい

お礼と言っては何ですが、自作の関数をいくつか紹介します。
使えそうなのがありましたら、ご自由にお使いください。

(>>388 に続く)
0389デフォルトの名無しさんNGNG
(>>388 の続き)
procedure SendKeysEx(KeyCode1: Byte;
           KeyCode2: Byte = 0;
           KeyCode3: Byte = 0);
//仮想キーコードの送信。
//複合キーストロークが可能。(3つまで指定可能。第2、3キーコードは省略可)
begin
  keybd_event(KeyCode1, 0, 0, 0);
  if KeyCode2 <> 0 then begin
    keybd_event(KeyCode2, 0, 0, 0);
    if KeyCode3 <> 0 then begin
      keybd_event(KeyCode3, 0, 0, 0);
      keybd_event(KeyCode3, 0, KEYEVENTF_KEYUP, 0);
    end;
    keybd_event(KeyCode2, 0, KEYEVENTF_KEYUP, 0);
  end;
  keybd_event(KeyCode1, 0, KEYEVENTF_KEYUP, 0);
end;
0390デフォルトの名無しさんNGNG
(>>389 の続き)
//uses ComObj;
function GetLinkPath(PathFile: String): String;
//ショートカットからリンク先のパスを取得。(WSHを使用)
var
  objShell:   variant;
  objShortcut:  variant;
  objUrlShortcut: variant;
begin
  try
    GetLinkPath := PathFile;
    if AnsiLowerCase(GetFileExtName(PathFile)) = 'lnk' then begin
      objShell := CreateOleObject('WScript.Shell');
      objShortcut := objShell.CreateShortcut(PathFile);
      GetLinkPath := objShortcut.TargetPath;
    end;
    if AnsiLowerCase(GetFileExtName(PathFile)) = 'url' then begin
      objShell := CreateOleObject('WScript.Shell');
      objUrlShortcut := objShell.CreateShortcut(PathFile);
      GetLinkPath := objUrlShortcut.TargetPath;
    end;
  exception
  end;
end;
0391デフォルトの名無しさんNGNG
「改行が多過ぎます」って何やねん!(激怒)
こんな使えん掲示板見たことないわ。
0392デフォルトの名無しさんNGNG
良かったらDelWikiのコードテンプレート当たりに書いて欲しいYO.

http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%B3%A1%BC%A5%C9%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8%5D%5D
0393デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0394デフォルトの名無しさんNGNG
ちょっと言葉が足らないので、補足。

>>388
動かなかった原因は、ポインタの使い方を理解していなかった、の一語に尽きます。
(文字列バッファーの確保とヌル文字列での初期化はやっていたのですが)

>>389
VBの悪名高い?SendKeysステートメントと同機能です。引数は配列でもよさそうですが、
VBの元ネタに合せてOptionalにして見ました。

>>390
よく見直したら、拡張子'lnk'の場合も、'url'の場合もおなじ処理なので分岐の必要は
ないようです。まだ改良の余地あり?
0395デフォルトの名無しさんNGNG
だれも使わないと思うよ。
0396デフォルトの名無しさんNGNG
TTreeViewでノードをドラッグしたとき、
ドラッグ中はマウスポインタの下のノードが
選択状態(ノードのTextが反転)しますが
これを選択状態にしないようにするにはどうしたら
よいのでしょうか?
0397デフォルトの名無しさんNGNG
>>394
SendKeysってね、実は漢字も送れるの。
0398デフォルトの名無しさんNGNG

delphiを起動するとformとunitが勝手に出てくるのですが起動時に
これらを出さないようにするにはどうすればいいのでしょうか?
0399デフォルトの名無しさんNGNG
Delphi始めたばかりの者ですが、VBのStaticをつけて宣言したような静的ローカル
変数はどうすれば宣言できるのでしょうか?
0400デフォルトの名無しさんNGNG
>>398
コマンドラインオプションで
0401デフォルトの名無しさんNGNG
>>399

http://www.wwlnk.com/boheme/delphi/vbtodel/daf0910.html
0402399NGNG
>>401の内容を貼り付けて実行したのですが、
inc(intStatic); の行で、「代入できない左辺値です」というエラーが
出てしまいます。

Delphi6で試しているのですけど、どうしてエラーになるのでしょうか?
0403デフォルトの名無しさんNGNG
>>399
privateでいいじゃん
0404デフォルトの名無しさんNGNG
>>398さんの、疑問私も知りたいです。
>>400さんの、文字をヘルプで探したのですが、
わかりませんでした・・。
すいませんが教えてください。
0405399NGNG
>>403
1つのイベントプロシージャからしか使用しないので、イベントプロシージャの中で
宣言したいのです。
0406デフォルトの名無しさんNGNG
>>402
「プロジェクトのオプション」->「コンパイラ」で「型付変数への代入」にチェックを入れるか、または{$J+}を指定する。

0407デフォルトの名無しさんNGNG
>>401
そんな仕様初めて聞いたぞ( ゚Д゚)ゴルァ

と思って調べたら、コンパイラオプション{$J+}を付ければ出来るみたいね。

0408399NGNG
          ///
         ___
       ,∠==、ヽ `i'ー- .
      /    ヽ| 「`'ー、`ー、
       l     ミ| /   `ー、ヽ   できました。どうもありがとうございました。>>406
      j     R|イ ー-、.  ノ7┐
      `Vハハハ/ヽ.「~ ̄ `''ァf‐┘
.         `、 }ー-`、__..._/::l
          `|:::::::|ヽ/l:;:;:;|
.            |::::::::l:::::::::::::::l
.            l::::::::l:::::::::::::::l
           l:::::::::l::::::::::::::l
           l;::::::::{:::::::::::::l
              `iiiiiiiハiiiiiiiij´
          ∠-、レ'ヽ〃〕
0409デフォルトの名無しさんNGNG
>>389-390

見苦しい。死ね。
0410デフォルトの名無しさんNGNG
>>409
同感。>>388には生きている価値がない。生まれて来ない方がよかったんじゃない?
0411デフォルトの名無しさんNGNG
>>409-410
同意と言いたいところだが、頭の弱い奴を叩いてもしょうがないんじゃないの?
0412デフォルトの名無しさんNGNG
>>409

禿同。

頭悪いやつに何言っても無駄かもしんないけど>>389のクソ関数なんか
イラネーんだよボケ。
0413デフォルトの名無しさんNGNG
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_) | でも、罵倒するときゃするで〜 
        | だってプログラミングしか取り柄のない 使い捨てられる人間だから
  \_________________________
0414398NGNG
どなたかわかりませんか?
0415デフォルトの名無しさんNGNG
>>414 最近MLか何かでも見たような話題だけど・・・
400が答えてるように起動オプションを使う
 delphi32 /np

とりあえずDelphiのヘルプでキーワード
 IDE,コマンドラインオプション
を読むとよろし
0416デフォルトの名無しさんNGNG
>398,414
Delphiを起動したときにフォームを「出さない」というのはどういう意味?
Delphiを起動したときに
・新規プロジェクトを開かない
・新規プロジェクトは開くけど、メインフォームを持っていない
・新規プロジェクトを開いて、メインフォームも持ってるけど、表示はさせない
この3つのどれ?

0417デフォルトの名無しさんNGNG
いくつか質問

ttp://wblue.hp.infoseek.co.jp/prog/apptop.htm
見ながらグラフィックビューア作ってたんですよ。で、
・なんであんな簡単なプログラムが550KBもしてしまったのか。
 自分で作り終えたときそのでかさにびっくりしました。
・png対応させるためにはどうすればいいのか?
・アイコン設定したのにアイコン変わんねぇぞゴルァ

の三つなんですが、どうかよろしくお願いします。
0418ななしへたぐらま ◆XcB18Bks.Y NGNG
>>347 >>353
変更前のコードでは最悪,writeln文は1回も実行されませんよ.
されるとしても j = 1 のときだけ.

『途中で整列する対象がソート済みの配列に変わってしまう』というのは
恐らくそう見えるだけで実行結果には影響していないと思われますが….

#そもそも整列の実行速度を調べるのに
 配列の中身をwritelnで表示する意味はないと思いますし,
 writelnの実行時間は配列の整列よりずっとかかりますから,
 速度調査になりません.
0419ななしへたぐらま ◆XcB18Bks.Y NGNG
>>361 >>363
スピードボタンのActionプロパティに『アクション』を指定した場合,
その『アクション』があるアクションリストのImagesプロパティに
イメージリストが指定されていると,

スピードボタンのGlyphは,
そのイメージリストの中のイメージのうち
その『アクション』のImageIndexで指定された番号のもの
に変わるようですね.
0420 NGNG
>>417
1.「実行時」←これにいろいろ付加して検索してみれ。
2.コンポーネント探してきてインストールするしか無いと思う。
3.コンパイルしたexeを違う場所へ移動させてみると…。
0421デフォルトの名無しさんNGNG
>>414
http://hp.vector.co.jp/authors/VA028375/index.html?page=Delphi_Setup.html

初期設定とかこの人のページが詳しくまとまってるから見たもれ
0422デフォルトの名無しさんNGNG
>>420
1,2.ども、ぐぐってきます。
3.カワッタ━━━━(゚∀゚)━━━━ッ!!

ありがとう。
0423417NGNG
1.ウボァー、フォーム使うだけで200~300KBも増えるとは
フォームを使わず開発しろというのも渋いなぁ

2.png使うのはGLDPNGっとかってナイスなコンポーネントありました。
0424 NGNG
まぁ、PNGで日本のってーと、それが一番メジャーな気がするなぁ。
でも著作権表示すれ!って縛りは何の意味があるんだろう?
ちょっとなぁ…。
0425ケン玉城NGNG
昨日からはじめました。なかなかおもしろいですね
0426デフォルトの名無しさんNGNG
>>416
一番上です。
>>421
ありがとうございます。そこでしらべてみます。

おさわがせしました。
0427デフォルトの名無しさんNGNG
> ウボァー
FF2のラスボス?

>>417
でかいのがいやなら、WindowsAPI+SDKでやる方法があります。
しんどいけど今時勉強にもなりませんし、知ったかできるくらいですか利点は。

参考URL
http://halbow.cool.ne.jp/
0428デフォルトの名無しさんNGNG
>396
もう解決したかもしれないけど、サブクラス化して、
if (Message.Msg = TVM_SELECTITEM) and (Message.WParam = TVGN_DROPHILITE) then
begin
Message.LParam := 0;
end;
とかやれば出来るはず。
0429デフォルトの名無しさんNGNG
これからDelphiを始めようと思うのですが、
どんなことをやったらよいでしょうか?
何か課題のようなものを出して頂けませんか?
0430デフォルトの名無しさんNGNG
>>429
課題:やりたいことをみつけること
0431デフォルトの名無しさんNGNG
メモ帳と同じ物を作ってみれ。
0432429NGNG
>>430
確かにそうですね。。。
>>431
メモ帳にこれから挑戦してみます
0433429NGNG
見た目はそれらしい物ができました。
いきなり質問なのですが、ファイル>新規を押した時に出るダイアログなのですが
はい・いいえ・キャンセルのあるものはどうやってだすのでしょうか?
Showmessageでは、うまくできそうになく新しいFormを作るのでしょうか?
0434デフォルトの名無しさんNGNG
>>433
messagedlg
0435デフォルトの名無しさんNGNG
>>434

messagedlgはWindowキャプションを変更できないのが嫌だ。

MessageboxAがお奨め。
0436429NGNG
レスありがとうございます。
MessageboxAを使用してうまくできました。
MessageboxAの hWnd という部分ですが、
よくわからないのでHandleと入れましたが
これは問題ないのでしょうか?
オーナー ウィンドウのハンドルと言われてもわからなかったもので、、、
0437デフォルトの名無しさんNGNG
>>436
正直、才能あると思う。
0438429NGNG
>>437
Ctrl+スペースの候補からそれっぽいのを選んだので適当でして、、
才能なんてものはありません、、、
0439デフォルトの名無しさんNGNG
>>438
ウイングよ。ここは素直に照れておきな。
0440429NGNG
>>439
ウイング??

メニューのファイルから作ってるのですが
ページ設定ダイアログは簡単に呼び出す方法はありますか?
やはりフォームから作るしかないのでしょうか?
0441デフォルトの名無しさんNGNG
>>436
適当なフォームを二個作って
Form1.HandleとForm2.Handleを入れれば違いが分かるよ。
0442429NGNG
>>441
自分の頭じゃ違いが、わかりませんでした、、、
ごめんなさいです、、、
0443デフォルトの名無しさんNGNG
>>440
Dialogsにあるのはだめなのかいな?
0444デフォルトの名無しさんNGNG
>>409-412
そんなに酷いコードとは思えんが?

まあ、誰かが使うことはないだろうし、>>388がアフォなのは否定しないが(w
0445429NGNG
あれれ? ありますか?
こちらでは、
Open,Save,OpnePicture,SavePicture,Font
Color,Print,PrinterSetup,Find,Replace
以上しかないのですが、他にもあるのでしょうか?
0446デフォルトの名無しさんNGNG
データベースアプリ組んでるんですが、
コンボボックスにのitemの内容をテーブルからもってくるには、
レコードを1つ1つ参照するしかないんでしょうか?
0447446NGNG
>>446
訂正
×コンボボックスにのitemの内容を
○コンボボックスのitemの内容を
0448デフォルトの名無しさんNGNG
>>445
Print,PrinterSetup
0449デフォルトの名無しさんNGNG
>>447

なにがやりたいかよくわからないが、
ComboBoxのアイテムをDBから取得したいだけなら、
DBLookupComboBoxを使えば簡単だわな。

独自の実装をする場合は一個一個参照するしかない。
0450デフォルトの名無しさんNGNG
>>390
その程度でいちいちWSH使って
しかもよりによってDelスレで自慢気に発表するのがワラタ
0451デフォルトの名無しさんNGNG
粘着アフォ見苦しい (・∀・)カエレ!
0452デフォルトの名無しさんNGNG
本人ハケーン
0453429NGNG
>>448
ありがとうございます。

またまた質問なのですが、FindDialogを呼び出して文字を入力させ
その文字を検索するところまでは何となくわかったのですが
その文字を反転状態?にさせたいのですが、どのようにすればよいのでしょうか?
0454デフォルトの名無しさんNGNG
>>453
Selstart Sellength
0455429NGNG
>>454
素早い返事ありがとうございます。
早速試させて頂きます。
0456417NGNG
>>427
まずソコが出てくるとは通ですな。

ありがとーです。
参考にさせていただきます。
0457デフォルトの名無しさんNGNG
プログラムが長くなってきたんですが、
ソースを複数のファイルに分けるということは出来るのでしょうか?
0458デフォルトの名無しさんNGNG
>>457
出来ます。uses
0459デフォルトの名無しさんNGNG
>>458
Delphiのヘルプでusesと検索したら、
「複数のユニットの参照と間接的なユニット参照」というよさそうなのが、
出てきたけど、よく使い方がわかりません。
誰か教えてくれませんか?
0460デフォルトの名無しさんNGNG
>>459
完成品の適当なソースをパクって使い方を研究するのが最短距離。
0461デフォルトの名無しさんNGNG
>>460
そうします。
0462デフォルトの名無しさんNGNG
>>459, >>461

大きなお世話かもしれないが、参照するUnitをInterfaceのusesに記述するか、
Implementationのusesに記述するか、はハマる原因になるので、注意!
(FAQの部類に入る)
0463 NGNG
(´-`)。o ○ (「長い」ってどんくらいの長さなんだろう…?)
0464デフォルトの名無しさんNGNG
>>463
9月から3月くらい
0465デフォルトの名無しさんNGNG
コンポーネントのタブが消えてしまいました
一覧から参照してるので問題ないのですが、これはバグですか?
0466デフォルトの名無しさんNGNG
イメージコンポーネント上に文字を表示したいのですけど、↓を実行すると
背景まで白くなってしまいます。
Image1.Canvas.TextOut(10, 10, 'abcde');

BrushのStyleを設定しても無理ですし、どうすれば白くならないように文字
だけを表示できるのでしょうか?
0467デフォルトの名無しさんNGNG
>>466
え〜?
0468466NGNG
>>467
う〜ん
どうしてもイメージコンポーネントの背景が白くなってしまうんですよ・・・
0469デフォルトの名無しさんNGNG
>>468
え〜?
0470デフォルトの名無しさんNGNG
>>468
Image1のTransparent(プロパティ)をTrueにしる
0471466NGNG
>>469->>470
う〜ん

procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Transparent := True;
Image1.Canvas.TextOut(10, 10, 'abcde');
end;

↑を実行しても、↓のようになってしまいます・・・
http://fanel7.ath.cx/cgi-bin/upbbs/img-box/img20030201192829.jpg

イメージコンポーネントに文字だけを表示したいのですが、背景が白くぅ・・・
0472デフォルトの名無しさんNGNG
>>471
不思議だよねえ、ETO_OPAQUEが勝手に付いちゃうのかなあ
0473466NGNG
>>472
う〜ん
どうして白く塗りつぶされるんでしょうね・・・
分からないや・・・
0474デフォルトの名無しさんNGNG
ここはリアル厨房ばかりなのか?
TImage の仕組みもわからんのか?
0475デフォルトの名無しさんNGNG
めんどくさいからおまえなんかちょくせつびょうがしてしまえ

procedure TForm1.Button1Click(Sender: TObject);
begin
    with Form1.Canvas do
    begin
        brush.style:=bsClear;
        TextOut(10, 10, 'abcde');
    end;
end;
0476デフォルトの名無しさんNGNG
>>475
それって無理やりだね、、、
0477ななしへたぐらま ◆XcB18Bks.Y NGNG
>>466
文字を表示するだけならラベルコンポでいいと思いますよ.
少なくともイメージコンポは文字を表示する用途には向いていません.


ちなみにイメージコンポの背景が白くなる理由:

画像が入っていないイメージコンポのキャンバスを操作すると
イメージコンポは自分と同じサイズのビットマップを作り
そのビットマップのキャンバスを操作して
そのビットマップを表示するのです.

で,作られたばかりのビットマップが全面真っ白だったので
全体が白く表示されたわけです.
0478デフォルトの名無しさんNGNG
大気との摩擦熱で・・・
((;゚Д゚)ガクガクブルブル
0479デフォルトの名無しさんNGNG
↑もちろん誤爆なわけだが
0480組込もしまっせNGNG
こんな関数作って
procedure TransparentTextOut(Cvs:TCanvas;x,y:Integer;s:string);
var b:TBitmap;
begin
b:=TBitmap.Create;
try
with b do begin
height:=Cvs.TextHeight(s);
width :=Cvs.TextWidth(s);
PixelFormat:=pf24bit;
Canvas.Font:=Cvs.Font;
Canvas.textout(0,0,s);
TransparentColor:=clWhite;
Transparent:=True;
end;
Cvs.Pen.color:=Cvs.Font.Color;
Cvs.Draw(x,y,b);
finally b.free;end;
end;

呼び出しは
TransparentTextOut(IMAGE1.CANVAS,10, 10, 'abcde');

これじゃダメ?
0481ねこまNGNG
SetBkMode(Canvas.Handle, TRANSPARENT);
0482デフォルトの名無しさんNGNG
IndyのIndy.Get()を使って、2ちゃんねるの掲示板
http://pc2.2ch.net/test/read.cgi/tech/1042421592/l50
などを読み取ろうとするとエラーになってしまいます。

Indy.ResponseTextで調べると「302 Found」と出てきます。
どうすればいいのでしょうか?ヽ(;´Д`)ノ
0483デフォルトの名無しさんNGNG
スレ違い。ちゃんと2chの仕様を調べてみなよ。
0484デフォルトの名無しさんNGNG
>>482
それだけじゃわかんないよ
NHKでもみておちけつ
0485デフォルトの名無しさんNGNG
>>484
古い映像だと思ったら最新の映像だったのか・・・
つーかおつけつるかよ!!
0486デフォルトの名無しさんNGNG
Delphi使い始めたばっかりの初心者なんですけど
まずどういうことをすればいいんでしょうか?
0487デフォルトの名無しさんNGNG
>>486
なにをしたいかによる。ねたか?
まずはNHKをみることがたいせつ
0488デフォルトの名無しさんNGNG
>>487
何のソフトを作るかはまだ決めてないんですが
練習を考えるとまずどういうプログラム組んでみるのが一番ですかね?

あといろんなスレでスペースシャトルの話題出てるなぁ・・・
0489デフォルトの名無しさんNGNG
>>488
プログラムの経験があるのかないのかによっても変わってくるだろ。
練習ならいろんなコンポーネントを並べて、それらを連携させてみるとか。
メモ帳とかならすぐできるぞ。
0490デフォルトの名無しさんNGNG
(´-`)。o ○ (そもそも「何から始めたら…」ってのが理解出来ない。
そんなことすら自分で決められないなら、やらなくてもいいと思う)
0491デフォルトの名無しさんNGNG
>>490
正直、サンプルもなくプログラムを作ってしまう人は尊敬する。天才だと思う。
こんな自分でもパソコン操作をたずねてくる人がたくさんいる。
先日、パソコンもかなり慣れただろうっという友人が、
「ワードで貼り付けた複数の絵を一度にサイズ変更できるか?」と訊ねてきた。

自分はそんなことやったことがない。
とりあえず、やってみた。難なくできた。
で、思わず言ってしまった。

「まず、やってみろと・・・」
すると、「判らないから聞いてるんだよ。できれば聞かないよ」と答えてきた。

なるほど・・・
おれが、「モナーの *やさしい* Delphi質問スレ」で質問するのも
答えてくれる人がいるのも、これに近い関係なのかなぁっと。
0492デフォルトの名無しさんNGNG
>判らないから聞いてるんだよ
いるよね、努力の方法を知らない奴
0493デフォルトの名無しさんNGNG
なんかこのスレ思い出しますた。

本日の無料サポートは終了しましたPart9
http://pc2.2ch.net/test/read.cgi/win/1042457406/
0494デフォルトの名無しさんNGNG
>>490
なんとなくソフト作ってみたいと思ってプログラミング始めようとした香具師は
そんな感じになるのは仕方ないんじゃないのか?
漏れも前はそんなこと考えてたし。
0495デフォルトの名無しさんNGNG
>>494
>なんとなくソフト作ってみたい

なんとなくだろうがなんだろうが出来る奴は出来るし出来ない奴は出来ない。
情報は書籍にもインターネットにも腐るほどある。

本屋なんて親切だぞ。「プログラミング」ってコーナーがあるからな。
そこ以外には目的の本はないと明記してくれているわけだ。

要は情報の集め方と言う今のPCを使うに当たって必須の能力が欠如してるってこった。
0496デフォルトの名無しさんNGNG
>>486
作りたいという強い欲求がなければやめた方がよい。
0497デフォルトの名無しさんNGNG
てゆーか俺の代わりにソフト作ってくれ
そうだな、Janeに自動巡回機能でも組み込んでくれや。
もちろんサーバ負荷を考えてな。
0498デフォルトの名無しさんNGNG
>>495
都会に住んでる香具師はいいけど
田舎に住んでる18歳未満(っていうか免許ない香具師)だと
近くの本屋になんかちょっとしかプログラミング関係の本ないけどな。
Delphiに関係するのなんて1、2冊。。
まぁネットで調べればいいことだが・・
0499デフォルトの名無しさんNGNG
>>498
兵庫県の山奥に住んでますがね。

5年前の乏しい本環境+ネットなしでもここまで来れましたわ。


人間やる気だなと思う今日この頃。
0500466NGNG
>>477
>画像が入っていないイメージコンポのキャンバスを操作すると
>イメージコンポは自分と同じサイズのビットマップを作り
>そのビットマップのキャンバスを操作して
>そのビットマップを表示するのです.
そういう事だったのですか。
どうもありがごうございました。
0501デフォルトの名無しさんNGNG
もしlが偶数ならってどうやって表現すればいいですか?
0502デフォルトの名無しさんNGNG
>>501
if(l mod 2 = 0)then
0503デフォルトの名無しさんNGNG
>>502
その手があったか〜!
どうもありがとうございました。
0504デフォルトの名無しさんNGNG
Odd関数という手もあったな
0505デフォルトの名無しさんNGNG
if Odd(l) then
0506デフォルトの名無しさんNGNG
×if Odd(l) then
○if not Odd(l) then
0507デフォルトの名無しさんNGNG
>>504-506さんもサンクス。
実はSchemeでiterative processで指数計算のプロ�cを書こうとしたらわからなかったので
Schemeよりは理解しているDelphiで書いてからの方が理解しやすいってことで
試しに書いてみたんですがエラーばっかりで…
まだまだだなぁ。もっと精進しなくちゃ。
0508デフォルトの名無しさんNGNG
Schemeをやろうという人がそんな初歩的なのを思いつかないというのが信じられない(w
0509デフォルトの名無しさんNGNG
if((l and $1) = 0)then

ってのはどうだ?
0510デフォルトの名無しさんNGNG
Odd以外の判定は素人にはお勧めできない。
0511デフォルトの名無しさんNGNG
>>510
Shemeにoddがあるのかと小一時間
0512デフォルトの名無しさんNGNG
>>511
ありますが何か?
http://www.math.grin.edu/~stone/scheme-web/odd-ques.html

Delphiに限って言えばmodは負数で誤動作するし、andは速度的に不利。素直にOdd使っとけ。
0513デフォルトの名無しさんNGNG
>>508
Schemeをやろうというか大学の講義で取ってるだけです。
単位ヤヴァイです。
0514デフォルトの名無しさんNGNG
>>513
がんばれよ、斎藤
0515ななしへたぐらま ◆XcB18Bks.Y NGNG
趣味・遊びとしてのプログラミングなら
>>486 さんみたいなのもアリだと思いますけど.

私はブロック遊びの延長でプログラミングを始めましたが,
ブロック遊びを始めるのに『○○を作りたいから…』
などという目的などありませんから.
0516デフォルトの名無しさんNGNG
>>514
斎藤?
0517デフォルトの名無しさんNGNG
>>515
?
0518デフォルトの名無しさんNGNG
>>486

ようはきっかけが欲しいわけだろ

とりあえず

http://www.wakhok.ac.jp/~tetsuo/delphi/mokuji.html

上のモグラ叩きとインベーダーゲームでも作ってみろ

そのあとはWindows Powerとかの雑誌で紹介されてるソフトの中から
適当なものをダウソしてパクってみろ。同じものを作ろうとすると
それだけでスキルアップできるから
0519デフォルトの名無しさんNGNG
VBスレのネタ質問で、総当りで偶数・奇数を判定云々・・・というを見たような気がする。
0520デフォルトの名無しさんNGNG
いろいろ試している所ですが、質問です。
 �@4個の数字を入力(1,2,3,4)
 �Aその4個で2桁の数字を作る(12,13,14,23,24,34)
 �B出力画面
   1. 12(出来た2桁) 2. 120(*10) 3. 88(100-12)
   1. 13(出来た2桁) 2. 130(*10) 3. 87(100-13)
   1. 14(出来た2桁) 2. 140(*10) 3. 86(100-14)
   1. 23(出来た2桁) 2. 230(*10) 3. 77(100-23)
   1. 24(出来た2桁) 2. 240(*10) 3. 76(100-24)
   1. 34(出来た2桁) 2. 340(*10) 3. 66(100-34)
 �C各行の 1. 2桁の数字 部分だけ背景色を変える。

例えばこんな事をしてみたいのですが、
どうすれば良いでしょうか?
よろしくお願いします。

0521デフォルトの名無しさんNGNG
数字が4個ってのは固定なの?
0522デフォルトの名無しさんNGNG
>>520
aとb

a * 10 + bで望みの数字は得られるな。がんばれ。
0523デフォルトの名無しさんNGNG
TMemoの行の左上のポイント
例えばTMemoの3行目の左上の
TopとLeftを求めるにはどうしたら
よいのでしょうか?
0524デフォルトの名無しさんNGNG
applicationとformのShowHintプロパティをtrueにし、
FormとMenuItemのhintプロパティにそれぞれ文字列を設定したのですが、
MenuItemのほうのヒントが実行時に表示されません。
どんな原因が考えられるでしょうか。
0525デフォルトの名無しさんNGNG
仕様
0526デフォルトの名無しさんNGNG
うん、仕様だな。
0527デフォルトの名無しさんNGNG
>>523
行頭の座標が欲しいのかね
Font.Sizeから強引に割り出すとか
( ´∀`)なんとなく何に使うのか聞いてみたいな
0528デフォルトの名無しさんNGNG
Delphi6j+up2で
何もコードを書かずにコンパイルして
それをMemProofで起動、終了するとなんかリークするのですが・・・

Virtual Memory 4096 ← 解放されない

もしかして俺の環境だけですか?

0529デフォルトの名無しさんNGNG
>>520
依存文字がキモイです
0530デフォルトの名無しさんNGNG
>>523
EM_POSFROMCHAR とかGetCaretPosなんかを使ってごりごりかなぁ?
0531446NGNG
>>449
ありがとうございます。

ただ、DBctrlGridでDBLookupComboBoxのListSourceを設定しようとすると、
「この動作はサポートされていません」と出てしまいます。

DBctrlGridでDBLookupComboBoxはつかえないんでしょうか?

バージョンはDelphi6entです
0532523NGNG
>>527
そうなのです。
Memoの左側にマージン作ってその空いたスペースに
IDEのしおりみたく目印となるマークをその行のマージンに描画したいのです。
他の方法とかありますかね?この方法しか思いつかなくって。。
>>530
GetCaretPosはこんな感じでやってみたらなんかうまくいきそうです。
EM_POSFROMCHARは使ったことがないのでまた調べて試してみます。
var
P: TPoint;
i: Integer; //行

with Memo do
begin
SelStart := SendMessage(Handle, EM_LINEINDEX, i, 0);
SetFocus;
GetCaretPos(P);
end;
0533524NGNG
>>525-526
仕様ですか…
メニューアイテムの上にポインタが来たときにある処理をしたいのですが、
どんな方法でやったらいいでしょうか?
TActionのOnHintでは524と同様にうまくいかないので…
0534デフォルトの名無しさんNGNG
>>533

begin

If MenuItemNoUePointa = 1
Then
begin
処理;
end;

end;
0535534NGNG
ウソピョーン!!
0536デフォルトの名無しさんNGNG
slList : array[0..1] of TStringList
と宣言すると

([0〜...]がTStringListが初めからもってるところ
[0][1]が配列にしたところ)

slList[0][0〜...]
slList[1][0〜...]

になりますが、そうでなく

slList[0〜...][0]
slList[0〜...][1]

と使用したい場合、どのように宣言すればいいのですか?

説明しづらく、解りにくいと思いますがよろしくお願いします
0537デフォルトの名無しさんNGNG
外部から特定のコンポーネント上にドロップさせるためにはどうすればいいのですか?
ドラッグしてくるとフォーム全部に反応してしまうのを変えたいのですが。
0538デフォルトの名無しさんNGNG
>>536
言いたいことはわかるが無理
slList[0][0〜...] ってのは
slList[0].Strings[0〜...]の .Strings を省略してるだけだから
0539デフォルトの名無しさんNGNG
>>536
そうですか、残念。
slList[0]をソートするとslList[0][0〜...]とslList[1][0〜...]の内容の位置が
変わるため難儀してたのですが、動的配列を使ってなんとかしてみます
0540デフォルトの名無しさんNGNG
TStringList.Objects[i]/AddObject()を使うとよいかも。
強引にTObject型にキャストするか、
TMyDataクラスを作ってラップするかして。
0541デフォルトの名無しさんNGNG
TListでええやn
0542Delフサギコ ◆A6VzDeLphI NGNG
          _______________
   ∧.,,∧   /
  ミ.,,゚Д゚彡< >>537さん、いろんな方法ありまフ、が
  ミ つ目(ミ . \
〜ミ,,O,,,,,,つ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

 DragAcceptFiles(StatusBar1.Handle, True);
これしておいて、

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
 case Msg.message of
  WM_DROPFILES:
  if Msg.hwnd = StatusBar1.Handle then
  begin
   ShowMessage('ドロップされてよし');
  end;
 end;
 Handled := False;
end;

こうしておくといいのではないでしょうか。
0543デフォルトの名無しさんNGNG
文字を保存したいのですが、どうやるんですか?
0544デフォルトの名無しさんNGNG
TMemoのSaveToFile

はい次
0545デフォルトの名無しさんNGNG
>>544
アホか。

TStringListのSaveToFile
0546デフォルトの名無しさんNGNG
>>543にはTIniFileで十分
0547デフォルトの名無しさんNGNG
>>546
それはあまりにもかわいそうだ・・・。
0548543NGNG
SaveDialogとかを使わなくてもできるんですか?
0549デフォルトの名無しさんNGNG
だめだこりゃ

やっぱ>>544か>>546で我慢しとけ
0550デフォルトの名無しさんNGNG
>>549
必死だな。
0551デフォルトの名無しさんNGNG
( ゚Д゚) ポカーン
0552524NGNG
自己解決しました。
ttp://www.users.gr.jp/ml/archive/delphi/24121.asp
これを参考にしてなんとかできそうです。
0553Delフサギコ ◆A6VzDeLphI NGNG
           _____________
   ∧,,∧    />>532さん
  ミ,,゚Д゚彡 < TEditorを使ってはどうでしょうか?
  ミ⊃  ミ⊃  \____________
 〜ミ  ミ
   ∪''∪
           _____________
   ∧,,∧    /
  ミ゚Д゚,,彡 < ってのは無しかしら?
 ⊂ミ ⊂ミ   \____________
 〜ミ  ミ
   ∪''∪

いまだに、DesignInfo系の問題を
引きずっているみたいで、ちょっと苗ますが・・・
0554デフォルトの名無しさんNGNG
やっぱカップラーメンメーカーの王様は日清だよな。
日清のカップメンはどれもうまい。
0555デフォルトの名無しさんNGNG
personalじゃアプリケーションの配布はできないんですか?
0556ねこまNGNG
>>553
>いまだに、DesignInfo系の問題を
>引きずっているみたいで、ちょっと苗ますが・・・

ぜんぜん引きずっていませんが……
0557デフォルトの名無しさんNGNG
>>555
お金を稼ごうとしなければいいんでないのけ
0558 NGNG
>>555
バリバリ配布してます。
つーか、ちゃんと書いてあることくらい読め。
0559555NGNG
どこに書いてありますか?
0560デフォルトの名無しさんNGNG
>>559
書イテアルトコロニ、書イテアリマス。
0561555NGNG
書いてあるところとはどこですか?
0562デフォルトの名無しさんNGNG
僕たちの心の中に・・・
0563デフォルトの名無しさんNGNG
>>562
全く同じこと書こうとしてた(藁
そして大空にはヤツの笑顔が…。
0564デフォルトの名無しさんNGNG
ParamStrは512文字の制限があるそうですが、もっと長い値を渡したい場合、どうすればいいですか?
ファイルに書き出して読み込みでしょうか?
0565デフォルトの名無しさんNGNG
>>564
その通りでございます。
0566デフォルトの名無しさんNGNG
>>564
そうですね。TStringListでテキストを読み書きすればいいのではないでしょうか?
0567デフォルトの名無しさんNGNG
pipe
0568デフォルトの名無しさんNGNG
わかりました。それで頑張ります。 (DLL化とかしたらいけますか?
0569555NGNG
CDからインストールしたのじゃなくてもできるんですか?
0570デフォルトの名無しさんNGNG
できるよ。exeをzipにして配布しろ。
0571555NGNG
InstallShield Express Custom Edition for Delphiってのをインストールしなきゃ
できないと書いてあるんですが、どこにも見当たらないので困ってます
0572デフォルトの名無しさんNGNG
Delphiマガジソの創刊号すごく読んでみたいんですけど持ってる人いますか?

恥を覚悟で
ttp://bbs.psnet.ne.jp/read.cgi/DELPHI/DEFAULT/ALL
のレス番24でおながいしてきますた。

同士がいたら援護きぼんです(;´Д`)

0573WindowsXP においてプロセスが使用中の TCPIP ポート一覧の取得は?NGNG
http://www.sysinternals.com/ntw2k/source/tcpview.shtml
ここにソースがのってるよん。
0574WindowsXP においてプロセスが使用中の TCPIP ポート一覧の取得は?NGNG
>>572
なんで創刊号を?どの記事が読みたいの?
0575デフォルトの名無しさんNGNG
これに限らず創刊号って、わけもなく興味惹かれない?
0576デフォルトの名無しさんNGNG
ない。
0577デフォルトの名無しさんNGNG
nai?
0578デフォルトの名無しさんNGNG
type
TForm1 = class(TForm)
〜

private
{ Private 宣言 }
arry:array of double;
public
{ Public 宣言 }
end;
〜
で適当に
  setlength(arry,30000);
としたとして
フォームを閉じる時には、arryは勝手に開放されるのですか?
arry:=nil; とかしないとダメなのですか?
0579デフォルトの名無しさんNGNG
TMemo中の出力文字は色変えられますか?
(指定した物だけ。)
0580デフォルトの名無しさんNGNG
>>578
 マニュアルに解放しなければならない、とは何処にも書かれてないので放ってもよいとおもうが、
 明示的に解放するなら、不要になった時点で(OnDestroy等)で、SetLenght(arry, 0, 0)とするべし。
 arry := nilとやってもエラーになる。

 なお、フォームを閉じる≠フォームを解放するではありませぬ。
 フォームを閉じると、暗黙的にフォームが解放されているのれす。
 そこを勘違いしていると、要らぬトラブルを起こす罠(特にMDI子フォームとか)

>>579
 できません。自分で書くしかない。
0581デフォルトの名無しさんNGNG
>>578
動的配列は、string型と同様に参照カウントで管理されている。
したがって、他の変数に代入してなければ、フォーム解放時に一緒に解放される。
0582デフォルトの名無しさんNGNG
>>581
動的配列関連で、以前から疑問に思っていたことをついでに聞くんですけど、
UniqueStringの動的配列版ってないのですか?
0583デフォルトの名無しさんNGNG
Win32APIのGetOpenFileName関数のDelphi用サンプルコードって意外と少ないね。
VCLで用が足りちゃうから需要がないのかな?
VB用なら腐るほどあるんだけど。

ttp://halbow.cool.ne.jp/Chap18.html
0584デフォルトの名無しさんNGNG
>>583
後は読み替えるだけでしょう。
0585581NGNG
>>582
procedure UniqueArray(var a:array);
begin
a:=Copy(a, 0, MaxInt);
end;

こんな感じでどうかね。
copy関数は新しい配列を生成するので、参照カウントは1になるはず。
0586デフォルトの名無しさんNGNG
VBで

Label1.ZOrder 0

を実行するとLabel1が前面に表示されますが、Delphiではどうすればいいのでしょうか?
メソッドが見つかりません・・・
0587デフォルトの名無しさんNGNG

Projectファイルとunitファイルの違いもよく分からない者ですが
まず新規作成でアプリを選択するとフォームとユニットが作られ、
さらに新規作成でふたつめのフォームを作って
それぞれ名前をつけて保存し、最後にプロジェクトを保存したのですが
次にやるときにプロジェクトを開くとユニット1しか表示されません。
さらにそれを実行するとユニット1のフォームしか表示されないのですが
複数のユニットがある場合はいちいち全部開いていかないといけないのでしょうか?
また、実行時にフォーム2を表示させるにはどうしたらいいでしょうか?
0588デフォルトの名無しさんNGNG
>>586
Label1.BringToFront
>>587
フォーム2のVisibleプロパティをTrueにすれば、実行時に表示されます。
あと蛇足かもしれませんが、プロジェクトマネージャを表示させておくと
ユニットの表示が楽になると思います、
0589デフォルトの名無しさんNGNG
>>588

Form2のプロパティのVisibleをTrueに、Form1はそのままにして
プロジェクトを開いた状態でF9を押してもForm1しか表示されないんですが
ほかに何か原因はありますか?
0590デフォルトの名無しさんNGNG
>>589
プロジェクト→オプション→フォーム
で、自動生成されるフォームの方にForm2が入ってますか?
0591デフォルトの名無しさんNGNG
>>590

あ、でました〜。これってフォーム追加するたびにこの自動生成のところに
追加していかないとだめなんですかね?
0592デフォルトの名無しさんNGNG
>>591
ツール→環境オプション→設定→フォームデザイナ→自動生成とする。
でいけると思います。家ではこれがデフォでチェックされてました。
0593586NGNG
>>588
できました!
ありがごうございました。
0594532NGNG
>>553
Delフサギコ さんレスありがとです。
>>532のやり方でやったのですが
ややこしくなったので挫折しました。。
今のおいらには無理っぽいのでおとなしく
3000円払うことにします。
0595デフォルトの名無しさんNGNG
>>592

分かりました。ありがとうございます^^
0596デフォルトの名無しさんNGNG
はじめて作るプログラムは何ですか?
0597デフォルトの名無しさんNGNG
>>596
一般的にはHello Worldだな。
0598デフォルトの名無しさんNGNG
TForm1.Button1Click(Sender:TObject);
begin
  if MessageBox('逝ってヨシ!',mtWarning ,mbYesNo,0)=mrYes then
  begin
    ShowMessage('オマエモナー');
  end;
end;
0599デフォルトの名無しさんNGNG
TForm1.Button1Click(Sender:TObject);
begin
   Application.Terminate;
end;
0600デフォルトの名無しさんNGNG
TForm1.Button1Click(Sender:TObject);
begin
 ShowMessage('人知れず600ゲット');
end;
0601デフォルトの名無しさんNGNG
delphi=VB=C++
みたいな処理速度の実験結果をVBスレでみたんですが、こんなもんなんですか?
どういう所で差が出るもんなんでしょう?
0602デフォルトの名無しさんNGNG
>>601
>delphi=VB=C++
>どういう所で差が出るもんなんでしょう?
それじゃ差が出てねーじゃねーかよ(w
0603デフォルトの名無しさんNGNG
>>601
三種類とも遅いと叩かれ慣れているものだしなぁ
何の速さよ?というところに収束していくと思われ
0604デルファイの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=63
これ?

VBスレの結果ではDelphiが誤差程度に遅かったけど、多分定数の型を取れば誤差程度には向上する筈。
ところで、gotoはいいとして、timeGetTimeを使っているのにtimeBeginPeriodは?(OSがXPなので)

…以前のC#対ネイティブ(Del/C++)対決の時自分が学んだ結論として、
ひとつの関数内で勝負する場合、差は出ない、ってのがあります。
//その上で実行時にCPU別にコードを吐けるC#は速い

Delphiは、変数のレジスタ割りつけが上手、関数呼出しが高速。
C++は、インライン関数が使える、(templateなどで)静的に計算できる部分が多い、その他。
しかし、この小さなコードでは、関数も呼んで無ければ、レジスタ割り当ての上手下手が出るほど変数も無い。
要するに最適化するような項目が無いので、差が出て無いと思われます。
0605デフォルトの名無しさんNGNG
>>602
20000 個の素数をエラトステネスのふるいにより算出する時間
がほぼ同じってあったんで。
計算速度はあんまりかわらないってことですよね。
じゃあどういう面で違いがあるんやろ、っておもったんです。
初心者の戯言ですんません。
0606デフォルトの名無しさんNGNG
少し前にメモ帳の作り方で色々質問した者ですが、またお願いいたします。
今回はIP指定で接続してチャットをするものを作ってるのですが
サーバーとクライアント別に作っておりまして
サーバーへクライアントが複数接続している状態で
とあるクライアントのみにメッセージを送るという処理は
できるのでしょうか?
A−−クライアント−−B 
C−−−┘  └−−−D
こんな状態の時にA---Cのみ送信したいの様な感じです。
0607デフォルトの名無しさんNGNG
ごめんなさい クライアントじゃなくてサーバーです。
A−−サーバー−−B 
C−−−┘└−−−D
0608 ◆thBybA46GM NGNG
TMozillaBrowser(Delphi6 Personal上でActiveX取り込みによる) について質問してもいいですか?
0609586NGNG
すいません。最初の質問に関連してなんですけど、複数のユニットを作成して
それらをひとつのプロジェクトとして保存したのですが次にそれの続きを
つくろうとして「開く」→「目的のプロジェクトファイル」とやると、最初の
ひとつのメインフォームだかなんだかしか表示されず、いちいち全部開いていかないと
だめなんですけど一気に全部開くにはどうすればいいんでしょうか?
0610587NGNG
すいません587でした。上のに加えてプロジェクトマネージャを
起動時に自動で表示させるにはどうしたらいいのでしょうか?
0611デフォルトの名無しさんNGNG
Delのヘルプに「デスクトップの配置」というキーワードを入れてみてから出直してこい。
0612デフォルトの名無しさんNGNG
>>609
マクロ作ってみた。
【今開いているプロジェクト中の全てのユニットを開くエキスパート】
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=58
表示->Open All Unitsで実行。
0613Delphi1年生 ◆thBybA46GM NGNG
TMozillaBrowserについて質問です。

よくユーザー認証するサイトありますよね?ブラウザのダイアログボックスが出てきてユーザー名とか認証する。
FTPログインとかです。

ブラウザでダイアログを表示したのはいいのですが、どうやってユーザー認証情報をNavigateに渡すのかわかりません。
ですからユーザー認証ページには今移動できない状態です。

ご教授よろしくお願いします。
Delphi6 Personal+up2を使ってます。
0614ta-na-kaNGNG
おすすめの本教えてください
0615デフォルトの名無しさんNGNG
>>614
ちばてつや「ハリスの旋風」はマジ最高。買っとけ。
0616デフォルトの名無しさんNGNG
すいません、
ShellListViewで特定の拡張子のファイルのみを
表示させる方法は無いでしょうか?
0617デフォルトの名無しさんNGNG
なんか、コンポーネントとかをたくさん使ってソフトを作ると、
サイズがどんどん大きくなりますよね。
サイズを小さくするコツってないですか?
VCLを使わないとかじゃなく。
ちょっとしたことでちょっとサイズが小さくなるとか。
0618デフォルトの名無しさんNGNG
>>616
無理だと思います…。
それらのコンポーネントはあくまでサンプルだと思ってください。
0619ta-na-kaNGNG
class使うと何が便利なんですか?
0620デフォルトの名無しさんNGNG
>>617
http://pc2.2ch.net/test/read.cgi/tech/1009080085/l10

>>619
今ならキャッシュバック5000円!送料無料!!
0621616NGNG
>>618
そうですか…ありがとうございます。

これだけのために3時間費やした…
0622デフォルトの名無しさんNGNG
>>621
けど、ソースついているんだから自分で書き換えたら?
0623デフォルトの名無しさんNGNG
Form1の左上(100,100)、右下(200,200)を再描画したいので
以下の命令を実行したいのですけど、

InvalidateRect(Form1.Handle, @Rect(100, 100, 200, 200), True);

この命令が「変数が必要です」というコンパイルエラーになってしまって
実行できません。
どうすればいいのでしょうか?
0624デフォルトの名無しさんNGNG
TRect 型の変数 R を用意して、それに Rect(100, 100, 200, 200) の帰り値を
設定すれば?
一行に押し込む。って癖は早めに取ったほうが後々よいかと。
0625623NGNG
>>624
できました。
直接指定してはだめって事ですね。

どうもありがとうございしました。
0626デフォルトの名無しさんNGNG
>>625
いや、ケースバイケース。
Rect って Classes.pas で定義されている関数だから、
@Rect ってやると、関数のポインタをとってきちゃうのよ。
0627デフォルトの名無しさんNGNG
ひとつのまとまった処理をユニットに書いて、
その関数をほかのユニットから呼び出そうとしてるんですが、
うまくいきません。
たとえば、Unit1からUnit2の関数を呼び出したいときはどうすればいいのでしょう?
0628組込もしまっせNGNG
>>627
 Demos\RichEdit を開いてみて
 そこの Reinit.pas のReinitializeForms手続き を Remain.pasは使ってる。

uses と ReinitializeForms の位置とかよくみて、それを真似てみたら?
0629デフォルトの名無しさんNGNG
ネストした関数について質問です。

function F1(S1: string): string;

function F2: string;
begin
F2 := ''; //a行
Result{Result A} := Result{Result B} + 'K.';
end;

begin
Result := 'O.';
Result := F2;
end;

というルーチンを書くと、F1の戻り値は'K.'になりました。
a行を削除すると、F1の戻り値は'O.K.'になりました。
ここで、Result AとResult Bは、それぞれF1、F2何れの戻り値を表すのでしょうか?
私見では、Result AはF2とみなしてよいのでしょうが、
a行削除の前後でResult Bは入れ替わっているとしか考えられないような気がするのですが・・・。
どなたか、よろしくお願いします。

0630組込もしまっせNGNG
>>629
「初期化しないローカル変数は何が入っているか不定」
という事ではないのかな?
0631デフォルトの名無しさんNGNG
>>628
ありがとん。参考になりました。
ついでにもうひとつ。
Remainのuses節にReinitって書いてないような気がするんだけど、
何で関数呼び出せるの?
0632組込もしまっせNGNG
>>631
書いてあるよ。検索してみたら? uses はもう一箇所書ける場所があるから
0633デフォルトの名無しさんNGNG
>>632
すまんかった。もう1箇所に気づかなかった。
ってことはもう1箇所のuses節の位置がポイントなのかな。
でも、今テストプログラム書いてみたら、うまくいかない。
なんでだろう?
0634デフォルトの名無しさんNGNG
MidStr関数で文字列の中から切り出した1文字の文字コードをOrd関数で取得したいのですが、
下記のコードで、「互換性がない型」のコンパイルエラーでハネられます。

function Hoge(var strSource: String): Boolean;
var
  CharCode: Longint:
i: Integer
begin
  for i := 1 to Length(strSource) do begin
    //....(略)....
    CharCode := MidStr(strSource, i, 1); //← ここでコンパイルエラー。(-_-;
    //....(略)....
  end;
  //....(略)....
end;

右辺式をPCharとしてみましたが、おなじく、「互換性がない型」エラー。
Charだと、「キャストが正しくない」エラーとなりました。
正しい書き方(または代案)を教えてください。
0635デフォルトの名無しさんNGNG
>>634
慌てたので、書き間違えますた。m(_ _)m

function Hoge(var strSource: String): Boolean;
var
  CharCode: Longint;
  i: Integer;
begin
  for i := 1 to Length(strSource) do begin
    //....(略)....
    CharCode := Ord(MidStr(strSource, i, 1)); //← ここでコンパイルエラー。(-_-;
    //....(略)....
  end;
  //....(略)....
end;
0636デフォルトの名無しさんNGNG
>右辺式をPCharとしてみましたが、おなじく、「互換性がない型」エラー。
>Charだと、「キャストが正しくない」エラーとなりました。
分からないからといって手当たり次第に体当たりかますのは、愚か者のやること。
何が間違っているのか、理解しなきゃ。

代案。
CharCode := byte(strSource[i]);

byte へのキャストは適当。最初から LongInt にキャストしても良い。
0637デフォルトの名無しさんNGNG
何かの宿題かねぇ。

MidStr とかは VB 互換関数だから、意味を考えて別の表現を使ったほうが
物事が簡単になるぞよ。
0638デフォルトの名無しさんNGNG
>>634-635
ヴァカは一生VBだけやってろ。
0639デフォルトの名無しさんNGNG
function MidStr(const AText: string; const AStart, ACount: Integer): string;
begin
Result := Copy(WideString(AText), AStart, ACount);
end;
0640デフォルトの名無しさんNGNG
>>639
なんの解説/解決/説明にもなっていないような...
0641デフォルトの名無しさんNGNG
>>640
想像だけど、「MidStrの実装はこのようになっているのだから、適切な使い方を考えれ」
という意味かと思われ。
0642デフォルトの名無しさんNGNG
外部仕様とと内部実装は関係ないでしょ。
0643デフォルトの名無しさんNGNG
TMemoのスクロールバー(縦)で、
改行でスクロールバーが出るとき、上寄せ・下寄せを変更する項目は何でしょうか?
0644デフォルトの名無しさんNGNG
Delphi(自体)って何で作ってあるのでしょうか?
0645デフォルトの名無しさんNGNG
>>644 (どうせネタだろうけど)

VCL
0646デフォルトの名無しさんNGNG
s
0647デフォルトの名無しさんNGNG
>>645
だからって典型的なつられ方寸名よ。
0648デフォルトの名無しさんNGNG
機械語
0649デフォルトの名無しさんNGNG
HS(ry
0650組込もしまっせNGNG
>>633
インターフェース部 でヘルプをひいてみたら?

>>643
設問がよくわかりませんが、

そういう細かな操作をする場合は Windows エディット コントロール について調べるとよいです
Delphiを購入してるなら、CDROMにある日本語APIヘルプから エディット コントロールの概要が一番良いテキストです

もしかして、WM_VSCROLL かな?
0651何度もホントスマソNGNG
>>650
ヘルプ見たらUnit2ではエラー起きなくなった。
だけど、Unit1では相変わらずエラー。
Unit2で
procedure TForm1.MyProc;
ってなっているのをUnit1で
MyProc;
って呼び出すことは出来ないの?
0652デフォルトの名無しさんNGNG
DelphiはVBで作ってあります
0653デフォルトの名無しさんNGNG
VBはHSPでつくってあります。
0654デフォルトの名無しさんNGNG
>>652-653
つまんない。も少しヒネろうよ。
0655デフォルトの名無しさんNGNG
某の愛と野望で出来ている。
0656デフォルトの名無しさんNGNG
イベントハンドラをわかりやすく説明せよ
0657デフォルトの名無しさんNGNG
>>654
つまんない。
0658デフォルトの名無しさんNGNG
>>656
非常用縄ばしごの説明書。

火事が起こったときそこに書いてある手順が実行される。
0659デフォルトの名無しさんNGNG
>651
例えば、
TForm1 = class(TForm)
public
  procedure Proc1;
  procedure Proc2;
end;
procedure Proc3;
TForm2 = class(TForm)
public
  procedure Proc4;
end;
var  Form1: TForm1;  Form2: TForm2;
としてある時、
procedure TForm1.Proc2;
begin
  Proc1;
  Proc3;
end;
とか
procedure TForm2.Proc4;
begin
  Form1.Proc1;
end;
はエラーじゃないけど、
procedure TForm2.Proc4;
begin
  Proc1;
end;
はエラー。
0660デフォルトの名無しさんNGNG
何が駄目ですか?動きません

procedure TFormMain.ButtonGuClick(Sender: TObject);
var
Com : integer;
begin
Com := Random(3);
LabelYou.Caption := 'グー'
if Com = 0 then begin
LabelCom.Caption := 'グー'
end;
if Com = 1 then begin
LabelCom.Caption := 'チョキ'
end;
if Com = 2 then begin
LabelCom.Caption := 'パー'
end;
end;
0661デフォルトの名無しさんNGNG
>>660
で、どう動かないって?

エラーが出てるのにエラーメッセージ書かないのは間抜けです。
0662デフォルトの名無しさんNGNG
初心者相手にいきなりそれですか。
もういいです。
さようなら。
0663デフォルトの名無しさんNGNG
馬鹿が一人減ってなによりですね。
0664デフォルトの名無しさんNGNG
>>660

(1) マザーボードは装着されてますか?筐体を開けて確認してみてください。
(2) コンセントは抜けてませんか?
(3) 電源は入ってますか?
0665デフォルトの名無しさんNGNG
次スレから
「鬼モナーの*スパルタ式*Delphi質問スレ」に変えよう

>  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
> (    ) .| Delモナーは時に私であり、時には別の人。
> | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
> (__)_)  \_________________________

もしくは>>1も読めない馬鹿な回答者の排除を
0666デフォルトの名無しさんNGNG
Delphi使うやつは性格悪いやつが多いからVBの方がいいよ。
VBユーザーは、情報の出し惜しみもしないし。
0667組込もしまっせNGNG
>>651
 procedure TForm1.MyProc; はメソッドなので、オブジェクトインスタンスを指定してやる必要があります

単なる関数として扱えるようなら
 procedure MyProc;

とした方がいいでしょう

>>660
セミコロンを忘れていませんか?
0668デフォルトの名無しさんNGNG
Delphiは人によって作られています
0669デフォルトの名無しさんNGNG
>>668
つまんない
              ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ    / ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < オチまだ〜?
             \_/⊂ ⊂_ )   \______
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |             |/
0670デフォルトの名無しさんNGNG
I Programmed Delphi1.0 ha ha aha....
0671デフォルトの名無しさんNGNG
>>659,667
サンクス。
まだなんか動かないけど、これ以上やってると
迷惑そうなんで、自分で色々調べてみます。

でも、質問する前にも調べたからこれ以上調べようがないけど・・・
0672デフォルトの名無しさんNGNG
VBもDelphiも韓国製ニダ!
0673デフォルトの名無しさんNGNG
LabelのCaptionをIntegerとして(?)使うには、どうやるんですか?
0674 NGNG
StrToInt
0675デフォルトの名無しさんNGNG
ボタンを押すと1づつ加算されていくコード
Label1.Caption := StrToInt(Label1.Caption) + 1;
こんなかんじでやってみましたが互換が無いそうです
0676 NGNG
ちがうってば

a := StrToInt(Label1.Caption):;
a := a+1;
Label1.Caption := IntToStr(a);

変数の型にきをつけれ
0677デフォルトの名無しさんNGNG
aをVariantにしたら
a := Label1.Caption:;
a := a+1;
Label1.Caption := a;
って書けないかな
0678673,675NGNG
なるほど
最後にまたStrに戻してあげないとCaptionに入らないわけですか

そして、できました
ありがとうございました
0679デフォルトの名無しさんNGNG

Label1.Caption := IntToStr(StrToInt(Label1.Caption) + 1);

ニダ!
0680デフォルトの名無しさんNGNG
ボーランドにはCのコンパイラだかなんだかも無料で配布されてるみたいなんですが
それもDelphiみたいに開発環境がととのってるのでしょうか?
0681デフォルトの名無しさんNGNG
>>680
ネタなのか、マジ質問なのか、判断に迷うが・・・。
フリーなのは、BCC(Borland C++ Compiler)。
これには、IDEはなく、コマンドライン以外のUIはない。
BCB(Borland C++ Builder)にはIDEがありますが、こちらは
フリーではありません。価格体系はDelphiとおなじ。
(BCBにパーソナルエディションってあったっけ??)
0682デフォルトの名無しさんNGNG
>>681

マジ質です
0683Delフサギコ ◆A6VzDeLphI NGNG
>>621>>618>>616
  ∧,,∧
 ミ,,゚Д゚ミつ ヲイッ

//uses StrUtilsを追加
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
AFolder: TShellFolder; var CanAdd: Boolean);
var
 Ext:string;
begin
 if AFolder.IsFolder then Exit;

 Ext := ExtractFileExt( AFolder.PathName );
 CanAdd := AnsiMatchText( Ext, ['.jpg', '.jpeg', '.bmp' ] );
end;

0684デフォルトの名無しさんNGNG
destructor Destroy;override;のoverrideって何ですか?
0685デフォルトの名無しさんNGNG
フォームにQueryを貼り付けて、エイリアスとかよく解らないので
onCreateにQuery.DatabaseName := ExtractFilePath(Application.Exename)
とかして、データベースファイルの位置を設定してあげたら
うまく動いたのですが、他のパソコンにExeファイルとdbfファイルをもってって動かすと
'Borland Database Engine の初期化に失敗しました'
と出てしまうのですが、他のパソコンで動かすにはどうすればよいのでしょうか?
0686デフォルトの名無しさんNGNG
>>684
VCLの基幹クラスであるTObjectのヘルプを読みませう
(TObjectではデストラクタが
 destructor Destroy; virtual;
 という仮想メソッドで宣言されているから云々)
0687デフォルトの名無しさんNGNG
>>685
>エイリアスとかよく解らないので
解るまで頑張る。
0688デフォルトの名無しさんNGNG
不親切な人ばかりですね。
0689デフォルトの名無しさんNGNG
デルファイでプレステ2で動くゲームを作れますか?
0690デフォルトの名無しさんNGNG
質問です。

エクスプローラーで、フォルダを開いた状態にしていると(空のフォルダ)、
RmDirでフォルダ削除に失敗しますよね。フォルダが開いた状態かどう
かを調べるにはどうすればいいでしょうか?

ファイルなら、FileOpenでfmOpenReadWriteでハンドルを取れない時、とい
ので判断できますが・・・。
0691デフォルトの名無しさんNGNG
RemoveDirectory使ったらいいやん。
0692デフォルトの名無しさんNGNG
マウスが動いているか止まっているかを判定する技ありますかね?
0693デフォルトの名無しさんNGNG
大麻使ってマウスの位置を監視しろ
0694デフォルトの名無しさんNGNG
>>691
どうも。
RemoveDirectoryですか。フォルダのアクセスモードを一発で調べるAPI
か何かあるのかなあと思ってたけど、削除できるかできないかで判断する
しかないのですね。
0695デフォルトの名無しさんNGNG
>>693
タイマーでは計りきれないほど、短い間隔で動き止められたらだめじゃないですか
0696デフォルトの名無しさんNGNG
マウスが動いているとはどういうことか。
マウスが止まっているとはどういうことか。
0697デフォルトの名無しさんNGNG
>タイマーでは計りきれないほど、短い間隔で動き止められたらだめじゃないですか

ワロタヨ
0698デフォルトの名無しさんNGNG
強引にShowCursor(false)しちゃって、
「ちょっと待ってね♥」とか
出しておく(藁
0699デフォルトの名無しさんNGNG
マウスは常に止まっている
動いているように見えるのは残像がもたらす錯覚だ。
0700デフォルトの名無しさんNGNG
>>671
http://pc2.2ch.net/test/read.cgi/tech/1037146781/61
に答えられるようになれば、自然に理解できてると思うよ。
0701デフォルトの名無しさんNGNG
usesにユニットを追加した場合、
完成バイナリはそのユニットの中身全部を含むのでしょうか?
例えばmathユニットのMAX関数のみ使った場合、
mathユニット全部含まれてしまうのでしょうか?
0702デフォルトの名無しさんNGNG
>>696
俺も>>699と同じデジタル思考の人間ですが、
その答えは、マウスを動かす手が動いているかどうかだと思います
たとえ、残像でマウスが動いているように見えるだけでも手は動いてるんです
俺は、その手が動いてるかどうかを判定したいんです
0703629NGNG
>>630
返事遅くなってすみません。

>「初期化しないローカル変数は何が入っているか不定」
・・・と言うことは、Result BもF2の戻り値で、
F1からF2が呼び出されたときに、
F2にF1が勝手に代入されてしまった、ということでしょうか?
0704Delフサギコ ◆A6VzDeLphI NGNG
俺もよく知らないですが、前教えてもらったことには

  ∧,,∧  >>701さん
 ミ,,゚Д゚彡 そういうことはないそうです
 ミつ�S(ミ スマートリンクってって
       Max関数のみの分がバイナリになるらしい

でしが。実際は

VCLではユニット内にinitializationが
結構使われているらしく、
これに書いた文はusesするだけで
起動時に実行されるため、
usesするだけで結構な量のコードが
リンクされて、気が付かずusesしてると
Exeのサイズはびっくりな大きさになります。
0705ゼノンNGNG
>>702
手が動くなんて原理的に不可能だ。
0706デフォルトの名無しさんNGNG
>>705
それは、どういうことですか?!手は動かない・・?
0707デフォルトの名無しさんNGNG
入力カーソルについての質問なのですが、
Form1上に複数のTEdit(例えばEdit1, Edit2, Edit3)が存在するとして、
Edit1〜3と入力をしていき、その値である処理をしたいとします。
Edit1〜3の入力が完了したら、TButtonの処理により必要な処理がされ、入力データはクリアさせます。
このとき、入力カーソル(点滅する「�T」のこと)をEdit1に再度移したいのですが、
TButtonの中で指定できる項目や、または他の方法で実現できる処理がありますでしょうか?
0708デフォルトの名無しさんNGNG
Form1.ActiveControl
0709知ったかぶりNGNG
SetFocus?
0710デフォルトの名無しさんNGNG
反応も薄くなってきたので、マウス監視する技を伝授してください!
0711707NGNG
>>708
おお、できました!
しかも即レスでホント助かりました。
ありがとうございました。m(_ _)m
0712デフォルトの名無しさんNGNG
Delphi マウス監視」で検索したら↓の1つしかなくて
ttp://www.fastwave.gr.jp/diarysrv/nekomi/200209.html
なんか中みたらわけのわからない煽りが入ってるんです
しかも、内容が関係ないんです
0713デフォルトの名無しさんNGNG
'やさしいDelモナー'は居ないのですか?;
0714デフォルトの名無しさんNGNG
OnMouseMoveで き ま り だ!
0715デフォルトの名無しさんNGNG
>>712
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=Delphi+%E3%83%9E%E3%82%A6%E3%82%B9+%E7%9B%A3%E8%A6%96&lr=
限定しすぎじゃない?
0716 NGNG
モナーが優しいわけではない
0717デフォルトの名無しさんNGNG
>>712
OnMouseMove?調べてみるかな
>>715
10こくらいみたけど、マウス監視の話からずれたものが多かった
Delphiで〜を監視するには、みたいな
0718デフォルトの名無しさんNGNG
つか何がしたいんだよ
0719デフォルトの名無しさんNGNG
OnMouseMove イベントは,ユーザーがマウスポインタをコントロール上に置いてマウスポインタを移動したときに発生します。

ウィンドウの外で動かしてる部分は駄目なようですね・・・
デスクトップ全体を動いてるマウスを監視したいんです
最強のプログラマーの方お願いします
0720デフォルトの名無しさんNGNG
GetMousePos
0721デフォルトの名無しさんNGNG
マウスが動かしてる時だけに音を流したいんです
ピピピピピピピとか
0722デフォルトの名無しさんNGNG
だからタイマー使えと何度言わせれば(略
0723デフォルトの名無しさんNGNG
「GetMousePos Delphi」で検索したら、なんと1個だけ。しかも難解
デルファイの情報少なすぎる!!
しかも、GetMousePosをヘルプで検索しても出てこない!
どこまで情報を少なくしているんだボーランドは
0724デフォルトの名無しさんNGNG
GetMousePosって、検索した範囲では個人の実装しか出てきてないような。
APIだとGetCursorPosですし。
そもそも何がしたい?
手(マウス)が動いているかどうかなら、カメラを付けて画像処理だ。
マウス「カーソル」ならAPIでもOnMouseMoveでもOK。
0725デフォルトの名無しさんNGNG
そろそろやめような。
ひとつひとつ吟味してからにしろ。
荒らしと変わらなくなるぞ。
タイマーだっつーの。
0726デフォルトの名無しさんNGNG
エサをあたえないでください
0727デフォルトの名無しさんNGNG
タイマー貼り付けますた(・∀・)
0728デフォルトの名無しさんNGNG
この情報社会といわれる現代で、
こんなに情報が乏しいなんて信じられません・・・
みなさんは、どうやって最強の座に上り詰めたんですか?
0729デフォルトの名無しさんNGNG
わかりました。じゃあ、小一時間タイマーを使い倒してきます
0730デフォルトの名無しさんNGNG
>>728
トリビアの泉を毎週みる
0731デフォルトの名無しさんNGNG
>>728
ちゃんと探せばいくらでも情報があるんだけど
「GetMousePos」みたいな関数名を自分で思い込んでしまうと
思ったような情報は引き出せないよね

検索方法をいろいろ工夫してみるといい結果が得られると思うよ
もっとも、ヘルプの上手な調べ方を覚えるのが先だけど
0732デフォルトの名無しさんNGNG
OnMouseMoveの使い方(コーディング)が分からなかったので
GetCursorPosでインターバル1でマウスの動作を判定するようにしました
お父さんお母さん、ボキはなんとかデルファイを続けられそうです
0733デフォルトの名無しさんNGNG
タイマーで監視?
まぁ、Del厨の頭じゃCPU食う方法しか思いつかないでしょうな(藁
0734 NGNG
テポ テポヽ(゚∀゚)人(・д・)ノドン ドン!

テポヽ(・д・)人(゚∀゚)ノドン ドン!
0735デフォルトの名無しさんNGNG
Delphi6 Personalで使えるフリーのFTPコンポーネントみたいなのって無いですか?
0736デフォルトの名無しさんNGNG
>>735
Indy
0737デフォルトの名無しさんNGNG

タイマー使って前のポインタの座標と現在のポインタの座標が違ってたら動いてるってことdふぁ路ヴァワカ
0738デフォルトの名無しさんNGNG
>>736
ありがとうございます。早速インストールして使



…Delphi歴1週間の俺ごときが手を出すべきではなかった……
要するに、お前はまだCaptionの値を1ずつ増やしたりしてろってことですね。
0739デフォルトの名無しさんNGNG
>>738
何が問題だったんだろう?
英語が読めない?インストールに失敗?使い方が分からない?

匿名掲示板なんだから、グダグダ言わずに声を出す!
0740デフォルトの名無しさんNGNG
>>738
ftpで接続してファイルをgetするくらいの動作だったら
適当にそれらしい関数呼べばできるべ
0741デフォルトの名無しさんNGNG
つーか、FFFTPとかあるんだから、今更車輪の再作成しなくても・・・。
0742デフォルトの名無しさんNGNG
正直、ffftpはインターフェースがイマイチなので
ffftpのソースを使わせてもらってカコイイのができればそれに越したことはない
0743デフォルトの名無しさんNGNG
力を貸して下さい
TListを継承したFormListを作成しています
動作そのものはうまくいくのですが
メモリの解放がうまくいきません
解放の仕方が何か悪いのでしょうか?
type
TTestForm = class of TForm;
pFormInfo = ^TFormInfo;
TFormInfo = record
Form: TTestForm;
FormNo: Integer;
FormName: String;
FncButton: array[TFuncBtn] of String;
end;

TFormList = class(TList)
private
StringList: TStringList;
FListSeparator: String;
public
constructor Create;
destructor Destroy; override;
procedure FormAdd(TestForm: TTestForm; No: Word; Name: String);
end;
0744デフォルトの名無しさんNGNG
implementation

destructor TFormList.Destroy;
var
i:integer;
begin
for i:=0 to Count - 1 do
Dispose(Items[i]);
inherited;
end;

procedure TFormList.FormAdd(TestForm: TTestForm; No: Word; Name: String);
begin
New(FormInfo);
FormInfo^.Form := TestForm;
FormInfo^.FormNo := No;
FormInfo^.FormName := Name;
Add(FormInfo);
end;
0745デフォルトの名無しさんNGNG
使い方は
FormList := TFormList.Create;
FormList.FormAdd(TForm2, 1, 'Form2');
FormList.FormAdd(TForm3, 2, 'Form3');
FormList.FormAdd(TForm4, 3, 'Form4');
などどし
FormList.FormOpenのような形で
それぞれを開くような感じです
しかし
FormList.FormAdd
を使い、それを使用したアプリを終了すると
必ずリークします
(FreeAndNil(FormList)を使用しているFormの
OnFormDestroyで実行しています)
皆さんよろしくお願いします
0746デフォルトの名無しさんNGNG
>>力を貸して下さい
いやです。 ML に投げろ。
0747デフォルトの名無しさんNGNG
たぶん、サーバーの MTU の値が異常なんだとおもう。
0748組込もしまっせNGNG
>>743
Dispose は Newした FormInfoしか解放しません
Items[i].Formを解放してないと思いますよ。

ただ、このリストで解放してよいかどうかわかりません。
コンポーネントの場合親が解放すべきです
FormList.FormOpen で 親を誰にしていますか?
親が FormListであるなら、FormListが解放すべきです
0749デフォルトの名無しさんNGNG
>>748さん
返信ありがとうございます

FormList.FormOpenで親は
----------------------
 //pFormはItems[i]のAddress
 //pForm: pFormInfo;
 //OpenForm: TForm;
 OpenForm := pForm.Form.Create(Application);
 OpenForm.Show;
----------------------
としてますので、そのアプリ?..なのかな?
なので
destructor TFormList.Destroy;
var
i:integer;
begin
for i:=0 to Count - 1 do
begin
Dispose(Items[i]);
FreeAndNil(pFormInfo(Items[i]).Form);
end;
inherited;
end;
としてみましたがEAccessViolationの例外が生成されてしまいました
FreeAndNilをDisposeに置き換えましたが
うまくいきませんでした

根本的に何か間違っているのかな?
0750組込もしまっせNGNG
>>749
素直な感想言うと、メタメタです。・・・・気に障ったらゴメン。

1、Applicationを親にしてるのなら、そもそも解放忘れではなく、解放されているかどうか確認する 
  作業のタイミングの問題であったと思います。

2、FormInfoではフォームのインスタンスを管理していない筈です
 FormInfo.Formはメタクラスでしょう? ですから
  FreeAndNil(pFormInfo(Items[i]).Form);  
 これは出来ませんし、そもそも、Items[i] をDispostの後に触っちゃいけません。

3、もしFormList でフォームのインスタンスを管理するなら
  つまり FormOpenで pForm.Form.Create(Self); としたなら

 FormList.Components を使います。・・・というか自動的に解放されますから
 普通は特に何かする必要もないのですが


0751デフォルトの名無しさんNGNG
>>750さん
返信ありがとうございます

率直な感想、もっと欲しいぐらいありがたいです(^_^;

返信の内容、何となく理解できたのですが
3番のFormList.Componentsでインスタンスを管理する
というところが今ひとつ理解できませんでした

VCLのソースでも何でもよいので
インスタンスの管理の参考になるものは
何か無いものでしょうか?
0752組込もしまっせNGNG
フォームの親を Applicationにして、かつFormListでも管理したい場合は
 フォームの FreeNotification で 自分を登録します。
 すると、そのフォームが別のタイミングで解放される場合に知る事が可能になります。


もし自分なら、TFormInfo  を record ではなくTComponentList 継承のコンポーネントにします
//FormInfo: TFormInfo;
 //OpenForm: TForm;
 OpenForm := FormInfo.Form.Create(Application);
FormInfo.Add(OpenForm); //作成したフォームをリストに追加しておく
 OpenForm.FreeNotification( FormInfo. ) ; //解放される時の連絡先に登録しておく

そして、FormInfo の Notification には フォームが解放される時に opRemoveが呼ばれるので
FormInfo.Remove で削除しておきます
また、FormInfoを解放する直前に OwnsObjects:=True にします

0753749NGNG
>>752さん
返信ありがとうございます

TComponentList ...早速ヘルプで見てみました
、、なんだか便利なクラスのような気がする・・・
ぐらいしかわかりませんでした
これからじっくり勉強してみようと思います

FormInfo.FormOpenの記述、メモリの管理は
ぼんやりわかりかけてきたのですが
TForminfoをRecordからTComponentListに変更すると
FormList.Addの部分>>744はどうなるのでしょう?

FormListの目的は各目的毎に作成しているFormを
アプリのメインフォームのOnCreate時に追加(FormList.Addを使って)
その後、Open,Closeは設定したFormNoのFormName起動したいと思っています

物わかりが悪くて、すみません
0754組込もしまっせNGNG
よく判らないけどこうかな

procedure TFormList.FormAdd(TestForm: TTestForm; No: Word; Name: String);
var FormInfo:TFormInfo;
begin
FormInfo:= TFormInfo.Create(self); //ホントはこれで Self.Components[] に登録されるのだけど
Add(FormInfo); //一応 TListだから・・・・でもこのクラスもTComponentList継承の方が少し楽かもね

FormInfo.Form := TestForm; //でもFormという名前はあんまり良くないよ メタクラスがわかるような名前がいい
FormInfo.FormNo := No;
FormInfo.FormName := Name; //複数のインスタンスが作られるなら、Nameに何の意味があるの?
end;
0755組込もしまっせNGNG
まてよ。
FormNo は必要かな?
識別出来る番号ならIndex でいいんじゃないの?

FormNameも必要かな?
クラスを渡してるんだから FormNameはClassName で代用すべきじゃないの?

となると、 TFormList. は TClassListでいいんじゃないの?
0756デフォルトの名無しさんNGNG
DLL作ってフックしろって
0757デフォルトの名無しさんNGNG
ていうかお前らどうやってDelphi勉強したの?
俺の探し方が悪いんだか知らんが、基礎的なことが書いてある
ホームページしか見つけられなかったんだが・・・
なんかいい勉強法教えてくれよ。
0758749NGNG
返信ありがとうございます

FormNo, FormNameをForm毎に指定する意味は
Open(FormName);等で指定するためです
(普通はForm.Captionを入れようと思っています)
FormNoはIndexではなくそのFormの固有の番号を想定しています

また、OpenFormは二つ以上のインスタンス作成は許さず
もし既にインスタンスが作成済の場合はそのFormを一番手前に
もってくるような形にしようとしています

もしかしたら端から見た場合、おかしな事をしているのかも・・・

すみません、ごちゃごちゃ書いてしまって・・・
0759749NGNG
>>757さん
私は本屋にあるDelphiの本という本を買うか
立ち読みしまくっています。

そばに誰も教えてくれる人もいないので
そのような勉強法になっています(^_^;
0760デフォルトの名無しさんNGNG
>757
まず何を作るかを決めて、
簡単そうな機能から、ヘルプとメーリングリストの過去ログ、Googleで調べながら、実装していく。
最初はヘルプの内容もよく理解出来なかったりして苦労するけど、
だんだん解ってくる。
0761デフォルトの名無しさんNGNG
ずっと前にDLL作ってフックしたことがある。
したら、自分のウィンドウの外は正常にマウスを捕まえられたが、
自分のウィンドウ内がうまくいかなかった記憶がある。
なんでだったかなぁ。
とにかくそのときは見えないウィンドウ作って誤魔化したと思う。
0762デフォルトの名無しさんNGNG
>>759-760
なるほろ。参考になりました。
0763組込もしまっせNGNG
>>758
 2つ以上のインスタンス作成を許さなく、かつApplicationを親にするのなら
1、FormNoは自分のフォームのベースメンバーにする
2、FormNameはフォーム.Name を使う


procedure MyFormOpen(TForms: TTestForm; No: Word; Name: String);  という感じの手続きを作り
 既にフォームがあるかどうかは
 FindComponent で 検索出来ますし、
 if Application.Components[i] as TForms then ・・・みたいに検索しても早いですから
既に作成されていれば、それを、でなければ 新規作成

という方法が一番スマートで簡単かと思います。
0764749NGNG
>>763
返信ありがとうございます

早速返信していただいた内容で
試してみたいと思います
(また困った事があったら書き込んでしまうかも?)

長い間、本当にありがとうございました
0765組込もしまっせNGNG
関数作ってみた。 こんな感じ

function MyFormOpenClose(TForms:TFormClass;fname:string;IsClose:boolean=false):TForm;
var i:Integer;
var Form:TForm;
begin
Result:=nil ;
for i:=0 to Application.ComponentCount-1 do
if Application.Components[i] is TForms then
with Application.Components[i] as TForms do
if name=fname then
begin
  if IsClose then begin Free;Result:=nil;exit;end
  else begin Show;SetFocus;exit;end;
end;
if IsClose then exit;
  Application.CreateForm(TForms,Form);
  Result:=Form;
  Form.Name:=fname;
  Form.Show;
  Form.SetFocus;
end;
0766デフォルトの名無しさんNGNG
データベースに接続したら_QSQL〜.dbfってのが作成されて、終了時に消え去るんだけど
これの作成場所を変えれる?
0767デフォルトの名無しさんNGNG
最近ここでは
『返信ありがとうございます』
が流行ってるのですか?
0768デフォルトの名無しさんNGNG
TreeViewで、たとえばレベル0の2番目のノードを1発で求める関数ってありますかね。
0769デフォルトの名無しさんNGNG
>>768
function get2bannme(tree :TTreeview) :TTreeItem;
begin
Result := tree.Items[1];
end;
0770デフォルトの名無しさんNGNG
スクロールボックスコンポーネントで、スクロールボックスコンポーネント内の
再描画を処理するのはどうすればいいのでしょうか?
スクロールボックスコンポーネントには、ONPaintイベントが無いのでで
きないのです。
どうしても実現したいです。
0771デフォルトの名無しさんNGNG
>>769
ひとつ上の兄弟ノードが、子ノードを持っていた場合だめじゃない?
0772デフォルトの名無しさんNGNG
>>771
ツリー構造じゃないの?
0773デフォルトの名無しさんNGNG
あっ!すまん
0774デフォルトの名無しさんNGNG
>>772-3 君たち間違え(w 漫才か?
0775デフォルトの名無しさんNGNG
>>767
返信っつーとまるでメールみたいだニャ

「返信!」
「ライダー返信!」
「返信V3!」
0776デフォルトの名無しさんNGNG
>>774
間違い。なら納得もするが。
0777デフォルトの名無しさんNGNG
WindowsXPだとMS-Officeがとても速く起動すると思います。
XP、入れて良かったです。
0778デフォルトの名無しさんNGNG
なぜDelphiのコードエディタは上方向検索がないのでしょう。
とても不便に感じます。
0779デフォルトの名無しさんNGNG
ある
0780デフォルトの名無しさんNGNG
F3やShift+F3での上下切り替えがないということでした。
0781デフォルトの名無しさんNGNG
Delphi情報少ないね
これが7まで続くとは某国も頑張ってきたね
0782デフォルトの名無しさんNGNG
>>781
確かに日本語の情報は少ない。
この業界、海の向こうで流行ると無批判で使う人が多いからねぇ
0783デフォルトの名無しさんNGNG
そろそろ終わりだね(w
0784デフォルトの名無しさんNGNG
>>770
PaintBoxでも貼り付けてみたらどうだろう。
でなければ、TScrollBoxからコンポーネントを派生させて
WM_PAINTのメッセージハンドラを作るとか。
0785デフォルトの名無しさんNGNG
デルファイ終了sage
0786デフォルトの名無しさんNGNG
デルピーage
0787デブォルトの名無しさん NGNG
何気に質問が…

ツールバーのカスタマイズを有効にして、ツールバーをダブルクリックすると、設定ウインドウが出るじゃないですか。
それをアプリケーション側から出すにはどうすればいいのですかね?
0788デフォルトの名無しさんNGNG
実数型のデータのバイナリ保存のプログラムを作ってみたのですが、
button1を押すとエラーが出てうまくできません。
簡単なことなのかもしれませんが、どこが悪いのかわからないので
どなたかご教授ねがえませんでしょうか?

procedure TForm1.Button1Click(Sender: TObject);
var
fs: TFileStream;
i: integer;
begin
fs := TFileStream.Create('D:\test.txt', fmCreate);

i := StrToInt(Edit1.Text);
fs.WriteBuffer(Pointer(i)^, SizeOf(i));
fs.Free;
end;
0789デフォルトの名無しさんNGNG
Win2000のPC3台にDel7を入れました。
Del7を起動させるとファイルとか編集とかの横に(F)(E)とか出ません。
ALTを押すと出ます。
おれだけ?
0790デフォルトの名無しさんNGNG
>>788
エラーが出ますと良いながらエラーメッセージを書かない。
エラーメッセージを読んでないってこった。それで解決出来る訳がない。
0791770NGNG
>>784
WndProcでやればできたのですが、
例えば、

procedure MouseEnter(var Msg: TMessage); message cm_mouseEnter;

みたいにすると、マウスカーソルがコンポーネント上に来た時に呼ばれますが、
onPaintの時はどう書けばいいのでしょうか?
messageのあとにcm_OnPaintと記述しても、未定義の識別子となってしまいます。
0792デフォルトの名無しさんNGNG
>>791
OnmouseEnterの時はOn省いたくせに・・・
0793デフォルトの名無しさんNGNG
>>790
プログラムみればストリームエラーということぐらい簡単にわかると思うが。

>>788
WriteBufferの第1引数は、実体を与えればよい。
つまり、
WriteBuffer(i, SizeOf(i));
0794770NGNG
On抜きましたけど、

procedure Paint(var Msg: TMessage); message cm_Paint;

でもエラーになるんです。
OnPaintの時はどうすればいいのでしょうかね。
0795デフォルトの名無しさんNGNG
>>793
初心者潰しか。おめでてぇな。
0796デブォルトの名無しさんNGNG
ぅぉ!
誰も返信してくれてない…
0797デフォルトの名無しさんNGNG
WM_PAINTじゃないの?
0798デフォルトの名無しさんNGNG
「F9キーが押されたとき」、処理を実行するにはどうすればいいでしょうか?
0799デフォルトの名無しさんNGNG
OnKeydownイベントで引数Keyの値がVK_F9だったときに実行する。
0800770NGNG
WM_PAINTでできました。
実験サンプルですが、

type
TForm1 = class(TForm)
Label1: TLabel;
private
{ Private 宣言 }
procedure Paint(var Msg: TMessage); message WM_PAINT;
public
{ Public 宣言 }
end;

procedure TForm1.Paint(var Msg: TMessage);
begin
Label1.Caption := 'abcde';
Inherited; ●
end;

を実行した時、●のところにあるInheritedを記述しないと、ラベルが表示されないのですが、
このInheritedの既定の処理の中で、フォーム上に存在するコンポーネントが描画されている
という事ですか?
解釈としてはあっているでしょうかね?

また、このようにしてメッセージを処理した時は、オリジナルの記述の後に必ずデフォルトの
処理が必要という事でしょうか?
0801デフォルトの名無しさんNGNG
i:=Random(3);
case i of
0:Label1.Caption:='0';
1:Label1.Caption:='1';
2:Label1.Caption:='2';
ってすると最初は必ず0,0,2,0って順番で出るんだけど
もっとランダムにできないの?
0802デフォルトの名無しさんNGNG
>>801
ヘルプに書いてあるよ。
0803デフォルトの名無しさんNGNG
>>800
WM_PAINT受け取った時にはBeginPaintとEndPaint呼ばなくちゃいけないから…
っつーか、ちゃんと描画しようと思ったらBeginPaintとEndPaintの間で
描画処理を呼ぶような仕組みにしないといけないし。
「Delphi owner draw scrollbox」あたりでぐぐるとスクロールボックスの
サンプルが出てくるから、それ参考にしてみたら。
0804デフォルトの名無しさんNGNG
>>801
Randomは、プログラムを開始して実行しても、毎回同じ順序で値を
返してきます。

これをランダムにするにはRandomizeを使います。
Randomを実行する前に一度だけ実行するだけで有効になりますので
(何個も記述しても同じです)、FormのOnCreateイベントに記述すれば良いでしょう。
0805デフォルトの名無しさんNGNG
>>803
できました!ありがとうございます
0806801NGNG
>>802
でした。>>804もありがとう
0807801NGNG
THint=class(TObject)
Fi:Integer;
procedure show;
end;
ってクラス定義して
procedure THint.show;
begin
Fi:=Random(3);
case Fi of
0:Label1.Caption:='グー';
1:Label1.Caption:='チョキ';
2:Label1.Caption:='パー';
end;
end;
って書いたんですけど、Label1.Caption1に出てこないのは
なんでですかね?
0808デフォルトの名無しさんNGNG
Label1ってのはForm1.Label1とかじゃないの?
THintのメソッド定義中ではForm1が必要
0809デフォルトの名無しさんNGNG
>>807
例えば、Form1上のラベルに表示したい時、ラベルはForm1というものの
中に存在します。
THintクラスはTForm1クラスとは別なので、ラベルがどこに存在するかと
いう事を指定しなければいけません。

例えば、自分と同じ学級(4組とします)の「山田さん」の事を伝えるには、
先生に「山田さん」といえば分かりますが、他の学級の山田さんの事を伝
えるには、「6組の山田さん」みたいに何組なのかを言わなければ分から
ないのと同じです。

Form1.Label1.Caption のForm1が何組かなのかに当たります。

procedure THint.show;
begin
  Fi:=Random(3);
  case Fi of
    0: Form1.Label1.Caption:='グー';
    1: Form1.Label1.Caption:='チョキ';
    2: Form1.Label1.Caption:='パー';
  end;
end;
0810デフォルトの名無しさんNGNG
付け足しです。
ここでの学級がクラスの事にあたります。
0811デフォルトの名無しさんNGNG
>>809
ちゃんとスコープ当たりから叩き込んでやるのが親心だと思うけど。
0812801NGNG
>>808
できました!
0813801NGNG
0と2と4という数字をランダムに選びたいんですが、どうやるんですか?
0814デフォルトの名無しさんNGNG
>>813
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=delphi+rand&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

0〜2で取って*2すればいいでしょう。
0815デフォルトの名無しさんNGNG
Delphi6 Personalを使っているんですが、
あるコンポーネントを使ってコンパイルすると
「 'DesignIntf.dcu' が見つかりません」とエラーが返されます。

いろいろ調べてみたのですが、今まで「DsgnIntf」であったものが
Delphi6になってDesignIntfとDesignEditorsになったらしいのです。

つーことはDesignIntfのファイルは存在するはずなので検索してみたところ
何故かDocフォルダの中にDesignIntf.intなるものが見つかりました。
で、ヤケクソになってこのファイル名をDesignIntf.dcuとかDesignIntf.pasなどとして
Libの中に放り込んだら、今度はDesignIntfの中でusesされてる
「DesignMenus」が見つからないと。

ListViewの使い方程度に四苦八苦してる漏れにはもう限界です。
誰かDesignIntfだかDesignMenusだかのありかを教えて頂けませんか?
0816デフォルトの名無しさんNGNG
>>815
ヘルプをくまなく読めば書いてあるよ。
0817デフォルトの名無しさんNGNG
>>816
「DesignIntf」でテキスト検索したんですが、
「del6vcl.hlp」というヘルプにしか書かれていませんでした。
また、この内容も「DesignIntf」の使い方のみでした。
DesignMenusについては書かれてもないし…

ひょっとして知らん間に消したのか……?
再インストールしたら直らんかなぁ。
0818デフォルトの名無しさんNGNG
TQueryでSQL.Text := 'SELECT DISTINCT 'サンプル' FROM test';
のようにtestファイルからサンプル項目内の情報を重複なしで取得、というのは
TTableを使った場合どのようにすれば同様にできますか?
0819デフォルトの名無しさんNGNG
>817
ちょい設計が悪いコンポーネントかも。
プロジェクト→オプション→パッケージ→実行時パッケージを使うにチェックして、designideを追加。
0820デフォルトの名無しさんNGNG
>>819
うぉっ!いけた!
すげぇです。感動です。あなたが神に見えます。

マジでありがとうございました。
0821マルチはカスNGNG
最近、「Delphi Q & A 掲示板」とここに分かりやすいマルチしてる
ヤツがいる。
マルチはカスのやることだと思い知れ。
0822デフォルトの名無しさんNGNG
俺カスだからマルチって良いんですね♪
0823800NGNG
>>803
参考にします。
ありがとうございます。
0824デフォルトの名無しさんNGNG
初心者ですが、このプログラムでbutton1を押して文字列のバイナリを読み込んでも、
Edit1にはなぜか空白が代入されてしまいます。
どうすれば文字列が代入されるのか教えてください。お願いします。
自分ではReadBufferの中身が悪いような気がするんですけど、
中身がどのように悪いのか分かりません。

procedure TForm1.Button2Click(Sender: TObject);
var
fs: TFileStream;
s: string;
begin
fs := TFileStream.Create('D:\test.txt', fmOpenRead);
try
fs.ReadBuffer(Pointer(s)^, Length(s));
Edit1.Text := s;
finally
fs.Free;
end;
end;
0825デフォルトの名無しさんNGNG
>>824
>Length(s)

= 0

そのおかげで、幸か不幸か例外が出ずに動いている。

Setlengthするかcharの配列使った方がいいよ。
0826デフォルトの名無しさんNGNG
コード上でそのプログラムを終了させる方法をお願いします
0827デフォルトの名無しさんNGNG
Delphi使ってると笑われるんだけどどうしたらいい?
0828デフォルトの名無しさんNGNG
Application.Terminate.
0829デフォルトの名無しさんNGNG
>>827
一緒に笑う。
0830デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0831デフォルトの名無しさんNGNG
>>827
Schemeに乗り換えれ。
すばらしい世界が待ってるぞ!
0832デフォルトの名無しさんNGNG

ttp://www.delphipages.com/tips/thread.cfm?ID=148
ここに載っている方法で、RichEditのテキストのURLを青字で表示して、
クリックしたら開けるようになったんですが、
RichEditがあるフォーム(単一です)のFormStyleをfsStayOnTopにして、
常に前面に表示するようにすると、機能しなくなってしまいます。
その後、前面表示をやめても戻りません。
URLをクリックして開けるようにする方法を教えてください。
0833デブォルトの名無しさんNGNG
>>827
TTSに乗り換えれ。
すばらしく笑われるぞ!
0834デフォルトの名無しさんNGNG
TWebBrowserの画面に表示されているページにあるボタンを
自動的にクリックさせるにはどうしたらいいんですか?
0835デフォルトの名無しさんNGNG
>>833
TTSはそこらの半端な人間には使いこなせません。
0836デフォルトの名無しさんNGNG
====================================

http://www5b.biglobe.ne.jp/~ryo-kyo/osu.html

====================================
0837デフォルトの名無しさんNGNG
>>827
ひまわりに(ry
0838デフォルトの名無しさんNGNG
>834
INPUTオブジェクトのClick()メソッドあたりを使う。
0839デフォルトの名無しさんNGNG
>>838
もうちょっと具体的に教えてください。。。
0840デフォルトの名無しさんNGNG
起動時の処理でlistViewのBeginUpdate,EndUpdateをするとリストのコラムが
何故か表示されてません。コラムをクリックすると元に戻るのですが
ほかに良い方法はないでしょうか?
0841デフォルトの名無しさんNGNG
>839
var doc: OleVariant;
doc := WebBrowser1.DefaultInterface.Document;
とかすればdocにdocumentオブジェクトが入るので、
あとはDHTMLのリファレンスとかを参考にやります。
例えばid='okButton'のボタンを押したければ、
doc.all('okButton').Click();
0842デフォルトの名無しさんNGNG
「モナーの *やさしい* Delphi質問スレ」

とはいっても講義がやさしいのであって、モナーが優しいわけではない。
モナー本人は辛辣。
0843デフォルトの名無しさんNGNG
TStaticLabelはTLabelと違って、AutoSize=Trueでテキストをキャプションに読み込んでも
改行されずにすべて一行で表示されてしまいます。
複数行表示にするにはどうすればいいのでしょうか?
0844デフォルトの名無しさんNGNG
Delって、VC++みたいに、マクロ機能のような物は存在するんですか?
あるなら、どうやってやるんでしょうか。

0845デフォルトの名無しさんNGNG
>>844
まぁ、結局コンパイラでインライン展開されたりしたら大して変わらなさそうだけどね。
0846デルファイの名無しさんNGNG
>>844
IFDEF関連だけありますよ。
IFOPTでコンパイラオプションで分岐できるし、IFでconstの値も使えるし。
0847デフォルトの名無しさんNGNG
キーボードマクロとか、スクリプトマクロのことだったりして。
0848デフォルトの名無しさんNGNG
そんなのありえないだろ。
0849デフォルトの名無しさんNGNG
VCのマクロ機能って普通にそれ連想したけどな。
ま、どっちでもいいけど。
0850デフォルトの名無しさんNGNG
ここって質問スレじゃねぇよな?
0851デフォルトの名無しさんNGNG
教えてくんでスマソ
>832教えてください
0852デフォルトの名無しさんNGNG
メモコンポーネントなどの中の、点滅しているキャレットの座標を取得す
る事はできるでしょうか?
できるとすればどうすればいいのでしょうか?
0853デフォルトの名無しさんNGNG
>852
SelStartじゃ駄目?
0854デフォルトの名無しさんNGNG
>>853
う〜ん

直接、メモの左上から(50、100)みたいに座標を取得できたらいいのですけど。
0855デフォルトの名無しさんNGNG
どうせWordとかExcelのキャレットの座標は取得できないし。
0856デフォルトの名無しさんNGNG
xy := Memo1.Perform(EM_POSFROMCHAR, Memo1.SelStart, 0);
x := LOWORD(xy);
y := HIWORD(xy);
ただ、文末にキャレットがあるとおかしくなるね。
0857デフォルトの名無しさんNGNG
GetCaretPosでええやん
0858854NGNG
すいません。

GetCaretPosはProtectedなので呼び出せないのですが、どうすればいいのでしょうか?
0859デフォルトの名無しさんNGNG
プロテクトを外す。
0860815NGNG
すいません、815でDesignIntfについて質問した者です。>>819で答えていただいた通り
「プロジェクト→オプション→パッケージ→実行時パッケージを使うにチェックして、designideを追加。」
でコンパイルは出来るのですが、これを実行時パッケージを使わずにコンパイルすることは
出来ないのでしょうか?設計時パッケージの方にdesignide.dcpを追加してコンパイルしてみても
「DesignIntf.pas(17): ファイル'DesignMenus.dcu' が見つかりません」と出てコンパイルできません。

また、「実行時パッケージを使う」でコンパイルした場合、実行ファイルの他に
どういったファイルが必要になるのでしょうか?
0861デフォルトの名無しさんNGNG
>>842
質問内容が「やさしい」のかと思ってたんだけど?
0862デフォルトの名無しさんNGNG
>851
RichEditに再度テキストを流しこむか(再設定のコマンドあるかも知れないけど)、

FormStyleをいじるのではなく
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0,0,0,0,
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
で前面にもってくるのが素直な反応でよろしいかなと。
0863デフォルトの名無しさんNGNG
>>861
それはないだろ(藁
0864デフォルトの名無しさんNGNG
>862
ありがとうございます。
帰ってから試してみます。
0865デルファイの名無しさんNGNG
>>860
>これを実行時パッケージを使わずにコンパイルすることは出来ないのでしょうか?
残念ながら、コンポーネントがdesignideの機能を要求する限り無理です。
(というか、本来設計時のみのdesignideを要求するコンポーネントが腐ってる)

>また、「実行時パッケージを使う」でコンパイルした場合、実行ファイルの他に
*.bpl。具体的にどれとどれかは、該当オプションのすぐ下にvcl;rtl;…って並んでる。

以下、完璧余談ながら、
VC++は実行時パッケージ相当のものがOSにはいってんですよねー卑怯ですよねー
0866デフォルトの名無しさんNGNG
>>854
TRichEditのメソッドGetCaretPos()じゃなくて、WindowsAPIのGetCaretPos()を呼べ。
定義は"Windows.pas"の中。


0867デフォルトの名無しさんNGNG
>>841
そのidとは何ですか?
HTMLに記述されているinputのnameを指定しても出来ませんでした。
0868832NGNG
>862
教えていただいた方法で、前面に表示しても大丈夫になりました。

また、
Form1.BorderStyle := bsNone;
とした場合も同じ現象になってしまうので、これも回避したいのですが、
SetWindowLong()で、変えてみたのですが、
Form1だけ、いちおうスタイルが変わるようなのですが、
その上に配置してある、メニューとRichEditの位置、サイズがそのままなのと、
再描画?が行われず、機能はしないものの、キャプションバーが見た目上残っています。
メニューを操作すると、メニューの位置は、フォームの一番上(元々キャプションバーだったところ)に
移動するようなのですが、元々のメニューの表示が残ってしまいました。
同じような回避方法を教えていただけないでしょうか。



0869デフォルトの名無しさんNGNG
Del6でレジストリを書き換えるツールを作ろうとしています。

具体的には、LAN接続の設定(IPアドレス、
サブネットマスク、デフォルトゲートウェイ)を切り
替えたいのですが、いじろうと思っているレジス
トリの ネットワークアダプタID(キーの{}で囲
まれたところ)が複数ある場合があるわけです。
(昔のNICの残骸が残ってる?)
自分のPCの場合なら、今使ってるNIC名が
わかっているので、何とかなるわけですが、
人様に使っていただくツールの場合、NICが
わからないので、{アダプタID}が複数ある場
合はどこをいじればよいかわからないのです。
何かいい判別方法ないでしょうか?

説明が下手で済みませんがよろしくお願いします。
0870デフォルトの名無しさんNGNG
スレ違いだか板違い
コマンドラインツールであったような気もするけど
0871デフォルトの名無しさんNGNG
>>869
>どこをいじれば

該当箇所。としか言いようがないけれど。
0872デフォルトの名無しさんNGNG
 その手のソフトに「あいぷっち」 ってのがあるな。VBだけど。
0873デフォルトの名無しさんNGNG
>>869

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=628&lngWId=7

Delで VBのWMIを使う、、、らしい。 参考まで。
0874デフォルトの名無しさんNGNG
Delphiって、exeの中にシリアルNoを暗号化したりして、開発者個人を
特定する事が可能な情報が入っていますか?
0875デフォルトの名無しさんNGNG
はいってねねーよ
0876デフォルトの名無しさんNGNG
今、エクセルVBAでテキストファイルのデータとCSVのデータをエクセルにコピー
して計算式を書き込んでいって、結果をエクセルに出しています。
1つのテキストデータの計算結果を出すのに30秒から1分くらいかかります
4000のテキストファイルのデータを読み込むとすると膨大な時間がかかります

Delphiを使って計算をさせようと思うのですが、時間にしてどの程度かかるもの
なのか分かりません。VBAとDelphiの両方で同じような計算式を使うとどのくらいの
違いがありますか?

0877デフォルトの名無しさんNGNG
>>876 Excelを使う限りは同じ
CSVのデータをDelphi側で読んで加工して結果だけExeclに書き出せばよいのなら多少はマシになるかな
0878デルファイの名無しさんNGNG
単純な数式の計算速度は、最大でVBの三倍ぐらい出せる…とどこかで読んだ…けど、
(ただしVBでもネイティブコンパイルして手動で関数展開して、ってやればCやDelと遜色無い)、
読んだ感じファイル入出力やオートメーションが大部分を占めているように思えますので
それだとディスクアクセス速度やExcel側の速度のほうに影響されて、何でやっても差は出ないかも。

Excel呼ばずに全部自前でやるというなら別ですけどね。
0879デフォルトの名無しさんNGNG
>>865
解答ありがとうございます。
rtl60.bplやvcl60.bplのように必要そうなファイルの容量が
大きすぎるので、結局このコンポーネントを使うのは諦めました。

はぁ、また1から作り直しか……
0880デフォルトの名無しさんNGNG
DateTimeToUnix関数がどうやっても使えないんですけど、
どうすれば使えるようになりますか?
0881デフォルトの名無しさんNGNG
>>879
なんてコンポーネント?差し支えなければ教えて。
0882デフォルトの名無しさんNGNG
fmOpenReadだけよりfmOpenRead or fmShareDenyNoneの方が良いと思います。
0883棒スレよりNGNG
あのう、TEditorって有名なシェアウェアあるじゃないですか?
これから派生したらしいTEditorEXというコンポーネントがあるんですが、
こちらはどうやらフリーなようなんですよね。

これって・・・みんなこっちの方使っちゃいません?
それともなんか本家にはない欠点見たいなものがあるんでしょうか?
0884デフォルトの名無しさんNGNG
TEditorEXのreadme.txtより
>TEditorEx では、本田勝彦氏の2つのコンポーネントとbmonkey氏の
>コンポーネントが必要です。
>・・・
>TEditorExはフリーウェアですが、TEditorはシェアウェアです。
>使用するにあたって本田勝彦氏への送金をお願いします。
0885デフォルトの名無しさんNGNG
ああ!なるほど。

チッ
0886 NGNG
>>884
なんか意味不明だね。勘違いして「完全なフリー」と思っちゃった人は
大変だ。いるかどうか知らんけど。
0887デフォルトの名無しさんNGNG
作成したフォームを、常に他の特定アプリケーションの前面にだけ表示する方法を教えてください

他のアプリケーションに張り付いたような感じにしたいのです

0888デフォルトの名無しさんNGNG
>>887
MDIにするかそいつを親として登録するか。
0889デフォルトの名無しさんNGNG
http://www.phoenix-c.or.jp/~taki/library/delphi/GLDPNG3.html#License

なんかGPLなプログラムには使っちゃいけないらしくて、
あまり自由じゃなさそうです。
他に、PNGファイルを扱うモジュールで
GPLまたはBSDライセンスで、Delphiから使えて
使いやすいものはありませんか?
0890デフォルトの名無しさんNGNG
>>887
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent:=FindWindow('IEFrame', nil);
end;
0891デフォルトの名無しさんNGNG
>>890はIEの前に表示する例ね。
0892デフォルトの名無しさんNGNG
>BSDライセンスで、Delphiから使えて
ほらよ
http://www.phoenix-c.or.jp/~taki/library/delphi/GLDPNG3.html#License

糞スレの削除依頼出しとけよ
0893デフォルトの名無しさんNGNG
>888
ありがとうございます。
こんなんで、なんか動きました。あってますか?


SetWindowPos(TargetWnd,Form1.Handle,0,0,0,0,
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);


0894889NGNG
モジュール自体がBSD, GPLなものはないでしょうか?
0895893NGNG
>893
うまくいったと思ったら、だめだった...
全然無関係なアプリをアクティブにしてから、
張り付いたアプリをアクティブにしようとしたときに、うまくいかないようです
他の部分が悪さしてる気もするので、今、見ていますが、
何か間違ってるようでしたら教えていただけるようお願いします。
0896893NGNG
やっぱり、根本的に違ってる気がしてきました
正解お願いしますです
0897デフォルトの名無しさんNGNG
>>894
GPLなCのコード拾ってきてBCCでビルドしてリンクしたら。
0898デフォルトの名無しさんNGNG
死ね。でいい気がする。
0899デフォルトの名無しさんNGNG
>890,819
すいません、昨晩見落としていました。
帰宅してから試したいと思います。

このCreateParams()というのは、見たところFormの生成時にでも、
処理されるのかと思うのですが、Form作成時には、
ターゲットのウィンドウが存在しないような場合には問題ありますか?
0900デフォルトの名無しさんNGNG
900!
0901デフォルトの名無しさんNGNG
今、
var d:Int64;

の時、dがInteger(32bit)の範囲であるかどうかのチェックをどうすればよいでしょう?

色々試して
if ( d>=int64(-2147483647-1))
and ( d<=int64(2147483647)) then ・・・処理・・・;

と書けばD5では巧く動くようですが・・・ int64の定数って書けないんですよね?
0902デフォルトの名無しさんNGNG
>dがInteger(32bit)の範囲であるかどうかのチェック
if (d >= Low(Integer)) and (d <= High(Integer)) then
if d = Integer(d) then

>int64の定数って書けないんですよね?
const c = Int64(0);
const c: Int64 = 0;
0903デフォルトの名無しさんNGNG
>>902
ありがとうございました。
0904デフォルトの名無しさんNGNG
898って、以前から馬鹿だのアフォだの言ってるやつだろ
こなきゃいいじゃねーか
なんでここでえらそうにしてんだ?ばかか
0905デフォルトの名無しさんNGNG
>>904
>ばかか

これがなきゃ至極まっとうな発言だったんだけどな・・・。
0906デフォルトの名無しさんNGNG
TWebBrowserコンポーネントのNavigateメソッドで、HTMLファイルを読み込むと、
一回目はおかしな表示になってしまいます。
同じファイルをもう一回Navigateメソッドで表示すると、今度は正しく表示されます。
何が原因なのでしょうか?
0907パソナラー ◆Tp0RXFvi3E NGNG
>>906
エンコードの問題では?
0908デフォルトの名無しさんNGNG
>>907
直りました。
HTMLファイルの記述ミスでした。
0909デフォルトの名無しさんNGNG
Delphiではステータスバーのパネルのサイズを、そのパネルに表示されている
文字のサイズに合わせて変更するプロパティはないのでしょうか?
ちょっと見当たりません。

VB6.0のPanelオブジェクトのsbrContentsに相当するものです。
0910デフォルトの名無しさんNGNG
質問があります。

ShellExecute(0, nil, PChar('notepad.exe'), PChar(path), nil, SW_NORMAL)

を実行すると、毎回新しいメモ帳が開いてpathで示されるファイルの内容が表示
されてしまいますが、これを、メモ帳がすでに開いている時は、新しいファイル
を指定してShellExecuteを実行しても、すでに起動しているメモ帳にファイルの
内容を表示するにはどうすればいいのでしょうか?(要するに、1つしかメモ帳が
起動してほしくありません)
0911このレスの半分くらいはネタでできていますNGNG
>>910
メモ帳がその機能をサポートしていないなら起動しているメモ帳を検索して操作する。
0912910NGNG
メモ帳を表示の件のプログラムは別にできなくても差し支えないのですが、例えばHTML
ファイルを表示する時にはどうすればいいのでしょうか?
Button1Click → Button2Click → Button3Click の順番でクリックした時、Button1Clickで
Text1.htmを表示した時に起動したIEで、Button2ClickのText2.htm、Button3ClickのText3.htm
を表示したいのです。

>メモ帳がその機能をサポートしていないなら起動しているメモ帳を検索して操作する。
初心者なので全然やり方が分かりませんので、誰か実現するコードを載せてください。
お願いします。

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(0, nil, PChar('C:\Program Files\Internet Explorer\IEXPLORE.EXE'),
    PChar('D:\Text1.htm'), nil, SW_NORMAL);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShellExecute(0, nil, PChar('C:\Program Files\Internet Explorer\IEXPLORE.EXE'),  
    PChar('D:\Text2.htm'), nil, SW_NORMAL);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  ShellExecute(0, nil, PChar('C:\Program Files\Internet Explorer\IEXPLORE.EXE'),
    PChar('D:\Text3.htm'), nil, SW_NORMAL);
end;
0913デフォルトの名無しさんNGNG
>>912
ShellExecuteじゃ無くて、shdocvw.pas(shdocvw_tlb.pas)のTInternetExplorer等を使う。
0914910NGNG
>ShellExecuteじゃ無くて、shdocvw.pas(shdocvw_tlb.pas)のTInternetExplorer等を使う。
すいません。何の事かまったく意味が分かりません。

お手数ですが、>>912で書き込んでいる事を実現するチュートリアルみたいな手順を誰か教
えてくれないでしょうか?
0915デフォルトの名無しさんNGNG
>>910
きみ、いいね。実にナイスだよ。
0916デフォルトの名無しさんNGNG
KeyPressでもKeyDownでもVK_CONVERTが捕まえられません。
どうすればいいですか?
0917デフォルトの名無しさんNGNG
起動直前にメモ帳検索して全部killしてからshellexecuteしろ
0918デフォルトの名無しさんNGNG
Delphiでユニコードをそのまま(SJIS変換しないで)表示する方法教えてください。
0919デフォルトの名無しさんNGNG
>>918
MassageBoxM();
0920デフォルトの名無しさんNGNG
EXEファイルを作成した後に、Form上のEditの位置をドラッグで移動する事はできるのでしょうか?
位置情報は外部にtxtファイルか何かで保存すればいいかなとは思うのですが、
こういったことはできるでしょうか?
0921デフォルトの名無しさんNGNG
>>920
出来るよ。 Top,Leftに代入するだけでしょ。

というか、質問する前に やってみたらいい部類だと思うのだが?
0922デフォルトの名無しさんNGNG
918>>
大ジョうブ、メモ帳はひとつの例を示しているよ。
0923デフォルトの名無しさんNGNG
>>921
ドラッグで各コンポーネントの移動は可能ということでしょうか?
各コンポーネントのTopとLeftをテキスト保存というのはできました。
オプションでできるとかっていうことでしょうか。。?
0924デフォルトの名無しさんNGNG
デルポイはもうう終わりなんでしょうか?
0925デフォルトの名無しさんNGNG
>>924
君の中ではとっくに終わってます。だからもうこのスレにくるな。
0926デフォルトの名無しさんNGNG
>>923
当然コード書かないとダメだよ

var DragEdit:TEdit=nil;
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (x=0) or (y=0) then begin
Cursor := crDrag;
DragEdit:= Sender as TEdit;
SetCapture(DragEdit.Handle);
end;
end;

procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if DragEdit= Sender then begin
DragEdit.Top :=DragEdit.Top +Y;
DragEdit.Left:=DragEdit.Left +X;
end;

end;

procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if DragEdit= Sender then begin
Cursor := crDefault;
ReleaseCapture;
DragEdit:=nil;
end;
end;
0927デフォルトの名無しさんNGNG
>>926
すごいっすね ソースコード意味不明ですが、感謝です
0928デフォルトの名無しさんNGNG
>>927
こういう物は理解してから使えよ。
0929デフォルトの名無しさんNGNG
>>928
取り合えずそのままコピペしてもイベントハンドらはバインドされないわけで。
すぐに泣きながら帰ってくると思われ。
0930デフォルトの名無しさんNGNG
var DragEdit:TEdit=nil; //どのEditがドラッグしてるかどうか
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (x=0) or (y=0) then begin //上か左のをクリックした事をドラッグの開始にする
Cursor := crDrag; //ドラッグ中のカーソルを変更する
DragEdit:= Sender as TEdit; //どれを動かすか覚えておく
SetCapture(DragEdit.Handle); //マウスのキャプチャを始める
end;
end;

procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if DragEdit= Sender then begin //このEditがドラッグ中なら
DragEdit.Top :=DragEdit.Top +Y; //無理やり動かす
DragEdit.Left:=DragEdit.Left +X;
end;

end;

procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if DragEdit= Sender then begin //このEditがドラッグ中ならドラッグ終了
Cursor := crDefault; //カーソルをデフォルトに戻す
ReleaseCapture; //マウスキャプチャを終らせる
DragEdit:=nil;
end;
end;
0931デフォルトの名無しさんNGNG
>>928-930
すごい助言感謝です。
解読しつつ使わせて頂きます。
0932デフォルトの名無しさんNGNG
で、いつまで?どるぱい?
0933デフォルトの名無しさんNGNG
>>932
マウスキャプチャって何ですか?
Windousの昨日のようですが。
教えていただけるとありがたいです。
0934デフォルトの名無しさんNGNG
>>932 さん ほらガンバッテ
0935デフォルトの名無しさんNGNG
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< . Delモナーがどんな厨房疑問でもやさしく答えます。
 (    )  |. Delモナーは時に私であり、時には別の人。
 | | |  |. 他のスレに書き込んで罵倒される前に、ヘルプ、過去ログ見ろ!
 (__)_)  \_________________________

0936デフォルトの名無しさんNGNG
>>928
実行してみた。感動した。
ばってんD7up1+Win2Ksp3だとMouseDown時にカーソルが変わらんとです。
Cursor:=crDrag;の次にUpdate;と入れてみたけどだめでしたとばい。
どうやればよかとですか?どうか教えてつかぁさい。
0937Delフサギコ ◆A6VzDeLphI NGNG
  ∧,,∧
 ミ,,゚Д゚彡
 ミつ日(ミ
DelマガにGrabhandle
コンポーネントがありますよ。

THUMBHDL
って名前の圧縮ファイルだったような。
0938デフォルトの名無しさんNGNG
TBitmapにはキーカラーを透過させてコピーする機能が無いようですが、やはり派生クラスを作らなくてはいけないのでしょうか?



('A`)ノ マンドクセ
0939デフォルトの名無しさんNGNG
TABitmap
http://urawa.cool.ne.jp/kokuhiro/delphi/DelphiTABM.htm
0940938NGNG
>>939
感謝です。


‥‥‥‥なんか、激しくオーバースペックですが(((゚Д゚;)))‥‥
0941デフォルトの名無しさんNGNG
もしかすると、
Cursor := crDrag; //ドラッグ中のカーソルを変更する
DragEdit:= Sender as TEdit; //どれを動かすか覚えておく
を
DragEdit:= Sender as TEdit; //どれを動かすか覚えておく
DragEdit.Cursor := crDrag; //ドラッグ中のカーソルを変更する

にするほうがいいんじゃないのかな?
0942デフォルトの名無しさんNGNG
ポインタが何で必要なのかわかりません。教えてください
0943デフォルトの名無しさんNGNG
Delphiでは基本的にあまり使われないけど用途としては
バイナリファイルやパケットの読み書きのようにバッファを操作するときにつかうかな。
0944デフォルトの名無しさんNGNG
>>942
800Kgの石像を隣町の友人にさわらせたいとしよう。

方法は二つある。

一つは友人宅まで800Kgの石像を運ぶ
二つ目は自分の住所を教えて友人に来てもらう。

どちらが楽ちんかは言わなくてもわかってもらえるだろうと思う。
でかいデータをコピーして渡すくらいならアドレス教えて直接見てもらった方が早いと。

値渡しと参照渡しを例としたポインタのお話。

他にもメリットは多いよ。取りあえず勉強してみれば?

正直、

var
p :Pint;
i :integer;
begin
i := 1;
p := @i;
ShowMessageFmt('%d',[p^]);

i := 5;
ShowMessageFmt('%d',[p^]);
end;

こんな感じのコードでポインタ教えてる気になってる糞本が多くて憤慨。
こんなもんで絶対メリットわかんねぇよと。 
0945デフォルトの名無しさんNGNG
>>944
それはCの話で、Delphiでは値渡し・参照渡しとポインタは無関係。
constかvarを付けるのが正解。
0946デフォルトの名無しさんNGNG
>>945
わかってるけど。ポインタのメリットではあるでしょ。
0947デフォルトの名無しさんNGNG
>>946
参照ベースのOOPLでその説明は適切ではないでしょ。
ここはDelスレなんだから一般的な説明されても混乱するだけ。
0948属性文法でバカがバレた人NGNG
じゃ、リンクリストはどうだろ? ポインタ無かったら作れないぞ

  ・・・・って思ったが全部クラスにしろと言われそうだな
0949デフォルトの名無しさんNGNG
>>947
参照ベースのOOPLですからね。ポインタを使うのはアホなのです。
DelphiでのポインタはWindowsAPIとの互換のためだけに残ってます。

だからKylixにはポインタがありません。
0950デフォルトの名無しさんNGNG
自己レスになってるし・・・>>948あてです。
0951属性文法でバカがバレた人NGNG
了解
まあ、アホやらバカやらになりたい時もあるさ そういう時に使うものって結論で
0952デフォルトの名無しさんNGNG
kylixにはポインタがないage
0953デフォルトの名無しさんNGNG
ポインタがなくても、多態と配列があれば...
0954デフォルトの名無しさんNGNG
>>953
さて、それでIOポートをどうやって叩くのか教えちくり。と。
0955デフォルトの名無しさんNGNG
absolete使え(藁
0956デフォルトの名無しさんNGNG
>>954
DeviceIoControlとかだろ。
0957デフォルトの名無しさんNGNG
>>942
アクセス(読み書き)が速いから。
ポインタを使わなくても同じことが出来るけど、遅くなることが多し。
特に変数パラメータとか動的配列とかは遅い。
0958デフォルトの名無しさんNGNG
>>957
>アクセス(読み書き)が速いから。

var
p :PInt;
i :Integer;
begin
Inc(i);
Inc(p^);

この例に限らず速度は一緒だと思うけれど。


>ポインタを使わなくても同じことが出来るけど

ポインタなしで削除、追加の自由自在なリストを作ってください。

>特に変数パラメータとか動的配列とかは遅い。
上で散々もめてるのに・・・
0959デフォルトの名無しさんNGNG
いいかげん参照とポインタをごっちゃにして考えるのやめろよな。
参照使ってリストを作れないは氏ね。
0960942NGNG
わかりやすいソースを教えて欲しいのですが…。本を見ると944や
958みたいなのしか載ってなくて理解できません
0961デフォルトの名無しさんNGNG
>>960
ならば、必要が無いということだ。
0962属性文法でバカがバレた人NGNG
>>960
有用性に疑問があるの? それとももっと前の段階?

リンクリストは、まあクラス使えで済まされちゃったらそれまでだから、
文字列を扱う時、特にメモリ上にデータがある場合の
パーサを作る場合は、ポインタを使って参照するのが便利ってのはどう?

パーサは、【現在の文字】 が該当するなら処理して【次の文字にする】ってのが基本になるんだけど
ポインタを使わないと 最初に現在の文字が無いから、一文字だけ先読みする必要があるわけ
コレは慣れないと最初苦痛だし、理屈が判らないと読み辛いもんがあるけど、

ポインタを使えば、ポインタで文字を参照すればいいから、先読みの必要がなく頭の中もスッキリ

ってな話じゃ判らないかな・・・・
0963690NGNG
以前、フォルダ削除のことを質問した者です。

複数のフォルダがあって、すべてを削除できるか調べて、すべてを削除でき
るならRemoveDirectoryを実行したいのです。エクスプローラで開かれていて
削除できないなどの理由で、一つでも削除できないフォルダがあれば、一つ
も削除したくないのです。
何かいい方法はないでしょうか?
0964デフォルトの名無しさんNGNG
>>963
ロック
0965デフォルトの名無しさんNGNG
>>963
難しそうな課題だね。 
データベースみたいにトランザクションかけてロールバック出来たらいいのにね。

フォルダ名を変更してみて全部可能なら削除かな・・・・
でも別のアプリがアクセスする可能性は捨てきれないし、ゴミ箱にコピーしてから削除しかないかな
0966デフォルトの名無しさんNGNG
>>960
function GetFileTime(const path: string; pCreationTime, pLastAccessTime, pLastWriteTime: PFileTime): Boolean;
function GetFileTime(const path: string; var CreationTime, LastAccessTime, LastWriteTime: TFileTime): Boolean;
どっちが使いやすい?

>>963
FILE_FLAG_BACKUP_SEMANTICSフラグを設定してWindows.CreateFileを呼び出すことでディレクトリハンドルを取得できるから、
それでフォルダが削除可能かどうかを調べるというのは?
0967966NGNG
補足:上のGetFileTimeは情報が不要な場合はパラメータにnilを指定できるとします(参照:Windows.GetFileTime)。
0968963NGNG
レスありがとう。

今のところ、一度削除するフォルダとファイルをコピーしておいて、エラーにぶ
つかったら、それまでに削除したフォルダとファイルを戻す、という風にしてい
ます。だけどこの方法は、とてもスマートな方法とは言えない。

>>965
他のアプリが意図的に使うことはないので、リネーム案も使えそうです。リネー
ムするのはちょっと抵抗があるけど、名前が変更されている時間はほんの一瞬
ですしね。

>>966
その方法で可能がどうか、今から実験してみます。
0969デフォルトの名無しさんNGNG
親ディレクトリのリネームを試せば一回で済むけどね。
いずれにしても調べ終わって実際に削除する間に何かあってら検出できないよ。
0970デフォルトの名無しさんNGNG
最小2乗法のコードを誰か教えてください♥
0971デフォルトの名無しさんNGNG
>>970
はい、途中までだけどどうぞ
for i:=0 to High(dt) do begin
X :=X +dt[i].x;
XX:=XX+dt[i].x*dt[i].x;
Y :=Y +dt[i].y;
YY:=YY+dt[i].y*dt[i].y;
XY:=XY+dt[i].x*dt[i].y;
end;
0972デフォルトの名無しさんNGNG
あと少しだけ、お・ね・が・い♥
0973936NGNG
亀レス申し訳ありませんでつ。

>>937
見てみまつ。あ、今月号(?)買ってないので明日買うでつ。

>>941
明日やってみまつ。(会社にソースがあるでつ。明日も会社出るでつ)

ありがとうございますた。
0974デフォルトの名無しさんNGNG
>>970
ttp://www.tensyo.com/urame/prog/linealgo.htm
より
>Y=aX+bのa,b
>a:=(XY -X*Y/N) /(XX-X*X/N);
>b:=(XX*Y-X*XY)/N/(XX-X*X/N);
0975デフォルトの名無しさんNGNG
日本語の環境で作ったソフトって、メニューとかメッセージとかをアルファベットに変えておけば、
ローカライズって言うのをやらなくても英語環境で使えますか?
0976デフォルトの名無しさんNGNG
>>975
例外が思いっきり日本語で笑えなかったりとか。
0977デフォルトの名無しさんNGNG
なるほど。ありがと。
あともう一つ聞きたいのだけど、エクセルのマクロでプログラムに興味がでて、
Del7を買ってみたのだけど、言語ソフト?のヘルプってプログラマ対象だから、
趣味のレベルの人間にはわかりずらいのですか?
0978デフォルトの名無しさんNGNG
>>977
>わかりずらいのですか?

正直、日本語の読み書きが不自由な人には大変かと。
0979デフォルトの名無しさんNGNG
>>971,974

ありがと♥ なんとかできそう。

>>977
>言語ソフト?のヘルプってプログラマ対象だから、
>趣味のレベルの人間にはわかりずらい

↑あたしも最初はそう思ったけど、初心者向けのdelphiのHPって結構あるから
そういうとこである程度勉強するとhelpもわかるようになる。
 あたしは最初は Seventh Delphi ばかりみてたよ。
0980デフォルトの名無しさんNGNG
          ∧ ∧
        〃⌒ ヽl|l)
       /   rノ ;
      Ο Ο_)
0981デフォルトの名無しさんNGNG
   ∧∧
   /⌒ヽ)
  i三 ∪
 ○三 |
  (/~∪
  三三
 三三
三三
0982デフォルトの名無しさんNGNG
>>978
そうですね。おまえはちょんだからね。
0983デフォルトの名無しさんNGNG
このスレで答えてる奴って、リアルでは生きていけそうもない感じがするのですがどうなんで
ございますでそうか?
0984次の方、どうぞ。NGNG


  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_)  \_________________________

0985デフォルトの名無しさんNGNG
Delモナーの正体は誰ですか?
0986デフォルトの名無しさんNGNG
>>985
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. そんな厨な質問には答えられません。
 (    ) .\________________
 | | |
 (__)_)
0987デフォルトの名無しさんNGNG
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. 次スレ
 (    ) .| http://pc2.2ch.net/test/read.cgi/tech/1045476912/l50
 | | |  \_________________________
 (__)_)
0988デフォルトの名無しさんNGNG
なんでフサギコに変わってんだよ(藁
0989デフォルトの名無しさんNGNG
 
0990デフォルトの名無しさんNGNG
  
0991デフォルトの名無しさんNGNG
   
0992デフォルトの名無しさんNGNG

 
0993デフォルトの名無しさんNGNG

  
0994デフォルトの名無しさんNGNG
  _, ._
(´`c_,'` )
0995デフォルトの名無しさんNGNG
    _, ._
  ( ゚ Д゚)
  ( つ旦O
  と_)_)
0996デフォルトの名無しさんNGNG
    _, ._
  ( ゚ Д゚)
  ( つ O
  と_)_) 旧 ガシャ
0997デフォルトの名無しさんNGNG
           _、_
        ⊂( ,_ノ` )つ-、
      ///   /_/:::::/
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |
0998デフォルトの名無しさんNGNG
|  |`Д)ノ
|  | ノ
|_|
|  |
| ̄|
|_|
|文|
| ̄|
|  |
0999イヒNGNG
┌──────────┐
|     _       _   ぶ |
|    / _)=∩=∩=_)   ら |
|    | | ∧ ∧|    下.|
|    | | ( ゚Д゚)    が |
|    | | | |    .   り |
|    | | |,|      健 |
|●  | | ∫UU .   も 康 |
|    |_|__|_|   ら 器.|
| 2  \_   \   っ を |
|点     ̄ ̄ ̄  た   |
└──────────┘
1000イヒNGNG
┌──────────┐
|     _       _   ぶ |
|    / _)=====_)     ら |
|    | |    ||      下 |
|    | |  Λ||Λ    が |
|    | | ( /⌒ヽ    り |
|    | |  | |   |. .. .か |
|●  | |  ∪亅 |  間 た|
|    | |   ∪∪  違 を |
|    |_|__|_| .. え. . |
|1   \_   \  る . .|
|点     ̄ ̄ ̄ ..  .  |
└──────────┘

10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。