モナーの *やさしい* Delphi質問スレ Ver.7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
前スレ モナーの *やさしい* Delphi質問スレ Ver.5
http://pc.2ch.net/test/read.cgi/tech/1017803412
>>2-10あたりに関連情報あり
○過去スレ
○関連スレ
○Delphi製品情報
○関連リンク
○質問者へ
○ソース置き場案内
0153デフォルトの名無しさん
NGNG俺はVer. 2の形式が好きだった。
説明文の中にリンクがいっぱいあって、すぐに目的の所まで
行けた。プロパティとかも、一覧表示だったからスクロール
させなくても全部見えたし。
Ver. 6で元に戻るのでは、、と淡い期待を抱いていたけど、
やっぱだめか。。
ごめん、誰かに言いたくて。。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG目的のウインドウをタイトルバーの文字から探す>FindWindow
見つかったウインドウの子ウインドウを列挙してシラミつぶす>EnumChildWindow
探すよりもフックかけるほうが初心者には難しいかと。
0156デフォルトの名無しさん
NGNG逝ってしまったほうがよろしいですか?
と 書いてみるものの 実際のところ素でやさしいレスを期待しています
ごめんなさいごめんなさいごめんなさい
馬鹿な質問なのでしょうか。。。それすらわからない初心者です
0157156
NGNGわかりました
開発者ガイドに思いっきり書いてありました
ヘルプにも軽く書いてありました
逝ってまいります
0158デフォルトの名無しさん
NGNG思いっきり厨な発言で申し訳ないけど、
【VCL】
delphiで利用するクラスライブラリ(コンポーネント)
コンパイル時にexeにリンクされるので、別途ランタイムを
添付する必要が無い。
delphiで作成可能。
【CLX】
kylixで利用するクラスライブラリ(コンポーネント)
こちらは配布時にQtを添付する必要がある。
kylix・pro以上のdelphi で作成可能。
0159なんと!
NGNGあっ!そうなんですか。氷解です。一生懸命、悩んでました。
WEBでは、ArowとかがただのRowになっていたりして(Version違いだから???)
これは、何?状態でした。荒らしではありません。
早速出来ました。Thanksです。
0160デフォルトの名無しさん
NGNGGPLだって書きやがれ!」ってことなんか?
日本語にしる!
0161デフォルトの名無しさん
NGNGそんなもん。
0163デフォルトの名無しさん
NGNG具体的に何が腑に落ちないの?
つか、まぁ、とりあえずコレでも読んで
ttp://www.gnu.org/japan/gpl-2j-plain.txt
0165デフォルトの名無しさん
NGNG・ソースを公開しなくちゃいけない。
・GPLのソースを使って作られたソフトはGPLに従わなくちゃいけない。
・それ以外は何をやってもいい。
で良いでしょうか?
0166デフォルトの名無しさん
NGNGこれ以外に重要
0167デフォルトの名無しさん
NGNG>そのダラダラ長いのを読むのもイヤ(藁
好き嫌いの前にお前生きてるだけで無駄に地球の酸素が消費される。
shine
0168デフォルトの名無しさん
NGNG↓
お前が生きてるだけで○
日本語覚えてこい。ハゲ。
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGWinSightは慣れが必要だから、取っつきにくいだろうね。英語だし。
該当ウィンドウとメッセージの監視方法は、
1.該当アプリ起動
2.WinSight起動
3.Spy→Follow Focusをクリック
4.該当アプリをアクティブにする
5.すると、WinSightのツリーが該当アプリのところへ移動する
6.FollowFocusのチェックをはずす
6.ツリー表示の見方は、例えばエクスプローラのウィンドウだと
Overlapped 000301EE {ExplorerWClass} Explorer.EXE (816,114)-(1678,750) "ローカルディスク(C:)"
必要なのは {ExplorerWClass}と"ローカルディスク(C:)"
前者はクラス名、後者はキャプション。両方ともFindWindow(Ex)で使用する。
これを基にしてFindWindowしてハンドルを取得し、
SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
を送れば、該当アプリは終了できる。
7.該当ウィンドウのツリーを選択
8.View→Message Traceにチェック
9.Message→Selected Windowにチェック
10.Helpメニューの左側が「Start!」となっていたら、クリックすると
メッセージのトレースが開始する。「Stop!」となっていたら、もう
トレースが開始している。
11.下にメッセージがだーっと出てくるので、音を鳴らして根気よくメッセージを
探っていく。WM_XXXXXというのがメッセージの名前。何を意味するかは、
Win32.hlpを参照。
12.ただ、音を鳴らすメッセージが見つかっても、該当アプリで送受信されるから
ブロードキャストされてない限り何もせずにキャッチすることは難しい。
フックDLLを作らなきゃならないかな…フックしたくなければ、音が鳴るときに
該当アプリに何か目に見える変化がないかよーく探して、その変化を
FindWindow(Ex)で1秒おきにチェックする、みたいなことをしなきゃならんか。
0171デフォルトの名無しさん
NGNGありがとう
なんか、捜し物のペンが、あきらめかけた頃に
目の前の書類の下から出てきた、みたいな心境。
すぐ目の前にあったのに気ずかないみたいな
いやあ、お恥ずかしい。
ブレークポイントや、ステップ実行は、使って無いです。
使い方について、よく分かってないもので、デバック
について解説してるWebも、みつからないもので。
0172132
NGNG見つかりました!
Delphi壁の穴と言う所を見つけてWinsightを見ながらいじったらきちんとハンドルを
取得出来ました。
しかし、出来たのはここまでで変更があった時にどこが変わるのか、どのような
トリガがかかっているのか等さっぱり分かりません。
どなたかヒントをください。
0173132
NGNGじっくり読ませていただきます。
読んだあとで再チャレンジしても駄目だったら再度発言します。
ありがとうございました。
0174デフォルトの名無しさん
NGNG俺の物は皆の物
オマエの物も皆の物
っつー博愛ジャイアニズムみたいな感じ。
0175デフォルトの名無しさん
NGNGアフォだな。本質からわかってないじゃん。
すべての人がジャイアンですべての人がスネ夫になり得るんだ。
0176103
NGNG0177デフォルトの名無しさん
NGNGGPL で自由になるのはソフトウェア。
つーか、GPL スレに移住しる!
火星にGPLの理想郷を!
http://pc.2ch.net/test/read.cgi/tech/1008813243/
0178デフォルトの名無しさん
NGNG少なくともGPLを使っている人々はそう思っているわけじゃないの?
0179デフォルトの名無しさん
NGNGうむ。
0180デフォルトの名無しさん
NGNGソラリンでも使ってなと。
0181デフォルトの名無しさん
NGNGそろそろ自分でなんとかする気にならんか?
0182132
NGNGすみません、馬鹿なもんで。
ただ、最初からソースくれくれ厨にはなりたくないので少しづつヒントください。
今、自分でフォームにLabelとタイマーだけ貼りつけて
毎秒、カウントアップするアプリを作って、それをフック出来ないか
試してます。
今はWinsiteで変更のメッセージは見つけられたのですが、どうやって
中身を覗くかが分からなくて色々と調べている状況です。
むつかしいっす。
0184デフォルトの名無しさん
NGNGヒントきぼんぬ→つまづく→ヒントキボンヌ→よくわからん→・・・
このように延々と繰り返しいては、最終的にソースくれくれ厨となんら変わらないのでは?
よく考えればわかるとこなので焦らず前進!
0185delphiに限ったことじゃないが
NGNG誰って言うわけじゃないけど。
今もマルチ見てしまった…。
0186デフォルトの名無しさん
NGNG2.頭悪いから
3.ド初心者だから
平日の昼頃に書き込んでから数十分書き込みがないと
アゲたり催促するのは2.か3.
0187185
NGNG>>186
こないだ「ほぼ同じ時間にマルチ」がいた…。トホホ。
やっぱり答える側の気持ちになったら「アカン」ってことが子供でも分かると思うんだが…。
ま、答える側になんてほとんどならんけど(藁
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGTBitmap.ScanLine で直接操作。
0190仕様書無しさん
NGNG教えてください
(Delphian World以外)
0191デフォルトの名無しさん
NGNG最初から付いてるやつ。
0192鉄拐
NGNGでも、あれって居様に重いような気がするがきのせいかな?
0193デフォルトの名無しさん
NGNGソース晒してください。
0194デフォルトの名無しさん
NGNGStretchDrawで1/8くらいに縮めてから、元の大きさにStretchDrawし直せば
モザイクがかかるぞ。
ブラーとかかけたいんだったら、画像処理スレにでも行って勉強した方が早い。
0195お好み焼き食ってるので
NGNGおたふくソースとってください。
0196デフォルトの名無しさん
NGNG大体>>189はアドバイスしてるだけで、ソースなんて書いてるわけ無いだろ。
0197デフォルトの名無しさん
NGNGネタだってばよ。多分な。また来たら放置しる。
0198DateTimePickerと日付型
NGNGようですが、これって、この日付以降だったら、日付計算はうまくいくので
しょうか?
DateTime型は、Double型が元との事で、マイナス値でもいい感じですが…
それと、DateTimePickerは1752/09/19の次が、1752/10/01になるのですが
何故でしょうか? m(_ _)m
0199デフォルトの名無しさん
NGNG歴史の勉強をしましょう。
0200デフォルトの名無しさん
NGNGうん、暦って矛盾だらけなのよ。
サイトで太陽暦とかシリウス歴?とか検索してくださいな。
0201DateTimePickerと日付型
NGNG違うようですので、はてこの日付の飛びは当然日本じゃないだろうし…と思いま
して…。(Delphiってオランダ生まれでした??)
Excelのシリアル値などは、1900年システムや1904年システムですので、1800年代
の人(明治初期など、まだ生存している方)の年齢計算は独自の年齢計算マクロと
かを組んでいました。
Delphiでは、1900年より前(正確には1899/12/30より前)をDateTimePickerで
指定しても構わないのかしらん?と思ったのですが…。
いかがなものなんでしょうか? m(_ _)m
0202デフォルトの名無しさん
NGNGえ、まじで1752年にはそこが抜けてたの?
つーかDateTimePickerはグレゴリオ暦で記述されてるんじゃないの?
単なるバグなんじゃ・・・
でも不安だから調べたら
http://www.borland.co.jp/products/borlandcpp.html
>日付クラスであるTDateクラスは、1901年1月1日を基準(0)とする
>通算日数をもとにしています(1900以前は負の値として表現されます)。
>グレゴリオ暦が始まった1752年9月14日より前では正しく動作しません。
>なお、Borland C++ 5.02 ではグレゴリオ暦から対応するユリウス暦への
>変換に問題があります。この問題を回避するために、この date.cpp を
>使ってください。
だそうだ、Delphiも多分同じだろう。賢くなたーよ。
0203DateTimePickerと日付型
NGNG表示の都合上という事でいいんでしょうか?
0204DateTimePickerと日付型
NGNGでも、何か変ですよね?1752/09/14以降は通常どおりって事なんでしょうけど
9/19→10/01への飛びは、やっぱり変?????
0205デフォルトの名無しさん
NGNG日本がグレゴリオ暦へ切り替えたのは、1873年1月1日からです。
0206デフォルトの名無しさん
NGNGそれを1から19に詰めて書いてしまう間抜けなDateTimePicker。
そのくせ1-13日はしっかり選択できなくしてある。
マイクロソフトが悪いんだよね?
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
0207デフォルトの名無しさん
NGNGDelphianWorldにはShellComponetLibraryがあったと思うけど、
あれが嫌ならこれ見て自分でシコシコ作れ。
ttp://www.cmagazine.jp/bookreview/19990402.html
0208デフォルトの名無しさん
NGNGロックをかけて、ロックのかかったテーブルを触ろうとするとタイムアウトが発生
しない為に永久に待ち状態になってしまいます、なんとか逃げの方法はない
でしょうか・・・。
0209デフォルトの名無しさん
NGNGデッドロック・・・?
0210デフォルトの名無しさん
NGNG先に更新しようとしたプログラムが該当レコードをロックしたままだと、この先のプログラムが
開放するまで、後から更新しようとしたプログラムは止まってます。
先の更新が終了すれば、後の処理が開始されて正常には終わります。
希望としては、「ロック中ですので更新できません」のメッセージの一つも出せたら
良いのですが、SQLを投げて固まるまでこれを判定する手段がないみたいなのです。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG0213208
NGNG0214デフォルトの名無しさん
NGNGQ. Delphi 6 Personal をダウンロードし、インストールしました。
Delphi は初めてだったので、同梱されている「クイックスタート」の
チュートリアル "TextEditor" をすることにしました。
ところが、このチュートリアルでは、ActionManager コンポーネントを
使うように記述されていますが、それを見つけられません。
ActionManager は、どこでしょうか?
A. 残念ながら、ActionManager は、Personal には、*付属していません。*
Professional 以上に付属するコンポーネントです。
しかし、ActionManager を使わない、古いチュートリアル "TextEditor" で、
Delphi を体験できます。
Delphi 5 クイックスタート・アップデートファイル
<URL:ftp://ftp.borland.co.jp/pub/delphi/d5onlinedocup/D5DOCTET.zip>
これを解凍して、TextEditorTutorial.pdf を読みましょう。
---
投稿する勇気の無いヘタレのためここに書き込みます。
0215デフォルトの名無しさん
NGNG自ら「FAQ」であると認識していることを、改めて書き込む意図はなに?
0216デフォルトの名無しさん
NGNG>>214の真意はここにある。
>投稿する勇気の無いヘタレのためここに書き込みます。
つまりじゃ、てめーが
「投稿しょうかな〜でもなぁ〜はずかしいな〜 誰か俺の代わりに投稿しろよ〜
でもまってても誰も書いてくれないし・・・ ええい!書いてみよう!!」
っつって勇気をふりしぼって投稿したことを誇りたいんじゃ。
よくやったの。>>214
0217デフォルトの名無しさん
NGNGDelphi 6 Personal には、ActionManager は無い。→既知
Delphi 5 のチュートリアルは、ActionManager を使っていない。→既知
Delphi 5 のチュートリアルは、Borland のサイトからダウンロードできる。→知られていない。
だから、FAQ を更新する。
”繰り返される質問”は、回答とセットで意味を待つと思います。
それから、投稿しようとした宛先は、Borland の news group です。
Delphi 5 のライセンスを持っていないユーザーが、Delphi 5 のチュートリアルを
使うのは、目的外の使用とも解釈できるので、情報の公開の前に、著作者の
了解が必要かもしれない。おそらく、怒られることは無いと思うけど、
この辺の確認は、省きたい。→2ちゃんねるにしよう。
それが、何か?
0218デフォルトの名無しさん
NGNGわしは相変わらずActionList使ってるけど。
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG俺も使ってない、無理に使う必要がないように感じるのですが、使うとどの辺りで幸せになれる?
0223デフォルトの名無しさん
NGNGこの FAQ の答えになってないと思うけど?
*付属していません。* という答え以外は、単なるおせっかいでしょ。
どうしても TextEditor を作りたいのならともかく。
0225デフォルトの名無しさん
NGNG>>223
0226デフォルトの名無しさん
NGNG>"Q." をよく読んでください。
読んでも、 ActionManager を使わない TextEditor を作りたい、とは
書いてありませんが?
0227デフォルトの名無しさん
NGNG>これから出てきそうな(よく出てくる)質問に先回りして答えるのがFAQだと思う
Frequently Asked Question の意味を(以下略)
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG先回りして、しかも著作権の確認が面倒なので、他スレに書き込む、って
よくあることなの? そうなんだぁ。
0230デフォルトの名無しさん
NGNG何で勝手にいろいろ付け足すの?変な奴。
0231デフォルトの名無しさん
NGNGTMemoryStream に読み込んだ任意のデータをクリップボードを通して
やり取りしたいのですが、どうしたらよいでしょう。受けとるほうも、
TMemoryStream に読み込んだ形にしたいです。
0232デフォルトの名無しさん
NGNG229 は 214 と 217 について粘着してるのよ
0233デフォルトの名無しさん
NGNGFAQについてレスしただけなのに困ったもんだ。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG粘着して、先回りして、しかも著作権の確認が面倒なので、何で勝手にいろいろ付け足すの?
他スレに書き込む変な奴、って
よくあることなの?知らなかったなぁ。本当に?そうなんだぁ。
0236デフォルトの名無しさん
NGNGあなたは確実にキモイ
0238デフォルトの名無しさん
NGNGfunction AddRedText(AText:string);
var
Col:TColor;
begin
with RichEdit do
begin
Col := DefAttributes.Color;
DefAttributes.Color := clRed;
Lines.Add( AText);
DefAttributes.Color := Col;
end;
end;
としても赤い文字にならないのですが…
なにが悪いのでしょうか。
0239デフォルトの名無しさん
NGNG0240238
NGNGううむ、変わらなかったです…
ちなみに、先頭に赤い文字を追加しようと思って以下のように書きましたが、これもうまくいかないのです。
色は変わりますが、その後に追加した文字列もすべて赤色に…
function InsertRedText(AText:string);
var
Col:TColor;
begin
with RichEdit do begin
Col := DefAttributes.Color;
Lines.Insert(0,AText);
SelStart := 0;
SelLength := Length( Lines[0] );
SelAttributes.Color := clRed;
DefAttributes.Color := Col;
end;
end;
0241デフォルトの名無しさん
NGNGButton1を押した時は赤文字のテキストが、Button2を押した時はデフォルトカラー
の文字列が追加できとるよ。
procedure TForm1.Button1Click(Sender: TObject);
var
Col:TColor;
begin
with RichEdit1 do
begin
Col := SelAttributes.Color;
SelAttributes.Color := clRed;
Lines.Add(Edit1.Text);
SelAttributes.Color := Col;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RichEdit1.Lines.Add(Edit1.Text);
end;
0242デフォルトの名無しさん
NGNG何で勝手にいろいろ付け足すの?って放置されて
他スレに書き込む変な奴、ってよくあることなの?まじっかなー。ウソクセー。
知らなかったなぁ。本当に?そうなんだぁ。へー。マジ情報?な?な?答えろよアフォ
0243あ
NGNG実行ファイルの作成日時というか、自分自身のコンパイル年月日を知ることはできませんか?
たとえば、[バージョン情報]というボタンをクリックすると、その
プログラムがコンパイルされた日時を表示するようにしたいのですが…
0244デフォルトの名無しさん
NGNGFileDateToDateTime(FileAge(Application.ExeName))
0245デルファイの名無しさん
NGNGたしかクリップボードはGlobalAllocなんかで確保する形式だったかな。
なので、Moveでメモリーコピーすれば充分な気が。
凝ろうと思えば、TStream派生の、確保済みのメモリーに読み書きするクラスを作るなんてどうでしょう?
TAccessStream.Create(ポインタ, サイズ) なんて。
そうすればCopyFromでTMemoryStreamとやりとりできると思います。
…ここで確認のためヘルプを見る…
CLXの方にはTClipboard.GetFormatなんてそのまんまのがありますね。VCL側には無いみたい。
なのでもしCLXを使っていれば一発です。
0246あ
NGNGファイルを移動した場合とか変わっちゃうかと思ったらそうじゃないんですねえ…
どうもありがとうございました
0247デルファイの名無しさん
NGNGでも、リソース書き換えツールなどでいじられたら変わってしまいそうな。
0248デフォルトの名無しさん
NGNGそれがいやなら、自分で定数ででも定義しておくしかないでしょうな。
その場合バージョン=年月日なんかにしておくと楽かも。
0249デフォルトの名無しさん
NGNG>たしかクリップボードはGlobalAllocなんかで確保する形式だったかな。
>なので、Moveでメモリーコピーすれば充分な気が。
あっ、そうですか。ちょっと調べて、いろいろ試してみます。
あいがとうございました。
0250249
NGNG○ ありがとうございました。
訂正。スマヌ
0251デフォルトの名無しさん
NGNGバージョン情報のリソースに日時を埋め込む手もあるな。
0252デフォルトの名無しさん
NGNGXMLを処理というか、読み込むコントロールは無いですか?
ギコナビという、たしかDelphi製のアプリでXMLを読んでいたので、自分のソフトにもXMLを
読み込む方法が無いか探しています。
■ このスレッドは過去ログ倉庫に格納されています