モナーの *やさしい* 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
00041001
NGNGもう書けないので、新しいスレッドを立ててくださいです。。。
0005デフォルトの名無しさん
NGNG( ´∀`)乙!
0006デフォルトの名無しさん
NGNGもう前スレがhtml化されてるのには驚いた。
0007デフォルトの名無しさん
NGNGモナー使うなら全部語尾は「もな」でお願いします
0008デフォルトの名無しさん
NGNGこのスレの伝統だから、大目に見てあげて。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGDelphi6 Enterpriseを使っているのですが、
ShellListViewから、ショートカットファイルをクリックし、そのURLとタイトルを
取得するにはどうしたらいいのでしょうか?
0011TECH
NGNG//ショートカットファイル かどうかは
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
たった今、ほとんど同じ質問を他の場所で読んだ気がするのは
気のせいか?
マルチだね?
2003/01/14(火) 06:57:03 と
TECH :03/01/14 08:30 か…
マルチはやめとけよ。そんだけ。
001513,14
NGNGTECH氏に悪いので…。スマソ。
2003/01/14(火) 06:57:03 と
デフォルトの名無しさん :03/01/14 06:44。
こっちの方が先に書いたのか。
0016デフォルトの名無しさん
NGNGWHERE句にパラメーターを使いたいのですがやりかたが判りません。
どなたか教えてください。
0017デフォルトの名無しさん
NGNG001816
NGNGDatabase DesktopでテストしてOKならそのままTQueryにコピペできれば
楽なんですけど。
パラメーターが使えるツールはないですかねぇ。
0019TECH
NGNG新規プロジェクトを作って、フォームにメモとDBGridとボタンを貼り付けて
作ってるアプリの DataModuleユニットを入れて
ボタンイベントで TMemoの内容でDataModuleのTQuertを更新したら?
0021デフォルトの名無しさん
NGNG例えばフォームにボタンを3個貼って、それを実行してTABキーを押すと
ボタンを貼り付けた順番でフォーカスが移動しますよね。
それを任意の順番で移動させたい場合はどうするのですか?(OnKeyDownイベントとか書かずに)
0022デフォルトの名無しさん
NGNGフォームを右クリックしてタブ順序を変更する。
002321
NGNGありがとうございますた。簡単ですた。
0024山崎渉
NGNG0025デフォルトの名無しさん
NGNG26Mバイト、90万行のテキストファイルから文字列を抜き出そうと思ってます。
AssignFile、readlnを使用して一行ずつチェックしていくプログラムを作成したのですが
どうも全てチェックできないようです。
While not Eoln(F) do begin
readln(F, Str1);
〜〜
end;
上の様に一行ずつチェックしていきます。
この方法ではこのサイズのテキストデータを扱うのは無理なのでしょうか。
0026デフォルトの名無しさん
NGNG変な文字コードでも混じってるんじゃないの
0027デフォルトの名無しさん
NGNGありがとうございました。
原因がわかりました。よく考えてみたら、Eoln は行の最後かどうかチェックする
関数でした。 正しくはSeekEofにしないと駄目ですね。
どうも有り難うございました。
0028デフォルトの名無しさん
NGNGDelphi6はフリーで落とせるみたいなんだが・・・
0029デフォルトの名無しさん
NGNG6と7の差なんて大してないからPro買わないんだったら6Perで十分。
0030デフォルトの名無しさん
NGNGありがとうございます。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGども、それっぽいところに行き着けました(;´Д`)
0034デフォルトの名無しさん
NGNGhttp://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デフォルトの名無しさん
NGNGShowModalで表示したフォームがそのフォームより後ろに隠れないようにするにはCreateParamsのoverrideで出来ると分かったんですが
ShowMessageやMessageDlgとかで出てくるフォームが後ろに隠れないようにする方法が分からないっす。
誰か教えてください。
0036デフォルトの名無しさん
NGNGこっちにも報告しろよ。
ってもう見てないか?
0037デフォルトの名無しさん
NGNG挑戦しようと思うんですけど、プログラミング事態に面識が無いので
勉強すれば良いんですけど何をすれば良いかすら解りません。
アマゾンとかで検索かけるもどんな内容かも読まないから解らないし
かと言って本屋に行ってもVBユーザーのdelphiとかしか無くて
VBすら触った事の無い俺はどないせー言うんじゃぁぁ!
・・・という、どうしようも無い屁タレっぷりを発揮してしまったのですが
とにかく、プログラミングをした事ない人間に良い書籍及び勉強法をご存知でしたら
どうか教えて下さいませ、お願いします。
0038デフォルトの名無しさん
NGNG最初は「初心者向けデルファイ」として講座を開いてくれてるページを
参考にした方がいいと思う。タダだし。
いきなり本買ってもいいけど。
「プログラミング 初心者」とかで検索してみては?
つーか、全くもって何が何だかサパーリだと、そーゆーのを見るだけでストレスかも
しれないから、もっと簡易(深い意味は無い)な言語とかスクリプトから始めると
ラッキーかも。ラッキープレイスは東京タワー。ラッキーカラーはclwhite。
とっておきの帽子を被って出かけるといいことありそう!
0039デフォルトの名無しさん
NGNGとりあえず、なんか作ってみるとか。
メモ帳とか、ラーメンタイマーとかなら、コードは少しだけでいいし。
0040デフォルトの名無しさん
NGNGFAQ&Tipsの検索とわからない事を質問するにとどめた方がいい。
まとまった情報は書籍にすべし。
0041デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/
とりあえず、ここのリンクの初心者向けのサイトを見てみたら?
最初は解説通りに何かを作ってみるだけでも意味が有ると思うから。
0042
NGNGonkeypressイベントの所に
begin
showmessage('キー押したよ');
end;
と書いて実行したんですが、キーを押してもメッセージダイアログが出てきません。
なぜキーを押したのにダイアログが出ないのか分からないのですが、
教えていただけないでしょうか
バージョンはpersonal ver6です。
よろしくお願いします。
0043TECH
NGNGなぜ、出ないのかは説明が難しいですが、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教えてくださってありがとうございます!
ちょっと理解できない所もあるのですがそこは自分で勉強して
何とかやってみます。
ありがとうございました。
004537
NGNGレス有難うございます
>>41さんの挙げたページから辿って行けばなんとなく解るような(?)ページがありました。
>>40さんのおっしゃる通り、今まで色々なdelphi関連の初心者ページを見て回ってましたが
全体的に最低限の知識を所有する人間相手のページばかりでしたので大変助かります。
未だ先の話なのですが、皆さんはdelphi初心者の頃はどんな書籍を見ましたか?
amazonで調べると何やらやたらと評判のわるいのとかよく見かけるんで
人によって向き不向きはあるでしょうが、参考までに教えてください
よろしくお願いします・・・。
0046TECH
NGNG最終的には、技術書は並べてベッドに出来るくらい読まないといけないわけで、
どれが良いとか悪いとか考える前に、学校なり近所の図書館なりを利用して
まずは沢山読んでみる方がいいのでは?
それからプログラミングについては、やはり他人のコードを読むことが一番の勉強になります。
Web上の色んなソースを読んだり、
少しお金を貯めて Proを買ってVCLを読んだり
0047TECH
NGNG最初に
ファイル->新規作成->その他->プロジェクト->SDIアプリケーション
して、これを元に色々追加してみると良いでしょう。
それが終ったら、
Demos ディレクトリの内容を順に見ていくとか
0048デフォルトの名無しさん
NGNGとオレは思う。
0049デフォルトの名無しさん
NGNG明確な達成目標がある事で学ぶ事の取捨選択ができるからね。
学ぶ事が多少偏るだろうし、非効率でツギハギだらけの
プログラムが出来あがるかもしれないけど
作る過程で得られる内容は確実に次に活かせるし
作ったという達成感が生まれるのはとても良い。
0050デフォルトの名無しさん
NGNGほんとに初歩的ですが…
'TStrings' と 'Array' には互換性がありません
TStringsとArrayってどう型変換すればいいんでしょうか???
0051デフォルトの名無しさん
NGNGある程度直したら今度もエラーが発生しました(泣)
'TArchiverOptions' と 'String' には互換性がありません
これはどうしたらよいのでしょうか?
探しても型変換を詳しく取り扱ってるところがない・・・
0052デフォルトの名無しさん
NGNGなぜか書き込めませんでした(エラーは出ず)
で、ある程度解決したのですが、
'TArchiverOptions' と 'String' には互換性がありません
のエラーです。
いくら探しても型変換を取り扱っているところが・・ない
初歩的ですみません
005350
NGNG005450
NGNGすみません
0055デフォルトの名無しさん
NGNG欲しいのは UserOptions とか ResFileName とかじゃないの?
0056デフォルトの名無しさん
NGNGXPに「ユーザーによる操作なしで 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デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGCreateProcess?
さっそく挑戦中
レスありがとうございます
0059デフォルトの名無しさん
NGNGつーか、思いっきりマルチポストだねぇ…。
よく恥ずかしくないね。信じられない。
あっち消しとけよ。
0060デフォルトの名無しさん
NGNGすみません。。。
0061デフォルトの名無しさん
NGNG組みたいのですがどうするべきなんでしょうか?
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG返ってきたファイルが、htmなのかgifなのかって判断はどうすれば
いいのでしょうか?
お願いします。
0065デフォルトの名無しさん
NGNG拡張子を調べる
0066デフォルトの名無しさん
NGNG006764
NGNGjpegが返ってきたりする事はないのでしょうか?
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG前者ならスレ違い。とりあえずIndyでもWinsockでも何でもいいからTCP覚えろ。
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNGContent-Type調べれば分かると思います。
0074デフォルトの名無しさん
NGNGその構造をIndyで作ればよいでしょう。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGとりあえずTCP/IP使った一般的なチャットクライアントの構造を説明してみなよ。
0077デフォルトの名無しさん
NGNG俺はP2P方式のチャットソフトを作ろうとしています。
P2Pとは通信し合う機器の間にプロバイタ以外の機器が入らずに
通信する方法です。peer to peerでしたかな?
そのP2Pを用いてチャットシステムを組みたいのです。
0078デフォルトの名無しさん
NGNGclient->server<-client
それができたらサーバの機能をクライアントに突っ込む(exeは一種類)
client<-client
つまりクライアントが他のクライアントからの接続要求を受けたら
サーバの役割も果たすようにする。
0079デフォルトの名無しさん
NGNGだからそのP2Pを理解してるんですか?
理解していればおのずと何をするべきか分かると思うのです。
0080デフォルトの名無しさん
NGNGコンポーネントとかは何を使ったらよいのやら・・・。
IdTCPServerってコンポーネント使えばよいの?
0081デフォルトの名無しさん
NGNGTCP/IPの基礎から勉強してください。煽りじゃなくて。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG「○○は出来ますか」とかの。
自分で決めろって。
子供じゃないんだから。
煽りじゃなくて。
マルチポストも最低だけど、「どうすれば」だの「出来ますか」だの…。
0084デフォルトの名無しさん
NGNGQuadrupleDのヘルプ見てごらん(DirectX9対応の最新βじゃなくてVer2.12のほうね)
すぐ作れるよ
0085デフォルトの名無しさん
NGNGADSLとかLANの中に居ると使えないチャットとか有るわけだがそのへんどうなんだろかと
0086デフォルトの名無しさん
NGNGGETメソッドで特定のCGIにスコアを送信したいのですがどのようにすればよいのでしょうか?
参考サイトなどありましたら教えてください。
0087デフォルトの名無しさん
NGNGルータを設定しなさい。
0088デフォルトの名無しさん
NGNGプログラム(EXE)の終了時に、呼び出し元に値を返す方法はどのような方法がエレガントなのでしょうか?
VB からEXEを呼び出して、その帰り値をVB側で取得することが目的です。
できれば文字列が取得できればいいのですが....
ご存知の方、ご教授ください。
>>86 あまりいい方法ではありませんが、IEを呼び出す方法があります。
(ブラウザが立ち上がりますが、それでも問題ないケースもあると思いますので)
ShellExecute(0, 'open',sURL, nil, nil, SW_SHOW);
詳しくはドキュメントでお調べください。
0089デフォルトの名無しさん
NGNGプロセス間通信するしかない。
あるいはiniファイルかレジストリか。
0090デフォルトの名無しさん
NGNGその用途で文字列を渡すなら DDE かメールスロットが簡単だと思うよ。
メールスロットなら
Delphi相談室その8
http://pc3.2ch.net/test/read.cgi/tech/1037146781/400-401
0091デフォルトの名無しさん
NGNGttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_7.asp
0092デフォルトの名無しさん
NGNGレス 有難う。大変参考になりました。
実際、調べるとこの辺りの仕様はあまり拡張されていないようですね。
調べ方が足りないのかと、ここに書かせてもらいました。
従来の方法だと値、もしくはポインタ(使わないほうが良いと書かれている)
となっているようでつд`).....
そうであれば89さんがご指摘のレジストリというのが手っ取り早いですかね。
エラー処理も整っているし、VB側からの呼び出しも簡単。
なにしろ、(プロセス間通信などのタイミングやメッセージアイドリング、タイマー)
などが入ってくると、目的とはかけ離れて無駄にプログラムが煩雑になりそうです。
レジストリの中にはOS起動時に消してくれる便利な場所もあるので、そういう部分を使ってみます。
ご意見、有難うございました。
009386
NGNGネットランキングをやりたいのですが、どうにかブラウザを立ち上げずに
データのみ送信できないでしょうか?
GETでもPOSTメソッドでもかまいませんので何か方法があればご教授下さい。
0094デフォルトの名無しさん
NGNGSocketからHTTP実装するとかな。なんかHTTP用のコンポーネントもいくつかあるみたいだが融通聞かないので嫌い。
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGプロパティを別のUnitから操作したいのですが、方法がわかりません。
具体的には、
(1) TFormHoge の [実行]ボタンをクリック。
(2) UnitHoge.MethodHoge が呼び出される。
(3) 上記処理の進捗状況(「実行中」、「1/N」など)を(1)の
フォームに表示。
(4) 処理を終了。
といったことがしたいのです。
ユニットを分割せずに、すべての処理をTFormHogeに記述すれば
簡単なのですが、それは本意ではないのです。
ヘルプや、ttp://www.users.gr.jp/query.aspx のログ、数冊の
書籍を探してみたのですが、探し方が悪いためか、目的に合い
そうな説明を発見できませんでした。
ご存知の方いらっしゃいましたら、ご教示(または代案の提示)
ください。
簡単なサンプルコードを示して頂けると助かります。
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGuses Unit1; //<-TForm1
...
procedure hoge();
begin
Form1.Edit1.Text.Lines.Add('こんな感じ?');
end;
0099デフォルトの名無しさん
NGNGありがとうございます。
実は、その方法と似たようなやり方は試してみたのですが、
Form1 が未定義の識別子でハネられます。
そこで、Uses節にForm1の参照を追加すると、当然のように
循環参照でハネられます。
何かうまい方法はないでしょうか・・・?
0100デフォルトの名無しさん
NGNGWebBrowser
を使うのはどうですか?
非表示で使えば良いし、エレガントではないけど(簡単ではある)。
0101デフォルトの名無しさん
NGNG?
0102デフォルトの名無しさん
NGNGimplement節のusesに加えると循環参照にならないはず。
0103デフォルトの名無しさん
NGNGありがとうございます。
(できればもう少し具体的なところを教えて頂けると助かるのですが・・・)
>>102
ありがとうございます。確認してみます。
0104デフォルトの名無しさん
NGNGtWebBrowser
というコンポーネントがあるので、それを使います。
機能はWEBのブラウジング(表示)をおこないます。
URLを呼び出し先にセットすれば CGIトリガーが引かれます。
非表示、表示枠 サイス0にできるのでこれで良いかと...
0105デフォルトの名無しさん
NGNGアニメーション作りでエラーが出てしまい、先へ進めません。
interface部を変えて、Timer1のOnTimerを、Timer1Timarに変えると、
エラーがでてしまい、メソッドTimer1Timerの実現部がみつかりません。
とでてしまいます。なにが悪いのでしょうか。おしえてください。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG名前はどこも変えていないのです。
本みながらなのにつまづくなんて。。。
説明書どおりにしてるのですが。
0108デフォルトの名無しさん
NGNG教えてください。お願いします。
もうだめぽ。
0109組込もしまっせ
NGNGTimer1Timar <> Timer1Timer という事では?
Timer1のOnTimerを記述するときは
プロパティエディタの OnTimer をダブルクリックするといいよ
0110デフォルトの名無しさん
NGNGimplementから下の方。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
end;
の様にイベントハンドラの実行部を書く。
0111デフォルトの名無しさん
NGNGイベントですよね?してるんですが・・。
うぅ。。。
わかんない。。ソースあとで張ります。またきます。。
0112デフォルトの名無しさん
NGNGありがとう。
0113デフォルトの名無しさん
NGNGLabel1 TLabel
Label2 Tlabel
のLabel1,Label2などはそのコンポーネントの名前だってことはわかるんですが
TLabelとかってなんなんでしょうか?
0114デフォルトの名無しさん
NGNGunit 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クラス(コンポーネント)名。
その場合Label1はクラスTLabelのインスタンス。
>>114
TFormを継承したTForm1が作られている。そのままでも良いがTForm1よりもっとわかりやすい名前の方が良いかと。
オブジェクトインスペクタでForm1のNameというプロパティを変えるとTForm1というクラス名も勝手に変わる。
そしてフォームのprivateやpublicにメソッドを追加したりコンポーネントを貼り付けたり、
他のユニットをUsesしたりしてプログラムを作る。
0116111
NGNGunit 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何がしたいかわからないっす。
TTimerのOnTimerイベントを書きたいなら、
>>109の
>Timer1のOnTimerを記述するときは
>プロパティエディタの OnTimer をダブルクリックするといいよ
すれば、勝手に実行部にも宣言部にもコードを書いてくれる。
それをせずただ、宣言と実装を書くだけだと、イベントがTimerに割り当てられないので注意。
0119デフォルトの名無しさん
NGNG具体的には、他のアプリケーション(市販のものです)のチャットのようなものがあって、
そこに表示されるメッセージに対して処理を行いたいのです
(誰かが入室したら音を鳴らすetc.)
調べたところ、そのウィンドウはListBoxになっているようで、
文字列が追加されるときは、LB_ADDSTRINGというメッセージが発生してるようなので、
このメッセージを捕まえられればと思うのですが、やり方がわかりません。
「Delhpi2 達人テクニック」という本のキーフックのところを参考にして、
やってみようとしたのですが、うまくいきません。
(PrtScキーを押したときに画面をキャプチャする例)
まず単純に本にあるSetWindowsHookExのコールバック関数の中の
if文の条件を下記のように変更してみたのですが、
これではLB_ADDSTRINGというのは捕まえられないのでしょうか?
(フックの種類はWH_GETMESSAGEになってます)
0120119
NGNGvar
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取りあえずDLL内に置いてね。その関数。
0122119
NGNGレスありがとうございます。
説明が足らずにすいません。本に従って、DLLを作成しています。
(というか、サンプルでついてたのを少しずつ変更してます)
キーフックの動作は確認取れてます。
0123デフォルトの名無しさん
NGNGif (pm.message = WM_COMMAND) and (pm.wParam = LB_ADDSTRING) then
0124119
NGNG試してみましたが、駄目ですた(´・ω・`)ショボーン
0125デフォルトの名無しさん
NGNGCOMはdelphi6で使えるのでしょうか!教えてくだだい!
宣言の仕方すら調べても出てきません!
0126デフォルトの名無しさん
NGNG使える。
0127125
NGNG使えますか!お返事ありがとうございます!
どこか参考になるようなサイトとかないですかね・・・
(・∀・)イイ情報キゴンヌ!
誰か教えて!COMコンポ!(の組込方
0128いいサイト
NGNGhttp://www.google.com/
終了
一通り探しまくったらまた来い。
0130デフォルトの名無しさん
NGNG循環参照は解消できたのですが、UnitHogeからFormHogeのラベルのキャプションを
操作すると実行時エラーとなり、うまくいきませんでした。
自分なりに、外部からはコントロールの操作はできないのか?と考えて、FormHoge
にラベルのキャプション操作用のMethodHogeを追加して間接的にアクセスして見たり
もしたのですが、結果はおなじ(実行時エラー)でした。
(1) FormHoge内のイベントハンドラからMethodHogeを実行。→ ○
(2) UnitHoge内のプロシージャからMethodHogeを実行。→ ×
という結果です。
ちなみに、MethodHogeのコントロールを操作する記述をコメントアウトし、数値演算
やメッセージボックス表示の処理を記述した結果は(2)でもエラーにならずに正常実行
できました。
結局、原因も回避手段もわからず、UnitHogeに記述していた処理すべてをFormHogeに
記述することで妥協しました。(不本意)
このような場合、どのような実装が一般的なのでしょうか?多機能なフォームの場合、
関連する処理すべてを1箇所に記述すると、保守性が悪くなると思うのですが。
0131デフォルトの名無しさん
NGNGエラーが出ると書いてエラーメッセージ書かない奴ってアホだと思うが。
0132デフォルトの名無しさん
NGNG今手元にないので、書きたくても書けない。(メモって置けばよかったと思う)
0133デフォルトの名無しさん
NGNGちなみに、Try .... Finally でも回避できなかった。
0134デフォルトの名無しさん
NGNGtry...Finallyの場合例外はキャッチされずに呼び出し元に伝搬すると記憶。
IDEから実行してるならexceptのあるなしに関わらずデバッガが実行を停止してウザイ。
0135デフォルトの名無しさん
NGNG別スレッドから操作したらエラー出るけど、
別ユニットから操作したからってエラーは出ないよ。
俺はこんな感じでいくつかのユニットに分けてるけど、それが原因のエラーは出てないから。
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デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGいや、普通に出来る。恐らく君のコーディングに何らかの問題があるだけかと。
0138デフォルトの名無しさん
NGNG>>135
ありがとうございます。書き忘れましたが、私の事例では、UnitHogeは
Classではないのです。(VBで言うところの「標準モジュール」)
これが間違いなのでしょうか?
0139デフォルトの名無しさん
NGNGFunctionやProcedureが外部から呼べてしまう点。
(130の例でも、UnitHogeからの呼び出しでエラーになったのは、コント
ロールのプロパティ操作だけ)
スコープがイマイチよくわからない。
0140デフォルトの名無しさん
NGNGPublicはプロジェクト外部に公開という意味?
Interface でPublicでないものはFriend(というキーワードはDelphiにはないが)
スコープになるのか・・・。
(基本的な部分がよくわかってないので、ヘルプを読んだ方がよさげ)
0141デフォルトの名無しさん
NGNGこの部分の意味がよくわかりませんでした。
>まず、配布アーカイブであるdddd.lzhを解凍し、libディレクトリに移動してください。
>そして、中にある全てのファイルを、Delphiのライブラリパスの通っているディレクトリにコピーしてください。
>dxheaderディレクトリの中のファイルも同様に、全てDelphiのライブラリパスの通っているディレクトリにコピーしてください。
適当にやったらエラーが出てしまいました。
どなたかインストール方法を教えていただけないでしょうか?
0142141
NGNG0143デフォルトの名無しさん
NGNGソース貼ってみ
0144デフォルトの名無しさん
NGNGもうひとつユニットを作って色々呼んでみるとわかる筈。
public 他のソースファイルから見える
protected private に加え派生クラスから見える
private そのソースファイルだけ
public/privateはinterface/implementationとおんなじような関係。
同じソースファイル内なら同じ人が書くのは明白なので
妙なアクセス規制かけずに好き放題させてくれると考えればよし。
0145デフォルトの名無しさん
NGNGうごきませんか?BVみたいに
0146デフォルトの名無しさん
NGNG死ね。後、単体で動く。
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGWindowsという特別なコンポーネント群が無いと動きません。
0149デフォルトの名無しさん
NGNG>Delモナーがどんな厨房疑問でもやさしく答えます。
言ってるじゃん
馬鹿扱いしたりネタ扱いしてもいいけど、おしえて。
何に答えてほしいんだ?
つーか、「Delモナー」は優しいが、他は荒くれ者ばかりが集うスレ。
七つの海を制覇した強者しかいないと思ってくれ。
0151デフォルトの名無しさん
NGNG>>150そんなんしるか!
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGプロジェクト→タイプライブラリの取り込み、で登録したocxが表示されるはず。
んで、OKすると自動的にpasが作成されるから、それをusesすればよい。
そしたら、CreateComObjectし、ご自由にお使いくださいと。
0154ななしへたぐらま ◆XcB18Bks.Y
NGNG>146さんがすでに書いてあるとおり単体で動きますよ.
ほかの方が作ったコンポーネントを使ってもやはり単体です.
>>150
それだとDelスレがいくつもある意味が….
0155デフォルトの名無しさん
NGNG0156組込もしまっせ
NGNGそれは簡単ではないと思います。
というかソレが出来るなら、逆に困った事になってしまうような・・・
ListBoxの窓ハンドルが入手出来ているなら、
LB_GETSELCOUNT LB_GETTEXT は使えませんか?
0157デフォルトの名無しさん
NGNGレスありがとうございます
いちおうタイマ処理で、SendMessageして文字列取得して処理するのは作ってみました
でも、フックができたら、いろいろできるんだろうなぁと妄想を膨らませていたので、
やり方がわかればと思ったのです
それができると困ったことになるということは、
Winの仕組み上できないようになってるってことなんでしょうか?
(できたとしてもキーフックみたいに簡単?ではないということですかね)
0158組込もしまっせ
NGNGタイマー割り込みの代わりに、そのフック中で 自アプリにメッセージを送って貰って
それでテキストを取得したらいいんじゃないの?
0159組込もしまっせ
NGNG参考: ttp://home.att.ne.jp/yellow/hide_n/programming/tips03.html
0160デフォルトの名無しさん
NGNG参考サイトを見ると、SendMessage()を送られたのはWH_CALLWNDPROCでってことみたいですね。
また挑戦してみます
0161山崎渉
NGNG0162デフォルトの名無しさん
NGNGdelphi 6 personal 使ってるんですが背景がデスクトップそのまま映ってて
気持ち悪いんですがVBのように背景をつけることってできないんでしょうか?
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGc:\progam filed\...\a.txt
の様な形式を生成するAPIとか関数ってあるんですか?
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGですよねw
昔Del3使ってた時に見かけた記憶があるんですけどねぇ。
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGuses節に Filectrl を追加して MinimizeName
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG散々検索したけれど。
VCLリファレンスのファイルと名の付くものも読みあさった。
0171162
NGNG0173デフォルトの名無しさん
NGNGDelphiは使ったことないからどっちかしらないんだけど<おい
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG違います。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG放置するのも気持ち悪いからレスするけど外してたらごめんよ
http://www.borland.co.jp/tips/delphi/dh015/
0178162
NGNGえーとつまり
http://age.ne.jp/x/kazuhito/Delphi/0101b.gif
この画像のようにフォームウィンドウの後ろにデスクトップがそのまま
見えていますよね?デスクトップが見えているとなんかやりにくいので
色をつけて隠せたらいいなと思うんですが可能でしょうか?
0179デフォルトの名無しさん
NGNGActiveデスクトップ + 白いgifファイル&アイコンの表示をしない。
0180デフォルトの名無しさん
NGNGDelphiの仕様です。
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG今は全く気にならないけど
0184デフォルトの名無しさん
NGNG気持ち悪いとは思わないが、バックグラウンドで別の窓が開いていると、
触ってしまう。
0185デフォルトの名無しさん
NGNGああ、>>174は自分で自分に言ってたのか
ちなみにVB6あたりでも、ツール>オプション>明細設定で変更できます
0186ななしへたぐらま ◆XcB18Bks.Y
NGNG>>182
そもそもこの画面構成はVBをまねたものにしか思えませんでしたが
VBの方はすでに変わっていたのですね.
0187デフォルトの名無しさん
NGNG↑これってDelphiでいうところのuses?
0188デフォルトの名無しさん
NGNGその行に stdio.h というファイルを 読み込んで追加 というような動作。
0189デフォルトの名無しさん
NGNGDelphiでいうところの#include
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193162
NGNGレスありがとうございます
じゃあdelphiをMDIのように背景をつけることはできないんでしょうか?
0195デフォルトの名無しさん
NGNG最背面に常に表示されるウインドウをもつ、フル画面のソフトを作って
常に立ち上げておけばいい。
0196デフォルトの名無しさん
NGNG0197いちご
NGNG上司から、これ参考にしてつくれと
eXescoper(逆コンパイラ?)とsample.exeを渡された
のですが使い方を書いたHPが見当たりません。
上司に質問したらそんなこと自分で調べろと怒られました。
先輩に聞いても、そんな課題でなかったらしく、知らない
と言われ、困ってます。どなたかご存知でしたら教えてください。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG違うだろ。
Sample.exe "を" eXescoper "で"懐石して作れだろ。
0200デフォルトの名無しさん
NGNG何を作るのかを書かなければ分からない。
もう一度言う。「何を」を書かないと(その上司以外は)誰も分からない。
eXescopeは、exeやdll内の様々なデータを見るツール。
sample.exeは、作ったやつに聞け。それとも広く公開され有名なアプリなのか?sample.exeって。
自分しか分からない情報を出さないことには、誰も答えることなんて出来ない。
これは、プログラミングとは関係ない社会人としての常識である。
0201いちご
NGNG私の説明が舌足らずでしたので、もう一度説明させて下さい。
sample.exeに動きを参考にしたい部分があるのですが
それをeXescoperを使って調べて、課題のプログラム
をつくれというのが上司の要求です。
(要するにパクれってことだと思います)
eXescoperを起動させてsample.exeを開くと、
なにやらいっぱい出てくるのですが見方がわかりません。
どうやって使うのでしょうか?
0202デフォルトの名無しさん
NGNGなんで他のアプリをパクるのにeXescopeを使う必要があるの?
一体何を作るの?(仕様のことだよ)
sample.exeの「参考にしたい」部分を言わないと分からないよ。
まず、sample.exeが何をするものなのかから説明したほうがいいんじゃない?
eXescopeは、逆コンパイラじゃないよ。EXEのヘッダとか、参照してるやつとか、リソースを表示するやつだよ。
0203デフォルトの名無しさん
NGNGでもマジレス。上司か先輩に聞け。恥を書くことを恐れては成長しない罠。
0204いちご
NGNG課題はブロック崩しゲームなのですが
(ピンポン玉があたるとブロックが消えていく)
ボールの動きが終始同じなのを、ブロックの数が少なく
なるにつれて、速くするというものです。
sample.exeはスクリーンセーバーだと思うのですが
球が壁に跳ね返っているものです。ただ時間がたつにつれて
次第にその移動スピードがあがってきます。
その部分をブロック崩しのピンポン玉の動きにとりいれろ
というのです。スピードのあがり方は全く同じにしなくては
いけないという条件なのでプログラムソースをみなくては
できないです。こんな状況ですが、おわかり頂けたでしょうか?
0205デフォルトの名無しさん
NGNGそのアプリを作るにあたり、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いちご
NGNGeXescoperなんて知らないって言う人ばかり(いじめ?)で
上司に聞いたら、それを調べるのが仕事とつっかえされました(涙)
0208いちご
NGNGとんちんかんな質問でしたらごめんなさい。
eXescoperはコンパイル前の状態を復元するものでは
ないということでしょうか?
0209デフォルトの名無しさん
NGNGeXescopeは”なにか特別な関数”を使っている事や
その関数名とかはImport情報から分かるかもしれないが
例えば関数の引数の意味など仕様までは教えてくれない。
だから”よっぽど特別”な関数でない限り全く同じは無理。
情報を小出しにするあんたも、無茶な課題を出す上司
2人とも意識はないかもしれんが、相当悪質だぞ。
0210デフォルトの名無しさん
NGNG違います。リソースを調べる物です。
これでアプリケーションの動作を検証するなんて事は出来ません。
そのサンプルはゲームだから目で見て判断するしかないんじゃないでしょうか?
0211いちご
NGNGということは全く同じにするには
本当の逆コンパイルツールっていりますよね?
そんなのあるのでしょうか?
すみません、いろいろ聞いちゃって。
0212デフォルトの名無しさん
NGNG…つまり、やめとけって事。
0213いちご
NGNGアセンブラ→ObjectPascal翻訳みたいなツール
ないですよね・・すみません。
てことはどうしろってことなのかな?
単なるいじめ?
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNGリソースの中になにか数字が入ってるんだろうか
まったく同じにするには動画としてキャプったほうが手っ取り早そうだな
sample.exeとやらをうぷするわけにはさすがにいかんだろうが他にはなにもないの?
0216デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/digikei/ten.html
0217デフォルトの名無しさん
NGNG知らんわ。あんたの上司の言う通りだ。ちったぁ自分でかんがえろや
ここはDelphi質問スレであって、新入社員を育成するスレじゃない。出直せ
0218いちご
NGNG今、eXescoperをみてみたのですが、
リソースってのは具体的にどの部分のことを
いうのでしょうか?
0219デフォルトの名無しさん
NGNG>>218
リソースはいくつも意味があるが、この場合は、
exeファイルに埋め込まれた、アイコンや文字列、その他のデータを意味する。
0220デフォルトの名無しさん
NGNG真性の馬鹿で、exescopeや逆コンパイルを何か知らないで渡したか、
わざと間違った道具を渡して、自分で調べさせようとした
のどちらか。
0221デフォルトの名無しさん
NGNGできないことを証明するのも科学のうちだと学生のころにやったっしょ?
0222デフォルトの名無しさん
NGNG似たようなもんだけどさ。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGこのように設定しました。
Parser:TSysCharSet;
Parser := [#$0..#$FF] - ['0'..'9', 'A'..'Z', '_', 'a'..'z'];
私としては、['0'..'9', 'A'..'Z', '_', 'a'..'z']以外のもの(空白や()、@等)
がセパレーターになると思ったのですが、違うようなのです。
空白や括弧等複数のセパレーターを設定するには、どうしたらいいでしょうか?
教えてください。よろしくお願いします。
0225162
NGNGA型です
0226デフォルトの名無しさん
NGNGどこで違うと思った?
0227224
NGNGAAAAA()と、全部なってしまうのです。
ブレークポイントを設定してマウスを合わせてみたら、Parserの中身は'@','[','_'
など6個ぐらいしか設定されていないようなのです。
0228デフォルトの名無しさん
NGNGネタの予感がしますが…
課題からしてほぼ9割いじめと考えていいでしょ。
コンパイルされたアプリから内部処理を取得することは普通のレベルの
プログラマには不可能です。(リソースは簡単)
DLLにリンクされていれば内部処理結果を取得することは可能でしょうが
それにしてもDLLの仕様を取得する必要があります。
0229なのだ!
NGNG↑
結局、天才では?
0230224
NGNGExtractHeaderFieldsは、urlを分解する為のものなので空白をセパレーターに
指定しても無視されるようです。
よく考えたらurlの場合は空白で区切るとまずいですよね。
(私の質問がまずかった。urlとかに関係のない文字列を分解しようとしている
ことを書かなかった)
226さん ありがとうございました
0231デフォルトの名無しさん
NGNG説明
ExtractStrings 関数を使うと,Content で指定されたヌルで終わる文字列の部分文字列を文
字列リストに挿入できます。
Separators は,部分文字列を区切る区切り記号として使われる文字のセットです。復帰,改
行文字,および引用符(一重または二重)は常に区切り記号として扱われます。引用符付き
文字列の中の Separators は最後の引用符が現れるまで無視されます(引用符を二重にし
た場合,引用符を引用符付き文字列内に表示できます)。
WhiteSpace は,文字列の先頭にある場合に Content の分解時に無視される文字のセット
です。
Content は,部分文字列に分解されるヌルで終わる文字列です。
Strings は,Content から分解されたすべての部分文字列が追加される文字列リストです
。この文字列リストは ExtractStrings ではクリアされないので,文字列リストの既存の文字
列はそのまま維持されます。
ExtractStrings は,Strings パラメータに追加される文字列の数を返します。
注意ExtractStrings は,空の文字列をリストに追加しません。
0232デフォルトの名無しさん
NGNG(´-`)。o ○ (オイオイ…)
0233デフォルトの名無しさん
NGNG確かにそういう時期があったが、その後、複数起動を許すMDIなら
SDIとしてもMDIとしても利用できるので、現在はMDIを推奨してるんでなかった?
なにかの書籍で読んだ覚えが。
0234いちご
NGNG私も今、eXescopeというのがあるのを知りましたが
私が渡されたのはeXescopeRです。eXescopeではありません。
レス頂いた皆さんへ、スペルを見る限り勘違いされてますね。
0235いちご
NGNGわかっているのはブロックの数が少なくなると球のスピード
があがるということだけです。それを満たす関数なんて無数にありますよね。
(反比例というのもその中の1つですが)
課題はその中から特定しろってことです。
0236デフォルトの名無しさん
NGNG&&rrlo;を使って反転させるのはわかるんですが、トリップ入れると反転
はできないと思ってたんですが・・・
http://okazu.bbspink.com/test/read.cgi/ascii/1041248983/308
↑これ どうやるんですか?
って・・・やっぱり、わかりませんよね
厨房すまそ
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG勘違いしていた。
だが、exescoperとやらも試してみた限り、逆コンパイラには程遠い代物だぞ。
やはり、いじめか、上司がバカかだな・・・。
0239いちご
NGNGアドバイス頂けたら幸いです。
電話で商品の注文を受け付けるシステムについて
{電話での入力(ボタンを押す)に対して音声を返す(”在庫切れです”など)}
Delphiでできるそうなのですが、どんなハードのデバイスやコンポーネントが
必要になるのでしょうか?CTIサーバというのらしいのですが関連業界の方
みえたらさしさわりがない範囲でかまいませんので教えて下さい。
0240デフォルトの名無しさん
NGNG>DFMファイル(Delphiフォーム)を抜き出したり、使用しているクラス及びPAS
>ファイル(Delphiソースコード)を取得することが出来ます。
>いわゆる逆コンパイラーに近い働きをすることが出来ます。たぶん。(^^;
>また、 自分で作成したプロジェクトの管理または他人が作ったプロジェクト
>を解析したい人にお勧めのソフトです。
なーんて書いてあるから、勘違いしたのでしょう。
上司の間違いを指摘すると逆切れされるかもしれないので、
適当に似せて作って、同じにはなりませんでしたと言えば良いでしょう。
0241デフォルトの名無しさん
NGNG0242224
NGNG0243デフォルトの名無しさん
NGNGDelphiで出来る事は、CTIサーバメーカーが提供するライブラリのAPIを
呼ぶぐらいじゃないの?
0244いちご
NGNGnameのところにらしき関数が書いてあったので
それで提出します。
レス頂いた皆様、ありがとうございました。
0245いちご
NGNG0246デフォルトの名無しさん
NGNGExtractHeaderFieldsについて、くどくいようで申し訳ないのですが、
D6だと空白や括弧 ( で文字列を切り分けてくれるのですが、D7では切り分け
てくれないようです。
PRO版なのでソースを見比べてみたのですが、何が違うのか判りませんでした。
D6、D7どちらが正しいのか判らないのですが、D6の動作にしたいのでどなたか、教えてください。よろしくお願いします。
(とりあえずは、D6でプログラムします。)
0247デフォルトの名無しさん
NGNGレス全部読まないバカは嫌い。
0248世直し一揆
NGNGるな!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ、自己中心)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとす
る(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際には
たいてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本
の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く
、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「世間体命」、「〜みたい
」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は
個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あいつの足を引っ張ってやる!!)」)
0249デフォルトの名無しさん
NGNGどう宣言すれば良いんでしょうか?
procedure hoge(au: array of pchar); <実行時例外
procedure hoge(au: array of array of pchar); <コンパイルエラー
0250デフォルトの名無しさん
NGNGtype
ppchar = ^PChar;
procedure hoge(au: ppchar);cdecl;
0251デフォルトの名無しさん
NGNGすいません、追加で教えて下さい。
var
test: ppchar;
begin
GetMem(test, 1);
GetMem(test^, 6);
strcopy(test^, 'test0');
end;
こうすると、実行時例外になります。
メモリの確保と代入のところで何か間違いを犯してるんだと思うんですが
ppcharに値を代入するには、どうすれば良いんでしょうか?
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGPArrayPChar = ^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デフォルトの名無しさん
NGNGvar
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デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGGetMem(test, 1);→GetMem(test, 4);じゃないか。
SizeOf(PChar)の値だから。
0258デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGアホ丸出しです。
>>252
他の言語より遙かに簡単です。
>>249
Cで作ったDLL側がstdcall呼び出し規約を使ってるならdelphi側も
procedure hoge();stdcall;
にすべし。
0261デフォルトの名無しさん
NGNGDLLから関数を呼ぶときは、external でDLLのファイル名を指定しないと
procedure hoge(p:ppchar);external 'ABCDE.DLL';
0262デフォルトの名無しさん
NGNG0263↑(´∀`)MVP
NGNG0264246
NGNGレスは全部呼んだつもりですが、多分231のレスを私が理解し切れていないため
あほ扱いになったと。
ヘルプは呼んだのですが、あの文章からどの文字では区切られて、どれではだめか
読みとる力がありません。
あほに解説していただけませんか?
0265デフォルトの名無しさん
NGNGあほには何いっても無駄
0266デフォルトの名無しさん
NGNGえ〜 そんなにおこらなくても。。。
これだから、ヒキオタは(略
0267デフォルトの名無しさん
NGNGprocedure 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★こんなサイト見つけました★
0269デルファイの名無しさん
NGNGPascalでは同じ内容でも別の場所で宣言した型は別の型。
type T = array of integer;
procedure swap(var x,y:T);
var temp:T;
begin
temp:=x;x:=y;y:=temp;
end;
ならどうです?
0270デフォルトの名無しさん
NGNGprocedure swap(var x,y:Integer);
var
temp: Integer;
begin
temp := y; y := x; x := Temp;
end;
じゃいかんの?
0271267
NGNGk:=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デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGキャスト?
0274デフォルトの名無しさん
NGNG(・Д・)!?
0275デフォルトの名無しさん
NGNG( ;´Д`)
0276デルファイの名無しさん
NGNG実はxがIntegerの配列ではないなんてオチで無ければ。
思いっきりそれですた…
ご迷惑おかけしますた。回線切って(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デフォルトの名無しさん
NGNGDとEは同じ記憶領域を共有するってわかってる?
同じ型じゃ可変部にする意味ないじゃん。
0280しつもん
NGNGtype
TRec = record
A:integer;
B:integer;
case C:Boolean of
True:(D:integer);
False:(E:String[10]);
end;
0281しつもん
NGNGCの値関係無しに、DとEどちらも書き込み出きるでしょ。
C値によって、どちらかが制限されるのならわかるけど、
じゃあ、この中のCaseってどんな動作するの?
Cの使い方って?
0282しつもん
NGNG同じ型にする意味はありますよ。
同じメモリ領域に二つの識別子が使えるので、
一つのレコード型データに対して、どちらかのフィールドしか使わない
(二つ一緒に使う事はない)
場合、メモリが節約できます。
0283デフォルトの名無しさん
NGNGまじで?
0284デフォルトの名無しさん
NGNG後、ビット列の表現を変えたい場合な。
IntegerとByte4つの構造体を共用させればRGB形式のデータの操作が楽だったり。
0285282
NGNGメモリの節約なんてできませんよ
SizeOf の戻り値見てる?
むしろ case 文の分だけ損してる
> 後、ビット列の表現を変えたい場合な。
「後、」って何だろ?(w
その副詞は話の流れとして相応しくないな
レコードの可変は主にそのためにあるんでしょ
同じ型にして意味のある事といえば、ヘルプに出てくるみたいに
変数名を別にできるということくらいでしょう
0286デフォルトの名無しさん
NGNG>同じ型にして意味のある事といえば、ヘルプに出てくるみたいに
>変数名を別にできるということくらいでしょう
アホですか?それになんの意味があるというのだ。
0287285
NGNGあなたのアホすぎる質問に、発言するのが嫌になった・・・
0288デフォルトの名無しさん
NGNGtype 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デフォルトの名無しさん
NGNGp-codeやインタプリタのPascalには、ちゃんと見てくれて、
タグフィールドが向けられてない要素にアクセスしようとするとエラーになる実装が存在する
…と何処かで読んだ気がする。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNGひょっとしてDelphiそのものをビルドできちゃうとか?
IDEの正規表現検索を自分のアプリに組み込みたいのですが、
ユニットorクラスが見つかりません。
おしえてください。
0292デフォルトの名無しさん
NGNGモナーじゃしょうがないのか...
>>291
ありません
0293デフォルトの名無しさん
NGNGSee also
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/index.php
0294デフォルトの名無しさん
NGNGとあるフレームワークでは標準装備なのに。。
0295デフォルトの名無しさん
NGNGあ、これいいですね。どうもです。
ググルでは外部DLLものばかりひっかかってウンザリしてたんです。
0296デフォルトの名無しさん
NGNGしょせんんVBにはかなわんよな。プツ
くそったれ
デルポイ
0297デフォルトの名無しさん
NGNGいっとくけどDelphiのほうが上だバカ
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGたとえば、先行きわからんVCLに頼っているやつは
あほだろ。
0300I90vmCq+
NGNG0301デフォルトの名無しさん
NGNGあなたの対象としてるのは、VB6までのこと?VB.NETからのこと?
0302デフォルトの名無しさん
NGNGVB>DELPHIってほざいてんの
0303デフォルトの名無しさん
NGNGだな。
かなりobject pascal文法は
いい加減だぞ。
0304デフォルトの名無しさん
NGNGなにVB厨に釣られてるんだ(w
まあ.NETにもVBあるけどな。
0305デフォルトの名無しさん
NGNG難しくなっただけじゃねーーーーーーーーーーーのか
中身一緒で難しくなっただけじゃねえええええええええええええええええええええのか
つぎつぎ新しいのでてきりがねええええええええええええええええええんだよ
ちょっと書き方かわっただけじゃねえええええええええええええええええええのか
せっかく慣れたと思ったら次の出やがってやってらんねえええええええええええっての
信用ねえええええええええええええええええええええええええええええええっつの
0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNGとかカキコしてるツールが かちゅ とか ギコナビとか(w
0308デフォルトの名無しさん
NGNGJaneだヴォケ(嘲笑禿藁
0309デフォルトの名無しさん
NGNG同意。
0310デフォルトの名無しさん
NGNGそれ同じことだ。まじれすスマソ。
0311デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGユーザーが多いからだろ
ちなみに監視所、アクティブスレッドランキング、みみずん検索なども2ちゃんねる関連のツールと捉えると
Delphi、VBが多数派とも言えない
0314デフォルトの名無しさん
NGNGexternal宣言でWin32APIを使う利点は、関数名にエイリアスを使えること以外に
ないように思えるのですが、他に何かメリットはありますか?
(2)
Handle(HWnd)を受け取る引数は何型で定義すればよいのでしょうか?
Integerだと「型が不一致」でハネられるのですが・・・。
0315デフォルトの名無しさん
NGNG楽
Cardinal
0316デフォルトの名無しさん
NGNG(1) VBのDeclare宣言とおなじで、煩雑だと思います。
楽だとは思えないんですが・・・。
(2) Cardinalとはちょっと気が付きませんでした。感謝です。
0317デフォルトの名無しさん
NGNGGetProcAddrとかLoadLibraryの戻り値はちゃんとチェックしてくださいね。
0318bloom
NGNG0319デフォルトの名無しさん
NGNGコメントありがとうございます。
0320デフォルトの名無しさん
NGNGDelphiで作ったDLLのAPIをVBクライアントからDeclare宣言で呼び出すと、
function(procedure)の実行は出来るのですが、呼び出し元に変更を反映
させたい引数が、変更されません。(値渡しの引数やローカル変数と同じ
ような動作で、関数スコープ内でしか値が有効でない)
引数の型をPInteger(PChar)に変更したり、VB側のAPI関数宣言でByValを
ByRefに変更したりしましたが、結果はおなじでした。
どのようにコーディングすればよいのでしょうか?
(ちなみに、Delphi側の引数宣言をvarに変更したら、アプリケーション
エラーで落ちました)
(4)
VBクライアントから利用するAPIで文字列を返す場合は、PCharではなく、
PWideChar(Unicode扱い)でないとダメですか?
(1)の問題が解決しないことには意味がありませんが・・・。
0321デフォルトの名無しさん
NGNG補足ですが、当然stdcallは記述しています。
「参照渡し引数の値の変更をクライアント側に反映させる」以外の動作は
一通り問題なく実現できています。
(テスト的なものなので、あまりむずかしい処理は書いていないのです)
0322デフォルトの名無しさん
NGNGttp://www.users.gr.jp/ml/archive/delphi/33597.asp
を見つけました。これで何とかなるのかな・・・?
0323デフォルトの名無しさん
NGNGttp://www.users.gr.jp/ml/archive/delphi/33627.asp
↑こんなのも見つけたのですが、この本、今でも入手できるのだろうか?
0324デルファイの名無しさん
NGNG(3) VB側で、違う型を与えてません?VBだとByRefに式が書けてその場合変更は無視された気が
(4) 6以前のVBは文字列の扱いがややこしいのでVariantに入れて返すのが一番楽と思う
0325デフォルトの名無しさん
NGNGコメントありがとうございます。
結果報告は、後日・・・。
0326デフォルトの名無しさん
NGNGDelphiで、ShellAPIのShellExecute関数を使っているのですが、
起動したアプリケーションとDelphiのプログラムが同時に走ってしまい、
プログラムがうまくいきません。
ShellExecute関数で起動したアプリケーションの終了を確認してから、
プログラムの続きを実行する方法をどなたか教えて頂けないでしょうか。
宜しくお願いします。
0327デフォルトの名無しさん
NGNG0328組込もしまっせ
NGNGGetExitCodeProcess を使えば該当アプリが終了してるかどうかわかりますが
ところが、これらのAPIを呼出すのに必要なハンドルを ShellExecuteは返してくれません。
対策は、
1、ShellExecuteEx を使って hProcess を使う
2、 FindExecutable で対応アプリの名前を調べてCreateProcessする
0330デフォルトの名無しさん
NGNGSpinEditというコンポーネントを使って数値を変えて
ボタンを押すとその数値を使って処理をするというプログラムについてなんですが、
処理が終わった後、ユーザーによって変えられた数値を
「元に戻す」ボタンで初期値に戻すためにはボタンを押したときに
SpinEdhit1.Valueに初期値を書いて代入する以外に何か方法ってありますか?
0331デフォルトの名無しさん
NGNGUndoメソッドがあるにはあるけど
キー入力→Undo→(・∀・)アンドゥセイコウ
スピン→Undo→(・A・)アンドゥデキン
となった(Del6付属のTSpinEdit)
0332デフォルトの名無しさん
NGNGたとえばボタンを押すと「2003/01/28」という文字がfile.iniの一番上の行に追加されるというものです。
昔の日付はだんだん下の行に下がっていく、つまり新しく書き込むと上から順に追加される
という感じなのですがこれはどうやるんでしょうか?
0333組込もしまっせ
NGNGInsert FormatDateTime して SaveToFileかな
でも、
新しい書き込みが下になった方が パソコンには優しい処理だと思うけどなあ・・・・
0334デフォルトの名無しさん
NGNGはい次
0335デフォルトの名無しさん
NGNGvar
vdate : String; vdata : TStringList;
begin
vdata := TStringList.Create ;
vdata.Text := vdate;
vdata.SaveToFile ('test.txt');
vdata.Free ;
end;
こんな感じでとりあえず保存だけやり方がわかったのですが追加書き込みはどうやるのでしょうか?
新しい日付が最初にこなくてもいいのでファイルもう一度ボタンを押すと
次の行に追加されるようにしたいのですが調べても詳しく分からなかったので
例みたいなものを教えていただけないでしょうか
0336335
NGNG0337デフォルトの名無しさん
NGNGコマンドプロンプトで300行弱しか表示されません。
もっと表示するのって無理なんですかね…?
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGOS次第。
0340デフォルトの名無しさん
NGNGあなたの言われる機能はターミナルに依存します。
よって、履歴機能を自力で実装するしかないです。
0341デフォルトの名無しさん
NGNGありがとうございました。
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGもっと具体的に教えてください。
0345デフォルトの名無しさん
NGNG何をつかってるんだ。
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デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNG一応ループの中に
for k:=1 to 100 do begin
x[k]:=y[k];
end;
って入れてループに入るたびにxの値を更新するようにしたつもりなんですが…
0350デフォルトの名無しさん
NGNG実行してないので間違ってたらスマソ・・・
var
vdate : String;
vdata : TStringList;
begin
vdata := TStringList.Create ;
vdata.LoadFormFile ('test.txt');
vdata.Add(Newdata);
・
・
・
・
vdata.Free ;
end;
0351デフォルトの名無しさん
NGNG自分でHTMLを解析するのが面倒なので、定番のライブラリなどがあったら教えて欲しいです。
0352デフォルトの名無しさん
NGNG0353347
NGNGwriteln('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デフォルトの名無しさん
NGNGhttp://www.42ch.net/UploaderSmall/source/1043761966.jpg
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG機能がついた奴です。ついてない奴は見つけたのですが、新規作成が
できればかなり便利になると思いましたので。
0358デフォルトの名無しさん
NGNG実験したけどちゃんと"2.2"になったよ。
Dataの初期化をわすれてないか。
0359Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ /
ミ,,゚Д゚彡 < ほいな。
ミ つ つ \
@ミ ミ
∪''∪
>>351さん
0360デフォルトの名無しさん
NGNGそのページ、初めて見るけど、
>関数郡です
↑
「関数群」だよなぁ。
ま、くだらないあげあしとりだけどさ。
0361デフォルトの名無しさん
NGNG探し方が悪いのか、いくら探してもみつかりません。
もしご存じのかたおられましたら教えてください。
よろしくお願いします。
0362初心者
NGNGどうするの?
0363361
NGNGもういいです
0364デフォルトの名無しさん
NGNGすいません。こちらのケアレスミスでした。
50 / ((150/100) * (150/100))
とやらなければいけないところを
50 / (100 * 100)
にしていたので前者の答えは0.0022222...で後者の答えは22.2222...になるため
前者は0.0に、後者は22.2になっていました。
ちなみにDelphi初めて間もないのでよくわからないのですが、
なぜ変数を初期化しなければいけないのでしょうか?
初期化するのは違う値を何回も入れ替えるときのみでいいんでしょうか?
それ以外の、たとえば1回しか代入しないような変数は初期化しないでもOKですか?
0365デフォルトの名無しさん
NGNGせっかくコメントを頂いたのに申し訳ないのですが、後で調べてみたら、
THANDLE で問題なく動作しました。たぶん、Cardinalよりこちらの方が
ベターだと思います。
>>326
VB用のサンプルコードなら、WEB上で探せば腐るほどあるので、VBのコード
を読み書きできるなら、それをDelphiで書き直すのもありだと思います。
Win32APIの代わりにWSHを使う方法もあります。
Delphi用のコードも、WEBや書籍で見た記憶があるのですが、残念ながら
提示できません。(どこで見たか忘れた・・・)
・・・>>320-321の問題は未解決です。(T_T)
(>>322を読んだが、イマイチ意味がよくわからないし)
どこかにわかりやすいサンプルコードはないだろうか?
0366デフォルトの名無しさん
NGNGWIndowsAPIと同じ様な動作で良ければ
// 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文字列を返したいのですか?
VBの事はもう忘れてしまったのですが、一般的な話として文字列を返したい場合は
文字列用の領域を用意し、領域サイズもあわせて引数として渡す必要があります。
WindowsのGetWindowText API を参考にすると良いでしょう。
マルチスレッドを使わない場合は、関数の引数で返さず、
その関数内で別の変数に代入しておいて、別の関数でPCharで返す方法もあります
0368デフォルトの名無しさん
NGNGありがとうございます。
無論、文字列も・・・なんですが、それ以前に数値(32bit整数)も返せていない(DLL内で
MessageboxAで表示してみると正しい値が入っている)という情けない状況です。(T_T)
0369366
NGNGほれ。
メモリ管理はどうなっているかわからん。調べてくれ。
// 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レジストリを書き換えるしかない。
0372Mister
NGNG0373詭弁の特徴のガイドライン
NGNG「犬は子供を産むが、もし卵を生む犬がいたらどうだろうか?」
2:ごくまれな反例をとりあげる
「だが、時として尻尾が2本ある犬が生まれることもある」
3:自分に有利な将来像を予想する
「何年か後、犬に羽が生えないという保証は誰にもできない」
4:主観で決め付ける
「犬自身が哺乳類であることを望むわけがない」
5:資料を示さず自論が支持されていると思わせる
「世界では、犬は哺乳類ではないという見方が一般的だ」
6:一見関係ありそうで関係ない話を始める
「ところで、カモノハシが卵を産むのは知っているか?」
7:陰謀であると力説する
「それは、犬を哺乳類と認めると都合の良いアメリカが画策した陰謀だ」
8:知能障害を起こす
「何、犬ごときにマジになってやんの、バーカバーカ」
9:自分の見解を述べずに人格批判をする
「犬が哺乳類なんて言う奴は、社会に出てない証拠。現実をみてみろよ」
10:ありえない解決策を図る
「結局、犬が卵を産めるようになれば良いって事だよね」
11:レッテル貼りをする
「犬が哺乳類だなんて過去の概念にしがみつく右翼はイタイね」
12:決着した話を経緯を無視して蒸し返す
「ところで、犬がどうやったら哺乳類の条件をみたすんだ?」
13:勝利宣言をする
「犬が哺乳類だという論はすでに何年も前に論破されてる事なのだが」
14:細かい部分のミスを指摘し相手を無知と認識させる
「犬って言っても大型犬から小型犬までいる。もっと勉強しろよ」
15:新しい概念が全て正しいのだとミスリードする
「犬が哺乳類ではないと認めない限り生物学に進歩はない」
16:反論の代わりに詭弁ということにしてすます。
「それは詭弁です。いいから詭弁なんです。」
0374デフォルトの名無しさん
NGNG終了ボタンを押すとアプリケーションを終了させるには
beginとendの間にclose;と書くのが正しい方法なのでしょうか?
ほかにやり方とかってありますか?
0375デフォルトの名無しさん
NGNGそれは詭弁です。いいから詭弁なんです。
そんなことはどうでもいいが、
メインフォームならそれでOK
そうでないなら、
Application.Terminate または
Application.MainForm.Close
コンソール(等、VCLで作られたフォームがないアプリ)なら、Halt
0377初心者
NGNG0378デフォルトの名無しさん
NGNG難しすぎて分かりません
0379デフォルトの名無しさん
NGNGどうもうまくいきません。
どこを直せばいいか教えてください。
お願いします。
program quick;
{$APPTYPE CONSOLE}
uses
SysUtils;
0380デフォルトの名無しさん
NGNGvar 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デフォルトの名無しさん
NGNGt,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デフォルトの名無しさん
NGNGvarの位置を変えたらうまくいきました。
どうもお騒がせしました。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG頑張れよ、九州大学電気情報工学科。
0386デフォルトの名無しさん
NGNG今日提出レポート必死だな(w
0387デフォルトの名無しさん
NGNGワロタw
0388デフォルトの名無しさん
NGNGありがとうございます。お蔭様で解決しました。実は仕事でも何でも
なかったのですが、動かないプログラムが気に掛かって、ここ数日、
睡眠不足気味でした。
これでDelphiのことは忘れて仕事に集中できそうです。(おい
お礼と言っては何ですが、自作の関数をいくつか紹介します。
使えそうなのがありましたら、ご自由にお使いください。
(>>388 に続く)
0389デフォルトの名無しさん
NGNGprocedure 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//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デフォルトの名無しさん
NGNGhttp://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デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG>>388
動かなかった原因は、ポインタの使い方を理解していなかった、の一語に尽きます。
(文字列バッファーの確保とヌル文字列での初期化はやっていたのですが)
>>389
VBの悪名高い?SendKeysステートメントと同機能です。引数は配列でもよさそうですが、
VBの元ネタに合せてOptionalにして見ました。
>>390
よく見直したら、拡張子'lnk'の場合も、'url'の場合もおなじ処理なので分岐の必要は
ないようです。まだ改良の余地あり?
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNGドラッグ中はマウスポインタの下のノードが
選択状態(ノードのTextが反転)しますが
これを選択状態にしないようにするにはどうしたら
よいのでしょうか?
0397デフォルトの名無しさん
NGNGSendKeysってね、実は漢字も送れるの。
0398デフォルトの名無しさん
NGNGdelphiを起動するとformとunitが勝手に出てくるのですが起動時に
これらを出さないようにするにはどうすればいいのでしょうか?
0399デフォルトの名無しさん
NGNG変数はどうすれば宣言できるのでしょうか?
0400デフォルトの名無しさん
NGNGコマンドラインオプションで
0402399
NGNGinc(intStatic); の行で、「代入できない左辺値です」というエラーが
出てしまいます。
Delphi6で試しているのですけど、どうしてエラーになるのでしょうか?
0403デフォルトの名無しさん
NGNGprivateでいいじゃん
0404デフォルトの名無しさん
NGNG>>400さんの、文字をヘルプで探したのですが、
わかりませんでした・・。
すいませんが教えてください。
0405399
NGNG1つのイベントプロシージャからしか使用しないので、イベントプロシージャの中で
宣言したいのです。
0406デフォルトの名無しさん
NGNG「プロジェクトのオプション」->「コンパイラ」で「型付変数への代入」にチェックを入れるか、または{$J+}を指定する。
0407デフォルトの名無しさん
NGNGそんな仕様初めて聞いたぞ( ゚Д゚)ゴルァ
と思って調べたら、コンパイラオプション{$J+}を付ければ出来るみたいね。
0408399
NGNG___
,∠==、ヽ `i'ー- .
/ ヽ| 「`'ー、`ー、
l ミ| / `ー、ヽ できました。どうもありがとうございました。>>406
j R|イ ー-、. ノ7┐
`Vハハハ/ヽ.「~ ̄ `''ァf‐┘
. `、 }ー-`、__..._/::l
`|:::::::|ヽ/l:;:;:;|
. |::::::::l:::::::::::::::l
. l::::::::l:::::::::::::::l
l:::::::::l::::::::::::::l
l;::::::::{:::::::::::::l
`iiiiiiiハiiiiiiiij´
∠-、レ'ヽ〃〕
0409デフォルトの名無しさん
NGNG見苦しい。死ね。
0410デフォルトの名無しさん
NGNG同感。>>388には生きている価値がない。生まれて来ない方がよかったんじゃない?
0411デフォルトの名無しさん
NGNG同意と言いたいところだが、頭の弱い奴を叩いてもしょうがないんじゃないの?
0412デフォルトの名無しさん
NGNG禿同。
頭悪いやつに何言っても無駄かもしんないけど>>389のクソ関数なんか
イラネーんだよボケ。
0413デフォルトの名無しさん
NGNG( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) | でも、罵倒するときゃするで〜
| だってプログラミングしか取り柄のない 使い捨てられる人間だから
\_________________________
0414398
NGNG0415デフォルトの名無しさん
NGNG400が答えてるように起動オプションを使う
delphi32 /np
とりあえずDelphiのヘルプでキーワード
IDE,コマンドラインオプション
を読むとよろし
0416デフォルトの名無しさん
NGNGDelphiを起動したときにフォームを「出さない」というのはどういう意味?
Delphiを起動したときに
・新規プロジェクトを開かない
・新規プロジェクトは開くけど、メインフォームを持っていない
・新規プロジェクトを開いて、メインフォームも持ってるけど、表示はさせない
この3つのどれ?
0417デフォルトの名無しさん
NGNGttp://wblue.hp.infoseek.co.jp/prog/apptop.htm
見ながらグラフィックビューア作ってたんですよ。で、
・なんであんな簡単なプログラムが550KBもしてしまったのか。
自分で作り終えたときそのでかさにびっくりしました。
・png対応させるためにはどうすればいいのか?
・アイコン設定したのにアイコン変わんねぇぞゴルァ
の三つなんですが、どうかよろしくお願いします。
0418ななしへたぐらま ◆XcB18Bks.Y
NGNG変更前のコードでは最悪,writeln文は1回も実行されませんよ.
されるとしても j = 1 のときだけ.
『途中で整列する対象がソート済みの配列に変わってしまう』というのは
恐らくそう見えるだけで実行結果には影響していないと思われますが….
#そもそも整列の実行速度を調べるのに
配列の中身をwritelnで表示する意味はないと思いますし,
writelnの実行時間は配列の整列よりずっとかかりますから,
速度調査になりません.
0419ななしへたぐらま ◆XcB18Bks.Y
NGNGスピードボタンのActionプロパティに『アクション』を指定した場合,
その『アクション』があるアクションリストのImagesプロパティに
イメージリストが指定されていると,
スピードボタンのGlyphは,
そのイメージリストの中のイメージのうち
その『アクション』のImageIndexで指定された番号のもの
に変わるようですね.
1.「実行時」←これにいろいろ付加して検索してみれ。
2.コンポーネント探してきてインストールするしか無いと思う。
3.コンパイルしたexeを違う場所へ移動させてみると…。
0421デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA028375/index.html?page=Delphi_Setup.html
初期設定とかこの人のページが詳しくまとまってるから見たもれ
0422デフォルトの名無しさん
NGNG1,2.ども、ぐぐってきます。
3.カワッタ━━━━(゚∀゚)━━━━ッ!!
ありがとう。
0423417
NGNGフォームを使わず開発しろというのも渋いなぁ
2.png使うのはGLDPNGっとかってナイスなコンポーネントありました。
0425ケン玉城
NGNG0426デフォルトの名無しさん
NGNG一番上です。
>>421
ありがとうございます。そこでしらべてみます。
おさわがせしました。
0427デフォルトの名無しさん
NGNGFF2のラスボス?
>>417
でかいのがいやなら、WindowsAPI+SDKでやる方法があります。
しんどいけど今時勉強にもなりませんし、知ったかできるくらいですか利点は。
参考URL
http://halbow.cool.ne.jp/
0428デフォルトの名無しさん
NGNGもう解決したかもしれないけど、サブクラス化して、
if (Message.Msg = TVM_SELECTITEM) and (Message.WParam = TVGN_DROPHILITE) then
begin
Message.LParam := 0;
end;
とかやれば出来るはず。
0429デフォルトの名無しさん
NGNGどんなことをやったらよいでしょうか?
何か課題のようなものを出して頂けませんか?
0430デフォルトの名無しさん
NGNG課題:やりたいことをみつけること
0431デフォルトの名無しさん
NGNG0433429
NGNGいきなり質問なのですが、ファイル>新規を押した時に出るダイアログなのですが
はい・いいえ・キャンセルのあるものはどうやってだすのでしょうか?
Showmessageでは、うまくできそうになく新しいFormを作るのでしょうか?
0434デフォルトの名無しさん
NGNGmessagedlg
0435デフォルトの名無しさん
NGNGmessagedlgはWindowキャプションを変更できないのが嫌だ。
MessageboxAがお奨め。
0436429
NGNGMessageboxAを使用してうまくできました。
MessageboxAの hWnd という部分ですが、
よくわからないのでHandleと入れましたが
これは問題ないのでしょうか?
オーナー ウィンドウのハンドルと言われてもわからなかったもので、、、
0437デフォルトの名無しさん
NGNG正直、才能あると思う。
0439デフォルトの名無しさん
NGNGウイングよ。ここは素直に照れておきな。
0441デフォルトの名無しさん
NGNG適当なフォームを二個作って
Form1.HandleとForm2.Handleを入れれば違いが分かるよ。
0443デフォルトの名無しさん
NGNGDialogsにあるのはだめなのかいな?
0445429
NGNGこちらでは、
Open,Save,OpnePicture,SavePicture,Font
Color,Print,PrinterSetup,Find,Replace
以上しかないのですが、他にもあるのでしょうか?
0446デフォルトの名無しさん
NGNGコンボボックスにのitemの内容をテーブルからもってくるには、
レコードを1つ1つ参照するしかないんでしょうか?
0448デフォルトの名無しさん
NGNGPrint,PrinterSetup
0449デフォルトの名無しさん
NGNGなにがやりたいかよくわからないが、
ComboBoxのアイテムをDBから取得したいだけなら、
DBLookupComboBoxを使えば簡単だわな。
独自の実装をする場合は一個一個参照するしかない。
0450デフォルトの名無しさん
NGNGその程度でいちいちWSH使って
しかもよりによってDelスレで自慢気に発表するのがワラタ
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG0453429
NGNGありがとうございます。
またまた質問なのですが、FindDialogを呼び出して文字を入力させ
その文字を検索するところまでは何となくわかったのですが
その文字を反転状態?にさせたいのですが、どのようにすればよいのでしょうか?
0454デフォルトの名無しさん
NGNGSelstart Sellength
0457デフォルトの名無しさん
NGNGソースを複数のファイルに分けるということは出来るのでしょうか?
0458デフォルトの名無しさん
NGNG出来ます。uses
0459デフォルトの名無しさん
NGNGDelphiのヘルプでusesと検索したら、
「複数のユニットの参照と間接的なユニット参照」というよさそうなのが、
出てきたけど、よく使い方がわかりません。
誰か教えてくれませんか?
0460デフォルトの名無しさん
NGNG完成品の適当なソースをパクって使い方を研究するのが最短距離。
0461デフォルトの名無しさん
NGNGそうします。
0462デフォルトの名無しさん
NGNG大きなお世話かもしれないが、参照するUnitをInterfaceのusesに記述するか、
Implementationのusesに記述するか、はハマる原因になるので、注意!
(FAQの部類に入る)
0464デフォルトの名無しさん
NGNG9月から3月くらい
0465デフォルトの名無しさん
NGNG一覧から参照してるので問題ないのですが、これはバグですか?
0466デフォルトの名無しさん
NGNG背景まで白くなってしまいます。
Image1.Canvas.TextOut(10, 10, 'abcde');
BrushのStyleを設定しても無理ですし、どうすれば白くならないように文字
だけを表示できるのでしょうか?
0467デフォルトの名無しさん
NGNGえ〜?
0468466
NGNGう〜ん
どうしてもイメージコンポーネントの背景が白くなってしまうんですよ・・・
0469デフォルトの名無しさん
NGNGえ〜?
0470デフォルトの名無しさん
NGNGImage1のTransparent(プロパティ)をTrueにしる
0471466
NGNGう〜ん
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不思議だよねえ、ETO_OPAQUEが勝手に付いちゃうのかなあ
0473466
NGNGう〜ん
どうして白く塗りつぶされるんでしょうね・・・
分からないや・・・
0474デフォルトの名無しさん
NGNGTImage の仕組みもわからんのか?
0475デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
with Form1.Canvas do
begin
brush.style:=bsClear;
TextOut(10, 10, 'abcde');
end;
end;
0476デフォルトの名無しさん
NGNGそれって無理やりだね、、、
0477ななしへたぐらま ◆XcB18Bks.Y
NGNG文字を表示するだけならラベルコンポでいいと思いますよ.
少なくともイメージコンポは文字を表示する用途には向いていません.
ちなみにイメージコンポの背景が白くなる理由:
画像が入っていないイメージコンポのキャンバスを操作すると
イメージコンポは自分と同じサイズのビットマップを作り
そのビットマップのキャンバスを操作して
そのビットマップを表示するのです.
で,作られたばかりのビットマップが全面真っ白だったので
全体が白く表示されたわけです.
0478デフォルトの名無しさん
NGNG((;゚Д゚)ガクガクブルブル
0479デフォルトの名無しさん
NGNG0480組込もしまっせ
NGNGprocedure 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ねこま
NGNG0482デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1042421592/l50
などを読み取ろうとするとエラーになってしまいます。
Indy.ResponseTextで調べると「302 Found」と出てきます。
どうすればいいのでしょうか?ヽ(;´Д`)ノ
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGそれだけじゃわかんないよ
NHKでもみておちけつ
0485デフォルトの名無しさん
NGNG古い映像だと思ったら最新の映像だったのか・・・
つーかおつけつるかよ!!
0486デフォルトの名無しさん
NGNGまずどういうことをすればいいんでしょうか?
0487デフォルトの名無しさん
NGNGなにをしたいかによる。ねたか?
まずはNHKをみることがたいせつ
0488デフォルトの名無しさん
NGNG何のソフトを作るかはまだ決めてないんですが
練習を考えるとまずどういうプログラム組んでみるのが一番ですかね?
あといろんなスレでスペースシャトルの話題出てるなぁ・・・
0489デフォルトの名無しさん
NGNGプログラムの経験があるのかないのかによっても変わってくるだろ。
練習ならいろんなコンポーネントを並べて、それらを連携させてみるとか。
メモ帳とかならすぐできるぞ。
0490デフォルトの名無しさん
NGNGそんなことすら自分で決められないなら、やらなくてもいいと思う)
0491デフォルトの名無しさん
NGNG正直、サンプルもなくプログラムを作ってしまう人は尊敬する。天才だと思う。
こんな自分でもパソコン操作をたずねてくる人がたくさんいる。
先日、パソコンもかなり慣れただろうっという友人が、
「ワードで貼り付けた複数の絵を一度にサイズ変更できるか?」と訊ねてきた。
自分はそんなことやったことがない。
とりあえず、やってみた。難なくできた。
で、思わず言ってしまった。
「まず、やってみろと・・・」
すると、「判らないから聞いてるんだよ。できれば聞かないよ」と答えてきた。
なるほど・・・
おれが、「モナーの *やさしい* Delphi質問スレ」で質問するのも
答えてくれる人がいるのも、これに近い関係なのかなぁっと。
0492デフォルトの名無しさん
NGNGいるよね、努力の方法を知らない奴
0493デフォルトの名無しさん
NGNG本日の無料サポートは終了しましたPart9
http://pc2.2ch.net/test/read.cgi/win/1042457406/
0494デフォルトの名無しさん
NGNGなんとなくソフト作ってみたいと思ってプログラミング始めようとした香具師は
そんな感じになるのは仕方ないんじゃないのか?
漏れも前はそんなこと考えてたし。
0495デフォルトの名無しさん
NGNG>なんとなくソフト作ってみたい
なんとなくだろうがなんだろうが出来る奴は出来るし出来ない奴は出来ない。
情報は書籍にもインターネットにも腐るほどある。
本屋なんて親切だぞ。「プログラミング」ってコーナーがあるからな。
そこ以外には目的の本はないと明記してくれているわけだ。
要は情報の集め方と言う今のPCを使うに当たって必須の能力が欠如してるってこった。
0496デフォルトの名無しさん
NGNG作りたいという強い欲求がなければやめた方がよい。
0497デフォルトの名無しさん
NGNGそうだな、Janeに自動巡回機能でも組み込んでくれや。
もちろんサーバ負荷を考えてな。
0498デフォルトの名無しさん
NGNG都会に住んでる香具師はいいけど
田舎に住んでる18歳未満(っていうか免許ない香具師)だと
近くの本屋になんかちょっとしかプログラミング関係の本ないけどな。
Delphiに関係するのなんて1、2冊。。
まぁネットで調べればいいことだが・・
0499デフォルトの名無しさん
NGNG兵庫県の山奥に住んでますがね。
5年前の乏しい本環境+ネットなしでもここまで来れましたわ。
人間やる気だなと思う今日この頃。
0500466
NGNG>画像が入っていないイメージコンポのキャンバスを操作すると
>イメージコンポは自分と同じサイズのビットマップを作り
>そのビットマップのキャンバスを操作して
>そのビットマップを表示するのです.
そういう事だったのですか。
どうもありがごうございました。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNGif(l mod 2 = 0)then
0503デフォルトの名無しさん
NGNGその手があったか〜!
どうもありがとうございました。
0504デフォルトの名無しさん
NGNG0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG○if not Odd(l) then
0507デフォルトの名無しさん
NGNG実はSchemeでiterative processで指数計算のプロ�cを書こうとしたらわからなかったので
Schemeよりは理解しているDelphiで書いてからの方が理解しやすいってことで
試しに書いてみたんですがエラーばっかりで…
まだまだだなぁ。もっと精進しなくちゃ。
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNGってのはどうだ?
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNGShemeにoddがあるのかと小一時間
0512デフォルトの名無しさん
NGNGありますが何か?
http://www.math.grin.edu/~stone/scheme-web/odd-ques.html
Delphiに限って言えばmodは負数で誤動作するし、andは速度的に不利。素直にOdd使っとけ。
0513デフォルトの名無しさん
NGNGSchemeをやろうというか大学の講義で取ってるだけです。
単位ヤヴァイです。
0514デフォルトの名無しさん
NGNGがんばれよ、斎藤
0515ななしへたぐらま ◆XcB18Bks.Y
NGNG>>486 さんみたいなのもアリだと思いますけど.
私はブロック遊びの延長でプログラミングを始めましたが,
ブロック遊びを始めるのに『○○を作りたいから…』
などという目的などありませんから.
0516デフォルトの名無しさん
NGNG斎藤?
0517デフォルトの名無しさん
NGNG?
0518デフォルトの名無しさん
NGNGようはきっかけが欲しいわけだろ
とりあえず
http://www.wakhok.ac.jp/~tetsuo/delphi/mokuji.html
上のモグラ叩きとインベーダーゲームでも作ってみろ
そのあとはWindows Powerとかの雑誌で紹介されてるソフトの中から
適当なものをダウソしてパクってみろ。同じものを作ろうとすると
それだけでスキルアップできるから
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
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デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGaとb
a * 10 + bで望みの数字は得られるな。がんばれ。
0523デフォルトの名無しさん
NGNG例えばTMemoの3行目の左上の
TopとLeftを求めるにはどうしたら
よいのでしょうか?
0524デフォルトの名無しさん
NGNGFormとMenuItemのhintプロパティにそれぞれ文字列を設定したのですが、
MenuItemのほうのヒントが実行時に表示されません。
どんな原因が考えられるでしょうか。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNG行頭の座標が欲しいのかね
Font.Sizeから強引に割り出すとか
( ´∀`)なんとなく何に使うのか聞いてみたいな
0528デフォルトの名無しさん
NGNG何もコードを書かずにコンパイルして
それをMemProofで起動、終了するとなんかリークするのですが・・・
Virtual Memory 4096 ← 解放されない
もしかして俺の環境だけですか?
0529デフォルトの名無しさん
NGNG依存文字がキモイです
0530デフォルトの名無しさん
NGNGEM_POSFROMCHAR とかGetCaretPosなんかを使ってごりごりかなぁ?
0531446
NGNGありがとうございます。
ただ、DBctrlGridでDBLookupComboBoxのListSourceを設定しようとすると、
「この動作はサポートされていません」と出てしまいます。
DBctrlGridでDBLookupComboBoxはつかえないんでしょうか?
バージョンはDelphi6entです
0532523
NGNGそうなのです。
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;
0533524
NGNG仕様ですか…
メニューアイテムの上にポインタが来たときにある処理をしたいのですが、
どんな方法でやったらいいでしょうか?
TActionのOnHintでは524と同様にうまくいかないので…
0534デフォルトの名無しさん
NGNGbegin
If MenuItemNoUePointa = 1
Then
begin
処理;
end;
end;
0535534
NGNG0536デフォルトの名無しさん
NGNGと宣言すると
([0〜...]がTStringListが初めからもってるところ
[0][1]が配列にしたところ)
slList[0][0〜...]
slList[1][0〜...]
になりますが、そうでなく
slList[0〜...][0]
slList[0〜...][1]
と使用したい場合、どのように宣言すればいいのですか?
説明しづらく、解りにくいと思いますがよろしくお願いします
0537デフォルトの名無しさん
NGNGドラッグしてくるとフォーム全部に反応してしまうのを変えたいのですが。
0538デフォルトの名無しさん
NGNG言いたいことはわかるが無理
slList[0][0〜...] ってのは
slList[0].Strings[0〜...]の .Strings を省略してるだけだから
0539デフォルトの名無しさん
NGNGそうですか、残念。
slList[0]をソートするとslList[0][0〜...]とslList[1][0〜...]の内容の位置が
変わるため難儀してたのですが、動的配列を使ってなんとかしてみます
0540デフォルトの名無しさん
NGNG強引にTObject型にキャストするか、
TMyDataクラスを作ってラップするかして。
0541デフォルトの名無しさん
NGNG0542Delフサギコ ◆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デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNGはい次
0545デフォルトの名無しさん
NGNGアホか。
TStringListのSaveToFile
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGそれはあまりにもかわいそうだ・・・。
0548543
NGNG0549デフォルトの名無しさん
NGNGやっぱ>>544か>>546で我慢しとけ
0550デフォルトの名無しさん
NGNG必死だな。
0551デフォルトの名無しさん
NGNG0552524
NGNGttp://www.users.gr.jp/ml/archive/delphi/24121.asp
これを参考にしてなんとかできそうです。
0553Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ />>532さん
ミ,,゚Д゚彡 < TEditorを使ってはどうでしょうか?
ミ⊃ ミ⊃ \____________
〜ミ ミ
∪''∪
_____________
∧,,∧ /
ミ゚Д゚,,彡 < ってのは無しかしら?
⊂ミ ⊂ミ \____________
〜ミ ミ
∪''∪
いまだに、DesignInfo系の問題を
引きずっているみたいで、ちょっと苗ますが・・・
0554デフォルトの名無しさん
NGNG日清のカップメンはどれもうまい。
0555デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGお金を稼ごうとしなければいいんでないのけ
バリバリ配布してます。
つーか、ちゃんと書いてあることくらい読め。
0559555
NGNG0560デフォルトの名無しさん
NGNG書イテアルトコロニ、書イテアリマス。
0561555
NGNG0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNG全く同じこと書こうとしてた(藁
そして大空にはヤツの笑顔が…。
0564デフォルトの名無しさん
NGNGファイルに書き出して読み込みでしょうか?
0565デフォルトの名無しさん
NGNGその通りでございます。
0566デフォルトの名無しさん
NGNGそうですね。TStringListでテキストを読み書きすればいいのではないでしょうか?
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569555
NGNG0570デフォルトの名無しさん
NGNG0571555
NGNGできないと書いてあるんですが、どこにも見当たらないので困ってます
0572デフォルトの名無しさん
NGNG恥を覚悟で
ttp://bbs.psnet.ne.jp/read.cgi/DELPHI/DEFAULT/ALL
のレス番24でおながいしてきますた。
同士がいたら援護きぼんです(;´Д`)
ここにソースがのってるよん。
なんで創刊号を?どの記事が読みたいの?
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGTForm1 = class(TForm)
〜
private
{ Private 宣言 }
arry:array of double;
public
{ Public 宣言 }
end;
〜
で適当に
setlength(arry,30000);
としたとして
フォームを閉じる時には、arryは勝手に開放されるのですか?
arry:=nil; とかしないとダメなのですか?
0579デフォルトの名無しさん
NGNG(指定した物だけ。)
0580デフォルトの名無しさん
NGNGマニュアルに解放しなければならない、とは何処にも書かれてないので放ってもよいとおもうが、
明示的に解放するなら、不要になった時点で(OnDestroy等)で、SetLenght(arry, 0, 0)とするべし。
arry := nilとやってもエラーになる。
なお、フォームを閉じる≠フォームを解放するではありませぬ。
フォームを閉じると、暗黙的にフォームが解放されているのれす。
そこを勘違いしていると、要らぬトラブルを起こす罠(特にMDI子フォームとか)
>>579
できません。自分で書くしかない。
0581デフォルトの名無しさん
NGNG動的配列は、string型と同様に参照カウントで管理されている。
したがって、他の変数に代入してなければ、フォーム解放時に一緒に解放される。
0582デフォルトの名無しさん
NGNG動的配列関連で、以前から疑問に思っていたことをついでに聞くんですけど、
UniqueStringの動的配列版ってないのですか?
0583デフォルトの名無しさん
NGNGVCLで用が足りちゃうから需要がないのかな?
VB用なら腐るほどあるんだけど。
ttp://halbow.cool.ne.jp/Chap18.html
0584デフォルトの名無しさん
NGNG後は読み替えるだけでしょう。
0585581
NGNGprocedure UniqueArray(var a:array);
begin
a:=Copy(a, 0, MaxInt);
end;
こんな感じでどうかね。
copy関数は新しい配列を生成するので、参照カウントは1になるはず。
0586デフォルトの名無しさん
NGNGLabel1.ZOrder 0
を実行するとLabel1が前面に表示されますが、Delphiではどうすればいいのでしょうか?
メソッドが見つかりません・・・
0587デフォルトの名無しさん
NGNGProjectファイルとunitファイルの違いもよく分からない者ですが
まず新規作成でアプリを選択するとフォームとユニットが作られ、
さらに新規作成でふたつめのフォームを作って
それぞれ名前をつけて保存し、最後にプロジェクトを保存したのですが
次にやるときにプロジェクトを開くとユニット1しか表示されません。
さらにそれを実行するとユニット1のフォームしか表示されないのですが
複数のユニットがある場合はいちいち全部開いていかないといけないのでしょうか?
また、実行時にフォーム2を表示させるにはどうしたらいいでしょうか?
0588デフォルトの名無しさん
NGNGLabel1.BringToFront
>>587
フォーム2のVisibleプロパティをTrueにすれば、実行時に表示されます。
あと蛇足かもしれませんが、プロジェクトマネージャを表示させておくと
ユニットの表示が楽になると思います、
0589デフォルトの名無しさん
NGNGForm2のプロパティのVisibleをTrueに、Form1はそのままにして
プロジェクトを開いた状態でF9を押してもForm1しか表示されないんですが
ほかに何か原因はありますか?
0590デフォルトの名無しさん
NGNGプロジェクト→オプション→フォーム
で、自動生成されるフォームの方にForm2が入ってますか?
0591デフォルトの名無しさん
NGNGあ、でました〜。これってフォーム追加するたびにこの自動生成のところに
追加していかないとだめなんですかね?
0592デフォルトの名無しさん
NGNGツール→環境オプション→設定→フォームデザイナ→自動生成とする。
でいけると思います。家ではこれがデフォでチェックされてました。
0593586
NGNGできました!
ありがごうございました。
0594532
NGNGDelフサギコ さんレスありがとです。
>>532のやり方でやったのですが
ややこしくなったので挫折しました。。
今のおいらには無理っぽいのでおとなしく
3000円払うことにします。
0595デフォルトの名無しさん
NGNG分かりました。ありがとうございます^^
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG一般的にはHello Worldだな。
0598デフォルトの名無しさん
NGNGbegin
if MessageBox('逝ってヨシ!',mtWarning ,mbYesNo,0)=mrYes then
begin
ShowMessage('オマエモナー');
end;
end;
0599デフォルトの名無しさん
NGNGbegin
Application.Terminate;
end;
0600デフォルトの名無しさん
NGNGbegin
ShowMessage('人知れず600ゲット');
end;
0601デフォルトの名無しさん
NGNGみたいな処理速度の実験結果をVBスレでみたんですが、こんなもんなんですか?
どういう所で差が出るもんなんでしょう?
0602デフォルトの名無しさん
NGNG>delphi=VB=C++
>どういう所で差が出るもんなんでしょう?
それじゃ差が出てねーじゃねーかよ(w
0603デフォルトの名無しさん
NGNG三種類とも遅いと叩かれ慣れているものだしなぁ
何の速さよ?というところに収束していくと思われ
0604デルファイの名無しさん
NGNGこれ?
VBスレの結果ではDelphiが誤差程度に遅かったけど、多分定数の型を取れば誤差程度には向上する筈。
ところで、gotoはいいとして、timeGetTimeを使っているのにtimeBeginPeriodは?(OSがXPなので)
…以前のC#対ネイティブ(Del/C++)対決の時自分が学んだ結論として、
ひとつの関数内で勝負する場合、差は出ない、ってのがあります。
//その上で実行時にCPU別にコードを吐けるC#は速い
Delphiは、変数のレジスタ割りつけが上手、関数呼出しが高速。
C++は、インライン関数が使える、(templateなどで)静的に計算できる部分が多い、その他。
しかし、この小さなコードでは、関数も呼んで無ければ、レジスタ割り当ての上手下手が出るほど変数も無い。
要するに最適化するような項目が無いので、差が出て無いと思われます。
0605デフォルトの名無しさん
NGNG20000 個の素数をエラトステネスのふるいにより算出する時間
がほぼ同じってあったんで。
計算速度はあんまりかわらないってことですよね。
じゃあどういう面で違いがあるんやろ、っておもったんです。
初心者の戯言ですんません。
0606デフォルトの名無しさん
NGNG今回はIP指定で接続してチャットをするものを作ってるのですが
サーバーとクライアント別に作っておりまして
サーバーへクライアントが複数接続している状態で
とあるクライアントのみにメッセージを送るという処理は
できるのでしょうか?
A−−クライアント−−B
C−−−┘ └−−−D
こんな状態の時にA---Cのみ送信したいの様な感じです。
0607デフォルトの名無しさん
NGNGA−−サーバー−−B
C−−−┘└−−−D
0609586
NGNGそれらをひとつのプロジェクトとして保存したのですが次にそれの続きを
つくろうとして「開く」→「目的のプロジェクトファイル」とやると、最初の
ひとつのメインフォームだかなんだかしか表示されず、いちいち全部開いていかないと
だめなんですけど一気に全部開くにはどうすればいいんでしょうか?
0610587
NGNG起動時に自動で表示させるにはどうしたらいいのでしょうか?
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGマクロ作ってみた。
【今開いているプロジェクト中の全てのユニットを開くエキスパート】
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=58
表示->Open All Unitsで実行。
0613Delphi1年生 ◆thBybA46GM
NGNGよくユーザー認証するサイトありますよね?ブラウザのダイアログボックスが出てきてユーザー名とか認証する。
FTPログインとかです。
ブラウザでダイアログを表示したのはいいのですが、どうやってユーザー認証情報をNavigateに渡すのかわかりません。
ですからユーザー認証ページには今移動できない状態です。
ご教授よろしくお願いします。
Delphi6 Personal+up2を使ってます。
0614ta-na-ka
NGNG0615デフォルトの名無しさん
NGNGちばてつや「ハリスの旋風」はマジ最高。買っとけ。
0616デフォルトの名無しさん
NGNGShellListViewで特定の拡張子のファイルのみを
表示させる方法は無いでしょうか?
0617デフォルトの名無しさん
NGNGサイズがどんどん大きくなりますよね。
サイズを小さくするコツってないですか?
VCLを使わないとかじゃなく。
ちょっとしたことでちょっとサイズが小さくなるとか。
0618デフォルトの名無しさん
NGNG無理だと思います…。
それらのコンポーネントはあくまでサンプルだと思ってください。
0619ta-na-ka
NGNG0620デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1009080085/l10
>>619
今ならキャッシュバック5000円!送料無料!!
0622デフォルトの名無しさん
NGNGけど、ソースついているんだから自分で書き換えたら?
0623デフォルトの名無しさん
NGNG以下の命令を実行したいのですけど、
InvalidateRect(Form1.Handle, @Rect(100, 100, 200, 200), True);
この命令が「変数が必要です」というコンパイルエラーになってしまって
実行できません。
どうすればいいのでしょうか?
0624デフォルトの名無しさん
NGNG設定すれば?
一行に押し込む。って癖は早めに取ったほうが後々よいかと。
0626デフォルトの名無しさん
NGNGいや、ケースバイケース。
Rect って Classes.pas で定義されている関数だから、
@Rect ってやると、関数のポインタをとってきちゃうのよ。
0627デフォルトの名無しさん
NGNGその関数をほかのユニットから呼び出そうとしてるんですが、
うまくいきません。
たとえば、Unit1からUnit2の関数を呼び出したいときはどうすればいいのでしょう?
0628組込もしまっせ
NGNGDemos\RichEdit を開いてみて
そこの Reinit.pas のReinitializeForms手続き を Remain.pasは使ってる。
uses と ReinitializeForms の位置とかよくみて、それを真似てみたら?
0629デフォルトの名無しさん
NGNGfunction 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は入れ替わっているとしか考えられないような気がするのですが・・・。
どなたか、よろしくお願いします。
0631デフォルトの名無しさん
NGNGありがとん。参考になりました。
ついでにもうひとつ。
Remainのuses節にReinitって書いてないような気がするんだけど、
何で関数呼び出せるの?
0633デフォルトの名無しさん
NGNGすまんかった。もう1箇所に気づかなかった。
ってことはもう1箇所のuses節の位置がポイントなのかな。
でも、今テストプログラム書いてみたら、うまくいかない。
なんでだろう?
0634デフォルトの名無しさん
NGNG下記のコードで、「互換性がない型」のコンパイルエラーでハネられます。
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慌てたので、書き間違えますた。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>Charだと、「キャストが正しくない」エラーとなりました。
分からないからといって手当たり次第に体当たりかますのは、愚か者のやること。
何が間違っているのか、理解しなきゃ。
代案。
CharCode := byte(strSource[i]);
byte へのキャストは適当。最初から LongInt にキャストしても良い。
0637デフォルトの名無しさん
NGNGMidStr とかは VB 互換関数だから、意味を考えて別の表現を使ったほうが
物事が簡単になるぞよ。
0638デフォルトの名無しさん
NGNGヴァカは一生VBだけやってろ。
0639デフォルトの名無しさん
NGNGbegin
Result := Copy(WideString(AText), AStart, ACount);
end;
0640デフォルトの名無しさん
NGNGなんの解説/解決/説明にもなっていないような...
0641デフォルトの名無しさん
NGNG想像だけど、「MidStrの実装はこのようになっているのだから、適切な使い方を考えれ」
という意味かと思われ。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNG改行でスクロールバーが出るとき、上寄せ・下寄せを変更する項目は何でしょうか?
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGVCL
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGだからって典型的なつられ方寸名よ。
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650組込もしまっせ
NGNGインターフェース部 でヘルプをひいてみたら?
>>643
設問がよくわかりませんが、
そういう細かな操作をする場合は Windows エディット コントロール について調べるとよいです
Delphiを購入してるなら、CDROMにある日本語APIヘルプから エディット コントロールの概要が一番良いテキストです
もしかして、WM_VSCROLL かな?
0651何度もホントスマソ
NGNGヘルプ見たらUnit2ではエラー起きなくなった。
だけど、Unit1では相変わらずエラー。
Unit2で
procedure TForm1.MyProc;
ってなっているのをUnit1で
MyProc;
って呼び出すことは出来ないの?
0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNGつまんない。も少しヒネろうよ。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNGつまんない。
0658デフォルトの名無しさん
NGNG非常用縄ばしごの説明書。
火事が起こったときそこに書いてある手順が実行される。
0659デフォルトの名無しさん
NGNG例えば、
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デフォルトの名無しさん
NGNGprocedure 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で、どう動かないって?
エラーが出てるのにエラーメッセージ書かないのは間抜けです。
0662デフォルトの名無しさん
NGNGもういいです。
さようなら。
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNG(1) マザーボードは装着されてますか?筐体を開けて確認してみてください。
(2) コンセントは抜けてませんか?
(3) 電源は入ってますか?
0665デフォルトの名無しさん
NGNG「鬼モナーの*スパルタ式*Delphi質問スレ」に変えよう
> ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
> ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
> ( ) .| Delモナーは時に私であり、時には別の人。
> | | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
> (__)_) \_________________________
もしくは>>1も読めない馬鹿な回答者の排除を
0666デフォルトの名無しさん
NGNGVBユーザーは、情報の出し惜しみもしないし。
0667組込もしまっせ
NGNGprocedure TForm1.MyProc; はメソッドなので、オブジェクトインスタンスを指定してやる必要があります
単なる関数として扱えるようなら
procedure MyProc;
とした方がいいでしょう
>>660
セミコロンを忘れていませんか?
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNGつまんない
☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < オチまだ〜?
\_/⊂ ⊂_ ) \______
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| |/
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNGサンクス。
まだなんか動かないけど、これ以上やってると
迷惑そうなんで、自分で色々調べてみます。
でも、質問する前にも調べたからこれ以上調べようがないけど・・・
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNGLabel1.Caption := StrToInt(Label1.Caption) + 1;
こんなかんじでやってみましたが互換が無いそうです
a := StrToInt(Label1.Caption):;
a := a+1;
Label1.Caption := IntToStr(a);
変数の型にきをつけれ
0677デフォルトの名無しさん
NGNGa := Label1.Caption:;
a := a+1;
Label1.Caption := a;
って書けないかな
0678673,675
NGNG最後にまたStrに戻してあげないとCaptionに入らないわけですか
そして、できました
ありがとうございました
0679デフォルトの名無しさん
NGNGLabel1.Caption := IntToStr(StrToInt(Label1.Caption) + 1);
ニダ!
0680デフォルトの名無しさん
NGNGそれもDelphiみたいに開発環境がととのってるのでしょうか?
0681デフォルトの名無しさん
NGNGネタなのか、マジ質問なのか、判断に迷うが・・・。
フリーなのは、BCC(Borland C++ Compiler)。
これには、IDEはなく、コマンドライン以外のUIはない。
BCB(Borland C++ Builder)にはIDEがありますが、こちらは
フリーではありません。価格体系はDelphiとおなじ。
(BCBにパーソナルエディションってあったっけ??)
0682デフォルトの名無しさん
NGNGマジ質です
0683Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧
ミ,,゚Д゚ミつ ヲイッ
//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デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGonCreateにQuery.DatabaseName := ExtractFilePath(Application.Exename)
とかして、データベースファイルの位置を設定してあげたら
うまく動いたのですが、他のパソコンにExeファイルとdbfファイルをもってって動かすと
'Borland Database Engine の初期化に失敗しました'
と出てしまうのですが、他のパソコンで動かすにはどうすればよいのでしょうか?
0686デフォルトの名無しさん
NGNGVCLの基幹クラスであるTObjectのヘルプを読みませう
(TObjectではデストラクタが
destructor Destroy; virtual;
という仮想メソッドで宣言されているから云々)
0687デフォルトの名無しさん
NGNG>エイリアスとかよく解らないので
解るまで頑張る。
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNGエクスプローラーで、フォルダを開いた状態にしていると(空のフォルダ)、
RmDirでフォルダ削除に失敗しますよね。フォルダが開いた状態かどう
かを調べるにはどうすればいいでしょうか?
ファイルなら、FileOpenでfmOpenReadWriteでハンドルを取れない時、とい
ので判断できますが・・・。
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNGどうも。
RemoveDirectoryですか。フォルダのアクセスモードを一発で調べるAPI
か何かあるのかなあと思ってたけど、削除できるかできないかで判断する
しかないのですね。
0695デフォルトの名無しさん
NGNGタイマーでは計りきれないほど、短い間隔で動き止められたらだめじゃないですか
0696デフォルトの名無しさん
NGNGマウスが止まっているとはどういうことか。
0697デフォルトの名無しさん
NGNGワロタヨ
0698デフォルトの名無しさん
NGNG「ちょっと待ってね♥」とか
出しておく(藁
0699デフォルトの名無しさん
NGNG動いているように見えるのは残像がもたらす錯覚だ。
0700デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1037146781/61
に答えられるようになれば、自然に理解できてると思うよ。
0701デフォルトの名無しさん
NGNG完成バイナリはそのユニットの中身全部を含むのでしょうか?
例えばmathユニットのMAX関数のみ使った場合、
mathユニット全部含まれてしまうのでしょうか?
0702デフォルトの名無しさん
NGNG俺も>>699と同じデジタル思考の人間ですが、
その答えは、マウスを動かす手が動いているかどうかだと思います
たとえ、残像でマウスが動いているように見えるだけでも手は動いてるんです
俺は、その手が動いてるかどうかを判定したいんです
0703629
NGNG返事遅くなってすみません。
>「初期化しないローカル変数は何が入っているか不定」
・・・と言うことは、Result BもF2の戻り値で、
F1からF2が呼び出されたときに、
F2にF1が勝手に代入されてしまった、ということでしょうか?
0704Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ >>701さん
ミ,,゚Д゚彡 そういうことはないそうです
ミつ�S(ミ スマートリンクってって
Max関数のみの分がバイナリになるらしい
でしが。実際は
VCLではユニット内にinitializationが
結構使われているらしく、
これに書いた文はusesするだけで
起動時に実行されるため、
usesするだけで結構な量のコードが
リンクされて、気が付かずusesしてると
Exeのサイズはびっくりな大きさになります。
0706デフォルトの名無しさん
NGNGそれは、どういうことですか?!手は動かない・・?
0707デフォルトの名無しさん
NGNGForm1上に複数のTEdit(例えばEdit1, Edit2, Edit3)が存在するとして、
Edit1〜3と入力をしていき、その値である処理をしたいとします。
Edit1〜3の入力が完了したら、TButtonの処理により必要な処理がされ、入力データはクリアさせます。
このとき、入力カーソル(点滅する「�T」のこと)をEdit1に再度移したいのですが、
TButtonの中で指定できる項目や、または他の方法で実現できる処理がありますでしょうか?
0708デフォルトの名無しさん
NGNG0709知ったかぶり
NGNG0710デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGttp://www.fastwave.gr.jp/diarysrv/nekomi/200209.html
なんか中みたらわけのわからない煽りが入ってるんです
しかも、内容が関係ないんです
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNG0715デフォルトの名無しさん
NGNGhttp://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=
限定しすぎじゃない?
0717デフォルトの名無しさん
NGNGOnMouseMove?調べてみるかな
>>715
10こくらいみたけど、マウス監視の話からずれたものが多かった
Delphiで〜を監視するには、みたいな
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGウィンドウの外で動かしてる部分は駄目なようですね・・・
デスクトップ全体を動いてるマウスを監視したいんです
最強のプログラマーの方お願いします
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNGピピピピピピピとか
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNGデルファイの情報少なすぎる!!
しかも、GetMousePosをヘルプで検索しても出てこない!
どこまで情報を少なくしているんだボーランドは
0724デフォルトの名無しさん
NGNGAPIだとGetCursorPosですし。
そもそも何がしたい?
手(マウス)が動いているかどうかなら、カメラを付けて画像処理だ。
マウス「カーソル」ならAPIでもOnMouseMoveでもOK。
0725デフォルトの名無しさん
NGNGひとつひとつ吟味してからにしろ。
荒らしと変わらなくなるぞ。
タイマーだっつーの。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGこんなに情報が乏しいなんて信じられません・・・
みなさんは、どうやって最強の座に上り詰めたんですか?
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGトリビアの泉を毎週みる
0731デフォルトの名無しさん
NGNGちゃんと探せばいくらでも情報があるんだけど
「GetMousePos」みたいな関数名を自分で思い込んでしまうと
思ったような情報は引き出せないよね
検索方法をいろいろ工夫してみるといい結果が得られると思うよ
もっとも、ヘルプの上手な調べ方を覚えるのが先だけど
0732デフォルトの名無しさん
NGNGGetCursorPosでインターバル1でマウスの動作を判定するようにしました
お父さんお母さん、ボキはなんとかデルファイを続けられそうです
0733デフォルトの名無しさん
NGNGまぁ、Del厨の頭じゃCPU食う方法しか思いつかないでしょうな(藁
0734
NGNGテポヽ(・д・)人(゚∀゚)ノドン ドン!
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNGIndy
0737デフォルトの名無しさん
NGNGタイマー使って前のポインタの座標と現在のポインタの座標が違ってたら動いてるってことdふぁ路ヴァワカ
0738デフォルトの名無しさん
NGNGありがとうございます。早速インストールして使
…Delphi歴1週間の俺ごときが手を出すべきではなかった……
要するに、お前はまだCaptionの値を1ずつ増やしたりしてろってことですね。
0739デフォルトの名無しさん
NGNG何が問題だったんだろう?
英語が読めない?インストールに失敗?使い方が分からない?
匿名掲示板なんだから、グダグダ言わずに声を出す!
0740デフォルトの名無しさん
NGNGftpで接続してファイルをgetするくらいの動作だったら
適当にそれらしい関数呼べばできるべ
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGffftpのソースを使わせてもらってカコイイのができればそれに越したことはない
0743デフォルトの名無しさん
NGNGTListを継承した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デフォルトの名無しさん
NGNGdestructor 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デフォルトの名無しさん
NGNGFormList := 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デフォルトの名無しさん
NGNG0748組込もしまっせ
NGNGDispose は Newした FormInfoしか解放しません
Items[i].Formを解放してないと思いますよ。
ただ、このリストで解放してよいかどうかわかりません。
コンポーネントの場合親が解放すべきです
FormList.FormOpen で 親を誰にしていますか?
親が FormListであるなら、FormListが解放すべきです
0749デフォルトの名無しさん
NGNG返信ありがとうございます
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素直な感想言うと、メタメタです。・・・・気に障ったらゴメン。
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返信ありがとうございます
率直な感想、もっと欲しいぐらいありがたいです(^_^;
返信の内容、何となく理解できたのですが
3番のFormList.Componentsでインスタンスを管理する
というところが今ひとつ理解できませんでした
VCLのソースでも何でもよいので
インスタンスの管理の参考になるものは
何か無いものでしょうか?
0752組込もしまっせ
NGNGフォームの 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 にします
0753749
NGNG返信ありがとうございます
TComponentList ...早速ヘルプで見てみました
、、なんだか便利なクラスのような気がする・・・
ぐらいしかわかりませんでした
これからじっくり勉強してみようと思います
FormInfo.FormOpenの記述、メモリの管理は
ぼんやりわかりかけてきたのですが
TForminfoをRecordからTComponentListに変更すると
FormList.Addの部分>>744はどうなるのでしょう?
FormListの目的は各目的毎に作成しているFormを
アプリのメインフォームのOnCreate時に追加(FormList.Addを使って)
その後、Open,Closeは設定したFormNoのFormName起動したいと思っています
物わかりが悪くて、すみません
0754組込もしまっせ
NGNGprocedure 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組込もしまっせ
NGNGFormNo は必要かな?
識別出来る番号ならIndex でいいんじゃないの?
FormNameも必要かな?
クラスを渡してるんだから FormNameはClassName で代用すべきじゃないの?
となると、 TFormList. は TClassListでいいんじゃないの?
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG俺の探し方が悪いんだか知らんが、基礎的なことが書いてある
ホームページしか見つけられなかったんだが・・・
なんかいい勉強法教えてくれよ。
0758749
NGNGFormNo, FormNameをForm毎に指定する意味は
Open(FormName);等で指定するためです
(普通はForm.Captionを入れようと思っています)
FormNoはIndexではなくそのFormの固有の番号を想定しています
また、OpenFormは二つ以上のインスタンス作成は許さず
もし既にインスタンスが作成済の場合はそのFormを一番手前に
もってくるような形にしようとしています
もしかしたら端から見た場合、おかしな事をしているのかも・・・
すみません、ごちゃごちゃ書いてしまって・・・
0760デフォルトの名無しさん
NGNGまず何を作るかを決めて、
簡単そうな機能から、ヘルプとメーリングリストの過去ログ、Googleで調べながら、実装していく。
最初はヘルプの内容もよく理解出来なかったりして苦労するけど、
だんだん解ってくる。
0761デフォルトの名無しさん
NGNGしたら、自分のウィンドウの外は正常にマウスを捕まえられたが、
自分のウィンドウ内がうまくいかなかった記憶がある。
なんでだったかなぁ。
とにかくそのときは見えないウィンドウ作って誤魔化したと思う。
0762デフォルトの名無しさん
NGNGなるほろ。参考になりました。
0763組込もしまっせ
NGNG2つ以上のインスタンス作成を許さなく、かつApplicationを親にするのなら
1、FormNoは自分のフォームのベースメンバーにする
2、FormNameはフォーム.Name を使う
procedure MyFormOpen(TForms: TTestForm; No: Word; Name: String); という感じの手続きを作り
既にフォームがあるかどうかは
FindComponent で 検索出来ますし、
if Application.Components[i] as TForms then ・・・みたいに検索しても早いですから
既に作成されていれば、それを、でなければ 新規作成
という方法が一番スマートで簡単かと思います。
0764749
NGNG返信ありがとうございます
早速返信していただいた内容で
試してみたいと思います
(また困った事があったら書き込んでしまうかも?)
長い間、本当にありがとうございました
0765組込もしまっせ
NGNGfunction 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これの作成場所を変えれる?
0767デフォルトの名無しさん
NGNG『返信ありがとうございます』
が流行ってるのですか?
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGfunction get2bannme(tree :TTreeview) :TTreeItem;
begin
Result := tree.Items[1];
end;
0770デフォルトの名無しさん
NGNG再描画を処理するのはどうすればいいのでしょうか?
スクロールボックスコンポーネントには、ONPaintイベントが無いのでで
きないのです。
どうしても実現したいです。
0771デフォルトの名無しさん
NGNGひとつ上の兄弟ノードが、子ノードを持っていた場合だめじゃない?
0772デフォルトの名無しさん
NGNGツリー構造じゃないの?
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG返信っつーとまるでメールみたいだニャ
「返信!」
「ライダー返信!」
「返信V3!」
0776デフォルトの名無しさん
NGNG間違い。なら納得もするが。
0777デフォルトの名無しさん
NGNGXP、入れて良かったです。
0778デフォルトの名無しさん
NGNGとても不便に感じます。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGこれが7まで続くとは某国も頑張ってきたね
0782デフォルトの名無しさん
NGNG確かに日本語の情報は少ない。
この業界、海の向こうで流行ると無批判で使う人が多いからねぇ
0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNGPaintBoxでも貼り付けてみたらどうだろう。
でなければ、TScrollBoxからコンポーネントを派生させて
WM_PAINTのメッセージハンドラを作るとか。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG0787デブォルトの名無しさん
NGNGツールバーのカスタマイズを有効にして、ツールバーをダブルクリックすると、設定ウインドウが出るじゃないですか。
それをアプリケーション側から出すにはどうすればいいのですかね?
0788デフォルトの名無しさん
NGNGbutton1を押すとエラーが出てうまくできません。
簡単なことなのかもしれませんが、どこが悪いのかわからないので
どなたかご教授ねがえませんでしょうか?
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デフォルトの名無しさん
NGNGDel7を起動させるとファイルとか編集とかの横に(F)(E)とか出ません。
ALTを押すと出ます。
おれだけ?
0790デフォルトの名無しさん
NGNGエラーが出ますと良いながらエラーメッセージを書かない。
エラーメッセージを読んでないってこった。それで解決出来る訳がない。
0791770
NGNGWndProcでやればできたのですが、
例えば、
procedure MouseEnter(var Msg: TMessage); message cm_mouseEnter;
みたいにすると、マウスカーソルがコンポーネント上に来た時に呼ばれますが、
onPaintの時はどう書けばいいのでしょうか?
messageのあとにcm_OnPaintと記述しても、未定義の識別子となってしまいます。
0792デフォルトの名無しさん
NGNGOnmouseEnterの時はOn省いたくせに・・・
0793デフォルトの名無しさん
NGNGプログラムみればストリームエラーということぐらい簡単にわかると思うが。
>>788
WriteBufferの第1引数は、実体を与えればよい。
つまり、
WriteBuffer(i, SizeOf(i));
0794770
NGNGprocedure Paint(var Msg: TMessage); message cm_Paint;
でもエラーになるんです。
OnPaintの時はどうすればいいのでしょうかね。
0795デフォルトの名無しさん
NGNG初心者潰しか。おめでてぇな。
0796デブォルトの名無しさん
NGNG誰も返信してくれてない…
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800770
NGNG実験サンプルですが、
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デフォルトの名無しさん
NGNGcase i of
0:Label1.Caption:='0';
1:Label1.Caption:='1';
2:Label1.Caption:='2';
ってすると最初は必ず0,0,2,0って順番で出るんだけど
もっとランダムにできないの?
0802デフォルトの名無しさん
NGNGヘルプに書いてあるよ。
0803デフォルトの名無しさん
NGNGWM_PAINT受け取った時にはBeginPaintとEndPaint呼ばなくちゃいけないから…
っつーか、ちゃんと描画しようと思ったらBeginPaintとEndPaintの間で
描画処理を呼ぶような仕組みにしないといけないし。
「Delphi owner draw scrollbox」あたりでぐぐるとスクロールボックスの
サンプルが出てくるから、それ参考にしてみたら。
0804デフォルトの名無しさん
NGNGRandomは、プログラムを開始して実行しても、毎回同じ順序で値を
返してきます。
これをランダムにするにはRandomizeを使います。
Randomを実行する前に一度だけ実行するだけで有効になりますので
(何個も記述しても同じです)、FormのOnCreateイベントに記述すれば良いでしょう。
0805デフォルトの名無しさん
NGNGできました!ありがとうございます
0807801
NGNGFi: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デフォルトの名無しさん
NGNGTHintのメソッド定義中ではForm1が必要
0809デフォルトの名無しさん
NGNG例えば、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ちゃんとスコープ当たりから叩き込んでやるのが親心だと思うけど。
0812801
NGNGできました!
0813801
NGNG0814デフォルトの名無しさん
NGNGhttp://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あるコンポーネントを使ってコンパイルすると
「 'DesignIntf.dcu' が見つかりません」とエラーが返されます。
いろいろ調べてみたのですが、今まで「DsgnIntf」であったものが
Delphi6になってDesignIntfとDesignEditorsになったらしいのです。
つーことはDesignIntfのファイルは存在するはずなので検索してみたところ
何故かDocフォルダの中にDesignIntf.intなるものが見つかりました。
で、ヤケクソになってこのファイル名をDesignIntf.dcuとかDesignIntf.pasなどとして
Libの中に放り込んだら、今度はDesignIntfの中でusesされてる
「DesignMenus」が見つからないと。
ListViewの使い方程度に四苦八苦してる漏れにはもう限界です。
誰かDesignIntfだかDesignMenusだかのありかを教えて頂けませんか?
0816デフォルトの名無しさん
NGNGヘルプをくまなく読めば書いてあるよ。
0817デフォルトの名無しさん
NGNG「DesignIntf」でテキスト検索したんですが、
「del6vcl.hlp」というヘルプにしか書かれていませんでした。
また、この内容も「DesignIntf」の使い方のみでした。
DesignMenusについては書かれてもないし…
ひょっとして知らん間に消したのか……?
再インストールしたら直らんかなぁ。
0818デフォルトの名無しさん
NGNGのようにtestファイルからサンプル項目内の情報を重複なしで取得、というのは
TTableを使った場合どのようにすれば同様にできますか?
0819デフォルトの名無しさん
NGNGちょい設計が悪いコンポーネントかも。
プロジェクト→オプション→パッケージ→実行時パッケージを使うにチェックして、designideを追加。
0820デフォルトの名無しさん
NGNGうぉっ!いけた!
すげぇです。感動です。あなたが神に見えます。
マジでありがとうございました。
0821マルチはカス
NGNGヤツがいる。
マルチはカスのやることだと思い知れ。
0822デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNGEdit1にはなぜか空白が代入されてしまいます。
どうすれば文字列が代入されるのか教えてください。お願いします。
自分では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>Length(s)
= 0
そのおかげで、幸か不幸か例外が出ずに動いている。
Setlengthするかcharの配列使った方がいいよ。
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG一緒に笑う。
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGSchemeに乗り換えれ。
すばらしい世界が待ってるぞ!
0832デフォルトの名無しさん
NGNGttp://www.delphipages.com/tips/thread.cfm?ID=148
ここに載っている方法で、RichEditのテキストのURLを青字で表示して、
クリックしたら開けるようになったんですが、
RichEditがあるフォーム(単一です)のFormStyleをfsStayOnTopにして、
常に前面に表示するようにすると、機能しなくなってしまいます。
その後、前面表示をやめても戻りません。
URLをクリックして開けるようにする方法を教えてください。
0833デブォルトの名無しさん
NGNGTTSに乗り換えれ。
すばらしく笑われるぞ!
0834デフォルトの名無しさん
NGNG自動的にクリックさせるにはどうしたらいいんですか?
0835デフォルトの名無しさん
NGNGTTSはそこらの半端な人間には使いこなせません。
0836デフォルトの名無しさん
NGNGhttp://www5b.biglobe.ne.jp/~ryo-kyo/osu.html
====================================
0837デフォルトの名無しさん
NGNGひまわりに(ry
0838デフォルトの名無しさん
NGNGINPUTオブジェクトのClick()メソッドあたりを使う。
0839デフォルトの名無しさん
NGNGもうちょっと具体的に教えてください。。。
0840デフォルトの名無しさん
NGNG何故か表示されてません。コラムをクリックすると元に戻るのですが
ほかに良い方法はないでしょうか?
0841デフォルトの名無しさん
NGNGvar doc: OleVariant;
doc := WebBrowser1.DefaultInterface.Document;
とかすればdocにdocumentオブジェクトが入るので、
あとはDHTMLのリファレンスとかを参考にやります。
例えばid='okButton'のボタンを押したければ、
doc.all('okButton').Click();
0842デフォルトの名無しさん
NGNGとはいっても講義がやさしいのであって、モナーが優しいわけではない。
モナー本人は辛辣。
0843デフォルトの名無しさん
NGNG改行されずにすべて一行で表示されてしまいます。
複数行表示にするにはどうすればいいのでしょうか?
0844デフォルトの名無しさん
NGNGあるなら、どうやってやるんでしょうか。
0845デフォルトの名無しさん
NGNGまぁ、結局コンパイラでインライン展開されたりしたら大して変わらなさそうだけどね。
0846デルファイの名無しさん
NGNGIFDEF関連だけありますよ。
IFOPTでコンパイラオプションで分岐できるし、IFでconstの値も使えるし。
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGま、どっちでもいいけど。
0850デフォルトの名無しさん
NGNG0851デフォルトの名無しさん
NGNG>832教えてください
0852デフォルトの名無しさん
NGNGる事はできるでしょうか?
できるとすればどうすればいいのでしょうか?
0853デフォルトの名無しさん
NGNGSelStartじゃ駄目?
0854デフォルトの名無しさん
NGNGう〜ん
直接、メモの左上から(50、100)みたいに座標を取得できたらいいのですけど。
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNGx := LOWORD(xy);
y := HIWORD(xy);
ただ、文末にキャレットがあるとおかしくなるね。
0857デフォルトの名無しさん
NGNG0858854
NGNGGetCaretPosはProtectedなので呼び出せないのですが、どうすればいいのでしょうか?
0859デフォルトの名無しさん
NGNG0860815
NGNG「プロジェクト→オプション→パッケージ→実行時パッケージを使うにチェックして、designideを追加。」
でコンパイルは出来るのですが、これを実行時パッケージを使わずにコンパイルすることは
出来ないのでしょうか?設計時パッケージの方にdesignide.dcpを追加してコンパイルしてみても
「DesignIntf.pas(17): ファイル'DesignMenus.dcu' が見つかりません」と出てコンパイルできません。
また、「実行時パッケージを使う」でコンパイルした場合、実行ファイルの他に
どういったファイルが必要になるのでしょうか?
0861デフォルトの名無しさん
NGNG質問内容が「やさしい」のかと思ってたんだけど?
0862デフォルトの名無しさん
NGNGRichEditに再度テキストを流しこむか(再設定のコマンドあるかも知れないけど)、
FormStyleをいじるのではなく
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0,0,0,0,
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
で前面にもってくるのが素直な反応でよろしいかなと。
0863デフォルトの名無しさん
NGNGそれはないだろ(藁
0864デフォルトの名無しさん
NGNGありがとうございます。
帰ってから試してみます。
0865デルファイの名無しさん
NGNG>これを実行時パッケージを使わずにコンパイルすることは出来ないのでしょうか?
残念ながら、コンポーネントがdesignideの機能を要求する限り無理です。
(というか、本来設計時のみのdesignideを要求するコンポーネントが腐ってる)
>また、「実行時パッケージを使う」でコンパイルした場合、実行ファイルの他に
*.bpl。具体的にどれとどれかは、該当オプションのすぐ下にvcl;rtl;…って並んでる。
以下、完璧余談ながら、
VC++は実行時パッケージ相当のものがOSにはいってんですよねー卑怯ですよねー
0866デフォルトの名無しさん
NGNGTRichEditのメソッドGetCaretPos()じゃなくて、WindowsAPIのGetCaretPos()を呼べ。
定義は"Windows.pas"の中。
0867デフォルトの名無しさん
NGNGそのidとは何ですか?
HTMLに記述されているinputのnameを指定しても出来ませんでした。
0868832
NGNG教えていただいた方法で、前面に表示しても大丈夫になりました。
また、
Form1.BorderStyle := bsNone;
とした場合も同じ現象になってしまうので、これも回避したいのですが、
SetWindowLong()で、変えてみたのですが、
Form1だけ、いちおうスタイルが変わるようなのですが、
その上に配置してある、メニューとRichEditの位置、サイズがそのままなのと、
再描画?が行われず、機能はしないものの、キャプションバーが見た目上残っています。
メニューを操作すると、メニューの位置は、フォームの一番上(元々キャプションバーだったところ)に
移動するようなのですが、元々のメニューの表示が残ってしまいました。
同じような回避方法を教えていただけないでしょうか。
0869デフォルトの名無しさん
NGNG具体的には、LAN接続の設定(IPアドレス、
サブネットマスク、デフォルトゲートウェイ)を切り
替えたいのですが、いじろうと思っているレジス
トリの ネットワークアダプタID(キーの{}で囲
まれたところ)が複数ある場合があるわけです。
(昔のNICの残骸が残ってる?)
自分のPCの場合なら、今使ってるNIC名が
わかっているので、何とかなるわけですが、
人様に使っていただくツールの場合、NICが
わからないので、{アダプタID}が複数ある場
合はどこをいじればよいかわからないのです。
何かいい判別方法ないでしょうか?
説明が下手で済みませんがよろしくお願いします。
0870デフォルトの名無しさん
NGNGコマンドラインツールであったような気もするけど
0871デフォルトの名無しさん
NGNG>どこをいじれば
該当箇所。としか言いようがないけれど。
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGhttp://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=628&lngWId=7
Delで VBのWMIを使う、、、らしい。 参考まで。
0874デフォルトの名無しさん
NGNG特定する事が可能な情報が入っていますか?
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNGして計算式を書き込んでいって、結果をエクセルに出しています。
1つのテキストデータの計算結果を出すのに30秒から1分くらいかかります
4000のテキストファイルのデータを読み込むとすると膨大な時間がかかります
Delphiを使って計算をさせようと思うのですが、時間にしてどの程度かかるもの
なのか分かりません。VBAとDelphiの両方で同じような計算式を使うとどのくらいの
違いがありますか?
0877デフォルトの名無しさん
NGNGCSVのデータをDelphi側で読んで加工して結果だけExeclに書き出せばよいのなら多少はマシになるかな
0878デルファイの名無しさん
NGNG(ただしVBでもネイティブコンパイルして手動で関数展開して、ってやればCやDelと遜色無い)、
読んだ感じファイル入出力やオートメーションが大部分を占めているように思えますので
それだとディスクアクセス速度やExcel側の速度のほうに影響されて、何でやっても差は出ないかも。
Excel呼ばずに全部自前でやるというなら別ですけどね。
0879デフォルトの名無しさん
NGNG解答ありがとうございます。
rtl60.bplやvcl60.bplのように必要そうなファイルの容量が
大きすぎるので、結局このコンポーネントを使うのは諦めました。
はぁ、また1から作り直しか……
0880デフォルトの名無しさん
NGNGどうすれば使えるようになりますか?
0881デフォルトの名無しさん
NGNGなんてコンポーネント?差し支えなければ教えて。
0882デフォルトの名無しさん
NGNG0883棒スレより
NGNGこれから派生したらしいTEditorEXというコンポーネントがあるんですが、
こちらはどうやらフリーなようなんですよね。
これって・・・みんなこっちの方使っちゃいません?
それともなんか本家にはない欠点見たいなものがあるんでしょうか?
0884デフォルトの名無しさん
NGNG>TEditorEx では、本田勝彦氏の2つのコンポーネントとbmonkey氏の
>コンポーネントが必要です。
>・・・
>TEditorExはフリーウェアですが、TEditorはシェアウェアです。
>使用するにあたって本田勝彦氏への送金をお願いします。
0885デフォルトの名無しさん
NGNGチッ
なんか意味不明だね。勘違いして「完全なフリー」と思っちゃった人は
大変だ。いるかどうか知らんけど。
0887デフォルトの名無しさん
NGNG他のアプリケーションに張り付いたような感じにしたいのです
0888デフォルトの名無しさん
NGNGMDIにするかそいつを親として登録するか。
0889デフォルトの名無しさん
NGNGなんかGPLなプログラムには使っちゃいけないらしくて、
あまり自由じゃなさそうです。
他に、PNGファイルを扱うモジュールで
GPLまたはBSDライセンスで、Delphiから使えて
使いやすいものはありませんか?
0890デフォルトの名無しさん
NGNGprocedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent:=FindWindow('IEFrame', nil);
end;
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGほらよ
http://www.phoenix-c.or.jp/~taki/library/delphi/GLDPNG3.html#License
糞スレの削除依頼出しとけよ
0893デフォルトの名無しさん
NGNGありがとうございます。
こんなんで、なんか動きました。あってますか?
SetWindowPos(TargetWnd,Form1.Handle,0,0,0,0,
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
0894889
NGNG0895893
NGNGうまくいったと思ったら、だめだった...
全然無関係なアプリをアクティブにしてから、
張り付いたアプリをアクティブにしようとしたときに、うまくいかないようです
他の部分が悪さしてる気もするので、今、見ていますが、
何か間違ってるようでしたら教えていただけるようお願いします。
0896893
NGNG正解お願いしますです
0897デフォルトの名無しさん
NGNGGPLなCのコード拾ってきてBCCでビルドしてリンクしたら。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGすいません、昨晩見落としていました。
帰宅してから試したいと思います。
このCreateParams()というのは、見たところFormの生成時にでも、
処理されるのかと思うのですが、Form作成時には、
ターゲットのウィンドウが存在しないような場合には問題ありますか?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGvar d:Int64;
の時、dがInteger(32bit)の範囲であるかどうかのチェックをどうすればよいでしょう?
色々試して
if ( d>=int64(-2147483647-1))
and ( d<=int64(2147483647)) then ・・・処理・・・;
と書けばD5では巧く動くようですが・・・ int64の定数って書けないんですよね?
0902デフォルトの名無しさん
NGNGif (d >= Low(Integer)) and (d <= High(Integer)) then
if d = Integer(d) then
>int64の定数って書けないんですよね?
const c = Int64(0);
const c: Int64 = 0;
0903デフォルトの名無しさん
NGNGありがとうございました。
0904デフォルトの名無しさん
NGNGこなきゃいいじゃねーか
なんでここでえらそうにしてんだ?ばかか
0905デフォルトの名無しさん
NGNG>ばかか
これがなきゃ至極まっとうな発言だったんだけどな・・・。
0906デフォルトの名無しさん
NGNG一回目はおかしな表示になってしまいます。
同じファイルをもう一回Navigateメソッドで表示すると、今度は正しく表示されます。
何が原因なのでしょうか?
0908デフォルトの名無しさん
NGNG直りました。
HTMLファイルの記述ミスでした。
0909デフォルトの名無しさん
NGNG文字のサイズに合わせて変更するプロパティはないのでしょうか?
ちょっと見当たりません。
VB6.0のPanelオブジェクトのsbrContentsに相当するものです。
0910デフォルトの名無しさん
NGNGShellExecute(0, nil, PChar('notepad.exe'), PChar(path), nil, SW_NORMAL)
を実行すると、毎回新しいメモ帳が開いてpathで示されるファイルの内容が表示
されてしまいますが、これを、メモ帳がすでに開いている時は、新しいファイル
を指定してShellExecuteを実行しても、すでに起動しているメモ帳にファイルの
内容を表示するにはどうすればいいのでしょうか?(要するに、1つしかメモ帳が
起動してほしくありません)
0911このレスの半分くらいはネタでできています
NGNGメモ帳がその機能をサポートしていないなら起動しているメモ帳を検索して操作する。
0912910
NGNGファイルを表示する時にはどうすればいいのでしょうか?
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デフォルトの名無しさん
NGNGShellExecuteじゃ無くて、shdocvw.pas(shdocvw_tlb.pas)のTInternetExplorer等を使う。
0914910
NGNGすいません。何の事かまったく意味が分かりません。
お手数ですが、>>912で書き込んでいる事を実現するチュートリアルみたいな手順を誰か教
えてくれないでしょうか?
0915デフォルトの名無しさん
NGNGきみ、いいね。実にナイスだよ。
0916デフォルトの名無しさん
NGNGどうすればいいですか?
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNGMassageBoxM();
0920デフォルトの名無しさん
NGNG位置情報は外部にtxtファイルか何かで保存すればいいかなとは思うのですが、
こういったことはできるでしょうか?
0921デフォルトの名無しさん
NGNG出来るよ。 Top,Leftに代入するだけでしょ。
というか、質問する前に やってみたらいい部類だと思うのだが?
0922デフォルトの名無しさん
NGNG大ジョうブ、メモ帳はひとつの例を示しているよ。
0923デフォルトの名無しさん
NGNGドラッグで各コンポーネントの移動は可能ということでしょうか?
各コンポーネントのTopとLeftをテキスト保存というのはできました。
オプションでできるとかっていうことでしょうか。。?
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNG君の中ではとっくに終わってます。だからもうこのスレにくるな。
0926デフォルトの名無しさん
NGNG当然コード書かないとダメだよ
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すごいっすね ソースコード意味不明ですが、感謝です
0928デフォルトの名無しさん
NGNGこういう物は理解してから使えよ。
0929デフォルトの名無しさん
NGNG取り合えずそのままコピペしてもイベントハンドらはバインドされないわけで。
すぐに泣きながら帰ってくると思われ。
0930デフォルトの名無しさん
NGNGprocedure 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すごい助言感謝です。
解読しつつ使わせて頂きます。
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGマウスキャプチャって何ですか?
Windousの昨日のようですが。
教えていただけるとありがたいです。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG( ´∀`)< . Delモナーがどんな厨房疑問でもやさしく答えます。
( ) |. Delモナーは時に私であり、時には別の人。
| | | |. 他のスレに書き込んで罵倒される前に、ヘルプ、過去ログ見ろ!
(__)_) \_________________________
0936デフォルトの名無しさん
NGNG実行してみた。感動した。
ばってんD7up1+Win2Ksp3だとMouseDown時にカーソルが変わらんとです。
Cursor:=crDrag;の次にUpdate;と入れてみたけどだめでしたとばい。
どうやればよかとですか?どうか教えてつかぁさい。
0937Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡
ミつ日(ミ
DelマガにGrabhandle
コンポーネントがありますよ。
THUMBHDL
って名前の圧縮ファイルだったような。
0938デフォルトの名無しさん
NGNG('A`)ノ マンドクセ
0939デフォルトの名無しさん
NGNGhttp://urawa.cool.ne.jp/kokuhiro/delphi/DelphiTABM.htm
0941デフォルトの名無しさん
NGNGCursor := crDrag; //ドラッグ中のカーソルを変更する
DragEdit:= Sender as TEdit; //どれを動かすか覚えておく
を
DragEdit:= Sender as TEdit; //どれを動かすか覚えておく
DragEdit.Cursor := crDrag; //ドラッグ中のカーソルを変更する
にするほうがいいんじゃないのかな?
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGバイナリファイルやパケットの読み書きのようにバッファを操作するときにつかうかな。
0944デフォルトの名無しさん
NGNG800Kgの石像を隣町の友人にさわらせたいとしよう。
方法は二つある。
一つは友人宅まで800Kgの石像を運ぶ
二つ目は自分の住所を教えて友人に来てもらう。
どちらが楽ちんかは言わなくてもわかってもらえるだろうと思う。
でかいデータをコピーして渡すくらいならアドレス教えて直接見てもらった方が早いと。
値渡しと参照渡しを例としたポインタのお話。
他にもメリットは多いよ。取りあえず勉強してみれば?
正直、
var
p :Pint;
i :integer;
begin
i := 1;
p := @i;
ShowMessageFmt('%d',[p^]);
i := 5;
ShowMessageFmt('%d',[p^]);
end;
こんな感じのコードでポインタ教えてる気になってる糞本が多くて憤慨。
こんなもんで絶対メリットわかんねぇよと。
0945デフォルトの名無しさん
NGNGそれはCの話で、Delphiでは値渡し・参照渡しとポインタは無関係。
constかvarを付けるのが正解。
0946デフォルトの名無しさん
NGNGわかってるけど。ポインタのメリットではあるでしょ。
0947デフォルトの名無しさん
NGNG参照ベースのOOPLでその説明は適切ではないでしょ。
ここはDelスレなんだから一般的な説明されても混乱するだけ。
0948属性文法でバカがバレた人
NGNG・・・・って思ったが全部クラスにしろと言われそうだな
0949デフォルトの名無しさん
NGNG参照ベースのOOPLですからね。ポインタを使うのはアホなのです。
DelphiでのポインタはWindowsAPIとの互換のためだけに残ってます。
だからKylixにはポインタがありません。
0950デフォルトの名無しさん
NGNG0951属性文法でバカがバレた人
NGNGまあ、アホやらバカやらになりたい時もあるさ そういう時に使うものって結論で
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGさて、それでIOポートをどうやって叩くのか教えちくり。と。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGDeviceIoControlとかだろ。
0957デフォルトの名無しさん
NGNGアクセス(読み書き)が速いから。
ポインタを使わなくても同じことが出来るけど、遅くなることが多し。
特に変数パラメータとか動的配列とかは遅い。
0958デフォルトの名無しさん
NGNG>アクセス(読み書き)が速いから。
var
p :PInt;
i :Integer;
begin
Inc(i);
Inc(p^);
この例に限らず速度は一緒だと思うけれど。
>ポインタを使わなくても同じことが出来るけど
ポインタなしで削除、追加の自由自在なリストを作ってください。
>特に変数パラメータとか動的配列とかは遅い。
上で散々もめてるのに・・・
0959デフォルトの名無しさん
NGNG参照使ってリストを作れないは氏ね。
0960942
NGNG958みたいなのしか載ってなくて理解できません
0961デフォルトの名無しさん
NGNGならば、必要が無いということだ。
0962属性文法でバカがバレた人
NGNG有用性に疑問があるの? それとももっと前の段階?
リンクリストは、まあクラス使えで済まされちゃったらそれまでだから、
文字列を扱う時、特にメモリ上にデータがある場合の
パーサを作る場合は、ポインタを使って参照するのが便利ってのはどう?
パーサは、【現在の文字】 が該当するなら処理して【次の文字にする】ってのが基本になるんだけど
ポインタを使わないと 最初に現在の文字が無いから、一文字だけ先読みする必要があるわけ
コレは慣れないと最初苦痛だし、理屈が判らないと読み辛いもんがあるけど、
ポインタを使えば、ポインタで文字を参照すればいいから、先読みの必要がなく頭の中もスッキリ
ってな話じゃ判らないかな・・・・
0963690
NGNG複数のフォルダがあって、すべてを削除できるか調べて、すべてを削除でき
るならRemoveDirectoryを実行したいのです。エクスプローラで開かれていて
削除できないなどの理由で、一つでも削除できないフォルダがあれば、一つ
も削除したくないのです。
何かいい方法はないでしょうか?
0964デフォルトの名無しさん
NGNGロック
0965デフォルトの名無しさん
NGNG難しそうな課題だね。
データベースみたいにトランザクションかけてロールバック出来たらいいのにね。
フォルダ名を変更してみて全部可能なら削除かな・・・・
でも別のアプリがアクセスする可能性は捨てきれないし、ゴミ箱にコピーしてから削除しかないかな
0966デフォルトの名無しさん
NGNGfunction 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を呼び出すことでディレクトリハンドルを取得できるから、
それでフォルダが削除可能かどうかを調べるというのは?
0967966
NGNG0968963
NGNG今のところ、一度削除するフォルダとファイルをコピーしておいて、エラーにぶ
つかったら、それまでに削除したフォルダとファイルを戻す、という風にしてい
ます。だけどこの方法は、とてもスマートな方法とは言えない。
>>965
他のアプリが意図的に使うことはないので、リネーム案も使えそうです。リネー
ムするのはちょっと抵抗があるけど、名前が変更されている時間はほんの一瞬
ですしね。
>>966
その方法で可能がどうか、今から実験してみます。
0969デフォルトの名無しさん
NGNGいずれにしても調べ終わって実際に削除する間に何かあってら検出できないよ。
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNGはい、途中までだけどどうぞ
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デフォルトの名無しさん
NGNG0973936
NGNG>>937
見てみまつ。あ、今月号(?)買ってないので明日買うでつ。
>>941
明日やってみまつ。(会社にソースがあるでつ。明日も会社出るでつ)
ありがとうございますた。
0974デフォルトの名無しさん
NGNGttp://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例外が思いっきり日本語で笑えなかったりとか。
0977デフォルトの名無しさん
NGNGあともう一つ聞きたいのだけど、エクセルのマクロでプログラムに興味がでて、
Del7を買ってみたのだけど、言語ソフト?のヘルプってプログラマ対象だから、
趣味のレベルの人間にはわかりずらいのですか?
0978デフォルトの名無しさん
NGNG>わかりずらいのですか?
正直、日本語の読み書きが不自由な人には大変かと。
0979デフォルトの名無しさん
NGNGありがと♥ なんとかできそう。
>>977
>言語ソフト?のヘルプってプログラマ対象だから、
>趣味のレベルの人間にはわかりずらい
↑あたしも最初はそう思ったけど、初心者向けのdelphiのHPって結構あるから
そういうとこである程度勉強するとhelpもわかるようになる。
あたしは最初は Seventh Delphi ばかりみてたよ。
0980デフォルトの名無しさん
NGNG〃⌒ ヽl|l)
/ rノ ;
Ο Ο_)
0981デフォルトの名無しさん
NGNG/⌒ヽ)
i三 ∪
○三 |
(/~∪
三三
三三
三三
0982デフォルトの名無しさん
NGNGそうですね。おまえはちょんだからね。
0983デフォルトの名無しさん
NGNGございますでそうか?
0984次の方、どうぞ。
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. そんな厨な質問には答えられません。
( ) .\________________
| | |
(__)_)
0987デフォルトの名無しさん
NGNG( ´∀`)<. 次スレ
( ) .| http://pc2.2ch.net/test/read.cgi/tech/1045476912/l50
| | | \_________________________
(__)_)
0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG(´`c_,'` )
0995デフォルトの名無しさん
NGNG( ゚ Д゚)
( つ旦O
と_)_)
0996デフォルトの名無しさん
NGNG( ゚ Д゚)
( つ O
と_)_) 旧 ガシャ
0997デフォルトの名無しさん
NGNG⊂( ,_ノ` )つ-、
/// /_/:::::/
|:::|/⊂ヽノ|:::| /」
/ ̄ ̄旦 ̄ ̄ ̄/|
/______/ | |
| |-----------| |
0998デフォルトの名無しさん
NGNG| | ノ
|_|
| |
| ̄|
|_|
|文|
| ̄|
| |
0999イヒ
NGNG| _ _ ぶ |
| / _)=∩=∩=_) ら |
| | | ∧ ∧| 下.|
| | | ( ゚Д゚) が |
| | | | | . り |
| | | |,| 健 |
|● | | ∫UU . も 康 |
| |_|__|_| ら 器.|
| 2 \_ \ っ を |
|点  ̄ ̄ ̄ た |
└──────────┘
1000イヒ
NGNG| _ _ ぶ |
| / _)=====_) ら |
| | | || 下 |
| | | Λ||Λ が |
| | | ( /⌒ヽ り |
| | | | | |. .. .か |
|● | | ∪亅 | 間 た|
| | | ∪∪ 違 を |
| |_|__|_| .. え. . |
|1 \_ \ る . .|
|点  ̄ ̄ ̄ .. . |
└──────────┘
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。