くだすれDelphi(超初心者向け) Part2
レス数が1000を超えています。これ以上書き込みはできません。
0001毛の生えたフサギコ
NGNG他のスレッドでは書き込めない超低レベル、もしくは質問者自身何が何だが
分からない質問を勇気を持って書き込むスレッドです。
Delhi使いが優しくコメントを返しますが、お礼はDelhiの布教と初心者の
救済をお願いします。
0002デフォルトの名無しさん
NGNG0003毛の生えたフサギコ
NGNGくだすれDelphi(超初心者向け)
http://pc2.2ch.net/test/read.cgi/tech/1051882835/l50
0004デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0006毛の生えたフサギコ(実はブリーフ)
NGNGDelスレが荒れていたから短期緊急避難スレとして「くだスレ」作ったんだけど、
荒れが収まったから「相談室」に戻った方がよかったんだけど・・・。
Delphiの綴りの間違いまでコピーしちゃいやん。
私もおとといDel7パーソナルを買いました。Del6プロと共存させています。
IDEのアイコンのデザインがXPライクでいやん。
2000ユーザなら違和感ありまくり。
0007デフォルトの名無しさん
NGNG技術屋に投資するくらいなら営業に投資した方が利益につながる。
プログラマーには余計な知恵は無い方がいいんだよ。
0008デフォルトの名無しさん
NGNG技術レベルも中途半端、開発者人口も少ない。
これではビジネスにはならないわな。
やっぱり趣味専用だわ。
0009デフォルトの名無しさん
NGNG0010seven
NGNG0011デフォルトの名無しさん
NGNGSystem32にあるBPLを「コンポーネントのインストールで」開こうとしても
エラーが出ます。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG細かなアドレス差を吸収するようなトランスレータ作らないと無理でしょ。
0014デフォルトの名無しさん
NGNG無駄なことに時間を使わないように。
インストールしたいコンポーネントのソースを手に入れるか、そんなコンポは使わない。
それが Turbo-PASCAL 時代からの Borland の文化。
「オープンソース」以前からソース公開しないと生き残れなかったのだ。
0015デフォルトの名無しさん
NGNG↑ここの「02/11 API を使って縦書きなどのフォントを指定する」を入力してみたけど
文字化けで日本語が記号になってしまう・・・。
どなたかDelphi6personalで縦書き日本語文字の表示方法教えて下さい。
0016デフォルトの名無しさん
NGNGだからどのフォントを指定したのよ?フォント名は正確に指定しないと
意味無いぞ。
0017デフォルトの名無しさん
NGNGlbl.lfCharSet := SHIFTJIS_CHARSET;
これを追加しなさい
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/
Delphi-ML過去ログ & Tips
http://www2.big.or.jp/~osamu/Delphi/
Delphian World (コンポーネント集)
http://home1.infonia.ne.jp/~delphian/delphi/
FDELPHI (ライブラリ、FAQ)
http://forum.nifty.com/fdelphi/
Delphi6の環境設定
http://hp.vector.co.jp/authors/VA028375/contents/Delphi_setup.html
フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/
Delphi プログラミング事始め
http://www2s.biglobe.ne.jp/~hatena/delphi/index.html
0020デフォルトの名無しさん
NGNG正しいフォント名(厳密にはフォントファミリ名)に @ をつけたものを lfFaceName に指定。
かつ lfCharSet を SHIFTJIS_CHARSET に指定。
ですね。
過去ログは、それがかかれた時点での情報であることを忘れずに。
メンテナンスされない過去ログは、ログがないより悪影響。
0021デフォルトの名無しさん
NGNG∧,,∧ /
ミ,,゜Д゜彡 < IDEの機能使ってヨシ。
ミ⊃ ミ⊃ \____________
〜ミ ミ [ツール]-[ツールの設定]でダイアログを開き
∪''∪ [追加]で、ツールプロパティダイアログを開き
[タイトル] 好きな名前を付ける
[プログラム] エディタのExeをフルパスで指定
[作業フォルダ] 設定しなくてよい
[実行時引数]
$EDNAME
(EmEditorの場合、行番号も引数に渡す) /l $ROW $EDNAME
◎
◎応用してIDEで開いているファイルのひとつ上のフォルダを開くヤツ。かなり便利。
◎
[タイトル] 好きな名前を付ける
[プログラム]
エクスプローラを指定、以下のどの指定方法でもOK
explorer
explorer.exe
C:\WINNT\explorer.exe
[作業フォルダ] 設定しなくてよい
[実行時引数]
■現在開いているファイルのフォルダを普通に開く
$PATH($EDNAME)
□現在開いているファイルのフォルダをエクスプローラで開く
"/n", "/e", $PATH($EDNAME)
■プロジェクトフォルダを普通に開く
$PATH($EXENAME)
□プロジェクトフォルダをエクスプローラで開く
"/n", "/e", $PATH($EXENAME)
0022デフォルトの名無しさん
NGNG具体的には、fsNormalからfsStayOnTopにする時、また、その逆の時にチラチラするんです。
0023デフォルトの名無しさん
NGNGFormStyle を変更しない。ってのが答えかな?
0024デフォルトの名無しさん
NGNGfsStayOnTop にするには
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
fsNormal に戻すコードは、自分で調べてくだされ。SetWindowPos を調べれば(日本語で)資料が出てくるから
引数を調整してごらん。HWND_TOPMOST あたりが鍵
ただし、これをやると、Form 自身の設定とずれるので、注意すること。
0025デフォルトの名無しさん
NGNGこれはバグの類とは違いますか?
0026デフォルトの名無しさん
NGNGとても親切に、ありがとうございます。
助かります。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGそれはWindowsの制限なのです。
WNDCLASS構造体 を変更しなければならないようなプロパティの変更があると、
一度 窓をWindowsに返却して、 RegisterClass/CreateWindowをやり直さなければいけません。
0031デフォルトの名無しさん
NGNG時々固まって動かなくなる。
多分パーソナルでは使えない機能を利用したからなんだろうけど
使えないなら使えないでダイアログ出すとかして欲しいな。
いきなり固まるのは・・・。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG開くことは出来るのですが、ネット上のソースファイルなどを開くにはどうすればいいか
教えてください。たとえば
http://i.2ch.net/2chi.html
のソースをTstringsに読み込むにはどうすればいいのでしょうか。
よろしくお願いします。
0034デフォルトの名無しさん
NGNG真田 薫 (著)」
ってどないですか?
知り合いがDelphi始めるのに本探しているのですが、この本比較的新しい
ようなので、Amazonにもコメントがありません。
スレ違い等有りましたら、指摘お願いします。
0035デフォルトの名無しさん
NGNG拡張子変えて読み込めばいいんじゃないか?
ChangeFileExt
0036毛の生えたブリーフ
NGNG自分には読みにくいと思いました。(最初から読んでいくと)
文法を最初から説明する本ではなく。Delphi&Kylixの使い方を
最初から説明する体裁の本です。ですから、文法のみを最初から(トークンからとか)
理解しようと思って1ページから読んでいくと話題があちこちに飛んで
わかりにくいと思います。
ただ、標準添付の言語ガイドをもうすこし砕けた表現で説明してあるので
持っていて損はないとおもいます。
0037毛の生えたブリーフ
NGNGまったくの初心者なら、ナツメ社からでている塚越氏のKylix本が
いいかもしれません。Delphi入門にも使えます。
0038毛の生えたブリーフ
NGNGつーか、この本は以前、技術評論社からでていた「はじめてのDelphi」と
ほとんど同じ内容です。さーっと読めて概要が短時間で把握できます。
0039毛の生えたブリーフ
NGNG朝日コミュニケーションズ発行の「Delphiパーソナルプログラミング」(掌田氏)
に少し説明があります。この本はコーディングが少しマニアックと思いますし、
用語の使い方が少し変な気がしますが、読んでいて面白かったです。
2冊目の書籍として推薦します。
0040デフォルトの名無しさん
NGNGSenderって何ですか?
0041デフォルトの名無しさん
NGNGこちらで質問よろしいでしょうか。バージョンは6のパーソナル版つかってます。
TMediaPlayerを使って
MediaPlayer.FileName := (Format('sound\\bg%.2d.mp3', [fn]));
MediaPlayer.Open;
MediaPlayer.Play;
このようにsoundフォルダを置いて、内部のMP3ファイルを再生しようとしています。
私のパソコンでは問題なく動いたので、友達のvaioで試してもらったところ
「MMSYSTEM275指定したファイルが見つかりません」
というエラーがでて音がならなくなってしまうとのことです。
どなたか原因と解決方法が分かる方はいらっしゃるでしょうか。
なにとぞお願いいたします。
0042デフォルトの名無しさん
NGNGググッたらいっぱい出てくるんですけど・・・。
http://www.google.co.jp/search?q=cache:sjDK8J3KKQsJ:homepage3.nifty.com/flare/pc/bcb/data/069.html
+MMSYSTEM275+%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93&hl=ja&ie=UTF-8
長すぎるので途中で折り返したが、ほんとうは一行で。
004342
NGNG「MMSYSTEM275指定したファイルが見つかりません」 でぐぐれ。
0044毛の生えたフサギコ
NGNGイベントハンドラを記述するとき、パラメータとして与えるTObject型の変数。
例えば、Form1にButton1があったとして、Button1をクリックするとOnClickという
イベントが発生します。このイベントに呼応するために、アプリケーション(この場合は
Form1オブジェクト)はイベントハンドラを呼び出しますが、どのオブジェクトからメッセージが
アプリケーションへ送られてきたかを識別するためにパラメータとして、イベントハンドラの
引数に(Sender:TObject)を記述して、具体的にはSenderにButton1のポインタが代入されます。
厳密にいうと少しおかしいです。誰か補足キボン
0045デフォルトの名無しさん
NGNGその機能拡張を、そのクラス自身を拡張してではなく、相手のクラスに任せてしまおうというもの。
任された相手のクラスは、誰からイベントが送られて来たか判らないといけない。
だからイベントには送り手情報が必要となって、第一引数はたいてい Senderだ。
Senderは送り手の型の方が良いか TObjectが良いかは難しい問題だ。
Sendeを送り手の型にした場合、ボタンを押した場合もメニューで選択した場合も同じ処理をさせたい場合に
逆に困ってしまう。 だから一般的な引数の少ないイベントは Senderはクラスの総親であるTObjectにする。
だけで、引数が複雑な、そのオブジェクトにしか使われないイベントについては、そのオブジェクト型にする。
0046デフォルトの名無しさん
NGNGIndy使えばいいんでない
http://www.nevrona.com/Indy/
IdHttp1.Get('http://i.2ch.net/2chi.html');
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0049デフォルトの名無しくん
NGNGレスありがとうございます。
「Delphi始める」は間違いで、「プログラミング始める」でした。
ですので、Delphi/KylixのIDEの使い方も書いてる方がイイです。
>>37
当の本人が実は多少廚入っているので(^_^;;)、たぶんWindowsを
前提にした本で取っ掛かりを作った方がイイと思っています。
>>38
「はじめてのDelphi」、amazonで見てみたところ、一応好意的な
評がついてました−1人だけですが(^_^;;)
>>36
「・・・持っていて損はない・・・」
よくわかりました。
全くの初心者の、1冊目として「悪い」本ではないのがわかればOKです。
ありがとうございました。
0050デフォルトの名無しさん
NGNG別のユニットファイルに書いた方がいいってことですか?
0051デフォルトの名無しさん
NGNGTreeView2のNode2-3を下位ノードごとTreeView1のNode1-5の次
(コードで書くとTreeView1.Items.Add(nil, 'Node2-3')の箇所)に追加したいのですが
どのようにしたらよいのでしょうか?
TreeView1.Items.Assign(TreeView2.Items);だと全部変わってしまうし
一つ一つaddしてくしかないのでしょうか?
TreeView1のアイテム
Node1-1
├Node1-2
│└Node1-3
├Node1-4
Node1-5
TreeView2のアイテム
Node2-1
Node2-2
Node2-3
└Node2-4
└Node2-5
005251
NGNGどなたか知恵をおかしください。
TreeView1のアイテム
Node1-1
├Node1-2
│└Node1-3
├Node1-4
Node1-5
Node2-3
└Node2-4
└Node2-5
0053デフォルトの名無しさん
NGNGそれしかない。とおもった。
move みたいな関数を一度作ってしまえばよいのではないかな?
0054デフォルトの名無しさん
NGNGが使えないかな?
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG拡張子をかえるというのは一度保存してから拡張子を変えて改めて
HD上から読み込むということでしょうか?
でもその一度保存するのもどうすればいいかわかりません。。ブラウザで読み込んで、
そのキャッシュをTstringsで読み込むとかならできるみたいなんですけど、
できればネット上から直接ひらくみたいな感じでやりたいのです。
>>46
ありがとうございます。早速落としてみました。
難しそうですけど何とか使えるように頑張ります。
よろしければIndyを日本語で解説しているサイトなどあれば教えていただけませんか。
もし無ければ自力でがんばってみます。とりあえずありがとうございました。
005733
NGNG何度見ただろう?「indyを日本語で解説してるサイトはありませんか?」って…。
多分無いんじゃないの?
wininet使うってのは?何度かdelphiスレ(どこか忘れた(藁)で勧めたけど
食いつきが悪い…。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/del7docup.html
0063デフォルトの名無しさん
NGNG独習するなら
どのテキストがお奨めですか?
取りあえずスクリーン・セーバーを作って
最終的にはデータベースをなんて
考えているのですが。
0064デフォルトの名無しさん
NGNGフリーメールではダメなんですか?
0065デフォルトの名無しさん
NGNGダメじゃない。Hotmailでいけたよ。
0066毛の生えたフサギコ
NGNG記述してあるのは、「基礎からのDelphi6」(三原幸一)<秀和システム>です。
一番入門本として入手しやすいでしょう。
しかし、説明が一部はしょった部分が目立ちます。4,5、6ともっていますが、
どれも中身はほとんど一緒です。データベース部分は本当に基礎的な解説が
書いているので知識ゼロ(データベースって何?)の人には重宝します。
0067デフォルトの名無しさん
NGNG順番が逆かも知れない
DelphiのありがたみはDBをやると良く分かる
コードを1行も書かずにデータを読み書きできるアプリを作ることも可能だよ
0068毛の生えたフサギコ
NGNG最終的には海外の翻訳本に手を出すことになるでしょう。
高いけど、現在入手可能な翻訳本はハズレがないような気がします。
0069デフォルトの名無しさん
NGNG戻り値をどう設定すれば良いか解かりません。また、この方法でよいのでしょうか?
function GetServerTime:TDateTime;
var
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
timeServer : string;
begin
GetStartupInfo(StartupInfo);
StartupInfo.wShowWindow := SW_HIDE;
timeServer := '\\サーバー名';
CreateProcess('c:\WINNT\systw32\net.exe',
PChar('c:\WINNT\system32\net.exe time ' + timeServer + ' /SET /YES'),nil,nil,
False,0,nil,nil,StartupInfo,ProcessInfo);
while WaitForSingleObject(ProcessInfo.hProcess, 0) = WAIT_TIMEOUT do
begin
Application.ProcessMessages;
end;
end;
0070デフォルトの名無しさん
NGNGこれはどういう仕組みですか?
また、RealPlayerやQuickTimeのメディアもActiveXを使わずに再生できるのですか?
0071デフォルトの名無しさん
NGNGQuickTimeはWindows用SDKがあるからそれ使えばActiveX無しで再生できる。
ただC前提だからそのままDelで使えるかは知らん。
0072デフォルトの名無しさん
NGNGありがとうございます。
とりあえず、週末に八重洲のブックセンターに行って来ます。
0073デフォルトの名無しさん
NGNG元々 multimedia API ってのがあった。それをつかっているだけ。
しりたければ WIn32 API のマルチメディア関係を。Win3.1 - Win95 のころの話だから
図書館/古本屋で資料を漁れば日本語でも出てくるだろう。
けど動画の編集とかが Windows でできるとは誰も思っていなかった時代の API だから、
そういったことはできない。そのばあいは、より最近の API / COM インターフェースを使うことになる。
とんでもなく古いけど
ttp://homepage1.nifty.com/cosmic/delphi/tips_graphic.html#activemovie
あと、google で探せば、Delphi 用 QuickTime インターフェース実装はすぐ見つかるよ
0074デフォルトの名無しさん
NGNGその方法でやるなら、今度は 無名パイプ 名前なしパイプ CreatePipe などで検索する必要があるでしょう。
あと /SET だと 取得すると同時に時間を同期してしまうけど、それでいいの?
0075デフォルトの名無しさん
NGNGIndyを使って SNTP サーバから時間を貰ってくる例;
function GetSNTP(server:string):TDateTime;
begin
with TidSNTP.Create(Self) do try
Host:=server;
Port:=123;
Result:=DateTime;
finally free;end;
end;
例:
Self.Caption:=
FormatDateTime('YY/MM/DD HH:MM:SS',GetSNTP('clock.nc.fukuoka-u.ac.jp'));
0076デフォルトの名無しさん
NGNG他のPCの時刻を参照するのなら作ったことある。
NetRemoteTODで検索してみそ。
0077デフォルトの名無しさん
NGNGというようにパスを指定して外部アプリケーションを起動すると
いっきにメモリリソースを消費してしまいます。
だいたい3M→6Mといったように跳ね上がってしまいます。
何か他にいい外部アプリケーションを起動方法や、
メモリリソースの消費を少なくできる方法を
ご存じありませんか?
もしご存じでしたら、どうか教えて下さい。
0078デフォルトの名無しさん
NGNG下のやり方で実行時に「EAccessViolationクラスの例外を生成しました」
というエラーがでます。
procedure TForm1.Button1Click(Sender: TObject);
var
NewItem1, NewItem2, Menu1 : TMenuItem;
begin
NewItem1 := TMenuItem.Create(Self);
NewItem1.Caption := 'Test';
NewItem1.Name := 'Menu1';
PopupMenu1.Items.Add(NewItem1);
NewItem2 := TmenuItem.Create(Self);
NewItem2.Caption := 'Test';
Menu1.Insert(0,NewITem2);
end;
適切なやり方を教えてもらえないでしょうか。お願いします。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGソースを貼れぃ
0081デフォルトの名無しさん
NGNG勘でレス。
> Menu1.Insert(0,NewITem2);
Menu1 って誰か設定してるのか ?
0082デフォルトの名無しさん
NGNGやはりこれはDelphiの限界ですか?
0083デフォルトの名無しさん
NGNG008477
NGNGかなり悩んでます。
0085デフォルトの名無しさん
NGNGいま放送大学やってるけど、Delphi使ってるよ(w
0086デフォルトの名無しさん
NGNG放送大学、火曜深夜1:15〜2:00「プログラミング入門」
ってDelphiだね
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG多分 CreateProcess を使えばよいかと。google でひけば幾らでも使い方は見つかるだろう。
ただし、ShellExecute が提供する便利な部分、拡張子からアプリケーションの関連付けとか
はサポートされない。
Shell 関数は便利な分、余計なライブラリを使ってしまう。ってこと。
ただ、3M くらい気にしない。ってほうが良くないか?
見かけの数値にだまされないようにね。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGDelphi6でコントロールをXPStyleにする方法は
わかってるのですが
TActionMainMenuBarのメニューの表示を
Delphi7の様なXPStyleにする方法はありますか?
フリーのコンポーネントで実現できればそれが一番なのですが・・・
0091デフォルトの名無しさん
NGNGOwnerDrawすれば、なんでもありだけど、フリーの日本語対応コンポなんて、あるのかなー
0092超絶初心者
NGNGButton1のイベントハンドラはTForm1のメソッドとして定義されるのですが、
なぜ、TButtonからButton1を派生したとき、TButton1のメソッドとして
定義しないのですか? たまたまIDEがそんな仕様を選んでいるのですか?
フォームのメソッドとして定義したほうが合理的なんですか?
0093デフォルトの名無しさん
NGNGDelphi式のRADではTButtonからTButton1は派生していません。
Button1はTButtonのインスタンスを示す参照です。
イベントの化わりに、TButtonからTButton1を派生してメソッドを定義する方法のRADもありえるでしょうが
その仕掛けは非常に複雑になるように思います。
0094超絶初心者
NGNGDelphiの場合、コンストラクタ、デストラクタのメソッドは
「Create」、「Destroy」ですが、FormやForm上に配置したコンポーネントの
生成と破棄は、あらためて記述しなくてもいいようです。これらのメソッドは
どこで自動的に呼び出されているのですか?
0095デフォルトの名無しさん
NGNG.dfmがコンパイル時にリソースに組み込まれています。
一方publishedプロパティも実行ファイルにその情報が入っています。
FormのCreate時、このdfmからpublishedプロパティを検索しては作成してゆくわけです。
0096超絶初心者
NGNGでは、プロジェクトファイルの
Application.CreateForm(TForm1, Form1);
って、内部的にはコンストラクタを呼び出しているわけではないのですね。
0097デフォルトの名無しさん
NGNGいいえ、内部的にコンストラクタを呼んでいますよ。
ただし、コンストラクタをコンストラクではなくメソッドの格好で呼んでいるので判り難いと思います。
Pro版ならソースを追いかけてみるといいでしょう。
メモリを確保してから、 Instance.Create(Self); とメソッドの格好で呼んでいます。
Instance.Create(Self) の中で InitInheritedComponent を呼ぶと、dfmにあるコンポーネントが構築される仕掛けです
0098デフォルトの名無しさん
NGNGレス有難う御座います。今からやってみます。
0099デフォルトの名無しさん
NGNGopenの代わりにexplore
0100デフォルトの名無しさん
NGNGDelphi7は既にもっているので
それを素直に使うのがよいのですが
Delphi6のヘルプの使いやすさやIDEが若干Delphi7よりも軽快
なのが気に入っているので、この質問をしました
昔、海外のサイトで見かけたような気がしたのですが
昨晩からずっと検索してますが見つからない・・・
0101デフォルトの名無しさん
NGNGD6のヘルプが使い易いならD6のヘルプをD7にコピーすればいいじゃない。
IDEが重いのはたぶんコンポーネントを全部組み込んでるからだと思うよ。
不要なのを取り外したら?
0102デフォルトの名無しさん
NGNGそれが「仮想コンストラクタ」です。Delphi の言語仕様上もっとも重要なもの。
0103デフォルトの名無しさん
NGNGマウスが載ったときにポップアップヒントを表示させるには
どうしたらよいのでしょうか?
0104デフォルトの名無しさん
NGNG定期的にタイマーでマウスを監視するとか
0105デフォルトの名無しさん
NGNGGetCursorPosなどで座標をとってってことですかね?
そうしたらTPointの座標からコンポーネントとかを求める関数とかってあるのでしょうか?
0106デフォルトの名無しさん
NGNGそれは任意のアプリ?あなたが作ったアプリ?
>マウスが載ったときにポップアップヒントを表示させる
ポップアップはアクティブではないアプリ上で?
そのときの文字列はどちら/誰が保持しているの?
0107デフォルトの名無しさん
NGNG胸にときめくものを感じて僕はおもわず上げてみた。
0108103
NGNG>それは任意のアプリ?あなたが作ったアプリ?
自分で作ったアプリです。
>ポップアップはアクティブではないアプリ上で?
>そのときの文字列はどちら/誰が保持しているの?
はい、アクティブでないアプリ上です。
文字列はマウスカーソル下のコンポーネントがそれぞれ保持してる場合と、
Application.OnShowHintでツリービューのノードごとのTTreeNode.Dataに基づいて
それぞれヒントを出します。
0109デフォルトの名無しさん
NGNGprocedure TApplication.ActivateHint
をコピペして
procedure TApplication.ActivateHintnotForregrand
ッて名前にして
and ForegroundTask
って部分を探してコメントアウトしてしまいなさい。
そしてタイマーで
procedure TForm1.Timer1Timer(Sender: TObject);
var CursorPos: TPoint;
begin GetCursorPos(CursorPos);
Application..ActivateHintnotForregrand(CursorPos);
end;
てやればどうだ?
0110103
NGNGレスどうもです。
これはFormsのTApplicationクラスの
procedure TApplication.ActivateHint メソッドを
まるまるコピーして、新しくand ForegroundTask を削除した
procedure TApplication.ActivateHintnotForregrand メソッドを
作成するってことですか?
また、それはどこに書けば良いのでしょうか?Forms内に書くの?
0111デフォルトの名無しさん
NGNGとりあえず Forms 内に書いて試して、動作がOKなら、そこから考えてみたらどう?
0112デフォルトの名無しさん
NGNGEUCやUnicodeを扱う(表示する)にはどうすれば良いのでしょうか
0113103
NGNGForms 内のTApplicationのpublicに
procedure ActivateHintnotForregrand (CursorPos: TPoint);
を追加して、実相部に
procedure TApplication.ActivateHint(CursorPos: TPoint);を
まるまるコピーして
procedure TApplication.ActivateHintnotForregrand(CursorPos: TPoint);
にしてand ForegroundTask をコメントアウトして>>109のを
実行しようとしたのですがャ'未定義の識別子'ってでてしまう・・・
Formsに書くだけじゃだめなのでしょうか?
ところで、いままでやったことなかったのですがVCLって書き換えて良いの?
今回はテストだけど、ちょっと変更したいなって時とか。
0114デフォルトの名無しさん
NGNG.DPR ファイルの uses Forms でパスを指定するか
これを消して、Forms を プロジェクトに追加してから、
再構成する必要があります。
0115デフォルトの名無しさん
NGNGUnicode は WideString と UCS2 という意味でほぼ同一。
Shift-JIS との暗黙の変換がとても便利。
UTF8 に関しては上のほうに記述があったと思うが、専用の変換関数がある。
EUC を直接作成/変換/文字操作するライブラリは用意されていない。
Windows だからね。MultiByteTOWideString で WideString/UNICODE に変換してから
作業するほうが、遠回りのようで確実。
0116デフォルトの名無しさん
NGNG>VCLって書き換えて良いの?
良いです。ライブラリを変更、流用すること、そうやって作ったバイナリを配布、商用利用することが
許されています。あなたが書き換えた部分に関しては公開してもかまわない。
逆に、あなたの修正コードが入っているからといって、VCL コード丸ごと公開は不可。
他人のソースは他人の物なのだから。ここらへんは常識の範囲で。
必要に応じてどんどん書き換えていくのが吉。
あまり変えすぎると他人のコンポーネントが動かなくなるけどね。
011878
NGNGレスありがとうございます。
>Menu1 って誰か設定してるのか ?
PopupMenu1のMenu1であることを明記しろ、という意味でしょうか?
http://forum.nifty.com/fdelphi/faq/00138.htm
ここをみながらやってたんですけど、Menu1だけしか書かれておらず
またサブメニューを作らなければ実際問題なかったです。
0119デフォルトの名無しさん
NGNGほら
var
NewItem1, NewItem2, Menu1 : TMenuItem;
って自分でローカル変数として定義してるじゃないの。
たぶん TForm1のメンバにもMenu1があってそっちを参照するつもりだったんでしょ?
012077
NGNG>>99
レスありがとうございます。
CreateProcessで解決しました。
var
SI: TStartupInfo;
PI: TProcessInformation;
begin
GetStartupInfo(SI);
CreateProcess(nil,PChar(パス), nil , nil, false,0,nil,nil,SI,PI)
end;
012178
NGNGFAQを見ながらやったのでごっちゃになってました。
設計時にMenu1を生成した場合だとTypeのところで宣言されますが、
後から生成したので、未定義ですと叱られたのでその場しのぎ的に書いたものでした。
まだDelphi始めたばかりで、変数を定義する場所がよく分からず、適当に決めてるんですけど
この場合はTypeで宣言しないといけませんか?
自分なりに調べてみてポインタとやらが関係しているとおもったのですが、
とりあえず宣言場所変えてやってみます。
0122デフォルトの名無しさん
NGNG×Menu1.Insert(0,NewITem2);
○NewItem1 .Insert(0,NewITem2);
としたかったんじゃないのか?
012433
NGNGよく調べずに質問してしまったためindyのヘルプがあることを知らずに
質問してしまいました。どうもすいません。
何とかネット上から直接ソースを開けるようになりました。
遅くなりましたがヘルプの場所まで張っていただいてどうもありがとうございました。
0125デフォルトの名無しさん
NGNGexeファイルじゃなくなってるし。一瞬手動かとおもた。
0126デフォルトの名無しさん
NGNGメモリをたくさん使ったほうが実行速度が早くなるんですか?
省メモリ設計だと実行速度を犠牲にしてるということですか?
0127デフォルトの名無しさん
NGNGもう使えないんでしょうか?
文字コード変換の定番ソースコードってjconvert.pas以外に何かありますか?
0128デフォルトの名無しさん
NGNG例えば
s1 := 'abc';
s2 := '123abc456';
if compstr(s1,s2) then begin//s2にs1の内容が含まれていれば通る
//処理
end;
のような事が出来るcompstr関数はありませんか?
0129デフォルトの名無しさん
NGNGpos じゃあかんの?
0130デフォルトの名無しさん
NGNGhttp://home1.infonia.ne.jp/~delphian/delphi/
Miscellaneousのとこにあるよ。
0132デフォルトの名無しさん
NGNGえっと、そこのはもうすでにリンク切れなんで質問したんですけど?
0133デフォルトの名無しさん
NGNGリンク切れだったぞ
>>127
InternetArchive
http://web.archive.org/web/*/http://www.os.rim.or.jp/~ikeda/SOFTWARE/lib/jconvert.lzh
0134132
NGNGでした
0135デフォルトの名無しさん
NGNG作者のページが消滅してしまっているんで
きちんと作者が公開しているソースがあると
安心なんですが・・・
0136デフォルトの名無しさん
NGNGブチ殺すぞ
0137デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG/ ,,-‐―、ヽヽヽヽ
〔/ ))))ヾヽヽ
/.,,,,、、 ,ヽξ\Ξ/
/ ==/ .,==- レi!
〔、 ,(_,、ノ( "",,ノ:: 6) 2chを代表する美形固定のヲレサマになにか用か?(@w荒
λ:" ‐=‐^ン ...::::: |/
λ:::::. .::.. ::...::::::/ λ
\::::::::::::::// . λ、
 ̄| ̄ /~~ ̄⌒\
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNGこのテキストファイルを画面上開かずに
orldと書き込んで保存する
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/Milano-Killer/8366/CompOJ.html
jconvert
http://www.geocities.co.jp/Milano-Killer/8366/jconvert.lzh
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGTStringListとか
0152デフォルトの名無しさん
NGNGD6でもStatusBarをXPスタイルに適応させたいのですが、どうしたらいいでしょうか?
manifestファイルを置いてもStatusBarだけ対応してくれません
0153デフォルトの名無しさん
NGNGDELPHIでVCLのソースコードを
ステップ実行することはできるのでしょうか?
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGXPスタイルに対応したコンポーネントを使うしかない
0156デフォルトの名無しさん
NGNG返答ありがとうございます
0157デフォルトの名無しさん
NGNGテンキューベリーマッチョ
0158デフォルトの名無しさん
NGNGprocedure TForm1.FormCreate(Sender: TObject);
var
F: TextFile;
begin
AssignFile(F, 'c:\hello.txt');
Rewrite(F);
Writeln(F, 'world');
CloseFile(F);
end;
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG書きたくなければ external 宣言した ユニットのinterface節で公開すればいい
0161デフォルトの名無しさん
NGNG定番ではないし、最近全くメンテしていないけどこんなんでよければドゾー
http://www.mars.dti.ne.jp/~b-guild/mailnews.html
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG経験2ヶ月弱です。
--------{unit1.pas}
procedure TForm1.Button1Click(Sender: TObject);
begin
TForm2.Create(self);
end;
--------{unit2.pas}
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ShowMessage('Form2を閉じます') ;
Action:=caFree;
end;
---------
Form2を表示させた状態でForm1(プログラム)
を終了させた場合に、Form2が表示されていることを
チェックして、表示していた場合 Form2の OnClose イベントを
実行させるためにはどうすればいいのでしょうか?
またForm2を表示させたままForm1(プログラム)を終了させた場合ちゃんとFREE
しているのでしょうか?
0164デフォルトの名無しさん
NGNGTForm2を変数に入れた良いと思うが一応これで。
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
I: Integer;
begin
I:=0;
while I<ComponentCount do
begin
if Components[I] is TForm2 then
begin
if TForm(Components[I]).Visible then
TForm(Components[I]).Close;
end;
Inc(I);
end;
end;
> またForm2を表示させたままForm1(プログラム)を終了させた場合ちゃんとFREEしているのでしょうか?
Freeされます。
0165163
NGNG0167デフォルトの名無しさん
NGNGきちがいの妄言は無視無視。
0168デフォルトの名無しさん
NGNGすばらしいお言葉ありがとうございました。
0169デフォルトの名無しさん
NGNG貴方のレスのおかげでスレが3レス分無駄になりました。
0170デフォルトの名無しさん
NGNG貴方がレスしなければ2レス分ですんだのにね。
0171デフォルトの名無しさん
NGNGありが�d
0172デフォルトの名無しさん
NGNGご指摘ありがとうございますた。
0173デフォルトの名無しさん
NGNGhttp://www.delphi-gems.com/
0174デフォルトの名無しさん
NGNG「\1,000」と表示されるようにするにはどうすれば良いですか?
今は別に変数(value)を用意して
OnKeyDownで
value := 数字抽出関数(TEdit(sender).text);
TEdit(sender).text := formatfloat('\#,##0',Value);
とやっているのですがカーソルが左に移動してしまい、1,2,3と入力したら
「321」と表示されてしまいます。
宜しくお願いします。
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGhttp://s-rf9.free-city.net/page003.html
0177デフォルトの名無しさん
NGNGTEditを上位クラスに設定して、カスタムコンポーネントを作ればいい
そんなに難しくはないよ
0179デフォルトの名無しさん
NGNGそういわずにやってみ
思ったより簡単だぞ
0180デフォルトの名無しさん
NGNGTMaskEdit を使ってみるのはどうかな?と。
0181デフォルトの名無しさん
NGNGクローズ後のDLL内の処理で、呼び出し元のファイルを書き換えようとしても出来ません。
DLL内での処理が終わり、アプリに戻った時点でクローズされてるって事ですか?
だからファイルを掴んだままなのでしょうか?
0182174
NGNGコンポーネントはいくつか作った事があるのですが、
何かと面倒なんです。
(プロジェクトメンバー全員にインストールしてもらう必要があるとか)
>>180
TMaskEditの使い方を調べてみたのですが、
どうやれば>>174が出来るのか分かりませんでした。
0183デフォルトの名無しさん
NGNG数値と文字列の相互変換は省略。
TMaskEdit の EditMask プロパティを '\\9,999;0; ' に。
これで text プロパティに文字列 '1234' を書き込むと \1,234 と表示される。
編集後の値は同じく text プロパティを読めば、\ と , が取り除かれた文字列として
手に入る。
\ や , が入った、表示されているものと同じ文字列は EditText プロパティで。
0184デフォルトの名無しさん
NGNGWindows のバージョンで動作が変わるので気をつけて。
>呼び出したDLLの中で呼び出し元のアプリをクローズはできるんですが、
どうやって「クローズ」してるのかな?
アプリケーションとそれが自動的に読み込む DLL の羅列は WIndows のローダーが管理していますから
勝手に開放(クローズ)できません。排他読み込みをおこなっているはずなので
削除は不可能。
0185デフォルトの名無しさん
NGNGレスありがとうございます。諦めます。
0186デフォルトの名無しさん
NGNGシャットダウンとかの時に使うものだからあまりお勧めはしない。
MSDN を漁ってみること。
0188デフォルトの名無しさん
NGNG2ch回覧ツールとかを1から作れるようになるような
それぐらいの実力がつくお勧めのインターネット教えてください。
プログラムはやったこと無いですがやる気はあります。
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGとりあえず>>4の初心者向けのサイトでもまわっておいで
0191デフォルトの名無しさん
NGNGいきなりJane読むのはしんどいかもしれないから
簡単なカレンダーとかメモ帳とかメールチェッカーを
練習として作ってから挑戦したら?
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGさっそく190さんのところで時計が作れました。
OPENJaneっていうソースを見てみたのですが、
ファイルがいっぱいあってこれがコンポーネントという物だと思いますが。
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGインターネット≒ホームページ
となりました。
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG0201遅レス
NGNG0202デフォルトの名無しさん
NGNG手を抜くことを考えるプログラマはそれ以上に糞。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG自分でユニットファイルに書き込むのとではどちらがいいのでしょうか?
0205seven
NGNGどちらかが良い場合もそれぞれあるので、どちらでも可能になってるのでしょう。
D6からは、TFORMがテキストなので、テキスト保存の問題も、ほぼなくなりました。
まぁ、オブジェクトインスペクタ無しにDelphiは語れないかもです。
0206デフォルトの名無しさん
NGNG「楽をする事」の定義をちゃんとしないと揉める元だぞ。
0207デフォルトの名無しさん
NGNG自分だけで作る場合は、オブジェクトインスペクタで楽していいと思います。
共同開発の場合は、仕様書にオブジェクトインスペクタの値を書いておくことになるでしょう。
ユニットに直に書くのは、明示的にプロパティを書いておきたい、などの理由がない限りしなくていいと思います。
0208デフォルトの名無しさん
NGNG型を変換してから変数に格納しています。このとき、もし誤った値(型変換できない)が入ってきたら
判別できるようにしたいのですが、try節でミスが発生したというのはわかっても
どこで発生したか?というのがわかりません・・・。上手い方法はありませんか?
0209デフォルトの名無しさん
NGNGそれらが同じ種類のエラー文字列なら、今何処理中、みたいなのをStringに保持しとけ。
0210デフォルトの名無しさん
NGNGtryって例外があったら中断されるんですよね?
それなら、頭から順に今何を読んでいるのかを保持するようにしてみます。サンクス!
0211デフォルトの名無しさん
NGNGfunction MyStrToText(const FldName:string ; str:string):Integer;
begin
try
Result:=StrToInt(str);
except
on E:Exception; で FldNameと組み合わせたメッセージを追加して例外をもう一度投げる
end;
end;
ってやればいいと思うよ
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNGtry節をネストすれば良いだけの事
SL := TStringList.Create;
try
try
SL.LoadFromFile('D:\DATAFILE.DAT');
for I:=0 to SL.Count -1 do
begin
try
ConvertValue( StrToInt(SL[I]) );
except
PutError('変換エラー:'+IntToStr(I)+'行');
end;
end;
except;
PutError('致命的エラー発生');
end;
finally
SL.Free;
end;
0214やりなおし
NGNGtry
try
SL.LoadFromFile('D:\DATAFILE.DAT');
for I:=0 to SL.Count -1 do
begin
try
SetValue( StrToInt(SL[I]) );
except
PutError(IntToStr(I)+'行は変換できませんでした');
end;
end;
except;
PutError('致命的エラー発生');
end;
finally
SL.Free;
end;
0215デフォルトの名無しさん
NGNGなるほど、そういう手も・・・(つД`)アリガト
0216デフォルトの名無しさん
NGNG変更すると画面がちらついてしまうのですが
これをちらつかせない方法などありましたら教えてください。
0217デフォルトの名無しさん
NGNGそれをアプリ側で制御するのは無理
0218デフォルトの名無しさん
NGNG極簡単な動作実験用とか作った時でもなる時あって、
バグ取り中に何度もコンパイルとかしてると急に今まで通り動かなくなり、
コードをコピペして全く同じ内容で新たに作るとまともに動作する。
さっき出た症状ではApplication.Handleを参照しても常に0ってのになった。
Delphiから実行時にアプリ終了してもCPU画面が出てもう一度実行ボタンを
押さないと終了しないのもどこかおかしいんだろうか?
0219デフォルトの名無しさん
NGNGOS から入れ直せ。
0220デフォルトの名無しさん
NGNGWin98?
OS と Delphi のバージョン名くらいは教えてください。
0221デフォルトの名無しさん
NGNG使っているマシンの CPU の種類とクロック速度、
使っているビデオカードの名前。
ビデオカードの種類とドライバのバージョンによっては、ソフトウェア描画に
なるから、とっても遅くなるぞ。
0222デフォルトの名無しさん
NGNGw2k sp3
D5のupdate済み
いま、既にあるアプリでApplication.Handle取得のテストしてみたら、0だった・・・
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGなんでだろ〜なんでだろ〜♪
0225デフォルトの名無しさん
NGNGdel居れ直しならまだしもOSからはつらいな。
今のような快適設定にレジストリ変更する自身が無い。
0226216
NGNGレスありがとです。そうですか…。残念。
実はAlphaBlendとループと使ってフォームを
徐々に表示or隠すということをしたかったのですが、
徐々に表示なら
AnimateWindow (Form.Handle, 2000, AW_BLEND);
で出来ますが、徐々に隠す方法はどうやったら出来るのでしょうか?
http://www.kumei.ne.jp/c_lang/sdk4/sdk_348.htm
ここで見る限りAnimateWindowでは出来そうもないです。。
0227デフォルトの名無しさん
NGNGHide;
でできないか?
0228227
NGNG0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNGDelphi5 だから。という話かなぁ。
CPU ウィンドウが開かなくなる。ってのは聞いたこと無いし
0231デフォルトの名無しさん
NGNG(PByte($12345678)) := $12;
(Pword($12345678)) := $1234;
てな感じでどうかな?他にもいろいろやり方あり。
0232218
NGNGオプションで「実行時パッケージを使って構築」
をチェックすると0になるアプリがあるみたいだ。
ただ、テスト用に簡単に作った奴はその限りではない・・・つらい・・・。・゚・(ノД`)・゚・。
0233デフォルトの名無しさん
NGNG開かなくなるのではなくて開いてしまうんだよ
0234デフォルトの名無しさん
NGNGうーん。みてみたいよ。あんたの環境。
・*.bpl が変なディレクトリに落ちている
・日本語を含むパス名を常用している。
どちらか、心当たりないかな?
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG猫が間違ってるっぽい。
「AW_HIDEとは併用できません。」は、AW_ACTIVATEの説明に入るはず。
0237デフォルトの名無しさん
NGNG>押さないと終了しない
これかぁ。勝手に出る CPU 画面、どこで止まっています?
画像写真、どこかうpろだに置けませんかね?
0238デフォルトの名無しさん
NGNG実際にやってみるよろし。
0240デフォルトの名無しさん
NGNGどちらも普通みたいです。こうなったら仕方ないので
別のHDDに非常用OS入ってるので、まっさらなdelphi入れて試します。
また報告します。
0241デフォルトの名無しさん
NGNGMSDN より実際の動き
0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGうむ。もったいない。
バグが出ている環境は貴重なんで、できれば原因をつかみたかったが。
再インストールで問題が出なくなることを祈ります
0244デフォルトの名無しさん
NGNGデータベースって言葉知ってる?
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGそれに何年裏切られつづけてきたか....
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG言葉自体は知っていますがプログラムでどのような働きをするのかは知りません。さっさと教えなさい。
0249デフォルトの名無しさん
NGNGとりあえず、
今あるDelphiのフォルダをリネームしておいてDelphiを再インストールして比べてみろ
それから
--------- ここから -------
del *.tds
del *.~*
del *.dsk
del *.dof
del *.dsm
del *.dcu
----------- ここまで -------
をバッチファイルにして、あちこちのプロジェクトの不要ファイルを消して回れ
0250デフォルトの名無しさん
NGNG晒しました。
http://www7.big.or.jp/~mb2/bbs/up/kao/source/up3264.jpg
>>243
再インストではないですよ。予備のOSに入れるのです。
0251デフォルトの名無しさん
NGNGその画面の状態で、F7 押して。
ret の次に DebugBreak を呼び出しているモジュールの位置がわかる。
そこが鍵だ!
0252216
NGNG>>236
>>238
ほんとだ…
AnimateWindow(Handle, 2000, AW_HIDE or AW_BLEND);
hide;
上のコードでちゃんとフェードアウトする。。
何事も実際やってみないとだめっすねえ、、
ありがとうございました。
0253デフォルトの名無しさん
NGNGDbgBreakPint で止まっています。これはブレークポイントのようなものにぶつかったことを
意味します。
IDE のデバッガの誤動作。ということも否定しませんが、良くあるのはビデオドライバにデバッグ用として
残してあったブレークポイントに引っかかった。というやつ。
>>250 さんの場合、止まったり止まらなかったりする。ということなのでビデオドライバでは
なさそうですが。
249 さんの方法も意味あるかも。
0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG不要ファイルを消すのってなにか意味があるのですか?
0257デフォルトの名無しさん
NGNGhttp://www7.big.or.jp/~mb2/bbs/up/kao/source/up3266.jpg
0258デフォルトの名無しさん
NGNGおまじないみたいなもの。
0259デフォルトの名無しさん
NGNGありがとう。しかし掲示板ではちょっと無理か。隔靴掻痒。
どこかメモリを壊していて、それがアプリケーション終了時、OS のメモリ開放中に
検出されているのではないかと考えます。
ターゲットアプリケーションの終了処理部分を1ステップずつ追っていけば問題点に
到達できますが、それはかなり面倒(かつ経験が必要)です。
もし、再インストール相当をおこなえるのならそちらの方法で回避してください。
力になれず、ごめんなさい。
0260デフォルトの名無しさん
NGNGデバッグしてるうちにこれら中間ファイルが壊れたりしてしまうと
色々と不都合が出来てしまいます。
ですんで、終了時におかしくなったり、コンパイルで変な事が起きたりするようになったら
まず、あのあたりのファイルを全部消すと直る率が高いです。
特に複数のバージョンで開いたりコンパイルしたい場合には、その前にやっておく習慣付けた方がいいです。
0261デフォルトの名無しさん
NGNGどうもです〜
>>260
なるほど、だからバッチファイルで都度消せってことだったのね
0262デフォルトの名無しさん
NGNG気悪くしないでね。正当なシリアル使ってる?
0263デフォルトの名無しさん
NGNGこれっぽいんだよね。
けど、他に似たようなレポート聞いたこと無いし。
0264デフォルトの名無しさん
NGNG使ってます。一時期サポートかなんかもあったような。期限切れましたが。
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGfunction TForm1.CheckEditValue(AWinControl: TWinControl): boolean;
begin
if AWinControl.Text = '' then
begin
ShowMessage('空欄にはできません。');
AWinControl.SetFocus;
Result := False;
end
else
Result := True;
end;
という関数を作って、
if not CheckEditValue(Edit1) then Exit;
if not CheckEditValue(ComboBox1) then Exit;
のように使いたいのですが、上の関数で、「AWinControl.Text」のところで止まってしまいます。
どうやらスコープがprotectedなのが原因みたいです。
TextとSetFocusを1つのクラスから使えて便利だと思ってたのですが、無理なのでしょうか?
0268デフォルトの名無しさん
NGNGCheckBoxの方は透明ではなく、しかも透明にすることが出来ないのは仕様ですか?
0269デフォルトの名無しさん
NGNGWhy?
0270デフォルトの名無しさん
NGNGTypInfo.pasのGetTypeDataとかGetPropInfosとかSet*Propとか使えば
文字列からプロパティにアクセスできるんだけどそれでいいのかどうか。
0271デフォルトの名無しさん
NGNGTIniFileは
・遅い
・64KB(たしか)制限有り
で良いことない。
0272デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=5#0287.txt
ここ見たらいいこと書いてなかったから
0273デフォルトの名無しさん
NGNG全く迷惑な話だ(`Д´)ノ
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGTControlからGetTextBufメソッドが利用できたので、それを使用して解決しました。
0277デフォルトの名無しさん
NGNGXPスタイルにしたらTabControlが白っぽくなるでしょ?
あの時も灰色のまなののよ。
最初からあの色にしておくとクラシックスタイルにしたときにそこだけ白っぽくなってるのも嫌だし。
CheckBoxはTabControlの上で使われることって少なくないと思うんだけど。
いかがなもんでしょうかと。>某
0278デフォルトの名無しさん
NGNG143 名前:host143186050154.borland.com 投稿日:03/05/30 14:43
試して見よう。
0279デフォルトの名無しさん
NGNGRadioButtonを作った人は気の利く人ってことでFA?
0280デフォルトの名無しさん
NGNGというか色の変更が出来ないな。
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGそれとも、今のDELPHIとは別モノですか?
0284デフォルトの名無しさん
NGNG純粋な後継です。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGDELPHI.NDT 2,3,4となっていくわけですね。
0287デフォルトの名無しさん
NGNGOrgName: Borland International
OrgID: BORLAN
Address: 1800 Greem Hills Rd
City: Scotts Valley
StateProv: CA
PostalCode: 95066
Country: US
NetRange: 143.186.0.0 - 143.186.255.255
CIDR: 143.186.0.0/16
NetName: BORLAND
NetHandle: NET-143-186-0-0-1
Parent: NET-143-0-0-0-0
NetType: Direct Assignment
NameServer: NS.BORLAND.COM
NameServer: NS1.BORLAND.COM
Comment:
RegDate: 1990-10-01
Updated: 2001-03-13
TechHandle: ZB64-ARIN
TechName: Borland Software Corporation
TechPhone: +1-831-431-1000
TechEmail: [email protected]
# ARIN WHOIS database, last updated 2003-05-30 21:05
# Enter ? for additional hints on searching ARIN's WHOIS database.
>
0288デフォルトの名無しさん
NGNG「 . 」の位置で割り出すと色々不都合が有りそうだし…
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG即レスありがとう!
逝けそうです。
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNGこういう感じでいいのかな?
むずかしそうだ・・・・
ともかくありが�d
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGヘルプで
external 宣言
動的にロード可能なライブラリの呼び出し
動的ロード
などを読んでゆくとよいです
0303デフォルトの名無しさん
NGNGWindows.pas は Personal にもついていなかったけ?
あれは丸ごと Windows の DLL を使うための定義ファイルだぞ。
0304Dale L. Fuller
NGNGげっ!!
>Address: 1800 Greem Hills Rd
古いままじゃん。
0305デフォルトの名無しさん
NGNGですか?僕にはサッパリです。
0306デフォルトの名無しさん
NGNGまずデータ構造を教えて下さい
0307デフォルトの名無しさん
NGNGvar
Moji: ShortString;
begin
Moji := ABC,DEF
↑の","が何番目にあるのか数値で返したいのです。
0308デフォルトの名無しさん
NGNGVCLリファレンス > ルーチン一覧(カテゴリ別) > 文字列処理ルーチン
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGけして評判が良いヘルプではないが、あなたの知識が分からない以上、
最低限度の共通の語彙を仮定しないと説明するのも日が暮れる。
0314デフォルトの名無しさん
NGNGvar
var
Moji: ShortString;
i,n:Integer;
begin
Moji := 'ABC,DEF ';
n:=0;
for i:=1 to Length(Moji) do if Moji[i]=',' then begin n:=i;break;end;
if n>0 then ShowMessage('カンマが'+IntToStr(n)+'番目にありました');
0315デフォルトの名無しさん
NGNG勉強になりました。有難うございます。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGMoji:String;
FoundPos:Integer;
begin
Moji := 'ABC,DEF ';
FoundPos := Pos(',',Moji);
if FoundPos >0 then ShowMessage(Format('カンマが%d番目にありました',[FoundPos])
else ShowMessage('カンマが何処にもない');
end;
0318デフォルトの名無しさん
NGNGん?処理時間のオーダーも大差ないと思うけど?
0319デフォルトの名無しさん
NGNGTMainMenuでなくTActionMainMenuBarを使う場合にこの動作をさせるにはどうすればいいんでしょう?
0320デフォルトの名無しさん
NGNGインストールまではできるようだけど、はたしてどこまで動くのか。
これだけのためにMeとのデュアルブートってのもあほらしいし。
誰かXPで試したツワモノいる?
0321デフォルトの名無しさん
NGNG0322無駄大杉
NGNGMoji,Moji2,kotae,kotae2:string;
l,i,c:integer;
begin
Moji :='ABC,DEF';
l:=length(Moji);
i:=0;
Moji2:='';
while true do
begin
Moji2:=copy(Moji,i,1);
if Moji2=',' then break;
inc(i);
if i>l then break;
end;
c:=i;
kotae:=inttostr(c);
kotae2:='も…も… もしかしたら… '+kotae+'番目に… あ、あ、あ、あるかかなななぁ…?';
ShowMessage(kotae2);
0323無駄大杉
NGNG0324デフォルトの名無しさん
NGNGとりあえず、インストールして、アップデートして、ML検索で「大野」氏のメールを検索。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGコマンドラインの取得ってこんな感じでいいんですか?
0327326
NGNG0328デフォルトの名無しさん
NGNG大野タンのメールって... テキストサービスの話かな?
VS.NET でも同じ問題を持っていたのだけど、VS.2003 では直ったのかな?
0329デフォルトの名無しさん
NGNGつかえねぇ
0330デフォルトの名無しさん
NGNGあんたのニュースリーダーの設定が、古い物は削除。になっているからだよ。
開設時からのすべての記録が残っているぞ
0331デフォルトの名無しさん
NGNGで、dbExpressを使うための条件はODBCと比較して何になるのでしょう?
例えば、ODBC接続(つまりBDE)の場合は、RDBがWin/Linux用にODBCドライバを用意していることになりますよね。
dbExpressの場合は、某島がRDB用のdbExpressドライバ(?)を用意している場合のみになるのでしょうか?
0332動画直リン
NGNG0333デフォルトの名無しさん
NGNGたぶんそう。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=069593
0334331
NGNGRDB名指定だったのでやっぱ、某島が直接対応してるわけですね。
Interbase用が無いのは、IBQueryで十分ということでしょうか?
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNGしまったしまった。これはテキストマネージャとは関係ない話だ。
吐駄チャンとかが、理解せずにコメントつけてるから...
これは ActiveIME とデバッグサービスの相性問題だ。
プロセス終了中に COM 初期化が起きる。
0337デフォルトの名無しさん
NGNGそれはどの種類のデータベースを使うかによるのでは?ナニ使ってんの?
0338デフォルトの名無しさん
NGNG//疑似縦書き表示文字列に変換する(固定幅フォントを使用しないとずれる)
function VertWrite(Source: String; LineLength: Integer): String;
var
WStr:WideString; SWord:String;
I,J,Ptr,Len:Integer;
SL:TStringList;
begin
WStr :=Source;
SL := TStringList.Create;
try
for I:=0 to LineLength-1 do SL.Add('');
Len := Length(WStr);
for J:=0 to (Len div LineLength) do
for I:=0 to LineLength-1 do
begin
Ptr := (J*LineLength+(I+1));
if Ptr <= Len then
begin
SWord := WStr[Ptr];
if CharLength(SWord,1)=1 then SWord := ' '+SWord;
SL[I] := SWord + SL[I];
end
else SL[I] := ' ' + SL[I];
end;
Result := SL.Text;
finally
SL.Free;
end;
end;
0339デフォルトの名無しさん
NGNGFirebird。
IBQueryが良いのか、dbExpressが良いのか。
MySQLをODBCで試したけど、イマイチ。
でも、dbExpressがあることが今日分かった。
MySQLに2万件BLOB入れて、Database Explorerでデータを見るとフリーズ。
dbExpress Explorerってのはあるのかな?
自分のBCB6には付いてない。
0340デフォルトの名無しさん
NGNGFirebird を dbExpressでについて解説してるのは
『ポケットテックノート Firebird RDBMS傾向と対策〈1〉概要と導入編』
DB2と dbExpress
http://www-6.ibm.com/jp/software/data/developer/library/techdoc/dbexpress.html
BDE->dbExpress
http://www.borland.co.jp/delphi/papers/bde_to_dbexpress.pdf
0341デフォルトの名無しさん
NGNGdbExplorerが一番よさげなのが分かりました。
ちょっと、一貫性無くてやだなー、ってのが、Database ExplorerがODBCのみで。
これじゃ、MySQLにデータ書けても何万件になったとき中身確認デキナイよ。
0342デフォルトの名無しさん
NGNGアイテムをドラッグして移動するとノード間では横線だけだったり
お気に入りのアイテム上にマウスカーソルがきても選択状態に
ならないようにするにはどうやったらよいのでしょうか?
MLで調べると67348に同じようなのがあるのですが
これだとかなり画面がちらついてしまいます。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=067348
0343デフォルトの名無しさん
NGNGデータ見るだけのアプリなら小1時間もあれば楽に作れるでしょ(多分、数分)
0344デフォルトの名無しさん
NGNG同じDBを参照する関連のプロジェクトが他にもあって、
テーブルも違うし、自分だけが見れても駄目だしー。
0345デフォルトの名無しさん
NGNGそれってBorlandのとこだね
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNGってどうやって回避すればいいんですか?
0348デフォルトの名無しさん
NGNG初期化しる
0349デフォルトの名無しさん
NGNGDelはVBのように変数宣言しても、自動で0入れたりして初期化してはくれない(例外もある)
よってその変数を使う前に初期値を代入しる
0350デフォルトの名無しさん
NGNGワラタ
福島工業高等専門学校は低脳の集まりか
0351デフォルトの名無しさん
NGNG別のOSの方ではCPU画面は出なくなったようです。
しかし、別のOSのDelphiフォルダを現在使用の方へ持って来たら発生します。
「Application Handleが0になる」の発生条件ですが、
自作DLLの方と呼び出し元アプリの両方の
「実行時パッケージを使って構築」をチェックすると0になるようです。
どちらかチェックなら取得できます。
何故か解からんがチェック出来ないとファイルがでかくなる・・・
そんなもんなんでしょうかね?
0352デフォルトの名無しさん
NGNG超怒級初心者向けのなにか本はありませんか?
0353デフォルトの名無しさん
NGNG俺は、サブクラス化してこんな感じにメッセージをすり替えたりとかしてやってる。
前に書いたコードを適当に抜き出したから、どこか間違ってるかも。
procedure THoge.TreeViewNewWndProc(var Message: TMessage);
var
M: TMessage;
begin
if (Message.Msg = TVM_SELECTITEM) and (Message.WParam = TVGN_DROPHILITE) and (ドラッグ中) then
begin
if 棒線を出したい then begin
if 上に出したい then begin
Message.Msg := TVM_SETINSERTMARK;
Message.WParam := integer(False);
end else if 下に出したい then begin
Message.Msg := TVM_SETINSERTMARK;
Message.WParam := integer(True);
end;
end;
case Message.Msg of
TVM_SELECTITEM: PostMessage(TreeView.Handle,TVM_SETINSERTMARK,0,0);
TVM_SETINSERTMARK: begin
M.Msg := TVM_SELECTITEM;
M.WParam := TVGN_DROPHILITE;
M.LParam := 0;
TreeViewOldWndProc(M);
end;
end;
end;
TreeViewOldWndProc(Message);
end;
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGDelphi 入門
でググれ
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG問題なしですか?
それともInterBaseやオラクルとかにした方が良いんですか?
0360デフォルトの名無しさん
NGNGFirebirdなら無料でInterbaseと同じ動きをするが。ローカルでも使えるし。
C/Sでも高速動作。
http://www.apex-jp.com/firebird/ibp_deutchepresse_jp.html
0361オイお前ら
NGNG教えてケロ
0362デフォルトの名無しさん
NGNG1mlは1000分の1l
0363デフォルトの名無しさん
NGNG普通に1/1000(sec)じゃないの
0364デフォルトの名無しさん
NGNG普通に10/1000(sec)=1/100(sec)じゃないの
0365オイお前ら
NGNG0366デフォルトの名無しさん
NGNG0367嘲笑激藁は ◆adhRKFl5jU
NGNG0368デフォルトの名無しさん
NGNG漁師ハケーン!
0369デフォルトの名無しさん
NGNGInterBaseは持ってるのですが、パラドックスじゃダメなのかな〜と思って。
あくまで試験用だと思ってた方が良いのかどうか、その辺よく知らないんです。
0370デフォルトの名無しさん
NGNG>>365は逝け
0371デフォルトの名無しさん
NGNG昔はBDEでパラドックス対応を売りにしてましたが、
現在のDelphi的にはdbExpressを推奨してるので、
Interbase > パラドックス
じゃないかな。
0372デフォルトの名無しさん
NGNGレスありがとうございます。
なるほど、実用に耐えないという事はないんですね。
(ああ、無知な自分が恥ずかしい・・)
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGどちらをとるか。
ということに時間を使うとあれなんで、データベースレイヤの抽象化はきっちりやっておけば
後で変更が用意。そういうことができる(やりやすい)コンポーネントになっている
0375seven
NGNG>超怒級初心者向け
「プログラミング初心者」か「Delphi初心者」かでも、選択肢が異なると思われ、、、
まぁ、文体からすると、プログラミング初心者なのかな。
とりあえず、プログラマ板を巡回することを推奨。
037678
NGNGどう書けばいいですか?
0377デフォルトの名無しさん
NGNGif Label2.Tag = 3 then Label2.Caption :='0';
if Label3.Tag = 3 then Label3.Caption :='0';
if Label4.Tag = 3 then Label4.Caption :='0';
if Label5.Tag = 3 then Label5.Caption :='0';
...
if Label∞.Tag = 3 then Label∞.Caption :='0';
0378デフォルトの名無しさん
NGNGfor i := 0 to ComponentCount - 1 do
begin
if (Components[i] is TLabel) and (Components[i].Tag = 3) then
(Components[i] as TLabel).Caption := '0';
end;
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGありがとうございます。
>Components/ComponentCountや、Controls/ControlsCount
をググってみます。
0381デフォルトの名無しさん
NGNGソース付だとなおうれしいが、わがままってもんですかねぇ。
0382デフォルトの名無しさん
NGNGヤフオク逝って買って来い
http://list4.auctions.yahoo.co.jp/jp/2084008824-category-leaf.html?
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG2バイト文字が正しく変換されなくて困っています。
どうしたらいいでしょうか?
0385デフォルトの名無しさん
NGNG今まで何度かプログラムに挫折してきて
最後の砦としてDelphiを始めようとして、
パーソナル版をダウンして
↑のページを読みながらやってみようとしました。
そうしたら、しょっぱなのActiveXの取り込みから失敗・・。
なにをどうしたらよいのかもさっぱり分からない・・゚゚(´□`。)°゚。
0386動画直リン
NGNG釣りでないなら、
1.「トリップ付けれ」
2.「環境書けれ」
3.「エラー内容書け」
つーか、そのレス内容じゃ「日記」なのか「助言が欲しい」のか分からんぞ。
0388デフォルトの名無しさん
NGNG0389seven
NGNGまず、「自分にはできないんだ」という壁を越えなきゃね。
「できないんだ」じゃなくて、「どうやれば、できるのだろう」でないと
質問することすら、ままにならないのかも。
壁って、破らないと、厚みがわからないけど、破ってみると結構薄かったりするかも。
そもそも、まず、触れてみなければ破ることなんか、まず無理。
ところで、'Hello! World'は、できたのだろうか?
次はボタンで画像を表示するとか、テキストエディタを作るとか。
「はじめてのDelphi」のアプローチって、好きだなぁ。
かつての「トレーニングマニュアル」みたいな本が出ないかなぁ。
0390デフォルトの名無しさん
NGNG俺は、欲しいものがあったから、それを手に入れる手段として自分で作ること(プログラミング)を始めた。
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGDelphi入門でいきなりActiveXという椰子もいう椰子だが…
0393242
NGNG353さんおられますでしょうか?
このコードの宣言部はどのように書けば良いのでしょうか?ただ
TreeViewNewWndProc(var Message: TMessage);
と書いただけではメッセージをとらえないようなので。
メッセージ関係はほとんどいじったことが無くて、
見当も付きません。。というか見当違いのことを言ってるかも…
よかったら教えていただけないでしょうか?
0394デフォルトの名無しさん
NGNGさっするにタブブラウザを作りたくて Delphi6 を使っているようだし。
ActiveX といってもインポートして使うだけ。COM を使いまわすわけじゃなし。
広い意味でのコンポーネントということでよいのでは?
>>385 さんは、何が起きたか位は公開してくれ。
または近くにいるひとに聞け。
0395361
NGNGありが�d
0396デフォルトの名無しさん
NGNGオレもそうだった。
2年前 Delphi 6 Personal が無償公開された時、
WEB 乞食の務めとして DL し、 Install はしたが、
何もしたい事がなく、結果すぐ放置となった。
しかし1年後、機械的な処理を大量に行う必要に
迫られ、結果としてプログラミングという方法が
最善だと知り、目的の達成の為に習得に努めた。
プログラマとしての技量が上がったかどうかは
ともかく、(その後も頻発する)要求の処理に
必要なツールを作る程度には言語を習得できた、
と思っている。アマなので、今の状態でも一応満足
している。
もし必要に迫られていなかったら、いまだに論理
演算の意味さえ理解できなかっただろう。
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG自称超初心者がびびってこなくなっちゃうよ。
0399初心者
NGNG0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNG生産性ならVC++の限界を簡単に超える事が出来ます。
しかしC言語中心のコンピューター社会を超えるのは無理。
Delでデバイスドライバを作る奴などいない。いたらそいつは神聖Del厨。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGReadString('Section','Value0','');
では無事読みとれるのですが
ReadString('Section','Value' + Temp[1],''); (Temp:StringでTemp := 000000と入っています)
では読んでくれません。
'0'とTemp[1]は違うものなのですか?
0404デフォルトの名無しさん
NGNGでは横着しないで、いったんChar型の変数にTemp[1]を代入してから試してみろと言ってみる。
0405デフォルトの名無しさん
NGNGその前後のソースは無いの?
0406403
NGNGi:IntegerとしてTemp[i]としていました。
しかし、i := 0の場合もあったので
読みとれなかったようです。
String[0]はないのですね。
すみませんお騒がせしました。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG2003/06/02 16:51:04
2003/06/02 7:28:43
このようにHourの部分が1桁だと見づらくなってしまうので、
2003/06/02 16:51:04
2003/06/02 07:28:43
このようにしたいのですが、良いやりかたはありますか?
0409デフォルトの名無しさん
NGNGFormatDateTime('yyyy/mm/dd hh:mm:ss', Now);
0411デフォルトの名無しさん
NGNG.netに対応したWindowsCEがでた場合、
Delphi7でCE用のソフトは開発できるのですか。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGできまへん
0414デフォルトの名無しさん
NGNGありがとうございます。
0415デフォルトの名無しさん
NGNG使い方がわからない・・・
誰か起動の仕方を教えてください・・・
0416デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA017148/pages/install/bcc.html
0417デフォルトの名無しさん
NGNG>Delでデバイスドライバを作る奴などいない。いたらそいつは神聖Del厨。
真のデバイスドライバは Win32 API をつかえない場所で動くので、Win32 アプリ用ツールでは難しい。
この難しさは Delphi に限らないので、NT2000 から Mini Driver ってのが出てきて、デバイスドライバ
本体は OS 組み込み。動作を変更したいところを指定すると Win32 アプリケーションのコードをコールバックしてくれる。
リアルタイム性とかを極端に要求しない限り、ほとんどのデバイスドライバは Win32 アプリケーションとして
実装できる。(実際にはデバイスドライバの性格上、サービスにすることが多いが)
たとえば、
http://www.xlsoft.com/jp/products/windriver/products.html
こういったツールを使えば、めんどくさいインターフェースコードまで自動作成してくれて、
ほんとに必要な部分だけ書けばよい。
0418デフォルトの名無しさん
NGNG書いてあるんですが、Functionの返値をTStringListにしたい場合、
どのタイミングで解放してやればいいんでしょうか?
また、解放しなかった場合、激しくメモリーリークする可能性が
あるんでしょうか?
(代入したデータ分だけメモリに残るとか?)
0419デフォルトの名無しさん
NGNG関数の設計として TStringList を返すより TStrings を引数として渡してそれに設定する方式の方が汎用的でしょ
どうしても関数の引数で返す場合は、名前を使わずに
with func(hoge) do try
StringListを使う処理
finally free ;end;
とやる癖を付けた方がいいですね。
0420デフォルトの名無しさん
NGNG関数の戻り値にオブジェクト型を使うと、コーディングが激しくめんどくさくなるだけ。
関数の戻り値は数値などの単純型に限定した方がよい。
(もちろんコンストラクタなど例外はある)
0421418
NGNG引数を利用するやり方でやってみようと思います。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNGあまりDelphiらしくない方法ではあるよね
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGFindFirst、FindNext
0426デフォルトの名無しさん
NGNGVCLソースを見るとたまにそういうの見かけるよ。
0427デフォルトの名無しさん
NGNGサンクス
0428デフォルトの名無しさん
NGNGなるほど
例えばTBlobFieldでも使いまくってるね
0429デフォルトの名無しさん
NGNG新規作成で、プログラム自身をもう一個起動するためにはどうすればいいんでしょうか?
よろしくおながいします。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG1、フォームの最大化ボタン不可の方法、サイズ変更不可の方法を
教えてください。
2、アプリの起動の最初に”本当に起動しますかダイアログ”
を作っているのですが、DELの場合どういう風に設計すればいいのでしょうか?
メインフォームを表示する前に表示したいのですが。
0433デフォルトの名無しさん
NGNG1.フォームのオブジェクトインスペクタ
2.OnCreateメソッド
0434432
NGNGプロパティをかえれば言いのでしょうか?
それらしいプロパティが見つからないのですが。。
0436デフォルトの名無しさん
NGNGできました。ありがとうございます。
biMaximizeをFALSEにしたらできました。
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG2.
http://www.google.co.jp/search?q=cache:3hHV87MVv6cJ:www.nifty.ne.jp/forum/fdelphi/samples/00994.html+Delphi+%E3%82%B9%E3%83%97%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6&hl=ja&ie=UTF-8
0439seven
NGNGだって、くだすれなんだもん :-)
つーか、>>437のほうが、このスレでは、くだらないと思います。
どうせ、名無しなら、答える気があるときだけ、答えばいいんだし。
0440デフォルトの名無しさん
NGNGにしたがってメインフォームに以下のように書きました。
procedure TMain.OnCreate(Sender: TObject);
var
t:TTimer;
begin
t:=TTimer.Create(Self);
if t.ShowModal = mrCancel then
Close;
t.Free;
end;
しかし、TTimerでキャンセルボタンを押して、Closeが実行されるのを
確認したんですが、メインフォームが開いてしまいます。
どうしたらいいのでしょうか?
0441デフォルトの名無しさん
NGNGそれよくコンパイル通ったね…
TTimerにShowModalなんてメソッドは…ないよな…少なくともDel6までは
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGprogram Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Application.Run;
end.
参考になるかな?
0444デフォルトの名無しさん
NGNGif MessageBox(Handle,'Message','Title',MB_YESNO+MB_ICONINFORMATION)=IDNO then
Close;
こんなのでいいんじゃネーノ?
専用ダイアログ作るなら、TButton.ModalResult設定して
if Form2.ShowModal=mrNo then
Close;
でもいいし。
0445デフォルトの名無しさん
NGNGあとで直します。
>>443
ありがとうございます。こんな風にしてできました。
var
r:Integer;
begin
Application.Initialize;
Application.CreateForm(TTimer, Timer);
r:=Timer.ShowModal;
Timer.Free;
if r <> mrCancel then
begin
Application.Title := 'TTT';
Application.CreateForm(TMain, Main);
Application.Run;
end;
0446デフォルトの名無しさん
NGNGDelphi用サンプルコードが見つからないのですが・・・。
C/C++のコードですら見つからない。
と思うのは気のせい?Dllを使ってアーカイバを作るより難しい。
この情報はブラックボックスなんでしょうか??
0447デフォルトの名無しさん
NGNGもしくは命令セットの一覧。
0448デフォルトの名無しさん
NGNGそこで「起動しますか?」はウザすぎる
0450デフォルトの名無しさん
NGNGまさに正論。
>>432は無駄にインストーラを作りたがるタイプのプログラム初心者だと思われ。
0451デフォルトの名無しさん
NGNGフォーム上のTEditなどでキーが入力されてもTForm1のOnKeyDownを通りますよね?
それと同じような事をマウスでも行いたいのですが、可能でしょうか?
つまりボタンコントロールをクリックしたら必ずTForm1のOnMouseDownを通るように
したいのです。
(それぞれのボタンコントロールのOnMouseDownも使っているので、そこも通る事が
前提です)
宜しくお願いします。
0452デフォルトの名無しさん
NGNGそれはDirectXのDirectShowで実現できるような。
DirectXSDKにそういうやつのサンプルプログラムが付いていた。
0453デフォルトの名無しさん
NGNGイベントが連鎖的に起こる事を期待してコーディングしない方がよい。
予想外の動作する可能性が高くなるし、その対処も面倒くさくなるだけ。
その機能ような機能を実現したければ、
ボタンのOnClickの中で、Form1MouseDownを呼び出すようにしる。
0454451
NGNGやはりそれしかないっすか。トホホ・・・。
ボタンの数がものすごく多くて、いちいち全部に同一のコードを追加するのが
面倒だから、「Formの上でマウスダウン」というくくりでイベントが発生しないものかと
思ったのですが、残念です。
0455デフォルトの名無しさん
NGNGDelは同じ型のイベントならば、他のコンポのイベントと共有出来るのを知っているか?
どういうプログラムか知らないので適用できるかどうかはわからないが。
ボタン共通のOnClickを作り、最初に共通の処理をさせてから、
次にSenderオブジェクトを調べ、どのボタンが押されたか判別してボタン固有の処理をやれば良い。
0456A
NGNGものすごくボタンの数が多い場合は、Senderで分岐するのってなんだか、
あまりかっこよくない気がする…。
もし、そのものすごく多い物が全部TButtonなら、TButtonを継承して、
Mouseイベントを受け取ったら、Formに伝えたあとに、自分のOn〜を
呼び出すような、クラスを作って、それに差し替えてやるといいと思う。
0457デフォルトの名無しさん
NGNGその際にTagに必要な情報を仕込んでおけば
Senderでの使い分けもスマートにできる
(分岐させずTagを関数の引数として扱うこともできる)
ちなみにTagはポインタとしても使えるので
任意のクラスのインスタンスを仕込むこともできる
0458デフォルトの名無しさん
NGNGあらかじめサイズがわからない場合はどうした言いのでしょうか?
var
sl : array of string;
....
for 何回回るかわからない do
al[i] := .....
0459451
NGNGボタンの数が50個ぐらいあって、それぞれ別の種類の処理をしているので、
今から変更したくないです。(^^;
ところでTButtonが何個あっても全て一つのイベントにまとめてTagで処理を
分けるのがセオリーなんですか?
そんな事考えたこともないので勉強になります。
>>456
なるほど。確かにその方法だと最初からそう作れば出来そうですね。
ただ今からやるには、ボタンの宣言を全てやり直したり、
新規にコンポーネントを作って画面の作り直しをしないと
出来ないので、難しいですが。
結局、全てのイベントに同一の関数を書き込んで解決しました。
いろいろアドバイスありがとうございました。
0460デフォルトの名無しさん
NGNGMemo1に改行が入力されたときに改行マークを入力して改行したいのですが、
どのように書けばいいか教えて下さい。
#13#10が入力されたらみたいに書いてもできませんでした。
改行マークも?になってしまいます。。。
さて、何でしょう?
0461デフォルトの名無しさん
NGNGfor do begin
SetLength(a,length(a)+1);
end;
0462デフォルトの名無しさん
NGNGX al[i] := .....
O sl[i] := .....
0463デフォルトの名無しさん
NGNGありがとうございます。速いです。
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG>ところでTButtonが何個あっても全て一つのイベントにまとめてTagで処理を
>分けるのがセオリーなんですか?
イベントハンドラを共通にして、Senderでどのボタンが押されたかを判断する
やり方はぐぐれ
0466デフォルトの名無しさん
NGNG日本語読めないやつハケーン
0467デフォルトの名無しさん
NGNGMemo1.Items.add('内容1');
Memo1.Items.add('内容2');
結果↓
内容1
内容2
じゃだめ?
0468デフォルトの名無しさん
NGNG日本語読めないやつハケーン
046942歳男性より
NGNGパオコンでは何もできないでしょう
0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNGデータ量がセルをオーバした時の処理を施したいのですが・・・
スクロールバーまたはExcelの「自動的に改行して全てを表示」の
ような事はできますでしょうか?
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNGPersonalでもソースが付いてくるコンポーネントというだけで別に問題ないはず。
でもSpinよりはUpDown使った方が良いな。
0476デフォルトの名無しさん
NGNGサイズ減るの?
0477デフォルトの名無しさん
NGNGコンポーネント紹介サイトって
上記以外にありますか?
0478デフォルトの名無しさん
NGNGありますよ。
0479デフォルトの名無しさん
NGNG同じようなものを一から作り直したらすうじゅ10分の1のサイズになりました。
0480446
NGNGいろいろ試行錯誤しているうちに。
>>447
それがあればとっくに作れてます。
ソフトならゴロゴロ落ちてるのになぁ。
みんなどうしてるんだろうか。
0481デフォルトの名無しさん
NGNG入出力データの仕様や、命令の一覧とかが無いと作れないぞ。
ドライバがあるならそれの製造元を探したら?
0482デフォルトの名無しさん
NGNGプロジェクトのオプションで"実行時パッケージを使用して構築"にチェックが入ってるか入ってないかだと思われ。
チェックが入ってるとサイズは小さくなるが、exe単独では動かなくなる罠。
0484デフォルトの名無しさん
NGNGUpDownとSpinEditは一長一短だから、場合によりけり。
UpDownは、Windows標準コントロールなので、OSになじむ。
ただし、Editと組み合わせてエラー処理を自前でする必要がある。
SpinEditはDelphi専用だから、たとえばXPスタイルなんかは適用されない。
でも、エラー処理とか全部してくれるから、乗せるだけですぐ使える。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG自分で計算して合わせる。(漏れはそうした)
0489デフォルトの名無しさん
NGNG問題点を解決するのに最も良い方法や気をつけるべき点を教えて下さい。
条件:
・DBはParadoxを使う。
・ホストPC自身もDBの読み書きを行う。
・OSはWindowsXP HomeEdition
・テーブルへのアクセスはTQueryを使う。
現在の方法:
・ネットワークドライブを割り当てて、そこにエリアスを指定している。
現在の問題点:
・レコードが1万件程度のテーブルをSelectしてOpenすると
1〜3秒ぐらい時間がかかる場合があるのでもう少し速くしたい。
以上、宜しくお願いします。
0490A
NGNGもう解決しちゃったみたいだから、いいといえばいいんだけど。
ボタンの宣言は、置換で、フォームの設計は、フォームをテキストで表示して
同じく、ボタンのクラス名の部分だけ置換すれば、大丈夫だったと思う。
そうすれば、配置や設定はすべてそのままだし。
0491デフォルトの名無しさん
NGNGヘルプを作るのにいいソフトを教えて下さい
0492デフォルトの名無しさん
NGNGFrontPage
0493「サッ」とか書かなければいいのに…
NGNGメモ帳。
0494デフォルトの名無しさん
NGNGDelphi
0495デフォルトの名無しさん
NGNGcodeguruとかcodeproject見たいなサイトってないのでしょうか?
あったら教えてください。
0496デフォルトの名無しさん
NGNG無い。
0497デフォルトの名無しさん
NGNGあれよ!
0498デフォルトの名無しさん
NGNGDelphi Tips
でググればいっぱい出てくるけどな〜
0499デフォルトの名無しさん
NGNG0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG>つまりボタンコントロールをクリックしたら必ずTForm1のOnMouseDownを通るように
>したいのです。
TApplication の OnMessage で対応できそうだよ。
0503デフォルトの名無しさん
NGNGワラ
0504デフォルトの名無しさん
NGNGでフォームをフェードインして表示させると描画されない領域が出てきます。
パネルとかボタンならInvalidateで表示されるのですが
TMemo,TListBox,TTreeViewなどのスクロールバーが表示されていると
スクロールバー部分が灰色一色になり、うまく表示されません。
Invalidate、Refresh、UpdateWindow、InvalidateRectなど試してみたのですが
どうしてもスクロールバー部分だけ表示されません。
どなたかスクロールバーを再描画する良い方法知りませんか?
0505デフォルトの名無しさん
NGNG0506459
NGNGレスありがとうございます。
私の読解力とスキル不足により、具体的にどうすればその方法が出来るのか分かりません。
すいませんが具体的なやりかたを教えて下さい。
宜しくお願いします。
0507451
NGNGTApplicationを少し調べてみました。
他にもいろいろ有効に使えそうなコンポーネントですね。
使いこなせるように頑張ります。
教えてくださってありがとうございます。
0508デフォルトの名無しさん
NGNGみたいなくだらないものを、作りたいんだけどどうしたらえーん?
OnClickイベント内でButton.Free使うとエラーでるんです。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNG0511504
NGNGそれももちろんやってて
Hide;
AnimateWindow(Handle, 1000, AW_BLEND or AW_ACTIVATE);
Show;
とやってるのですがうまくいかないです。。
なんでだろう…
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNGオプション設定では無理みたいです。
不便なんですがDelphiでは無理なんでしょうか?
0515デフォルトの名無しさん
NGNGDelphi のバージョンは?
D4 か D5 の IDE のバグ。.RC ファイルを手で書くか、自動生成されるリソースを
ちょいと変えるだけ。
0517デフォルトの名無しさん
NGNGお願いします。
0518353
NGNG激しく遅レスなんで、もう解決しただろうけど一応。
こことか参考にしてTreeViewのWindowProcを入れ替えてください。
http://forum.nifty.com/fdelphi/samples/00400.html
0519素数2
NGNG0521242
NGNGレスありがとうございます。
実はまだ解決してなかったのでほんと助かりました。
なるほど、こうやればよかったんですねー。
でも>>353さんのソースのおかげでいろいろ検索かけて
CommCtrlからTreeView_SetInsertMarkとか
TreeView_SelectDropTargetなどの便利な関数とか
発見できたりいろいろ勉強になりました。
教えてもらったの早速やってみます。
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGそのチェック外したら、実行速度が速くなった気がするんだけど、気のせい?
0526seven
NGNGExtractFilePath(Application.ExeName)
が一番Pascalらしい(ってなんですか)
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNGPascalらしさを選ぶならParamStrの方が正しいのだが
0529デフォルトの名無しさん
NGNGありがにょん。
リソースで気づいたのですがサンプル見ながら作ったので
{$R *.RES}を削ってました。
0530デフォルトの名無しさん
NGNGで「データベース」タブの+をクリックすると変更できなくなりますが、
これを変更可能な状態に戻すにはどうすれば良いでしょうか?
今のところ再起動しかやり方がわかりません。
またこの機能は何の役に立つのでしょうか?
0531デフォルトの名無しさん
NGNG>{$R *.RES}を削ってました。
そりゃしょうがない。
解決したならよかった。
0532デフォルトの名無しさん
NGNGって、ツリービューの + ? たとえば DBDEMOS の文字の前にある + のことかな?
それはデータベースが開かれている状態を意味しているから、ツールバーの左端、
「開く」ボタンを押しなおしてデータベースを閉じればよし。
ほかにも、右クリック - 閉じる を選んでもよいし。
ただ、BDE Admin 終われば、データベース接続は開放されるはずなので、
「再起動しか」って意味がわからないんだけど。
もしかして別の場所のことを言っているのかなぁ。
気になるなら、画像掲示板でも使ってください。百聞は一見にしかず
0533530
NGNGそうです。ツリービューの+です。
右クリック→閉じる で解決しました。
ありがとうございます。
データベースが開かれているという意味だったんですね。
(再起動といったのは、BDE Adminの事です。混乱させてすいませんでした)
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGDel6は持っています。
0537デフォルトの名無しさん
NGNGDeleteFile('D:\DeleteFile.txt');
これで D:\DeleteFile.txt が削除できます。
0538直リン
NGNG0539デフォルトの名無しさん
NGNGもしも、Del6が、Personal、ならば、Del7Proを、買うと、とても、良い、だろう。
054031歳男性
NGNG0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNG来年には中学校に入学するから
簡単な言語はやめて複雑な言語勉強しなくちゃ。
思い切ってC++でもやってみようかな。
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNGありがとうございます。できました!
0545デフォルトの名無しさん
NGNGそんなレベルでよくDelphi使えるな…。
0546デフォルトの名無しさん
NGNG実行ファイルを0と1を直接入力で作れないうちは、まだまだひよっこ
0547デフォルトの名無しさん
NGNG漏れも知らんが、一応メインプログラマーだよ。
5000万円程度のプロジェクトだけどね。
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNG545タン(;´Д`)
0550デフォルトの名無しさん
NGNG後継、というわけではないんだが、レポートツール。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNG出るのですが、対処法をご存知の方いましたら教えてください。
お願いします。
0554直リン
NGNG0555デフォルトの名無しさん
NGNGTForm1=class(TForm)
TForm2=class(TForm)
TForm3=class(TForm)
そして、同時に使うのはに一つだけなので
var
FForm:TForm;
として、
case Value of
1:FForm:=TForm1.Create(Self);
2:FForm:=TForm2.Create(Self);
3:FForm:=TForm3.Create(Self);
end;
とやって使った場合、
FForm.Release;をしたときに、
それぞれのクラスでTFormに追加した手続きの分も解放されるんでしょうか?
0556デフォルトの名無しさん
NGNG0557555φs
NGNGTFormのデストラクタが呼ばれたら追加したもの全部リークしそうなイメージですが。
0558デフォルトの名無しさん
NGNG0559預言者
NGNG0560デフォルトの名無しさん
NGNGおそらくuses節にwindowsが宣言されていないだけと思われる。
0561デフォルトの名無しさん
NGNGクラス内部で生成したメモリ領域はそのクラス自体が解放する責任を持ちます。
よって外部から直接Createした領域がない限り、デストラクタが呼び出されると解放されると思っていいです。
コンポーネント側がちゃんとコーディングしてなかったら意味ないけどね(・∀・)
0562デフォルトの名無しさん
NGNGDelphiのバージョンは6です。
0563デフォルトの名無しさん
NGNG最近Delphi6Personalから始めたのですが、いざファイルを保存しようとすると
「適切な識別子ではありません」と弾かれるのですが、
Delphiでファイルを保存するに当たってDelphi独自のファイル名に関する
ルールがあるのでしょうか?
0564デフォルトの名無しさん
NGNG「ヘルプ」ボタン押したら原因がわかりました・・・・
スレ汚しすみません・・・
0565デフォルトの名無しさん
NGNGヘルプを参照したらどうも入出力エラーのようなんですが、
肝心の解決方法がわかりません。
どなたかよろしくお願いします。
0566A
NGNGDelphiでは、ユニットファイルは、usesでソースに記述されるので
アルファベットと数字ぐらいしか使わないのが無難。
正確に、どこまでつかえるのかは、ヘルプで調べてみて。
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNGprocedure TForm1.ShellTreeView1AddFolder(Sender: TObject;
AFolder: TShellFolder; var CanAdd: Boolean);
begin
CanAdd := CompareText(ExtractFileExt(AFolder.PathName), '.lnk') <> 0;
end;
0569568
NGNG表示するには「 = 0」にしてくれ。
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG0572Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / InputBoxか
ミ,,゚Д゚彡 < InputQueryに相当する
ミ つ旦)~~ \ API関数はありますか?
@ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∪''∪ サイズ チイサイノ ホスィ
1.「ある」
2.「無い」
好きな方を選らんでチョ。
0574デフォルトの名無しさん
NGNGあんた自身に価値がない。
0575Delフサギコ ◆A6VzDeLphI
NGNGミ;゚Д゚彡 < 該当API関数
ミ つ旦)~~ \ あったら名前教えてください。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGおまえもね
0579デフォルトの名無しさん
NGNGAdvListViewはpersonalだとインストール出来ないみたいで…
pro買えというのは無しd
0580デフォルトの名無しさん
NGNGもちろん「ある」ぞ。VCLソースが付いてるか否かで雲泥の差。
DelphiはProfessionalが基本で、Personalは機能限定版と考えた方がよい。
0582デフォルトの名無しさん
NGNGttp://halbow.cool.ne.jp/Chap24.html
0583デフォルトの名無しさん
NGNGそれ、API じゃないじゃん。
ダイアログボックスに Edit コントロールをはっつけているだけじゃないか。
0584デフォルトの名無しさん
NGNGDelフサギコ は「超初心者」の枠には入らないと思うんだが。
どのスレで質問してもつきあってあげるからさ。
0585デフォルトの名無しさん
NGNG>580のいうことはあまりあてにならないよ。
ビデオデッキでビデオを再生するには
ビデオデッキの内部構造を
完璧に把握しておかなければならない
とか逝ってる基地外の原理主義者だから。
で、Proが必要になるのは自分でいくつものプロジェクトを作って
その中でたくさんコンポーネントやクラスを設計して
それらをプロジェクト間で使いまわすくらいのことを
やりだすとProのありがたみがわかってくるよ。
あとはDBやコンポーネントやソースの編集機能の違いがあるから
オフィシャルサイトで差を確認してみるといいよ。
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG意味が無いから何でも使えるのだす。
64ビットが普通になれば盲腸になるかもしれないな。
0588デフォルトの名無しさん
NGNGヘルプとかあさってみます。どうも!
0589デフォルトの名無しさん
NGNGButton1.Tag := GetTickCount; // 時間を覚えておく
TWinControl(Button1.Tag).Visible := False; // ボタンに関連付けられたコンポーネントを隠す
>>587
オブジェクトの関連付けは結構便利。
多用すると汚くてわかりづらくなっちゃうけど。
0590587
NGNGTComponent(Sender).Tag
って、今カーソルが乗ってるコンピーネントのタグ、ってことですか?
0591587
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGそう。
カーソルというかそのイベントを発生させる原因となったコンポーネントだね。
0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG禿道。
0599デフォルトの名無しさん
NGNG禿道。
XXXに好きな文字を入れてコピペしまくりましょう。
0600デフォルトの名無しさん
NGNGあれ?これのTagって既に何かに使ってたっけ?てなりそうだから、
俺は使ってない。
0601デフォルトの名無しさん
NGNG/⌒ヽ)
i三 ∪ Delphiの限界が
〜三 | 垣間見えますた
(/~∪
三三
三三
三三
三三
三三
0602Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 Halbowタンとこに
ミつ日(ミ いい感じのがあったんですね。
調べてみます。
超初心者以外向け質問は、
"ミ,,゚Д゚彡フサギコとモナーのDelphi質問相談談話室"
最近は、こっちなのかしら・・
0603デフォルトの名無しさん
NGNG用途ごとにパネルの内容を変えたいのでPagecontrolを使ってみたのですが、
もっとスマートな方法ってあるでしょうか
0604デフォルトの名無しさん
NGNGページを切り替えれば良さそう。
0605デフォルトの名無しさん
NGNG(・∀・)デキター!!
Tabvisibleの存在を見落としてました。即レス感謝です!
0606デフォルトの名無しさん
NGNGおまえ、何言ってんだ?何が原理主義者だ。ばっかだねぇ。
ありがたみが分かる、って何だ?初心者だから身分相応のパッケージ買えってことか?
初心者だからこそVCLソースが必要なんだよ。はじめから当然のようにソースが見られるって素晴らしいだろ?
必要・不要じゃない。そういうことが当然に可能になっている、ってことが重要なわけ。それが「本物」なんだよ。
0607585
NGNGたしかにVCLソースは便利かも知れないけど初心者じゃVCLソース見ても何も分からないのですよww
利益にならないものに高い金を払うなんて愚の骨頂ですw
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG初心者こそPro買え。
Personalすすめる奴は素人。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGボーランドのエサだったぽ。
0613デフォルトの名無しさん
NGNG確かにそうといえる。
VCLソース読まないとまともなデバッグができない。
こんなクソソース作るなといいつつ、次のバージョンアップに
おびえる今日この頃.
0614デフォルトの名無しさん
NGNG改行を含んでいる場合、
ReadStringで読むと改行以前の部分しか
読みとれなくて困っています。
何か解決策はありますか?
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG使用禁止できる文字があるならば(たとえばタブ文字禁止とか)、
改行コードをその文字に置換して書き出し、読むときに置換し直せば大丈夫。
こんな感じ
Ini.WriteString('Section', 'Ident', StringReplace(S, #13#10, #9, [rfReplaceAll]));
S := StringReplace(Ini.ReadString('Section', 'Ident', ''), #9, #13#10, [rfReplaceAll]);
0618ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1047738536
0619デフォルトの名無しさん
NGNGついでにTo/FromEscapeSequenceも変な名前
0620ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNGあ、エンコードとか、デコードとすればよかったんですね。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1023549124&rm=100
こっちどうぞ
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGttp://www.afis.to/~almclock/contents/software/download.html
0623デフォルトの名無しさん
NGNGTNkDIBを扱ったことのある方にお尋ねしたいのですが、
・設計時にimage1に[tes.bmp]を image2に[tes2.dib]を読み込んである
・image1には
image1.Canvas.TextOut(20, 50, '■'); でとりあえず描けた
・image2には 見よう見まねで
var Canvas: TNkDIBCanvas;
begin
Canvas := TNkDIBCanvas.Create(image2.picture.graphic as tnkdib);
Canvas.TextOut(20, 50, '●');
Canvas.Free;
end; とすることでなんとか描けた
よく解ってないのですが、何か描く度にこのcreate、freeって必要なんでしょうか。
一手間増えて処理が落ちそうで…image1のように単純に描ければよいのですが。
0624デフォルトの名無しさん
NGNGが読めなくてつまずいてます
0625世界一優しいプログラマー
NGNG「つまずいてます」と読むんですよ
0626626
NGNG"ファイル/新規作成/その他" で "コンポーネント" を選び、TCustomPanel を継承して
コンポーネントを作ってみています。
継承したパネル上に、GUI 部品をビジュアルに配置したりできないのでしょうか?
今は、コード内で位置を指定しています……・。
0627デフォルトの名無しさん
NGNG描く頻度が少ないならそれでいいでしょう。
処理が落ちそうと心配なら
with TNkDIBCanvas.Create(image2.picture.graphic as tnkdib) do try
TextOut(20, 50, '●');
finally Free; end;
と一時オブジェクトをtryで受けて finally でfreeするコーディングにすれば大丈夫でしょう。
無名なので、どこかに忘れたりする心配がありませんから
もし、もっと格好良く書きたいなら、 TImageのCanvasをTNkDIBCanvasに置き換えたコンポーネントを作ればどうかと思います
0628デフォルトの名無しさん
NGNGさて、ビジュアルな設計という事は
1、そのTCustomPanel継承コンポの設計上で行いたい
-->それは無理です。TFrameを使う方がいいでしょう。
2、継承コンポを普通のPanelと同じように使いたい。
-->可能です。RegisterComponentでIDEに登録すればよい
0629デフォルトの名無しさん
NGNGそういう用途にはフレームかな?
0630デフォルトの名無しさん
NGNGぱらぱらマンガみたいなのを作ろうと思ってます。
そこで、
for i:=0 to 150 do
begin
TImage1.Canvas.Draw(0,0,PageBmp[i]);
Wait(33);
end;
このようにやって見たのですが、
1枚目を描画したあと、約5秒止まったあといきなり最後の
イメージが描画されてしまいます。
Waitの使い方が悪いのだとおもうのですが、
Timerを使わずやってみたいので、うまく全てが描画されるようご指導いただけないでしょうか。
お願いいたします。
0631630
NGNGWait(33)ではなくSleep(33)で実行しています。
素直にコピーペーストすればよかったのです。申し訳ありません。
0632デフォルトの名無しさん
NGNGttp://www.borland.com/index.html
ここにはなかったんですが・・
0633デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/personal/
0634デフォルトの名無しさん
NGNG試しに "Image1. "を消してみたらどう? つまり Canvas.Drawとフォームに描いてみる
0635デフォルトの名無しさん
NGNGちゃんと探せば見つかると思う。
Borland Delphi 6 Personal ダウンロード
ttp://www.borland.co.jp/delphi/personal/
0636デフォルトの名無しさん
NGNGRefreshを入れる
0639デフォルトの名無しさん
NGNGあれこれ試してみたところ、大きなサイズの画像にガンガン
Canvasのcreateをしても特に処理落ちがなかったので
とりあえずcreate-freeのセットをおまじないのようにくっつけて使うことにしてみます。
コンポーネントをいじるなんてまだまだサパーリです…レスありがとうございました。
0640デフォルトの名無しさん
NGNGtype
TForm1 = class(TForm)
Edit1: TEdit;
Edit1 の可視性は何になるのでしょう?
0641デフォルトの名無しさん
NGNGpublished
ま、publicだと思っていても問題ないけど
0642640
NGNGありがとうございます。
とすると、外からアクセスできてしまいますが、今、単純に Edit1 を protected/private に
移動してみたら、例外が出てしまいました。
こういった制限はどうやってかけたら良いのでしょう?
0643デフォルトの名無しさん
NGNGフォームデザイナから配置したコントロールは
publishedでなければならないので途中で移動しちゃだめ。
どうしてもprivate/protectedにしたければ自分でEdit1を宣言して
FormCreateかどこかでインスタンスを生成する必要がある。
Edit1 := TEdit.Create(Self);
Edit.Parent := Self;
...
0644デフォルトの名無しさん
NGNGあの情報から、Edit1を作り直す為には、 Edit1という名前から
フォームのメンバが見つけられなければいけない。
publishedでなければ、それは無理。
一方 C# とかでは デザイナは直接コードを書き換えてしまう。
つまり >>643 のような手作業するのと同じ事をやってくれる。
0645デフォルトの名無しさん
NGNGこれを点滅させないようにするにはどうすればいいんでしょう
0646デフォルトの名無しさん
NGNGたぶんTabStopプロパティをFalse
0647デフォルトの名無しさん
NGNGどのコンポーネントを使えば良いですか?
0648デフォルトの名無しさん
NGNG>一方 C# とかでは
ひとこと多いね。IDE と言語処理系を混ぜないでね。
処理系がコードを書き換えるのは .DFM / フォームファイルが存在しないからであることを
書いておかないとフェアではないし、JBuilder / Java も C#/VS と同じ方法だね。
0649デフォルトの名無しさん
NGNGどうしてそう優劣を付けたがるかね。
まともに比較したら瞬殺されちゃうんだから
その辺はあいまいにしておくのが上策。
0650デフォルトの名無しさん
NGNGナルホド!! これは盲点でした。ありがとです
0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG独学で学べる良い本ないですか?
技術評論社の「はじめてのDelphi」っていうのが良いみたい
なんですが、もう絶版になってるみたいで・・
0653デフォルトの名無しさん
NGNG基本的なことなら初心者サイト回れば十分じゃない?
0654デフォルトの名無しさん
NGNG「基礎からのDelphi6」あたりがいいんでないの?
0655デフォルトの名無しさん
NGNGwebでの勉強は少し慣れてからにしたいと思っいるので、
明日にでも本屋で「基礎からのDelphi6」を見てみたいと
思います。
即レス、ありがとうございます。
高度なことは本から。
って形がいいと思うんだが…。
「中級者向け」って本が無いんだよなぁ…。オレが中級かどうかはさておいて。
「初めての」とか「基礎から」とかはあるのに…。
ちょっとつっこんだネタだといきなり高くて分厚い本になる。しかも売ってない(泣)
0657デフォルトの名無しさん
NGNG書名書き間違えたみたい
「基礎からわかるDelphi6」
ね
0658デフォルトの名無しさん
NGNGアプリ作って覚える形式じゃなくてちょっとした文法書みたいな感じですが。
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGのヘルプもいいよ!
0661デフォルトの名無しさん
NGNGDelphi3用に作られたAPIやGraphicAPIの分厚くて高価な本がありますが、
Delphi5以降のユーザーが買っても問題なく利用できるのでしょうか?
0662デフォルトの名無しさん
NGNG問題は別に無いと思うけど、本である以上出版以降に追加されたAPIはやっぱり載って無いと思うので
C言語を関数宣言だけでも読めるようにしてMSのPlatform SDKを直にあたった方がいいんじゃない?
0663デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA014436/prg_memo/c/c_d.html
http://www.tensyo.com/urame/c2delphi.txt
0664デフォルトの名無しさん
NGNGトライアル版では使えたのですが、ちょっと不便・・・
0665デフォルトの名無しさん
NGNGWin98 で使っているのかな?
0666デフォルトの名無しさん
NGNG有難う御座います。そのあたりを弄ってみます。
0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG具体的に何をしたいのですか?
0669デフォルトの名無しさん
NGNG.dprファイルでApplication.Runの直前でアプリを終了するかどうかをチェックするとか。
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNGメインフォームのOnCreateでなく .DPR でやる方がいいよ。
0672664
NGNGいえ、XP Homeです。
具体的に症状を書きます。
ヘルプを表示して、テキスト検索のタブに切り替えると
"検索のセットアップウィザード"ってのが出るんですが、
そのウィザード終了時の完了ボタンを押すとエラーが起きてしまいます。
エラーが起きる前まではトライアル版と全く一緒です。
普通はPersonal版でもトライアルのようにテキスト検索も使えるのでしょうか?
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNG(俺のPCでは問題なし、ハードの古さが幸いしてるかもしれない)
0676デフォルトの名無しさん
NGNG役に立つよ。
Delphi勉強しても就職にも仕事にも役に立たないは金にはならないは
時代遅れだわで何にもメリットないよ。
マジレスだけど。
騙されたと思ってC#してみ。
Java覚える必要ないしVBのような簡単な事も出来るしもう
どこにもDelphiの出番はないよ。
0678デフォルトの名無しさん
NGNGDelphi勉強する必要もないし
言語に費やす時間が大幅に減るよ。
その時間を有効活用したほうが人生有意義に過ごせるよ。
余った時間でCやスクリプト言語勉強するもよし、C++勉強するもよし
家族や彼女と費やす時間を増やすもよしでさ。
0679デフォルトの名無しさん
NGNGついでにPerlやRubyのようなスクリプト言語は道具としてつかえるので
覚えておいた方がいい。
実装によるデザインパターンの違い等は慣れがいるだろうけどね。
0680デフォルトの名無しさん
NGNGそれはすごいね。
ここはCも分からないような初心者が集まるスレだからね。
これから言語始める人には余計な苦労するよりも
もっと有意義に時間を使ったほうがいいと思ってマジレスしたまでさ。
0681デフォルトの名無しさん
NGNGせめて読めるくらいでないと支障があるよね
で、複数の言語が使えるようになると
初めて見る言語でもおおよその意味は分かるようになる
漏れも679さんの意見には賛成だな
(FORTRANあたりも読めたほうがいいね)
0682デフォルトの名無しさん
NGNG出来ればCOBOLも読めた方がいいけど、これは畳水練でもいいか。
でも、もし学生で有意義に時間を使いたいならさ、フリーな時間でプログラミングなんて一切止めた方がいい。
一番いいのは、図書館で毎日2〜5冊借りて乱読することだ。英語の本も2回に一度は1冊入れるようにね。
読解力も上がるし、表現力も上がる。視野も広がる。これらが人生にも仕事にも一番大事な事だ。
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGつーか何かの言語覚えたら他の言語も普通に読めるようになれるよ。
BASICはまあ別だけど。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGCD-ROMの中をファイル検索したんですが、WS32.EXE、WS32.EX_は
発見できませんでした。
0688デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/news/del2j.html
残念だけどついてないという事だね
0689デフォルトの名無しさん
NGNG0690687
NGNG素早い回答ありがとうございます。
無料の6 Personalも落としてみたんですが、入ってませんでした。
ProfessionalかEnterprise版を買わないと
WinSightは入手できないんでしょうか?
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGShowModal()で表示したフォーム(ダイアログA)上で
MessageDlg(〜略〜, [mbOK], 0)でダイアログBを表示したとき、
ダイアログBからmrOKが返されると、ダイアログAの処理をぶっ飛ばして
BもAも閉じてしまうんですが、BでOKされてもAが残るにはどうしたら良いんですか?
ソースコードにするとこんな感じ
■Unit1.pas
Form2.ShowModal(); //ダイアログAを表示
■Unit2.pas
if なんか間違ってたら then
begin
MessageDlg('ERROR', mtWarning, [mbOK], 0); //ダイアログBを表示
exit; //←上でOK押されるとこいつ無視される
end;
{ もちろんここも無視される・・・ }
0693デフォルトの名無しさん
NGNGPlatformSDKのSPY使え('A`)
0695デフォルトの名無しさん
NGNG690じゃないけど
上の方のレスにも出てたけどPlatformSDKってどれを入れればいいのですか?
ググってMSのPlatformSDKのHPに行ったんだけどCORE SDKって奴ですか?
それと日本語版って無いんでしょうか?
0696デフォルトの名無しさん
NGNGそんな昔のDOSツールじゃないんだから モーダルダイアログからモーダルダイアログ呼ぶ設計はちょっとなあ
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGあーすいません環境書いてなかった
WinXP+Delphi6Personalです
Form2は BorderStyle:=bsDialog; FormStyle:=fsStayOnTop; くらいしかいじってなくて
Input:TEditとOKボタン(ModalResult:=mrOK;)があって
Input.Textが正の数を表す文字列じゃなかったら
MessageDlg('正の数じゃないとダメよ', mtWarning, [mbOK], 0); してます
以下該当部分のソース(全角インデントなのでコピペじゃ動きません)
procedure TForm2.btnOKClick(Sender: TObject);
var
InputBuf: integer;
begin
//Check Input
if Input.Modified then
begin
InputBuf := StrToIntDef(Input.Text, -1);
if (InputBuf < 0) then
begin
MessageDlg('有効な値ではありません', mtWarning, [mbOK], 0);
Input.SetFocus();
exit;
end;
end;
{ 事後処理略 }
Form2.Hide();
end;
0700デフォルトの名無しさん
NGNGググったら、ちょうど↓で出てるようなことをしたいんですけど
ttp://www.users.gr.jp/ml/archive/delphi/61178.asp
ここでの回答にあったTSpeedButtonを使ってみましたが
ロールオーバー時の切り替えが解りません(フチが浮き上がるだけ)。
押下時のイメージ切り替えは出来たのですが、
マウスが乗ってる時のイメージ切り替えはどのようにすればよいのでしょうか。
バージョンは6 Personalです。
0701デフォルトの名無しさん
NGNG入出力を監視して自分で書くしかないよ。
がんばってください。
0702デフォルトの名無しさん
NGNGMessageDlgの直後に、ModalResult := mrNone; を置く。
0703デフォルトの名無しさん
NGNGそのボタンはツールバーを作るのに使ってるのですか?それだとTToolBarで可能ですよ。
ImagesとHotImagesを指定してFlatをTrueにするだけです。
0704デフォルトの名無しさん
NGNG解決しました ありがとう
そういう仕組みだったんですね・・・
0705デフォルトの名無しさん
NGNG0706デフォルトの名無しさん
NGNGうーん、やっぱりそうでしたか。基本機能で可能ならそれで済ませたかったのですが。
>>703
独立したボタンでやりたいので…
でも、ToolBarのボタンでそうした処理ができるとは勉強になりました。
結局、LMD ToolsをインストールしてTLMDMMButtonを使ったところ
思っていたものと同様の動作が可能でした。おとなしくこれ使うことにします。
レスありがとうございました。
0707デフォルトの名無しさん
NGNGvar
Instance: TComponent;
begin
Instance := TComponent(InstanceClass.NewInstance);
TComponent(Reference) := Instance;
このプログラムはどう読めばいいのでしょうか?
0708デフォルトの名無しさん
NGNG上から順に
左から右へ
0709デフォルトの名無しさん
NGNG気にするな。いつか分かるときが来る。それまではDelphiに任せておけ。
0710デフォルトの名無しさん
NGNG学術書なんかでは結構ALGOL見かけるよ
>>707
InstanceClassで指定した型のインスタンスを生成して引数Referenceに参照渡し
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGこれだけでもCよりはバカプログラマにとっては楽だな。
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGすまん、あなたがコンパイル段階で指摘してくれた。
CとかC++では無理だな。
0715デフォルトの名無しさん
NGNGPtr(DWord(A)+1)
がめんどい。PByteArray使えばいいんだけど、もっとスマートな方法ないものか。
0716デフォルトの名無しさん
NGNG>>
INC()
良いし、デルファイをコンパイルした結果を見ると、
すべて後始末やっているはず。インクリメントは、
関数読んでない。マシン語を実行しているだけ。
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG0719718
NGNG0720デフォルトの名無しさん
NGNGa: array of basic Type;
をやると
setof関数で割り当てやると、自動的に
マネーじ度プログラムなのが良いね。
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNGうん、>>721に基地外がいるの
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGううう、機能のはなしです。
0726デフォルトの名無しさん
NGNG0727ななしへたぐらま ◆XcB18Bks.Y
NGNG内部処理はデータモジュールなどの他のユニットで行うようにすれば
フォームの作り直しが楽になります.
>>585
私も無理してプロ版を買うことはないと思います.
自分でコンポーネントを作ったりとかある程度高度なことを始めると
VCLのソースコードがほしくなりますし実際役に立っています.
プログラミング技術者でDelphiは初めてという場合は
中の仕組みを見たくなるかも知れませんが
それなら『中村の里』に行って来た方が良さそうな気がします.
0729デフォルトの名無しさん
NGNG学校か学生しか買えない
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGそれを縮小するときに4ドットの黒点の数を数える
例えば
■□ なら 2
□■
この結果を g/4 を重みとする。
それをR,G,B各値にかけて按分する。
下絵の dR,dG,dB 描く色を uR,rG,uB としたら
例えば赤は ( dR*(4-g)+uR*g)/4 と求めるわけだ
0732デフォルトの名無しさん
NGNG前揉めてたような。
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGGetGlyphOutline
http://home.att.ne.jp/yellow/hide_n/programming/tips08.html
0735730
NGNG>>734
さんくす
で、GetGlyphOutlineを調べてたらこんなの見つけた↓
SystemParametersInfo( SPI_SETFONTSMOOTHING, 1, Nil, 0 );
これでもスムージングできたんだけど、これだとなんか問題あるのかな?
0736730
NGNGスマソ
0737デフォルトの名無しさん
NGNGCTrl+F
を押したとき例えばShowmessage('押した') ;を実行するには
どうしたらいいのでしょうか?
0738はじめたばっか
NGNGシェアがだめなんじゃなかったけ?
プログラミングって、本に書いてある通りのことをやっていけば、自然にアプリケーションとかを作れるようになるのかな?
どのコマンドをどのように使えばいいのかが、まだ良く分かんないんだけど。
0739730
NGNGスムージングが上手く行われないらしい・・
>>737
if (Shift=[ssCtrl]) and (Key=67) then
Showmessage('押した') ;
0740デフォルトの名無しさん
NGNG集合演算子
↓
if (Key = Ord('F')) and ssCtrl in Shift then ShowMessage('押した');
0741730
NGNG連投すまそ
0742737
NGNG0743デフォルトの名無しさん
NGNGif (Key = Ord('F')) and (ssCtrl in Shift) then ShowMessage('押した');
>>739は可読性が低いという意味で悪い例
0744737
NGNG0745デフォルトの名無しさん
NGNGありがとうございます。単純に安いだけじゃなく
色々制約があったんですね。
0746デフォルトの名無しさん
NGNGExの方がパワーアップしたように見せかけて
実はExの方がサイズ小さい。
0747デフォルトの名無しさん
NGNGなんだか、TQuery形式では動作してくれないような。
0748デフォルトの名無しさん
NGNGとくにBCBはひどすぎます。大変いい処理系だとおもうのに理解できません。
値段が高すぎて購入できないほどでもないし・・・・。
だれか業界の状況をしっているひと、教えてください。
0749デフォルトの名無しさん
NGNGDelphiはともかくBCBは入門書いらんと思う。
DelとC++の入門書があれば事足りるわけだし。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGVBやVCの場合は、これで作れ! と本人の意思に関係なく強制される事が多いわけです。
そうなると、入門書見てそれに書いてある通りに操作してでも、なんとか動かしたいという
要求が強くなり、需要が生まれます。
道具を自分で選ぶ事が出来る人は、入門書が無くとも専門書からどう学んでいけば
良いか当然判っていますから、入門書の需要は少ない事になります。
需要が無ければこの出版不況の時代では供給は生まれません。
良書でも、値段が廉く利幅が少ないと、十分な数が売れなくなれば再販ルートに乗せ
られず、どんどん廃刊になるのが現実なのです。
Delphi/BCBを使いこなす為には、先に、専門書とどう付き合うかの訓練が必要かもしれませんね。
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGお前にも分かるように丁寧に書いてくれてんだと思うよ
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNGこっちの方がいいよ
http://www-fu.magma.ne.jp/~hayase/dddd/
0756デフォルトの名無しさん
NGNGそれ使ってみたんだけど、インストールしてサンプルを実行しても、
#00021 | Direct3DDeviceオブジェクトの生成を行います
#00022 | Direct3DDeviceオブジェクトの生成に失敗しました(Error Code = D3DERR_NOTAVAILABLE)
#00023 |
#00024 | ■■■お別れの時がやってまいりました■■■
#00025 | DGCaradオブジェクトの解放に伴い、全ての関連オブジェクトを解放します
とか出て動いてくれないのです。。。
漏れのヘボPCでは動かないんじゃなかろうか。。
0757デフォルトの名無しさん
NGNGDX9入ってんの?
0758デフォルトの名無しさん
NGNGDirectX9aは入ってるんだけどなぁ。。。
ついでに言うと、
http://www-fu.magma.ne.jp/~hayase/dddd/works.html
このゲームは動くんだよ。。どうしてだろ?
DirectXの診断ツールに拠れば
「ディスプレイ ドライバがサポートしていないため、
ハードウェア アクセラレータを使った Direct3D 9+ は利用できません。
ハードウェアの製造元から新しいドライバを入手できるかもしれません。」
とのことなので、漏れのPCは多分駄目なほうのやつなんだろうな。
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGヤフオクで探してみては?
0762デフォルトの名無しさん
NGNGデルファイとC++どっちがいいでしょう?
C++はデルファイの会社のから無料のコンパイラーで
デルファイは試用版です。
0763デフォルトの名無しさん
NGNG//全画面表示へ変更
Form1.BorderStyle := bsNone;
Form1.WindowState := wsMaximized;
で全画面表示にフォームを変更させたあとそのままプログラムを終了させると
Windows2000では異常ないのですが、Windows98だとタスクバーに
タスクのようなもの(クリックすると消えます)が残ってしまいます
なにか解決方法はないでしょうか?
元のウィンドウ表示に戻してからプログラムを終了させる以外の方法で教えてください。
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGWin9x のタスクバーのバグ。BorderStyle の方が問題だったんじゃないかな?
アプリ起動時と終了時で Windows Style が変更されていると、アプリケーションを
識別できなくなるため、ボタンが残る。
0766デフォルトの名無しさん
NGNG元のウィンドウ表示に戻してからプログラムを終了させる。
これに何か問題あるのか?
0768デフォルトの名無しさん
NGNGどちらが到達しやすいでしょうか?
当方、C言語の多少とPascalの多少を知っているのみです。
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNGどちらもやることをお勧めする。
BCBはPascalが読めないとライブラリ理解できないし、
DelphiもC/C++が読めないと各種SDKを利用する時に困る。
どちらのプロ版も他方の旧バージョンが含まれていたはず。
(中村拓男氏もどちらもやってるけど、どちらかと言うと
Delphiに重きを置いてるようだ。)
0771デフォルトの名無しさん
NGNG「del」と答えるのが正解です。
0772763
NGNG言われたように、BorlandのDelphiのFAQに載っていました
どうもありがとうございます。
解決方法は以下のとおりです。
この動作についてプログラム中で回避する場合には,フォームのOnDestroyメソッドにて以下のコードを実行してください。
タスクバーにウィンドウが残らないようになります。
ShowWindow(Application.Handle, SW_SHOW);
0773デフォルトの名無しさん
NGNGvar x:integer ;
とすると、この処理の中だとxが使えますが、
これを他の処理で使うにはどうしたらいいのでしょう?
0774デフォルトの名無しさん
NGNGhttp://www1.free-city.net/home/s-rf9/page003.html
0775デフォルトの名無しさん
NGNGDelphi6でWebからファイルを収集したいのですが、
例えばC:\Test.txtにURLリストがある状態で
そのURLリストから1行づつURLを取り出してすべてのURLを
HTTPダウンロードする方法ってどうやればいいですか?
サンプルで教えていただけるとありがたいです。
0776デフォルトの名無しさん
NGNGDelphiは構造化言語でもあります。
そのメソッド内で定義した変数は、メソッドという構造の中でしか有効でありません。
別のメソッドの引数にする事や、内部で定義した手続きからはそのxを見る事が出来ます。
変数類を外部との通信に使う方法としては
1、一番外側の構造で定義する
外側には、
・クラス内変数
・UNIT内グローバル変数
・公開されたグローバル変数
などがあります。
2、const で定義してて 無理やり寿命の長い変数として使う
3、ヒープからメモリを確保する
などがあります。
0777デフォルトの名無しさん
NGNGwith TStringList.Create do try
LoadFromFile('C:\Test.txt');
for i:=0 to Count-1 do begin
DownLoadFrom( Strings[i] );
end;
finally free;end;
0778デフォルトの名無しさん
NGNGありがとう。
実験してみます。
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG何 そ れ ?
Class型はヒープに確保って、Var i:Integer; と、どこがどう
ちがうのですか?
0781デフォルトの名無しさん
NGNGローカルネットワークでC/Sのシステムを作る時、
PrivateDirをコードで記述しないと、
「他の.Netファイルがこのディレクトリをコントロールしています」や
「LCKファイルが大きくなりすぎています」
などのエラーが出るそうですが(というか実際出ていますが)
これはデフォルトだと、実行ファイルと同じフォルダにLCKファイルやNetファイルが
出来ますよね?
PrivateDirをコード中で明示的に記述しても同じ事だと思うのですが、
なぜ、そうしないとエラーになるのでしょうか?
0782デフォルトの名無しさん
NGNG「ヒープ」はWindowsが扱えるメモリ領域全般。
物理、仮想両方。構造体とかクラスとか大きなメモリを使うときはこっち。
「スタック」はプログラムが起動したときに
メモリに読み込まれたプログラム周辺に確保されるメモリ領域。
大きさが制限されているけどヒープよりちょっと早い。
ただし、足りなくなるとプログラムの動作がおかしくなる。
かなり古い本だがBorland PressのC++Builder入門Vol.1、Vol.2が
そういう流されがちなことをいちいち書いているのでお勧め。
Delphiでも参考になる部分は多い。
MicrosoftPressの絶版になっちまった本がすごい丁寧なんだけど、
今じゃ入手できないからなぁ
0783デフォルトの名無しさん
NGNG>今じゃ入手できないからなぁ
中古という手もあるし、書名を書いてやっておくんなせい
0784デフォルトの名無しさん
NGNGInteger と Extended の変換ってどうやれば良いのでしょう?
0785デフォルトの名無しさん
NGNGとりあえず
implementation
var
x: Integer;// >>776UNIT内グローバル変数
{$R *.dfm}
0786デフォルトの名無しさん
NGNGInt、Round
0787デフォルトの名無しさん
NGNGDelphiはどこに売ってるのでしょうか?
また、そもそもDelphiはこの世に存在するのでしょうか?
Delphiの限界が垣間見えました。
0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNGソフマップ
0790デフォルトの名無しさん
NGNGあんなに書籍コーナーとって大丈夫なのかな
0791デフォルトの名無しさん
NGNGおまえの限界が垣間見えるぞ。
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGポイントカードをあれこれ持ちたくないので
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGバイナリファイルを開いたときに「ヌル文字を含んでいるから・・・・」
という警告ダイアログを出したいのですが、
どういう風にチェックすればいいのでしょうか?
0796デフォルトの名無しさん
NGNG2.一バイト毎調べる
0797デフォルトの名無しさん
NGNGワラタ
0799デフォルトの名無しさん
NGNG実際に動いて
0800デフォルトの名無しさん
NGNG8
0
0} program test; {$APPTYPE CONSOLE} uses SysUtils; var
g: integer; begin g:=0; readln;
end. {
t }
0801デフォルトの名無しさん
NGNG(数字以外のキーを押しても反映されない)
0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNGPaintBoxのOnPaintでループ回してシコシコPixels[x, y]への代入にて
描画してるんですが遅い…
GoogleでDelphi PaintBox ScanLineでサーチしたけど、
たった3件しかも役立たず…(´・ω・`)
PaintBox.OnPaintじゃScanLine使えないし、
どうすれば速くなるの?(;´Д⊂)
教えてエロい人おながいします (;´Д`)人
0804デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=16#0223.txt
これでどうでつか?
0805デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/coco-nut/
0806デフォルトの名無しさん
NGNG1、TBitmapを作ってBitmap上で描画しておいてから Draw
2、CLXにする
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGクリックスにするだけで速くなるんですか?
0811デフォルトの名無しさん
NGNGこれだとステータスバー1番目のパネルにしか乗らない
2番目のパネルに乗せるにはどうしたらいいのですか?
ProgressBar1:=TProgressBar.Create(self);
ProgressBar1.Parent:=StatusBar1;
0812デフォルトの名無しさん
NGNGこれって仕方ないのでしょうか?
そして、10000Kを超えた後に最小化したら1000Kくらいになり、
さらに、これを元に戻したら2000Kくらいになりました。(なぜか起動時より少ない)
どうなってるんでしょう
0813デフォルトの名無しさん
NGNG2番目のパネルの位置を算出して、その位置に移動させる。
0814デフォルトの名無しさん
NGNGWindowsプログラムってそういうもんです。
0815デフォルトの名無しさん
NGNGうまくいきました!ありがとう
0816デフォルトの名無しさん
NGNGWindowsに限りません。
0817デフォルトの名無しさん
NGNGconstrutor Ttest.Create(・・・・・・・・・・・);
begin
For i := 0 to 10 do
begin
・・・・・・
・・・・・・・・
end;
end;
For to do は使えないんでしょうか?
0818デフォルトの名無しさん
NGNG見たまんまだとvar i: integer;してないけどどうなの?
0819デフォルトの名無しさん
NGNGfor i:=0 to ・・・のラインのところに
「エラー (:= 使うところに =が使われて・・・・」
のようなメッセージが出ます。ちゃんと := になっているんだけど・・。
0821デフォルトの名無しさん
NGNGvar
i: integer;
これみたいです。
unit test;
interface
type
Ttest = class
i: integer;
としてたんですが
implementation
Constructor Ttest.Create (x,y:integer);
var
i:integer ;
begin
for i:=・・・・・・・・・・
としたら問題なく動きました。なぜでしょう?
0823817
NGNGアドバイスありがというございました。
0824デフォルトの名無しさん
NGNGネットワーク越しに8バイトヘッダのついたStringをやりとりしたいと思って
色々調べた結果、TMemoryStreamをSendStreamで流すことにしたんですが
ReadBufferでデータを取り込むところまではうまくいったのに
その処理をしている関数が終わった時点で循環参照?だかなんだかわからないけど
アドレスBAADF00DでアドレスBAADF00Dに対する読み込み違反とやらが起きてしまいます
データの元はWord2つCardinal1つString1つを持ったクラスで
それぞれをコンストラクタで受け取って、自分でCreateしたStreamに
FStream.ReadBuffer(FHeader1, SizeOf(Word));みたいな感じで
順番に読み込んでます(ここまではメモリダンプ見ても一見?問題なく動いてる)
下にソース書いてみます
0825デフォルトの名無しさん
NGNGTQueryBuffer.Create
(const H1, H2: Word; const H3: Cardinal; const S: String);
var
pS: PChar;
begin
FHeader1 := H1;
FHeader2 := H2;
FHeader3 := H3;
FMessage := S;
FStream := TMemoryStream.Create();
FStream.SetSize(MaxStreamLen);
FStream.ReadBuffer(FHeader1, SizeOf(Word));
FStream.ReadBuffer(FHeader2, SizeOf(Word));
FStream.ReadBuffer(FHeader3, SizeOf(Cardinal));
pS := PChar(Addr(FMessage[1]));
FStream.ReadBuffer(pS, Length(FMessage));
end;
↑ステップ実行するとこの直後AccessViolationが起きる
例えばメインの処理内でvar Temp: TQueryBuffer;として
Temp := TQueryBuffer.Create($0, $0, 1234, 'test');したときに、
←この行に帰ってくる直前でコケる
0826デフォルトの名無しさん
NGNGそもそもそんなもん使わんでももっと良い方法があるのか
教えてくらさい
0827デフォルトの名無しさん
NGNG使えます。思い切りFAQです。半年に同じ1度質問が来ます。
海外サイトを検索してください。
>>758
グラフィックボードがへぼいからかと。
ボード名を書かないことから、大体わかる。
0828デフォルトの名無しさん
NGNG0829829
NGNGどうやって宣言したらいいのでしょうか?
0830バグ?
NGNG「 アドレス〜でアドレス〜に対する読み込み違反がおきました 」
というOSの例外が発生するようになってしまいました。
(環境) WINDOWS98SE、DELPHI6 PERSONAL update2+RTL3
(不具合発生の詳細)
1、「新規作成」「アプリケーション」で出した フォームだけのアプリ を
コンパイルし、IDEから生成されたアプリを終了しても同じ現象が起こります。
2、コンパイルして出力されたEXEファイルをエクスプローラから実行すると
アプリを終了してもOSの例外は発生しません。
3、2年前にDELPHI PERSONALを導入した時にはこういうバグは
ありませんでした。 RTL2を当ててからこうなったような・・(不確かですが)
4、DELPHI PERSONALと修正ファイルをアンインスト&再インストしても
直りませんでした。
5、OSはつい最近リカバリしたばかりなのでOSが逝ってるとは考えにくいです。
(100%無いとは言い切れませんが..)
もし直し方をご存知の方がいらっしゃいましたら宜しくお願いしますm(__;)m
RTL2以降を当てないで使えばいいのかな・・ でもバグフィックスが・・
0831デフォルトの名無しさん
NGNGWMPコンポーネントを追加してるとそーなることが
0833830
NGNG何故直ったのかはワカリマセンが大変お騒がせしてすみません〜
今後も原因の究明をするつもりなので解ったらお知らせします。m(__;)m
0834デフォルトの名無しさん
NGNGxx:xx:xxに変換する関数おせーて
0835デフォルトの名無しさん
NGNGprocedure TransrateTMediaPlayer1PositionReturnValueToxx:xx:xx()
0836デフォルトの名無しさん
NGNG; セミコロン
, コンマ
の役割をおしえてください
0837デフォルトの名無しさん
NGNGセミコロンは文字区切り
カンマつーかPRINTの第一引数は出力先の指定…だったっけ
0838デフォルトの名無しさん
NGNGまったくの初心者なんで迷惑をおかけしました(´・ω・`)
助かりました
0839デフォルトの名無しさん
NGNGという動作をさせているのですが、二回目以降最小化ボタンが押せなくなってしまいます。
これを回避する方法を教えて頂きたいのですが。
0840デフォルトの名無しさん
NGNGそんなのどういうインターフェースにしたいかでいくらでもあるだろ。
タスクトレイへ収納するのか、バックグラウンドで動かすのか、その他…
0841デフォルトの名無しさん
NGNGまさかとは思うがApplication.Restoreをしていないなんて事はないよな?
0842824
NGNG別の質問です・・・
TServerSocketは何故かOnError(OnErrorEvent?)が隠されてるので
仕方なくTry...ExceptでESocketErrorをキャッチしてるんですが
そのとき飛んできた例外がMessage: Stringと
HelpContext: Integer(いつもゼロ)しか持って無いみたいで
これまた仕方なくif E.Message = <エラーメッセージ全文> then
で条件分岐するトンチキな実装になってしまいます
これを例えばエラーコードを順序型で得る方法とか
何か良い方法は無いですか?
PersonalなのでTServerSocketの実装みてオーバーライドするわけにもいかず
もうお手上げです
#Enterprise版のHelpを手に入れて手探りでオーバーライドしてみたけど
#Error関数もOnErrorプロパティもError周りの関数がことごとく呼ばれなかった・・・
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG使えません。
0845デフォルトの名無しさん
NGNGキャストすりゃ使えるけど?
不安なら定数宣言しときゃいいだけで
type enum = (first = 1, second = 2);
にしといて、
var buf: Array[enum] of Integer;
でサイズ指定したりとか
buf[Integer(first)] := 123;
buf[Integer(second)] := 456
とかできる
0846デフォルトの名無しさん
NGNGbuf[Ord(first)] := 123;
0847デフォルトの名無しさん
NGNGいや
var buf: Array[enum] of Integer;
と定義したんなら
buf[first] とアクセスするのが一番正しい。
0848デフォルトの名無しさん
NGNG1、静的配列の定義で 添字型として列挙型を使っていれば 添え字に列挙型の値が使える。
2、動的配列では添字は常に整数であり列挙型は使えない。
注)添字型に使えるのは列挙型だけでなく その範囲が31ビット以下の全ての順序型。
整数型 Shortint/Smallint/Byte/Word
文字型 char / WideChar / AnsiChar
論理型 boolean /ByteBool 等
列挙型
部分範囲型
0849デフォルトの名無しさん
NGNGそれだとコンパイルエラー出ない?
0850デフォルトの名無しさん
NGNGコンパイルエラーが出るのは >>845-846
0851デフォルトの名無しさん
NGNGやべぇ俺が持ってるのDelphiじゃないのかも(笑
テスト方法間違えたかな
0852デフォルトの名無しさん
NGNGDELのことはあんまりわからないでうsが
825のReadBufferはWriteBufferの間違いでは?
>>842
ServerSocketからrecvしようとしてエラーになるのかな?
0853デフォルトの名無しさん
NGNGC言語が少しわかる程度の私がDelphiでデータベースプログラミングを
する事になりました。
使用するDBはParadoxです。
テーブルの作成などはDataBaseDeskTopで行います。
でも私にはParadoxやDataBaseDeskTopの使い方が全く分かりません。
これらについて詳しい書籍やHPをお教え下さい。
宜しくお願いします。
(またParadox以外にも標準でDBがあるようですが、それらの用途も教えて下さい)
(dBaseとParadoxの違いは何か?とか)
0855デフォルトの名無しさん
NGNG確かに逆ですね・・・なんでメモリの内容は正しかったんだろう・・・
>>824はもうSendBufで自己管理するやり方にまるまる書き直しちゃったので
忘れてください
>>842に関しては、エラーが起きてしまうというトラブルじゃなくて、
例えばServerSocket.Open()でWSAEADDRINUSEが返って来た場合など
そのエラーをキャッチする為のイベントがTServerSocketに無いので
仕方なくtry...exceptで受ける様にしてあるのを
もっとスマートにできませんか?という質問です
0856デフォルトの名無しさん
NGNGリストボックスで出来るかどうかは知りませんが、リストの上に
ボタンを表示するにはどうしたら良いのですか?
すみません、小規模な質問で・・・
0857839
NGNGすいません書き足りませんでした。
キャンプションバーの最小化ボタンを押した時にタスクトレイに収納したいんです。
今はOnMinimizeにHide、タスクトレイのアイコンを左クリックしたらShowとしています。
しかしこう書くと二度目以降キャンプションバーの最小化ボタンが押せないんです。
この動作を二回目以降も問題なく動かすにはどうすればいいでしょうか?
>>841
niftyのサンプルで見た気がしますが、それはやっていません。
0858830 (解決)
NGNG「AVG」というフリーのアンチウイルスソフトが原因でした。
これが起動している状態でコンパイルし、生成されたアプリを
終了するとOSの不具合が発生し、Explorerがダウンします。
つい最近まではAVGを起動した状態でも問題無かったのですが、
AVGのバージョンアップによりこういう現象が現れたようです。
すべての環境でAVGがDELPHIを妨害するのかどうかは解りませんが
AVGをお使いの方はお気をつけ下さい。(^^;
0859デフォルトの名無しさん
NGNGTApplicationのソース見たわけじゃないからハッキリとした事は言えないけどね。
Showした後、タスクバーに表示された自分のプログラムを右クリックしてみなよ。
「元のサイズに戻す」ってなっている筈。
ApplicationとFormはそれぞれ別のウィンドウで成り立っていて、
Formは普通に使うウィンドウなんだけれども、ApplicationはWidth, Height共に0の見えないウィンドウになっている。
また、タスクバーに表示されるウィンドウはApplicationのもので、Formのものではない事に注意。
んで、Form側の最小化ボタンを押した場合、Applicationが最小化し、Applicationが管理している全てのウィンドウの表示を消す。
同時に、Applicationも最小化し、ユーザーがタスクバーをクリックして、元のサイズに戻してくれるのを待っている。
そして、Applicationが元のサイズに戻ると、管理しているFormに通知し、再表示する処理を行ってるわけだ。
つまり839の場合、Formの最小化ボタンを押してApplicationを最小化したのはいいが、
タスクアイコンのクリックで直接Formを表示してしまったために、Applicationが最小化になったままで、
Formの最小化ボタンを押しても通知先のApplicationが「まだ最小化中」と勘違いしてスルーしているのであった。
多分。想像だから。
0860デフォルトの名無しさん
NGNGというか答えを書かれているのになぜやらないんだろうね。
0861デフォルトの名無しさん
NGNG0862839
NGNGなんというか、目からウロコです。
ApplicationとFormが別のウインドウだとは想像もつきませんでした。
>>860
すいません、読み間違えです。
>まさかとは思うがApplication.Restoreをしていないなんて事はないよな?
というのを
まさかとは思うがApplication.Restoreをしているなんて事はないよな?
となぜか読んでしまったようです。本当にすいません。ごめんなさい。
そしてありがとうございました。
0863デフォルトの名無しさん
NGNGリストの上にボタン??
カラムヘッダーのことかな?だとしたら、TListViewでViewStyleプロパティをvsReportにして、
Columnsプロパティを設定すればヘッダーが出てきます。
0864デフォルトの名無しさん
NGNG(C/Sで使用します)
0865名無し
NGNG0866名無し
NGNG0867デフォルトの名無しさん
NGNGDelphiスレとしてはFirebirdがおすすめ
なんといってもIBXがあるためデータグリッドも容易に使えて楽
C/Sならストアドが(フリーで)使えるかどうかということも大きい
0868デフォルトの名無しさん
NGNGhttpdownloadってどう設定すればできるのでしょうか?
0869デフォルトの名無しさん
NGNGそんな前置きは不必要です。
0870デフォルトの名無しさん
NGNGDownloadFromってどう設定すればできるのでしょうか?
0871_
NGNG0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGsの1文字目だけを取得する賢い方法ありますか?
0875873 874
NGNG0876_
NGNG0877875
NGNG0878デフォルトの名無しさん
NGNGString型は配列として扱えるので t := s[n]でn文字目がtに入る
なぜか n≦1 なので注意
0879デフォルトの名無しさん
NGNGできました。ありがとうございます。
0880デフォルトの名無しさん
NGNG例えばTClientSocket.OnReadでStringListの内容を書き換えている場合に、
メインフォームのボタン1を押すと、StringList.Textを
クリップボードにコピーするようなプログラムをした場合、
読み込みと書き込みがバッティングして
書き込み途中の壊れたデータを読み出す可能性はありますか?
またもしそうなら、バッティングを回避する為にはTCriticalSectionを使うんでしょうか
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG非同期に読んだ場合だね?
非同期といっても結局イベントは Windowsメッセージとして送られて来ます。
つまりはメッセージループを持ってるスレッド(大抵はメインスレッド)でイベントは処理されるわけです。
よって、イベント内部でメッセージループを回さない限りは 勝手に再帰する事はありません。
0884デフォルトの名無しさん
NGNGよっぽどでかいデータじゃない限り、StringListへの変更が終わったら、
TextCache:=StringList.Textとして、クリップボードへの貼り付けは
TextCacheの方を使う、というくらいでいいのでは。
0885880
NGNGなるほど
つまりメインのVCL上でやっている限りは、どのイベントから
何にアクセスしても問題ないと考えてOKなわけですね
そのためにTThreadにSynchronizeがあるのかな
>>882
やってみようにもどうやったらバッティングさせられるのかわかりませんでした(笑)
>>884
話を簡単にするためにStringListとクリップボードで例をだしただけなので
ホントはもっとややこしいことしてるんです・・・
0886デフォルトの名無しさん
NGNG別スレッドとの同期をWindowsがやってくれるので便利ですね
0887デフォルトの名無しさん
NGNGST,ST1: TMemoryStream;
///
ST := TMemoryStream.Create;
ST1 := TMemoryStream.Create;
///
ST1.LoadFromFile('...');
ST.Write(ST1,ST1.Size);
ClientSocket1.Socket.SendStream(ST);
とすると、うまくストリームの内容が送信されていません。
何がおかしいのでしょうか?
0888デフォルトの名無しさん
NGNGStreamポインタが変なところにあるから。とか。
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGST.Write(ST1,ST1.Size);
でSTに追加できますよね?
0891デフォルトの名無しさん
NGNG教えてください・・・。
0892デフォルトの名無しさん
NGNG調べれば良かろう。勝手に。
0893デフォルトの名無しさん
NGNG0894_
NGNG0897763
NGNGプロパティTabStopをFalseにしてフォームに配置すると最初はフォームがアクティブなのですが
TrackBarをスライドさせるとTrackBarがアクティブになるようでカーソルなどがTrackBar
に反応してしまいます。
キー入力をフォームで拾いたいのですがどうすれば、TrackBarをスライドさせる前のように
もどせるのでしょうか?
0898デフォルトの名無しさん
NGNG↑中身はROのエミュ鯖で、Delphi6らしいのですが
リードミーに載ってたファイルも落としたのですがコンパイルできません
コンパイルの仕方教えてください
0899898
NGNGってエラーがでます
0900デフォルトの名無しさん
NGNGエミュレートについては合法なのだが、
その手のゲームサーバーは
0901デフォルトの名無しさん
NGNGその手のゲームサーバーはマップデータとかないと無意味。
そのデータなどは自作じゃなければいけません。
データを自作できる人がコンパイルで悩むはずがまずありません。
つまり貴方にそのソフトは使えません。
OK?
0902デフォルトの名無しさん
NGNGそのエラーだけしかでていないのですね?
それでは何が原因かを突き止めるのは、不可能です。
諦めてください。
質問スレで一番嫌われるのは小出し野郎です。
0903デフォルトの名無しさん
NGNGから察するにプロジェクトオプションのユニット出力ディレクトリが"..\obj"になっているようだが。
.dprのあるディレクトリの上にobjディレクトリを作るか、
プロジェクトオプションを修正しないとだめぽ。
0904デフォルトの名無しさん
NGNGQuickReportのソースはどうなるんでしょう?
コンバートできるのか、ライブラリだけは残してくれてるのか?
0905_
NGNG0906デフォルトの名無しさん
NGNG>すみません。やっぱ、Streamを文字列に変換する方法
いくつかあるけど確実なやつ
with TStringList.create do
LoadFromStrem( aTStrem );
ResultString := text;
Free;
end;
0907デフォルトの名無しさん
NGNGCopyFrom(sTStrem, 0);
ResultString := DataString
Free;
end;
でもよいかな?
0908デフォルトの名無しさん
NGNG素直な初心者がそのまま書いてエラーがでてまた質問というのもなんだから…
・2行目にbeginを入れる
・念のためtry finally文で確実にFreeさせる
こんなところでしょうか
0910デフォルトの名無しさん
NGNG>ライブラリだけは残してくれてるのか?
QR ライブラリは添付されています。
ML の記事を中途半端に読んでこっちで質問か?
0911デフォルトの名無しさん
NGNGtry finally文ってなんですか?
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNGttp://www13.big.or.jp/~akasata/programming/DelphiGuide/exception/dguideEx01.htm
0914デフォルトの名無しさん
NGNGLabel1.Caption := IntToStr(GetTickCount);
Label2.Caption := IntToStr(GetTickCount);
end;
というのを、わざわざ↓のように書くメリットは何かあるんでしょうか?
var
sGTC: String;
begin
sGTC := IntToStr(GetTickCount);
Label1.Caption := sGTC;
Label2.Caption := sGTC;
end;
0915デフォルトの名無しさん
NGNGLabel1.Caption := IntToStr(GetTickCount);
Label2.Caption := Label1.Caption;
end;
0916デフォルトの名無しさん
NGNG釣りか?
上と下の結果は同じにならんように見えるが・・・?
0917デフォルトの名無しさん
NGNGある処理をさせたいのですが、これは可能なのでしょうか。
可能ならば、その方法を教えていただけないでしょうか。
よろしくお願いします。
0918デフォルトの名無しさん
NGNGわざわざ使う必要があるのかどうかということ。
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG若干可読性が増すという程度かな
Label1というのがもっと意味のある名前だったら本当に不要かもしれん
(この値を他にも使うのなら話は別)
0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGwith .Caption do
Label1. := Label2. ;
ただしモニタが小さいと.が見えないという諸刃の剣
0923デフォルトの名無しさん
NGNGほぼない。
ただしWin32API(GetTickCount)の呼び出し回数を減らすと高速化につながることはある。
0924デフォルトの名無しさん
NGNG0925デフォルトの名無しさん
NGNGプロパティをひとつの関数内で二回以上読んでいたら、変数にキャッシュした方が速くなる(場合もある)
0926デフォルトの名無しさん
NGNGその値を他のプロパティにセットするのはあまりおすすめしない。
モノによっては読み出すだけでも多くのステップ踏んでいたりするので。
(中身を理解しているのなら別だけど)
0927デフォルトの名無しさん
NGNG頭固すぎ。GUIまわりでそこまで気を使う必要はない。
せめて具体的に問題になるケースくらいageたら?
0928デフォルトの名無しさん
NGNGサーバーから100バイトのデータを送ったとして、
クライアントでReceiveLength=100を受け取ったけど
ReceiveBuf(buffer, ReceiveLength)の返り値が80だった場合、
直後に再びOnReadが呼ばれるんですか?
それとも自前でもう一度ReceiveBufを呼ばないとダメですか?
それとTClientSocketとかだと確かデフォルトでTCPなので
ReceiveLength自体が80とかになるという事は無いと思うんですが
あってますか?
0929デフォルトの名無しさん
NGNG知っててやってるのと
知らないでやってる場合だと
問題が起きたときに対処の仕方が変わってくると思うけど・・・
だから知っておくことは必要だし
知ってるなら普通セーフティなコードを書くんじゃない?
0930デフォルトの名無しさん
NGNGでは、変数を使って可読性向上と高速化を図ることにします。
0931デフォルトの名無しさん
NGNGTIniFileのような比較的簡単に書き込めるオブジェクトは用意されているのでしょうか?
それとも、あの書式で書いて直接出力するしかないのでしょうか?
0932デフォルトの名無しさん
NGNGだからその問題って何?
すくなくともまともなGUIコンポーネントではそんな問題はみたことないね。
TYourLabel.GetCaptionが一時間かかるなんてケースを想定することは可能だけど
そんな妄想上の超例外ケースを持ってGUI周りのコーディング全てに>>926の制約を課す意味はないよ。
0933デフォルトの名無しさん
NGNGm3u専用のはないです。
TStringListとFormatを使えばできるでしょう。
0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG0937936
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNGその情報を流した人に聞いてください
0940デフォルトの名無しさん
NGNG一般論として、関数/プロパティが内的副作用を持つかどうかがわからないときは、結果を
変数で受けてそれを再利用すると潜在的問題を回避できる。
最初の例の GetTickCount は、呼び出すたびに異なる値(Windows 起動時からの Tick (55msec?) 単位の積算時間)
を返す可能性のある関数なのだから、ラベルごとに GetTickCount を呼んでしまうと意味が変わってしまう。
逆に、副作用が存在しないこと(複数回呼び出しても一回呼び出しても意味が同じ)場合は
動作的にも性能的にも大差はない。
0941デフォルトの名無しさん
NGNGやはりAPIを直接使うしかないですか?
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNGttp://www.fi.muni.cz/~xkovalc/
TAudioMixer
が使えないかな?
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG�@
もし
A かつ B
ならば
not B にして、C する
�A
もし
A かつ not B
ならば
B にして、C する
これを書けばこんな感じなのでしょうか?
if A and B then not B C
if A and not B then B C
�@�A両方を行いたいのですが、永遠にループしてしまいます。
そうではなく
�@の場合は�Aを一度行って終わり。
�Aの場合は�@を一度行って終わり。
このようにしたいのですがどうすればよいでしょうか?
質問しておいてモウシワケナイのですが、delphiに限らずプログラム全くわかりません。
どうぞよろしくお願いします。
0946デフォルトの名無しさん
NGNG�A if A and (not B) then なにか=B ; C;end;
�@の場合は�Aを一度行って終わり。
�Aの場合は�@を一度行って終わり。
if A then begin
case B of
true: begin なにか=not B; なにか=B; end;
false:begin なにか=B;end;
end;
C;
end;
not B にするのが B自身であるならば �@を実行すれば B=not B=false になり
�Aを実行しても B=B=falseであるので
if A then begin B=false; C; end;
0947デフォルトの名無しさん
NGNGA も C も影響が出ないようなので省略すると
�@ もし B が真 なら B を偽に
�A もし B が偽 なら B を真に
こういうことなら、確かに永久ループだね?
この事実を踏まえて、もう一度質問を練り直して。
0948デフォルトの名無しさん
NGNG考え方としては、問題に共通している部分が無いかよく見る事
今回は1と2でどちらも「Aであり、かつ」が出てくるので
まず「Aであり」でくくってしまう。
if A then
begin
end;
次に「〜してC」も共通しているので、さっきくくった部分の
最後でやってしまう。
if A then
begin
C;
end;
あとはCする前にBをどうするか考えるだけ。
if A then
begin
B := not B;
C;
end;
0949デルファイの名無しさん
NGNGif A and not B then B C
これなら上の文から順に実行されるんだから、上のに当てはまったら、
下にも当てはまって下の結果になるし、
下に当てはまっても下の結果になる。
どっちかだけを実行したい場合は1つの文にすればいい
if A and B then not B C else if A and not B then B C
~~~~
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGTIBQueryではどのプロパティが該当しますか?
0955デフォルトの名無しさん
NGNGRequestLive は BDE の固有機能。IBX ではできない。
キャッシュアップデートを使えば同様のことは可能。(BDE も内部で同じことをやっている)
0956デフォルトの名無しさん
NGNGない。
API 呼び出しを躊躇しないこと。
0957デフォルトの名無しさん
NGNG>次スレ立てれ
了解
0958デフォルトの名無しさん
NGNG誰かが作ったので良ければ
ttp://halbow.cool.ne.jp/VCL01.html
0959毛の生えたフサギコ
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1055986736/
Part2 を使い切ってから移行してください。
0960デフォルトの名無しさん
NGNGあ、RequestLiveをfalseにしとかなきゃエラーになりやすい、と考えてましたが、
つまりはfalse状態てことですか。
0962デフォルトの名無しさん
NGNGそれを明示的に行うのがめんどくさい。ということから、RequestLive や、より一般的な
キャッシュアップデートの手法が開発された。のだ。
ぐぐってみたらこんなページが。BCB だけど理解の助けになれば。
ttp://village.infoweb.ne.jp/~hayato/doc/tips/bcb5_tips.html
0963デフォルトの名無しさん
NGNG自分使ってるのBCBだから大丈夫でつ。
で、コンポーネントも常時調べとかないと、知らないうちに進化するんですね。
0964デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGここの、
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
PaintBox1.Canvas.Pen.Width := SpinEdit1.Value
end;
にセミコロンがいらないのはどうしてなのですか?
セミコロンをつけてもつけなくても問題なく動作しました。
どちらが文法として正しいのか等、教えてくだすれ
お願いします。
0967デフォルトの名無しさん
NGNG付けた方がいい
0968デフォルトの名無しさん
NGNGbegin 文 ; 文 ; 文 ; 文 ; 文 end セミコロンは文と文の「区切り」
begin 文 ; end 文の後に「空文」があるとみなされる
0969デフォルトの名無しさん
NGNG>どちらが文法として正しいのか
文法的にはどちらも正しい。PASCAL 言語での ; は空白と同じだと思えばよい。
文と文を区切るために使う。となれば、空白が複数出てきても気にならないでしょ?
ほんとの空白(#$20)を文の区切りとして使ってしまうと、とっても不便になってしまうので、
;が使われているのです。
ttp://www.ss.u-tokai.ac.jp/~kikyo/lexa/pascalc.txt
が参考になるかと。
0970ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNGhttp://www.ss.u-tokai.ac.jp/~kikyo/02/lexa/pascalc.txt
こっちはつながりまった。
開発中にusesをいろいろ変更してると、いつも不満に感じる事があります。
おそらくPascalの文区切りの思想と通じる所だと思いますが
uses
a,
b,
c;
の記述でcをコメントアウトしたいときに
行頭に"//"つけるだけじゃなくて、セミコロンとカンマを
付け直すのが、面倒で面倒で…ハァ
何かよい解決方法ありませんか?
逃げとして、cの位置にはいつもusesするユニットを
もってきて、開発中にコメントアウトはしない。という手段は使っています。
using a;
using b;
using c;
という記述も取り入れてくれないかな…
0971デフォルトの名無しさん
NGNGyours,
windows;
0972デフォルトの名無しさん
NGNGuses
a
, b
, c
;
こう書かないのか? 俺だけか?
0973Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ / >>971さん
ミ,,゚Д゚彡 < Unitを作っているとwindows.pasも
ミ つ旦)~~ \ 使わないときがあるので…
>>972さん
・・・・・
えっとそれでは、aをコメントアウトしたい時
同様に困るかと…
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG行を分割する時はカンマを左にもってきて欲しい。
0976デフォルトの名無しさん
NGNG0977ななしへたぐらま ◆XcB18Bks.Y
NGNG空っぽのユニットを用意してそれを参照する,というのはどうでしょ.
uses
DUMMY // ←空っぽのユニット
{$IFDEF USE_HOEHOE}
, HoeHoe
{$ENDIF}
;
0978デフォルトの名無しさん
NGNGといって今さらそれが出来ても下位互換考えると そういう書き方は出来ないしね
0979デフォルトの名無しさん
NGNGそれなら、typesとかsysutilsとかmathとかを先頭にしておけばいいじゃんと思ってみたり。
0980デフォルトの名無しさん
NGNGusesも","じゃなくて";"でいいじゃんという気はして来た。
Pascalの文法的には、節は必ず予約語で始まっているので、混乱は無い。
uses
A;
B;
C;
0981デフォルトの名無しさん
NGNG0983Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ ダミーunit使う
ミ,,゚Д゚彡 手はありそうですが、、
ミつ旦(ミ なんかちょい嫌かも。
〜と,,,~),,~)
>>979さん
それらなら、Exeのバイト増えないのかな?
SysUtilsにはinitializationがあるから、ちょっと増えるかも。
下位互換性を考えるとか以前に
コンパイラをちょと修正ってことは
ほとんどないすよね....
>>980さん
。NET化にともなって、
言語仕様もちょっとずつ変更してしまって欲しいなぁ。
usesの名前空間については実装されても、
結局uses 某.A, 某.B, 某.C;形式らしいっすね。
0984デフォルトの名無しさん
NGNG0985966
NGNG皆さん、レスありがとうございました。
0986Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡
ミつ旦(ミ
はやくでないかな、Del.NET
0987デフォルトの名無しさん
NGNGまだまだ .NET が市場的立ち上がってないんだからさ、
もっと時間かけて Delphi.NETで .NET 引っ張れるくらいに成熟させてから出して欲しいね。
0988デフォルトの名無しさん
NGNGその用途なら system が最適だと思うのだが
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNGそんなにはやくいらないよ。
まだまだ .NET が市場的立ち上がってないんだからさ、
もっと時間かけて Delphi.NETで .NETの足を引っ張れるくらいに成熟させてから出して欲しいね。
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1029123152/l50
0995デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1055212786/l50
0996デフォルトの名無しさん
NGNGhttp://www2.free-city.net/home/angelers/index.html
http://endou.kir.jp/betu/linkvp/linkvp.html
099778
NGNG099878
NGNG0999;kmnk;m
NGNG1000nk;mklmn
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。