くだすれDelphi(超初心者向け)
レス数が1000を超えています。これ以上書き込みはできません。
0001毛の生えたフサギコ
NGNG他のスレッドでは書き込めない超低レベル、もしくは質問者自身何が何だが
分からない質問を勇気を持って書き込むスレッドです。
Delhi使いが優しくコメントを返しますが、お礼はDelhiの布教と初心者の
救済をお願いします。
0002デフォルトの名無しさん
NGNG0003超初心者
NGNGそれを受け取るためにDephiではアプリケーションオブジェクトではなく
フォームオブジェクトにメソッドを定義し、フォームがメッセージを受け取る
と理解していいでしょうか?
フォーム上のどのコンポーネントをクリックしたかを識別するために
Sender変数を宣言し、これはWindowsが注目しているオブジェクトのアドレスが
格納されると思っているのですが、間違っていませんか?
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGこの方式はボーランドが持っている特許の一つです。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNGこのスレは重複スレです。
移動をお願いします。
(次スレ凍結中のDelモナースレについてはこの限りではありません)
ミ,,゚Д゚彡フサギコのフサフサDelphi相談室�H
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室�I
http://pc2.2ch.net/test/read.cgi/tech/1047603258/
0008超初心者のその2
NGNG結局これは、「メッセージを送った者」ではなく「メッセージの対象となるもの」
なんだよね。
0009デフォルトの名無しさん
NGNG5を読んだら、SenderとはWindowsそのものを意味するように
感じたぞ。
00105
NGNGTControlコンポーネント=Windows系のコンポーネントは
Windowsからメッセージを貰うと、それをディスパッチしたメソッドでイベントがあればそのイベントを呼び出します。
0011デフォルトの名無しさん
NGNGその答えは簡単です。Delphiなんてやめて今すぐVB.NETに乗り換えてください。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGDelphi n. デルフォイ
古代ギリシアの都市;Apolloの神託が下される神殿の所在地
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BDelphi%A4%CE%CE%F2%BB%CB%5D%5D
0014デフォルトの名無しさん
NGNG簡単なサウンドノベルを作れるくらいになるまで、
どれくらいの時間がかかるものなんでしょうか。
0015デフォルトの名無しさん
NGNG全くの初心者として
3日〜1ヶ月
0016デフォルトの名無しさん
NGNGありがとうございました。
0017デフォルトの名無しさん
NGNG意味をわかりやすく連載で説明してください。特に(誰が)イベントを送信し
(誰が)それを受け止めて、(誰が)メソッドを呼び出すのか?
Senderの意味ももっと初心者向けに説明してください。お願いします。
ほんとにDelphi使いになりたいのです。おねがいします。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGキーワードの上でF1を押せばヘルプが出ます。調べ癖をつけておけばいいでしょう。
Senderは、イベントを送信(もしくはWindowsからイベントを受け取ってそれを中継)したオブジェクトです。
というかほんとの初心者がSender使うかな?
呼びだし元を区別する必要さえ無ければ無用な引数ですよ。
0020デフォルトの名無しさん
NGNGinterface //<---これから他から見える部分の定義をする
uses //<-このユニットで使う他のユニットを定義する
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; <-- ; マデが uses
type //<-- これから型を定義します。
TForm1 = class(TForm) //TForm1クラスの定義
Button1: TButton; //Button1変数の定義
procedure Button1Click(Sender: TObject); //メソッドの定義、ここまではパブリッシュ(型情報が実行モジュールに記録される)
private //他のユニットで参照出来ない部分の定義開始
public//他のユニットから参照出来る部分の定義開始
end;
var //変数の定義をします
Form1: TForm1;
implementation//ここから下は他のユニットから直接参照出来ない部分です
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);//メソッドの実体を定義します
begin
Button1.Tag:=Button1.Tag+1;
Button1.Caption:=IntToStr(Button1.Tag)+'回目';
end;
end. //ユニットの終了です
0021デフォルトの名無しさん
NGNGSender を使わないと Button1Click というメソッドは
Button1専用となってしまいますが、それで問題ない場合も多いでしょう。
Seder を使って同じコードを書くと
procedure TForm1.Button1Click(Sender: TObject);//メソッドの実体を定義します
begin
with Sender As TButton do begin
Tag:=.Tag+1;
Caption:=IntToStr(Tag)+'回目';
end;
end;
となります
0022デフォルトの名無しさん
NGNGは、リソースを読み込むというコンパイラへの指示です。
具体的にはIDEで設計したフォーム情報が .dfm にあるのでこれを読み込みます。
これは pascalソースと一緒にコンパイルされ、実行ファイルに同封されます。
そして、実行されると、 Application.CreateForm でこのリソースを読み込んで
各種プロパティが設定される仕掛けです。
0023デフォルトの名無しさん
NGNG[ユニットの構造と構文]
を見ると良いでしょう。
unit Unit1;
interface
uses { ここにユニットを指定する }
{ インターフェース部を記述する }
implementation
uses { ここにユニットを指定する }
{ 実現部を記述する }
initialization
{ 初期化部を記述する }
finalization
{ 終了処理部を記述する }
{ユニットは end とピリオドで終わらなければなりません。}
end.
という構造になっています。
Delphiでは一つのunitごとに、まるでオブジェクトのように初期化・終了処理が書けるのです。
0024デフォルトの名無しさん
NGNGそのテキストファイルからランダムで単語を選び出して表示させるということは可能でしょうか?
できれば外部のテキストファイルは誰でもいじれるような形にしたいのですが。
0025デフォルトの名無しさん
NGNGテキストファイルをメモリに読むには TStringListを使うとよいでしょう
フォームの定義部に
private
FDicText:TStringList;
と追加します。
フォームの イベント OnCreate に
FDicText:=TStringList.Create;
としてインスタンスを作成しましょう。
テキストの読み込みは
FDicText.LoadFromFile( 'ファイル名'); です。
忘れずに OnDestroyで
FDicText.Free; と解放させるようにしましょう。
あとはランダムにテキストを表示する方法ですが、
ボタンを貼り付け、ボタンのイベントで
Caption:=FDicText.Strings[Random(FDicText.Count)];
のようにします。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGftp://ftp.borland.co.jp/pub/delphi/d7help_indy_jp.zip
0029デフォルトの名無しさん
NGNGいい仕事してますね。
0030デフォルトの名無しさん
NGNG情報ありがとう
0031デフォルトの名無しさん
NGNGそういうのってどうやって見つけるの?
0032デフォルトの名無しさん
NGNGボーランドのサイト逝け
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNGIndy-TIPSサイト上記以外にありませんか?
0037デフォルトの名無しさん
NGNGもうC#はだめだな(ゲラ
0038デフォルトの名無しさん
NGNGありがとうございました、参考にさせていただきます。
0039ウルトラ超初心者
NGNGDelphiにおいてはprogramヘッダ以降、つまり、プロジェクトファイル(dprファイル)
がエントリポイントである。・・・・・でいいですよね。
そのdprファイルに書いてあるアプリケーションオブジェクトに対して、
初期化と実行のメソッド呼び出しが書いてありますが、具体的にどんなことが
メモリ上で起こっているのか教えてください。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGありがとうございました、参考にさせていただきます。
0042ウルトラ超初心者
NGNG\0を書き込むといったことでしょうか?
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG疑問とか、たまに鼻水が流れるような寒いギャグとかを書くところだよ。
ウルトラ初心者向けのスレッドです。
中程度以上のスキルのある人は、「相談室」「モナー」に書くべきだよ。
0045デフォルトの名無しさん
NGNG4スレ常時見ろってか?
0046デフォルトの名無しさん
NGNGウルトラ超初心者はそんなこと考えません。さようなら。
0047デフォルトの名無しさん
NGNG旧バージョン向けの書籍でも入門本として活用できるかもしれないと
勝手に思っているのですが、
初心者がまず挫折しないで読める最初の1冊としておすすめはどれですか
(絶版は無しにしてください)
0048デフォルトの名無しさん
NGNGウルトラ超初心者だから考え込むんじゃない?
だって、いきなり Apprication.Run なんて書いてあったら
どんなことが起こっているのか謎だらけでしょ?
0049デフォルトの名無しさん
NGNGとは思わないけどな。
本屋で立ち読みか、解説サイトみる。
0050デフォルトの名無しさん
NGNGウルトラ超初心者はプロジェクトファイルを見ません。
0051デフォルトの名無しさん
NGNGいっぺんメッセージループを書いてみないと
Delphiが何を肩代わりしているかが見えてこないだろうね。
http://halbow.cool.ne.jp/ShousaiIndex.html
このへん参照のこと。
0052デフォルトの名無しさん
NGNGuses Forms,
Unit1 in 'Unit1.pas' {Form1}; //uses でどこにファイルがあるかを指定しています
{$R *.res}
begin //unit と違って、program はいきなり beginです。
{使用してるユニットによっては、他のユニット全部の初期化が終ってから別の
初期化をしたい場合があります。
それが必要なユニットでInitProcという手続ポインタをフックリンクするような仕組みになっています。
}
Application.Initialize; //InitProcを呼び出します。 InitProcに何も登録されてなければ何もしません。
{ フォーム.Create を呼び出してもいいのですが、アプリをコントロールさせる
メインフォームを登録する作業をさせる為に
}
Application.CreateForm(TForm1, Form1); //Form1:= TForm1.Create(Application); FMainForm := Form1; とほぼ等価
Application.Run; // HandleMessage; でメッセージ駆動を実現させながら 終了を待ちます
end.
0053デフォルトの名無しさん
NGNG{$R *.res}
unit にあったのは {$R *.dpr} でしたが、ここでは .res です。
このリソースにはバージョン情報や、アイコンなどが入っています。
他のリソースを入れたい場合は別の名前にして *.res ではなくリソース名を入れるといいでしょう
{$R filename.res filename.rc} のようにコンパイル前のテキスト形式も使用可能です
0054デフォルトの名無しさん
NGNG間違いのない説明だけど、初心者にはきびしいかも、
関数を「呼び出す」。この一言でも初心者には? 関数を「使う」なら
分かるみたいだけど、では「誰が」関数を呼び出すのか?? このあたりから
説明がいるのかもしれないね。
「初期化」にしても初心者なら int a=0; //変数の初期化
程度のことしかしらないだろうから、オブジェクトの初期化はまったく
分かりづらいだろうね。
0055デフォルトの名無しさん
NGNGイベントハンドラとメソッドの違いは何ですか。
0056デフォルトの名無しさん
NGNGttp://halbow.cool.ne.jp/Notes/N008.html
リソーススクリプトといっても、たぶんRCDATAしか使わないでしょう。
アイコンは .dfm に、 文字列は resourcestring でもっと手軽に扱えるからです
0057デフォルトの名無しさん
NGNGコンソールアプリの場合は必要無い場合も多いでしょう。
ただ、COM や データベースを使う場合 Application.Initialize; が無いと必要な初期化がされない場合があります。
しかし Application 変数を使う為に uses Forms とやるといきなりexeサイズが肥大します。
そんな時は
if InitProc <> nil then TProcedure(InitProc);
と 自分で InitProcを呼び出すのも方法です。 InitProc は system ユニットなので uses を何もしなくても使えます。
0058デフォルトの名無しさん
NGNGちゃう。
メソッドというのはC言語で関数と呼ばれるもの。Delphiでも関数と言ったりするが。
Javaではメソッドというな。ただの用語の違い。
メンバ関数はあるクラスオブジェクトに所属する関数(メソッド)。
イベントハンドラはあるイベントを処理するためのメソッド。
0059デフォルトの名無しさん
NGNG後に message WM_なんとか; と付いてるのがイベントハンドラです。
0060Hyper初心者
NGNG教えてください。
人間があるアプリケーションのボタンをクリックすると。
1)Windowsがボタンを押したぞ!というメッセージをアプリケーションに送る。
2)Windowsがボタンを押したぞ!というメッセージをボタンに送る。
3)ボタンが押されちゃったぞ!というメッセージをWindowsに送る。
4)ボタンが押されちゃったぞ!というメッセージをアプリケーションに送る。
以上、どれが正しいのですか。
0061デフォルトの名無しさん
NGNGあの量書くのすげーな。
0062デフォルトの名無しさん
NGNGWindows は 窓ハンドルが何をするにも必要と考えるといいでしょう。
ボタンを押すと、
Windowsが ボタンが押されたというメッセージを windowハンドルに登録された手続きに送ります。
0063Hyper初心者
NGNGそのwindowハンドルというものはオブジェクトでありプロシージャの集合体でありそうですが、
そもそもそれはどこに記述されているのですか?
0064Hyper初心者
NGNG例のSender変数?が関係しているのですか?
0065デフォルトの名無しさん
NGNGそれ以上細かいことを知りたければC++をやるべき。
ボタンを押せば、button1.clickが呼び出される。だからここで適当な
プロシージャを書けば良いだけ。
0066デフォルトの名無しさん
NGNG51をよく読め。
0067デフォルトの名無しさん
NGNG西暦何年の何月何日何曜日になるかを表示させるプログラムを
作りたいのですがどうしたらいいでしょうか?
0068デフォルトの名無しさん
NGNGヘルプに載ってるっす。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG死んでください。
0072デフォルトの名無しさん
NGNGDelphi
0074デフォルトの名無しさん
NGNG>そのwindowハンドルというものはオブジェクトでありプロシージャの集合体でありそうですが、
>そもそもそれはどこに記述されているのですか?
Windowsの中、もしくはVCLの中
>また、沢山のプロシージャの集合体の中から一つを選び出すメカニズムは
>例のSender変数?が関係しているのですか?
してない。Senderは単なるイベント発生源を区別する為の引数。
自分でTWinControlから派生して何か作ってみればわかると思う。
細かくは開発者ガイド読んでください。
0075デフォルトの名無しさん
NGNG勘違いがありますよ。
窓ハンドルには手続きは登録されていません。
窓クラスにWndProc手続きを登録します。
>そもそもそれはどこに記述されているのですか?
興味があるあなら、procedure TWinControl.CreateWnd; を丹念に読むと良いでしょう。
>また、沢山のプロシージャの集合体の中から一つを選び出すメカニズムは
Windowsから最初に呼ばれるのは、 MakeObjectInstance が作った小さなコード片です。
これはメソッドを呼ぶにはオブジェクトとメソッド入り口の2つのポインタ情報が必要な為
Win16の頃にサンクと呼ばれていた仕掛け = MakeInstance を真似たものです。
このコード片でメソッドポインタを作って呼ばれるのは MainWndProcです。
MainWndProcからWindowProcイベント(デフォルトではWndProc)が呼ばれ、
WndProcから Dispatch(Message); によって それぞれのイベントハンドラが呼ばれます
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNGだから質問スレは1つでいいんだよ。
0078デフォルトの名無しさん
NGNGDelphiCDROMの中に日本語の Win32 API ヘルプがあるので、それをハードディスクにコピーして見ましょう。
キーワードは
ウィンドウ クラスの概要
RegisterClass
WNDCLASS
ウィンドウの概要
CreateWindow
ウィンドウ プロシージャの概要
WindowProc
これらを順に読むと良いでしょう
0079デフォルトの名無しさん
NGNG読みましたが何か?
0080デフォルトの名無しさん
NGNGでは次に
コントロールの概要
をどうぞ
0081デフォルトの名無しさん
NGNGDelphiがコントロールをラップする時の大きな問題は、
コントロールは既に WindowProcが定義されているという所にあります。
そこで、メッセージの流れをコントロールから自分に貰うようにしなければいけません。
その為に昔から使われているテクニックをサブクラスといいます。(OOのサブクラスと同じ用語です)
このあたりの細かい内容は
ttp://www.asahi-net.or.jp/~HA3T-NKMR/vcl3-1.htm
ここが詳しいです
0082デフォルトの名無しさん
NGNG初心者にこそ、こういう細かいレベルの話を丹念に追いかけて欲しい。
それが出来るのがDelphiなんだから
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNGMemo1のオブジェクトインスペクタ、イベントタブ OnKeyDown/OnKeyPress をダブルクリックしてコードを書く
>>84
TPanel を貼り付けて、それにラベルを貼り付ける
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGShift: TShiftState);
begin
if (Key=VK_RETURN)
and (Shift= [ssShift]) then
with Sender as TMemo do ShowMessage(Text);
end;
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG俺なら
TMemo(Sender).ShowMessage(Text);か(Sender as TMemo).ShowMessage(Text);にするな。
0090デフォルトの名無しさん
NGNGShowMessage(( Sender as TMemo).Text);
だな
0091デフォルトの名無しさん
NGNGバイナリファイルの取得はどうするんですか?
Memo1.Lines.Text := IdHttp1.Get('http://www.2ch.net');
0092デフォルトの名無しさん
NGNGそれじゃ何か嫌だというなら、
var fout:TStream;
begin
fout:=TFileStream.Create('logo.gif',fmCreate);
try
IdHttp1.Get('http://www.ff.iij4u.or.jp/~ch2/2ch-logo.gif',fout);
finally fout.free;end;
0093デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1009080085/22
を使って
writeFileStr( 'logo.gif' , IdHttp1.Get('http://www.ff.iij4u.or.jp/~ch2/2ch-logo.gif') );
と書く事も可能。 ただこの方法だと string型で一旦メモリ上に受信するので、効率は悪くなる
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG92,93 さんは分かっていると思うけど、URL が 1Gbyte のファイルを示していたら
メモリ不足でシステムが落ちるので、いったんファイルに落としておいたほうが吉。
または WinInet を使えば MSIE と同程度の品質が手に入る。キャッシュに記録が
残っちゃうけどね。
0096デフォルトの名無しさん
NGNGあれで間違った癖を実につけると、一生使い物にならなくなるぞ。
古文/漢文は日本文化の基礎(だった)からといって、日常も旧仮名遣いで会話したら大変だろ?
猫と同じで(というか狙っているのだろうけど)そんな世界もあるんだね。に押さえておくように。
0097デフォルトの名無しさん
NGNGあれは最初は読まないでいいかも知れないけどいつかは読んでおいた方がいいよ。
いつまでも二重のブラックボックスだけ使って満足するのもねえ…
0098デフォルトの名無しさん
NGNG日本発の強力なコンポーネントが出ないで終わった原因の一つだな。
Halbow 自身は良くやっていると思うよ。けどそれが集団全体のスキルアップには
つながらなかったという例だな。
以前、高岡氏が Halbow を説得できずにさじ投げたのをみて、こりゃ駄目だ。と思いましたとも。
0099ナインティーナイン
NGNG改行マークを入力して改行したいのですが
どのように書けばいいか教えて下さい。
#13#10が入力されたらみたいに書いてもできませんでした。
改行マークも?になってしまいます…
0100デフォルトの名無しさん
NGNGコード出せボケ。
0101>>88
NGNGShift+Enterキーを押したときにメモ欄に改行が入ってしまって困っています。
この改行が入らないようにするためにはどうすればよいでしょうか。
0102デフォルトの名無しさん
NGNGabort を入れたらいい。
if (Key=VK_RETURN)
and (Shift= [ssShift]) then begin
with Sender as TMemo do ShowMessage(Text);
abort; //これで デフォルトハンドラをスキップされてしまうからキー入力もスキップされる
end;
0103>>88
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNGそうかゴメン。 KeyPress の方が先に処理されてるんだね。
じゃあ KeyDown イベントじゃなく KeyPress イベントで処理してみたら?
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13)
and( (GetKeyState(VK_SHIFT)and $8000)<>0) then begin
with Sender as TMemo do ShowMessage(Text);
abort;
end;
end;
0107デフォルトの名無しさん
NGNGシリアル通信は API でボーレート設定して TStream 使うのが楽だと思うけどなあ
0108デフォルトの名無しさん
NGNGcport
0109>>88
NGNGできました!どうもありがとうございます。
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG根本的に解ってない予感。
0113A
NGNG>#13#10が入力されたらみたいに書いてもできませんでした。
の、書いても、で書いた内容を、出してみろ、ってことでは?
それ以前に、出したい改行マークってのは、いったいどんなものを指してるの?
0114デフォルトの名無しさん
NGNGAbort は止めなさい。WM_KEYDOWN を「喰う」には
key := 0;
が VCL の設計。
それと、イベント処理中に ShowMessage 入れるとイベント処理の順番が狂います。
ShowMessage を抜くと正しく動く。
>>106
>KeyDown より KeyPress の方が先に処理
WM_CHAR より先に WM_KEYDOWN が来ると?ShowMessage を入れたことでメッセージの順番が狂っているだけです。
動けばいいや。だといつまでたってもバグは減りませんよ。
0115デフォルトの名無しさん
NGNGVCLの設計はkey:=0; / key:=$0; と abort どちらでも動くようになってるよ。
後半の話は、ようするにダイアログを出した事で、ダイアログ内のメッセージループで
WM_CHAR が処理されてしまう為なんで、 これを解決するには
OnKeyDown でフラグ立てて OnKeyPressでフラグ見てと処理する方法もあるけど、
そうすると、そのフラグをどこに用意するかとか、ちょっと初心者には面倒かなと。
0116デフォルトの名無しさん
NGNGEAbort で MainWndProc まで一気に落っこちてしまうでしょ?
key := 0;
で指定のキーを無視するように指定した後に、何か別の処理していたらどうするの?
「現在の TMemo の実装で動くから」ってのは理由にならんでしょ。
後半も、初心者相手なら「イベント処理中にダイアログを出してはいけません」
と指導すべきではないかな?手数の問題ではない。
面倒でもフラグ、ないしは自分自身へのカスタムメッセージの PostMessage と
もっていくべきだろう。
0118デフォルトの名無しさん
NGNGTMemo はコントロールレベルでは改行コードを表示する機能を持っていません。
適当な文字を決めてそれを改行位置に挿入することで擬似的に表現できますが
TMemo にとってはそれは改行コードではなく単なる文字なのでうまくいきません。
(文字として削除されたり、コピー/ペーストされてしまう)
TRichEdit あたりから継承するか、改行コード表示能力を持ったコンポーネントを
TMemo の変わりに使うことを勧めます。
目標が、TMemo 互換の改行コード表示可能コンポーネントの製作。ならば話は別ですが。
0119デフォルトの名無しさん
NGNGそれともWindowが表示された直後ですか?
0120デフォルトの名無しさん
NGNGkeyを0にするという処理と abort は理論的には等価ではないでしょ
今回のkey処理をこの後無視させるのが key:=0;
何か別の処理をしていたら、それも無視させるのが abort
abortに限らず例外は、基本的にどこで投げられても正常に動くように作らなければいけない。
だからabortを投げて、それで解放とか必須処理までが迂回されるようなら、それはバグだ。
イベント処理中にダイアログを出してはいけない訳ではない。
でも、この場合は確かに、PostMessage させた方がスマートだね。
0121デフォルトの名無しさん
NGNG( ・∀・)/< こんなのみつけたっち♪
0122デフォルトの名無しさん
NGNGたしかに、ヘルプでは判り難いね。
フォームが表示されたとき とあるし、
Visible プロパティが true に設定されている場合とあるし、
実際には Show メソッドかVisible:=Trueになった直後に呼ばれる。
つまり描画される前に呼ばれる。
0123デフォルトの名無しさん
NGNG>OnShow イベントはフォームが可視になるときに発生します。
>OnShow イベントを使うと,フォームが表示される前に実行したい特殊処理を指定できます。
とあるんだけどね
0124デフォルトの名無しさん
NGNGそのとおり。だから 115 の書き込みは間違い。OK?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGabortを投げて エディタへのキー入力処理がスキップされるかどうかは実装による
個人的には abortを投げてなおキー入力をする実装は変だと思うが、そんな保証はない。
って事だな。
しかし key:=0 でキー入力処理がスキップされるかどうかは誰が保証してるんだ?
ヘルプにもそれは書かれていないような・・・・
ただ、代入した文字に変更されて入力される事は var が付いてるから予測可能だけど
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG昔はタダだったけど今は1万円払わされた挙句に商用開発ができない
0129127
NGNGhttp://www.borland.co.jp/sales/delphi.html
これのことだよね。どうしようかな?
0130デフォルトの名無しさん
NGNG目的は何?
・フリーソフトでも作って社会に貢献したい
http://www.borland.co.jp/delphi/personal/
・技術習得を通して自分を高めたい
D7 pro を買う方がいいでしょう
・プログラマにしかなれそうもないから
Delphiより他に適当なのがあるでしょう
0131デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGdefine 使いまくりで読めたもんじゃないけどな
0135127
NGNGさんくす。
>・技術習得を通して自分を高めたい
でつ。いままでVC++、VBしかしたこと無いんで、なんとなくやってみようかと
とりあえず6Personalいじってみようと思います。
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=delphi+%E5%85%A5%E9%96%80
・・・と自分でも見たら、なんかpascalシュミレータまで作ってる人いるな
0138デフォルトの名無しさん
NGNG最近使ったファイルへのショートカットを消して、
フォルダの移動(↑ボタン)などを消す(もしくは使用不可)にするには
どのようにすれば良いのでしょうか?
(ofNoChangeDirをTrueにしてもフォルダの移動が出来てしまうし)
ofOldStyleをTrueにすればデスクトップへのリンクは消えるのですが、
イメージが出ないので、できればOldStyleは使わずに済ませたいのですが。
0139デフォルトの名無しさん
NGNGやった事ないから巧くゆくかどうか知らないけど、
ダイアログの外見を変えるには Template プロパティで ダイアログテンプレートリソースを指定します。
OpenPictureDialog は ExtDlgs.rc を 使っています。
こいつを自分で作成してみてはどうでしょう?
0140138
NGNGレスありがとうございます。
つまりTCommonDialogから継承してコンポーネントを自作するしかないという事ですね?(^^;
もう少し簡単な方法はないものでしょうか・・・。
0141デフォルトの名無しさん
NGNGいや継承っていっても TOpenPictureDialog で Executeだけ継承すればいい筈
0142デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGソースが保証ならabortだって同じじゃないか。
だいたい#0 ってキーコードが必要なったらどうする?
0153デフォルトの名無しさん
NGNGwith TForm1.Create(Self) do
Left:=Self.Left+10;
show;
end;
とかやってみたら?
0155デフォルトの名無しさん
NGNGwith TForm1.Create(Self) do
begin
Left:=Self.Left+10;
show;
end;
0157デフォルトの名無しさん
NGNGなんか違うぞ
フォームのクラス名.Create( 親の名前 );
親の名前はメインフォームか Applicationが適当だろう
procedure TForm1.Button1Click(Sender: TObject);
var Form:TForm;
begin
Form:=TForm.Create(Application);
with (Sender as TWinControl).Parent do begin
Form.Left:=Left+5;
Form.Top :=Top+5;
end;
with TButton.Create(Form) do begin
Parent :=Form;
Caption:=Button1.Caption;
OnClick:=Button1Click;
end;
Form.Show;
end;
0158デフォルトの名無しさん
NGNGそれと、Form1はVar節で宣言されているので変数の一種だと思いますが、
Form1はクラスではないのですか。
0159デフォルトの名無しさん
NGNG両方とも状況によって意味が変わる言葉だけど、Delphiでの意味を知りたければ
ヘルプの「オブジェクト,コンポーネント,コントロール」を読め。
Form1は、TForm1型の変数だ。
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG自分自身?他のアプリ?
質問は、解答者が把握できるだけの情報を書きましょうね。
ちなみに自身だと、ExtractFilePath(ParamStr(0))
0162動画直リン
NGNG0163デフォルトの名無しさん
NGNGタスクバーには2つとも「Delphi 6」と出るわけですが、
なぜ「Delphi 6 - Project1」「Delphi 6 - Project2」ではないのでしょうか?
全く気のきかない開発環境に激萎えしてしまいました
0164デフォルトの名無しさん
NGNGそれがそんなに重要なことなんですか?
0165デフォルトの名無しさん
NGNG重要かどうかが気になりますか?
ここはくだすれですよ?
0166デフォルトの名無しさん
NGNG荒らしでしょ
0167デフォルトの名無しさん
NGNG不便なところを指摘されると荒らし呼ばわりで済ます
ボーランドに落ち度は無いと思い込んでいる
0168デフォルトの名無しさん
NGNGDelphiを二つ三つ起動するとどれがどれやら。
0169デフォルトの名無しさん
NGNG右クリックを割り当てたPanel上にComboBoxを配置してあるんですが
そのComboBoxでは右クリックが効かないようにするにはどうしたらいいでしょうか?
0170デフォルトの名無しさん
NGNGなら、
割り当てをやめて(もしくはAutoPopupをFalseにして)、PanelのMouseUpイベントで
PopupMenuのPopupメソッドを呼んで、メニューを表示する。
0171デフォルトの名無しさん
NGNGDelphi Personal と Eclipse どっちが良いでしょうか?
小さなアプリケーションが作れる程度でいいのですが。
0172デフォルトの名無しさん
NGNGApplication.Exename
0173デフォルトの名無しさん
NGNG継承で、プライベートメソッドの中身をごっそり入れ替えたいのですが、
こういう場合はどうすればいいのでしょうか?
やっぱムリですかね?
0174デフォルトの名無しさん
NGNGありがとうございます
PopupMenuです
0175デフォルトの名無しさん
NGNGdelphiで作ったアプリケーションAから任意のファイルFを別のアプリケーションBで実行させることは出来ますか?
ちなみにファイルFはアプリケーションBとは関連付けられていない場合です。
例をあげるとこんな感じです。
(例)
ボタンを押すとsample.txtファイルがNotepadで開く
(sample.txtはNotepadとは関連付けられていない)
関連付けられている場合のやり方は検索で見つかったのですが、
この場合のやり方が分かりません。
0176動画直リン
NGNG0177Dale L. Fuller
NGNGありがとう。年末の D8 までには直します。
0178デフォルトの名無しさん
NGNGhttp://www.wwlnk.com/boheme/
のDelphi Tipsに他のアプリを起動する
という項目があります
0179デフォルトの名無しさん
NGNGそれができたら Private/Protect/Public の存在意義が無くなる。
こっそり VMT を書き換えるという手もあるが、非仮想関数には手出しできない。
素直にクラスのソースをコピーして書き換えるべきではないかな?
0180デフォルトの名無しさん
NGNGButton1:TButto;では
メモリ上の配置が異なるそうですが(スタックとかヒープとか)
なぜそうなっているのですか?スタックとかヒープとかよく分からないので
メモリの使い方を教えてください。そもそもヒープって何?
0181A
NGNG>>178 のサイトにあるやり方だと、ただ単にメモ帳は起動できても、テキストを読ませた状態での
起動は出来ない。とかレスが付きそうなので、ヒントを。
lpParameters に 開きたいテキストファイルを指定してやれば良い。
>>178のサイトを見た上で、そのサンプルを参考にDelphiのヘルプを見れば
簡単に上の意味がわかるはず。
がんがれ。
0182デフォルトの名無しさん
NGNGOS/2で動くソフトを開発するために、無理やりWin-OS/2で動くソフトを
開発したいのですが・・・。
0183デフォルトの名無しさん
NGNGクラスの場合は、ヒープにインスタンス=実体が取られて、変数にはその参照=ポインタが取られます
ヒープというのは、スタックでもなく定数域でもない場所の事で、メモリ確保の手続きで確保される領域です。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGDelphi1は16bit環境で、16bit環境ならWin-OS/2で動きます。(実際動かしていました)
Delphiは全て共存出来ます。
ただし、BDEは最新バージョンとなります(比較的下位互換は守られているのでまあ大丈夫ですが)
またファイルの関連付は共通になるので
自分で関連付を増やして右ボタンメニューで選択出来るようにすると使い易くなるでしょう。
0186デフォルトの名無しさん
NGNGごめん、あの説明じゃ判らなかった?
スタックというのは 一つのポインタ(アドレスを覚えている変数 実際にはCPUのレジスタ)を使って
push 操作 ポインタを小さくしてから書込
pop 操作 読んでからポインタを大きくする
という基本操作で読み書きする領域の事。
変数をスタックに取る場合は、ベースポインタというもう一つの変数を使って、
スタックポインタをベースポインタにコピーしてから、スタックポインタを変数領域分小さくする
こういうpushや確保操作を関数・手続の先頭で行って 出口で元に戻すようにすれば
関数がネストしても大丈夫になるわけ
・・・・つづくかもしれない
0187デフォルトの名無しさん
NGNGpush(data) は dec(sp); stack[sp] := data;
例えば3ワード分の領域確保は
push(bp);bp:=sp; sp:=sp-3;
こうすれば、プログラム中ではstack[ bp-1] [ bp-2] [ bp-3] の3つを変数として使える。
もっともDelphiのコンパイラはbpを使わずに済ます場合も多い。
sp:=sp-3 だけしておいて stack[sp+2] [sp+0] [sp+0] を変数として使うわけだ
終了操作は、確保前の sp は bp にあるので sp:=bp ;pop(bp) とする
pop(data) は data:=stack[sp];inc(sp);
0188デフォルトの名無しさん
NGNGスタックだと、こういう構造をしているので関数の寿命と変数の寿命が一致してしまう。
C++では、関数の寿命と一致させられる事も出来るし、その場合コンストラクタや
デストラクタが自動的に働いて便利な面もあるけど、それは便利なだけであって本質じゃない。
その代わり . と -> の2つの参照方法が出て煩雑という欠点も出た。
クラスのように独立性のある構造をローカルスタックに作る必然性がないという事だろう。
そこで、Delphiではクラスの変数は 自動的に参照になる事にした。
C++でいう -> を無くして、全て . だけに出来るわけだ。
そして、別の変数に代入した場合、実体ではなく参照がコピーされる
これは少し注意しなければいけない。 コピーされて実体が2つなったと元の変数を解放しちゃいけない。
0189180
NGNG昔、Macでプログラミングを勉強していたとき、ポインタのポインタ
と言うものが出てきた、さっぱり分からなかったけど、つまり、
オブジェクトはヒープという領域に動的に確保され(アプリケーション実行後ってこと?)
そのヒープ領域は「圧縮」されるので、オブジェクトはアドレスが移動する、だから
オブジェクトを参照するポインタ、これ自身もヒープに存在するので、スタック領域に
固定的にポインタのポインタが確保される・・・・みたいなことを本で読んだことがあります。
つまり、オブジェクトって、簡単にアプリケーション実行後はアドレスがころころ変更する
ものなのでしょうか?・・まとめていうと、ヒープ領域に取られた変数なりオブジェクトは
アドレスが消滅まで固定されるものではないのでしょうか?
なぜ、そんな仕様になっているかというと、「アプリケーション実行後、動的に確保されるから」
なのでしょうか?
0190デフォルトの名無しさん
NGNGDelphiのオブジェクトは勝手に再配置されません。
もし、再配置されてしまうと、それを参照している全てのポインタ変数を書き換える必要があるからです。
理屈の上では、ポインタ変数を2ワード変数としてリンクリストにして管理とか考えられるのですが、
現実には、整数型に型キャストして使ってたり行儀の悪いプログラムも多いですからね
0191180
NGNGスタックみたいに用が済んだら何故開放するとかならなかったのですか?
あ、なんかホントにくだらない質問かもしれない
0192デフォルトの名無しさん
NGNGコンストラクタがクラスメソッドの形式で呼ばれた時です。
この時にヒープからメモリも確保され、その後コンストラクタによる初期化がされます。
実は、メモリを自前で確保してから、コンストラクタをメソッドの格好で呼ぶ方法もありますが・・・今は無視
解放されるタイミングは デストラクタが呼ばれた時です。
明示的に解放しなくても、
用が済んだらデストラクタが呼ばれる仕掛けをプログラマが作る事で自動的解放されます。
例えば、コンポーネントはコンストラクタで親オブジェクトを指定しますが、親が解放されれば自動的に子が解放されます。
また、インターフェース型を使えば、参照してる変数が無くなった時点で自動的に解放されます。
たとえばインターフェース型ローカル変数なら、その関数から抜ける時に自動的に解放されます。
なお、関数内でローカルにオブジェクトを作って廃棄する場合は普通に try finally 構文を使うと良いでしょう。
with 構文と組み合わせると
with TStringList.Create do try
・・・・ 処理 ・・・
finally Free; end;
のように変数名の定義無しに安全に作って解放させる事も出来ます。
0193デフォルトの名無しさん
NGNGプログラム終了以外に"簡単に"「用が済んだ」ことを調べる方法がないから。
GC厨は放っておけ。
0194デフォルトの名無しさん
NGNGIndyでバイナリファイルを取得する際に、
ダウンロードしたサイズ(進捗情報)を取得することは可能でしょうか?
よろしければご教授願います。
0195スケベ大王
NGNG|や.|
|っ |
│ぱ│
│モ│
│ロ .|
│よ .|
バカ ゴルァ │ !!.│
└─┤ プンプン
ヽ(`Д´)ノ ヽ(`Д´)ノ (`Д´)ノ ( `Д)
| ̄ ̄ ̄|─| ̄ ̄ ̄|─| ̄ ̄ ̄|─□( ヽ┐U
〜 〜  ̄◎ ̄ . ̄◎ ̄  ̄◎ ̄ ◎−>┘◎
http://www.dvd01.hamstar.jp
0196デフォルトの名無しさん
NGNGTStream のどれかを使ってる筈だから、それを継承して
自分でイベントをつけておいたら?
0197デフォルトの名無しさん
NGNGバカ、載ってるよ
0198デフォルトの名無しさん
NGNGさらに、MS P ゴシック など「P」が付いている文字は
幅も文字によって変わってきます。
では、どんなフォントでも文字でもきちんとピッタリの高さと幅を得るには
どのようにしたら良いのでしょうか?
(「プロポーショナルフォントを使わない」は無しでお願いします)
ダサい方法として、一旦AutoSizeのあるコンポーネント(ラベルとか)に入れて、
サイズを取得する方法があると思いますが、もっとちゃんとした方法は
あるのでしょうか?
0199デフォルトの名無しさん
NGNG単に 高さ幅が知りたいなら Canvas.TextExtent で求まるじゃない。
サイズをピタリとあわせたいなら TextExtent でサイズ見ながら調整するしかない。
縦横ともにピタリとあわせたいなら、
http://www.google.co.jp/search?q=LOGFONT+Delphi&lr=lang_ja
0201A
NGNGすまん。どこに載ってるのか、見つからなかったが…。
「EXEを指定して起動する方法」と、
「ファイル名を指定して関連付けられたアプリを起動する方法」 ならあるけど、
>>175 が聞いてるのは、
「関連付けられていないアプリを、ファイルを開いた状態で起動する方法」 だし…。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG実際どの程度がDelphiで作られているのでしょうか?
IDEだけですか?それともコンパイラもDelphiでつくられているのでしょうか
もしそうだとするとそのDelphiのコンパイラを作ったDelphiはどうやってコンパイルしたのかと
疑問に思いました
0205デフォルトの名無しさん
NGNGVCLとかIDEとかRaveとかDatabase Explorerとか。コンパイラは違う。
0206デフォルトの名無しさん
NGNG普通は、他の言語で最初のコンパイラを書き、それに自己記述したソースを食わせて作るのかな。
最初の最初のアセンブラだけはバイナリ直打ちかも…
0207デフォルトの名無しさん
NGNG数日悩んでいたのがすっきりしました
ありがとうございます
0209デフォルトの名無しさん
NGNG直後にPageControlsのActivePage:=非表示にしたTabControls
0210デフォルトの名無しさん
NGNG> つーか、SDIがそもそも多重起動しないことが前提になってるし。
ハァ ? MDI と SDI の区別ついてるのか ?
> Delphiを二つ三つ起動するとどれがどれやら。
だから不便だと言ってるんだろ ?
そういう状況がどれほどあるかは知らんけど。
ちなみに、VC++6 は プロジェクト名 - Microsoft VC++ - ファイル名 と表示される。
ファイル名はいらないから、プロジェクト名ぐらい表示してもバチはあたらんと思う。
0212デフォルトの名無しさん
NGNG最初のdcc.exeはTurbo Pascal製と思われ。
最初のTurbo Pascalは、
Pascalソースをハンドアセンブルで作ったらしい。
0213デフォルトの名無しさん
NGNG最初に読んでつまずかない初心者向けの本
を一冊ご推薦ください。アスキーのオフィシャルコースウエア基礎編なんて
どうですか?やっぱむずかしいですか? 学習時間は毎日夜1時間程度を
想定してください。
インターネットでの学習はもうちょっと後で考えます。
0214デフォルトの名無しさん
NGNGLabel.Captionの'リンク'という文字に
ハイパーリンクでhttp://〜〜〜〜〜/というホームページを
リンクしたいのですがどのようにすればいいか教えて頂けませんか?
0215デフォルトの名無しさん
NGNGもう一歩掘り下げろ。
0216214
NGNGLabelのCaptionプロパティーに
『http://pc2.2ch.net/test/read.cgi/tech/1051882835/』と
書いても、Stringと認識されてリンクになりません。
青い字で下線のついたリンクにするには
どのようにかけばよろしいですか?
0217デフォルトの名無しさん
NGNGwith Label.Canvas.Font do
begin
Color := clBlue;
Style := (fsUnderline);
end;
0219デュランデュランデュラン
NGNG次に、Labelのオブジェクトインスペクタ上で
1. Fontプロパティでフォントの色を青にする。
2. FontプロパティのStyleプロパティにfsUnderlineを指定する。
3. Cursorプロパティを crHandPointに設定する。
次に、Labelの OnClickイベント上で、以下のコードを記述する。
procedure TForm1.LabelClick(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'http://www.2ch.net/2ch.html', nil, nil, SW_SHOW);
end;
一番目の引数:親ウィンドウのハンドル
二番目の引数:ファイルを開く指示('print'と書くと、印刷になる)
三番目の引数:開くファイル名(この場合はURL)
四番目の引数:実行ファイルへのパラメータ
五番目の引数:作業フォルダ
六番目の引数:実行方法。SW_SHOWはウィンドウを標準で実行。
SW_MAXIMIZEなら最大化)。
詳しくはWin32APIヘルプを見れ。
0221デフォルトの名無しさん
NGNGnotepad.exe C:\WINDOWS\デスクトップ\新規テキストファイル.txt
とかやればデスクトップ上にある新規テキストファイル.txtを開くことが出来る。
別にこれは関連付けられたファイルであろうとなかろうと関係ない。
これと同じことをやっているのがShellExecuteです。
0222デフォルトの名無しさん
NGNGついでにマウスカーソルも変えとけ
0223デフォルトの名無しさん
NGNGHPで荒らしが発生しました。荒らしとは言っても掲示板での悪口なのですが。
そこでそれを書き込んだ人のリモートホストやアクセス先やなんかを抜きたい
のですが、どうすればいいのでしょうか?本当に困ってます。
よろしくお願いします
0224デフォルトの名無しさん
NGNGコマンドライン引数にファイルアドレスを渡せないアプリケーションのばあいはどうやれば…
paramstr(1)にファイルアドレスを代入とかはできないんですよね。。
0225デフォルトの名無しさん
NGNGここで聞くな、アホ
0226デフォルトの名無しさん
NGNG1.掲示板のシステムにリモートホストやアクセス先を記録するようにする。
2.記録されたデータを見る。
それだけのことだ。
0227223
NGNG226>1、それについてはアクセス解析なのどHPをいろいろ見てきましたので
なんとかできそうです。
2、ここなんですが記録できるようにする前のデータはみれないのでしょうか?
それが不安です。掲示板で誰が書き込んだのか知りたいのですが。
板が違うようですがよければお願いします。
0228__
NGNGttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/zenkaku/index.html
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku05.html
ttp://yamazaki.90.kg/hankaku/hankaku03.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
0229デフォルトの名無しさん
NGNG> 2、ここなんですが記録できるようにする前のデータはみれないのでしょうか?
無理。
httpサーバーのログがみれるなら、そこから探せ。
0230デフォルトの名無しさん
NGNGプロジェクトグループは使えない状況?
>>224
1)あきらめる
2)SendMessage連発で開くダイアログを強制操作
3)作者に連絡して引数を処理してもらう
0231たまご
NGNG無知ですみません。
0232動画直リン
NGNG0233デフォルトの名無しさん
NGNGhttpサーバーの管理者に連絡してください。
0234__
NGNGttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/zenkaku/index.html
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku05.html
ttp://yamazaki.90.kg/hankaku/hankaku03.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
0235デフォルトの名無しさん
NGNGi += 1;
のような演算子をつかいたいのですが、Delphiにはありませんか?
0236デフォルトの名無しさん
NGNGプロパティには使えないけど Inc(i, n) というのはある。
詳細はヘルプを見てください。
0237235
NGNGタイプ量が増えるのが・・・。ありがとうございました。
0238デフォルトの名無しさん
NGNG同じ感覚で書こうとすると1行に収まらなくなる事も増えてくる。
でも、その方がいいと最近思えてきたよ。
コンパイラだから短く書こうが、改行を入れようが 吐かれるコードは同じだしね。
で、この方が後で読み廉いんだよ。
0239235
NGNGでも i := i + 1;
は、感覚的にまだ慣れませんね。 昔のBASICみたいで、太古に逆戻り
したみたいです。
最近やっと、「else句の前にセミコロンを何故つけてはいけないのか」
やっとわかりました。市販されているPascalの書籍をざーっと読んでみて一冊だけ
わかりやすい説明がありました。
Pascalにおいては、セミコロンは 文と文の区切りの記号である。だから
(文);(文) を想定しないといけない。
if (式)then (文1)else(文2);
文1は単文じゃないといけないので、(文1)の末尾にセミコロンをつけると
then a:=0 ;(空文あり)else
になるのですね。 ずっと悩んでいました。
0240デフォルトの名無しさん
NGNGウィンドウズファイルですよね。
Windowsファイル下にファイルをコピーしたいのですが
OSによってそのファイルのPATHが違って
どのようにウィンドウズファイル下にコピーすればいいか
分からなくて困っています。
//コピー元ファイル名
CopyFrom := 'コピーしたいファイル.*';
//テンポラリフォルダのパス取得
GetTempPath(SizeOf(TempPath), TempPath);
//コピー先ファイル名
CopyTo := TempPath + ExtractFileName(CopyFrom);
//コピー処理
CopyFile(PChar(CopyFrom),
PChar(CopyTo),
True);
とするとTempファイルにコピーされます。
これをTemp→Windows or WINNTにしたいです。
どうかよろしくお願いします<(__)>
0241デフォルトの名無しさん
NGNGWindowsディレクトリ:GetWindowsDirectory
Systemディレクトリ:GetSystemDirectory
0242デフォルトの名無しさん
NGNGとあるデータ(文字列など)を送りたいのですが、
ファイルやDBを経由しないで送るにはどんな方法がありますか?
0243A
NGNGCから来ると、タイプ量がだいぶ増えるからね。そもそも、begin endからしてそうだし。
Cは、どっちかというと、実戦重視で少しでも少ないタイプでコーディングできるように作られてる。
その代わり、書いた時はいいけど、後で読もうと思ったときに、汚い書きかたしてると苦労する。
書き方の自由度が広いから、他の人が書いたソースを読むのは大変。
pascalは、もともと教育用に作られただけあって、生真面目というかチェックが厳しい。
でも、そのおかげで、誰が書いても大体同じような書き方になって、他人のソースも読みやすい。
実は、生徒の書いたコードを先生が楽に読んで採点できるようにそうしたって噂も(w
設計思想の違いだから、どっちがいいとは言えない。
+=ぐらい使いたいと思うことは、漏れも良くあるけどね(w
0244デフォルトの名無しさん
NGNGwebページのフォームに文字を書き込んでpostする部分を
delphiで書きたいんですが、どうすればいいのでしょうか?
具体的には、ある掲示板の内容を読み込んで、ある条件の
カキコがあったら、自動的にレスを書き込むようなプログラム
です。
インターネット関連のプログラミングは初めてなので、はっきり
言って右も左もわかりません。よろしくおながいします。
0245デフォルトの名無しさん
NGNG> Cは、どっちかというと、実戦重視で少しでも少ないタイプでコーディングできるように作られてる。
標準ライブラリとか標準ライブラリとか標準ライブラリとかな。
0246デフォルトの名無しさん
NGNG0247A
NGNGとりあえず、Delphiでどうこうというより、まずは、CGIについて調べるといいよ。
ブラウザが、フォームに入力された内容を、どうやってサーバーにpostしているか分かれば、
Delphiに代わりにそれを送らせるのは、難しくない。
いちおう、Delphiで、postするには、Indy っていうコンポーネント郡を使うと楽。
CGIが分かってからの話だけど。
0249デフォルトの名無しさん
NGNGフォントの種類を選択できますが、
この種類を限定する事は可能ですか?
(例えば日本語が使えるフォントのみ指定するとか)
(できればフォントを削除するとか手荒なことをせずに実現したいのですが・・)
0250244
NGNG>>246
たくさんの検索結果をありがと (泣
見てみます。
>>247
そうですね。フォームからのデータを受ける側の処理は
perlで書いたことはあるんですが...確か文字列の
変換とか面倒くさいことをしてたような。
IndvClientsのTIdhttpなんかを使うんでしょうね。
webで検索すると、以前のDelphiに付属してた
コンポーネントを使った例ばかりで...
ちょっと勉強してみます。
0253デフォルトの名無しさん
NGNG可能です。楽しみたいなら TFontDialog を継承して WndProc を好きに書き換える。
楽したいなら適当なコンポーネントを拾ってくる。
0254デフォルトの名無しさん
NGNGそれを普通「不可能」というわけだが。
0255249
NGNGレスありがとうございます。
つまり、TFontDialon単体では実現できないんですね。
もうひとつ質問させて下さい。
D7なのですが、フォントを日本語不可の文字にすると当然TMemoで
「あああ」と入れたら文字化けしますよね。
これをフォントをMSゴシックなどに戻しても文字化けしたままなのですが、
これはどう解決すれば良いでしょうか?
(フォントはTFontDialogで変更します)
0256249
NGNGフォントの文字化けが戻らない不具合は
WindowsXPのみで確認できています。
Windows98では問題ありませんでした。
0257249
NGNG自己解決です。
TFontDialogを開くと「文字セット」という項目があり、
日本語がないフォントを選択するとそこが「欧文」等になっていて、
MSゴシックに戻してもそこが欧文のままになっていたので
化けていました。
ああ、情けない・・・。
0259デフォルトの名無しさん
NGNG代入をすればいいですか?お願いします
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGそりゃそうなんだけどさぁ...
開発ツールは新しいコードを書くためのツールなんだし。
「超初心者」向け、ってことでもなぁ...
ま、突っ込みありがとう >>254
0263デフォルトの名無しさん
NGNG簡単な使い方教えてください。分かりやすい解説がなくて。よろしくです
0264デフォルトの名無しさん
NGNGその子ノードに格納してある文字列を表示させるには
どういった書き方をすればいいのでしょうか?
具体的には
親
子←「一番目」というデータを格納
子←「二番目」というデータを格納
して、クリックしたら挿入した文字列をShowMessageさせたいんです。
どなたか教えて下さい。
0265デフォルトの名無しさん
NGNGReg := TRegistry.Create;
with Reg do
begin
try
Rootkey := HKEY_CURRENT_USER;
OpenKey('\EUDC\932', True);
WriteString('SystemDefaultEUDCFont',S); (SはStringです)
CloseKey;
finally
free;
end;
で外字リンクを変更してレジストリを更新したいです。
外字リンクを変更する事はこれでできました。
最新の状態に更新する事ができません。
どうかお助け下さい。
0266デフォルトの名無しさん
NGNGヘルプ読もうな。
VCL リファレンス
TTreeNode.Index
TTreeNode参照
Index プロパティは,親ノードが保守する子ノードリストでのノードの位置を指定します。
property Index: Longint;
説明
Index を使うと兄弟ノードに相対するノードの位置を特定できます。親ノードの最初の子の Index は 0 で,以後これに続いて添字付けされます。
>>265
?
0268デフォルトの名無しさん
NGNGそりゃそのレジストリを参照してやつをどうにかするしかないんじゃないか ?
0270デフォルトの名無しさん
NGNG送信は出来るが受信がうまくできない
ヘッダは受信できてもダブルクリックした後
メッセージを受信するはずだが、受信できません
他のメールクライアント(becky2等)では出来るのですが・・・
何がやりたいのか書いてないから、返答のしようが無いと思う。
TListview張っつけてなんなりとやってみてからだと…。
張っつけたら、特にすることも無いと…。
0272デフォルトの名無しさん
NGNG> 自分で作るとどうしてもできません(;。;)
全然状況がわからんのだが、その自分で作ったプログラムと言うやつはいつレジストリを読み込んでるんだ ?
0273265
NGNGボタンが押された時です。
procedure TMain.RegisterClick(Sender: TObject);
var
WindowsPath : array [0..256] of char;
S: String;
Reg: TRegistry;
begin
GetWindowsDirectory(WindowsPath, sizeof(WindowsPath));
CopyFile('emoji.tte',WindowsPath,True);
S := WindowsPath + '\emoji.tte';
if FileExists(S) then
begin
Reg := TRegistry.Create;
with Reg do
begin
try
Rootkey := HKEY_CURRENT_USER;
OpenKey('\EUDC\932', True);
WriteString('SystemDefaultEUDCFont',S);
CloseKey;
finally
free;
end;
end;
ShowMessage('絵文字の外字登録が'+#13#10+'完了しました。');
end;
end;
と書いています。
どうぞアドバイス下さい<(__)>
0274デフォルトの名無しさん
NGNGhttp://www.users.gr.jp/ml/archive/delphi/71387.asp
と似てる。EnableEUDCが足りないのでは。
0275デフォルトの名無しさん
NGNGより厳密には、レジストリへの更新は即時に反映されるが、レジストリを参照している
プログラムが自ら読みにいかないと新しい値は使われない。
この場合は EnableEUDC の呼び出しを契機にして GDI が新しい外字グリフを読みに
いくわけだ。
がんがれ
0277デフォルトの名無しさん
NGNGこれをどこも選択されていない状態にするにはどうすれば良いでしょうか?
(現在は色が変わらなければ良いと割り切って、スクロールバーを非表示にして
一行増やして、そこを選択していますが、もっとスマートな方法はないでしょうか?)
0278デフォルトの名無しさん
NGNGVCL ソースは持ってる?
0280デフォルトの名無しさん
NGNGDelphiの超初心者向けHPを作ろうとおもうのですが、いいですか?
また、内容的にどんなものを盛り込んだらいいでしょうか?
0281デフォルトの名無しさん
NGNGもうちょい調べてみます。とりあえず1行増やすのはやめた方がいいです。
小手先の回避のために仕様を変えちゃうより見た目を捨てる方が健全です。
0282デフォルトの名無しさん
NGNG>くだらない質問かもしれませんが、
全然くだらなくないです。思い立ったが吉日、頑張ってください。
内容は・・・・・自分が昔ハマッタ所を思い出してみてはどうでしょう。
超初心者だと、フォームにコンポーネントをぺたぺた貼りつつイベントドリブンの概念や型の一致
から始めるのが順当でしょうか。
初心者と中級者という線引きは中々引けないですが、基本的なコンポーネントが使いこなせて、
オブジェクト指向が少しわかるところくらいが初心者卒業の条件かと。
0283デフォルトの名無しさん
NGNGスーパーリアル超初心者からの要望です
ゲーム系お願いします
意外なほど少ないんですよ、Delphiでゲームプログラムの解説してるサイト
それにグラフィック関連を扱っているサイトも少ないです
0284デフォルトの名無しさん
NGNGここにpas2doxというDoxygenでDelphiのソースが扱えるようになるツールが
あるようなのですが、使い方が書いていないためどうやったら
Delphiソースを元にHTMLを出力させるのかが分かりません。
どうやって使ったらいいのでしょうか?
Doxygenはインストール済みです。
相談室スレから誘導されてきました。
0285デフォルトの名無しさん
NGNGでヘルプが見れますよ。
ここから先のことはDoxygen自身に関することなのでDoxスレでどうぞ。
0286デフォルトの名無しさん
NGNG次期Delphiでも搭載してほしいですね。
ところで、ここは(超初心者向け)ですので、たらい回しするようで
申し訳有りませんが、「談話室」で戦ってください。負けてはいけません。
0287デフォルトの名無しさん
NGNG-hのヘルプではよく分かりませんでした。
input filterである事だけは分かったのですが。
doxスレってどこにありますか?DAT落ちしているようなのですが。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNGすな! ここはまじめなスレッドだ
0290デフォルトの名無しさん
NGNGああ、なんとなく分かりました。
大量にエラーを吐いて結局出力出来ませんでしたが。
アクセス違反とWarning: Found ';' while parsing initializer list!のような
ワーニングがたくさん出て出力出来ませんでした。
これはpas2doxが未完成なのでしょうか?
それとも使い方に問題があるのですか?
INPUT_FILTERにpas2doxを設定して
FILTER_SOURCE_FILESにチェックを入れ
FILE_PATTERNSに*.pas,INPUTにソースディレクトリを設定し、
Dotを使うように設定したのですが…
>>289
真面目に質問しています。どの辺が不真面目なのでしょうか?
問題があればその部分を改めます。
0291デフォルトの名無しさん
NGNGすいません。>>288が透明あぼーんされていたので
私にレスされていたのと勘違いしてしまいました。
0292ななしへたぐらま ◆XcB18Bks.Y
NGNGオーナー描画機能を使う.ちょっと作ってみました.データはカンマ区切りテキスト形式です.
まず宣言.
type
// ・ヘッダーコントロール(AlignをalTop,Sectionsに3つのセクションを作る.それぞれTextを件名,送り主,日付とする)
// ・リストボックス(AlignをalClient,StyleをlbOwnerDrawFixed にする)
TForm1 = class(TForm)
ListBox1: TListBox;
HeaderControl1: THeaderControl;
procedure FormCreate(Sender: TObject);
procedure HeaderControl1SectionResize(HeaderControl: THeaderControl;
Section: THeaderSection);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
private
procedure InitListBox;
public
end;
(宣言部終わり.つづく)
0293ななしへたぐらま ◆XcB18Bks.Y
NGNGuses
Math; // ←Min関数を使うため
const
// 改行文字
cLineBreak = #$0d#$0a;
// サンプルデータ(カンマ区切りテキスト形式)
cSample = '"いやーん","れもな","2003/05/03"' + cLineBreak +
'"さいたまさいたましてもいいですか?","たいよう","2003/03/31"' + cLineBreak +
'"異議あり!","謎の弁護士","2003/04/01"' + cLineBreak +
'"ハゲいうな!","C. Alexander","2002/12/26"';
procedure TForm1.FormCreate(Sender: TObject);
begin
InitListBox;
end;
// HeaderControl1のOnSectionResizeイベントのイベントハンドラ:
// ヘッダーコントロールのセクションの幅が変わったときの処理→リストボックスを描く
procedure TForm1.HeaderControl1SectionResize(HeaderControl: THeaderControl;
Section: THeaderSection);
begin
ListBox1.Invalidate;
end;
(つづく)
0294ななしへたぐらま ◆XcB18Bks.Y
NGNG// リストボックスの中身をサンプルデータで埋める
procedure TForm1.InitListBox;
begin
ListBox1.Items.Text := cSample;
end;
// ListBox1のOnDrawItemイベントのイベントハンドラ:ListBox1の項目を描く
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Values: TStringList;
iSec: integer;
SectionRect: TRect;
begin
Values := TStringList.Create;
try
ListBox1.Canvas.FillRect(Rect); // 項目の表示領域を塗りつぶすにょ.
// カンマで区切られたテキストをそれぞれの文字列に分離するにょ.
Values.CommaText := ListBox1.Items[Index];
// それぞれの文字列をヘッダーコントロールのセクションの幅に合わせて描くにょ.
SectionRect := Rect;
for iSec := 0 to Min(Values.Count, HeaderControl1.Sections.Count) - 1 do
begin
SectionRect.Right := SectionRect.Left + HeaderControl1.Sections[iSec].Width;
ListBox1.Canvas.TextRect(SectionRect, SectionRect.Left + 1, SectionRect.Top + 1, Values[iSec]);
SectionRect.Left := SectionRect.Right;
end;
finally
Values.Free;
end;
end;
(終わり)
0295デフォルトの名無しさん
NGNG今は必要になるたびにソースをコピってやっています。
0296281
NGNG色々やってみましたが便法は無いようです。
TCustomGrid.Paintを継承するかDefaultDrawingを切って、へたぐらまさんがやったように
自前描画しかないようです。役立たずですみません。
0297デフォルトの名無しさん
NGNGプロジェクトオプションのデバッグ用dcu
0298デフォルトの名無しさん
NGNGありがとうございます。今までデバッガオプションの中を探してました。
0299デフォルトの名無しさん
NGNGこれだけ異質なものに感じます
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGModulaかAdaを見てみると幸せになれるかも。
要するにPascalの文法はその程度でしかなく不統一。
0302デフォルトの名無しさん
NGNG一方while〜doだとdoの後に呼応するキーワードが無いからbegin〜endが必須。
repeat (文) until (boolean)みたいに、間に単文の場合は;が不要なので、
repeat begin
(複文);
end until (boolean);
みたいに統一した文法で書ける。面度くさいからやらないが。
0303デフォルトの名無しさん
NGNG何これ?
0304デフォルトの名無しさん
NGNGここを参考にImageをDragで動かそうとしたのですが反応してくれません。
ほかのコンポーネントも試してみると、Labelも動きませんでした。
これらのコンポーネントは他のコンポーネントとは扱いが違うのでしょうか?
0305デフォルトの名無しさん
NGNG0306ななしへたぐらま ◆XcB18Bks.Y
NGNGグリッドコンポではデフォルトの描画を切らなくてもオーナー描画できるので
一部のセルだけオーナー描画にしてみました.
グリッドコンポのDefaultDrawingをTrueのままOnDrawCellイベントを使います.
// StringGrid1のOnDrawCellイベント:イベントハンドラ
// ※TextRectの+2は目で見て調整しただけです.
procedure TForm2.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
theGrid: TStringGrid;
begin
theGrid := Sender as TStringGrid;
//// セルに『選ばれてる』属性がついているときだけ自分で描き直す.
if gdSelected in State then
begin
// 背景をグリッドの背景色で塗りつぶす
theGrid.Canvas.Brush.Color := theGrid.Color;
theGrid.Canvas.FillRect(Rect);
// テキストをグリッドの文字色で描く
theGrid.Canvas.Font.Color := theGrid.Font.Color;
theGrid.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, theGrid.Cells[ACol, ARow]);
end;
end;
0307ミ,,゚Д゚ミノ ◆A6VzDeLphI
NGNGprocedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FPreMousePoint :=
Point( (ScreenToClient(Mouse.CursorPos).X - TImage(Sender).Left),
(ScreenToClient(Mouse.CursorPos).Y - TImage(Sender).Top) );
if Button = mbLeft then
SetCaptureControl(TImage(Sender));
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if GetCaptureControl = TImage(Sender) then
if ssLeft in Shift then
begin
with TImage(Sender) do
BoundsRect :=
Bounds( Self.ScreenToClient(Mouse.CursorPos).X - FPreMousePoint.X,
Self.ScreenToClient(Mouse.CursorPos).Y - FPreMousePoint.Y,
Width, Height );
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
if GetCaptureControl = TImage(Sender) then
SetCaptureControl(nil);
end;
0308デフォルトの名無しさん
NGNG0309304
NGNGレスありがとうごさいます。
>>305
いままで ウィンドウ = アプリ窓 = Form1?みたいな概念だったので
勉強になりました。
タスクにはでてないけど、ButtonやMemoもウインドウズで管理されてると思って大丈夫ですか?
>>307
まだSenderやselfを理解していないのでやってることが大まかにしかわからないですが、
画面全体からみたマウスの動きをキャプチャ、その値をImage1のLeft Topに代入して
無理矢理動かすみたいな感じですかね。
http://forum.nifty.com/fdelphi/faq/00044.htm
ここを参考にやったことがあったんだけど、動かすImageがコンパイル後に動的に生成
されたやつで、後から生成されたImageが被さったとき前面にきてしまう、ドラッグ中の
非表示(枠付き)、が難しかったので他の方法を探してたんです。
とりあえず>>304の方法でもPanelにImageを貼り付けたら動かせたのでそれでいきたいと思います。
ありがとうごさいました。
関係ないけど最近プログラミング初めてどんどん睡眠時間が減っていく(;´Д`)
0311デフォルトの名無しさん
NGNG>プログラミング初めてどんどん睡眠時間が減っていく
s/初めて/始めて/
意味は十分伝わるけど、国語の勉強もしような!
無理がきくのは若いうち。何歳くらいなんだろう。
0312毛の生えたふんどし
NGNGVar Form1:TForm1;
で Form1という インスタンス変数なるものを宣言しました。
このインスタンス変数というものはメモリに存在するインスタンス(オブジェクト)の
「何」を格納しているのですか?
我々はコーディングしませんが、裏でインストラクタが呼ばれてインスタンスが生成され、
その「何か」がこのインスタンス変数に格納されるようですけど。
アドレスだけじゃないですよね????
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNGInsideDelphiだったか謎全さんのコンポーネント本だったか塚越さんの解説書だったかに
載っていたと思います。うろ覚えで悪いですが、
インスタンス変数そのものはインスタンスへのポインタ
インスタンスの最初4バイトはそのVMT(仮想メソッドテーブル)へのポインタ
インスタンスの後半はメンバ変数などの保存域
だったかと。VMTは1プロセス全体で共有されます。VMTには上位クラスのVMTへの
ポインタもあって場合によって遡って実行できるようになっています。
間違っていたらごめんなさい。
0315毛の生えたふんどし
NGNGありがとうございました。とりあえず「インスタンスを指し示すもの(ポインタ)」
ということで納得します。InsideDelphiの日本語板はDel2を対象にしたものですが、
Delのメカニズムを理解するのにやっぱり購入しておいた方がいいですか?
近所の本屋に1冊だけボロボロになってあります。
0316314
NGNG塚越一雄氏のDelphiオブジェクト指向プログラミング@技術評論社(平成9年刊)
Delphiに限らずオブジェクト指向そのものについて学べる良本です。
この本を理解すればDelphiの文法側は完璧です。
0317314
NGNG古くなってしまった部分もありますが値段分の価値は十分あると思います。
今ちょっと読み返してますがVMTの構造も載ってますよ。
0318デフォルトの名無しさん
NGNG結構Insideの情報も入ってるし。
0319デフォルトの名無しさん
NGNGそんなところで悩んでいると先に進めないぞ。
VMT の構造なんてバージョン間で互換性は保証されていないし。COM 対応の
V3.x の前後で大きく変更されていると思った。
ほんとに気になるのなら、VCL/RTL ソースを丹念に読むことを進めます。
ほんとは、経験者に一つずつ説明してもらうのが良いんだけどね。
ネットで自習するよりは基礎力付くし。
0320デフォルトの名無しさん
NGNGなんか出版社のマワシモノみたいな流れになってしもたね。
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG出版社の回し者だろうが、良い情報はよいものだ。
いつごろから「〜の回し者ではないですが」って言い回しがあるんだろう。
悪いこと考えている回し者が自分から「〜の回し者です」って言うと思っているんだろうか。
0323277
NGNG色々調べて下さってありがとうございます。
「とりあえず動けば良いや」的にやるのは慎みたいですね。
(その為にはもっともっと精進せねば・・・)
ところでRow、Colを0にするというのは、どういう方法ですか?
RowCountとColCountは0には出来ないですよね?
>>306
ご回答ありがとうございます。
一見しただけでは良く理解できませんが、
(AsとかInとか使った事なくてもメインプログラマーやってます(TT) )
貼り付けただけで解決できました。
(今から何をやっているのか分析してみます)
本当にありがとうございました。
0324デフォルトの名無しさん
NGNGUSBの装置が付いているかどうか、
電源が入っているかどうかを調べる方法を教えて下さい。
よろしくお願いします。
0325デフォルトの名無しさん
NGNGWindowsAPIスレへ逝け
DelphiでWindowsAPIを使うのはとっても簡単
0326デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGインストール出来ません。
下記のように説明が書いてあるのですが、8のコンパイルを
クリックすると「致命的エラー**.pasがありません」と言われます。
それと「既存のパッケージ」はどれを指定したら良いのかも分かりません。
作者に聞こうと思ったのですが、すでにHPは閉鎖していました。
よろしくお願いします。
--------------------------------------------
3.インストール方法
1"***.dcu"をライブラリパスの通ったフォルダにコピーする。
2[コンポーネント]->[コンポーネントのインストール]を選択する。
3[既存のパッケージへ追加]で、ユニットファイル名の[参照]ボタンを押
す。
4[ファイルの種類]を[Delphiコンパイル済みユニット(*.dcu)]に切り替
え、"***.dcu"を選択する。
5[長すぎた行・・]というエラーが出ますが、そのままOKを押す。
6"***.dcu"がエディタで開いているのでそれを閉じる。その際に表
示される、[保存しますか?]のダイアログには必ず[いいえ]と答えること。
7パッケージウィンドウの[コンパイル]を押す。
0329デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG0332328
NGNGttp://home1.infonia.ne.jp/~delphian/delphi/compo/other.html
ここにある
「スケジュール表示コンポーネント」
です。
よろしくお願いします。
0333デフォルトの名無しさん
NGNG作者氏のHPはバッチリ生きてるようだけど??
http://hp.vector.co.jp/authors/VA031252/
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG機能的に大幅な制限が加えられているのでしょうか?
0336デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/del6/features.html
個人的に一番大きいのはVCLソースが付いて来るか来ないかだと思う。
Personalが無料で手に入るとしても、VCLソースにはProの値段を補って余りある価値があると思うよ。
きちんと身につく勉強がしたいならPro一択。
0337デフォルトの名無しさん
NGNGありがとうございます、早速読んできます。
0338デフォルトの名無しさん
NGNG> パラレル接続なのです(TT)
USB ≡ ユニバーサル シ・リ・ア・ル バス なんだけど...。
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNGのにはどのようなロジックが適しているんでしょうか。
無い頭で考えた結果・・・
1. 1/n秒のタイマー内で描画して、描画に1/n秒以上かかってきたらシラネーヨ
2. 別にスレッドを作って、描画にかかる時間をチェックしながら適当にウェイトを入れつつ回す
これくらいしか思いつきません。・゚・(ノД`)・゚・。
0341あぼーん
NGNG0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNGですね。
最高30fpsくらいにして、(33ms - 描画時間)のwaitを入れながらブン回すのが得策かな・・・。
TThread使うことになるのか (((( ;゚Д゚)))
0344デフォルトの名無しさん
NGNGQueryPerformanceCounterとQueryPerformanceFrequencyを使いなされ。
0345デフォルトの名無しさん
NGNGQueryPerformanceFrequencyは使わない方がいいよ。
RDTSC呼ぶから偶に数百ミリ秒止まったりする。
timeGetTimeで我慢するか
RDTSCでウェイトかかるCPUとRDTSCが元々使えないCPUをきちんと排除してから
QueryPerformanceCounterを使いなさい。
0346デフォルトの名無しさん
NGNG非常にクダラン質問ですが、通常1プロセスで一行ずつ順に処理していくところに
自前のタイマー(もどき)を設置して中で延々とグリグリする場合って・・・
どういう置き方をすればいいのでしょう?(´・ω・`
0347デフォルトの名無しさん
NGNGmame32みたいに設定で
QueryPerformanceCounterとTimeGetTimeを切り替えられるようにするのもありだね。
0348あぼーん
NGNG0349デフォルトの名無しさん
NGNGFalcomや海外ゲームがやってるみたいに
全力で回してfpsから移動量(dx, dy, (dz))を計算しましょう。
0350デフォルトの名無しさん
NGNGリフレッシュレートに関する論争
という過去スレを探してそれ読んで下さい。
0351デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNGどのようにすればいいかサッパリ分かりません。
vectorでシェアの登録をしても、
ライセンス認証システムをアプリケーションに組み込まなければ
なりませんよね?
一般的なライセンスを認証するシステムはどのようにして
作るものなのでしょうか?
そのようなコンポーネントはありますか?
ソフト起動時にライセンス認証を求めるといったように
したいです。
0353あぼーん
NGNG0354デフォルトの名無しさん
NGNGDelphiプログラミングバイブルを読め
誰も買わないから安心してフリーにしとけ。
0356あぼーん
NGNG0357デフォルトの名無しさん
NGNGライセンス認証って具体的に何をやりたいんだ
パスワード聞くだけじゃだめなのか?
0358デフォルトの名無しさん
NGNG「解析されてタダで使われたくな〜い」とかじゃないの?
0359あぼーん
NGNG0360あぼーん
NGNG0361デフォルトの名無しさん
NGNGそんなことも考えられない人がシェアウェアで大丈夫?
メールサポート・バージョンアップ頑張ってね。
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGなんでそんなこともできないの?Delphiの限界が垣間見えました。
0364デフォルトの名無しさん
NGNG0365あぼーん
NGNG0366デフォルトの名無しさん
NGNG0367デフォルトの名無しさん
NGNG0368あぼーん
NGNG0369あぼーん
NGNG0370328
NGNGあ、ほんとだ生きてる。
Readme.txtに乗ってたHPに行けなかったのでてっきり
死んでるのかと思ってました。
必要なのはD7です。
バージョン違えば無理なんですよね。
自作するか・・・
0371あぼーん
NGNG0372デフォルトの名無しさん
NGNGだけ音が出ないのはDelphiのバグですか?
0373デフォルトの名無しさん
NGNGプログラム終了してもタイムラグがあってなかなか終了しない。
解決策あれば教えて下さい。
0374あぼーん
NGNG0375デフォルトの名無しさん
NGNG0376あぼーん
NGNG0377デフォルトの名無しさん
NGNGコントロールパネルの設定見た?
0378339
NGNG新世界訳聖書(バイブル)しか持ってません
創世記 7
出エジプト記 97
レビ記 168
民数記 221
申命記 292
ヨシュア記 256
裁きの人の書 397
ルツ記 442
エルサレム記第一 448
エルサレム記第二 507
0379デフォルトの名無しさん
NGNGOnlyWhenIdleのみ変更しました。
おかしいところ教えて頂けませんか?
Active:True
AppicationHasPriority:True
IdleTimeOut:250
Name:IdAntiFreeze1
OnlyWhenIdle:False
Tag:0
0380あぼーん
NGNG0381デフォルトの名無しさん
NGNG貴方の脳みそと、パソコンのバグです。
コントロールパネル>サウンドとオーディオデバイスで、「メッセージ (問い合わせ)」に音を割り当てなさい。
0382デフォルトの名無しさん
NGNG下記のようにしたらEAccessViolationが出てしまいます。
BitBlt(panel1.Brush.Bitmap.Canvas.Handle,0,0, bmp.Width,bmp.Height,bmp.Canvas.Handle,0,0,SRCCOPY);
Panelに直接Bitmapを貼り付ける事はできないのですか?
0383デフォルトの名無しさん
NGNG下記のようにするとEAccessViolationが出てしまいます。
BitBlt(panel1.Brush.Bitmap.Canvas.Handle,0,0, bmp.Width,bmp.Height,bmp.Canvas.Handle,0,0,SRCCOPY);
TPanelに直接描く事は出来ないのですか?
0384デフォルトの名無しさん
NGNG下のソースを参考にしろと言われてプログラムに入れても何も起こりません。
実行→実行時引数とやってファイル名を"C:\WINDOWS\MOUSE.TXT"
0385384
NGNGvar
i:integer;
CaretPos:TPoint;
begin
CaretPos.x := 0;
CaretPos.y := 0;
try
if ParamCount > 0 then
begin
for i := 1 to ParamCount do
if ((ParamStr(i)[1] = '/') or (ParamStr(i)[1] = '-')) and (Uppercase(ParamStr(i)[2]) = 'J') then
CaretPos.y := StrToInt(Copy(ParamStr(i), 3, Length(ParamStr(i))))
else
FileName := ParamStr(i);
if FileExists(FileName) then
begin
Screen.Cursor := crHourGlass;
RichEdit1.LoadFromFile(FileName);
Screen.Cursor := crDefault;
Caption := '2ch [ ' + FileName + ' ]';
if CaretPos.Y >= 0 then
RichEdit1.CaretPos := CaretPos;
end;
end
else
CreateNewFile(Self)
except
end;
end;
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG//Image1はビットマップロード済みTImageオブジェクト
procedure TForm1.Button1Click(Sender: TObject);
var
DC:HDC;
begin
DC := GetDC(Panel1.Handle);
try
BitBlt(DC,0,0,Panel1.ClientWidth,Panel1.ClientHeight,
Image1.Canvas.Handle,0,0,SRCCOPY);
finally
ReleaseDC(Panel1.Handle,DC);
end;
end;
0388デフォルトの名無しさん
NGNGTForm.CanvasとTBitmap.Canvasの挙動って違うものなのでしょうか。
それと、TPanelにCanvasが無いのは何故でしょうか。重箱の隅をつつくようですみません。
0389デフォルトの名無しさん
NGNGそーぞーでしかないけど
Panelはあくまで何かを載せて使うものだからじゃないのかな。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGていうか、なんでステップ実行ぐらいしないのかと。
0392デフォルトの名無しさん
NGNGんで、普通のメニューの場合「ファイル(F)」なら、ALT+F で選択されると思います。
でも、TToolBarにMenuを指定した場合、「ファイル(F)」のとき、単に”F”キーだけで選択されてしまいます。
これを回避(ALT+Fでのみ選択されたい)するにはどうすればよろしいでしょうか?
0394デフォルトの名無しさん
NGNG別ユニットファイルからForm1のコンポーネントの操作ってできないのでしょうか?
未定義の識別子エラーが出てコンパイルできないのです。
どなたか解決策を教えて頂きたいのですが。
0395デフォルトの名無しさん
NGNGuses
その説明はよく分からんが、パス通ってる?
パス通ってれば問題無いと思うが。
「パス通ってる」って何?って聞かれないことを望む。
0398394
NGNGありがとうございました。
0400397,399
NGNG0401デフォルトの名無しさん
NGNGコンポーネントにIdPOP3を使用して
メールをチェックしているのですが、
try
IdPOP31.Connect;
〜
〜
finally
IdPOP31.Disconnect;
と〜の部分にイベントを書いているのですが、
サーバーに接続出来た時はうまくいっているのですが
接続出来なかった時のイベントは
どこにあるのでしょうか?
接続が出来なかった時に
接続に失敗しましたというメッセージを出すように
サンプルを書いて頂けませんか?
どうぞよろしくお願いします<(__)>
0402デフォルトの名無しさん
NGNGTIdPOP3は使ったこと無いからアレだけど、例外出ませんか?
だとしたら、例外をキャッチすればいいと思います。
0404デフォルトの名無しさん
NGNGお勉強し直し。と言っていきたい。
0405381
NGNGtry
except
ですね!できました。
ありがとうございました<(__)>
0406デフォルトの名無しさん
NGNGがんばれ。
0407デフォルトの名無しさん
NGNGhttp://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0531-2
Delphi7Personalが入ってるってほんと!?
それで2600円!?
すごいねぇ
0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNGこの本が欲しい。
0410デフォルトの名無しさん
NGNGいいね〜
Del6perとDel7perって何が違うんだっけ
0411デフォルトの名無しさん
NGNG値段。
0412デフォルトの名無しさん
NGNGXP Visual Styleへの対応。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG入れ替えるっていうか、通常のWindowsコントロールは、
変なことしてなければmanifestつけるだけでXPStyle対応になる。
Del6は変なことしてるわけだ。
それと、SpeedButtonとかWindowsのコントロールじゃない独自の
コンポーネントがXPStyleで表示されるようになる。
あとは、自分のカスタムコンポーネントをXPスタイルで表示するときに
便利なクラスが付いてくる。
ただし、XPStyle対応は中途半端な感じ。たぶんやる気ないんだろ。
Del6でもフリーのやつを使えばDel7と同じくXPStyle対応になる。
てゆうか、Del7のXPStyle対応は、そのフリーのやつを使ってる。
0415デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG誤植じゃねーのか??
0418デフォルトの名無しさん
NGNG右上に記載されているCD-ROMの文字の下の部分
http://images-jp.amazon.com/images/P/4798005312.09.LZZZZZZZ.jpg
0419デフォルトの名無しさん
NGNGキャンセルボタンがクリックされたときは終了を中止したいんですけど、どうすればいいんでしょうか
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGこれサンプル見ても使い方がわからないのですが
どうやって使うのでしょう?
最低限のサンプルソースを書いてもらえませんでしょうか?
0424デフォルトの名無しさん
NGNGそれちょっと前に書店で見たけど
入ってるのはD6perだよ
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG| ペルソナにレッツゴー ニャ!!
\_ _____
∨
『 ゴォォォォォ…
¶ ∧ ∧ / ̄ ̄ ̄ヽ
∧ ∧ ‖(* ゚Д゚)⊃ / ̄∈≡∋ ̄ヽ
(* ゚ー゚) / ̄U ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
( ̄ヽ/ ̄ ̄ ̄ ̄ ̄ ̄ ┏┓┏┓ ¢ \
∈≡∋ 〓 ┃┃┏┛ 〓 ¢ )
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
0428デフォルトの名無しさん
NGNG。
/┃ Λ_Λ
| ┃ ( ・∀・)
You ○ GOD ←be動詞⊂| ⊂ )
| ┃ | | |
\┃ (_(_ )
゜
0429デフォルトの名無しさん
NGNGOnCloseQueryでやれば?
0430デフォルトの名無しさん
NGNGHTTPコンポーネントはmonazillaで少し解説されていますが、FTPコンポというと、どうも見当たらなくて。
どなたか教えて下さい。
0431デフォルトの名無しさん
NGNGbegin
hogehoge
TForm1.Button1Click(Sender);
end;
のように手続きを再帰的定義したいのですが、どうしたらよいのでしょうか?
Sender: TObjectって何なんなのか、さっぱりわかってないです。
パスカルについては知識があるんですが、
Delphi初心者で、オブジェクト指向がなんなのかさっぱりわかりません。
0432デフォルトの名無しさん
NGNGIRCクライアントを作ろうと考えていて、IndyにIRCコンポがあるのまでは
わかったのですが、どうやって使ったらいいのか見当も付きません。
日本語HELPの場所も教えてもらい、落としたのですが、
説明らしい説明がのっていません。
書籍の紹介もふくめて教えてもらえないでしょうか?
0433400
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('hogehoge');
Button1Click(Sender);
end;
これで、無限ループになるよ。
Senderは複数のコンポーネントで1つのイベントを共用するとき、
どのコンポーネントから呼び出されたのか調べるのに使ったりする。
たとえば、この場合、TButton(Sender).Nameで名前が取り出せる。
0434デフォルトの名無しさん
NGNGButtonClick1(Sender)とすれば良し。(クラス名はいらない)
hogehogeのなかでSenderを参照しないならButtonClick1(nil)でもいい。
Senderの説明はこのスレの最初の方にあったような。
0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG>>434
ふむふむ、ありがとう。
0438400
NGNGぐぐっても日本語解説ページが出てこない(涙)
ML過去ログ検索にも無かったし。
漏れとしてはIRCクライアントが自作できれば、
Indyじゃなくてもいいんだけど…。
ほかに方法があるなら教えてください。
0440ななしへたぐらま ◆XcB18Bks.Y
NGNG恐らくあなたが実行しているコンピュータには"C:\WINDOWS\MOUSE.TXT"というファイルが存在しません.
普通は存在しないファイルを読み込もうとすると例外が発生するのですぐにわかるのですが
このソースコードでは指定されてファイルが存在しない場合には何もしないようになっているので悩まされる羽目(はめ)になったのです.
> try
> if FileExists(FileName) then
> Screen.Cursor := crHourGlass;
> Screen.Cursor := crDefault;
> except
> end;
これらの行を削除して実行してみてください.
このソースコードは他にも色々と問題を抱えているのですが長くなるので省略します.
ユーザーがパラメータの指定を間違ってしまった場合にも
何が間違っているかを親切に教えてあげるようなプログラムを目指してください.
0441デフォルトの名無しさん
NGNGvar
s : String; P : PChar;
begin
s := 'Yatterman Coffe Lighter'; //23文字
P := PChar(s);
Inc(P, 10);
s := P;
Showmessage(s); // 'Coffee Ligther'
end;
結果、 sは、期待した通りになったのですが... 不安です。
0442デフォルトの名無しさん
NGNG間違ってはないけれどちょっと危なっかしいなとも。
0443デフォルトの名無しさん
NGNGs := Copy(s,10,length(s));とかじゃダメ?
0444441
NGNGみなさんが普通に使ってないところを見ると、やはり問題があるのかもしれませんです。
普通にCopyを使うことにします。ありがとうございますた。
0445デフォルトの名無しさん
NGNGPの長さを越えてIncしないことを保証できれば問題ないと思う。
>Copy(s,10,length(s));
こっちはsの長さを越えた場合に末尾までしかコピーしないことを保証してる
(多分内部では上と同じことをしてると思う。長さの確認付きで。)のでこっちが
安全でいいと思うよ。簡便だし。
0446デフォルトの名無しさん
NGNGクライアント⇔サーバの通信プログラムで、
顧客コード(固定長8文字)
顧客名(固定長32文字)
電話番号(固定長16文字)
集計コード(固定長24文字)
というデータ(全部ASCII)をやり取りしたいのですが、Cでいう構造体の
使い方が判らず80文字のChar配列をバッファとしてとって
Move (Rcvbuf[8], CustomerName[0], 32)
とか、我ながらバカみたいな事やってます。
Delphiではどう書くのがいいのでしょう?
0447デフォルトの名無しさん
NGNGcode:array [0..8-1] of Char;
name:array [0..32-1] of Char;
tel:array [0..16-1] of Char;
sum:array [0..24-1] of Char;
end;
だけど、80文字のバッファを取っておいて
Type CustomerCode = 0..8-1;
Type CustomerName = 8.8+328-1;
って感じで範囲型を定義して作る事もあるし、サイズを定義ファイルにしておいて 実行時に変更出来るようにする事も多いし
0448bloom
NGNG0449デフォルトの名無しさん
NGNGDelphiの限界が垣間見えました
0450デフォルトの名無しさん
NGNGDelphiの限界が垣間見えました
0451デフォルトの名無しさん
NGNGプ
0452デフォルトの名無しさん
NGNGそしたら、桂馬がまともに動かないというんだ。
コントローラを横押して縦に2つって言ったら、
「それは桂馬の動きじゃない」んだってさ。
0453デフォルトの名無しさん
NGNG超初心者向けのスレに来ておいて詰まらないこというね君
0454デフォルトの名無しさん
NGNGたのみますー
おねがいしますー
ThemeManagerの使い方がわかりませぬー
先生方どうぞよろしくお願いします
フォームに貼り付けるだけじゃ駄目でした・・・
0455デフォルトの名無しさん
NGNG>>449
Position := poScreenCenter とした上で、どのプロパティの値が指定した
値どおりに動かなかったのですか?
VB では poScreenCenter 相当の動きが異なるのかなぁ。
0456446
NGNGありがとうございます。
しかし、recordを作ると TIdTCPClientでwriteの引数に使おうとすると
Stringと互換性がないといってコンパイルできないのです・・・
recordをstringにキャストできないのでしょうか?
0457デフォルトの名無しさん
NGNGWriteBuffer を使えないの?
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGうぉぉぉぉ出来た!
多謝。
C⇔Delphiの解説って、
Cだといいかげんに出来る=Delphiだとはまりまくる型変換に
詳しく触れてないからすげー困っていたんですよ。
系統立てて勉強しないでいきなり作り始めた私が一番悪いんですけど・・・
0460ねこま
NGNGTStringStream を使うか,
SetLength した string へ Move する事ができます.
0461デフォルトの名無しさん
NGNG0462466
NGNGところでarray of char に値を代入する時の正しい作法ってどのような
やりかたなのでしょうか?
Stringをぶち込む事もできるし(なぜか24byteまでのようですが)
Moveでコピーする事も出来るし・・・
0463デフォルトの名無しさん
NGNGOpenJaneでみると、レス番号がずれてる。
0464デフォルトの名無しさん
NGNGWindowsXPではヒントが表示されません。原因は何でしょうか?
procedure TForm1.StringGrid3MouseMove(Sender: TObject; Shift: TShiftState;X, Y: Integer);
var
MousePos:TPoint;
m,d:Integer;
ACol,ARow:LongInt;
begin
Application.HintPause:=0;
StringGrid3.MouseToCell(X,Y,ACol,ARow);
if (ACol in [1..33]) and (ARow in [3..34]) then
begin
m:=cal[ACol+4,0];
d:=cal[ACol+4,1];
StringGrid3.Hint:=IntToStr(m)+'月'+IntToStr(d)+'日'
+'('+StringGrid3.Cells[ACol,2]+')'+' '+StringGrid3.Cells[0,ARow];
Application.ActivateHint(ClientToScreen(MousePos));
end
else StringGrid3.Hint:='';
Application.HintPause:=500;
end;
0465わか
NGNGインターネットで営業をしませんか?
営業が得意な方は、年商1000万円稼げます。
私と仲良くビジネスをしませんか?
http://www.c-gmf.com/index1.htm
http://www.c-gmf.com/index2.htm
http://www.c-gmf.com/index3.htm
http://www.c-gmf.com/mail.htm
クーポン屋でございます。貴方のHPにバナーを貼るだけで
稼げます。本当にお金が欲しい方は、相談にのります。キャッシュバック制度!
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGBorland公式ページ・Delphi で DLL を作成する
http://www.borland.co.jp/qanda/delphi/d0000004.html
0469デフォルトの名無しさん
NGNGサンクソ
0470デフォルトの名無しさん
NGNGサイズを変更(リサイズ)出来ないようにするにはどうすればいいのでしょうか?
0471ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNG0472デフォルトの名無しさん
NGNG0473天災プログラマ
NGNG0474好きなのもってけ
NGNGhttp://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E5%8D%8A%E8%A7%92%E3%80%80%E5%85%A8%E8%A7%92%E3%80%80%EF%BD%84%EF%BD%85%EF%BD%8C%EF%BD%90%EF%BD%88%EF%BD%89&lr=
0475Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / 半角⇔全角
ミ,,゚Д゚彡 < カタカナ⇔ひらがな
ミ つ旦)~~ \ 変換する関数です
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪ うpしますた。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1052839862
0476デフォルトの名無しさん
NGNG0477470
NGNG0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNGViaVoiceでもかってください。
0480デフォルトの名無しさん
NGNG0481スレたてられないので誰かかわりに立てて
NGNGこれからの某ランドの主力言語はC# Builder
発売日もDelphiの方があと。
ユーザーからも見捨てられて、もう虫の息。
今まで夢をみさせてくれてありがとう。
過去スレ
http://pc2.2ch.net/test/read.cgi/tech/1035539926/
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNG直前にアクティブだったウィンドウを取得する方法教えてください。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNGC++Builderの方が本命。
.NETの方が本命ということならなっとく。
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGw32スレに行ってみるといいよ。
http://pc2.2ch.net/test/read.cgi/tech/1052651750/
0489デフォルトの名無しさん
NGNGわかりました。いってきます。
0490天災プログラマ
NGNGできました、できました。
生まれて40年、悩み続けたのが嘘みたいです。
ありがとう
0491デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNG型が完全に合っていて class じゃないなら
A^:=B^;
0495デフォルトの名無しさん
NGNG簡単な計算プログラムを作ってるのですが
小数点を使う場合で悩んでます。
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
j:Integer;
begin
i:=SpinEdit1.Value;
j:=10;
SpinEdit2.Value:=i+j;
end;
整数型だとこんな感じかと思うのですが
0.1や1.5等小数点の場合どのようにすればよいのでしょうか?
よろしくお願いします。
0496デフォルトの名無しさん
NGNGvar
i:Float;
j:Float;
begin
i:=SpinEdit1.Value;
j:=1.5;
SpinEdit2.Value:=i+j;
end;
0497デフォルトの名無しさん
NGNGFloatで試したのですが未定義の識別子:'Float'の
エラーになってしまいます・・・・・
0498デフォルトの名無しさん
NGNGこれを有料で購入した場合、マニュアルがついてくるそうですね。
これには何が書かれているのですか?理解を深めるためには購入したほうがいいのですか?
0499デフォルトの名無しさん
NGNGFloatじゃなくてExtendedかDouble
>>498
\Borland Delphi Personal Installer\documentation\
のPDFがそれ。
0500デフォルトの名無しさん
NGNGSpinEditのValueって整数型でなかったかな
つーかSpinEditって最近使った記憶がない
ふつーWin32タブにあるUpDownを使うことが多いと思うけど
これも整数型用なので
漏れならOnClickのイベントハンドラで増減して
その値をFormatしてEditに書き込むとかするだろうね
0501498
NGNG購入しませんw
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGこのソフトはXPでは起動するたびにエラーが出るんです
0504RS-232
NGNG0505デフォルトの名無しさん
NGNG0506RS-232
NGNG0507デフォルトの名無しさん
NGNGどこについて知りたいのかを書いたほうがいいよ
0508デフォルトの名無しさん
NGNGDelphiは何を使っていますか? pro なら CDROM に 日本語のAPIヘルプがあります。
[通信の概要]を見ましょう。
持ってなければ、 以下を MSDNサイトで検索するといいでしょう
BuildCommDCB
EscapeCommFunction
SetCommState
SetCommTimeouts
SetReadTimeOut
CreateFile
WriteFile
ReadFile
CloseHandle
例:http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_buildcommdcb.htm
0509RS-232
NGNGからでるシグナルをキャッチしたいのですが
外部装置の制御の経験がなく全く何が必要か
わからないです。
まず概要教えてもらえますか
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG目標は、「IEやエクスプローラのツールバーに表示させて使うMP3プレイヤー」です。
しかしながら何から手を付けていいやら全く分からず、途方に暮れています。
どなたか哀れな私めに手ほどきをしてやって下さい・・・。
0512495
NGNGそれでもエラーが出ます・・・・
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, Ans: Double;
begin
i := StrToFloat(Edit1.Text);
j :=0.1;
StrToFloat(Edit2.Text):=i+j;
end;
0513デフォルトの名無しさん
NGNG○ Ans:=i+j;Edit2.Tex := Format('%10.3f', [Ans ]);
0515デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
の初心者向けを片っ端から読む。
0516デフォルトの名無しさん
NGNGありがとうございます。
勉強してきます!
0517デフォルトの名無しさん
NGNGDelphi4 用だから Delphi5 で動くかどうかはわからんけど、ソースがついてるから頑張れば何とかなるかと。
あと簡単なテストプログラムがついてるから、サンプル代わりになるよ。
ttp://www.vector.jp/soft/dl/win95/prog/se077144.html
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG君はそれが面白いと思ったわけだ
0520デフォルトの名無しさん
NGNGやめとけ、睡眠した方が有意義だ。
0521デフォルトの名無しさん
NGNGborlandのサイト探したけど、情報が見つかりませんでした。
0522デフォルトの名無しさん
NGNGProfessionalなら、\25,200
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG封書が届くはず。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGサンクスです。ちなみに赤版からでもアップグレードできますか?
0527デフォルトの名無しさん
NGNG効果音ファイルなどを再生するときに、
ボタンを押した瞬間から読み込んでいるらしく、
実際に音がなるまでに時間がかかってズレてしまうのですが、
これは仕方ないんですか?
0528デフォルトの名無しさん
NGNGあなたの作り方が悪いのです。
0529毛の生えたフサギコ
NGNGコードをアップすればアドバイスがいただけるかものはし。
0530527
NGNG0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG2度目の再生は早いの? 2度目が速いのなら、先にファイルをファイルとして前半少しだけ読み込んでおいたら?
そうしたらWindowsにキャッシュされるから早くなるよ。
0534デフォルトの名無しさん
NGNGもしかして530本人? 最近騙りで煽ってるの多いけど面白いのかな?
0535デフォルトの名無しさん
NGNGたぶんできまつ。うちにも封筒来た。捨てたけどw。
0536毛の生えたフサギコ
NGNGDelの情報交換スレで他のものはほとんどプログラミングテクニックと
関係ない話しで進行しているので、ここだけでも、初心者向けに
まともなレスの応酬で機能させたいので、どうかご協力をおねがいします。
0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNGそれをボタンなどを押す事で、オートスクロールさせたいのですが、
どのようにしたらよいですか?
0539538
NGNGテキストを読み込ませるまでは出来てます。
オートスクロールの部分だけ良く判らないのです。
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNGという動作をさせたいのですが。
000
111
というTStringListの一列目に333という行を挿入したいのです
333
000
111
こういうふうに。どのようにすればいいでしょうか?
0542デフォルトの名無しさん
NGNGただし、これを使ったプログラムはパフォーマンスが悪い事がおおいよ。
0543デフォルトの名無しさん
NGNGDestructor Destroy;
とするのと
Destructor Free;
とするのでは、何か違いはありますか?
Freeという名前のデストラクタを作っていなくてもFreeが使えるのですが、
もしかして、クラスで用意したデストラクタを使いたくない時は宣言と違う
開放メソッドを呼び出すなどという使い方をしますか?
0544デフォルトの名無しさん
NGNGFreeはデストラクタではありません。
FreeがDestroyを呼び出します。
ですからデストラクタとして再宣言してはいけません。
基本的にFreeを継承して変更も、しない方がいいです。
0545543
NGNGレスクス。
なるほど。今までクラス作る時はデストラクタのメソッド名にFreeとかしてましたが、
それはダメなんですね。
では自作クラスの場合のデストラクタの名前は
Destroyにするのが一番良いのでしょうか?
それと、継承したクラスを作った場合、
コンストラクタでCreateを作り、それが上位クラスのCreateと
引数が違う場合は隠してしまいますよね?
その状態でデストラクタのみ継承するのは止めた方が良いのでしょうか?
0546デフォルトの名無しさん
NGNGxx.free; は もし xxがnilならデストラクタを呼ばないようになっています。
if xx<>nil then xx.Destroy; と書く代わりに使う訳です。
そういう作法になっているので、既に解放したクラスでも 他人はfreeを呼び出します。
といっても、実際にはライブラリがが操作する場合は、 xx は上位クラスにダウンキャストして
操作されるでしょうから自分が使う分には実際に問題にはならないでしょうが・・・
基本的にデストラクタは
destructor Destroy; override;
とオーバライドして使わなければいけません。
デストラクタのみ継承するのは全く問題ありません。
0547デフォルトの名無しさん
NGNGそりゃ最上位のTObjectで宣言されているメソッドですから
>クラスで用意したデストラクタを使いたくない時は
>宣言と違う開放メソッドを呼び出すなどという使い方をしますか
そういう状況が、具体的にあるの?
Destroy以外にクラスを解放する方法ない。
(あることすればできるが、面倒なだけで意味ない)
0548543
NGNG>>546
>デストラクタのみ継承するのは全く問題ありません。
そうなんですね。これで安心して上位のCreateを隠せます。
(隠しちゃっても良いのだろうか・・(^^;)
>>547
>そういう状況が、具体的にあるの?
ごめんなさい。Freeが単なるメソッドじゃなくデストラクタだと思っていたので
何か分ける意味があるのかなぁと、無意味な事を想像してしまいました。
0549
NGNGインストールのためのファイルを落としてきました。
で、それをインストールしようとしてファイルを実行したのですが、
実行するとすぐ、「不正な処理を行ったので・・・強制終了しました」の
エラーが2回でます。
そのあと、普通にインストールのためのダイアログがでるのでインストールは続行でき
るのですが、その変なエラーが気になってその先には進んでいません。
試しにSAFEモードで立ち上げて、同様にインストールを試みましたが同じエラーがでます。
ファイルも何度も落としなおして試しましたが変わりません。
なぜこんなエラーがでるのでしょうか?
このまま気にせずインストールしていいのでしょうか?
教えてやってください。
OSはWIN98です。
0550コピペ推奨
NGNGhttp://www.microsoft.com/japan/presspass/releases03/051503_VS03_t1.asp
なんと7,800円と、Delphi Personalよりも安いではありませんか!
しかも商用開発できないなどとのクソマヌケな制限もありません!
7,800円がすぐに払えない人には無料のSDKもあります!
どうしてDelphiなんか続ける理由があるのでしょうか?
今すぐVB.NETで最先端の開発環境を体験しましょう!
LonghornのGUIは.NETでこそ最良のエクスペリエンスを受けることができます!
0551デフォルトの名無しさん
NGNGそれだけじゃ判らんよ。とりあえず気にせずにインストールしてみたら?
Delphiは特にWindowsを弄ったりはしない筈だから、他のアプリが変になったりの可能性は少ないし。
0552549
NGNG即レスありがとうございます。
「それだけじゃわからん」・・・とは、では他にどういう情報が必要でしょうか?
とりあえず、インストールするのはなにか少し怖いのですが・・。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNGこんなダイアログ?
http://www.borland.co.jp/delphi/devsupport/d6issues.html
とりあえず自分のHDDScanDiskをかけてみて、それで問題なくて、
,InstalShealed Wizard がファイルの保存場所 ってのから始まっているならインストールしてみたら?
0555デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/devsupport/
ここからアップデートファイル落としてアップデートした方がいいよ。
0556549
NGNGそのHPにあるようなのをでてません。
ただ・・・ファイルの保存場所ってのはでるので、ではこわいですが、
試しにインストールしてみます。
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG当然、 ウイルスチェックはしてるよね? ScanDiskのかけてるよね?
細かい手順はここにあるから比べて確認してみたら?
http://www.ss.u-tokai.ac.jp/~oomori/news/del6install.html
0559549
NGNGありがとです。
ウイルスチェックと、スキャンディスクはしました。
他に何か試してみることはありますか?
そのHP見てみます。
0560デフォルトの名無しさん
NGNG商用開発もできないインチキIDEを広めるなよ。(ワラ
どうせ将来は.NET化するんだから今のうちに.NETやっておいた方がいいだろ。(ゲラ
0561毛の生えたフサギコ(実はブリーフ)
NGNG2−6から2−7にかけてのサンプルプログラム、例外が発生します。
どこがいけないのでしょう?
0562デフォルトの名無しさん
NGNG何か仕事で嫌なことでもあったのかい?
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGゼロから始めるDelphi講座
http://www.text2music.com/text/delphi/zero/index.htm
Delphi-ML過去ログ
http://www2.big.or.jp/~osamu/Delphi/
Delphi広場
http://www.sakaki.keiaikai.or.jp/
0565デフォルトの名無しさん
NGNGどう書けばいいですか?
例えば
String := 'abcdefghijk';
だったとすると、
『a』を削除して'bcdefghijk'にしたいです。
どうかお教え下さい<(__)>
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG素早いレスを感謝です<(__)>
0568ななしへたぐらま ◆XcB18Bks.Y
NGNGファイルからの読み込みによる再生の遅れは
あらかじめメモリの読み込むことで解決できると思いますが
sndPlaySound APIで再生する場合,
どうもファイルの読み込み時間とは別に
実行時の1回目の呼び出しのみ遅れが発生する場合があるみたいです.
(職場でメインマシン(Win XP)で発生,別マシン(Win 95/PC-9821系))
うちの環境では↓こんな風に実行して回避しましたが
sndPlaySound(nil, SND_ASYNC or SND_MEMORY);
他はどうなのかなぁ.
>>542
大量・高速な処理が求められるのでなければ
特に気にしなくてもよいと思いますが,どうでしょう?
>>550
19800円の版は商用開発できるのかな?
だったら昔のDelphiみたいでいいなぁ.
0569ななしへたぐらま ◆XcB18Bks.Y
NGNG// メモリストリームのリストクラス
TMemoryStreamList = class(TObjectList)
private
function GetItems(index: integer): TMemoryStream;
public
function Add(NewStream: TMemoryStream): integer;
property Items[index: integer]: TMemoryStream read GetItems; default;
end;
// フォーム:FileListBox をはりつけています
TForm4 = class(TForm)
FileListBox1: TFileListBox;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FileListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
FWaveStreamList: TMemoryStreamList;
procedure LoadWaves;
procedure PlayWave(Number: integer);
public
end;
(つづく)
0570ななしへたぐらま ◆XcB18Bks.Y
NGNG// Windowsのフォルダを\付きで返す
function WindowsPath: string;
var
p: array [0..MAX_PATH] of char;
begin
Windows.GetWindowsDirectory(p, MAX_PATH);
Result := IncludeTrailingBackslash(p);
end;
{ TMemoryStreamList }
function TMemoryStreamList.Add(NewStream: TMemoryStream): integer;
begin
Result := inherited Add(NewStream);
end;
function TMemoryStreamList.GetItems(index: integer): TMemoryStream;
begin
Result := inherited Items[index] as TMemoryStream;
end;
(つづく)
0571ななしへたぐらま ◆XcB18Bks.Y
NGNGprocedure TForm4.FormCreate(Sender: TObject);
begin
FileListBox1.Directory := WindowsPath + 'media'; // WAVEファイルのある場所
if FileListBox1.Items.Count >= 1 then
FileListBox1.ItemIndex := 0;
FWaveStreamList := TMemoryStreamList.Create;
LoadWaves;
end;
procedure TForm4.FormDestroy(Sender: TObject);
begin
FWaveStreamList.Free;
end;
// WAVEファイルを片っ端から読み込む
procedure TForm4.LoadWaves;
var
i: integer;
iNew: integer;
begin
FWaveStreamList.Clear;
for i := 0 to FileListBox1.Items.Count - 1 do
begin
iNew := FWaveStreamList.Add(TMemoryStream.Create);
FWaveStreamList[iNew].LoadFromFile(FileListBox1.Items[i]); // メモリストリームにWAVEファイルのイメージを読み込む
end;
sndPlaySound(nil, SND_ASYNC or SND_MEMORY); // 無音再生.これを実行しないと1回目の再生が遅れることがあるようです
end;
(まだつづく,すいません)
0572ななしへたぐらま ◆XcB18Bks.Y
NGNGprocedure TForm4.PlayWave(Number: integer);
begin
sndPlaySound(nil, SND_MEMORY); // 再生してたら止める
sndPlaySound(FWaveStreamList[Number].Memory, SND_ASYNC or SND_MEMORY); // 再生(再生が終わるのを待たない)
end;
(おわり)
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG安い燃料だ。
0576デフォルトの名無しさん
NGNGが実行時に見えなくなるのは仕様ですか?
0577デフォルトの名無しさん
NGNGBDEの設定画面でバージョンを見ると5.0.1のままなのですがUpDate出来てるのでしょうか?
何処を確認すればいいのでしょうか?
0578デフォルトの名無しさん
NGNG仕様です。ていうか普通ダイアログボックスにメニューは付かない?
どうしても似たような事がやりたければToolBar+PopupMenuで似たようなことが出来る。
0579
NGNG一から勉強したいのですが、お勧めのいい本はないでしょうか?
教えてください。
0580デフォルトの名無しさん
NGNGHSPの方が良いよ。自分で情報を探すって言うプログラミングを学ぶための最低条件満たせない人。
0581デフォルトの名無しさん
NGNGDelphi付属のマニュアル熟読。
プログラミング中にどうしてもコンポの動作がわからないときは、
VCL内をデバッガで追っかけ。
0582デフォルトの名無しさん
NGNGここで人に聞くというのもある意味自分で情報を探してるわけだがw
0583デフォルトの名無しさん
NGNGGoogleで検索すれば大体のことは分かる
0584デフォルトの名無しさん
NGNGチュートリアルをみてテキストエディタを作る→作れない→検索→Σ(゚д゚lll)ガーン→WEBで同じような入門ページをハッケソ→(゚д゚)ウマー
0585579
NGNGググって自分で探してみますです。
0586579
NGNG>コンポーネントパレットの[Additional]ページにある
>ActionManager コンポーネントをダブルクリックして,
のところがわかりません。
[Additional]ページにActionManager コンポーネントなんてないのですが・・。
0587デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNG0590Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ マタリ自作ツール開発です
質問っす。
このあたりの
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1001489683&res=7&fi=no
CUIプログラムを作っているですが、
このプログラムをAとして
コマンドラインで表示するのではなく
違うプログラムBからAを起動して
Aがコマンドラインで出力する値を
プログラムBで受け取るにはどうしたらいいですか?
すまそ、検索ワードが思いつかないので聞いてみるです。
0591デフォルトの名無しさん
NGNG料金をご存知の方教えていただけませんか。
これからDelphiを買おうと思っているのですが、アップグレード
料金によって、製品版を買うかアカデミック版を買うか迷っているので。
0592デフォルトの名無しさん
NGNG某のホームページからメルすると見積もり金額FAXしてくる。
で、ユーザは振り込み前に製品郵送して貰えるぞ。
自分とこは、安売り案内に書かれてない別製品買うのでだったので諦めてたが、
2マソ安くなった。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG検索キーワード
CreatePipe
名前なしパイプ
0595Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ旦~~
調べてみます。アリガトです
PopupMenuを開くCUI形式でプログラム作ってて
あるプログラムから起動かけて
Popupで選んで、何を選んだかを
呼び出したプログラムに返すっつのを
つくってるです。
Popupが消えてくれなくて、難しいっすね。
0596デフォルトの名無しさん
NGNGWindowsの作法だと、そういうのは普通DLLにするもんじゃないの?
0597デフォルトの名無しさん
NGNGActionManagerを検索
0598586
NGNGありがとう。
↓ということですね・・・
-------------------
チュートリアルで使っているコンポーネント、ActionManagerが無いんです・・。
これはProfessional版以上に付属しています。 ActionManagerが無くても何とかなるのですが、チュートリアルとしては難しそう(^^;;
まぁ、このチュートリアルは放っておいて、他の事から挑戦する方がいいかも。
-------------------
しかし、まいったな・・・「他のことから挑戦」と言われてもどうしたらいいんだか。
0599デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/coco-nut/
0600Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ EmEditorPluginのPopupメニューつき
機能のDLLサイズがでかいので
それだけ別Exeにしようとしてまして。
0601Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ Popupを消してるんでしょか・・・
program Project2;
uses
SysUtils, Dialogs, Controls, Forms,
Unit1 in 'Unit1.pas' ;
begin
DataModule1 := TDataModule1.Create(Application);
try
DataModule1.PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
Application.ProcessMessages;
finally DataModule1.Free; end;
end.
このようにして、PopupMenuを
表示させているのですが、
普通の動作のように
他のアプリにフォーカスが移動しても
menuを選択するまで表示が消えません。
どうやったら普通の挙動のように
動かすことができるでしょうか?
0602デフォルトの名無しさん
NGNG別exeにするくらいなら VCL使わずにプログラムした方がいいように思うのだが?
0603Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ PopupMenuを表示させる方法を
知らないので。
あと楽なRADも使いたかったと。
0604デフォルトの名無しさん
NGNGVCLのPopupMenuのソースの中を出刃蛾でおいかけろ
0605デフォルトの名無しさん
NGNG何の為にDelphiやるの?
何を作りたいの?
プログラミング自体が初心者ならジャンケンゲームとか作ってみれば?
0606598
NGNG↓みたいなことをやりたいのです。道のりは長そう・・・
あるアプリケーションの画面情報(おもに数字)を読みとって、ある特定の
変化が起きたら(例えば「5」という数字が表示されたら)音を鳴らす。
そういうプログラムを組みたいのです。
欲を言えば、「音をならす」だけでなく、さらに
プログラムが自動的にネットにアクセスしてある操作を行う
0607598
NGNGわかり、あきらめました。
代わりに解説書で頑張ってみようと思い、さっき本屋に行って来ました。
しかし・・・デルフォイの解説書が全くありませんでした。
大きな本屋じゃないとおいてないのかな。
というより、ちょっと不安になったのは、本が全くないってことは、
デルフォイってすごくマイナーなのですね。
C#とかVBとか言うやつの本は一杯あった。うーん、そっちの方が情報が手に入れやすくて
初心者には向いているのでしょうか?
0608デフォルトの名無しさん
NGNG初心者に留まらせるに向いている。
一生初心者で良いならどーぞ。
0609608
NGNGC#やVBをやって、初心者に留まるなら〜
ドトネトはクラスライブラリのコードが無いから、外からプロパティやメソッドを使うしかない。
悪いコーディングが身に付く。
0610デフォルトの名無しさん
NGNGムキになるな。 初心者向けから上級者まで幅広くあるのと、
いい本かどうかさえ分からない本が少数しかないのでは全然違うぞ。
0611デフォルトの名無しさん
NGNG> ドトネトはクラスライブラリのコードが無いから、外からプロパティやメソッドを使うしかない。
> 悪いコーディングが身に付く。
言っていることが論理的ではないな。
Delphi 6 Personalでは悪い癖がつくといっているみたいだ。
0612608
NGNGあたりー。
ま、クラス派生したコンポーネントのプログラムはここから取って来い。
http://home1.infonia.ne.jp/~delphian/delphi/
0613デフォルトの名無しさん
NGNGなんだ? 別に標準のクラスライブラリである必要はないのか?
ならC#でもVB.NETでもソース公開のライブラリあるだろ。
0614デフォルトの名無しさん
NGNGブリンクうぜー(T_T)
0615デフォルトの名無しさん
NGNGそんなコンポどころかアプリが出てない言語だしてどうするよ。
0616デフォルトの名無しさん
NGNGポップアップを表示させるだけなら
hPopup:=CreatePopupMenu;
AppendMenu(hPopup,MF_STRING,101,'Menu1');
AppendMenu(hPopup,MF_STRING,102,'Menu2');
TrackPopupMenu(hPopup, 0 , X, Y, 0 , Handle , nil);
こんな感じで、そんなに不便じゃないでしょ。
ただし、問題は、Handleに親窓のハンドルが必要で、しかもそちらにメッセージWM_COMMANDが送られる事。
0617598
NGNG>>610さんの言うように、やっぱり解説書が豊富な言語使ってる方が無難なのでしょうか。
独学で学ぶので、解説書だけが頼りですから。
0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG旧VBの解説書は膨大にあったし、ユーザも多かったが、
M$がVBの出荷を停止する。
で、Delphiに置き換える案件が増えてるらしい。
コンパイラにとって本の数やユーザ数は関係無い。
0620デフォルトの名無しさん
NGNG> で、Delphiに置き換える案件が増えてるらしい。
これ捏造。ソース提供できないはずだから。
> コンパイラにとって本の数やユーザ数は関係無い。
そりゃそうだ。”コンパイラ”は関係ない。
本の数やユーザ数が関係あるのは人間。
0621デフォルトの名無しさん
NGNGVCLについて聞きたいんですが・・
0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNGまず
ゼロから始めるDelphi講座
http://www.text2music.com/text/delphi/zero/index.htm
ででも試しながら、 画面上判らない個所でF1を押してゆくという方式で勉強しては?
それで判らない事があれば、このスレで聞いて下さい。
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNGhttp://japan.cnet.com/news/special/story/0,2000047679,20051963-5,00.htm
>ガートナーによると、古いアプリケーションを.Netに移行する場合、
>「驚く程多くの変更」を加える必要があるかも知れないという。
>例えば、Visual Basicの場合、VB.Netに統合することができるのは、
>既存のVisual Basic 6プログラミングツールのせいぜい40%程度だという。
>マイクロソフト側の説明によると「重要なデザインやコーディングの変更はない」という。
0626デフォルトの名無しさん
NGNGLinuxコンパイルするならKylixがDelphi7にバンドルされてる。
0627デフォルトの名無しさん
NGNG>>606 って スレたてるまでもない質問スレの人ですよね?
>>606のような事をやりたいなら、大抵のツールで出来るけど、
パソコン がWin98でメモリ128M
という条件で、今手に入る中では Delphiが一番簡単ですよ。
だからガンバッってこれでやるしかないと思います。
まず、最初にツール(IDE)の使い方を覚えてから、
言語の方は必要なときにヘルプを見ながらゆっくり覚えるといいでしょう。
0628デフォルトの名無しさん
NGNGCもJavaも本の数は多いぞ。
その話と本の数は無関係だろ。
Delphiの本の少なさは致命的だって
0629デフォルトの名無しさん
NGNGポトペタはりやすいし、これでねをあげたら終り。
0630デフォルトの名無しさん
NGNG本が多いことを信用するなということ。
だから、
>その話と本の数は無関係だろ。
は無意味。
628は他人を騙そうと必死になってる。
0631デフォルトの名無しさん
NGNG必死になるなよ。要するにおんなじことを言っていることだろ?
Delphiの本の少なさは致命的だって。
0632デフォルトの名無しさん
NGNG馬鹿用言語ということですね
0633デフォルトの名無しさん
NGNGhttp://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20030331/1/
VBユーザーが徐々に減っている?
(3)Visual Basicを“卒業”して,Visual C++やDelphiなどに移行した──などが考えられる。
0634デフォルトの名無しさん
NGNG0635633
NGNG>そうした現状に危機感を感じたのか,マイクロソフトはキャンペーンを開始した。
0636デフォルトの名無しさん
NGNGオプソしらない香具師はっけそ。
COBOLみたいなゴミ言語のものもある。
0637デフォルトの名無しさん
NGNGpascalものなら無限にあるが。
が、ドトネトサイアク。C/C++もmanagedにしなきゃならんので、
オプソのソースをコンパイルできん。
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG>>633で今までの会話に勝負ついたからって、
いきなりC++を出すなんて。
精神障害でしか?
ま、あなたはブビ厨でしょ。
0640デフォルトの名無しさん
NGNGCとC++以外無いとは言って無いだろ。少ないだけ。
日本語わかるか?
0641デフォルトの名無しさん
NGNG> C/C++もmanagedにしなきゃならんので、
> オプソのソースをコンパイルできん。
managedにしなきゃいいじゃん。
知らないかもしれないけど、一部分だけunmanagedってのもできるんだよ。
0642598=617
NGNG色々意見を聞いてるとよけい分からなくなりますね・・・。
いい解説書があればデルフォイでもいいのですが。
>>623
>ゼロから始めるDelphi講座
そのHPいったのです。でも、第2章で挫折しました。
書いてあるとおりにやってるのにうまくいかないのです。
どうも説明がかなりハショられてるっぽいので。それとも私のやり方がまずいのか・・。
F1押すとヘルプでるのですか?試してみます。
>>627
>パソコン がWin98でメモリ128Mという条件で、
前のスレでも書いたのですが、パソコンをグレードアップする気はあるのです。確かにグレードアップは金も手間もかかって大変ですけど、もしデルフォイより他の方がいいのなら、グレードアップする価値はあるのかなぁと。
0643デフォルトの名無しさん
NGNGうわ。恥の上塗り。
オプソは無限の文献のようなもの。必要なものを取り出して棄てるのが大変なもの。
Delphiのプロ版で、200のコンポがあって派生されたコンポが無限に公開されてる
0644デフォルトの名無しさん
NGNGはぁ? お前誰と勘違いしてるんだよ?
お前VBにそうとうコンプレックス持ってるだろ。
0645デフォルトの名無しさん
NGNGお前、知能傷害起こしてるだろ。
もう言っていることが支離滅裂。
0646デフォルトの名無しさん
NGNGDelphiより敷居の低いものは無いんだが。
教育用pascal言語で、細部から大局まで普通に記述出来て、
コンポーネントが膨大にあって、Exe1個で動作して。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG本全然ないし。
pascalの教育用ってのは昔の話だし。
0649デフォルトの名無しさん
NGNG米の大学でM$の売り込みで、教育にC#を導入しようとしたところ、
学生が反対キャンペーンで中止になったし。
やっぱ、Delphiか。
0650デフォルトの名無しさん
NGNGもうすぐ死滅するんじゃない?
0651デフォルトの名無しさん
NGNGLinuxコミュニティ側がWindowsから移植して欲しい言語としてDelphiが選ばれて、Kylixになったわけだし。
Windows上ではメジャー。
0652598=617
NGNG>http://www.text2music.com/text/delphi/zero/3.htm
なんですが、ここも表記がアバウトでけっこう読み進みにくいのです。
例えば・・・
>Delphi5以降 をお使いの方は、[ファイル|アプリケーションの新規作成]からコンソール・アプリケーションを選んでもらえれば良いのですが
ということを書いてあるのですが、そんな選択肢がないのです。
で、30分くらい思案の末、ファイル→新規作成→その他 の中にやっと発見。
バージョンが違うのか、とにかく記述が違うところが多いのです。
もちろん、善意でやってるHPにけちつける気はないのですが、やっぱりきちんとした
本の方が情報量も多いし、画面写真も多いからわかりやすいのかなぁと。
0653デフォルトの名無しさん
NGNGまぁ、開発環境というのはGUIに限らず大きな障害が沢山ある。
Delphiはプログラミング言語、OOPやWindowsのツマヅク部分を綺麗に回避している。
Delphiは身に付けたほうが将来のため。
0654デフォルトの名無しさん
NGNGではこれは?
http://www.butaman.ne.jp/~yuhta/COMPUTER/CHAP01/JCOM01_05.html
とりあえず、まず、
1、ファイル -> 新規作成->アプリケーション の後 F9を押してみて下さい。
これでどうなりましたか?
0655デフォルトの名無しさん
NGNGhttp://sourceforge.net/softwaremap/trove_list.php?form_cat=160
0656デフォルトの名無しさん
NGNGでもKylix使われてないよ。
0657デフォルトの名無しさん
NGNG>Delphi/Kylix (1087 projects)
こう見えるんだが...
0658デフォルトの名無しさん
NGNG>>657
0659デフォルトの名無しさん
NGNGま、VBは死滅したし、C#やVB.NETはLinuxどころかWindowsアプリも作れないし。
0660デフォルトの名無しさん
NGNG> C++ (10564 projects)
> PHP (6577 projects)
> Perl (4590 projects)
やっぱりDelphiはマイナーだよ。
0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG恥の上塗りの2回目。
オマエは10000プロジェクトダウソしてコード読むつもりか?
0663デフォルトの名無しさん
NGNG実際に作れて動いてるしなぁ。WindowsでもLinuxでも。ポリポリ
0664デフォルトの名無しさん
NGNGお前頭悪すぎ。ネタにしても面白くない。
無限にあるコンポーネントダウソしてコード読むつもりか?
0665デフォルトの名無しさん
NGNGそれはドトネトアプリであってWindowsアプリといわない。
ポリポリって貧乏が匂ってきそうでキショ居。
0666デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
の初心者向けのところをざっと読むべし。
0667デフォルトの名無しさん
NGNGなんか屁理屈言っているけど、WindowsでもLinuxでも動くことには違いないじゃん。
0668デフォルトの名無しさん
NGNG662で、どのプロジェクトも多くて見切れない、と書いているのに、
664で
>お前頭悪すぎ。ネタにしても面白くない。
>無限にあるコンポーネントダウソしてコード読むつもりか?
664は頭を論理破壊されたようです。ガクガクブルブル
0669デフォルトの名無しさん
NGNG頼むからちゃんと意味のあること言えよ。
そのうち荒らしと言われるぞ。
0670デフォルトの名無しさん
NGNGで、
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20030331/1/
>VBユーザーが徐々に減っている?
>(3)Visual Basicを“卒業”して,Visual C++やDelphiなどに移行した──などが考えられる。
>例えば,Visual C#を使っている読者は,1年たった今でも10%を大きく超えることがない。
に戻る。
0671デフォルトの名無しさん
NGNGここはDelphiスレだから反Delphiが荒らしなんだが。
0672デフォルトの名無しさん
NGNG>>660でDelphiはプロジェクト数が少ない、と書いてるのに、
>>662で
> オマエは10000プロジェクトダウソしてコード読むつもりか?
662は頭を論理破壊されたようです。ガクガクブルブル
0673642
NGNG言われたとおりやってみました。空白ページがでるだけです。なぜだろう?
とりあえず、自分でもう少し考えて、なにが問題点かきちんとまとめてから
もう一度質問してみますです・・・。
しかし、先が思いやられるw
>>666
それいいリンク集ですね。ちょっと色々あさってみます。
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG馬鹿なことを言っている奴はどちらにしろ荒らし。
Del使いに扮したアンチDelの可能性が高い。
0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGはぁ?
> などが考えられる
これは想像のときに用いられる言葉だろ。日本語(略
0678デフォルトの名無しさん
NGNG0679嘲笑激藁・大爆笑仮面
NGNG0680デフォルトの名無しさん
NGNGいいからもう寝ろよ。お前がいるからこのスレが荒れる。
恥の上塗りをしているのはお前。
0681デフォルトの名無しさん
NGNG空白ページが出るだけで OK です。
インストールが巧くいかなかったというので心配してたのです。
数字に変化があったらという事ですが、それには
1、監視のアプリの窓ハンドルを取得する
マウスで指示した位置からWindowFromPoint で取得する
この方法で文字を事前調査しておいて、FindWindowで取得する方が後は楽
2、画面の監視は
コントロールであれば窓ハンドルに対して WM_GETTEXT で取れる場合もある
ダメならBitBltを使うかして、ビットイメージで取得する
変化があったら程度の事ならこれも簡単でしょう
という部分を乗り越えないといけません。
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG最初の頃(1、2週間)は苦労したけど、どれ選んでも似たような苦労はすると思う。
0684デフォルトの名無しさん
NGNG0685673
NGNG核心の部分の解説たすかります。
ただ・・、申し訳ないですが、現時点ではその説明は全く理解できんです・・・・。
もうすこし、デルファイの理解が進んでから、もう一回読み直すのでその時
分からなかったらまた教えてください。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGDelphi スレで必死にならずにどこで必死になれと?
0689デフォルトの名無しさん
NGNGVB開発者が次に選ぶ言語の行方は?
http://www.atmarkit.co.jp/fdotnet/questionnaire/2002-11/2002_11.html
現在使用している言語 (Delphi : 0)
http://www.atmarkit.co.jp/fdotnet/questionnaire/2002-11/dotnet1.gif
今後利用したい言語 (Delphi : 2)
http://www.atmarkit.co.jp/fdotnet/questionnaire/2002-11/dotnet4.gif
0690デフォルトの名無しさん
NGNGこいつらって、一つの言語しか覚えられない厨房ってことでいい ? > ALL
0691デフォルトの名無しさん
NGNGおいおい。Delphi全然人気ないじゃん。
このスレ嘘つきが多いな。
0692デフォルトの名無しさん
NGNG初心者ならVB.NETとかC#の方がいいよ。
0693デフォルトの名無しさん
NGNGVB 開発者って何だよ。MS の人間か ?
VB の単なる利用者だろ ?
そんなオチこぼれ厨の意見を参考にする方がダメダメだろ。
0694デフォルトの名無しさん
NGNG>>579に失礼ですよ。これだから閉鎖的なDel厨は嫌ですね。
0695デフォルトの名無しさん
NGNGそうですね。
といっても、ちょうどこのスレにいるかどうか判らないので
サンプルコードを置いておきます。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1032435179_4/TestProg.lzh
実行させて
実行したら、マウス左ボタンでフォームの部分を押したまま
見たいアプリの上に持ってきてボタンを放します。
押したままマウスを動かして目的の位置で放すすのを ドラッグ&ドロップというのですが、
仕様上、ドラッグ動作でないと、マウス座標を簡単に取れない為です。
0696コピペ推奨
NGNGhttp://www.microsoft.com/japan/presspass/releases03/051503_VS03_t1.asp
なんと7,800円と、Delphi Personalよりも安いではありませんか!
しかも商用開発できないなどとのクソマヌケな制限もありません!
7,800円がすぐに払えない人には無料のSDKもあります!
どうしてDelphiなんか続ける理由があるのでしょうか?
今すぐVB.NETで最先端の開発環境を体験しましょう!
LonghornのGUIは.NETでこそ最良のエクスペリエンスを受けることができます!
0697デフォルトの名無しさん
NGNGだからC#とVB.NETなら将来性のあるC#買うよ。
0698デフォルトの名無しさん
NGNG出来るだけ汎用性があってお手軽と言う部分で一つ抜けているから。
perlでstrict出来るようになったらCを勉強。
そうすればJavaだろうがDelphiだろうがすぐに覚えられる。
基本的に言語は同じものだから。
0699デフォルトの名無しさん
NGNG>基本的に言語は同じものだから。
彼にLISPとPrologをプレゼントしたい。
0700デフォルトの名無しさん
NGNGそうだね。時代はWeb開発だし。
それにGUIがないと開発できないなんてプログラマじゃないもんな。(ギャハ
0701デフォルトの名無しさん
NGNGDELとかVBとか言う前に基礎を勉強しろと小一時間問い詰めたい。
木を見るのではなく森を見ろ。
0702デフォルトの名無しさん
NGNGアホアンチに言ってやりたい一言ですね。
0703デフォルトの名無しさん
NGNG見てるのはMSかどうかだけ。(ゲラ
0704デフォルトの名無しさん
NGNG0705デフォルトの名無しさん
NGNG0706Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ*゚Д゚ミつ サンクス子。
めちゃめちゃ小さいサイズでPopupMenuが実現できるです!!
幸いにも、親窓はEmEditorがハンドルを提供してくれているので
使えます。
TrackPopupMenuでループしてくれるのですね!
あとは、Menu1を選んだのかMenu2を選んだのかを
判断できればばっちりです。
検索してみるです。(気が向いたら教えてください。)
0707デフォルトの名無しさん
NGNGこんなすばらしいツールを作ったのは一体どこの人なんだろうと思ってしまいます。
0708デフォルトの名無しさん
NGNG>そのHPいったのです。でも、第2章で挫折しました。
>書いてあるとおりにやってるのにうまくいかないのです。
なぜそこを質問しない?
「うまくいかないから挫折しました」じゃDelphiに限らず習得するのは不可能。
0709Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ;゚Д゚ミつ
選択結果については親ハンドルに投げられるのか…
困ったな。受け取る方法がないや…
0710デフォルトの名無しさん
NGNGわけわからん。
どこが失礼なんだ ?
>>696
推定小売価格と、希望販売価格の違いってわかってる ?
>>698
最初に perl はやめとけ。
表現方法が多様な (=読みにくい) 言語は勉強に向かない。
perl で「○○やりたいんですけど」とか質問したら、回答が山ほど来て混乱するのは目に見えてるよ。
0711デフォルトの名無しさん
NGNGいい加減ウザイ
0712Delフサギコ ◆A6VzDeLphI
NGNG⊂,,,,,,,,,つ,,゚Д゚ミつ コードでPopupMenuだけ表示して
終了するExeができますた。
すげーいい加減だけど....
Form2はCaptionBarなしのにしてます。
これで、Pipeで呼び出せばDLL処理部分とExeでPopup処理部分がわけられるかな・・・
(もう初心者向けじゃなくて、スマンコ)
program Project2;
uses
SysUtils, Dialogs, Controls, Forms, Windows,
Unit1 in 'Unit1.pas' ,
Unit2 in 'Unit2.pas' ;
function ApiMsgBox(Text, Caption: String; Flags: Longint): Integer;
begin Result := Windows.MessageBox(0, PChar(Text), PChar(Caption), Flags); end;
begin
Form2 := TForm2.Create(nil); try
Form2.Height := 0;
Form2.Show;
DataModule1 := TDataModule1.Create(Form2); try
ApiMsgBox(BoolToStr(DataModule1.Result, True), 'テストプログラム', MB_OK);
DataModule1.PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
ApiMsgBox(BoolToStr(DataModule1.Result, True), 'テストプログラム', MB_OK);
finally DataModule1.Free; end;
finally Form2.Release; end;
end.
procedure TForm2.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
0713デフォルトの名無しさん
NGNGFalseを代入しても普通に表示されています。
一時的にフォームから消したいのですが、どうすればいいのでしょうか?
「monazilla.org (w」ってとこに、TIPSがあったと思う。
0716714 ◆YQwpJeMWgo
NGNGいや、あやまらなくてもええがなぞなもし(^^;。
TOleControl(WebBrowser1).visible := false;
探してみたら、↑があった。
MLから昔、DLしたヤツの中にあった。
これでは?
0718A
NGNGなんだか、いろいろごちゃごちゃと、議論が起きてるけど、気にしないほうがいいよ。
バージョンが違うと、メニューの配置がかわったりするのは、別にDelphiだけじゃなく、
どんなアプリでもあることだから、しかたない。
あんまり几帳面に、まったく同じことだけ、って思わずに、
見つからない時は、片っ端からそれっぽいのを探してみる、ぐらいにしたほうがいい(笑)
Delphiはマイナーで、販売本数では、MS製のほかの言語ソフトに比べて少ないし、
本の種類も圧倒的に少ないのは、確かに事実。
でも、プログラムを覚えるのに、そのことはそんなに大きな問題じゃないよ。
本は、最初は、いい本が1冊か2冊あれば十分。
本屋に数百冊あったって、全部読むわけでもないんだから(笑)
Delphi6を使ってるんだよね? Delphi6は無料で配られただけあって、
Delphi6を本に付属して、それを対象にした、入門用の本がたくさん発売されているよ。
マイナーだけあって、そこら中の本屋に置いてあるとは行かないけど、
今は、ネット通販を使えば、簡単にどこでも買える。
どれを買うかの推薦は、他の人にませるけど、1冊買えばしばらくはそれだけで
勉強には十分なはず。
入門書を卒業する頃には、ネットにある他のDelphi情報をなんとなく理解できる程度にはなってるよ。
マイナーな言語は、勉強しても…って思うかもしれないけど、Delphiをある程度使えるまで勉強したら
それからC++とかの難しい言語に移ることも、比較的楽だから。
Delphiは、始めは非常に簡単で、そこからゆっくりと少しずつ、深い世界に進んでいける。
しかも、高度なIDE付きで、無料で使える。勉強には最適な言語だと思う(笑)
(基礎勉強に使うのに、商用開発できないことなんて、全然問題にならないと思うし(笑))
0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG当方地方都市在住だが・・・
Delphiの本、本屋に普通に置いてあるぞ?
どこに住んでるの?
0722デフォルトの名無しさん
NGNG単なる市町村レベルだとプログラミングコーナー自体めちゃくちゃ小さいのよー。
0723デフォルトの名無しさん
NGNGカードもって無くても買えておすすめだ。
0724デフォルトの名無しさん
NGNGDelフサギコ さん
TrackPopupMenuのヘルプは読みましたか?
> hwnd ポップアップ メニューを所有するウィンドウを識別します。
> このウィンドウは、 メニューから送られるすべてのメッセージを受け取りますが、
> 関数が制御を戻すまではWM_COMMANDメッセージを受け取りません。
つまり WM_COMMANDはPostされるという事です。
ですので、
var Msg: TMsg;
begin
hPopup:=CreatePopupMenu;
AppendMenu(hPopup,MF_STRING,101,'Menu1');
AppendMenu(hPopup,MF_STRING,102,'Menu2');
TrackPopupMenu(hPopup, 0 , X, Y, 0 , Handle , nil);
if PeekMessage(Msg , Handle , 0, 0, PM_REMOVE) then
case Msg.message of
WM_COMMAND:
Result:=Msg.wParam; //選択された ら 101 とか 102 とか AppendMenuで指定したIDが返る
end;
とやれば大丈夫です。
あ! PeekMessageの 0,0 は WM_COMMAND,WM_COMMANDでもいいです。
0725デフォルトの名無しさん
NGNGどっちにしても、
他のツール用の解説書の範囲じゃ >>681 >>695 が出来るようにはならない。
このレベルまで含めて考えれば Delphiが一番楽。 よそ見しないでDelphi一本に絞るべし
0726デフォルトの名無しさん
NGNGprocedure TForm1.BitBtn1Click(Sender: TObject);
begin
BitBlt(image2.Canvas.Handle,0,0,448,480,image1.Canvas.Handle,0,0,SRCCOPY);
Image2.Repaint;
end;
な感じで、Image2に表示させているのですが、転送された画像が
色褪せて表示されてしまいます… 何ででしょうか? 上記
プログラム以外は全く弄ってません。
0727デフォルトの名無しさん
NGNG> TrackPopupMenu(hPopup, 0 , X, Y, 0 , Handle , nil);
> if PeekMessage(Msg , Handle , 0, 0, PM_REMOVE) then
> case Msg.message of
> WM_COMMAND:
> Result:=Msg.wParam; //選択された ら 101 とか 102 とか AppendMenuで指定したIDが返る
> end;
> とやれば大丈夫です。
無理…
> 関数が制御を戻すまではWM_COMMANDメッセージを受け取りません。
て書いてあるじゃない
もし同じ事がしたいなら
Result:=Integer(TrackPopupMenu(hPopup, TPM_RETURNCMD , X, Y, 0 , Handle , nil));
じゃないの?
俺はこれよく使ってたけどなぁ
0728デフォルトの名無しさん
NGNGこれじゃあ初心者も始めようがないよね。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGうむ、どっちかというと中級者以上向けの製品だしな。
0731デフォルトの名無しさん
NGNG0732ミ,,゚Д゚ミノ ◆A6VzDeLphI
NGNGどっちも試してみます。
ちまたの、SDK的ホームページを探っていても
TrackPopupMenuは
元Windowでメッセージ受けてるだけだから
無理かと思ってました。
昨日はPopupだけ分離したExeと
その呼び出し側Exeで通信をどうやろうかと試行錯誤してました。
当初はPipeでやろうとしたんですが、なにやらややこしくて…
中村タンのShearedMemoryを使って通信してうまくやれたです。
0733デフォルトの名無しさん
NGNGそれをクリックせずにマウスカーソルを合わせただけで単語として取得するにはどうしたらいいでしょうか。
0734デフォルトの名無しさん
NGNG0735726
NGNG比較画像上げてみますた。双葉なので消えるの早いかもです…
誰か分かる方いませんか(ノД`) 726のとはソースは若干違うんで再掲
画像加工失敗してますが、そこら辺は気にしないでくだしぃ…
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
BitBlt(image2.Canvas.Handle,0,0,448,480,image3.Canvas.Handle,0,0,SRCAND);
BitBlt(image2.Canvas.Handle,0,0,448,480,image1.Canvas.Handle,0,0,SRCPAINT);
Image2.Repaint;
end;
// Image1が黒背景のキャラ画像、Image3が白背景のキャラ黒抜きで
// 背景画像のあるImage2に表示させてます。
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG0738726
NGNG再掲しますた。こんな感じになってしまうのですが…
0739726
NGNG一週間ほど家を空けるので今日中にレスが欲しかったのでした…
書き込み多くてスマソ 帰ってくる頃に解決レスが付いてればいいな…
0740デフォルトの名無しさん
NGNG断片じゃなくて。
0741726
NGNG>>740
それこそ>>726と>>735ぐらいのコードしか書いてません…
Delphi起動→FormにボタンとTImageを2個配置→726のコード書く
→コンパイル しかしてないのですが…(ノД`)
(初BitBlt使用のお試しプログラムなので)
あ、書くの忘れてたことが一つ。726ではImage1に背景画像、
Image2は背景の上に載せるグラフィックを、オブジェクト
インスペクタのプロパティからコンパイル前に設定してます。
>>735のその辺の情報は書き込んであるので、とりあえず
自分が弄くった範囲はこれが全てです。
0742ねこま
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
jpg: TJPEGImage;
begin
Image1.Picture.LoadFromFile('G:\test_.bmp'); // 画像
Image2.Picture.LoadFromFile('G:\test_A.bmp'); // マスク
jpg := TJPEGImage.Create;
jpg.LoadFromFile('G:\bg.jpg');
PaintBox1.Canvas.Draw(0,0,jpg); // 背景
jpg.Free;
BitBlt(Paintbox1.Canvas.Handle,0,0,360,480,image2.Canvas.Handle,0,0,SRCAND);
BitBlt(Paintbox1.Canvas.Handle,0,0,360,480,image1.Canvas.Handle,0,0,SRCPAINT);
end;
わたしはこれ以上時間かけてあげられない
ごめんね.おやすみ
0743Delフサギコ ◆A6VzDeLphI
NGNG∩∧,,∧∩ /
゙ミ*゚Д゚*ミノ < できまった!
ミ ミ \____________
ミ ,, ミ
ノ∪ ∪ バザーイ
>>724
hPopup := CreatePopupMenu;
AppendMenu(hPopup, MF_STRING, 101, 'Menu1');
AppendMenu(hPopup, MF_STRING, 102, 'Menu2');
Windows.GetCursorPos(MousePoint);
TrackPopupMenu(hPopup, 0, MousePoint.X, MousePoint.Y, 0, hwnd, nil);
if PeekMessage(Msg , hwnd , WM_COMMAND, WM_COMMAND, PM_REMOVE) then
case Msg.message of
WM_COMMAND:
MenuSelect:=Msg.wParam;
end;
>>727
hPopup := CreatePopupMenu;
AppendMenu(hPopup, MF_STRING, 101, 'Menu1');
AppendMenu(hPopup, MF_STRING, 102, 'Menu2');
Windows.GetCursorPos(MousePoint);
MenuSelect := TrackPopupMenu(hPopup, TPM_RETURNCMD, MousePoint.X, MousePoint.Y, 0, hwnd, nil);
どちらも動きましたよ。ありがとうです。
>>734 英語は無理Po
0744726
NGNGうぉ、TPaintBox使うと色が変になりませんですた!( ゚д゚) ありがとうございます。
ただこれだと、画面外に出たときや何かのウィンドウが重なると、
Canvasに描画した画が消えちゃうのが難ですね… 常に自分で
書き直さないとダメっぽいですが(;´Д`) そこら辺帰ってきたら
もうちょと弄ってみます…
0745デフォルトの名無しさん
NGNGメモリを食うのですが
メモリの浪費を最小限にする方法はありませんか?
Delphiで作っているとこれは仕方のないことですか?
メールチェッカーを作っているのですが
タスクマネージャーで監視したところ
普段で8,4KBもメモリを使用してしまいます。
どうかアドバイスよろしくお願いします<(__)>
0746デフォルトの名無しさん
NGNGVCL禁止にしてWin32APIだけで作れ。
0747デフォルトの名無しさん
NGNG自分は大学生だからDelphi6pro版をアカデミック版で購入しております。
でも、それは先月のはなしで、現在Delphi7が販売されていることは知っておりました
が、BBS等で7のいいはなしを聞かなかったのでわざと旧バージョンを買ったのです。
年末に8がでるそうですが、今のうちに7を買っておいたほうが後々良いことがあるで
しょうか? 自分は6しかもってないからわかりませんが、BBSによると6と5を併用
している人がいるので、旧バージョンには旧バージョンの良さがあるのかなと思っております。
別にコレクションで高価なものを買う気はありませんが、7を買っていたら8が出てもこんな
点で便利だよというものがありましたら教えてください。
0748747
NGNG0749747
NGNGhttp://www.microsoft.com/japan/presspass/releases03/051503_VS03_t1.asp
なんと7,800円と、Delphi Personalよりも安いではありませんか!
しかも商用開発できないなどとのクソマヌケな制限もありません!
7,800円がすぐに払えない人には無料のSDKもあります!
どうしてDelphiなんか続ける理由があるのでしょうか?
今すぐVB.NETで最先端の開発環境を体験しましょう!
LonghornのGUIは.NETでこそ最良のエクスペリエンスを受けることができます!
>>747さんもこの際ですから、
滅びる運命にあるDelなんてやめてVB.NETに乗り換えましょう!
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG7800円は、今回無料アップデートにならなかったアカデミック版の値段。
正規版は、通常パッケージ 19,800円 。
7800 円でどこまでのものが手にはいるのかは、自分で調べてみなさい
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG漏れは逆で、7はパスで8待ち。
6→7はXP正式対応くらいで目玉機能がなかったけど
7→8は激変するからね。
8が気に入らなかった部分は6で作ればいいし。
0754747
NGNGXP対応だけですか・・・。では、パスですね。
どこかでDelphi2からDelphi7に至るまでのDelphi言語の変化を
解説したページありませんかね。Delphi6から列挙型で自由に整数値が
当てはめられるようになったそうで、5では使えないテクなのですね。
0755デフォルトの名無しさん
NGNGDel3:インターフェース型
Del4:Int64,overload
Del5:(わからない)
Del6:拡張命令対応ASM
Del7:(しらない)
0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/982930049/l50
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGスマソ
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGたとえば、チェックボックスが10個あって、その中から3個しかチェックできないようにしたい。
0765デフォルトの名無しさん
NGNGチェックがつく度に未チェックの個数を調べ、チェック可能個数に満たなくなれば
未チェックのチェックボックスを使用不可にする。
あらかじめ参照を配列に代入しとけばやり易い。
0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGフォーム1個でコンパイルしたときのEXEサイズが減ってるとか。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG図々しいんだよ禿!
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG盛り上がっているところすまないが >>733 もお願いします
0775デフォルトの名無しさん
NGNGファイル名だけを取得するにはどうすればいいんでしょうか?
オープンダイアログボックスでfilenameから取得しようとすると、
フォルダも含んだフルパスになってしまいます。
どうかご教授お願い致します。
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNGAoB:array of byte;
FN:string;
i,ln:integer;
begin
if opendialog1.Execute then
begin
FN := opendialog1.FileName;
LN := Length(FN);
SetLength(AoB,LN);
for i := LN -1 downto 0 do
AoB[i] := ord(FN[LN - i]);
while AoB[i] <> 92 do
inc(i);
edit1.Text := RIGHTSTR(FN,i);
end;
0778デフォルトの名無しさん
NGNG単にExtractFileName(fullpath)でいいのでは
0779775
NGNG>778さんの仰るとおり、単にそれだけでできました。
helpにも載っていたのに、見落としていたようです。
どうもありがとうございました。
0780777
NGNGシステムリソースがおかしくなりハングりました。
0781デフォルトの名無しさん
NGNGWindowsなどのマルチウィンドウシステム自体が
『隠されたウィンドウが表に出てきたときは自分で描き直す』
という仕組みなのです.
(昔はメモリが非常に少なかったのでこうでもするしかなかった)
必要なときに1から全部書き直す手段を用意するか
画面に直接描くのをやめて
別に用意したビットマップに描いてからそれを画面に転送するようにして,
描き直しの必要があるときはこのビットマップを転送します.
(イメージコンポもおおざっぱにいえば後者の方法で描画しています)
>>767
うちは鶴亀メールを使っていますが
メモリ食いのWindows XPにもかかわらず8k切っています.
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784A
NGNG0786デフォルトの名無しさん
NGNG785の言ってるのはVirtualAudioCableかな。おすすめ。
プログラムからプログラムへ直接読むならバッファを探して読み出すしか無いかな。
リングバッファだと内部でどう管理してるか分からないし、実質無理。
0787デフォルトの名無しさん
NGNG低レベルオーディオなら、フックをかける方がいいのでは
ただ、コールバックなのか、窓ハンドルに対するメッセージなのかで楽さが違うかも
0788デフォルトの名無しさん
NGNGMouseClickとかMouseDownだとチェックがつかなくても呼び出されるし、
キーボードからチェックつけたら今度は呼び出されないし・・・。こまってます。
0789A
NGNGやっぱり普通は無理っぽい…ですか
線で繋ぐ。とは?
VirtualAudioCable……なるほど、サウンドカードの振りをしてデータを送ってもらう
って感じですかね。
リソースというか、音の元は、ストリーミングでネットの向こうから流れてくるので…
このフックを実現したのが、上のソフトかな?
0790デフォルトの名無しさん
NGNGTControl::OnClickのヘルプ嫁
0791デフォルトの名無しさん
NGNGTCheckBoxのOnClickがそれ。
0792デフォルトの名無しさん
NGNGOnClickでイベントを拾い、比較用の変数と比較すればよろし。
OnClickはキーボード入力でも反応する。
TForm1 = class(TForm)
private
ChkValue:Boolean;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if ChkValue<>CheckBox1.Checked then
begin
{やりたい事}
ChkValue := CheckBox1.Checked;
end;
end;
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG作成したアプリの中にキャンバスなり、なんなりを作って、
その中に、作成したアプリの下にある画面(デスクトップの背景とか)
を表示させることって出斬るんでしょうか。
delphi5なんですけども、どなたかわかる方居ましたらおながいします。
0795794
NGNG漏れも初心者なので間違ってるかもしれませんが、
フォ−カスが受けられるか受けられないかは、
ActiveControlプロパティにフォ−カスを受けられるコンポ−ネントの参照が
入っているらしいので、そのへんを引っ張ってくれば判断できるんじゃないでせうか?。
全然違ってたらすまそです。
0796デフォルトの名無しさん
NGNG初歩的というより結構難しいと思いますよ。
リージョンを定義してとか・・・
Windows2000以後なら半透明 WS_EX_LAYERED を使うとか
それに、longhornではアプリ毎に別の描画面を持つようですしね。
0797794
NGNGレス有難うございます。
ちょっとググってみたら結構難しそうだなあ、と。
VBなんかだとわりと出来るっぽいんですが。
アプリの中に枠を作ってその中に背景を表示。
イメ−ジとしては拡大鏡の拡大しない感じのを作ろうと思ったんですが。
delphiじゃ難しいんスかね。
当方、今までJAVA教徒だったんですが、結構delphiも面白いじゃん。
と思ってる今日この頃です。(でもまだまだ未熟ですが)
0798デフォルトの名無しさん
NGNGいやだから、そのアプリだけ D6パーソナルで作ればいいじゃない。
0799794
NGNGそういうテもありましたね。うっかりしてますた。
ちょっとD6で調べてみます。てか、D7でもいいのかな?。
0800デフォルトの名無しさん
NGNGSetWindowLong(Handle, GWL_EXSTYLE , GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
でダメかな?
0801794
NGNG>>800
アドバイス有難うございます。
ちょっと今すぐは試せないんで、時間のあるときに試してみたいと思い鱒。
0802デフォルトの名無しさん
NGNGfunction SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF
; bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
external user32 name 'SetLayeredWindowAttributes';
procedure TForm1.FormCreate(Sender: TObject);
const
WS_EX_LAYERED = $80000;
LWA_COLORKEY = $00000001;
LWA_ALPHA = $00000002;
begin
SetWindowLong(Handle, GWL_EXSTYLE , GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle,ColorToRGB(Color),0,LWA_COLORKEY);
end;
0803デフォルトの名無しさん
NGNGC++>C>Java>VB
というのはわかるんですが、Delphiはどのくらいなんですか。
VB以上Java未満?
0804デフォルトの名無しさん
NGNG> D5とD6って互換性あんま。無いぽですね。。。
はぁ?
0805デフォルトの名無しさん
NGNGC++>Java=Delphi>C>VB
0807seven
NGNGつーか、すみません、VBのほうが簡単な案件が、今ちょっと思いつかないです。
0808デフォルトの名無しさん
NGNG必ず終了時にEAccess〜クラスの例外が発生してしまいます。
でもこれ書いとかないと使えないのですが、どうすれば回避できますか?
お願いします。
0809デフォルトの名無しさん
NGNG上のコンポーネントに限らず他のも含めて。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGデルファイの限界が垣間見えました。
0812デフォルトの名無しさん
NGNGDelphiの限界じゃなくて君の限界だろw
0813デフォルトの名無しさん
NGNG残念ながらそこが君の限界です。
悪いこと言わないので、VBに専念したほうがよいでしょう。
ちなみWindowsの仕組みさえ知っていれば、
WM_SIZEメッセージのwParamを調べれば、
いつ最大化、最小化したかすぐに知ることが出来ますけどね。
そんなイヤミ書いたら811がかわいそう(藁
0815デフォルトの名無しさん
NGNGとりあえず
procedure TForm1.WMSize(var Message: TWMSize);
begin
case Message.SizeType of
SIZENORMAL : DoSometing;
SIZEICONIC : DoNothing;
SIZEFULLSCREEN: DoAnything;
end;
end;
Windowsアプリに関してはDelはほとんどオールマイティなんだから
アラを探しても無駄だよ
APIを使うのにいちいち自分で道を作らなくちゃいけない某人気開発環境とは違って
初めから道ができてて、しかもきれいに舗装してあるからね
0816815
NGNGインターフェース部の書き方は自分で調べてみてほしい
procedure WMSize(var Message: TWMSize);
ではだめだよ
大丈夫。つまんねーネタだって(藁
0818ミ;゚Д゚彡 ◆A6VzDeLphI
NGNGもう初心者向けではないのですが
APIでPopupMenuを出した場合
PopupMenuのフォントを変更するには
どうしたらいいのでしょうか?
ポインタでもいいので、教えてください。
0819デフォルトの名無しさん
NGNG超初心者向けだよねと思い込んでカキコするのは可です。
話し変わるけど、Del6pro持っているのに、Del7per買っちゃった。
コンパイラがDCC32からDelphi32に変わっているのにビックルぐぃ。
0820デフォルトの名無しさん
NGNGWM_SETFONTを送ろうにもポップアップの窓ハンドルは取得出来ないし
SYSTEM_FONTを変更すれば全部変更されてしまう
0821デフォルトの名無しさん
NGNGオーナードローする。WM_DRAWITEMとか参照。
かなりややこしい上、特定アプリでだけメニューのフォント変えられても
ユーザー混乱させるだけなので、多分やらない方がいいような気も。
なお、デフォルト項目を太字にしたいというのであれば別のフラグがあります。
0822820
NGNGでも、WM_DRAWITEMメッセージは親窓に送られる。
だから、隠れた小窓を作ってそれを受け取らないといけない。
クラスを作って、メッセージディスパッチで処理させて
AllocateHWndでメソッドを登録してそれをTrackPopupMenuに渡したら?
0823821
NGNGというかAllocateHWndが使える→VCL使ってる→TPopupMenu使えばいいじゃん、になるので
素直に親ウィンドウのウィンドウ関数に書き足せばいいと思う。
0824820
NGNGフサギコは小さなDLLを作りたいんだそうだ。
つまり親窓はアプリ側のハンドル。
確かにClasses を追加すれば多少大きくなるけど uses Menuするよりはマシだし
でも、AllocateHWndして SetParent で親子関係作ったんじゃうまくゆかないかな?
0825821
NGNG>AllocateHWndして SetParent
やったことないなあ…。WS_POPUP付けてSetParentしてSetForegroundWindowして…ってやればできそうな気も。
ただ、そういう条件なら、スレッド限定のフックを試みるという手もある。
0826820
NGNG0827デフォルトの名無しさん
NGNG[致命的エラー] Project1.dpr(5): ユニット IdGlobal は異なるバージョン System.RTLVersion によりコンパイルされています
....とエラーが出て止まるんだけど対処方無いですか?
0828デフォルトの名無しさん
NGNGUS のサイトにある、日本語用の D6 Update3 を宛てる。
かな?
0829Dale L. Fuller
NGNGオオノタンにメールでもしてみよう。
0830ななしへたぐらま ◆XcB18Bks.Y
NGNG(…という私の書き込みも難しすぎたかなぁ,と反省.)
#超初心者向けではないスレッドが壊滅させられているので
ここが避難所になっている状況も考えなければいけませんが….
0831デフォルトの名無しさん
NGNG位が丁度いいのか?。俺、丁度そんなレベルだし。。。
0832デフォルトの名無しさん
NGNGアクティブにならないフォームを作りたいのですが
どうやったらよいのでしょうか?
ヒントだけでもください。
0833ねこま
NGNGもしかしてエクスプローラのドラッグ開始みたいな事がしたいの?
だったら違うけど
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNGEditのままする方法もあるけど、これでいいんじゃないの? 元は同じコントロールだし
0837デフォルトの名無しさん
NGNG>>835著作権法上問題かも知れんけどな〜
↓行数が多すぎだったのでかなり削ったけど参考になるとは思うよ
published
property Alignment: TAlignment read FAlignment write SetAlignment default taRightJustify;
end;
constructor TMyEdit.Create(AOwner: TComponent);
begin
inherited;
FAlignment:=taRightJustify;
end;
procedure TMyEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style:=Params.Style or ES_MULTILINE;
case FAlignment of
taLeftJustify : Params.Style:=Params.Style or ES_LEFT;
taCenter : Params.Style:=Params.Style or ES_CENTER;
taRightJustify: Params.Style:=Params.Style or ES_RIGHT;
end;
end;
procedure TMyEdit.SetAlignment(const Value: TAlignment);
begin
if FAlignment <> Value then
begin
FAlignment := Value;
RecreateWnd;
end;
end;
0838832
NGNGどちらかというとWindowsにアクセサリでついてくる
スクリーンキーボードみたいなことがしたいです。
>直前にフォーカスを持っていたウインドウにパスしたらどうでしょう
これだとタイトルバーが一瞬青くなってまた灰色に戻るのですが
できれば全くフォーカスを移さないでやりたいです。
0839デフォルトの名無しさん
NGNG趣味以外では使えんぞ。エロゲ会社行くなら別だが。
0840デフォルトの名無しさん
NGNG情報を良く見極めたほうがいいぞ。
無駄な努力は出来るだけしないほうがいいに決まってる。
0841デフォルトの名無しさん
NGNGサポートされていません。Win98 / NT2000 以降。
もう気にしなくても良いプラットフォームだけどね。
0842デフォルトの名無しさん
NGNG頑張って生きてね。
0843835
NGNGありがとうございます。なんとかできそうです。
もうひとつお聞きしたいのですが、editに数値以外を入力させない方法でいいのがありませんか?
今は、edit.textをint型にキャストして、エラーが起きたら再入力させる。みたいなことをやっているのですが、これだとイマイチって感じがします。
0844ななしへたぐらま ◆XcB18Bks.Y
NGNGまさにそういうスレだと思います.たとえばオブジェクトインスペクタだと…
オブジェクトインスペクタというのはコンポーネントの表示を書きかえたり,ユーザーがコンポーネントに対してクリックとかの操作をしたときの処理を書いたりするときに使う.
Delphiを起動するとのっぺらぼう(死語か?)のフォームとその左にオブジェクトインスペクタが出てくるよ.
オブジェクトインスペクタの一番上のドロップダウンリストには Form1: TForm1 と表示されていると思うけど,これはForm1という名前で,TForm1という種類のコンポーネントの設定を表示していますよ,ということなんだ.
設定にはプロパティとイベントの2種類があって,表示内容などの設定がプロパティ,ボタンを押したときなどの動作がイベント.
たとえばフォームの見出しを書き換えたい場合はCaptionというプロパティで見出しの表示内容が決まるのでここを書き換える.
Delphiを起動したとき,オブジェクトインスペクタにはプロパティの一覧が表示されているのでCaptionと書いてあるところをさがしてみよう.
この欄の右側の文字列が見出しの内容をあらわしている.ここを書き換えるとフォームの見出しも変わるよ.
…って,こんな説明で大丈夫かなぁ.
0845デフォルトの名無しさん
NGNGだったら楽しいだろうなあと思いつつ、何も調べない教えて君の増加を懸念したり。
仕事レベルとか趣味レベルとか、んなこたーどうでもいいのにさ。
ただDelphi習いに来てるだけ・゚・(ノД`)・゚・。
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG→
0848デフォルトの名無しさん
NGNGで、Label1.Captionの中で改行させたいんですけど、できないようなんです。
デルファイの限界が垣間見えました。
0850デフォルトの名無しさん
NGNGその話題は以前やった
結論=できる
以上
0851限界厨は ◆adhRKFl5jU
NGNG0852デフォルトの名無しさん
NGNGつまらないからもう来るなよ。
0853デフォルトの名無しさん
NGNGOnKeyDownイベントの中で、
if not (Key in ['0'..'9']) then Key := #0;
とかではダメですか?
バックスペースキーは許可した方がいいかもしれません。
0854835
NGNG同時にバックスペースも許可するにはどうしたらいいでしょうか?
0855831
NGNGListBoxでスクロ−ルバ−が表示されてる時に、そのスクロ−ルバ−が
動いたことを読み取る方法はあるのでしょうか?。
スクロ−ルバ−が動いた時にイベントを発生させようと思ったのですが。
どなたかわかる方が居ましたら、宜しくお願いします。
0856853
NGNGあと、OnKeyDownではなくOnKeyPressに書いてください。ごめんなさい。
0857831
NGNG0858デフォルトの名無しさん
NGNG金にならない物を時間かけてやって将来どうするんだ?
まだVBのほうが金になるぞ。
俺のお勧めはC,C++ Javaこの辺りがいいと思うぞ。
特にJavaは簡単だからDelphiやるならJavaやっとけ。
あとはLinux使えるようになれ。
*BSDは金にならんから辞めとけ。
就職、転職、派遣何でも役に立つぞ。
派遣でも時給4000円程度になるから
結構いい金になる。
Delphiだといくら出来ても企業じゃハァ?で終わりだぞ。
0859デフォルトの名無しさん
NGNGありがとう。なんとか限界を超えることができました。
0860831
NGNG洩れ、企業でdelphiなんですが。。。それもバ−ジョン5限定です。
2カ月前までJAVAやってたんすけど、こういう人も居るんでdelphiでもいいんじゃないですかね。
>>859
良かったね。洩れも限界超えたいっす。
0861デフォルトの名無しさん
NGNG簡単な物はVB、serversideはJavaとスクリプト言語
合間にC,C++を勉強しておけ。
これが一番金になる。
0862デフォルトの名無しさん
NGNG珍しい企業だな。でも将来どうする?
潰しが利かんぞ。
あと、全角で英文字を書くな。
SEの基本だからな。
0863デフォルトの名無しさん
NGNGライバルが増えるだけかもな。
お前らは大人しくDelphiやっとけ。
Delphi最高!!
0864デフォルトの名無しさん
NGNG大体2通り方法があって、一つは
procedure XX.XXX(var message: TMessage);
begin
if message.msg = WM_VSCROLL then ... //縦スクロールのとき。横ならWM_HSCROLL
ListBox.WndProc(message);
end;
見たいなメソッドを用意して、ListBox.WindowProc := X.XXXとしてやる(XはXXのインスタンス)
0865デフォルトの名無しさん
NGNGTMyListBox = class(TListBox)
procedure WMVScroll(var message: TWMVScroll); message WM_VSCROLL;
end;
procedure TMyListBox.WMVScroll;
begin
...
inherited;
end;
という感じ(残りの部分はウィザードが吐いてくれる)
0866デフォルトの名無しさん
NGNGTMyListBox = class(TListBox)
private
FOnVScroll: TNotifyEvent;
procedure WMVScroll(var message: TWMVScroll); message WM_VSCROLL;
end;
procedure TMyListBox.WMVScroll;
begin
if Assigned(FOnVScroll) then FOnVScroll(Self);
inherited;
end;
久しぶりにDelのコード書いた。
0867デフォルトの名無しさん
NGNGTMyListBox = class(TListBox)
private
FOnVScroll: TNotifyEvent;
procedure WMVScroll(var message: TWMVScroll); message WM_VSCROLL;
published
property OnVScroll: TNotifyEvent read FOnVScroll write FOnVScroll;
end;
procedure TMyListBox.WMVScroll;
begin
if Assigned(FOnVScroll) then FOnVScroll(Self);
inherited;
end;
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG0871Delフサギコ ◆A6VzDeLphI
NGNG∫,,,,,,,,,∧,,∧ Pluginな仕様の脳内保管まで
⊂,,,,,,,,,つ,,゚Д゚ミつ してくれたアラガトウ>>823、他みなさん
"TPopupMenuだったらフォント変更は簡単なんだ"
と勝手に思ってますた。
そうか、OSでMenuのフォントは管理されてるんでしたか。
メニューを表示させたときに
[ > ]挿入
[ ' ]挿入
[ // ]挿入
として、文字幅がそろわない
のが気になったんで等幅フォントにしたいなと。
スマソ、今日は疲れきってるので
スレを全部追うのもつらいす。
0872いつも思うのだが
NGNGみたいな「誰も聞いてないようなこと」を読ませる人って、
基本的に構って欲しいんだろうなぁ…って思う。
掲示板に「風邪をひいちゃって」とか書く人と同じ。
知らんて。
聞かれたら書けよ、って思う。
0873デフォルトの名無しさん
NGNG0875ミ;゚Д゚彡 ◆A6VzDeLphI
NGNGレスってくれた内容を試してからレスしたいんだけど
今日、無理ってことを言いたかったので。
ネタは質問スレではふらないですよ。
0876デフォルトの名無しさん
NGNGお前は何故コテハンしてる時点で構って君だと見抜けない?
0877876
NGNG0878デフォルトの名無しさん
NGNG上に書いた行から一つ一つ実行されてるのが丸見えになってしまいます。
(たとえばボタンを押して、フォームのサイズが変わるものだと、まずHeightが変更されてから、Widthが変更されてるという順番が肉眼で分かったりする)
これを、一気にやる方法はないんでしょうか?
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNG>SetBounds
サイズ変更に限った話ではなかったけど、これは便利そうですね。いいこと知りました。
どうも。
0882デフォルトの名無しさん
NGNG出来ない奴はウィンドウハンドルにWM_REDRAWFLAGメッセージ送って再描画をさせないようにする方法もある。
0883デフォルトの名無しさん
NGNG0884831
NGNGありがとうございます。ちょっと試してみます。
0885毛の生えたフサギコんだ中年戦士
NGNGDel.NETの解説ページ作りませんか。
0886デフォルトの名無しさん
NGNGタイマーイベントでアクティブにしたいんですが、どうすればいいんですか?
0887デフォルトの名無しさん
NGNGIniFile = TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
こんなふうにやりたいのですが、定数式が必要らしいです。
複雑になりそうですか?
0888デフォルトの名無しさん
NGNGFormのOnDeactivateでタイマーを動かして
TimerのOnTimerでApplication.BringToFrontすればいいかも
0889デフォルトの名無しさん
NGNGvar IniFile :TIniFile;
として
initialization
IniFile = TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini'));
finalization
IniFile.Free;IniFile:=nil;
end.
とするしかないかもね
0890デフォルトの名無しさん
NGNGPersonal
Studio Professional
Studio Enterprise
エンタープライズ高い…
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGん〜、今年のボーナス次第、です
会社で買ってくれと言っても、
Delphi開発できる人いないし
0893デフォルトの名無しさん
NGNG少し突っ込んで勉強したいなら Studio Professional がぜひ欲しい所だね。
0894デフォルトの名無しさん
NGNG0895デフォルトの名無しさん
NGNG無料!?
とりあえずボーランドサイトに逝ってきます!!
>>894
名前から察するに、
エンタープライズより格上デツカ?
つ〜ことはさらにお値段の方も…
((((((;゚Д゚))))))ガクガクプルプル
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNG気にするな。
Pro版で十分過ぎるコンポーネント。
0899デフォルトの名無しさん
NGNGAsStringで格納できますか?
出来れば、数行サンプルコードが欲しいでつ。
0900899
NGNG今までイコールだと思ってました。
0901デフォルトの名無しさん
NGNGUSに日本語の対鍵盤あるのに
0902896
NGNG0903896
NGNG0904896
NGNGプログラムが大規模になるとstringではサイズがでかすぎる、
intにするべきである、という場面は確かに存在します。
そういう時は「crc32.c」でgoogleしてみましよう。
0905デフォルトの名無しさん
NGNG日本のサイトでは、
>>890
の3種類だけでした
見るところ間違った?だけかもしれませんがNE(;^_^ A
0906デフォルトの名無しさん
NGNGクライアントサイドのDBアプリだとPro板
サーバーサイドだとEnt版
でないとライセンス違反になっちゃうよ
Personalやらは、DBをつかうコンポ無し。注意されたし
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGしっ!
それを言っちゃぁ(ry
0910デフォルトの名無しさん
NGNGNetWare3.12(だったと思う)サーバー上の上のOracle6.3に
アクセスするアプリをDel5Proで組みたいのですが、何が
必要になるのでしょうか?
今までDB系は扱ったことがなくてまず何をそれえればいい
のかもわからん状態でして。
よろしくお願いします。
0911デフォルトの名無しさん
NGNG>プログラムが大規模になるとstringではサイズがでかすぎる、intにするべきである、という場面は確かに存在します。
CRCのxor用のテーブルのことでしょうか・・・・・・
それはサイズというより計算速度の問題で数値型が求められてるのだと思いますが。
0912ちいさいアプリに挑戦中
NGNGi: Integer;
begin
i := 1;
while i <> 0 do
end.
でループさせているのですが
CPU使用率が100%になってしまいます。
あ、私はメールチェッカーを作っています。
タスクトレイに入れる前に
まず終了しないためのループでつまずいてしまいました…
普通はどのようにループというのをやるのですか?
0913デフォルトの名無しさん
NGNGプログラムからフォーカスを
ListView1.ItemFocused := item;
ListView1.Selected := item;
として移動してもListViewの画面外に指定されたアイテムがあるままなのですが、
どうすればListViewの画面内にプログラムから指定したアイテムが表示される所まで
スクロールできますか?
0914デフォルトの名無しさん
NGNGGetMessageやWaitForXXXXで、何か起きるまで待つ。
while 終了条件 do
begin
何か起きるまで待つ
何が起きたかに依って色々する
end
0915デフォルトの名無しさん
NGNG[小さいタスクトレイ常駐アプリケーションを作りたい!!] は試してみたの?
procedure TTaskTrayApp.Run; がその部分で
repeat
if not ProcessMessage(msg) then WaitMessage;
until Terminated;
今度は、
TTaskTrayApp.ProcessMessag を見て。
WM_QUIT が来たら Terminated:=Trueにして終了してるね?
0916912
NGNGWaitForがばっちりですありがとうございます。
>>915
試してみましたが、
勉強のために作っていますので、
ShellAPIを使って自分で書こうと思っています。
ありがとうございます<(__)>
0917デフォルトの名無しさん
NGNG3時間の労働が無駄になった
0918912
NGNGはすごいメモリ消費しますね。
普通にアイコンはいるようにして作って3K程も
消費してます。
これならふつうにVCLのっけて作ったのと変わらないや…
メモリの掃除屋さんとか
全然消費してないけど
どうやってアイコンをタスクトレイに入れてるんだろう…
どなたかご存じないですか?
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNG思いっきりレベルの低いツッコミですね。
0923デフォルトの名無しさん
NGNGレベルの低い人には添う見えるんでしょうね。
0924デフォルトの名無しさん
NGNG添うなんですか。
0925デフォルトの名無しさん
NGNG添うなんですよ、川崎さん。
0926デフォルトの名無しさん
NGNG3K?3M(バイト)では?
ほとんど何もしないexeからでも、USER32.dllのウィンドウ作成とかメッセージ処理系のAPIを呼ぶと、
それだけで2Mぐらい消費しない?(Win2000)
0927デフォルトの名無しさん
NGNG0928毛の生えたフサギコ
NGNGこのスレッドはPart2はありません。
スレッドを使い切ったら相談室へどうぞ。
0929デフォルトの名無しさん
NGNG今時主記憶 1G byte も当たり前。って時代なので考え方も変えていかなければならないのだけど。
仮想記憶が前提の Windows メモリマネージャーでの話。
メモリ割り当ては他の Win32 API に比べても処理速度が遅いため、できれば呼ばないほうが
アプリ全体の速度が上がる。だからといってメモリを消費しないわけには行かないから、多くの
アプリケーション(実際は処理系付属のランタイム)がある程度の大きさのメモリを起動時に確保し、
それをライブラリ内で小分け、および再利用します。
4K 以下のメモリを多量に消費するアプリケーションの場合、劇的な速度向上が見込まれます。
処理系付属のメモリマネージャーは、多くのアプリでそれなりの性能を出すように設計されているため
特殊用途には向きません。つーか特殊なことをおこなうにはメモリマネージャーをチューンナップする
必要があるわけだ。
ソースコードを持っているなら、メモリマネージャーのコードを読む。全部理解しなくても良いから
メモリの初期割当量、および割り当てメモリが足りなくなったときの再取得量を調整してごらん。
初期消費量が小さいアプリケーションを作ることができます。
ただ、それで VCL アプリを作っても、結局必要とするメモリ量は変わらないので最後には同程度の
消費量になるでしょう。その場合は非 VCL アプリを作るしかない。
0930デフォルトの名無しさん
NGNGどういう風にすればよいでしょうか?
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGHeyMike(RECODING, STOP);
0933デフォルトの名無しさん
NGNG3時間作業してバックアップのひとつもとらない椰子が悪い
0934激裏情報さん
NGNGこれを防ぐにはどうすればいいんでしょうか?
0935A
NGNGさすがに、起動すら防ぐことは出来ないと思うから、
プロジェクトファイルで、一番最初に、ファイルをチェックして
もし関係ないファイルだったら、そのまま終了すればいいんじゃない?
0936デフォルトの名無しさん
NGNG0937激裏情報さん
NGNGそれを前提としての質問だったのですが
0938デフォルトの名無しさん
NGNGParamCount/ParamStr で引数を確認して、引数があってかつ拡張子が期待と違ったらダイアログだしたら?
0939デフォルトの名無しさん
NGNGおれの知ってる限り、やり方は3種類あって。
1.TMediaPlayerを使う。
2.MCIコマンドを使う。
3.低レベルAPIを使う。
1.はヘルプ見ろ。
2.3は、下のページや書籍を参考に。
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
http://www.ascii.co.jp/pb/msp/36001/36001.htm
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGwindowを表示する場合の無限ループのサンプルは
たくさんあるのですが
windowを作っていない場合の
無限ループの仕方がわかりません。
簡単なものはありませんか?
サンプルとして書いて頂けると嬉しいです。
0948デフォルトの名無しさん
NGNGメディアプレイヤーのように形が普通じゃないのを作るのは難しいですね
がんばれ。
0950デフォルトの名無しさん
NGNG1 : △△;
2 : □□;
end;
の
1 : △△;
2 : □□;
この部分だけを他のcase文で使い回ししたいのですが、何か良い方法はありますか?
0951デフォルトの名無しさん
NGNG関数にでもしとけば?後設計見直すか。
0952950
NGNGImageは50個ぐらいでTagが1〜90ぐらいまであるので、caseの中身だけ使い回しできたら早いんですが。。
Image50個全部に↓を書いたら何千行になってしまいますよね。
case Image1.Tag of
1 : 関数A;
2 : 関数B;
(以下略)
end;
この場合、caseで良いんでしょうか?
まだプログラミング始めて1週間なので、これ以外思いつきません。
0953デフォルトの名無しさん
NGNG関数なら関数ポインタとTagとを型キャストで相互変換するとか
メソッドならメソッド配列を作って配列引数として呼び出すとかさ
0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGモグラたたきゲームか?
どっちにしろ、アプローチの仕方が悪いぞ。
0956デフォルトの名無しさん
NGNG0958950
NGNGcase (Sender as TImage).Tag of
1 : 関数A;
2 : 関数B;
(以下略)
end;
でできました。
ありがとうございました。
0959デフォルトの名無しさん
NGNGSystem.UTF8Decode/UTF8Encode
AnsiToUTF8 / UTF8ToAnsi
では足りない?どういった処理をしたい?
0960デフォルトの名無しさん
NGNGおい。先に言って下さい。
今し方UCS2<->UTF-8変換ルーチン書き終えてマターリしてたのに・・・。
0961デフォルトの名無しさん
NGNGメールチェッカーを作っている者ですが
アイコン上にマウスをもっていくと
エラーダイアログが大量に出て落ちてしまいます。
ソースを見て頂けませんか?
もう自分ではどこが悪いのかが分かりません…
ttp://isweb41.infoseek.co.jp/computer/ultra-k/test.txt
ここにテキスト形式であげました。
どうかよろしくお願いします<(__)>
0962たぶん
NGNGCheckIT変数には代入されないでしょう。
問題は、
1、コンストラクタ中でループしてる為に
たとえば、 CheckIt:= TCheckIt.Create; としたとしても、TaskTrayWndProc メソッドが呼ばれる時には代入されてない
2、そもそも
if (Msg.LParam = LongInt(TaskBarReCreate)) then
と Self を使えば CheckItを参照する必要はない
という事では?
0963デフォルトの名無しさん
NGNG>エラーダイアログが大量に出て落ちてしまいます。
エラーメッセージ読まぬものにプログラムする資格無し。
0964デフォルトの名無しさん
NGNGImage1にそれを書いて、
他のImageNのOnClickにImage1Clickを割り当てたらいいと思う。
またはActionList使う。
0965デフォルトの名無しさん
NGNG一行目の時点でミスってるからじゃないの?
0966デフォルトの名無しさん
NGNGワラタ
0967デフォルトの名無しさん
NGNG0969ななしへたぐらま ◆XcB18Bks.Y
NGNG手続きまたは関数の中で宣言する変数(ローカル変数)の場合は最初の値はどちらかはわかりません.それ以外の場合はFalseです.
type
TForm1 = class(TForm)
private
FNantoka: boolean; // フィールド変数.初期値はFalse
procedure Foo;
end;
var
Kantoka: boolean; // グローバル変数.初期値はFalse
function HoeHoe: boolean; // 関数の場合.戻り値も初期値は不定.戻り値は必ず代入しなければならない.
var
Flag: boolean; // ローカル変数.初期値は不定
begin
(略)
end;
procedure TForm1.Foo; // メソッドの場合
var
Done: boolean; // ローカル変数.初期値は不定
begin
(略)
end;
実際には毎回同じ値が返ってくるので一見大丈夫そうですが,保証されていない以上,同じ値が返ってくることを当て込んではいけません.(コンパイラオプションによっては値が変わるようです) また,ローカル変数の初期値が不定なのはboolean型変数以外でも同じです.
0970デフォルトの名無しさん
NGNGなぜ、今までと違う複雑な形式でアップデートさせようとしているのでしょうか?
デルファイの限界が垣間見えまし(ry
0971デフォルトの名無しさん
NGNGもっと頭使ってください・・・
Image1.Tagじゃなくて、Form1.Tagを使うとか
0972デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1052312038/l50
0973デフォルトの名無しさん
NGNG何やりたいのか見えてこない。頭使えとしか言えない
0975950
NGNG頭使ったんですけど、自分の力ではどうしようもないから先人の知恵をお借りしようとここへ来たわけです。
>>974
解決したんですが、後レスだったんで、そっちの方が良いのかなぁと思ったんです。
0976デフォルトの名無しさん
NGNGそれを調べもせず、分かろうともせずに「意味が分かりません」で終わらせているのはどういうことなんだろう。
ネタなんだろうか。
0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGその流れでフサギコやモナーが使われている。
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG「くだらないDelphiはここに書き込め Part2」
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/vbasic/
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG>>993
VB厨のふりしたDel厨死ね
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/vbasic/productinfo/overview/default.asp
Visual Basic .NET 2003 機能概要
http://www.microsoft.com/japan/msdn/vbasic/productinfo/features/default.asp
Visual Basic .NET 2003 にアップグレードする 10 の理由
http://www.microsoft.com/japan/msdn/vbasic/productinfo/topten/upgrade.asp
0997デフォルトの名無しさん
NGNGhttp://www.borland.com/csharpbuilder/
0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。