くだすれDelphi(超初心者用)その13
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の
救済をお願いします。
<前スレ>
Delphi相談室(超初心者用)その11(実質その12)
http://pc5.2ch.net/test/read.cgi/tech/1076610073/
<関連スレ>
Delphi相談室(中級者以上)その12
http://pc5.2ch.net/test/read.cgi/tech/1064420818/
Delphi相談室(上級者用)その12
http://pc5.2ch.net/test/read.cgi/tech/1064766880/
【ドキュメント】Delphi8 for .NET 2【どこ?】
http://pc5.2ch.net/test/read.cgi/tech/1078695271/
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その12
http://pc5.2ch.net/test/read.cgi/tech/1076095856/
<その他>
ボーランド
http://www.borland.co.jp/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
0002デフォルトの名無しさん
NGNG12 http://pc5.2ch.net/test/read.cgi/tech/1076610073/
11 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
10 http://pc2.2ch.net/test/read.cgi/tech/1074523803/
09 http://pc2.2ch.net/test/read.cgi/tech/1071294733/
08 http://pc2.2ch.net/tech/kako/1068/10682/1068201045.html
07 http://pc2.2ch.net/tech/kako/1065/10651/1065195699.html
06 http://pc2.2ch.net/tech/kako/1063/10632/1063202727.html
05 http://pc2.2ch.net/tech/kako/1061/10610/1061090908.html
04 http://pc2.2ch.net/tech/kako/1058/10588/1058834815.html
03 http://pc2.2ch.net/tech/kako/1055/10559/1055986736.html
02 http://pc2.2ch.net/tech/kako/1053/10537/1053757982.html
01 http://pc2.2ch.net/tech/kako/1051/10518/1051882835.html
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG乙です
で、早速ですが
procedure TForm1.Button3Click(Sender: TObject);
Var
FS: TFileStream;
S: String;
begin
If OpenDialog1.Execute Then Begin
FS := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
Try
FS.Read(PChar(S)^,FS.Size);
Memo1.Text := S;
Finally
FS.Free;
End;
End;
end;
1バイトも読み込まれず、Read を ReadBuffer に変えると「ストリームの読み込みエラー」になります。
Read する直前に FS.Size を調べたところファイルは正しく開かれているようなのですが…
一体に何が間違ってるのでしょうか?
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGSetLength(S, FS.Size);
FS.Read(S[1], FS.Size);
0007デフォルトの名無しさん
NGNG出来るようになりました。
ありがとう御座います。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG遅いからじゃないの?
オレは使わんなぁ。
さらに言うと、TFileStreamじゃなくてTStringlist使うな。オレだったら。
0010デフォルトの名無しさん
NGNG> 遅いからじゃないの?
ほんとにおそいの?
Lines.LoadFromFile() は TFileStream を使って LoadFromStream() してる
し、TStringList を使うのより、速いのでは?
0011デフォルトの名無しさん
NGNGIndyコンポーネントについて質問させてください。
IndyはTCPを利用した通信において、ブロック単位を保証してくれるのですか?
WriteBufferを利用してクライアントが800B送ったとしたら、受信側である
サーバーは受信バッファが800Bに達するまで待ってくれるのですか?
(800B送ったら、受信側も必ず800B受信できることを保証するものですか?)
どうしてもTCPでパケット単位の処理をしたいので…
教えてください
0012デフォルトの名無しさん
NGNGいえ、Memo1に出しているのは読み込みの確認の為で、実際にはメモリ内での処理だけです。
>>9
TStringsのソースでは>>10 のようになっていたので。
0013デフォルトの名無しさん
NGNGどうも余計な口出しをしたようで失礼しました。
ちなみに私は可変長のバッファを扱う場合、原始的な動的変数を使うことが
多いですね。文字列しか扱わない場合は TStringList ですが。
動的変数は全部手動でやらないといけない反面、今回のような勘違いによる
トラブルは起こりにくいと思います。
何が一番速いかはよくわかりませんです。
0014デフォルトの名無しさん
NGNG> トラブルは起こりにくいと思います。
動的変数って何? 動的配列のこと? なら、SetLength() しなきゃならないのは
同じでは?
0015デフォルトの名無しさん
NGNG設定でビジュアルスタイルの適応の有無の切り替え方のできる方法があれば教えてください。
0016デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGVCでこれに代わるものは何でしょうか?
Delphiで引数が(AOwner:TComponent)となっているのを
VCで使いたいんです。
0019デフォルトの名無しさん
NGNGNULLでも突っ込んどいたら。
0020デフォルトの名無しさん
NGNG動的変数は GetMem で作成する名前なしのメモリ空間のことです。
作成や解放などメモリそのものの管理を手動で行わないといけない代わりに
どんなデータでも格納することができます。
長い文字列や動的配列も動的変数の一種ですが、メモリ管理は Delphi が
勝手にやってくれます。
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGレスさんくす
> 動的変数は GetMem で作成する名前なしのメモリ空間のことです。
それを「動的変数」というのははじめてききました。
> 作成や解放などメモリそのものの管理を手動で行わないといけない代わりに
> どんなデータでも格納することができます。
はい、そうですね。書き込み・読み出しは Move() でやるわけですね?
わたしは普通そういうときは、TMemoryStream のインスタンスをつくって、
SetSize() で領域を確保します。そうすると、Write() や Read() などの
メソッドがつかえたり、Position プロパティーで任意のオフセットに移動で
きたり、ファイルへの読み書きも簡単です。またインスタンスを Free すると
メモリの解放も自動的に行えます。以前は GetMem() FreeMem() を愛用して
ましたが、いまはもっぱら TMemoryStream を使っています。
0024デフォルトの名無しさん
NGNG初めてのプログラムとしてメモ帳をタブ化したいと思っているのですが、ずぶの素人の
私にでも出来るのでしょうか?
0025デフォルトの名無しさん
NGNG本物のメモ帳をタブ化したいの?
それともタブ型のメモ帳クローン?
まぁどっちもできるよ。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGはじめてなら両方とも難しい。
まずは普通のメモ帳をつくりなされ。
0029デフォルトの名無しさん
NGNG文字コードとかにこだわらないならメモ帳もどきの方が簡単かな。
0030デフォルトの名無しさん
NGNGせっかく門戸叩いても、「無いものを使え」って書いてあるチュートリアルってのもなぁ。
まぁ過ぎた話ではあるが。
幸い、オレはやらなかった。
0031Cappuccino ◆OTxNmva8vI
NGNGttp://cafe-au-lait.ath.cx/img/d6err.png みたいに出て、そのあと固まります。
Delphi6で、一応Borlandから出ている修正はすべて当ててます(RTL Update #3まで)。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGttp://groups.google.co.jp/groups?selm=40616c0f%241%40newsgroups.borland.com
>The D7 debugging issue seems to be caused by a bug or breaking change in
>RC1 - appearantly this is being fixed for RC2 - see thread below.
0034Cappuccino ◆OTxNmva8vI
NGNG別マシンでしばらく組むことにします。
0035デフォルトの名無しさん
NGNGで、SP2/RC1 をアンインストールすれば問題ないでしょ?
もしあなたが Windows Beta ユーザーなら RC2 をダウンロードできますが.
OS のベータ版なんて一般公開するもんじゃないだろうに > MS
0036Cappuccino ◆OTxNmva8vI
NGNG0037デフォルトの名無しさん
NGNGRC2 は一般公開されないから、もう RTM まで待つしかないか。どれくらいかかるかな。
0038Cappuccino ◆OTxNmva8vI
NGNG0039デフォルトの名無しさん
NGNG今の時点で日本語版が出てないが時間的に間に合うのかな?
0040デフォルトの名無しさん
NGNGえーと、今使っている XP SP2 RC1 のビルド番号はいくつですか?
コントロールパネルのシステムで確認できると思います。
0041デフォルトの名無しさん
NGNGBorDbg60.dll を使うようにすれば、当面は回避可能。
さてさて。
0042デフォルトの名無しさん
NGNG[HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Debugging]
"Dbk ClassID"="{092E9CC0-071B-11D3-83A5-00C04F6BC736}"
結果教えてね。
RC2 が出たらこのレジストリを取り去ってください。
0043デフォルトの名無しさん
NGNG付属のものだと、ちょっと不満足なので
DBGridを拡張したコンポですといろいろと見かけますが
DBCtrlGridを拡張したコンポは、どこにもみあたらなかったので・・・
0044デフォルトの名無しさん
NGNGDBCtrlGridは使い勝手よくないからねぇ。DBCtrlGridじゃなければならない
理由は何かな?
「もしGrid上に任意のコントロールが乗っていることが必要」と言う理由ならば
ここがお勧めです。
http://www.devexpress.com/
CheckBox, LookupComboBox, RadioButton, カレンダー, ボタン,
MaskEditなどを乗せることができるし、1レコードで2行以上の
行を表示することもできる。
これ以外の理由でDBCtrlGridを使う理由があったら教えて。
004543
NGNGQuantumGrid、いいですよね〜
これと似たのでTMSのGridもありますね
実は以前、DBGridの継承コンポを使い、入力フォームを作っていましたが
DBGrid継承のコンポーネントですと、個々の入力の制御が(特にフォーカス関連)
インプレースエディッタがらみ(しかもprotectedだし)でいろいろ弄るしかなくコードも乱雑になってしまったもので・・・
また、行レベルで各コントロールの表示の有無、フォーカスの順序などが変わるような機能を付けた場合
DBGrid継承のコンポですとなかなか難しいような気がします
そこで、DBGridからDBCtrlGridを使い、各DBEditに細かい事を書き込もうと思ったのですが
普通はそう言うことしないものなのでしょうか?
(でも、標準のDBCtrlGridだといろいろ問題が・・・
スクロールのバグやXPStyleのバグやらいろいろ不都合があったので)
売上伝票などの複数のレコードを登録する必要が有る場合(現在のData構成がそうなってます)
どういったコントロールで入力するのが普通なのでしょうか?
なんだか、まとまらない文章でごめんなさい、、、
0046Cappuccino ◆OTxNmva8vI
NGNG2096です
>>42
実行できましたー。ありがとうございます。
0047デフォルトの名無しさん
NGNGあるのですが、button1で終了、button2で再実行させたいのです。
DOSプロンプトから実行しているときは、停止させるには
ctrl+cを実行する以外に手はありません。
諸先生方、なにとぞHELPを。
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGkeybd_eventで調べれ
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGdprファイルで宣言した変数はそのファイルからusesしたユニットで
扱うことはできないんですか?
0052デフォルトの名無しさん
NGNG似たような質問をしたら、自分で調べろと言われたよ!
0053デフォルトの名無しさん
NGNGユニットの方でプロジェクトファイルを uses できないので使えない。
そもそもプロジェクトファイルだけがメインルーチンなのに、サブルーチン
に相当する *.pas のほうからアクセスするのは変。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG超初心者という言葉に甘んじてしまいました。
軽率な行動を取らぬようにします。
>>53 >>54
そのように指摘していただくともっともな話だと思えます。
勉強になりました。どうもありがとうございました。
0056デフォルトの名無しさん
NGNGBringWindowToTopとかSetForeGroundWindowってDOS窓には使えへんの?
アクティブになる前にSleep(100)とか挟まないとうまくいかない
0057デフォルトの名無しさん
NGNGうまくいくならそれでいいじゃないか(・∀・)ニヤニヤ
0058デフォルトの名無しさん
NGNGこれ以外にもレジストリの書き換えで Windows に DLL を開放させる
方法もありますが、この場合に DLL の開放処理が呼び出されるかどうか
は未確認です。方法は AlwaysUnloadDll をキーに google して見て
ください。
------------------
0059デフォルトの名無しさん
NGNG...つまり、かつて多くの人がメモリの無駄をなくしたいと思っており、プログラマーの間では知られていた
「シェルが利用してる DLL を解放する設定」の話が、いつしか「不要な DLL をメモリから解放する」という
誰もが見ていた夢の話にすりかわっていたのではないか。そんなようなパターンで広まった俗説ならいくらでも
ありそうである...
0060デフォルトの名無しさん
NGNGライブラリのブロックの実行部には,ライブラリの初期化コードを記述します。
このコードは,ライブラリがロードされるたびに一度実行されます。通常,ウィ
ンドウクラスの登録や変数の初期化といった処理を行います。ライブラリ初期化
コードには,ExitProc 変数を使って終了手続きを組み込むこともできます(こ
の詳細については,終了手続きを参照してください)。この終了手続きは,ライ
ブラリのアンロード時に実行されます。
------------------
0061デフォルトの名無しさん
NGNGExitProc 変数は下位互換性のために残されています。かわりに finalization を使用してください。
ExitProc はパッケージと互換性がないので,かわりにユニットの finalization 部にコードを追加することをお勧めします。
DLL 内部では,かわりに DLLProc 変数を使用できます。
0062デフォルトの名無しさん
NGNGDLL のデバッグ時には、DLL にたいして「TD32 デバッグ情報を含める」をチェックすること
library Project2;
procedure Test; begin end;
exports test;
procedure DllProcedure(Reason: Integer); begin end;
begin
DllProc := DllProcedure;
end.
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGここに書き込みたくなる気持ちは分かるよなぁ
0065デフォルトの名無しさん
NGNG肛門ダイアログって実装できますか?
変な質問でごめんね
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG米MSに就職してコモンダイアログを作って下さい。
0071デフォルトの名無しさん
NGNGTFileOpen とかで使えるけど?
コモンダイアログを拡張したいとか? Dialogs.pas のソースを見ればやり方が書いてある。
肛門ダイアログの拡張のやり方なら別のスレへ。
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG某 ML の話だとおもわれ
0074デフォルトの名無しさん
NGNGでて汚いのを直す方法を教えて下さい。
0075デフォルトの名無しさん
NGNGこれはどうやってやるの?
007644
NGNG>そこで、DBGridからDBCtrlGridを使い、各DBEditに細かい事を書き込もうと思ったのですが
>普通はそう言うことしないものなのでしょうか?
DBCtlGridは挙動不審すぎて業務には使えないです。また、これに載せることができる
コントロールも限られているのでちょっと使いにくい。
>売上伝票などの複数のレコードを登録する必要が有る場合(現在のData構成がそうなってます)
>どういったコントロールで入力するのが普通なのでしょうか?
「普通」はどうしているんだろうね。自分はQuantumGridを割と早い時期から
使用していたからほかの方法が思いつかない。これが一番ベストだと思っています。
0077デフォルトの名無しさん
NGNGTMemoのことだと思われ
0078デフォルトの名無しさん
NGNG再現しない。ディスプレイを買い換えるといい。
0079デフォルトの名無しさん
NGNG「ディスプレイを買い換えるといい。」は
「ビデオカードを買い換えるとよい。」かな?
>>74
もしできるなら、問題と思うコントロールのキャプチャ画面をどこかにアップして
URL をここに貼りなさい
008043
NGNGそうですよね、DBCtrlGridでコーディングしている最中に
いかに使いにくいかがわかってきました。
わたしも以前は他社の海外コンポDbAltGridというのを使って開発しておりました
なぜならこのグリッドもワンレコードに複数行表示可能で明細の入力に適していると思ったからです。
しかし、どうしてもprotectedのインプレースエディタにアクセスするのが引っかかって
DBCtrlGridに浮気してしまいました
でもDBGrid継承コンポで、開発をやり直したほうがよさそうですね
今回のご回答で目が覚めました
貴重なご意見、本当にありがとうございました
0081デフォルトの名無しさん
NGNG元に戻した位置(Left,Top)、サイズ(Width,Height)を知りたいんですが方法が分かりません。
どなたか教えてください。お願いします。
0082デフォルトの名無しさん
NGNGGetWindowPlacement っていうAPIがあるよ。
008381
NGNG0084デフォルトの名無しさん
NGNGできない状態(すなわち×しか使用できない状態)にするにはどうすればよいでしょうか。
以下のコードを書いて「サイズ変更」ボタンを使用不可にしようと試みたのですが、
使用不可になりませんでした。
procedure TfrmMain.FormActivate(Sender: TObject);
var
Menus: HMENU;
begin
//システムメニューの「サイズ変更」を使用不可にしてみる
Menus := GetSystemMenu(Handle, False);
DeleteMenu(Menus, SC_RESTORE, MF_BYCOMMAND);
DrawMenuBar(Handle);
end;
0085デフォルトの名無しさん
NGNG(コメント消してあります。)
GetClientRect(hwnd, &r);
BeginPath(hdc);
TextOut(hdc, r.left, r.top, "Windows NT Rules Well & Wisely", 4);
EndPath(hdc);
SelectClipPath(hdc, RGN_AND);
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));
最後灰色で塗っていますが、他の色で塗りつぶすにはどうしたらいいですか?
0086デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
with Canvas do begin
Font.Size := 36;
BeginPath(Handle);
TextOut(0,0,'Windows NT Rules Well & Wisely');
EndPath(Handle);
SelectClipPath(Handle,RGN_AND);
Brush.Color := clRed;
Windows.FillRect(Handle,ClientRect,Brush.Handle);
end;
end;
0087デフォルトの名無しさん
NGNGありがとうございました。
0088デフォルトの名無しさん
NGNG参考にAge2chのソースを見ているとなにやらConfig.Save;とかがありまして、、
なんか管理しやすそうな設定の保存の仕方をしているのですが、
これと同じような処理のさせ方はどうすればいいのでしょうか(;´Д`)
試行錯誤で試してみたり、あちこち調べてみましたが結局できませんでした。。
説明下手ですみません。。。
0089デフォルトの名無しさん
NGNGソースあるなら、それと同じようにするとよい、のでは?
0090デフォルトの名無しさん
NGNGソースで
var Config: TAgeConfig;
この部分で何故TAgeConfig;と宣言できているのかわからんのです。。
_| ̄|○ |||
0091デフォルトの名無しさん
NGNGNumber: Integer;
の意味はわかるのか?
それとも TAgeConfig というクラスがどこで定義されているのかがわからない?
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNGあー、どこで定義されているのかわからないという感じかもしれません。
クラスとかが関係しているんですね、ヒントありがとうございます。もう一回調べてきます。
0094デフォルトの名無しさん
NGNG90 さんがどこで躓いているのかがわからないとなんともいえないな
0095デフォルトの名無しさん
NGNGたぶん、いろいろ大事なことがまだ学習できていないのだと思いますが
ゆっくり学んでください。
0096デフォルトの名無しさん
NGNGいや、それがTAgeConfigで検索かけても見つからなかったんです。。
0097デフォルトの名無しさん
NGNGおぉぉ、ありがとうございます。まさしくそれっぽいです。
別のファイルに書かれていたのですね。。がんばります。
0098デフォルトの名無しさん
NGNG分割コンパイルとユニット単位の名前空間の概念が身につくでしょう。
0099デフォルトの名無しさん
NGNG7->07というように。
0100デフォルトの名無しさん
NGNGStr(i:2,S);
0101デフォルトの名無しさん
NGNGif (Key='\') or (Key='/') or (Key=':') or (Key=',') or
(Key=';') or (Key='*') or (Key='?') or (Key='"') or
(Key='<') or (Key='>') or (Key='|') then
begin
Key :=#0;
Beep;
end;
こんなことやってる漏れってバカかな。。_| ̄|○ |||
0102デフォルトの名無しさん
NGNGFormat('%.4d', number)
で4桁分、0 で埋める。0007 0012 0345 1234 56789 という感じになる
0103デフォルトの名無しさん
NGNG良いのでは?目的を満たしているなら実装はどうやっても良いわけだし。趣味プログラマーならなおのこと。
ただその実装だと、コピー/ペーストしたときにチェックできないよ。
0104101
NGNGガーン、コピペでできちゃうのか。。
もし使えない文字があったら使えない文字を空白に置き換える
という処理はどうすればいいのでしょうか。。
検索してみても複数の文字を置き換えられるような関数ってないんですよね。。
0105デフォルトの名無しさん
NGNG俺だったら警告ダイアログ->再入力にするけどな。
入力内容を勝手に変更するのはよくない、と思ってるんで。
0106デフォルトの名無しさん
NGNG102さんのを探してたのですが、0埋めとかでもなかなか出てこなくて・・・
100さんのはシンプルですね。初めて見ました。
ただ、関数で値が返ってくるほうがうれしいので、102さんの使わせて貰います。
ありがとうございました。
0107ななしへたぐらま ◆XcB18Bks.Y
NGNGちなみに以下のように『集合』を使って表現することもできます.
if Key in ['\', '/', ':', ',', ';', '*', '?', '"', '<', '>', '|'] then
(以下同じ)
Keyの値が'\', '/', ':', ',', ';', '*', '?', '"', '<', '>', '|'のいずれかと一致するならTrue,そうでなければFalseです.
(詳しくはヘルプの『集合型』をご覧ください)
>>104
そのものズバリの関数や手続きがないときは自分で目的の処理コードを書きます.
といってもそんなに難しいことではありません.
以下は無効な文字を空白で置きかえる関数の例.
const cInvalidChars = ['\', '/', ':', ',', ';', '*', '?', '"', '<', '>', '|']; // 無効な文字たち(※この例では何回も使うので定数にした)
function FillInvalidChars(const s: string): string;
var i: integer; // ループ変数
begin
Result := s; // 引数をいきなり戻り値にコピー
for i := 1 to Length(Result) do
if Result[i] in cInvalidChars then // Resultのi番目の文字が無効な文字たちに含まれるなら…
Result[i] := ' '; // Resultのi番目の文字を' 'で置きかえる.
end;
※参考>101のように無効な文字を削除する関数の例.(定数宣言は上と同じ)
function DeleteInvalidChars(const s: string): string;
var i: integer; // ループ変数
begin
Result := s; // 引数をいきなり戻り値にコピー
for i := Length(Result) downto 1 do
if Result[i] in cInvalidChars then // Resultのi番目の文字が無効な文字たちに含まれるなら…
Delete(Result, i, 1); // Resultのi番目の文字を削除
end;
0109デフォルトの名無しさん
NGNGクイックスタートのトコのチュートリアルをやりながら勉強してるんです
さっそく詰まったんですが質問です・・
「1コンポーネントパレットの[Additional]ページにある ActionManager コンポーネントをダブルクリックして,」
↑
これが見当たらないんですがActionManagerはどこにあるんでしょう?
もしくは変わりになるモノありますか?
ヘルプの先頭にこんなの書かれちゃってたのでヤパーリ無理でしょうか・・?
「ここで取り上げている機能の一部は Delphi の Personal 版では使用できません。」
:・゜・(ノД‘)・゜・。
0110デフォルトの名無しさん
NGNGパレットの上にカーソル置いたら名前出るから総当りで探せ
Personalにもちゃんとあるから
0111デフォルトの名無しさん
NGNG練習ならば、まずはメニューだけでツールバーなしで作ってみれ。
ちなみにメニューはTMainMenu[Standard]、ツールバーはTImageList+TToolBar[Win32]を使えば実現できる。
フローティングとか実行時編集とかそういう機能はないが、無ければ困るような機能でもないし。
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/devsupport/d6issues.html
パレットで見つからない場合は
表示→コンポーネント一覧
で探すと良い
0114109
NGNG>>113
探したけど見当たらないです
http://upld.komugi.net/img/up169.jpg
コンポーネントのインストールとかそういう項目で増やすんですか?
>>112
超初心者用だったので_| ̄|○ガクッ
0115デフォルトの名無しさん
NGNGとりあえずヘルプなんかで覚えるより
http://kakinotane.s7.xrea.com/dirDelphi/mainmenu.html
ここで基本の大体のことは覚えられる。
0116デフォルトの名無しさん
NGNG0117うろ覚え
NGNGActionManagerあるの?
0118デフォルトの名無しさん
NGNG悪質だぞ>答えてるヤツ
0120デフォルトの名無しさん
NGNGいや「答えてるヤツ」だと…。
0121101
NGNGEditChengeに
if SameText(Edit.Text,DeleteInvalidChars(Edit.Text))=False then
begin
ShowMessage('ファイル名に使えない文字が含まれていました。'+ Char(13) +
DeleteInvalidChars(Demo.Text) + 'に変更します。');
Edit.Text:=DeleteInvalidChars(Edit.Text);
end;
こんな感じに実装してみました。ありがとうございます。
0122113
NGNG>メニューの使用頻度に対応してメニュー項目の表示・非表示を切り替えたり、
>カスタマイズ機能を備えたツールバーを設計するための ActionManager コンポーネントは、
>Delphi 6 Personal には含まれません。製品機能の最新情報については「Delphi 6 機能一覧」を
>ご覧ください。
>※「クイックスタート」中に誤った記述があることをお詫びいたします。
>>109
ブラクラじゃないから踏んでも大丈夫だよ
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNGそれ、オレ。
そーいや、既に書いてたんじゃないか(藁
0125125
NGNGメニューバーの「コンポーネント」 → 「コンポーネントのインストール」で
インストールを試みたのですが、[致命的なエラー]ファイル'DsgnIntf.dcu'が
見つかりませんと出てしまいました。何かアドバイスをよろしくお願いします。
0126デフォルトの名無しさん
NGNGD6 ならヘルプの「Delphi6へのアップグレード」−「互換性の問題」−
「DsgnIntfの名前変更および関連する変更」のところ嫁。
0127125
NGNGいま読んでみましたが意味がさっぱりわからないのでコンポーネントの
作者さんに伺ってみようと思います。いいご回答ありがとうございました。
0128デフォルトの名無しさん
NGNG置いてるところを知りませんでしょうか?
0129デフォルトの名無しさん
NGNGTSonEditを使えばいいんじゃ
0130デフォルトの名無しさん
NGNGタブ化の部分を参考に、ということだと勝手に解釈して
どっかにタブブラウザをDel6perで作るチュートリアルがあったはず。
ググってくれ。
0131デフォルトの名無しさん
NGNGSynEditのDemoの中に有ったと思う。
0132デフォルトの名無しさん
NGNGuses節にある DsgnIntfを削除して代わりに
DesignEditors, VCLEditors, RTLConsts を追加すれば
大抵の場合はうまくいくはず。
ヘルプにそう書いてあるはずなんだが・・・
0133128
NGNGこれで何とかなりそうです。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNGForm1のParentをForm2のPanelなどに変えると、
透明で無くなってしまうのですが、
これを透明のままにする方法がありましたら教えてください。お願いします。
0136デフォルトの名無しさん
NGNGIEコンポーネント使ったやつ?
ActiveX使ったやつ?
Delphiなのに他にDLLがいるやつ?
0137デフォルトの名無しさん
NGNGForm1 はデフォルトの MainForm です。その親を Form2.Panel1 などにするアプリ
をつくってはいけません。
0138135
NGNGForm2を透明にした状態で変える場合でお願いします。
0139デフォルトの名無しさん
NGNG出来ませんというか分かりません。
APIとかで出来るのでしょうか?教えてください。お願いします。
0140デフォルトの名無しさん
NGNGIEコンポスレへ行けといいたかったがあのスレずいぶん前に落ちていたんだな。
TWebBrowserコンポーネントのWebBrowser1があると仮定して、
text := WebBrowser1.Document.all.tags('textarea').item(n).innerText;
でTEXTAREA内の文字列を取得できる。
0141139
NGNG0142デフォルトの名無しさん
NGNG検索したサイトではSRCERACE→SRCINVERTと書いてありましたが、
実際にやってみると変な色になってしまします。どうすればいいでしょうか。
0143デフォルトの名無しさん
NGNGマスク部分だけをコピーする API もあるみたいだけど (MaskBlt)、
手元の資料では Windows 95/98/Me: Unsupported. って書いてあるので、
TImageList の Draw や DrawOverlay を使って描画する方がいいと思う。
見当違いなこと書いてたらごめん。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNG字を書くと字の周りにフォームの元の色が出るんですが、
綺麗に書くにはどうすればいいですか?
0147デフォルトの名無しさん
NGNGSetBkMode(Canvas.Handle, TRANSPARENT); を呼び出してから書く、
TextOut, TextRect メソッドで書く場合は、Canvas.Brush.Style を
bsClear にして書いたらどうですか?
0148デフォルトの名無しさん
NGNGbegin
with Canvas do begin
Brush.Style := bsClear;
TextOut(10,10,'lkhnoihcw');
end;
end;
これでもダメ?
0149デフォルトの名無しさん
NGNGpark18.wakwak.com/~greenspace/dev-api/theapi/reference/bitblt.html
↑のサイトを見ると透過ができそうな気もするのですが・・・
他のDelphi系のサイトではImageList使ってました。
(´・ω・`)IL使います・・・。
0150デフォルトの名無しさん
NGNG非常に簡単な質問かと思いますが、、
これってresファイル全部を指定しているということですよね?
resファイル関係はこれ一つ書いておけば全部取り込んでくれるということですよね。
0151デフォルトの名無しさん
NGNGヘルプでRESOURCEコンパイラ指令のところを読んでくらはい
0152デフォルトの名無しさん
NGNG自分で作ったリソース(例:アイコン)は自分で「取り込むように」指定する。
つーか、ソレに追加する形。
0154デフォルトの名無しさん
NGNG記号 * は $R 指令では特別な意味を持ちます。これは,指令が現れるソース
コードファイルの基本名(拡張子を除いた部分)を表します。通常は,アプリ
ケーションのリソース(.RES)ファイルの名前はそのプロジェクト(.DPR)
ファイルと同じです。この場合,プロジェクトファイルに {$R *.RES} を指
定すると,対応するリソースファイルがアプリケーションにリンクされます。
同様に,フォーム(.DFM)ファイルの名前は通常そのユニット(.PAS)ファイ
ルと同じです。.PAS ファイルに {$R *.DFM} を指定すると,対応するフォーム
ファイルがアプリケーションにリンクされます。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGbsClearにしているんですけど、文字サイズを大きくすると
文字の周りにフォームの色が出てきてしまいます。
リージョンなんて物を使って背景を透明にしてやると
うまくいくんですけど、フォームの移動とかをどうすればいいか
分からなくて、教えて君で済みません。
0157デフォルトの名無しさん
NGNGリージョンと背景の透明化に何の関係が?
0159デフォルトの名無しさん
NGNG私の環境だと以下のコードでちゃんと透明になりますし、フォームを
移動してもついてきますよ。
Button1 をクリックすると 2 ポイントずつフォントが大きくなります。
procedure TForm1.FormPaint(Sender: TObject);
begin
with Canvas do
begin
Font.Assign(Self.Font);
Font.Size := Font.Size + Tag;
Brush.Style := bsClear;
TextOut(10, 10, 'lkhnoihcw');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Tag := Tag + 2;
Invalidate;
end;
0161デフォルトの名無しさん
NGNGWebBrowserを使用したブラウザを作ってるんですが、新しいウインドを
開くリンクをクリックすると自分自身を立ち上げて、リンク先をブラウズできるようにしました。
ブラウズ用のWebBrowserと、OnNewWindow2イベントが発生すると
そのURLを取得するための隠しWebBrowserの二つを用意して、
OnStatusTextChangeイベントを利用してマウスカーソル直下のリンクの
URLを取得し、隠しWebBrowserのOnBeforeNavigate2でURLを照らし合わし
同じURLならShellExecuteで自身を立ち上げるという方法を取りました。
で、質問なんですが、例えば<a href="http://・・・" target="body">の
リンクをクリックした場合、新しく開いたブラウザにbodyという名前のフレームを
セットしたいのですが、どうすれば可能なのでしょうか。
NavigateのTargetやPostDataをいじくってみたり、新しいブラウザを
開くときにリンク先のフレーム名をセットしたHTMLファイルを作成して、
そのHTMLを読み込んだりと色々試してみたのですが、無理でした。
どうすればいいんでしょうか?
ご教授よろしくお願いします。
0162デフォルトの名無しさん
NGNGご教授じゃなくてご教示じゃないんか?
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGご教授 の検索結果のうち 日本語のページ 約 86,200 件中 1 - 50 件目 (0.34 秒)
ご教授の勝ちです
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGprocedure honwakapappahonwakapappadoraemon(); でも
好きなようにすればいいよ。
0168デフォルトの名無しさん
NGNGWebページの読み込みが完了した後でこうしてやれば、名前を設定出来る。
Doc := WebBrowser1.Document as IHTMLDocument2; // Doc: IHTMLDocument2;
Win := Doc.parentWindow; // Win: IHTMLWindow2;
Win.name := 'body'; // 名前をbodyに設定。
もし、新しいウィンドウで開くのと、Targetの問題を解決するのとがしたいだけなら、
RegisterAsBrowserプロパティをTrueにすれば、勝手にTargetと同じ名前のウインドウ探して、
そのウインドウに表示してくれるし、
OnNewWindow2イベントで
新しいウインドウを作成して、
ppDisp := Browser.Application; // Browserは新しいウインドウのTWebBrowser
としてやるだけで、勝手にTargetの名前を設定してくれるので、
そうした方が楽。
ブラウザ作るなら、こことか見ておいた方が良いと思う。
http://www.euromind.com/iedelphi/index.html
http://www33.ocn.ne.jp/~takoyakusi/
あとメーリングリストの過去ログにもけっこう情報ある。
MSDNにも当然たくさん情報ある。英語でしかもサンプルがC++だけど。
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/wbcustomization.asp
0169デフォルトの名無しさん
NGNG(名)スル
(1)0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。
(イ)専門的な学問・技芸を教えること。
「国文学を―する」「書道―」
(2)0 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。
三省堂提供「大辞林 第二版」より
きょうじ けう― 0 1 【教示】
(名)スル
(1)〔「きょうし」とも〕おしえしめすこと。示教。
「御―を賜りたく」
(2)実験・調査で、研究者の意図する行動を被験者にとらせるための指示。
三省堂提供「大辞林 第二版」より
0170デフォルトの名無しさん
NGNG欠けないようにできないんでしょうか?
0171デフォルトの名無しさん
NGNGわけわからん?!
0172デフォルトの名無しさん
NGNGprocedure
の 最後の eの部分が 欠けるというのだ。
印刷して確認してみてくれ。
0173デフォルトの名無しさん
NGNGそれが人に物を頼む態度か?
0174デフォルトの名無しさん
NGNGあなたには頼んでいません。
0175デフォルトの名無しさん
NGNGやっていなくて 意味がわかるはずもない。
0176デフォルトの名無しさん
NGNGフォントの設定がまずいんじゃないの?
ていうかsageれ。
0178デフォルトの名無しさん
NGNGを基にして
procedure Tform.NaviClick(Sender: TObject);
var
TabSheet: TTabSheet;
WebBrowser: TWebBrowser;
begin
TabSheet := TTabSheet.Create(Self);
TabSheet.Parent := PageControl1;
TabSheet.PageControl := PageControl1;
TabSheet.Caption := '読込中…';
WebBrowser := TWebBrowser.Create(Self);
TOleControl(WebBrowser).Parent := TabSheet;
WebBrowser.OnCommandStateChange := WebBrowser1CommandStateChange;
WebBrowser.OnNavigateComplete2 := WebBrowser1NavigateComplete2;
WebBrowser.OnTitleChange := WebBrowser1TitleChange;
WebBrowser.OnStatusTextChange := WebBrowser1StatusTextChange;
webBrowser.OnNewWindow2 := WebBrowser1NewWindow2;
WebBrowser.Align := alClient;
WebBrowser.RegisterAsBrowser := True;
WebBrowser.Navigate(URLs.Text, EmptyParam, EmptyParam,
EmptyParam, EmptyParam);
end;
として動的にページを作り
PageControl1.ActivePage.Free;
でそのページを削除したとき、確かに削除されるのですが
プログラム終了時に例外が出ます。何が悪いのでしょうか?
(Win2Ksp4+D7Pro+IE5.5sp2)
0179デフォルトの名無しさん
NGNG印刷時の構文強調表示をオンにすると俺のところでも欠ける。
単なるバグだと思う。
>>174-175
アフォは放置で。
0180デフォルトの名無しさん
NGNGTabSheet := TTabSheet.Create(Self);
たぶんコレ
0181デフォルトの名無しさん
NGNGTEmbeddedWBの場合は、このページの一番下に書いてある通り、
TEmbeddedWB.Create(nil);としてやらないと、その症状が出た気がする。
http://www.euromind.com/iedelphi/embeddedwb/tips.htm
それ以外が原因だと、俺には解らない。
0182デフォルトの名無しさん
NGNG上下左右の矢印キーを押せば移動していたのですが、
なぜか突然その方法では移動しなくなりました。
代わりに[Shfit]+[Ctrl]+矢印キーで移動するようになっているのですが、
微妙に気持ち悪くて適いません。
どうすれば元に戻りますか?
0183178
NGNGnilでやってみたのですが変わりませんでした。
よくよく調べてみるとOnNewWindows2で同じことをして作ったページを
削除したときだけプログラム終了時に例外が出ることがわかりました。
(OnNewWindows2では>>178の最後のNavigateを>>168の ppDisp := に変えてある)
どう回避すればいいのでしょうか?
0184デフォルトの名無しさん
NGNG予約語を斜体にしてるから印刷時に末尾が切れるんじゃないの?
0185デフォルトの名無しさん
NGNGIDE のバージョンなんぼ?
0186178
NGNGの前に
PageControl1.ActivePage.PageControl := Nil;
してなかったからでした。WebBrowserに罪はなかったようです。
失礼しました。
0187デフォルトの名無しさん
NGNGやはりバグかな?
これって 古いバージョンからあると思うけど どう?
0188デフォルトの名無しさん
NGNGあと IDE のバージョンも。
0189デフォルトの名無しさん
NGNGできればあげずに書き込めませんかね?
E-Mail 欄に sage と入れてください。
ttp://info.2ch.net/guide/faq.html#C1 にざっと目を通してください。
0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGやれやれです(^-^;
0193デフォルトの名無しさん
NGNGCtrl+矢印キーで移動、Shift+Ctrl+矢印キーでグリッドに沿って
移動、Shift+矢印キーでサイズ変更だったと思うけど。
0194デフォルトの名無しさん
NGNG最大化は必要ないので、これを[_×]にする方法を教えてくらさい。
Windowsに付属の「電卓」や「マインスイーパ」みたいに、
最大化ボタンを押せなくするだけならbiMaximizeプロパティで
できるとわかったのですが、
見た目カッコ悪いのでボタンを消してしまいたいのです。
0195194
NGNGDelphiのバージョンは6の無料版です。
0196デフォルトの名無しさん
NGNG不可能
0197デフォルトの名無しさん
NGNGbsDialog
0198デフォルトの名無しさん
NGNGまあ、絶対に不可能というわけじゃなさそうだけどかなり難しい。
BorderIcons に biMinimize が入ってるとグレーの最大化ボタンが表示されて
しまうので、まずこれを外さなきゃいけない。
で、最小化ボタンも消えるので、枠の部分の描画メッセージを引っかけて最小化
ボタンを本来の場所に自力で描画することになる。
最小化ボタンの形状やサイズは OS やユーザーの設定によって違ってくるので
その辺も考慮しないといけない。この設定は実行中に変更されるかもしれない。
描くだけでなくクリックしたときにへこむとかの応答も提供する必要がある。
さらに最小化のメニュー項目も消えるので自分で追加する必要がある。
0199デフォルトの名無しさん
NGNGまぁ、わしのスキルでは出来るかどうかもワカランが。
0200デフォルトの名無しさん
NGNG>>4、>>6、有り難う。
>>195
「何処までそれにこだわるか」だと思います。
デザインに凝りたいのなら、自分で描くしかないのでは?
0201デフォルトの名無しさん
NGNGフォームをbsNoneにする。
パネルをAlign=alTopに設定して、Width=45、Align=alRightに設定したツールバーを
パネルに貼りつけて、ツールバーを右クリックしてボタンを2つ作り、
左でApplication.Minimize、右でCloseを実行させるようにすれば、あとはなんとかなるぞ。
0202デフォルトの名無しさん
NGNG201だとフォームが移動できないから、ドラッグで移動させたい場合は
procedure Form1.Panel1MouseDown(Sender: TObject;
Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
//マウス左ボタンが押されているとき
If ssLeft in Shift then
begin
//マウスキャプチャを解放する
ReleaseCapture;
//Formをドラッグせよという命令を送る
SendMessage(aterollBrowser.Handle, WM_NCLBUTTONDOWN, HTCAPTION,0);
end;
end;
0203デフォルトの名無しさん
NGNGaterollBrowser.Handle??
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGSendMessage(Fram1.Handle, WM_NCLBUTTONDOWN, HTCAPTION,0);
0206デフォルトの名無しさん
NGNG>>(182 + 204) div 2
0207デフォルトの名無しさん
NGNGSendMessage(Form1.Handle, WM_NCLBUTTONDOWN, HTCAPTION,0);
0208194
NGNGどうもありがとうございます。
どっかのプロパティ(visibleとか?)を例えばFalseにするだけで
消えてくれるもんだと思ってましたが、なんか大変そうですね。
超初心者の私には無理そうですので、今回はあきらめます。
0209デフォルトの名無しさん
NGNGワロタ
0210デフォルトの名無しさん
NGNGΣ(゚Д゚ )オオッ
0211デフォルトの名無しさん
NGNGよくわからんが [ツール | エディタ オプション] あたりの設定じゃない?
0213デフォルトの名無しさん
NGNG俺の環境だと矢印キーでコントロール間をフォーカスが「移動」するし、
Ctrl+矢印だとコントロール自体が「移動」するよ。Delphiではこれが普通の動作のはず。
何か別のアプリと混同してるんじゃないの?
0214204
NGNGどうも勘違いだったっぽいです。
お騒がせしました。
元に戻そうとして3時間くらい格闘したのに。。_| ̄|○
0215デフォルトの名無しさん
NGNGD6パーソナルで、Memcheckを使うと、
Formに何もない状態でも5回と出るんですが、
5回より増えないようにすればいい。って事ですか?
0216デフォルトの名無しさん
NGNGメモリリークがあると、MemCheck で見つけられるが
MemCheck がレポートしたからといって、それがメモリリークであるとは限らない。
0217デフォルトの名無しさん
NGNG0218デフォルトの名無しさん
NGNG.dprでMemCheckをusesして、プロジェクトオプションの
ディレクトリ/条件タブの条件定義に<MemCheckStackTrace>を追加(括弧はいらない)。
リンカタブのTD32デバッグ情報を含めるにチェック。
コンパイラタブのスタックフレームの生成をチェック。
こんな感じだったかのぅ。
0219215
NGNG>218と同じにしてやってみましたが5回と出ます。
何かまだ設定が足りないんでしょうか?
他のD6パーソナルの人は出ないのかな?
0220デフォルトの名無しさん
NGNGアフォ?
0221デフォルトの名無しさん
NGNGとりあえず、これでよいと思うよ。
で、D6 のアップデートは当ててありますか?
0222デフォルトの名無しさん
NGNG>>218と同じ条件にしてやってみたけど1つもレポート出ないよ。
Del6per+up2+rtl3
0223デフォルトの名無しさん
NGNG0224215
NGNGここに書いてあるものは
やってるつもりなんですが、後でやり直してみます。
ありがとうございました。
0225デフォルトの名無しさん
NGNGガンガレ
0226デフォルトの名無しさん
NGNGメモリリークでは無い場合のレポートを見せて頂けませんか?
0227デフォルトの名無しさん
NGNGたとえば、自分でとある関数を作ったとして、その関数の処理に失敗した場合、
raiseで例外を生成する場合と、WinAPIっぽく関数の戻り値にエラーを示す値を返す方法とでは、
どうメリット、デメリットがあるかがよくわからない。
0228デフォルトの名無しさん
NGNG関数でエラー値戻す方法よりも、例外生成ほうが何かメリットがあるんでしょうか?
0229デフォルトの名無しさん
NGNG関数の戻り値にエラー値→ifで処理
違ってたらマターリする
0230デフォルトの名無しさん
NGNG「ツール」って項目設けたらデフォのNameが「ool1」になった
もしかして俺のDelphi壊れてる?
0231デフォルトの名無しさん
NGNG漏れのDelphiは右クリックメニューとかの各Captionが''だったりするけどがんがって使ってる
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG呼び出した側ではしらんかおしておけばいい。
0234デフォルトの名無しさん
NGNGPanel上にドッキングするコントロールが3つあって、
┌┬─┐
│├─┤
││ │
└┴─┘
↑のように3つドッキングしてる状態を記憶させるには、
iniファイルにどう書けばいいですか?
0235デフォルトの名無しさん
NGNG│├─┤
││ │ ←C
└┴─┘
↑A
だとしたら、
1.設定ロード前に全コントロールのAlignをNone
2.最初にAのコントロールをLeftにする
3.BのコントロールをTopにする
4.CのコントロールをClientにする
覚えさせておくのは、各コントロールの設定状態と、設定する順序だ。
0236234
NGNG何か色々やってみます。ありがとうございました。
0237デフォルトの名無しさん
NGNGフォームに配置したコントロールのヒントを非アクティブ状態でも表示したいのですが、
その方法がわかりません。
調べると、SetFocusというメソッドを見つけたんですけど、どうもこれは違うようですし。
他のアプリケーションに隠れた状態でもヒントを表示させる事は可能なんでしょうか?
0238デフォルトの名無しさん
NGNG質問者は「これこれこーゆーことがしたいので、こーなりませんか?」って
書くと代替案が出るかも。
ちょっとソレはナニだと思う>>237
0239デフォルトの名無しさん
NGNGTHintWindow のインスタンスを自分で作成して、そいつをコードで
適当な場所に表示させるというのはどうですか?
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGどのタイミングでどこに表示するの?
0242デフォルトの名無しさん
NGNG言っている意味はわかるが、解決にはほど遠い。
1.どのタイミングで?
2.どこに表示?
3.Enabled が true のときは、本来のヒントとかち合わないの?
0243デフォルトの名無しさん
NGNG「何秒後にフォームを閉じたい」とか、「何分ごとに文字を表示させる」とか、
それぞれ時間の異なるタイマーイベントを複数用意しなければいけなくなりました。
時間は正確ではなくていいのですが、たくさんのタイマーを動かすのも
悪いかなと思い、例えば2秒間隔でイベントを発生させるタイマーを一つだけ用意し、
なんとかまとめて処理できないかなと思っています。
具体的には、
1)タイマーイベント発生時に実行する、あるオブジェクトのメソッドを登録
2)そのメソッドを何秒後に実行するか登録
3)イベント発生時に登録した秒数−経過時間の演算を行う
4)登録した秒数<0で、登録されたメソッドを実行
という処理をすれば、1つのタイマーだけでまかなえると思うのですが、
このとき実行するオブジェクトのメソッドを登録/管理する方法、
経過時間を登録/管理する上手い方法ってありますか?
0244デフォルトの名無しさん
NGNG3つ、4つ動かすくらいなら平気でしょ。ややこしいこと考えずにタイマつかっとけよ。
0245デフォルトの名無しさん
NGNGユーザの操作によるんですが、可能性としては5−6個動くことがあるので、
一つにしたいなぁぁぁと・・・
どのぐらいまで可能なんですかね。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGNT 系列の OS ならね。ってはなしでは?
98 でも事実上、無制限に近かったとも思ったが..
0248デフォルトの名無しさん
NGNGIdComponentのInitializationでCreateしてるGStackCriticalSectionを
開放し忘れていると言われたんですが、Indyのソースには
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
// FreeAndNil(GStackCriticalSection);
というコメントがありました。どこで開放すればいいのでしょうか?
0249デフォルトの名無しさん
NGNGtype
TDoMethodObject = record
MyMethod: TNotifyEvent;
Interval: Integer;
AtOnce: Boolean;
end;
をTListにポインタで格納して、定期的にTListに登録された
メソッドを実行するClassを作成中でした。
大丈夫なら、こんなの作る必要ないか・・・・
0250デフォルトの名無しさん
NGNG開放しない。が正解。
0251デフォルトの名無しさん
NGNGLABELで出力した文字列を選択、コピーできるようにする方法はあるのでしょうか?
もしくはLABEL以外の何かを使わないといけないでしょうか?
0252デフォルトの名無しさん
NGNGTEdit と間違えているのかな?
0253デフォルトの名無しさん
NGNG大麻やりまくっちゃえよー
0254デフォルトの名無しさん
NGNGだから、それを可能にさせる方法ってことでは?
>>251
TLabel では出来ないが、TEdit の Color と BorderStyle を弄れば同じモノが作れる
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGあふぉ
0258デフォルトの名無しさん
NGNGMemCheckってDel7でもいける?
0259デフォルトの名無しさん
NGNGまたは
(メモリリークの定義にもよるが)リークしていない。
一応、リーク (Leak) の語源を英和辞書で確認してくださいね。
アプリを長時間起動しても対象リソースが「もれる」わけではない場合、それは
厳密にはリソースリークとは呼ばない。
アプリケーションの確保しているメモリブロックはプロセス終了時に開放されるので
結局開放されるわけだ。
複雑なプログラムでは終了条件の判断が難しい場合がある。
厳密には、フラグとかをたてまくれば本当の開放のタイミングが特定できるはずなのだが、
それを行うためのコストが高くつき、かつ上に書いたような良性の未開放リソースに対しては
開放処理を OS のプロセス終了処理に任せる。ということが多くある。
もちろん、プロセスをまたがるリソースや、OS が開放してくれないリソースはこの限りではないので
状況に応じて判断すること。
0260デフォルトの名無しさん
NGNGD7 でもいけるけど、元からパッケージに対応していないので、俺は捨てた。
0261248
NGNGえーと、>>248のは必ず開放されるということで。ありがとうございました。
>>258
ここ見て動かしました。
ttp://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200306_03060058.html
0262デフォルトの名無しさん
NGNGDelphiでくだらないアプリを作ってます。
アプリ終了時に設定を保存したいんです。
タスクマネージャを起動させて、プロセスのタブ内からこのアプリを終了
させた場合、アプリにはどんなメッセージが飛んでくるのでしょう?
この場合だけ設定が保存されないで困っています。
ご存知の方、ご教授お願いします。
とか、「あっちのスレッドで質問しろ!」とかでもいいです。
(その場合、あっちがどこなのか教えてください)
0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGそーだったら、デストローイに変えてみる。
違ったら↓
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200404/04040053.txt
0267デフォルトの名無しさん
NGNGふつーonCloseQueryじゃねーの?
0268デフォルトの名無しさん
NGNGこれ便利かも。こういうのがあるって知らなかった。
他にも、こういうチェッカーみたいなのありますか?
0269デフォルトの名無しさん
NGNGプロセスタブからならTerminateProcessされるからメッセージもなしに問答無用で終了。
デストラクタも呼び出されないのでリソースリークが発生したりするから凍った時以外はその方法で終了させるのは論外。
あくまでも非常手段。
0270デフォルトの名無しさん
NGNG自分でFree等のし忘れはないみたいだけど、
種類とサイズとバイナリしか表示されてなくて、
どのファイルでリークしてるか表示されない・・・
これじゃ対処のしようがないし、解放されるはず
のリークかどうか判断できないよ
かなーり心配 ウワワワワン
0271デフォルトの名無しさん
NGNGVCL のバグもみつけるには Debug DCU を使う。をチェック。
リンカー設定で TD32 デバッグ情報をつける。をチェックしたか?
そうすれば、ソースがあるコードなら行番号まで出てくるはずだ。
0272デフォルトの名無しさん
NGNG良性か悪性かの判断の(ひとつの)目安。
1. 一通りの機能を使う手順を決める。ファイルを開いて、処理して、閉じる。など。
2. 1 で決めた手順を行って、MemCheck のログをとる。適当な名前で保存
3. 1 の手順を2度繰り返す。ログを保存。
4. 2 のログと 3のログを比較。未開放メモリブロックの数、量に変化が無ければ
「おそらく」良性の未開放メモリ。
数、量に変化がある場合は悪性の未開放メモリブロックの可能性あり。
5. 確認のために 1 の手順を5回繰り返したログをとり、2 および 3 のログと比較。
6. 最後によく考える。
あまりにも多くの未開放メモリがレポートされた場合は、本質的なバグを持っていると
判断するか、または手順をもう少し簡単にすること。
0273デフォルトの名無しさん
NGNG272さんの方法ですと、行った動作に対して数と量は変化ないです。
そしたら良性かなぁ。
TreeItem.Dataに確保したメモリのポインタを入れて、OnDeletionで
Disposeしてるんだけど、その確保したメモリはごっそりリークとして
判断されてしまうらしいでつ。
でも、なんか心配だなぁ。
271さんの方法については、あとで試してみます。
0274デフォルトの名無しさん
NGNG>Disposeしてるんだけど、その確保したメモリはごっそりリークとして
>判断されてしまうらしいでつ。
ここでもたびたび話題になる例のやつではありませんか?
Dispose() するとき、ちゃんと New() したときのポインタ型にキャストしてますか?
0275デフォルトの名無しさん
NGNGうわっ まさにそれだ・・・ガックシ
でも理由がわかってよかったありがとう・・・
さっそくキャストして調査してみます。
TBitMap、自作Createしたモーダルフォームあたりでも
発生しているみたいだけど、これも何かやり忘れてるのかな。
調べてみます。
0276デフォルトの名無しさん
NGNGそれが問題なのだとしたら、New/Dispose の組み合わせを呼ぶ数が異なるような
テストケースを考えて、272 みたいに呼び出し数が変わるようにしてチェックしてみたら?
New/Dispose の組み合わせが定数回しか呼ばれないなら、それは良性のメモリ未開放。
けど、直せるのであれば直したほうが良い。
0277デフォルトの名無しさん
NGNGなんだか、ごちゃごちゃ書いても当たり前の結論(藁
良性とかいっても、悪性じゃない、という意味であり、
メモリ未開放が良性であるはずがないよね
0278デフォルトの名無しさん
NGNGえー!そーなのー!_| ̄|○
うすうすは気づいていだんだけど・・・(問答無用か・・・)
じゃぁどうすることもできないのかぁ・・・(諦め)
CreateProcess使ってwait・・・で待とうと思ってたんだけど意味ないか・・。
どーもでーす!
0279>>269
NGNGアプリAから
CreateProcessでアプリBを起動して
WaitForSingleObjectで待って
プロセスタブでアプリBを終了させたら
WaitForSingleObjectを抜けてきた!
これで終了されたか判断できそーだ。
気持ちやりたい事とは違うけど、応用すればなんとかなるかも。
269さんありがとう。
0280251
NGNGどもです、やってみたらそれらしいものが出来ました。
しかし..複数行にわたる場合がどうも上手くいかんのですが、どうにかならんもんでしょうか?
一応いろいろやってみます..
0281デフォルトの名無しさん
NGNGMemoを使えばできるよ。
詳しくはOpenJaneのソースの設定画面ちょこちょこ覗いてみればわかるかも
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGメッセージループが必要になるけどね。
0285デフォルトの名無しさん
NGNGそれだとそーですね、ループ必要っすね。
あー、でもexeのサイズが・・・
・CPUに負担かけずに
・exeのサイズは小さく
が条件でして・・・ちょっとやってみます。
0286デフォルトの名無しさん
NGNG>・CPUに負担かけずに
>・exeのサイズは小さく
この条件と照らし合わせてもなんの問題もないように思うのは漏れだけ?
0287デフォルトの名無しさん
NGNGS: Array Of String;
begin
SetLength(S,2);
SetLength(S,1);
S[1] := '';
end;
これでエラーにならないのは何故ですか?
SetLength(S,2) が無ければ Invalid pointer operation になるんですが…
妙な動作なので不安です…
0288デフォルトの名無しさん
NGNGSetLength(S,2);
をコメントアウトしてもエラーにならなかったよ?
0289デフォルトの名無しさん
NGNGえ?だって SetLength(S,1) とやれば 存在する要素は 0 番目だけじゃないですか?
あと SetLength(S,2) の件も改めて試してみましたがエラー出ました。
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNGVar
i: Array Of Integer;
C Array Of Char;
でも同様に出ました。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG>え?だって SetLength(S,1) とやれば 存在する要素は 0 番目だけじゃないですか?
じゃあ「SetLength(S,0)」とやったらどうなると思うんだい?
0294デフォルトの名無しさん
NGNGArray Of Integer では Array Of String と同じでエラーにならず、
SetLength(i,2) を消すとエラーになり、
Array Of Char だとSetLength(C,2) を消してもエラーになりませんでした。
0295デフォルトの名無しさん
NGNG要素を1つももたない配列になるのでは?
0296デフォルトの名無しさん
NGNG最近のStringの0番目の要素には#0が入ってたような気がする
だから結局Stringに格納される文字列は1番目の要素から始まるんじゃない?
0297デフォルトの名無しさん
NGNGよく理解してないヤツは答えなくて良いよ。
0298デフォルトの名無しさん
NGNG文字列の開始アドレスが入ってるんじゃないの?
0299287
NGNGやってることは
文字列型に SetLength して長さを弄っているのでは無くて
文字列の配列に SetLength して要素数を弄っているのですが。
0300296
NGNG俺勘違い。
0301296
NGNGS[1]:=''
の時はSetLength(S,2)をしなくてもエラーにはならない。
S[2]:=''
とやっても大丈夫。
S[1]:='A'
の時は
SetLength(S,2);
SetLength(S,1);
とやってもエラーになる。
なのでS[x]:=''の時は実際に参照が行われないからなんじゃない?
0302287
NGNGなるほど、どうもありがとう御座います…といって完結したかったのですが、うちの環境だと
SetLength(S,2);
SetLength(S,1);
S[1] := 'A';
でエラーにならないです
その上
SetLength(S,3);
SetLength(S,1);
S[1] := 'A';
だとエラーになります
もう、何がなんだか…
0303デフォルトの名無しさん
NGNGS: Array Of String;
begin
SetLength(S,2);
ShowMessage(IntToHex(Integer(@S),8));
SetLength(S,1);
S[1] := 'ああああ';
end;
これだとエラーが出ない。ShowMessageを//するとエラーが出る。
0304デフォルトの名無しさん
NGNGSetLength(S,1);S[1]:='';の動作は不定なので妙な動作になるのは当然。
{$R+}付ければ例外発生するし。
---------------------------
デバッガ例外が発生
---------------------------
プロジェクト Project1.exe が ERangeError クラスの例外を生成しました。
'Range check error'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
---------------------------
OK ヘルプ(H)
---------------------------
0306デフォルトの名無しさん
NGNGありが�d
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG他のアプリを絡めてモノを作った経験がありません。どのような勉強が必要でしょうか?
お勧めの本やサイトがあったら教えてください。
0309デフォルトの名無しさん
NGNGは
「他のアプリを絡めるモノを作った経験」
の間違いかな?
普通のアプリは作れるの?
0310308
NGNG超初心者向けのサイトなどだとそこらへんの段階で一段楽してしまっているところが多く
他のアプリとの絡みに関してわかりやすく解説されているサイトがちょっと見当たらなかったもので・・・
もしご存知でしたら教えてください よろしくお願いします。
0311デフォルトの名無しさん
NGNG必要なのは Windows Programming の知識でしょ。
WIN32APIのスレとかを過去ログから漁ったりした方が
知識を得られると思うけど。
0312デフォルトの名無しさん
NGNGということだ。対象アプリが外部コントロールを許しているかどうかから調査を
はじめないと。WinMX のことは良く知らんが、多分 OLE AUtomation なんて機能は無いだろう。
となると、対象アプリに対してキーボード操作をエミュレートすることになる。
基本は二点。
1. その時点での対象アプリの状態の取得
2. 望んだ変更を行うために何をしなければいけないのか。
どちらを行うにしても、最初は
1. 対象アプリの特定
2. アプリ上のコントロール/ウィンドウの取得。
3. 状態を把握。
からはじめることになる。
けして初心者向きでは無いし、作るなら根気が必要。
0313デフォルトの名無しさん
NGNG「他のアプリのウィンドウ情報の取得 」
ttp://homepage2.nifty.com/Mr_XRAY/Halbow/VCL08.html
ってのがあるので、眉につばつけて読んで見なさい。
(以下はまだわからなくてもいいです)
実は _GETTEXT 系メッセージは、プロセス境界を越えたときでも正しく文字列をコピーしてくれる。
Halbow がどこで勘違いしたのかわからないけど、コントロールのキャプションを読み書きするだけなら
共有メモリは必要ない。
詳しくは、MSDN で GetWindowText API の説明を熟読してください
0314デフォルトの名無しさん
NGNGこれは常識。そのサイトでもいっぱい使ってる。
> コントロールのキャプションを読み書きするだけなら共有メモリは必要ない。
そなの?
ListView の Items の内容は、コントロールキャプションじゃないけど取れるの?
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNG通してしか取得できないものは共有メモリつかうしかないでしょう。
0317デフォルトの名無しさん
NGNG0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGそこ読んだけど、コントロールのキャプションを取得、って何にも書いてないが?
むしろ
http://homepage2.nifty.com/Mr_XRAY/Halbow/VCL06.html
こっちでは? ウィンドウテキストの取得には GetWindowText() 使っているよ。
なんか、313 の勘違いじゃないの。
0320デフォルトの名無しさん
NGNG> 必要なのは Windows Programming の知識でしょ。
おもしろい。
Delphi だと Windows Programming の知識はあまり必要じゃない、ってことかしら?
Delphi は Windows 以外のプラットフォームのアプリはつくれないのに?
0321晒しあげ
NGNGDelphi は Windows 以外のプラットフォームのアプリはつくれないのに?
Delphi は Windows 以外のプラットフォームのアプリはつくれないのに?
Delphi は Windows 以外のプラットフォームのアプリはつくれないのに?
Delphi は Windows 以外のプラットフォームのアプリはつくれないのに?
0322デフォルトの名無しさん
NGNGKylix とかいうんじゃないだろね。
0323晒しあげ
NGNG0324デフォルトの名無しさん
NGNG開発環境でもあるんだが。
Windows 以外で動作する Delphi 言語があるのか? Kylix とか?
Kylix があるから、Delphi では Windows Programming の知識は必要ないとか?
おもしろいね。
0325デフォルトの名無しさん
NGNGDelphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
Delphiは言語名ですよw
0326デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/kylix/kx3/fact01.html
> C/C++言語とDelphiTM言語の 自由な選択
>
> Borland Kylix 3は、ANSI/ISO標準規格の C++と
> 弊社独自規格の Delphiの二つの言語による
> プログラミングを可能にします。
0327デフォルトの名無しさん
NGNGさあ後がなくなったぞw
0328デフォルトの名無しさん
NGNG誰がこう言ってるのかわからないので、レス番指定してもらえますか?
0329デフォルトの名無しさん
NGNGDelphi5以下では Object Pascal だよね。
絶滅寸前の Kylix ユーザも「自分は Delphi つかい」とか思ってるんだろうか。w
0330デフォルトの名無しさん
NGNG誰もいってないと思うよ。
0331デフォルトの名無しさん
NGNG>>320がなに言ってるかさっぱりわかりません。
まあみなさん、冬将軍でもみて落ち着いてください。
,i`'ー‐'\
,.-∠,,,、 `' /~‐-、,
._ ,/ ,,.-''",、=-,`'ー-、 \
/ ``'_」``ヽー‐'i''ー-<''ー'',.r'"<-‐''"'、
./ /``''7ー--、\ `''‐-"/,,....-┬'''"'、 '、
./ / .| i''ー-、,,,,ヽ ̄ ̄/,,,...,,,、、 | .'、 '、
/ / r、|. ヽ、,_●ノ ヽ、,_●ノ |/i '、 '、
./ / ,,ヽ`ヽ、,,___,/-,-,-\,___,,,.-'",ノ_ .'、 '、
ヽ,/_ >、 ,/ .ヽ、 ,イ '、,,..ゝ
.`''ー-| `'ー--‐‐'',,.--、_`'ー--‐''" |,,.-‐''"
└───、 '" `'.,r──‐┘
0332デフォルトの名無しさん
NGNG> Delphi5以下では Object Pascal だよね。
そもそも、それはObject Pascalだったわけじゃなく、
単に名前が間違っていただけだし。
http://pcweb.mycom.co.jp/news/2002/08/08/05.html
> もともとDelphi言語と呼ぶつもりだったのが、
> Delphi 1のドキュメントで何故かObject Pascalという名前が出てしまった。
> 今回の製品を機会に、この"歴史的な間違い"を正しい名前に戻した」とも述べる。
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGあまり関係がない、ということだよね。
そうすると、このスレは言語仕様やその使い方の Q&A をするところですか。
はぁー、リストボックスもツリービューも共有メモリもレジストリも
あまり関係なしですか?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG>あまり関係なしですか?
共有メモリ以外はVCLでラップされてんじゃないの?
VCL内部でWin32コールさせた方が、Kylixしやすいと思うが。
0337デフォルトの名無しさん
NGNG>>320がなに言ってるかさっぱりわかりません。
疑問文でしょ。誰も答えないが。
0338デフォルトの名無しさん
NGNG今になってわめいているという可能性はないの?
別にボーランドを非難している訳じゃないけど、間違ったのなら2からでも
改めそうな気がしたんで。
0339デフォルトの名無しさん
NGNGVCLはライブラリでしょ。言語じゃないよ。
0340デフォルトの名無しさん
NGNGわめいてはいないけど、「実はさぁ」といいわけがましいのは事実。
0341デフォルトの名無しさん
NGNGなるほど。ボーランドも大変ですね。
どうもありがとう。
0342デフォルトの名無しさん
NGNG導入した以降の 「Object Pascal」 に Pascal という名前を使ってほしくない
とか文句言ったそうで。Oberon とかの関連もあって。Wirth 先生は Turbo Pascal
には論文で言及するけど、Delphi は完全無視だよ。
0343デフォルトの名無しさん
NGNG関連するようなプロパティやメソッドがヘルプにないということはできない
ということですよね?
もしFontStyleやColorを設定したい場合には、どのコンポを使えばいいの
でしょうか?
0344デフォルトの名無しさん
NGNG0345デフォルトの名無しさん
NGNGやったことないけど、オーナードローでできないかな?
0346デフォルトの名無しさん
NGNGの質問に
> Delphiとはあまり関係無いのでは?
> 必要なのは Windows Programming の知識でしょ。
とかは、はまりますよね?
0347デフォルトの名無しさん
NGNGVCLの利用法はDelphiの知識の範疇に入ると思うけど。
0348デフォルトの名無しさん
NGNGそう思います。でも VCL ってどの範囲だろうか。
Forms.pas や Controls.pas は VCL だけど、Windows.pas や ShellAPI.pas は
どうなの? これらがないと、VCL が動作しないことだけは確実ですが。
347は311のコメントをどう思ってる?
0349デフォルトの名無しさん
NGNGありがとぉ〜今からやてきます
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG>347は311のコメントをどう思ってる?
いちいち気にしてない。じゃないかな。
さてつぎいきましょ。
0352デフォルトの名無しさん
NGNGTListViewのOnCustomDrawItem辺りに
if Item.Caption='ぬるぽ' then Sender.Canvas.Font.Color:=clBlue;
とか入れてみ
0353デフォルトの名無しさん
NGNG結構面倒なので、セルとかとして使うんなら、すなおに TStringGrid にする
0354デフォルトの名無しさん
NGNGdelphi7トライアルをダウソしてインストールしたんですけど、
その後の登録が上手くいきません。
delphi7を起動し、登録サイトにジャンプしてログインしてもログインできないし、
キーやらレジトリなんちゃらなど、どれがどれでいったい何を登録しろというのか
送られてきたメールはいったいなんのためにあるのか
初心者にとって全くもって理解しがたいプロシージャを要求しすぎだと思います。
ボーランド社特有のアクセシビリティの悪さはみなさん問題なくクリアされているのでせうか。
0355デフォルトの名無しさん
NGNGボーランド自らDelphiは言語ですと言い切っている
ソースを出されてあっさり終了。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNGそんなこと要求されたっけ?
大体ダウンロードするときにキー送付のためのユーザー登録をしているはず。
多分、難しく考えているだけだと思うけどね。
0358デフォルトの名無しさん
NGNGDelphi 1のドキュメントで何故かObject Pascalという名前が出てしまった。
0359デフォルトの名無しさん
NGNGなにが悪いのかまったくわからず、
しかも登録失敗とかログインできませんとかで
結局、書籍付録の6パーソナルで済ましました。
0360デフォルトの名無しさん
NGNGはぁ、そんなことではなく、Delphi が言語なら、Delphiスレは、言語スレ
なのか、という意味。なら、ツリービューなんか関係ないだろ、ってこと。
Delphi が言語になって2年だろ。開発環境の名前としては、9年だよ。
Delphi と言ったら、普通は、間髪環境のことだろ。
0361デフォルトの名無しさん
NGNG○ 開発環境
0362デフォルトの名無しさん
NGNGボーランドのHPより
Delphiは、ビジュアル開発による生産性とネイティブコードによる高速性を
両立させたWindows用ビジュアル開発ツールです。
0363デフォルトの名無しさん
NGNGキチンと動いてないらしいという話が、
前スレかどっかであったよ。
0364デフォルトの名無しさん
NGNGプログラム開発環境だか言語だか知らないけど、その製品の会社が作った
「仕様許諾コードを取得するプログラム」がまともに動かないのは
お笑いだよな。
0365デフォルトの名無しさん
NGNG0366363
NGNGレジストサーバーが死んでるんじゃないか、と言う話だった。
0367デフォルトの名無しさん
NGNG程度が低すぎるせいかヘルプを見てもgoogle検索してもひっかかりません。
Extended型をinteger型に変換するにはどうしたらよいのでしょうか?
普通の型キャスト
integer(Extended);
では「正しくない型キャスト」といわれてしまいます。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG○Trunc
0370デフォルトの名無しさん
NGNG用途によって違う
Trunc, Floor, Ceil, Round
0372デフォルトの名無しさん
NGNGっていう指示なんだよね。内部データ形式が全く異なるExtended型をinteger型
にキャストできないのは当然。この辺の感覚はだんだんついてくるようになる。
0373デフォルトの名無しさん
NGNG現状だと9:3等はできますが9:6等はできません
function ratio(p : TPoint):TPoint;
var Upper , Lower , x , y : integer;
begin
Result.X := -1;
Result.Y := -1;
if (p.X = 0) or (p.Y = 0) then
exit;
x := p.X;
y := p.Y;
if (Max(x,y) mod Min(x,y)) = 0 then //大きい方から小さい方を割ってあまりがないとき
begin
Upper := (Max(x, y) div Min(x,y));
lower := 1;
if Max(x,y) = x then
begin
Result.X := Upper;
Result.Y := Lower;
end else begin
Result.Y := Upper;
Result.X := Lower;
end;
end else begin
//ここ
end;
end;
0374デフォルトの名無しさん
NGNG比というのはどちらかを 1 としたときにもう一方の Y/X あるいは
X/Y のことですよね。
失礼ながらこのソースでは何をしたいのかよくわかりません。
もし長方形を枠にあわせて拡大・縮小をするというような用途であれば、
あらかじめ実数値として Y/X を算出し (←これを一般に比と呼びます)、
目的の幅に比を掛けて高さを求めるか、目的の高さを比で割って幅を
求めるという方法が適切ではないでしょうか。
0375デフォルトの名無しさん
NGNG最大公約数の求め方
http://oto.chu.jp/kujira/text/delphi/zero/11.htm
0376デフォルトの名無しさん
NGNGするものを書いてたので、それと同じようなものかと勝手に勘違いしていました。
0377デフォルトの名無しさん
NGNGDelphiの事をよく理解しないまま、ネット上のTipsを参考にしたり、
ダウンロードした自作コンポーネントを貼り付けたりして、気がついたら
千行を越える複雑怪奇なプログラムが組みあがってしまったんですが、
普通にCloseすると例外が発生します。
仕方が無いのでHaltで終わらせてるんですが、これってやっぱまずいんでしょうか?
0378デフォルトの名無しさん
NGNG十分ヤバイと思います。
0379デフォルトの名無しさん
NGNGやっぱりヤバイですか(´・ω・`)
とはいえ、どこをどう直せばばいいのやら全く見当がつきません。
下手にいじるとWindowごと落ちる始末です。
なんとか頑張って例外が発生しないようにしてみます。
0380デフォルトの名無しさん
NGNGD7 は日本のサーバーではなくあっちのサーバーにつながっているので、めったに
こけることは無いと思いますが。
0381デフォルトの名無しさん
NGNGアスペクト比を保ったまま、ある Rect に収まる最大の描画方法は、長辺を Rect の
対応する辺にぴったり収まる比率を求めて、その比率で短辺を描画したとするとき
はみ出すかどうか確認し、はみ出さなければその比率で、はみ出したら、短辺の
対応する辺にぴったり収まる比率を求めて、それで全体を描画する。 if 文が二つ。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNG例外が出て、IDE / デバッガで捕捉できているのなら、直せるかどうかは別にして
バグの場所だけでも特定できそうなものだが。
デバッグ情報をつけて、デバッグ版の .DCU を使って再コンパイル。
例外でデバッガに戻った時にソースコードが表示されればしめたもの。
>千行を越える複雑怪奇なプログラム
は、一関数が千行越えたのかな?
バグを直しつつかきかえなされ。
0384デフォルトの名無しさん
NGNG'BBB',2
'CCC',3
というリストをTStringsで扱いたいのですが、AddObjectの第2引数はどのように
書けばいいのでしょうか? 数値だけのクラスを定義しないとダメですか?
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG0387384
NGNGできました。単純にキャストしてしまえばいいのですね。
でもなんか不思議な気がします。「1」の実体は一体どこに格納されてるのでしょう??
>>386
TStringListの間違いでした。
0388デフォルトの名無しさん
NGNG純粋なオブジェクト指向の考えからすれば「数値だけのクラスを定義」するのが美しい。
ところが数値だけしか入らない。とわかっているのにクラスを定義するのはもったいない。
ってことと、Delphi ではクラスはポインタで受渡しされることから、TObject(<なにか>)
という使い方をします。これは
まず、数値 1 はポインタ型にキャストされます。絶対アドレス $00000001 を示す形無しポインタです。
次にこれが TObject 型にキャストされ、見かけ上 TObject 型として保存されます。
この "TObject" 型の値は、本物ではありませんから、メソッド呼び出しなどを行うと
AV がおきるでしょう。TObject 型に見せかけた4バイトの領域でしかありません。
0389デフォルトの名無しさん
NGNGObjectPascal自体は、昔AppleがWirth先生と共同で策定した言語で別にちゃんとある。
初期のMac用のクラスライブラリ(OWLのようなアプリケーションフレームワーク)、
MacAppのために設計された。
その後AppleがC++に傾倒してMacAppもC++で書き直された事や、
OSのヘッダファイルがPascal用だけでなくC用も提供されるようになったので、
あまり使われなくなった。
0391デフォルトの名無しさん
NGNGレジストリに任意の内容に書き換えれるようにしたいのですが。
(スタートアップや環境変数の書き換え等)悪用目的じゃないです。
よければ初心者向けのお勧めのHPを教えてください。
できればサンプルをDLできるような所があれば・・・
ちなみにHPで公開されてるソースはどのようにして利用すればいいのでしょう?
貼り付けるだけではエラーばっかりでハングアップしてしまいます。。。
アドバイスお願いします
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG>レジストリに任意の内容に書き換えれるようにしたいのですが。
TRegistryオブジェクトを使う。
WindowsAPI使って実装も可能。
>貼り付けるだけではエラーばっかりでハングアップしてしまいます。。。
何を貼り付けたかにもよるので何とも。
具体的に何さ?どんなエラー返すんだ?
0394デフォルトの名無しさん
NGNG>>392
がんばります
>>393
>TRegistryオブジェクトを使う
オブジェクトという物事態わかりません;; すいません
TRegistryはどうやれば利用できるのでしょう?
それにソース貼り付けだけでもプログラムは組めるんですか?
エラーが出たのは全部なんですがたとえば
ttp://forum.nifty.com/fdelphi/samples/00109.html
このソースを全部コピーして新規作成で貼り付けたんですが…
思いっきり固まりました。
0395デフォルトの名無しさん
NGNG思うのはオレだけか?
つーか、自分が使うツールってことであって欲しい…)
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGTStringList型で宣言してはいけないのですか?
0398391
NGNG自分で使うツールです。
たとえばyahooメッセで表示される広告を変えるとか。
普通に弄ったらエラーがでるんです。
この操作のツールはもう出てるんですけど勉強の為です。
できるなら完全に学習できる方法を教えてください。
いちをVBも持ってるんですが素人はどちらを使えばいいのでしょう。。。
0399デフォルトの名無しさん
NGNGたかだか設定情報の場所が違うだけだ。
気にすんな。
0400デフォルトの名無しさん
NGNGTRegistry は例外処理が必須なので最初に始めるプログラムとしては
少し難しいと思います。
格納値には型があり、基本的に Write〜 で書き込んだのに対応する
Read〜 で読み出す必要があります。型が一致しない格納値を読み書き
しようとすると例外が発生しますので、必要に応じて try 〜 except で
捕捉しなければいけません。ヘルプの例外処理を読んでみてください。
>>397
TStrings で宣言する理由がなければ (例えば TStringList のメンバーを
隠蔽したいとか) 、TStringList で宣言する方がむしろ普通かと思います。
0401デフォルトの名無しさん
NGNG自分の好きなようにすればいいし、挫折したらしたで他やれば良いかと)
0404デフォルトの名無しさん
NGNGみにくいので、色を変えたりしてみやすくしたいのですが、どうすれば
いいのでしょうか?
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNGバイナリに格納されているビットマップを書き換える。ってことになると思うけど。
0407デフォルトの名無しさん
NGNGちゃんと見たことあるのかな?
みやすいと思うのか?
あと、解像度を高くして使っているから、さらにみにくくなっているというのもあるが。
0408デフォルトの名無しさん
NGNGDelphi 6 Personal
濃い緑に黒字の奴だろ?
これを見やすいと言ってる香具師の気が知れない。
0409デフォルトの名無しさん
NGNGまあしおりは使ってないけど。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGモニターのブライトネスはかなり低いけど。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGDelphiのヘルプはHTMLヘルプじゃないのでできないのでしょうか。
0414デフォルトの名無しさん
NGNG見づらいとは思わなかったが。
7とか8だと「しおりの保存機能」は付いてんだろうか?
多分無いような気がするが。便利だと思うのに。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGロシア語で…。
0418デフォルトの名無しさん
NGNGできない,氏ね。
0419デフォルトの名無しさん
NGNGプロジェクトを読み込むと「フォーム作成中にエラーが発生しました。2197行で行が長すぎます」という
エラーが発生しました。
どうもUnit1.dfmが壊れてるみたいなのですが・・・。
どうすればいいんでしょうか?
0420デフォルトの名無しさん
NGNG・諦めて作り直す
・悔しくても泣かない
0421419
NGNG0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGprocedure Hoge; overload;
begin
Hoge;
end;
どっちのHogeを呼び出すの?
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNGだってさ
ケッ
0428デフォルトの名無しさん
NGNG0429422
NGNGfunction hoge(i:integer):integer;
procedure hoge(var i:integer);
とか
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG無料でできるというのでDelphi6をインスコしたんだが
ホームページでの学習はたいていのところが更新とまってたりして
変数って何よ。ってなぐらいの俺にとって結構しんどそうなので
本買ってみようと思って
http://www.amazon.co.jp/exec/obidos/ASIN/4839907161/ref=pd_ecc_rvi_4/249-4988864-8187503
を検討してるんだが
これでいいのだろうか?
中村拓男?て人のレビューにのところが気になるのだが・・・
長文スマソ
0432デフォルトの名無しさん
NGNGそれは気まずいと思うなら、
ユーズド価格 : ¥2,000よりを買って、合わないと思ったらまた売ればいいじゃない。
0433デフォルトの名無しさん
NGNGhttp://www.fukkan.com/sell/index.php3?mode=detail&i_no=13893706
大きな書店でもたまに見る
関西でスマンが難波ジュンク堂や日本橋のジョーシンで売ってた
0434デフォルトの名無しさん
NGNG何年たっても不滅の名著ですねー。
この本を読んで初めてオブジェクト指向をなんとなく理解できました。
最近書店で見かけないので絶版になったのかと思ってた。
0435431
NGNG中級者以上必携になってますが、
俺でも理解できるようなものなんですか?
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNGreal型はstr型に直せないですか?
0438デフォルトの名無しさん
NGNGFloatToStr
0439デフォルトの名無しさん
NGNG復刊を期に手に入れた方だけど、これがなかったと思うとぞっとする。
0440431
NGNG買ってみました。
アドバイスくれた方々どうもありがとうございました。
0441デフォルトの名無しさん
NGNGそんなにいいの?
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNG自前のクラス作成・活用もコンポーネント作成もVCLのソース読むのも
この本を読んでからできるようになった。
この本読んでなければ私はきっと今も初心者だったことでしょう。
>>440
超初心者には難しすぎる本かも。
しかし良い本なので将来役立ててください。
まずは他の本で言語の基本を勉強しましょう。
0444デフォルトの名無しさん
NGNG純粋にオブジェクト指向の解説本なんだから古いも新しいも関係ないのでは。
0446デフォルトの名無しさん
NGNG確かにその本は不朽の名著だと思うけど、Delphi1に準拠している点を改訂して
新版を出してほしかったな
でなければ、中村さんあたりの大御所にDelphiオブジェクト指向プログラミングに
関する書籍を出版してほしいところだが・・・ヒマないんだろうな
0447デフォルトの名無しさん
NGNGDelphiなんかやめとけ。
0448デフォルトの名無しさん
NGNG釣られた奴は敗北者。 以上。
0449デフォルトの名無しさん
NGNG自分もそう思います。2年まえだったら。
今からですと、Delphi の先細りがハッキリしてきているので、あまり意味ない
と思います。しかし、オブジェクト指向そのものの思想というか基礎的な事柄は
言語によらず重要だと思っています。
0450デフォルトの名無しさん
NGNG誘導のさせかたは今でも好き。代入互換性の重要さ
を説いてる人はこの人以外あまり見かけないね〜。
0451デフォルトの名無しさん
NGNGブートローダーの解説で、OSがブートする仕組み(カーネルは何者なのかとか、
OS起動前になぜファイルをメモリに展開でき実行できるのかとか)
を非常に詳しく書いていたりする。
たかがブートローダーの解説でブートストラップの説明する本なんて他にないと思う。
筆者の信念は
「ツール使い方を覚える」のではなく「ツールの根底にある概念や原理を理解する」
のが大事だと思っているのだと思う。
実際、書いてある事を理解すれば仕組みを理解でき、応用力がつく。
この筆者の本は役に立ちます。
0452デフォルトの名無しさん
NGNG持ってたけど、どっかいってしまったので、詳しくは分かりませんが、
ひょっとして、下位クラスのインスタンスは上位クラスの参照に代入できる
ことを言ってるんですか? だとしたら、OOP の基本ですけど、多態性の。
OOP に関するどんな本でも必ず載ってますよ。
Delphi は、C++ と同様、クラスの外に、関数やレコード型や変数を宣言できたり
して、OOP 用の言語としては、Java や C# よりも構造化言語に近くて、中途半端
です。
0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG同意。中途半端さ加減が絶妙ではあるね。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGどんなキーワードで検索すればいいのですか?
0457デフォルトの名無しさん
NGNG多態性 の検索結果 約 220,000 件
0458デフォルトの名無しさん
NGNGまず、初心者サイトでポトペタの練習をして、「なぜ、このように動作するのか」を
考えてから読むといいかも。
0459デフォルトの名無しさん
NGNGScrollBox上でマウスホイールを回転させても、OnMouseWheelイベントが発生せずに
スクロールバーが動いてしまいます。
スクロールバーを動かさずOnMouseWheelイベントを発生させる方法はありませんか?
0460デフォルトの名無しさん
NGNGhttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200312/03120057.txt
0461459
NGNGどうやらフォーカスに関係無く、マウスカーソル直下をスクロールさせてるみたいで
ドライバ側でホイールを切れば、今まで通りに動くんです。
どのような環境でも一定の操作感で動かしたいんですが無理でしょうか?
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG対応してないようですが、.chmにはデフォルトで対応してないのでつか?
F1キーを押したときに表示させるようにするには、F1が押されたことを
イベント関知して、そして自分でフォームに応じたヘルプのトピックを表示
させるようにしなければならないんでしょうか?
0464デフォルトの名無しさん
NGNG「家族に不幸があったため NET 活動を自粛しています。m(_~_)m」
なんて書いといて全然自粛してないしw
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGデジタル複合機があって、ホチキス止めする機能があります。
ここからここまでを印刷してホチキスで止めるというのはどのように書けばよいのでしょうか?
0467466
NGNG0468デフォルトの名無しさん
NGNGDelphi.NET使え
0469デフォルトの名無しさん
NGNG情報が少なさ過ぎる。
ホチキス止め処理をしているのがプリンタドライバかハード側かすらも解らない。
ハード側で制御しているなら、アプリケーションでは如何なる言語を使おうがムリ。
プリンタドライバでしているとしても、それを行うAPIやコマンドの類が公開されていない限り不可能。
0470デフォルトの名無しさん
NGNG.NET使えない開発もあるだろ
答えてやれないなら返事するな
>>463
HtmlHelpを使えるようにす.pasや、メッセージをフックする方法が
米のBorlandのTipsにあるよ。
あと、フリーの.pasでF1キーその他を関知して、TFormコンテキスト等を
HtmlHelpに渡してくれるソフトなんかもあるので、調べてみたら?
0471466
NGNGなので、プリンタドライバ側で処理しているのではないかと思います。
このような、APIはWindowsの標準ではないのでしょうか?
両面印刷は出来たので同じようなイメージで調べたのですがわかりませんでした。
0472デフォルトの名無しさん
NGNG全てのプリンタに標準で両面印刷やホチキス止め機能が付いているとでも?
0473466
NGNGさすがにそうには思いませんが、Windowsで機能があるのかなと思いまして・・・
そういゆうものではないのですか?
両面印刷の選択とか、A4,A3の選択みたいなものだと思っていたのですが
0474デフォルトの名無しさん
NGNG0475466
NGNGわかりました。
明日、メーカーに聞くか
Win32APIスレをしばらくROMって質問します。
0476デフォルトの名無しさん
NGNGいま、簡単なデータベースアプリケーションを作っています。
その中で、テーブルのメンテナンス画面としてモーダルダイアログで
表示したウィンドウで、TDBGridなどを使用してデータに変更
を加えるインタフェースを作っています。
たとえば、データを変更して、やっぱりキャンセルしたい場合に
キャンセルボタンを押してダイアログを終了すれば、先ほどまでの
作業はなかったことになるようにするにはどうすればいいのでしょうか。
キャッシュアップデートとか、そのあたりを使うのでしょうか。
よろしくお願いします。
0477デフォルトの名無しさん
NGNGその下の TDatabase をダブルクリックして出てきたヘルプの例を見る。(D7)
0478デフォルトの名無しさん
NGNGそれを変数に格納したいのですが、
どうすればいいですか。
自動的に Form1: TForm1;とグローバル変数が定義されています。
イベントはOnChangeを使うのか程度しかわからないです。
0479478
NGNGそれでいいことにしました
0480デフォルトの名無しさん
NGNGstrtointdefあたりをお忘れなく(数字しか入力出来ないようになってるんなら
別だけど)。
0481デフォルトの名無しさん
NGNGMACアドレスの取得をしたいのですがどうすればいいですか?
よろしくおねがいします。
0482デフォルトの名無しさん
NGNGセルに書き込む方法は解りましたが、セルから数値を取得するにはどうすればいいでしょうか?
0483デフォルトの名無しさん
NGNGどこにあるんでしょうか?
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG「プロシージャエントリポイント @Idresourcestrings@_RSBindingAny が
ダイナミックリンクライブラリ Indy60.bpl から見つかりませんでした。」
というエラーメッセージが出て失敗します。
何が原因なんでしょうか?
環境は
Windows XP
Delphi 6.0 Update Pack 2
インストールしようとしたパッケージは
http://www.nevrona.com/Indy/download/Files/Indy9.html
からダウンロードできる9.0.14 Source code distributionです。
インストールの方法はzipファイルに同梱されている
Manual Installによりました。
0488デフォルトの名無しさん
NGNGこんな初心者がどうやってD6手に入れたのか小一時間w
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGDel6perはIndy使えないの。
はずしてたらゴメンネ。
0492デフォルトの名無しさん
NGNGんなことはない。
0493デフォルトの名無しさん
NGNGるるとん@K?
0494デフォルトの名無しさん
NGNG同梱マニュアルは読んでないから解からんが、少なくともここに書いてある方法でならインストールできた
ttp://deuxdeux.hp.infoseek.co.jp/gikobuild.html#Indy9
0495デフォルトの名無しさん
NGNGしかもどう考えても違法品でしょ。今時D6売ってないし。
0496デフォルトの名無しさん
NGNG売ってなくても合法的に手に入るんだよ。
0497デフォルトの名無しさん
NGNG探せど探せどエクスプローラが展開するばかりで
0498デフォルトの名無しさん
NGNGもう一度、インストし直せよ
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0502487
NGNG「プロシージャエントリポイント .... が
ダイナミックリンクライブラリ ... から見つかりませんでした。」
というエラーメッセージは、
DLLのバージョンが古いために呼ぼうとした手続きや関数がDLLの中に
含まれていない場合に起こるメッセージのようです。
また、上記インストール方法ではC:\Windows\System32\以下にindy60.dplを作成するのですが、
${DELPHI}\Bin\以下および${DELPHI}\Source\Bpl\以下にも同名のファイルの古いバージョンが存在したために、
ライブラリパスの設定の関係上そちらが優先して読み込まれていたようです。
なので、上記のようなエラーメッセージが発生した場合、
別のパスの同名のファイルの存在を疑うといいかもしれません。
今後似たような質問がありましたらご参考にしてください。
それでは皆さま、どうもありがとうございました。
0503デフォルトの名無しさん
NGNG特定の拡張子のファイルを非表示にするやり方をどなたか教えてください。
0504デフォルトの名無しさん
NGNGこいつをDLしたのか・・・。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGuses ShlObj;
var file_name: packed array[0..MAX_PATH] of Char;
SHGetPathFromIDList(OFN.pidl, file_name);
これでファイル名がとれるから後は煮るなり焼くなり
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNGなんつって。
フィルターに必要な拡張子だけ許可入れるんじゃダメなんか?
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG再生、制御に関するコンポーネントは存在するのですが、
スペクトラム表示機能みたいなコンポーネントって存在するのでしょうか。
自分でやろうと思っても全然その辺のことわかんないんですorz
0512503
NGNGIncludeで表示させるかを指定するものとは違うんでしょうか?
この辺が良く分かりません。
0513デフォルトの名無しさん
NGNG0514513
NGNGdelphi6 personal
0515デフォルトの名無しさん
NGNG何じゃそりゃw
そんなことしてるとそのうちコンパイラ様が真似するぞ!
[ヒント] Unit1.pas: 変数 'a' が宣言され(ry
[警告] (r
0516デフォルトの名無しさん
NGNGTpanel.nameを取得したいのですがどうすれば良いですか?
0517デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNGでどんどんObjectListにオブジェクトを追加していくとして、
終了時にObjectList.Freeとすれば追加Objectの使用しているメモリも開放されるのでしょうか?
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG格納されているobjectはこんな感じです。
TData=class(Tobject)
public
string型と
integer型の値が複数
end;
0522デフォルトの名無しさん
NGNGTObjectListのメンバをOからOまで全部見ろ
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG理解しました。初心者以前の問題でした…
本当にごめんなさい。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG0527たま
NGNG0528デフォルトの名無しさん
NGNG古すぎw
0529527
NGNG知ってたのは漏れを含めて2人だったがw
0530デフォルトの名無しさん
NGNGフォームをたくさん作るので、TObjectListで管理しようと思っています。
しかし、TObjectListはRemove時に自動的にオブジェクトを解放してくれるので、
作成したFormはFreeしなくてもいいのですよね?
しかし、フォームを安全にするならReleaseを使えという記述がよくありますが、
そうするとTObjectListではReleaseではなく、Freeしてしまうため、TObjectListで
フォームは管理すべきじゃないんでしょうか?
もし安全にTObjectListのようにフォームのオブジェクトを管理する方法があったら
教えてください。
0531デフォルトの名無しさん
NGNGヘルプより
OwnsObjects プロパティが True の場合でも,Extract メソッドを使って,
オブジェクトを解放せずにオブジェクトをリストから削除することができます。
つーか、Screen.Forms や FormCount を使うのが普通だけど
0532デフォルトの名無しさん
NGNGfunction Remove(AObject: TObject): Integer;
説明
Remove メソッドを呼び出すと,添字が不明なオブジェクトをリストから削除できます。
返される値は,オブジェクトが削除される前の,Items 配列内のオブジェクトの添字です。
指定したオブジェクトがリストに見つからない場合,Remove メソッドは -1 を返します。
OwnsObjects プロパティが True の場合,Remove メソッドはオブジェクトを解放し,同時にそのオブジェクトをリストから削除します。
オブジェクトを削除すると,削除されたオブジェクトに続くすべてのオブジェクトが上の添字に移動し,Count プロパティがデクリメントされます。
リストに複数のオブジェクトが存在する場合,Remove メソッドは最初に見つかったオブジェクトだけを削除します。
したがって,OwnsObjects プロパティが True の場合,何回かにわたってオブジェクトを削除すると,最終的にリスト内のオブジェクト参照は空になります。
(オブジェクト参照ではなく)添字を使ってオブジェクトの削除を指定するには,Delete メソッドを呼び出します。
オブジェクトを解放せずにリストから削除するには,Extract メソッドを呼び出します。
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGおおFormCountはしらんかった。これは使えそう。
画面に表示されてるってのは、Visible := Trueの場合だけなんですかね。
実験してみます。
RemoveでFreeしてくれるのはわかるのですが、安全に破棄するなら
Releaseのほうがいいんじゃないかと思って、ReleaseではなくFreeして
しまうTObjectListではFormは扱うべきじゃないのでは?と思ったんです。
0535デフォルトの名無しさん
NGNGWindowFromPoint
0536デフォルトの名無しさん
NGNGそこで色々な設定出来るようにしたいのですが。
Formを新しく一つ作って、ユニットの参照をして・・・と
こんなんで方向性はあってるのでしょうか(´Д`;)
0537デフォルトの名無しさん
NGNG間違いない!
0538デフォルトの名無しさん
NGNGprocedure TMainForm.Button2Click(Sender: TObject);
begin
TSetupForm.Create(Self);
end;
ですが、これでウントモスントモ言いません_| ̄\○_
0539デフォルトの名無しさん
NGNGデフォルトの例では、プロジェクトオプションで Form2 を自動生成からはずしておいて
uses
Unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(Application) do
show;
end;
な感じね
0540デフォルトの名無しさん
NGNG出来ましたサンクス
0541デフォルトの名無しさん
NGNG出来ますた!�dクス
感謝です!
0542デフォルトの名無しさん
NGNG0543デフォルトの名無しさん
NGNGコンポーネント自作の話まで出たことあるし
0544デフォルトの名無しさん
NGNGその処理内でFreeしてやらなくていいのですか?
Char : Array[0..10000] of Char;
という宣言をしたのですが、ちゃんと開放されるのか心配になりました。
色々なWebサイト見てもされてないので必要なさげに思えるのですが、
どうも気になってしょうがありません。
0545デフォルトの名無しさん
NGNGCreateした時は最後にFree と思っていればいい。
0547デフォルトの名無しさん
NGNGいや、質問じゃなくて解答のほう
0548デフォルトの名無しさん
NGNGクラス型変数も 変数は解放してないしね。 オブジェクトを解放してるだけだし。
var list:Tstringlist;
begin
list:= TStringList.create(self);←listは今作ったTstringlistを指しているだけ
list.free;←なんとな変数を解放しているかのような印象を受けちゃうね
end;
0549デフォルトの名無しさん
NGNGTStringList のコンストラクタでオーナを設定できるとは知らなかったなぁ
0550デフォルトの名無しさん
NGNGLanguageID プロパティの設定がうまくできません。
procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.Characters.Load('MyAgent','C:\WINDOWS\msagent\chars\merlin.acs');
AgentChar:=Agent1.Characters.Character('MyAgent') as IAgentCtlCharacterEx;
AgentChar.LanguageID:=$409;// ここでAccessViolationエラーが出ます
AgentChar.Show(0);
AgentChar.Speak('apple', '');
end;
LanguageID プロパティを設定しないと日本語の音声になってしまいます。
英語の音声に切り替えたいのですが、
どなたか、MS Agent に詳しい方はおられませんか?
0551550
NGNGVBでは、こんな感じで正常に動作しました。
Private Sub Form_Load()
Dim marlin As IAgentCtlCharacterEx
Agent1.Characters.Load "marlin", "C:\WINDOWS\msagent\chars\merlin.acs"
Set marlin = Agent1.Characters("marlin")
marlin.LanguageID = &H409' American English
marlin.Show
marlin.Speak "apple"
End Sub
0552デフォルトの名無しさん
NGNGうちの環境だとAccessViolationエラー出ないぞ
AgentChar の宣言、間違たりしてないか?
0553550
NGNG私の宣言部はこんな感じなんですけど、552さんとは違いますか?
type
TForm1 = class(TForm)
Agent1: TAgent;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
AgentChar: IAgentCtlCharacterEx;
end;
0554550
NGNGuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, AgentObjects_TLB;
0556550
NGNGどうも、ありがとうございました。
現在はWinXP&Delphi7の環境なので、Win98とかDelphi6でも試してみようと思います。
0557550
NGNGさっそくDelphi6で試してみたら、動きました!
AgentObjects_TLBのコードがDelphi7に対応していないのでしょうか・・・。
少しDelphiの将来が不安になってしまいました。(関係ない?)
0558デフォルトの名無しさん
NGNG関連サイトを探しのですが見つかりませんでした。
御願いします。
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGBCBだったらDirectShowでFAなんだが‥‥
0561デフォルトの名無しさん
NGNG550 :デフォルトの名無しさん :04/05/04 16:30
一日たったから、こっちへマルチポストですか。
0562デフォルトの名無しさん
NGNG0563デフォルトの名無しさん
NGNGレス付かなきゃいいってセンスが分からん。
削除するんならまだしも。
マルチポストするヤツは人間として失格。
0564デフォルトの名無しさん
NGNG>削除するんならまだしも。
どうやって削除するの?
>マルチポストするヤツは人間として失格。
適切なレスがなければいいんじゃないでしょうか。削除する手段がないし。
>レス付かなきゃいいってセンスが分からん。
わからんヤツは人間としてどうなの? たんに頭わるいだけじゃないの?
0565デフォルトの名無しさん
NGNGこれを呪文みたいにとなえるヤツがいるよね。
なぜ、マルチポストが嫌われるか、その理由を一度考えてみたらいい。
0566デフォルトの名無しさん
NGNG2ちゃんは無理だけど、他は削除出来るところあるだろ。
>適切なレスがなければいいんじゃないでしょうか。削除する手段がないし。
↑上と同じ。
>レス付かなきゃいいってセンスが分からん。
>わからんヤツは人間としてどうなの? たんに頭わるいだけじゃないの?
失礼なことをするヤツにマトモな脳味噌はありません。
それくらいも分からんの?
0567デフォルトの名無しさん
NGNG返答する側になったことが無いんだろうな。
0568デフォルトの名無しさん
NGNGマルチポストはいけないことである、これは同意。
今回の件は、どうやって削除するか訊いている。答えろよ。
0569デフォルトの名無しさん
NGNGはぁ?あっちは消せるだろ。
もちろん消した後に謝罪でも書かなきゃダメだが。
つーか、噛みつく所が違うぞ、お前(w
0570デフォルトの名無しさん
NGNG勝手な推測は迷惑。どんな根拠あるの?
0571デフォルトの名無しさん
NGNGケン=550が、マナー知らずのクズだったってことで。
0572デフォルトの名無しさん
NGNGそなの? 書き込んだことは何回もあるけど、消し方知らないんだけど。
0573デフォルトの名無しさん
NGNG管理者に頼めば消せるのでは?
2ちゃんじゃ、そう簡単には行かないが。
0574デフォルトの名無しさん
NGNGそんなことはない。ちゃんと結果だけは報告してるし。
ほめられたことではないが、最低限のことはしてるようだよ。
全部同時ポストで、すべて放置、というのがもっとも悪質。
0575デフォルトの名無しさん
NGNG知らん所で解決してた」
なーんてことになっても平気な人は人間が出来てて素晴らしい。
0576デフォルトの名無しさん
NGNGいちいち管理人を引っ張り出す方が迷惑なんじゃないの?
消してくれる保証もないし。2ちゃんじゃ簡単じゃなくて、ほかは簡単だから消せ、
ってどういうこと?
0577デフォルトの名無しさん
NGNGあのね、マルチポストはいけないことである、と、これは同意。
一般論ではなく、今回の件を議論してる。 OK?
今回は解決するようなレスはついていない。OK?
ついたレスにはちゃんと応答している。OK?
0578デフォルトの名無しさん
NGNG今回は2chと「簡単には消せない掲示板」だったけど、
大抵は投稿者が削除(パスワード設定)出来るのが普通では?
0579デフォルトの名無しさん
NGNG今回の件限定なんて、誰が決めた?
勝手なルール出すなよ。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG両方の板にちゃんと結果報告して
レスも返したらOKですか?
0585デフォルトの名無しさん
NGNG続きしたいんなら、ここの方が良いかと。
0586デフォルトの名無しさん
NGNGレスつかなかったんだろ?
質問する側の気持ちも考えろよ。
まぁマナーとして、最初に質問したほうに
「レスがつかなかったので他所で聞いてみます」ぐらい書いておくべきとも思うがな
0587550
NGNGもうひとつのサイトではMSAgentに詳しい方がおられないようだったのと、
早く問題を解決したいという身勝手な気持ちで、こちらにもお願いしてしまいました。
私は、返答してくれる皆さんのおかげで助けられているのに、配慮が欠けていました。
かばってくれかた方、すみませんでした。
0588Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ マターリいこうよ
ミ*゚Д゚彡
ミつ旦(ミ~~
@ミ ミ マルチポストの1コや2コや
∪''∪ 3コや4コや…ひゃくコくらい
大目に....
100個所もマルチできるとこないか。
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG重なって表示されるような画面を作っているのですが、
フレームの重なる順序(表示順序?)を変える方法を教えてください。
Delphiのバージョンは6です。
関連するメソッド、またはプロパティ名などを教えていただければ、
具体的な使い方は自分で調べるようにしますので、
よろしくお願いいたします。
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG画面
Delphiユーザ5年。知らないことばかり。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNGみたいな手続きがあって、fugaの値はいらない場合、
fugaには何を渡せばいいでしょうか。
捨て変数渡してるのですが、どうも無駄な気がして・・・
0596デフォルトの名無しさん
NGNGデフォルトパラメータ
0597デフォルトの名無しさん
NGNG質問の仕方が悪かったようです。すみません。
>>594
そうです。TFormの上に並べたTFrame(から派生したクラス)の
順序を変えたいのです。
BringToFrontメソッドで目的が達成できました。
どうもありがとうございました。
0598デフォルトの名無しさん
NGNGIDEからコンパイル&実行して、終了すると
オブジェクトインスペクタやエディタなどが再表示されるのに
時間がかかるようになってしまいました。
こういう症状ってなにが原因なんでしょうか?
0599デフォルトの名無しさん
NGNGC/C++のソースファイルを解析して関数や変数名をファイルに出力したいんですけど
どうすればいいのでしょうか・・・・
0600デフォルトの名無しさん
NGNGソースファイルをTStringListあたりに読み込んで1行ずつループまわして解析して
関数や変数名を抜き出して別のTStringListに蓄えていってSaveToFileすればよいのでは?
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNGPString(nil)^
>>598
とあるプロジェクトが原因。
0603598
NGNGいやぁ、それはわかってます。
例えば「未解放のクラスがあるんじゃないか?」とかそういうのを聞きたかった。
ちなみに自分でCreateしたクラスは全部Freeしてあります。
一度コンパイルすると症状は出ないんですけど
現在進行形のプロジェクトなのでコンパイルの機会が頻繁なのです。
「リソースの読み込みに時間がかかる」とかならまだわかるんだけど
プログラム終了→IDE復帰が遅いんだよなぁ
0604デフォルトの名無しさん
NGNG・せめて OS と Delphi のバージョンだけでも書いとくれ。
・遅い、って何秒くらい?
デバッグ対象アプリのプロセス終了時に時間がかかるのだとすると..
・ウィルスチェッカーを常駐させていませんか?
・ネットワークやデータベース接続を行っていませんか?それらがタイムアウトを待っているとか..
・環境設定ファイル等に存在しないネットワークパスを示すものが混ざっていませんか?
0605デフォルトの名無しさん
NGNGソース晒すんならまだしも(誰も見たがらないと思うけど)
とあるプログラムと言われても発生しうること予想しろなんてそりゃないぜ。
原因特定後に解からないならソースの一部晒すなりしたほうがいい。
0606デフォルトの名無しさん
NGNG複雑なときのみ出るバグだってあるんだし。
人生相談だと思って回答するくらいの余裕をもとうや。
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNGTCPIP の Default Gateway のことかなぁ?
0609デフォルトの名無しさん
NGNGそうです。そうです。
DefaultGateWayです。コマンドプロンプトでipconfigを実行したときの、
同等の表示をさせたいのですが、SubnetMaskとDefaultGatewayが
わからなくて・・・
0610デフォルトの名無しさん
NGNGで終わっちゃいそうだ..
0611デフォルトの名無しさん
NGNGWin98 とかになると、レジストリをつつくしかない。
GetAdaptersInfo Delphi
でググりなさい
0612デフォルトの名無しさん
NGNGありがとうございます。
いちおうなんとかできますた!!
ところがAdapterNameを取得しても、名前じゃなくクラスIDを
取得しちゃうんですが、これは自分でレジストリいじって探せって
ことですか?
0613デフォルトの名無しさん
NGNGプログラミング自体が初めてなので
初心者でも分かるようなサイトってありませんか?
0614デフォルトの名無しさん
NGNG>>1
0615デフォルトの名無しさん
NGNGDelphiでそれをするにはどうすればよいでしょうか。
具体的には、
ttp://www.url.jpg
ttp://www.url2.jpg
ttp://www.url3.ljp
みたいな文字列を受け取り、そのファイルのダウンロードをするソフトを作って見たいのです。
0616デフォルトの名無しさん
NGNGTIdHTTP.Get
0617デフォルトの名無しさん
NGNGすばやい返答ありがとうございました。
頂いたキーワードで調べてみます。
0618デフォルトの名無しさん
NGNG>>617
余計なお世話かもしれんが、「urlmon」か「Wininet」ではどーだろう。
0619デフォルトの名無しさん
NGNG実は616さんから頂いたキーワードは自分では処理しきれず、
まだファイルダウンロードは早いのかとあきらめていたところでした。
ところがwininetでググったら、素人の自分でも一発で実現できました。
本当にありがとうございました。
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG619はずっとWininetやってればいいんじゃないの。
0623619
NGNGこのスレ全体の方へ不愉快な思いをさせてしまったことをお詫びします。
0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG/:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
/ :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
/ :::/;;: ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄
大ちゃん、公然猥褻で捕まっちゃうよ・・・
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGnil逆参照すると、EAccessViolation出ね?
0632デフォルトの名無しさん
NGNG別に '' でよくね?
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG知らない。
0635Delフサギコ ◆A6VzDeLphI
NGNG⊂ミ゚Д゚⊂,,,,,,,`つ≡≡(´⌒;;;≡≡≡
ズザーーーーーッ (´⌒(´⌒;;
IPアドレス入力用コントロールって
どこにあるでしょうか?
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG私が最近練習用に作ったのでよければ、TIPAddress というのを↓に置いてます。
Delphi6 用ですので、古いバージョンで使うにはソースを修正する必要があります。
ttp://xd3e8d081.at.infoseek.co.jp/cgi-bin/default.cgi
0638デフォルトの名無しさん
NGNGHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AEDebug
が
C:\Program Files\Borland\Delphi6\Bin\bordbg60.exe -aeargs %ld %ld
になってるんだけど、略\Common Files\Borland Shared\Debugger
\BORdbk61.dll -aeargs %ld %ldかBORdbg61.exeに書き換えれば良いの?
regsvr32 /u してregsvr32しなきゃダメ?
0639Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡
ミつ旦(ミ~~
@ミ ミ >>637さん
∪''∪ まあ!素敵!
ありがとう。勉強&使用してみるです。
0640デフォルトの名無しさん
NGNGLabelのフォントとかってWindows上では変えることはできなくて、
常にMS UI Gothicでサイズも9ですよね?
変える事ができるのはそのプログラム上からしか
変えることはできないんですよね?(;´Д`)
0641デフォルトの名無しさん
NGNG> Windows上では変えることはできなくて
これの意味は? デフォルトフォントのことを言ってるの?
TLabel は Delphi 独自の実装だから、直接 Windows とは関係ないよ
0642デフォルトの名無しさん
NGNG説明不足ですみません。。。
0643デフォルトの名無しさん
NGNG> ふつうMaskEdit使うのかしら...
ふつうは、コモンコントロールの IP Address Control を使うんだけど、Delphi
にはラッパーがないよね。いつか ML でも話題になったので過去ログ見てみたら。
0644デフォルトの名無しさん
NGNGどう取得するのか知らんけど
0645デフォルトの名無しさん
NGNGシステムフォントと無関係に設定されているので、できません。
0646デフォルトの名無しさん
NGNGあぁ、やっぱりそうですか。ありがとうございます。
0647デフォルトの名無しさん
NGNG数字しかいれられないんで、あまり便利じゃないね。MaskEdit の方がいいかも。
0648デフォルトの名無しさん
NGNGプレイヤーと拡張子を関連付けてファイルをクリックするだけで
起動してファイルを開けるようにしました。
さて、アプリ起動中に別のファイルを開いた場合、
二重起動を防止して、起動中のアプリでそのファイルを開きたいのです
現在、二重起動を防止するところまではできたのですが
起動中のアプリに新しいファイル名を渡すにはどうしたらよいのでしょうか?
0649デフォルトの名無しさん
NGNGDDE とかでやればいいと思うが。
0650デフォルトの名無しさん
NGNGIPアドレスに数値以外の文字がありえるのか?
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG流れが読めてない人は吊って来てね
0656デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGを出したのはいいのですけど、キャンセル処理って
どうやるのでしょうか(;´Д`)
VBだったらCancelErrorがあったから出来たんですが。。。
0659デフォルトの名無しさん
NGNGExecute メソッドはファイル選択用のダイアログボックスを開き,ユーザーが
ファイルを選択して[開く]をクリックしたときに True を返します。ユーザー
が[キャンセル]をクリックした場合,Execute メソッドは False を返します。
0660658
NGNGこんなに簡単だったとはorz
0661デフォルトの名無しさん
NGNGまぁ、ヘルプぐらい読めってこったな
0662デフォルトの名無しさん
NGNG日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0663デフォルトの名無しさん
NGNGIdHTTP1.Get("http://www.xxxx.xx/index", stream);と比べてどう優れていますか?
0664デフォルトの名無しさん
NGNGメソッドの構文を知らなくてもソースが読める
0665デフォルトの名無しさん
NGNG英語じゃないとかっこよくないじゃないか!
0666デフォルトの名無しさん
NGNGネット上にあるjpgファイルやgifファイルをダウンロードするには
どのコンポーネントを使えばいいのでしょうか?
0667デフォルトの名無しさん
NGNG4桁なら、↓の方法でできました。
a := random(10);
b := random(10);
while b = a do
b := random(10);
c := random(10);
while (c = a) or (c = b) do
c := random(10);
d := random(10);
while (d = a) or (d = b) or (d = c) do
d := random(10);
しかしながら、10桁ともなると、大変なことになってしまいます。
もっと効率のいい方法を教えていただけますでしょうか。
よろしくお願いします。
0668デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&lr=lang_ja&ie=sjis&q=%94z%97%f1%81@%83V%83%83%83b%83t%83%8b
0669デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
A: array [0..9] of Integer;
I, J: Integer;
Retry: Boolean;
begin
Edit1.Clear;
for I := 0 to 9 do
begin
Retry := True;
while Retry do
begin
A[I] := Random(10);
Retry := False;
for J := 0 to I - 1 do
if A[I] = A[J] then
begin
Retry := True;
Break;
end;
end;
Edit1.Text := Edit1.Text + IntToStr(A[I]);
end;
end;
0670デフォルトの名無しさん
NGNGなるほど、配列を使うんですね。
勉強になりました。
ありがとうございました。
0671デフォルトの名無しさん
NGNG普段使わないから存在を忘れてた。
0672デフォルトの名無しさん
NGNGそのファイルをダウンロードするのに適切なプロトコルに合わせて選ぶ。
0673デフォルトの名無しさん
NGNGかなり昔に興味本位で落としてみて、10分でアンインスコしたな。
0674デフォルトの名無しさん
NGNG>>663
0675デフォルトの名無しさん
NGNGSelStartだと文頭からの文字数でしか指定できません
位置を取得する方法はたくさん出てくるのですが・・・
TRichedit、Delphi6です
0676デフォルトの名無しさん
NGNG逆に、指定した行、列をSelStartに換算するといいのでは。
0677デフォルトの名無しさん
NGNGRichEdit1.Perform(EM_LINEINDEX,行,0) + 列
0678デフォルトの名無しさん
NGNGひまわり風に書くとどうなるんだろ・・
0679デフォルトの名無しさん
NGNGAND DWORD[EAX],0
が6Byteにアセンブルされてしまうんです。
本来は3Byteで済むはずなのに。
アップデートを適用したらしたら直りますか?
ダイヤルアップで数十MB DLはきついので、教えてほしいんです。
0680デフォルトの名無しさん
NGNG0681679
NGNG60MBを5時間かけてDLしたんだから...
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG呼び出し側(Form1とか)に必要に応じて返したい場合
普通はどんな手段が一般的なんでしょうか?
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG除くと、メソッドの呼び出しは普通の関数の呼び出しと形式的には同じだよ。
なぜ特別視して質問するのかな?
0687デフォルトの名無しさん
NGNG早速の回答、ありがとうございます。。。そうですか。
たとえば、クラスには、作成時に、作成したフォームに含まれる
コントロールを渡すようになっていて、そのコントロールの
イベントをクラス内で処理するような場合です。
で、そのイベント処理後、フォーム側の変数の一部を
変更したりするケースです。
まあ、クラス側からフォームの変数や手続きにアクセス
するっていう反則技も考えたんですが、やっぱ。。。
0688デフォルトの名無しさん
NGNG1.グローバル変数を使う。
2.処理をメソッドとして実装、Form1から呼び出して戻り値やVar引数で取得
3.処理結果はそのクラスの別のPublicメンバにセットしておき、必要に応じてそこから取得する。
4.クラスにユーザー定義イベントプロパティを作成し、Form1に作成した関数を割り当てる。
処理が終了した時点で、そのイベントを呼び出す。
0689デフォルトの名無しさん
NGNGありがとうございます。
何か4のユーザー定義イベントプロパティってのが
一番すっきりするみたいです。どうもです。
0690デフォルトの名無しさん
NGNGどうすればいいんですか?
0691デフォルトの名無しさん
NGNGソレだけじゃ、状況がよく分からないから答えようがない。
とりあえず、イベントでリンク先に飛ばないようにして
リンク先を裏でDLするなり拡張子チェックするなりするとか。
拡張子偽装がイヤだとか?
0692デフォルトの名無しさん
NGNG照れ隠しからなのか知らんが、質問にAA付けるのは
回答者のやる気を削ぐだけと思われ。
0693デフォルトの名無しさん
NGNG│aa│bbb . │ccc . │
├─┼────┼────┤
│01│dog . │A │
├─┼────┼────┤
│02│cat.. . │B │
├─┼────┼────┤
│03│mouse │A │
└─┴────┴────┘
のようにListViewでreport表示したデータを
01,dog,A
02,cat,B
03,mouse,A
と言う感じでcsvファイルに出力するにはどうしたらいいんですか?
0694デフォルトの名無しさん
NGNGそれを TStringList にadd、SaveToFile() でセーブ。以上。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698教えて君
NGNGフォーム読込中のエラー
クラス***が見つかりません、エラーを無視して
続けますか? 注意:エラーを無視すると、コンポーネント
またはプロパティを失う場合があります。
***を何処で追加すれば良いのでしょうか?
0699デフォルトの名無しさん
NGNG開いた先のページのURLを
WebBrowser1(表示用、align=alClient)
WebBrowser2(ページの大きさの取得用、aligin=alCustom)
の両方に読み込んで、onDocumentComplete2で
var
body: OleVariant;
WebBW: Integer;
WebBH: Integer;
begin
body := (WebBrowser2.Document as IHTMLDocument2).Body;
try
WebBW := body.scrollWidth + (Width - WebBrowser1.Width) + 24;
if WebBW < Screen.Width then
Width := WebBW;
except
end;
try
WebBH := body.scrollHeight + (Height - WebBrowser1.Height) + 16;
if WebBH < Screen.Height then
Height := WebBH;
except
end;
end;
で読み込んだ先のページの大きさにブラウザの大きさを合わせるようにしてるんですが
PNGファイルを読み込むと正しい大きさで表示してくれないんです。
とりあえず拡張子で判断して、PNGの場合ブラウザの大きさを変えないようにしてみます。
0700デフォルトの名無しさん
NGNG重複行が追加されてしまうのですが、どう書けば追加されずにすみますか?
list := TStringList.Create;
list.add('aaa');
list.add('bbb');
list.add('ccc');
list.add('ddd');
list.Sort;
list.Duplicates := dupIgnore;
list.add('ddd');
ListBox1.Items.AddStrings(list);
list.Free;
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG0703デフォルトの名無しさん
NGNGおそらく設計時パッケージ。
0704デフォルトの名無しさん
NGNGやりたいことは分かった…ような分からないような…。
そのexceptには例外処理が省略してあるんだよね?
ソレは必要なのかな?
pngの「サイズを求める方法」を変えた方が良い…ような気がする。
現時点のはAlign任せってことだよね?
0705デフォルトの名無しさん
NGNGうまくいきました。
ありがとうございます。
0706デフォルトの名無しさん
NGNG画像を読み込みをして、ある点(例:20pix,20pix)のRGBの値を
得たいのですが どのようにしたらいいでしょうか?
できましたら教えてください。
0707デフォルトの名無しさん
NGNGpixels
0708デフォルトの名無しさん
NGNGありがとうございました
0709デフォルトの名無しさん
NGNG>やりたいことは分かった…ような分からないような…。
すみません、説明が足りませんでした。
自分が作ってるのはタブブラウザーではなく、IEもどきのブラウザーを
作ってるんですが、新しくウインドウを開くリンクをクリックたびに
ShellExcuteで自分自身を立ち上げて、最初のナビゲートの時に
699の処理でブラウザの大きさを変更するようにしています。
大きさを変えるのは最初だけで、それ以降のナビゲートでは
ブラウザの大きさは変わりません。
なんでこんな面倒な事をしてるかというと、ポップアップ広告や
固定サイズのポップアップウインドウ(?)をブラウザで表示させた場合、
ブラウザの大きさを変更しないと余白が見苦しいので・・・。
>そのexceptには例外処理が省略してあるんだよね?
>ソレは必要なのかな?
exceptを外すと、特定のページで例外が発生する場合があるので
例外を回避するために付けてます。
ウインドウの大きさを変える方法は、現時点では699の方法が
自分で実装出来る限界なんですが、PNGファイルだけでなく
サイズを変えて欲しくないページまで変更してしまうのが悩みの種です。
やはりPNGファイルの大きさを取得したり、HTMLからページの大きさを
記述してる部分を解析して表示するようにしたほうが良いんでしょうか?
0710デフォルトの名無しさん
NGNGオレはpngからサイズ得た方がいいと思う。個人的に。
>記述してる部分を解析して表示するようにしたほうが良いんでしょうか?
記述してないことがあるから、無駄なような…。つーか、記述してない方が
多いかも…。
0711デフォルトの名無しさん
NGNG指定していた操作(右や左クリック)を行うプログラムを作るにはどうすればいいでしょうか。
SetCursorPos
で希望の位置へマウスカーソルが動くのですが、そこから先がすすみません。
よろしくお願いいたします。
0712デフォルトの名無しさん
NGNGmouse_event
0713デフォルトの名無しさん
NGNGありがとうございました
0714デフォルトの名無しさん
NGNGプログラムソフトなど使ったこともなく、Delphiがはじめてという、プログラム初心者です。
他のソフト(便宜上Aソフトと呼びます)の補助ツール(Hツール)という形で、ソフトをつくっているのですが
HツールにHotkeyを登録し、Aソフトがアクティブなときに
Hツールに登録したHotkeyを押すと、Hツールのタイマーがスタートするようになっています。
Hookをつかった他の方のコンポを使用し、ここまでは出来たのですが
Hotkeyのキーを、同時にアクティブなAソフトにも送信したいのです。
Dispatch()なるものを使えば、Hookというキーを盗む形ではなく、分けてもらう形で
やりたいことを実行できそうなのですが、googleで検索してもほとんどヒットせず
Hookのコンポを使用しました。
アクティブなウィンドウのハンドルを取得し、それに対してキー送信の命令を送りたいのです。
var
Wnd: HWnd; //アクティブなウィンドウのハンドル//
begin
Wnd:=GetForegroundWindow; //アクティブなウィンドウの取得//
と、すれば、アクティブなウィンドウのハンドルを取得することはわかったのですが、
このあと、Hツールに登録したHotkeyを、アクティブなウィンドウにキー送信する方法が
まったく分かりません。
なにぶん、初心者ですので、的外れなことがあるかもしれませんが
よろしくお願いしますm(_ _)m
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG>>715さん
さっそくgoogleで検索してみました。
Keybd_event(Byte('M'), 0, 0, 0);
Keybd_event(Byte('M'), 0, KEYEVENTF_KEYUP, 0);
↑のような記述を見つけ、さっそく714のソースに貼り付けてやってみました
すると、ショートカットに設定したキーを押すと、アクティブなウィンドウにMキーが反映されました!
一歩前進して、嬉しいです。
ただ、この文をいじって(’M’)の部分のMを
hotkey1.hotkey
に置き換えて、ショートカット登録したキーをそのままアクティブなウィンドウに送ろうとしましたが
正しくない型キャスト、というエラーで実行できませんでした。
strtointなどの型変換があるのでしょうか?
APIはほとんど無知たために分かりません・・・
>>716さん
はい、そうです。
>>717さん
すいません、ショートカット登録したキーをHookするフリーの自作コンポを
フォームに貼り付けただけで、717さんの言っていることは全くやっていません・・・
まだまだ勉強不足で、フリーのコンポに走りました・・・
0719679
NGNGand [eax],0 ではなく、and [eax],$FFFFFFFFだった。
$FFFFFFFFでなく-1を使えば大丈夫だった。
アップデートは見送りにしようか。
☆ソース
procedure AsmProcedure;
var i : Cardinal;
const EfuEfu = $FFFFFFFF; Mainasu = -1;
asm
lea eax,i
and [eax],0
and [eax],$00000000
and [eax],-1
and [eax],$FFFFFFFF
and [eax],EfuEfu
and [eax],Mainasu
end;
☆アセンブル結果
00407031 8D45FC lea eax,[ebp-$04]
00407034 832000 and dword ptr [eax],$00
00407037 832000 and dword ptr [eax],$00
0040703A 8320FF and dword ptr [eax],-$01
0040703D 8120FFFFFFFF and dword ptr [eax],$ffffffff
00407043 8320FF and dword ptr [eax],-$01
00407046 8320FF and dword ptr [eax],-$01
or,and,xor,pushでサイズが無駄に大きくなる可能性がある。
小さく速く短く理解しやすいコードは美しい...気がする。
0720デフォルトの名無しさん
NGNGまだダウンロード終わらないの!?
0721デフォルトの名無しさん
NGNGM でなく 'M' を hotkey〜 に置き換えれ
0722デフォルトの名無しさん
NGNG自分のマシンのファイルを見せる方法として、
ttp://forum.nifty.com/fdelphi/samples/00986.html
という方法があるみたいなのですが、これと同じようなことをindyでするには
どうすればいいでしょうか。
よろしくお願いします。
0723デフォルトの名無しさん
NGNG>>721さん、お返事ありがとうございます
'M'の部分を
hotkey1.hotkey
に置き換えて、実行をしてみました。
すると、プログラムがフリーズしてしまいました
何が悪いのか自分でもほとんど理解していないので、お手数かけます・・・
0724デフォルトの名無しさん
NGNGその表示している状態をキャッシュみたいなファイルを作って次回から
高速に表示出来るようなコードとかってありますか?
なんかヒントになるようなこと教えてください。
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG>>725さん、お返事ありがとうございます
ShortcutToKeyを使って、
Keybd_event(Byte('M'), 0, 0, 0);
Keybd_event(Byte('M'), 0, KEYEVENTF_KEYUP, 0);
の、Mの代わりに登録したホットキーを反映させるには、どうしたらいいのでしょうか?
いろいろ調べて見たんですが、いまいち使い方が分かりません・・・
Shortcuttokey(hotkey1.hotkey,key,shift)
を Byte('M') のかわりに放り込んでみたんですが、使い方間違ってますよね・・・
0728デフォルトの名無しさん
NGNGではダメなの?
0729デフォルトの名無しさん
NGNGKeybd_event() はキーの押し下げ・上げを一組にして、実際のキーのシミュレート
するのに使う。たとえば
Keybd_event(Ord('M'), 0, 0, 0);
Keybd_event(Ord('M'), 0, KEYEVENTF_KEYUP, 0);
を Memo1 にフォーカスがある時に実行すると 'm' が入力される。
Keybd_event(VK_SHIFT, 0, 0, 0);
Keybd_event(Ord('M'), 0, 0, 0);
Keybd_event(Ord('M'), 0, KEYEVENTF_KEYUP, 0);
Keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
だと、大文字の 'M' が入力される。 SHIFT+M をシミュレートしているから。
参考になりますか?
0730デフォルトの名無しさん
NGNGキー操作をトレースしてる側のHツールが
AツールにHotkeyの値を送るのはどんな意味があるの?
0731714
NGNGその構文のkeyの定義について、ちょっとまだ理解できていないので
これから勉強して理解していきたいと思います
>>729さん お返事ありがとうございます
ネットゲームの補助ツールということで、魔法を詠唱し、その効果時間をタイマーで
計る、といったことができるツールを作りたいと思っています。
魔法の効果時間を計るために、タイマーを用意しています
そのタイマースイッチを、メインメニューのショートカットを利用して
Hotkeyに設定したキーが押されれば、メインメニューの「タイマーON」を押し
タイマーのスイッチをONという形にしています。
そして、Hookをして、メインメニューの「タイマーON」を押しているので、
魔法キャストのキーを押したはずなのに、タイマーは動いているが
Hookでキーをとられたために、魔法が詠唱されてない、という状態になってます。
そのために、Hotkeyに登録したキーを、そのままアクティブなウィンドウに送信したいのです。
決まったキーであれば、例にあるように、
Keybd_event(Ord('M'), 0, 0, 0);
といった形で対応はできると思うのですが、人によって魔法の詠唱するキーが
違うので、その人に対応するために、ホットキーに登録したキーをそのまま
アクティブなウィンドウに送信したいのです。
まだまだ勉強不足で、いろいろアドバイスをいただいているのですが、
たぶん半分も理解できていません・・・
こんな私ですが、よろしくお願いしますm(_ _)m
0732デフォルトの名無しさん
NGNG俺あほだから正しい使用法忘れた・゜・(ノД`)・゜・。
0733デフォルトの名無しさん
NGNGそのままAソフトに流してはダメなんだろうか…
いや、むしろ登録してあるキー情報のデータ形式が問題なのかも…?
「hotkey1.hotkey」に、どのように格納されているのか…
0734デフォルトの名無しさん
NGNGkey:word;
Shift:TShiftState;
begin
Shortcuttokey(hotkey1.hotkey,key,Shift);
0735デフォルトの名無しさん
NGNGっミ
http://homepage1.nifty.com/MADIA/delphi/tokusen.htm
の
システム全体に影響を及ぼす強力なフックの方法
dwThreadIdに対象のスレッドID入れればそのスレッドのウィンドウだけに対象を絞れる。
0736デフォルトの名無しさん
NGNGちゃんと地道で基礎的な訓練が必要なんでは?
0737デフォルトの名無しさん
NGNGここはそういうスレじゃないの?
コーチのいない無名の選手がマラソンで成績を残したいという。
もし基礎的な訓練が必要なら、その訓練方法なりを示してあげないと、
路頭に迷うことになっちゃうよん。
参考書読んで勉強しろ、とか講座サイト見て勉強しろ、ということだったり、
過去ログ嫁、というだけだと、「どうすればいいか分かりません」という答えが
返ってくるだけだと思うけどね…
0738デフォルトの名無しさん
NGNG> コーチのいない無名の選手がマラソンで成績を残したいという。
そりゃそうだ。でも望んでる成績がトンデモだったりしたら、やはり、それなり
の訓練をしろ、というアドバイスもあり、では。地道に努力しろ、というのは、
掲示板でどうしろ、と簡単に書けない内容なのでは? 簡単に書ける内容だったら
地道な努力は必要ないわけで。
0739デフォルトの名無しさん
NGNG3時間30分の記録をあと十分縮めるにはどうしたらよいか、という質問を
しろ、という感じかな?
0740デフォルトの名無しさん
NGNGhttp://register.borland.co.jp/regist/delphipersonal/delphipersonal.dll/
で登録したんですが、いつまで経ってもメールが送られてきません。
0741デフォルトの名無しさん
NGNG土日は休みだから
0742デフォルトの名無しさん
NGNG>記録をあと十分縮めるにはどうしたらよいか
!!
そういうことか。納得。
ただ、3時間30分というのがどのくらいか分からないけど、
「走ったことないんですけど、どうしたら完走できますか? 私は完走できそうですか?」
という質問は御法度というわけですね。
あくまでも記録なり足跡なりを残した上で、あと十分縮めるための方法を模索する、というスレ
だという認識で問題ないかな。
>>740
いつ頃登録したのか分からないけど、3日程度は待った記憶がある。
0743デフォルトの名無しさん
NGNGアプリが内容を変更したときのOnChangeイベントは無効にして
ユーザーが内容を変更したときだけOnChangeイベントを発生させるにはどうしたらよいのでしょうか?
0744デフォルトの名無しさん
NGNGイベントの発生を制限するのではなく、イベントが発生しても、それがアプリによるものか、
ユーザによるものかを判断させてみたらどうだろう。
0745デフォルトの名無しさん
NGNGそれはどうやってやったらいいのでしょうか?
Senderとかで判断できるのでしょうか?
0746デフォルトの名無しさん
NGNGEdit1.OnChange := nil;
ここで内容変更のコード
Edit1.OnChange := Edit1Change;
な感じ。
0747デフォルトの名無しさん
NGNGあ!なるほど。
でもTEditって毎回こんなことしないとだめなんですか・・
プログラミングって思ったより手間がかかりそうですね
0748デフォルトの名無しさん
NGNGどう思ってたか知らないけど、Delphi より十倍も手間がかかる言語もあるよ。
0749743=745=747
NGNGおかげさまでうまくいきました
0750デフォルトの名無しさん
NGNG素人にいきなりフルマラソン走らせるなよ
0751デフォルトの名無しさん
NGNG継承しとけ。
ChangeメソッドとTextプロパティをオーバーライドすればいい
0752デフォルトの名無しさん
NGNG一番簡単なのは
ListView1.BeginUpdate;
〜追加処理
ListView1.EndUpdate;
あとはMLにある TMandom を使うとか(注意書きをよく読んだほうがいい
OwnerDrawで色々工夫するとかかな
もしTStringListでCSVファイルを読み出してるのなら
サンプル蔵の高速TStrings読込でファイル読込高速化はある程度可能
キャッシュファイルを作って高速化とかはわからん
練習として
「スクロールバーでRGB変化させて色表示」するプログラムや
「ボタンがクリックされた回数を表示」するプログラムなど、
ホントに小さなプログラムを作ってみました。
が、どれもexeファイルにすると400kb以上になってしまって…。
この程度のものなら通常、20kb前後に収まると思うんですが…。
何か解消の方法ありましたらお教え下さい。
0754デフォルトの名無しさん
NGNGDelphiで小さな実行ファイルを作ろう
http://pc5.2ch.net/test/read.cgi/tech/1009080085/
ありがとうございます。
0756デフォルトの名無しさん
NGNGUPX
http://homepage2.nifty.com/maskp/
を使用すると、EXEファイルのサイズが半分以下になります。
0757デフォルトの名無しさん
NGNGのと
小さな実行ファイルを作りたい
を混同する人が多いよね
0758753=755
NGNG>754さんのリンク先をザッと読んで、
「随分手間が掛かるみたいだから、現状のままでもいいか」と考えていました。
でもこれを使えば、
さほど手間をかけずにファイルサイズを小さく出来ますね。
しばらく使ってみてデメリットが無いようであれば、常用させていただきます。
ありがとうございました。
0759デフォルトの名無しさん
NGNGプログラミングは全く関係ないし
0760デフォルトの名無しさん
NGNGhttp://homepage2.nifty.com/Mr_XRAY/Halbow/index.html
なんかどうよ。
勉強にもなるし9KBのプログラム作れたよ。
0761デフォルトの名無しさん
NGNGデバイスマネージャからデバイスの有効、無効を切り替える
操作をプログラムで処理したいのですが可能でしょうか?
0762714
NGNGHotkeyに登録したキーをショートカットとして使うのに、TH○okhotkeyというフリーの自作コンポーネントを
使ったことが、混乱の原因のような気がします・・・
結局、よく見てみると、このコンポのおかげで、メインメニューのショートカットは使用しておらず
こちらの勘違いで、ご迷惑をおかけしましたm(_ _)m
また、このコンポのおかげで、自動的にHookをしてくれるために、Hookに関する知識もいらずに
Hookができています
やりたいことは、Hokeyに登録したキーを、そのままアクティブなウィンドウに流したい
ということなのですが、このTH○okhotkeyの便利さもあって、Hookの勉強をおろそかにしていました
もっと勉強してHookを身に着けて、CallNextHookExで、やりたいことをできるように
がんばりたいと思います。
ご指導ありがとうございましたm(_ _)m
0764デフォルトの名無しさん
NGNGそのコンポーネントがやってるのはフックじゃなくてホットキーだ。
0765デフォルトの名無しさん
NGNGいる独特なメニュー、ツールバーなどの(フラットでマウスオーバーで
ふちの色が変わったり)インターフェイスはDelphiからでも使用できるんですか?
正式名称があったら教えていただきたいです。
0766デフォルトの名無しさん
NGNG自前で作るのがおそらく1番手っ取り早い
0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769767-768
NGNGとりあえず謝っときます。
スレ汚しスマソ>ALL
0770デフォルトの名無しさん
NGNGToolbar2000+TBXで出来るよ
0771デフォルトの名無しさん
NGNGpublic
Name: string;
いくつかのメソッド
end;
TFolder = class(TObject)
public
Name: string;
List: TObjectList;
function Add(F: TFile): integer;
end;
function TFolder.Add(F: TFile): integer;
begin
Result := List.Add(F);
end;
0772デフォルトの名無しさん
NGNGvar
F: TFile;
FL: TFolder;
begin
F := TFile.Create;
FL := TFile.Create;
F.Name := '新しいファイル';
FL.Add(F);
ここでいろいろな処理
FL.Free;
F.Free;
end;
このような感じで作っているのですがFL内のリストにFのデータが追加がされません。
どこがおかしいのでしょうか。
0773デフォルトの名無しさん
NGNG関係ないけどプニルはこれを使ってるらしい。
http://www.bcgsoft.com/bcgcontrolbar.htm
0774デフォルトの名無しさん
NGNGTFolder.ListはどこでCreateしてる?
0775デフォルトの名無しさん
NGNGTFolderの、Create内でCreateして
DestroyでFreeしています。
0776デフォルトの名無しさん
NGNGコピペミスだよね?
データが追加されないってどう確認した?
0777デフォルトの名無しさん
NGNGFL := TFile.Create;
ここを
FL := TFolder.Create;
にしたら?
0778デフォルトの名無しさん
NGNG>FL := TFolder.Create;の間違いでした。
PFile = ^TFile;
TFolder = class(TObject)
private
procedure SetFile(F: TFile);
function GetFile(i: integer): TFile;
public
property Files[i: integer]: TFile read GetFile write SetFile; default;
function TFolder.GetFile(i: integer): TFile;
begin
Result := PFile(List.Items[i])^;
end;
ShowMessage(FL..Files[0].Name);
この処理を実行した時点でエラーが出て止まります。
0779デフォルトの名無しさん
NGNGでどうよ?
0780デフォルトの名無しさん
NGNGありがとうございます、取得できました。
でもあいかわらず終了時に読み込み違反が出てしまいます。
ListにTFileを追加する部分を省くとエラーは出ないのですが。
0781デフォルトの名無しさん
NGNGListをCreateするとき、引数にFalseを書いてみれば?(ヘルプ参照)
TFileを二重解放してる気がする。
0782デフォルトの名無しさん
NGNG全部スムーズに行きました。
親切丁寧なご指導本当にありがとうございます・゜・(ノД`)・゜・。
0783デフォルトの名無しさん
NGNG書き忘れたけど、解放を自力でやるかTObjectListにまかせるかは
プログラムによるので考えてみてね。
0784デフォルトの名無しさん
NGNGどうすればいいですか?
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNGカーソルお変えろ
0789デフォルトの名無しさん
NGNGどうすればいいですか?
0790デフォルトの名無しさん
NGNGVBしか使ったことない人は、そのように感じることが多いようだね。
自分も長い間VBを使ってきてそう思っていたが、いざDelphiを触ってみると
以下に長い間自分が無駄な時間を過ごしてきたかが一瞬にしてわかった。
ただ、VB.NETに関してはそうとはいえない(VB.NET/C#の方がよいと思う点が
かなり出てきている)。
0791デフォルトの名無しさん
NGNG回答じゃなくてすみませんが、なぜ「したい」のか教えてください。
0792デフォルトの名無しさん
NGNG> 以下に長い間自分が無駄な時間を過ごしてきたかが一瞬にしてわかった。
具体例プリーズ。
でないと、単なるデル厨にしか見えん。
0793デフォルトの名無しさん
NGNG具体的理由プリーズ。
でないと、単なるVB厨にしか見えん。
0794デフォルトの名無しさん
NGNG0795Delフサギコ ◆A6VzDeLphI
NGNG∫,,,,,,,,,∧,,∧ たしか、どこかにあったけど・・・
⊂,,,,,,,,,つ,,゚Д゚ミつ
デルヒワールドだったかな。
0796初心者1
NGNGdelphi6.0でORACLEのストアドプロシージャに引数を渡そうと
しているのですが、1つの時はうまくいき、2つになると2つ目の
parambyname("→この部分←")の名前が見つからないというエラーが
発生します。
どのような原因が考えられるか教えてください。
よろしくお願いします。
0797デフォルトの名無しさん
NGNGJPGファイルで作成したいのです。
とりあえず、一度ビットマップ形式でデータを読み込み
JPGに変換保存という方法で成功はしたのですが、
いかんせん遅いので、画像のデータをスマートにJPGに取り込むにはどうすればよいか、
ご教授願います。
よろしくお願いします。
0798デフォルトの名無しさん
NGNG非常に泥臭いですが、
いちおう、下の方法でうまくいきました。もしご参考になれば・・・
・文字列からURLを探す
・URLの部分を青くアンダーバー付で表示するようにする。
・カーソルの動きをチェックし、URL部分の上にいるときにはクリックカーソルに変える
・URLの上でクリックしたらURLを開くイベントを実行
0799デフォルトの名無しさん
NGNGGetDesktopWindow+GetDC+BilBlt
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG引数1個ならうまく実行できるんだよね?
・2つめの引数の微妙なスペル違い(実はこれが一番多い)
・PL/SQLには実は引数は1つしかなかったというオチ
・2つめの引数の種類が in ではなくて outだった
・(Delphi上で)Parametersが最初の一つしか指定されていなかった
が考えられる。
とりあえずDelphi抜きでSQL Plus*あたりから手動で引数を渡して実行して
確認してみれ。
ちなみに、DBアクセスの方法を書いておいたほうがいい(BDEとか、dbExpressとか)
漏れはサードパーティーのOracle VCLを使っているので、BDEやdbExpressに特化した
ものだとうまく答えられない。もしそうなったらゴメン。
0802デフォルトの名無しさん
NGNGbmp → jpg の変換速度は、ディスクアクセスに比較すると十分速いと思うぞ。
巨大なデスクトップを使ってるとか?
0803797
NGNGありがとうございます。
試してみます。
>>800
やはりそうなのでしょうか。
やりたいことは画像ファイルの送受信して、相手の端末に
自分のデスクトップや画像を送る処理なので、
HDCの情報を直接送ることができればわざわざ
ファイルを作成する必要はないのですが。
>>802
作成処理から作成までで、1秒弱かかってしまいます。
壁紙とか使用してないシンプルなデスクトップなのですが
0804デフォルトの名無しさん
NGNGjpg にする必要ないんじゃないの。
> ファイルを作成する必要はないのですが。
そうですね、TBitmap に写し取って、SaveToStream() でメモリストリームにして
そのメモリイメージをそのまま送れば、すべてメモリ上の処理で済む。
> HDCの情報を直接送ることができればわざわざ
HDCの情報がそのビットマップに相当する
0805デフォルトの名無しさん
NGNGありがとうございます。早速試してみたいと思います。
0806デフォルトの名無しさん
NGNG(たとえば、クラスAのフィールドにクラスBのインスタンスがあるけど、BはAのフィールドも参照する)
これを別のユニットの置く方法ってありますか?
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG・BはAのフィールドも参照する
classA → UnitA
classB → UnitB
として、UnitA では、宣言部の uses に UnitB を含め、UnitB では実装部の uses に UnitA を含める
0810デフォルトの名無しさん
NGNGどのように参照するかによる
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGオレもそうしてるけど、一々キャストしなければいけないから
余りエレガントには思えないね。ローカルで代入するとしても、なぁ。
もっと良い方法は
無いんだろうなァ
0813デフォルトの名無しさん
NGNGありますか? って質問だっただろ。キャストは実装コードだけだろ。
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG文字が入力されたり、何も入力されていない時にエラーが出ます。
どうしたらいいでしょうか?
procedure TForm1.Edit1Change(Sender: TObject);
var x:integer;
begin
x:=StrToInt(Edit1.Text);
x:=x+x;
Edit2.Text:=IntToStr(x);
end;
0816デフォルトの名無しさん
NGNGその時どうしたいんだ?それはプログラム作成者が決めることだ。
とりあえず適切なエラーメッセージを表示したければこんな感じ。
begin
try
x:=StrToInt(Edit1.Text);
x:=x+x;
Edit2.Text:=IntToStr(x);
except
on E: EConvertError do
ShowMessage('Edit1に数値を入れろゴルァ!!');
end;
end;
0817デフォルトの名無しさん
NGNGエラーが嫌ならStrToIntDefでも使ってください。
0818804
NGNGなぜか遅くなってしまいました。多分BMPのメモリストリームそのまま送ると、
今度は転送量が大きくなりすぎるんですね。再度、精進いたします。
>>815
文字を入力したくないなら、
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key <> '0') and
(Key <> '1') and
(Key <> '3') and
//略
(Key <> '9') then
begin
Key := #0;
end;
end;
なにも入力してないときにエラーを回避したいなら、
procedure TForm1.Edit1Change(Sender: TObject);
var x:integer;
begin
if Edit1.Text = '' then
begin
Edit2.Text:=IntToStr(x);
exit;
end;
//以下略
でいけるかと。質問の意味が違うかもしれないけど
0819818
NGNGは以下の間違いです
procedure TForm1.Edit1Change(Sender: TObject);
var x:integer;
begin
if Edit1.Text = '' then
begin
Edit2.Text:='';
exit;
end;
//以下略
0820デフォルトの名無しさん
NGNGどうやって作るんでしょうか?(コンソールアプリではなく)
やりたい事は、外部プログラムの起動です。
新規作成→アプリケーション のプロジェクトで
ウィンドウを作成する前に、処理をして
ウィンドウを作成せずに終了する。
って感じですか?
もしかして、personal版以外だと適応したプロジェクトがあるのでしょうか?
0821デフォルトの名無しさん
NGNGそれでもいいしけど、コンソールアプリプロジェクト作って
program Project1;
{$APPTYPE GUI}
uses
Windows;
begin
OutputDebugString('hello,world');
end.
とか書き換えるだけ。
0822820
NGNGありがとうございます。
なんだか、とても簡単なんですね。
勉強させてもらいました。
また、何かあったらよろしくお願いします。
0823デフォルトの名無しさん
NGNGここのソースをそのまま使って実行できたのですが、
ttp://www.ipc.hokusei.ac.jp/~z00104/delphi/thread.html
サンプルでは一度送信する度に切断してしまうため、
送信処理をする度にアクセスする為の時間がかかってしまいます。
切断せずに処理を続けるにはどうすればよいでしょうか。
よろしくお願いいたします。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG> なぜか遅くなってしまいました。多分BMPのメモリストリームそのまま送ると、
TJpegImage にも SaveToStream() メソッドがあるよ。
0826823
NGNG最初、自分もそうかと思いまして
ソケットをクローズしないで、
while (not Terminated) and ClientSocket.Connected do
のループをデータ受信後抜ける方法を模索してみましたが
分かりませんでした。どのようにすればよいでしょうか。お願いいたします。
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG全部受信し終わってたら Break すればええやん
0829デフォルトの名無しさん
NGNGフォームのハンドル等をDLL側に送る方法ってないでしょうか?
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGTCPのストリームには区切りがないので自分で目印をつけるしかない
[データサイズ][データ本体][次のデータサイズ・・・]
とか
[データ本体][データ終端][次のデータ・・・
0832デフォルトの名無しさん
NGNGCanvasから調べるにはどのようにしたらよいのでしょうか?
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNGImage1.Canvas は実装部に定義がある TBitmapCanvas なので Image1 にたどり着く
のは難しそう。
0835デフォルトの名無しさん
NGNGToolBar2000とTBXというのがあるんですねー。
遅くなりましたが、どうもありがとうございました。
いろいろ試してみます。
0836デフォルトの名無しさん
NGNGif Key in ['1'..'9'] then
0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG上塗りしてやればいいんじゃないか?
0839デフォルトの名無しさん
NGNG状況にもよるんだが。
とりあえず文字だけを消したいなら、
文字を背景と同じ色にして同じ座標にもう一度書くのが確実。
イメージの上など、背景が単一色じゃない場合はいろいろと面倒。
工夫するしかない。
0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGこういう細かな便利技(?)を教えてくれるサイトか本ってないでしょうか?
自分は経験が浅いので
if flag = True then flag := False else flag := True;
が
flag := not flag;
で済む、というのを見て目からウロコが落ちたぐらいです。
0842デフォルトの名無しさん
NGNG言語リファレンスを一回通して読んどけ
0843841
NGNG>>842
ボーランドからダウンロードしたPersonal版を使ってるんですが
付いてますか?<言語リファレンス
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG内蔵のエディタで予約後にカーソルを合わせてF1キーを押すと
言語リファレンスに一発で飛べる
0846デフォルトの名無しさん
NGNG0847デフォルトの名無しさん
NGNG落としたアーカイブを展開した先のdocumentationディレクトリ内にoplg.pdfがある。
0848デフォルトの名無しさん
NGNG知らなかった...
0849デフォルトの名無しさん
NGNGどうしたらいいんでしょうねー。
自分もテキストファイルから1行ずつ読み込んで、
それをrecordに入れてソートしてってのをどうやるかで
困ってます。リストを使うとは思うんですが。
んで、846さんはどんなデータを扱いたいんですか?
0850デフォルトの名無しさん
NGNGそれならTStringList.LoadFromFile()で十分じゃ?
0851デフォルトの名無しさん
NGNGbegin
iValue = 10;
end
else
begin
iValue = 20;
end;
この構文の代わりに…
const
IVAL:array[Boolean] of Integer =(10,20);
〜〜〜〜〜
iValue := IVAL[bFlag];
0853これがすごいとおもった
NGNGtry
Text := ????String;
SaveToFile('TMP.TXT');
finally
Free.
end;
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGdynamicはVCL級にでかいクラス郡を作らない限りはいらないだろ。
0856デフォルトの名無しさん
NGNGたまには2のことも思い出してあげてください
>>836
たまには(ry
0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNG画像ファイルを表示させたいのですが ファイルのエクスプローラをひょうじさせるのってどうやったらいいんですか?
0859デフォルトの名無しさん
NGNG>>856の最後の行は「たまには0のことも〜」なんだよ。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG本当にエクスプローラーを使うならShellExecute
似たようなのを作るならTTreeViewとTListViewを組み合わせて
画像ファイルはTImageで開く
0862デフォルトの名無しさん
NGNGを使って、簡単な音楽再生をしようと思ってます。
コンパイルしたあと、自分の環境で、再生させるとちゃんと音がでるのですが
他の人にEXEファイルを送って、使ってもらったんですが
MCIエラーというのがでて、使えません。
恐らく、他の人のPCにDelphiのMediaPlayerを再生する環境が入っていないと
思うのですが、再生する環境を、つくったEXEに埋め込んで
使えるようにするには、どうしたらいいのでしょうか?
0864デフォルトの名無しさん
NGNGここでも読め
ttp://delphi.about.com/library/weekly/aa072903a.htm
0866デフォルトの名無しさん
NGNGhttp://www2s.biglobe.ne.jp/~mix/cm2_help/player_trouble_mci.htm
確認してみそ
0867デフォルトの名無しさん
NGNGその際404などのHTTPのエラーが帰って来た場合は、
デフォルトのページを表示したいです。
こういうことってできますか??
そもそもHTTPエラーって取得できますか??
0868デフォルトの名無しさん
NGNG記憶が正しければ、TidHttpでGetしようとするとエラーが発生する。
そのエラーをCatchして、TIdHTTPResponseInfo.ResponseNoを
みればよかったんじゃないかと覚えている。
0869デフォルトの名無しさん
NGNGすまんexceptですた・・・
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGありがとうございます。
やってみます!!
0872デフォルトの名無しさん
NGNGImageのproportionalをTrueにすると速度に不満が生じます。切り替わる際に何も表示されない時間帯があるのも困ります。
(1→2へブランクなしに切り替わってほしい Image.Proportional;Falseならそこそこの速度が出ています)
どのようにしたら実現可能でしょうか?
procedure TForm1.Button2Click(Sender: TObject);
Var
Jpeg :TJpegImage;
begin
if StrToInt(Label1.Caption) < FileListBox1.Items.Count -1 Then
begin
Jpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(FileListBox1.Items[StrToInt(Label1.Caption)]) ;
Image1.Picture.Assign(Jpeg);
Jpeg.Free;
Label1.Caption := IntToStr(StrToInt(Label1.Caption) +1);
end;
0873デフォルトの名無しさん
NGNGttp://www.vector.co.jp/soft/dl/win95/prog/se205882.html
調べりゃすぐわかるだろうに。
0874デフォルトの名無しさん
NGNGごめんよ、ぐぐったら英語しか出てこなかったの・・・
ありが�d
0875デフォルトの名無しさん
NGNG前後の画像をあらかじめTStreamで読み込んでおいてから、
TImageにぶち込んでもだめかな?
または、もう一つのTImageを非表示状態で予め画像を
読み込んでおいて、ボタンクリックで今までのをVisible:=False、
読み込んでおいたのをVisible:=Trueする。
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG自動的にBtnClickイベントプロシージャ(だったっけ)が
ソースエディタ側に追加されますよね。
間違えてクリックしちゃって作られたイベントを
一発で取り消す方法はありますか?
今のところ、Type宣言とprocedure本体と、オブジェクトインスペクタの
手続き名をすべて手動で消しているんですが。
0878デフォルトの名無しさん
NGNG自動で追加されたプロシージャの
beginとendの間に何も書かずにF9(コンパイル&実行)をかければ
自動で削除されますよ。
0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNG今日練習がてらに落書きソフトを作り始めてみたのですが、
メインメニュー内に[ペン設定]→[太さ]→[1],[2],,,,,[5]
とおき、太さを選択できるようにしようと思ったのですが、
[1]の場合と[2]の場合と……などとと各個入力せずに、なんとか一括でこれらの処理を出来ないものでしょうか?
case文で何とかなりそうな気はするのですが……
それとも各個入力したほうがわかりやすいでしょうか?
0881デフォルトの名無しさん
NGNG試行錯誤の結果、
以下のようにしてひとまず動くようにはなったのですが、
もっとスマートな書き方はないでしょうか。あればご教授願います。
現在のソース
procedure Form1.StringGrid1KeyPress(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
if ([ssCtrl] = shift ) and //Ctrl + C の操作で起動
((Key = 229) or (Key = 67)) then
begin
//処理
end;
end;
0882デフォルトの名無しさん
NGNGもしボタンで選ばれているなら、ボタンに太さのTagを設定し、
ボタンクリックのイベントを統一して、クリックされたボタンのTagの値に
設定するようにすればよいのではないでしょうか?
0883デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGペンの設定ダイアログをつくって表示
0886882
NGNG失礼しました。私、何も文章よんでませんでしたね。
ボタンじゃなくて、メニューですね。
procedure TForm1.NClick(Sender: TObject);
begin
Label1.Font.Size := TMenuItem(Sender).Tag
end;
でどうでしょうか。
0887880
NGNG解決策の提示ありがとうございます。というかTagプロパティの使い方がわからないorz
ttp://up.isp.2ch.net/up/c917249e1c67.png
ちなみにこんな風なサブメニューつくるつもりです。
この方法がしっくり来なかったら>>885さんのやり方で行こうかと思います
0888デフォルトの名無しさん
NGNGTagプロパティは開発者が自由に使っていいInteger型のプロパティ。
メニューで太さ選ぶならメニューアイテムのそれぞれのTagプロパティに太さを入れとけばおk
0889882
NGNGオブジェクトインスペクタの下から2段目あたり
にTagとあれば、それがそうです。
そこに希望の数値を入れておき、Clikイベントを書くメニュー統一すればいけると思います。
などと書いてみましたが、>>885さんの方法のほうがスマートですね。失礼しました。
0890デフォルトの名無しさん
NGNGHPを色々まわってみたのですがなかなかみつからなくて…
わかりやすいサンプルや解説のHPなどありませんでしょうか?
よろしくお願いします
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGタブブラウザ使ってみれ
0893デフォルトの名無しさん
NGNGTabControl1.TabIndex
で何番目のタブが選択されているかが分かります。
なので、
何番目のタブが選ばれているかで処理をわければよいかと。
TPageControlと動きの違いを比較されると分かりやすいと思います。
0894助けてください
NGNG出てきた。そのプログラムではxの値の絶対値が非常に小さな値をとる場合があり,またそ
の値を高精度で求める必要があった。x−sinxの演算はそのまま実行すると|x|<<1の条件で桁
落ちがおきるため,マクローリン展開で計算する必要があるが,|x|<<1の条件でないときは
x-sinxをそのまま使用するほうがよい。そこでA君はx-sinxの値を計算する実数型関数
xmsin(x)を次の考えで作成することとした。
1)ある適当な正の実数x0を考える。
2)引数xの絶対値がx0より小さいときは,マクローリン展開を使って計算する。
|ai/Si|<<ε(εは1より十分小さい正の実数。)を用いて,収束を判定して計算した値を用いる。
3)引数xの絶対値がx0以上では,x-sinxの値を用いる。
Å君はマクローリン展開の計算をいろいろな場合で計算し,x0=0.1,ε=10e-16として関数を作
成した。また,作成した関数に対し,x=10e-10,10e-7,10e-4,0.0999の条件に対しx,xmsin(x),
x-sin(x)の計算値を比較した結果を表示するプログラムをvoid些関数prnrst(x)を用いて作
成し,関数xmsin(x)の動作確認した。
以下にA君が作成したプログラムを,一部を伏せた形で示す。また,実行結果も示す。A
君に成り代わってプログラムを完成しなさい。
0895デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1083050221/
0896デフォルトの名無しさん
NGNG探してみましたが私は見つけることが出来ず・・・
フォントが一文字単位で設定でき、編集時以外は背景を透過し、クリックすると枠が出て再編集可能なもの。
使用バージョンは6パーソナルです。ようするにタダの。もしかしてプロフェッショナルには入ってます?
0897デフォルトの名無しさん
NGNGできたファイルをIllustratorでよく見ますと、
左上にある始点と終点が閉じてなくて点が5個あります。
閉じた図形にするには(始点と終点を結合させるには)
どのようにしたらよいのでしょうか?
0898872
NGNG教えていただいた複数TImageに前後のファイルを開いておきVISIBLEを切り替える方法を試してみたのですが
最初にやったもの(Image Proportional ON)と同じように切り替わりじにブランク表示がされてしまいます。
他の方法もしくは改善すべき点があったら教えてください。よろしくお願いします。
procedure TForm1.Button1Click(Sender: TObject);
Var
Jpeg :TJpegImage;
begin
if StrToInt(Label1.Caption) < (FileListBox1.Items.Count -2) Then
begin;
if (StrToInt(Label1.Caption) >=1) and (StrToInt(Label2.Caption) <StrToInt(Label3.Caption) ) and (StrToInt(Label2.Caption) <StrToInt(Label4.Caption) ) then
begin
Jpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(FileListBox1.Items[STrToInt(Label1.Caption) +2]) ;
Image1.Picture.Assign(Jpeg);
Jpeg.Free;
Label2.Caption := IntToSTr(StrToInt(Label1.Caption) +2);
Label1.Caption := IntToSTr(StrToInt(Label1.Caption) +1)
end //一番古い頁を破棄し今見ているものの2頁先を拾っておく
if (Label2.Caption = Label1.Caption) then
begin;
Image1.Visible := True;
Image2.Visible := False;
Image3.Visible := False;
end
0899デフォルトの名無しさん
NGNGTImageでないとダメかい?
参考に自作ビューアの手順書いとく。
フォームのOnCreateでDoubleBufferd := True
TBitmapに画像を読む。
フォームに置いたTPaintBoxの位置・サイズを適当に変更。
TPaintBox.Repaint
TPaintBox.OnPaint内は、TPaintBox.Canvas.StretchDrawでTBitmapを描画。
0900872
NGNG0901デフォルトの名無しさん
NGNG0903899
NGNGsusieプラグインについてはこの辺を参考に。
http://pc5.2ch.net/test/read.cgi/tech/1064420818/720-726
0904デフォルトの名無しさん
NGNG漏れがそれに近いものを作った時には、TEditを非3D表示、枠を細い線で
表示させるようにして、マウスドラッグで範囲指定させて、そのドラッグした
場所に合うようTEditを動的に生成した。
んで文字を編集させて、エンターキーで確定。入力内容をその下のTImage
に同じ場所に表示させた。
編集可能で、さらにフォント等を変更させたいなら、TRichEditで同様の処理
をさせてあげればいいんでないかい?
0905デフォルトの名無しさん
NGNGRectangle() を使った? LineTo() じゃだめだよ
0906デフォルトの名無しさん
NGNGパッケージにコンポーネントをインストールする時に、”DesignIntf.dcu”が
見つからない等のエラーが出てしまいインストールすることが出来ないの
ですけど、どうすればインストールすることが可能になるでしょうか?
Delphi6 Personalです。
0907デフォルトの名無しさん
NGNGファイル → TJpegImage → TBitmap
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGそのままDesignIntf.dcuかDesignIntf.pasがないんじゃない?
もしくは、違うディレクトリに保存されてるとか。
0910906
NGNGC:\Program Files\Borland\Delphi6 以下を検索したのですけど、
”DesignIntf.dcu”がないようです。
0911デフォルトの名無しさん
NGNGDesignIntf.dcuでyahooで検索したら4件でてきたぞ?
ためしてみそ。
0912906
NGNGやっている事の理屈は分らないですけど、パッケージの requires へ designide.dcpを追加で解決です。
これからはDelphiのパッケージのことを理解する必要がありますね。
0913デフォルトの名無しさん
NGNGその掲示板に
「ヘルプの中の「DsgnIntf の名前変更および関連する変更」というトピックに記述があるそうです」
とあるから、ヘルプを読めばちゃんとわかったことぢゃないかな。
0914デフォルトの名無しさん
NGNGC#.netってC言語で使えますか?
C++はC言語で使えるようなのですが。
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGC#スレできいたら?
0917デフォルトの名無しさん
NGNGC#.netってC言語で使えません。
C++はC言語用のコンパイラでも使えるような仕組みがあるのです(厳密には嘘だけど)。
0918デフォルトの名無しさん
NGNG以前のバージョンから名前が変更されている事を知らないとワカらんでしょ、多分。
0919デフォルトの名無しさん
NGNG(プロパティを弄くる以外に。
0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGこんなんあったのね・・・thx
0922デフォルトの名無しさん
NGNGそれでやってみます!
0923デフォルトの名無しさん
NGNG0924880
NGNGおかげさまでTagプロパティを用いて太さ設定、消しゴム大きさ設定とかもできました。
ところで……
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); //ボタンを押したとき
begin
Image1.Canvas.MoveTo(X,Y); //ボタン押下位置取得
pen := True; //変数penをtrueに
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
//マウス移動時に
begin
if pen then //変数penがtrue(=ボタン押下時)のとき
Image1.Canvas.LineTo(X,Y); //線を引く
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); //ボタンを離したとき
begin
pen := False; //変数penをfalseに
end;
このように描画しているのですが、クリックして(ドラッグせずに)離すと点が打てないという問題に直面しております。
クリックした地点に点を打つ、という処理はLineToでは無理なのでしょうか?
0925デフォルトの名無しさん
NGNG普通のお絵かきソフトの場合、
先を引くという機能を選択する→クリックしたままドラッグさせると
点線が表示される。クリックを止めると点線が線になって確定させる。
ということになるので、普通は点を打つか、線を引くかユーザに
選択させるもんだと思うぞ。
0927デフォルトの名無しさん
NGNGぢゃあ、クリック時のTPointとクリックを止めた時のTPointが同じだったら、
その場所に点を打つという処理にすれば?
0928デフォルトの名無しさん
NGNGLineToを使ったあと、X,Yに点を描けばええと思います。
0929880
NGNG自分の頭の中にはLineToしか思い浮かばなかったです。
名無しに戻って頑張ってみます。アドバイスありがとうございました
0930デフォルトの名無しさん
NGNG一般的にこういった関数の関数名はどういう名前が付くのでしょうか?
今は
function KaisekiTextMode(html : String ):Boolean;
という名前をつけていますが、「Kaiseki」の部分にものすごく違和感があります。
多少スレ違いな感がありますが、他に適切なスレも見つからずに困っています。
0931デフォルトの名無しさん
NGNGえっ、これ知らなかったの? お絵かきプログラムつくるんだったら、TCanvas の
メソッドをすべて試すことくらいしておけよな
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG見せるにはどうすればよいでしょうか。
0934デフォルトの名無しさん
NGNGそのJPGを見ている奴の顔を右から左へ動かす。
0935デフォルトの名無しさん
NGNGそんなに頻繁にアニメーション使わないならImageListを使うと楽
0937デフォルトの名無しさん
NGNG「Kaiseki」も英語にすればよし
0938デフォルトの名無しさん
NGNG見せたい相手が近くにいない場合を想定しているので、
ちょっと難しいです。できればプログラムでできたらうれしいです。
>>935
ありがとうございます。調べてみます。
>>936
ありがとうございます。試してみます。
0939デフォルトの名無しさん
NGNGImageListに画像読み込んでImageList.Draw(0, 0, 0);ってすると
勝手にマスク処理(描画する画像と背景画像を合わせる)してくれるよ
これからもよく使うようなら自分でandだのxorだのしたほうがいいけど
0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG教えてください、お願いします _no
ちなみに、コンソールアプリケーションでやっています
0942デフォルトの名無しさん
NGNGprogram ps1(input,output);
var m,n:rear;
begin
readln(m);
n:=m+1
writeln(n);
end.
超初心者でゴメンナサイ _no
ちなみにDelphi6 Personalを使用しています
0943デフォルトの名無しさん
NGNG{$APPTYPE CONSOLE} //This tells the compiler that the program is a console type
uses
SysUtils;
begin
//Insert super cool Delphi Code here
end.
0944デフォルトの名無しさん
NGNGこれはおかしい。こんな感じ。
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
var m,n:real;
begin
readln(m);
n:=m+1;
writeln(n);
end.
0945デフォルトの名無しさん
NGNG無茶苦茶クラシックなPascalだな。
とりあえずここだけ
>program ps1;
に変えとけばいいよ。
0946デフォルトの名無しさん
NGNG{$APPTYPE CONSOLE}
uses SysUtils;
var m,n:real;
begin
readln(m);
n:=m+1;
writeln(n);
readln;// これ付けるとみやすいかも
end.
0947941
NGNGいまからまたやってみます、ありがとうございます
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG知る方法はなにかないでしょうか?
0950デフォルトの名無しさん
NGNGTStringList
0951デフォルトの名無しさん
NGNGTStringListに読み込んだらどうよ?
もしくはStreamに落として改行コードの数を数えるとか
0953デフォルトの名無しさん
NGNGやっぱり英語読めないとだめですよね。
たとえば>>946の英語って読めますか?
0954デフォルトの名無しさん
NGNG読めね
でもDelphi起動
そしてあなたも今日からDelphi起動
0955デフォルトの名無しさん
NGNG英語が読めなくてもプログラミングはできる。
英語ができないと困るのは日本語訳されてない資料を読むときぐらい。
0957デフォルトの名無しさん
NGNG100Mのファイルを全部一度に読み込むのはメモリの無駄だろ。
AssignFile, Reset, Eof, Readln使っとけ。
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG100Mってどこに出てきた? 何メガならメモリの無駄じゃないの?
実行スピードはどうなの?
0960デフォルトの名無しさん
NGNG環境ホルモンの影響なんだろうか??
0961デフォルトの名無しさん
NGNGstream使うとどうなるのでつか?
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGif str = 'にい' then result := 2 else
if str = 'さん' then result := 3 else
・・(略)
if str = 'じゅう' then result := 10;
をもっとうまく書く方法ってありますか?
0964デフォルトの名無しさん
NGNG1文字をだして
数値にかえるにはどうしたらいいでしょうか?
n:=Ord(Copy(FileList[0],1,1));
「互換性のない型です」とエラーがでるのですが・・・
0965デフォルトの名無しさん
NGNG面倒だから「さん」まで
function HiraToNum(s:string):integer;
const
numstr : array[0..2] of string = ('いち','にい','さん');
var
i:integer;
begin
i := -1;
repeat
inc(i)
until (i>High(numstr)) or (numstr[i] = s);
if (i>High(numstr)) then result := -1 else result := i+1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(HiraToNum('にい'));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(HiraToNum('にい'));
end;
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGs := '123';
なら s[2] は '2' の Char 型と互換
0969デフォルトの名無しさん
NGNG>>963とは同一?
別人ならOrdをStrToIntに。
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNGfunction HiraToNum(const Hira: string): Integer;
var
HiraStrings: TStringList;
begin
HiraStrings := TStringList.Create;
try
HiraStrings.Text := 'いち'#13#10'にい'#13#10'さん';
Result := HiraStrings.IndexOf(Hira);
if Result >= 0 then Inc(Result);
finally
HiraStrings.Free;
end;
end;
0972デフォルトの名無しさん
NGNGいいアイデアだ。
それを見てこんなのも思いついた。
procedure TForm1.Button1Click(Sender: TObject);
var
SL : TStringList;
begin
SL := TStringList.Create;
try
SL.Add('ぜろ=0');
SL.Add('れい=0');
SL.Add('いち=1');
SL.Add('にい=2');
SL.Add('さん=3');
Label1.Caption := (SL.Values[Edit1.Text]);
finally
SL.Free;
end;
end;
SL.Addの部分を外部に用意したファイルをLoadFromFileで読み込むようにすれば手間も省けるし
「ぜろ」と「れい」で同じ値を返せたりと応用もきく。
0973デフォルトの名無しさん
NGNGCopy()で取得したものからOrdをとる方法はないものでしょうか?
0974デフォルトの名無しさん
NGNGちゃんとレス読んでるか?
直接とろうと思ってるなら無理。
理由は967の言うとおりCopyの返り値はString型だから。
str := Copy('もげもげ',1,1);
n := Ord(str[1]);
あたりが妥協策だろ。
0975デフォルトの名無しさん
NGNGなるほど わかりました
ありがとうございました
0976デフォルトの名無しさん
NGNGresult := AnsiIndexStr(str, ['ぜろ', 'いち', 'にい', 'さん']);
0977デフォルトの名無しさん
NGNGこんな関数があるとは知らなかった・・。
0978デフォルトの名無しさん
NGNGJpeg.LoadFromFile(FileListBox1.Items[STrToInt(Label1.Caption) -1]) ;
PaintBox1.Canvas.StretchDraw(Rect(0, 0, 400, 600), Jpeg);
PaintBoxにJpgファイルを表示させているのですがウィンドウ上に他のウィンドウが重なってしまうとJpg画像が消えてしまい再表示されませんよね?
この回避方法があるんでしたら教えてください。
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGPaintBox でやるなら、OnPaint で描画するが、予めビットマップに変換しておく
ことを推奨
0981デフォルトの名無しさん
NGNGTForm1.activeみたいなかんじのがある?
0982デフォルトの名無しさん
NGNG意味がよく分からない。条件って何?
どんなときに呼び出されるか、ということなら再描画が必要なときに呼び出される
0983デフォルトの名無しさん
NGNG意味がわからない。
他のウィンドウが重なって消えた部分が
他のウィンドウより上に来たとき(消えた部分が再表示される必要が来たとき)に
Windowsから再描画しなさいというメッセージが発行される。
アプリケーションがそのメッセージを受け取ったとき
OnPaintイベントハンドラが呼び出される。
だからOnPaintイベントハンドラにどう再描画するかを記述しておく。
0984デフォルトの名無しさん
NGNGどんなときに最描写するか ではなく 最描写が必要なときにはどうするかという処理だったのですね。
ありがとうございました。
0985デフォルトの名無しさん
NGNG> uses
> Jpeg;
>
> procedure TForm1.FormCreate(Sender: TObject);
> var
> jpg:TJpegImage;
> begin
> bmp := TBitmap.Create;
> jpg := TJpegImage.Create;
> try
> jpg.LoadFromFile('C:\Test.jpg');
> bmp.assign(jpg);
> finally
> jpg.Free;
> end;
> end;
>
> procedure TForm1.FormDestroy(Sender: TObject);
> begin
> bmp.Free;
> end;
>
> procedure TForm1.PaintBox1Paint(Sender: TObject);
> begin
> if Assigned(bmp) then PaintBox1.Canvas.Draw(0,0,bmp);
> end;
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNGあなたのアナルをアナライズ
0988930
NGNGああっ。すいません。
はい、解析を訳して
AnalyzeTextModeとしました。Interpretも候補に挙がったけどアナライズの方がいいかなと。
目に留めていただきありがとうございました。
0989デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNGてっきりC++かと。
0994デフォルトの名無しさん
NGNGOpenJane
0995そろそろ埋めレスしていいのか?
NGNG0996デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1085239007/
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。