くだすれDelphi(超初心者用)その14
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGもしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、お礼はDelphiの布教と初心者の
救済をお願いします。
<前スレ>
くだすれDelphi(超初心者用)その13
http://pc5.2ch.net/test/read.cgi/tech/1081003641/
<関連スレ>
Delphi相談室(中級者以上)その12
http://pc5.2ch.net/test/read.cgi/tech/1064420818/
【ドキュメント】Delphi8 for .NET 2【どこ?】
http://pc5.2ch.net/test/read.cgi/tech/1078695271/
<その他>
ボーランド
http://www.borland.co.jp/
DelWiki
http://onigiri.s3.xrea.com:8080/delphi/
0002デフォルトの名無しさん
NGNG13 http://pc5.2ch.net/test/read.cgi/tech/1081003641/
12 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と言うことにしたいんですね:-P
お前は3だ。
0005デフォルトの名無しさん
NGNG乙
0006デフォルトの名無しさん
NGNG乙。
前スレの999だが、>>3は「前スレ1000取ったのに”999”と書いてしまった」
って言いたいんじゃないの?
0007デフォルトの名無しさん
NGNGどうやればできるでしょうか?
0008デフォルトの名無しさん
NGNGあと、普通は絵画じゃなくて描画というよ。
0009デフォルトの名無しさん
NGNGhttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200405/04050015.txt
0010デフォルトの名無しさん
NGNG2ch関係以外。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGiria
RPGツクール2000
つーか、よそでやってくれ
0013デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGこのスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGアホか氏ね
0018デフォルトの名無しさん
NGNGそこまで云われる人権はないと思います。共和国人民の人権は
どうでも良いというのでしょうか?
ニュースステーションの筑紫さんが、インターネットのことを、
便所のトイレって言っているのを知ってます?イルボンサラムは
どうせニュースも見ないから知らないと存じますが。
とうとう、本気で呆れています。おばあちゃんが、どれどれ?と
画面を覗きにきました。それから、おとうさんも来ました。
その6分後、妹も来ました。あなたたちは、共和国人民に笑われています。
とてもいい具合です。家族みんなが、この人たちおかしいね
おかしいねって、互いに罵り合っています。おかあさんは、
もう3年家に帰ってきてませんが、必ずおかあさんもおかしいね、
って云うと思いますよ。どうです?将軍様に謝るなら、今のうちですよ。
私はこれでも気が遠いほうなんです。また3日後、ここに来ます。
0019デフォルトの名無しさん
NGNG>質問者自身何が何だが分からない質問
をしたまでだ。
0020デフォルトの名無しさん
NGNGみんなと一緒がいいのなら、VC++でも使いなさい。
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGこのスレが一体「何が何だか分からない」のも当然だと思われ。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGアーバインは作られてないんですか?
Delphiは最初のステップで
後継ソフト作るの違う言語で作る人多いですか?
0029デフォルトの名無しさん
NGNG>後継ソフト作るの違う言語で作る人多いですか?
作者の勝手です。そんな工程に意味はない。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGDelphiがいいかなぁって思うんですけど。
それで始めにDelphi使ってんのかなあと。
それとDelphiはネットで覚えれますか?
本買ったほうがいいですよね。
どれがいいですか?
これなら安心というお勧めの本教えてください。
0032デフォルトの名無しさん
NGNGあまり周りのこと気にしなくていいと思うよ。
自分がDelphiより魅力が感じられた言語があれば移ってもいいし、
そんなの人によって変わると思うし。
0033デフォルトの名無しさん
NGNGhttp://kakinotane.s7.xrea.com/dirDelphi/mainmenu.html
自分は最初ここで1から学びました。
基本がわかったら
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
自分は書籍なんて一冊も買ってないんでそこらへんはワカリマセン
連カキスマソ
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGDirectShowかDirectSound使っとけ
MCIでもできたかも知らん
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG初めて体験版使って改造しようとした時
Delphiのコピーみたいな造りだなと思ったが、まさか本当に「コピー」だったとは…
0038デフォルトの名無しさん
NGNGありがとうございます。
Delphiすることにします。
>>33
よさそうなサイト紹介ありがとうございます。
Delphiします。
0039デフォルトの名無しさん
NGNG> Delphiします。
Σ(゚Д゚;≡;゚д゚)
0040デフォルトの名無しさん
NGNGようこそDelphiの世界へ
0041デフォルトの名無しさん
NGNG(・∀・)イイヨイイヨー
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG無料版のVer6をはじめてみようと思うんですが、参考本なんかはバージョン6用を探すべきでしょうか?
なんか最近はバージョン8も出回ってるようですが・・・
0044デフォルトの名無しさん
NGNG言語は一緒なので参考書でのバージョンなんかはあまり関係ないかと
書くことはほぼ一緒だし。
とりあえず最初はD6 Personalから始めたほうがいいね。
0045デフォルトの名無しさん
NGNGソフトショップの言語エリアとか見ても全然置いてないんだけど
0046デフォルトの名無しさん
NGNG自分の行っている店も最近見なくなった。
欲しいなら注文かな。
0047デフォルトの名無しさん
NGNGhoge: array[0..n] of array[0..m] of Integer;
0049デフォルトの名無しさん
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
0050漏れの記憶が正しければ
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGなるほど
でもバージョン8から急に変わったんでしょ?
無料版からはじめてみたいと思います。
機能ダウンロードしたのはお試し版の7だったから30日間しか使えないんです。
ところでそのデルフィ7なんですけど、起動したらウィンドウがバラバラの状態で表示されました。
ドッキングさせたいんですけど、どうしたらいいですか?
0053デフォルトの名無しさん
NGNG無料のDel6にしとけ
http://www.borland.co.jp/delphi/personal/
0054デフォルトの名無しさん
NGNGそんなこと気にしないでどんどんコードを書くように
0055デフォルトの名無しさん
NGNGひな形でMDIがあったので楽に作れたのですがエディタの設定(フォントの変更処理など)で行き詰まりました。
アクティブな子ウィンドウの設定は(SDIと同じなので)出来るのですが、その設定を他のウィンドウに張り付いているエディタに反映させる方法が分かりません。
既に生成された子ウィンドウは順に反映&これから生成される子ウィンドウはFormCreate時に設定するしかないんでしょうか。
子ウィンドウの大元の設定を変えるような方法があれば教えて下さい。お願いします。
0056デフォルトの名無しさん
NGNGタスクマネージャを見てみたら、メモリの使用量が9MB近くもありました。
もしやと思って、空のプロジェクトを実行させてみたらこれも
8MB近くメモリを食っていました。
これじゃあんまりだと思うのですが、どうにかならないんでしょうか?
それともあまり気にする事もないんでしょうか?
0057デフォルトの名無しさん
NGNG> 既に生成された子ウィンドウは順に反映&これから生成される子ウィンドウはFormCreate時に設定するしかない
0058デフォルトの名無しさん
NGNG気にする必要はない。プログラムは、exe だけで動作するのではない。いっぱい
ウィンドウズの DLL をロードして使っているのが普通。
ちなみに .NET アプリの場合は、普通の小さなプログラムでも1つにつき40MBだよ
0059デフォルトの名無しさん
NGNGMDIChildCountにMDIウインドウの数が入ってる
MDIChildren[i]で各ウインドウにアクセス
006055
NGNGどうもありがとうございます。
0061デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGでもドッキングした状態が普通なのでは?
もしかしてできないんでしょうか?
0064デフォルトの名無しさん
NGNGはい、そうです。
ユーザにどの設定を変更できるようにするかを決めるのは、プログラムを作る方が
決めることです。ですから、設定変更された時点で、現在のウィンドウに反映させ
これからつくるウィンドウにも反映させなければならないのは、言語に関係なく
論理として当然です。
実際にそれを実装するときには、もちろん言語やライブラリに依存しますが。
0065デフォルトの名無しさん
NGNG自分はDelphiユーザを9年近くやってますが、ドッキングしてつかったことは
ありません。できるのかどうかも知りませんし。
0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNGTForm2(MDIChildren[i]).Memo1.Font.Size := -12;
などのように、実際の型にキャストする必要があります。
0068デフォルトの名無しさん
NGNG>>55は一度子ウインドウの設定をしたら
その後新しく作られる子ウインドウは、プログラムの記述なしで勝手にその設定に合わせてほしいという要望
0069デフォルトの名無しさん
NGNGコードも一度書くだけなんですが。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG質問ですか?
0072デフォルトの名無しさん
NGNGボタン1を押すごとpaintobox1を右クリックするごとに 同一フォルダ内の画像をpaintoboxに
名前順に表示させようとしているのですが
TForm1.Button1Click(Sender: TObject);
TForm1.PaintBox1Click(Sender: TObject);
この二つの手続きに関してまったく同じ動作をさせようとしても後者のほうが明に動作が重くなってしまいます。
(paintbox1. のonclickをbutton1.clickにもしてみましたがこれはより遅く感じました)
button1にカーソルを合わせてキーボードENTER押しっぱなしだと最も快適に動作しているように感じ、
paintbox1.Clickが最も重いように感じます。これはpaint1をダブルクリックした場合との判別のために若干反応を遅らせているのかなとも思うのですが
もう少し快適に動作させたいのです。どのような解決策がありますでしょうか?
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGでもVBとか普通に1つのウインドウの中に全部まとめられてますけど
バラバラにすることもできるし
0076デフォルトの名無しさん
NGNGVar
Jpeg :TJpegImage;
bmp:TBitmap;
begin
if StrToInt(Label1.Caption) < (FileListBox1.Items.Count -1) Then
begin;
if FileExists('*.jpg') then
begin;
bmp := TBitmap.Create;
Jpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(FileListBox1.Items[STrToInt(Label1.Caption) +1]) ;
bmp.assign(Jpeg);
PaintBox1.Canvas.StretchDraw(Rect(0, 0, bmp.Width,bmp.Height),bmp);
Jpeg.Free;
bmp.Free;
Label1.Caption := IntToSTr(StrToInt(Label1.Caption) +1)
end;
end;
end;
procedure TForm1.PaintBox1Click(Sender: TObject);
同上
上記のまったく同じモノを割り当てているのですが下記のほうはシングルクリックなのかダブルクリックなのかを判断するために待っているから反応が遅いのかと考えております。
ちなみにpaintbox1 on dblclickには何も割り当てておりません。
「ダブルクリックされることは考えない」もしくは「ダブルクリックはシングルクリック二回分に相当」のような設定が必要なのでしょうか?
またそのようにするにはどうしたらよいのかご教授ください。よろしくお願いします。
007772
NGNG0078デフォルトの名無しさん
NGNGダブルクリック前にシングルクリックが必ず発生しますよ?
単純に OnClick が二回発生するはず。
0079デフォルトの名無しさん
NGNGダブルクリックでは、
最初のクリックでのボタンを離した時に、OnClickが、
その後のクリックでのボタンを押した時に、OnDblClick が発生します。
0080デフォルトの名無しさん
NGNGおかげさまで解決いたしました。
paintbox1 の onclick dblclick両方ともにbutton1clickを割り当てました。
最初のダブルクリック時の設定が何もなかったためシングルクリックの作業をした状態で止まっていたんですね。
ありがとうございました。
0081デフォルトの名無しさん
NGNGダブルクック時にはシングルクリックの作業をせずに別の作業をさせたい場合だとどうすればいいのでしょう?
シングルクシックでやった作業を「ひとつまでに戻」してからdblclick独自の作業をさせる必要があるのでしょうか?
0082デフォルトの名無しさん
NGNGちょっと落ち着け。誤字だらけだぞ(^^;
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGObject Pascal Style Guide
http://community.borland.com/article/0,1410,10280,00.html
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGhttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200405/04050048.txt
ここに非常に面白い二次元配列の実装がある
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGアクセス遅すぎ
0093デフォルトの名無しさん
NGNG子ウィンドウがある時用と無い時用でメニューを二つ作りました。
子ウィンドウのFormClose時に
if MainForm.MDIChildCount = 1 then
MainForm.Menu := MainForm.MainMenu2;
として切り替えていたのですが、この方法だとウィンドウが閉じる前にメニューが切り替わる為、
最大化時にメニューの左に出るアイコンが消えずに残ってしまいます。
結果、最大化したウィンドウを閉じた後、新しいウィンドウを最大化するとアイコンが二つ出てしまうのです。
本来子ウィンドウが無くなればメニューのアイコンは自動的に消えるはずなので意識したことも無かったのですが、
これを自分で消す方法があれば教えて下さい。
また、メニューを切り替えるタイミングなどで他の解決策があればご教授願います。
0094デフォルトの名無しさん
NGNGやってるんですが、
イメージコンポーネントの領域でクリック(マウスボタンダウンの瞬間)にエラーが出て、
そこから進めなくなってしまいました。
イメージコンポーネント上のマウスのイベントを実装したところです。
CDの途中まで出来てるファイルは使わずに最初から作ってます。
「ソースファイルが見つかりません。:classes.pas」というタイトルのアラートが出ます。
OKは、「ファイル classes.pas が見つかりません。と出て選べず、キャンセルしたら
「デバッガ例外が発生」というタイトルのアラートが出ます。内容は、
プロジェクト Project1.exe EListErrorクラスの例外を生成しました。
'リストのインデックスが範囲を超えています(0)'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
です。ここでOKを選ぶとまた
「ソースファイルが見つかりません。:classes.pas」というタイトルのアラートが出ます。
ここでもういちどキャンセルし、デルファイ6の実行メニューから実行を選ぶと
リストのインデックスが範囲を超えています(0) というアラートが出てます。でOK押すと
戻るんですが、またイメージコンポーネントの領域でクリックしたら最初に戻ると。
デバッグは全く分かりません。初心者です。どうすりゃいいの?。・゚・(ノд`)・゚・。
↓プロジェクト入ってるフォルダ圧縮しました。環境は6パーソナルです。
http://up.isp.2ch.net/up/92a7a902029b.zip
0095デフォルトの名無しさん
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
0096デフォルトの名無しさん
NGNG>94 Statusbarにpanelが無いからエラー。
0097デフォルトの名無しさん
NGNGStatusBarのSimpleText使え
0098デフォルトの名無しさん
NGNGレジストリを書き換え壁紙を変更しようとしています。レジストリは書き換えた
もののそれだけだと壁紙は書き換わらないので困っております。
その後、全画面再描画させれば良いとは思うのですが、どのようにすれば
よいのでしょうか?お教え下さい。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG>>97
でででででで出キタ━━━━(Д゚(○=(゚∀゚)=○)Д゚)━━━━━!!!
ありがとうございました!!!
0101デフォルトの名無しさん
NGNGうわ、普通に提供された機能にあったんですか。
僕すげえ阿呆ですな、ありがとうございました。
0102デフォルトの名無しさん
NGNGもうどうでもいいかもしれないが
StatusBarを右クリックだったかな?で追加すれば設計時にPanelを作れる(はず
SimpleTextじゃ再描画してくれんので再描画必要だと思ったら
設計時にSimpleTextじゃないほうを使いたまえ
0103デフォルトの名無しさん
NGNGTreeViewに表示されているノードをクリックするとNodeTextを変更する事が
出来ます。その際、空白の場合は再入力させたくOnEditedイベントで下記の
ような処理をしています。ですが入可能状態になりません。どうしてでしょうか?
コメントを外しても動きは変わりありませんでした。
よろしくお願いします。
procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode; var S: String);
begin
if Trim(s) = '' then
begin
//node.Selected := True;
//node.Focused := True;
node.EditText;
end;
end;
0104デフォルトの名無しさん
NGNGこれを処理し終わるまでは、再び編集可能状態にすることは出来ないという事かね。わからんけど。
uses CommCtrl;
procedure TForm1.TreeView1Edited(sender: TObject; node: TTreeNode; var s: String);
begin
if Trim(s) = '' then
begin
s := node.Text;
PostMessage(node.Handle, TVM_EDITLABEL, 0, Integer(node.ItemId));
end;
end;
0106デフォルトの名無しさん
NGNGツールでお勧めってなんですか?
0107デフォルトの名無しさん
NGNGイベントを起こすのってどうすれば良いんでしょうか?
OnChangeイベントがあれば良いんだけど見あたらない……
0108デフォルトの名無しさん
NGNGところでなんでそんなイベントが必要なの?
0109デフォルトの名無しさん
NGNGタイマーで監視したら、OK ボタンが押されるまで ColorDialog1.Color は更新され
ないことが分かった
0110デフォルトの名無しさん
NGNGColorDialogをExecuteして、色設定してOKを押したあと、
OK押された時に色設定をPanelの色に反映させたいのですがどうやるのでしょうか?
最初ColorDialogのOnCloseイベントを漁ってみたのですが、
設定した色とズレが起こる(正確にはColorDialogを開く前に設定していた色が反映される)ためうまくいきませんでした
そしてOnChangeイベントも見つからないので悩んでます。
109さんのレスでTimerコンポーネントを使う方法もあることに気付きましたが、
ColorDialogのOKを押した時だけイベントが発生するようには出来ないのでしょうか?
0111デフォルトの名無しさん
NGNGif ColorDialog1.Execute then Panel1.Color := ColorDialog1.Color;
0112デフォルトの名無しさん
NGNGなんでもイベント、プロパティーで出来ると思いがち。
0113デフォルトの名無しさん
NGNGツールは存在するけどお勧めなのはなさそうな。
いっそXMLDOC用のを作ってしまおうかと思ってたけど
C#に移行してしまったので不要になったよw
0114デフォルトの名無しさん
NGNGExecuteから戻ったときにPanel1がRepaintされてしまうので
その後変更しても書き換えれと指示しない限りだめでしょ。
ということを>>112がイワンとしている、ということでおkですか?
0115デフォルトの名無しさん
NGNGColorDialog1.Execute は、それが表示されている間、それ以降のコードが実行
されない。>>111 のコードを Button1Click かなんかで実行してみろよ
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGなるほど……Dialog系はif 〜Dialog.execute thenでOK押したときの挙動を設定できるんですね
Dialog系の基本的な性質を把握できてなかったです。
0118デフォルトの名無しさん
NGNGForm2.ShowModal なんかでも同じ。
0119デフォルトの名無しさん
NGNG希望する色が出てるのに、実行時には着色されない
(D7+XP)みたいですが、なんとかツールバーの
背景色を表示させる方法はないんでしょうか?
0120自レス(119)
NGNGOnCustomDrawイベントを使って
自前でやるようになってるみたいですね。
この方法しか ないということ?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG特に半角カナは全角に変換せずに、半角カナのJISにしたいです。
よろしくお願いします。
0123デフォルトの名無しさん
NGNGJIS って ISO-2022-JP のことでしょ。
ISO-2022-JP に半角カナ (JIS X 0201 の右側) は定義されてない。
SI/SO (G1 に JIS X 0201 の右側があるとして切り替えるシーケンス) や
ESC(I (G0 に JIS X 0201 の右側をロードするシーケンス) を使って
半角カナを表していたメーカー独自の規格もあるけど、正式なものではない。
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNGヒット&ブロー。CDトレイ開ける奴と閉める奴。ジャンケンゲーム。ランチャーのプラグイン。
WinMXで自分のIDを調べる奴。うーむ・・・未だに初級やな○×も作ったか。をーげーむまんせー
0126デフォルトの名無しさん
NGNGbegin
with Result do
begin
x := x;
y := y;
end;
end;
これって望んだ動作にするのって無理ですか?
0127デフォルトの名無しさん
NGNG質問の意味がわからない。
まったく同じ動作をする関数としてPoint関数が用意されてる。
用例
var
zahyo : TPoint;
begin
zahyo := Point(20,20);
end;
0128デフォルトの名無しさん
NGNG右辺値の勝手にくっつくwithを打ち消すのは無理だね。
VBだとできるみたいだけど。
0129デフォルトの名無しさん
NGNG今回の場合なら、127を見習って
result := Point(x,y);
0130デフォルトの名無しさん
NGNG下記のようにすればMainMenuのショートカットは無効化できるんですが
PopupMenuの場合だととうまくいきません。
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
if TreeView1.IsEditing then
Handled := True;
end;
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGImage.Picture.LoadFromFileで400×400のBMPを読み込みました。
この時点で400×400のBMPが見た目100×100のサイズにきれいに収まってるように見えるのですが
Image.Picture.SaveToFileで保存すると400×400のままなんです。
400の画像を100にして利用できるようにするにはどうしたらいいんでしょうか?
0134デフォルトの名無しさん
NGNG100x100のTBitmap用意してTCanvasのStretchDrawかWinAPIのStretchBltすれば?
0135デフォルトの名無しさん
NGNGImage1.Picture.Bitmap を 100x100 にしてから TBitmap でファイルを読みとって
Image1.Picture.Bitmap.Canvas.StretchDrawで縮小
0136デフォルトの名無しさん
NGNG>>135
ありがとうございます。今からやってみますが
Image1.Picture.Bitmap.HeightとWidthにそれぞれ100を代入して、
Bmp1.LoadFromFileして
Image1.Picture.Bitmap.Canvas.StretchDraw(Bmp1)
こういうことでいいんですよね?
0137132
NGNGBitmap.Height := Image.Height;
Bitmap.LoadFromFile(CurrentFile);
Image.Picture.Bitmap.Canvas.StretchDraw(Rect(0,0,Image.Width,Image.Height),Bitmap);
で出来ました。ありがとうございました!
0138デフォルトの名無しさん
NGNGvar
Label:TLabel;
begin
Label := TLabel.Create(self);
try
Label.Parent := ScrollBox1;
Label.Left := 20;
Label.Top := 20;
Label.Width := 100;
Label.Height := 50;
Label.Caption := 'あああ';
finally
Label.Free;
end;
end;
で表示されません。なんで〜? なんか足りないの?
0139デフォルトの名無しさん
NGNGLabel.Freeで脱力した。
0140デフォルトの名無しさん
NGNGLabel.Free;
end:
表示する前に解放されてるからでは。
Parent を設定した場合、明示的に解放しなくとも、
親コントロールが解放してくれるらしいから、解放しなくて
いけない(邪魔だから消す、リソースが足りない(ありえないが))
という理由でもない限り、明示的に解放しなくとも良い。
0141デフォルトの名無しさん
NGNGどーもお騒がせしました
0142デフォルトの名無しさん
NGNGかたっぽのImageの背景は透過させて。
0143デフォルトの名無しさん
NGNGTImage内のTBitmap使えば余裕でできる
透過の意味がよくわからんがキーカラーで抜くならTBitmapにその機能はある。
半透明ならTBtmapのScanlineでご自由に
0145デフォルトの名無しさん
NGNG動的に生成したImageコンポーネントを実行時にドラッグで動かせる方法を教えてください
0146デフォルトの名無しさん
NGNG代入するだけだけど。
0147デフォルトの名無しさん
NGNG{ Private 宣言 }
PictureImage:TImage;
procedure TForm1.Button1Click(TopLeft: TPoint);
begin
if OpenPictureDialog1.Execute then
begin
PictureImage := TImage.Create(self);
PictureImage.Parent := ScrollBox;
PictureImage.AutoSize := true;
PictureImage.Left := TopLeft.X;
PictureImage.Top := TopLeft.Y;
PictureImage.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
end;
>>146上のコードで出来たImageコンポーネントをドラッグで移動させたいんです
0148デフォルトの名無しさん
NGNGPictureImageのMouseイベントハンドラに代入する。
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNGやってません。
ともかくイベントハンドラを作ってみました。
procedure TForm1.PictureMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PictureDrag := true;
Origin := Point(X,Y);
MovePt := Origin;
end;
procedure TForm1.PictureMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
if PictureDrag then
begin
MovePt := Point(X,Y);
PictureImage.Left := PictureImage.Left + (MovePt.X - Origin.X);
PictureImage.Top := PictureImage.Top + (MovePt.Y - Origin.Y);
end;
end;
procedure TForm1.PictureMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if PictureDrag then PictureDrag := false;
end;
で実行したところ・・・
0152デフォルトの名無しさん
NGNG画像2つ目開く→ドラッグしてみる→成功
さっき動かした1つめの画像をまたドラッグ→画像1動かない&なぜか画像2がマウスの倍くらいの勢いで動く。
になりました。だめだ・・・
0153デフォルトの名無しさん
NGNGなんといっていいか・・・これをどう聞けばいいのか分からないんですが、>>151のPictureMouseDownに書く(書けるのか分かりませんが)
PictureImage := Sender.〜〜〜??
みたいな感じに出来ないんですか?
イベントハンドラ側からどうやって同じプロシージャから生成されるイメージコンポーネントを区別すればいいの?
0154デフォルトの名無しさん
NGNG必死にマニュアルあさって PictureImage := Sender as TImage; で出来ました。どもすみませんでした
0155デフォルトの名無しさん
NGNGImage:TImage;
if Sender is TImage then Image := TImage(Sender) else exit;
以下で Image についてコードを書く
0156デフォルトの名無しさん
NGNGそうかif Sender is TImage thenがいるんですね。
TImage(Sender)って動作は as と全く同じですか?
0157デフォルトの名無しさん
NGNG直接キャストでOK
0158デフォルトの名無しさん
NGNGやっとすっきりしました。うまく質問を説明できなくてすみませんでした
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGってなんだ?プロジェクトファイルか?
0161デフォルトの名無しさん
NGNGはい、そうです。解りにくくてすいません
0162デフォルトの名無しさん
NGNGuses Project1 in 'Project1.dpr'
とかやっても駄目。Project1.dcuが見つかりませんとか怒られる。
0163デフォルトの名無しさん
NGNGだからって、しなきゃできないこともない。共通に参照されるユニットを
つくればいい。
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNGTrunc
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGフォームに、ドラッグ&ドロップで受け取りたいのですけど
どうすればよいでしょうか?
0169デフォルトの名無しさん
NGNG特殊フォルダなんだから、ドラッグしなくても
すでに決まってるディレクトリなんじゃないの?
複数のシステムフォルダがドラッグされる可能性
があって、それを判別したいってこと?
0170168
NGNG現在ランチャを作っています
マイコンピュータのショートカットを登録しようとしてドラッグしたら
ファイルじゃないみたいで、メッセージ (WM_DropFiles) を受け取ることができなかったのです。
ってことなのですが、わかっていただけますか?
0171デフォルトの名無しさん
NGNG自前でOLEDnDを実装する必要がある。(WM_DropFiles絡みのAPIはCF_HDROPを扱いやすくラッピングしてるだけのはず)
DelphienWorldあたりにOLEDnDで必要なIDropTarget, IDataObjectのラッパーコンポーネントが登録されてた気がする。
0173デフォルトの名無しさん
NGNGTToolBarのImagesプロパティやTSpeedBottanのGlyphプロパティに格納する
ビットマップイメージってどうしていますか?
ベクターのフリー素材を見ても変にカラフルなのしかありません。
GOOで「フリー素材」で検索してもHPに使う変にファンシーなのしか見つかりません。
これらのアイコンをプログラムに取り込んで、HPで公開したとき、本来の使用目的とは
違うわけでクレームがつかないとも限りません。
プログラムの内部に取り込んで公開しても問題にならないビットマップイメージを
探しているのですが、どこか言い入手先はないでしょうか。
やっぱりイメージエディタで自分で作るしかないのでしょうか。
0174デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=077866
0175デフォルトの名無しさん
NGNG回答に感謝。
デルファイMLは盲点でした。
あのMLはレベルが高いので敬遠しておりました。
0176デフォルトの名無しさん
NGNGA.exeのボタンを押してB.exeをモーダルで呼び出したいのですが、うまくいきません。
procedure TForm1.Button1Click(Sender: TObject);
var
WinHnd:integer;
begin
DdeClientConv1.ServiceApplication:='B.exe';
if not DdeClientConv1.SetLink('B', 'DdeServerConv1') then Exit;
WinHnd := FindWindow(nil, 'B');
if WinHnd > 0 then SetForegroundWindow(WinHnd);
end;
上記コードで、B.exeはタスクバーに表示はされるのですが前面に表示されません。
終了時の処理はWaitForSingleObjectというのを調べているのですが・・・難しいです。
どうぞよろしくお願い致します。
0177デフォルトの名無しさん
NGNG>>176
コレ…かな。
0178デフォルトの名無しさん
NGNG「モーダル」の意味が分かっていたら、これが不可能であることが分かる。
0179デフォルトの名無しさん
NGNGどのように入力すればいいのでしょうか?
delphi32 ファイル名
だけだと、ただ開くだけですし・・・
どうかお助けください
0180デフォルトの名無しさん
NGNG行したらその瞬間に同じこと言ってくれるようにするにはinitialzationて書い
てその下にコードを書くよりほかにやり方ってありますか?
というかこのやり方は間違ってないですか?
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNG釣りかもしれないけど、
「意味が分からないです」。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG私はウィンドウに「Hello World」と表示させたい。
そのためにボタンを載せ、それを押したら表示する処理は出来た。
しかし、起動したときにボタンを押さずに同一の処理がしたい。
その方法やいかに?
ということだろ。
答え:フォームのOnCreateイベントに「Button1Click(Sender);」と書きましょう。
0185デフォルトの名無しさん
NGNGDelphi5 の場合のコンパイラオプションを挙げておきます
コンパイラは \Bin フォルダの Dcc32.exe
XXXXXXXXXXX\Delphi5\Bin>dcc32 -h
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporati
Syntax: DCC32 [options] filename [options]
-A<unit>=<alias> = Set unit alias -K<addr> = Set image base addr
-B = Build all units -LU<package> = Use package
-CC = Console target -M = Make modified units
-CG = GUI target -N<path> = DCU output directory
-D<syms> = Define conditionals -O<paths> = Object directories
-E<path> = EXE output directory -P = look for 8.3 file names als
-F<offset> = Find error -Q = Quiet compile
-GD = Detailed map file -R<paths> = Resource directories
-GP = Map file with publics -U<paths> = Unit directories
-GS = Map file with segments -V = Debug information in EXE
-H = Output hint messages -VR = Generate remote debug (RSM
-I<paths> = Include directories -W = Output warning messages
-J = Generate .obj file -Z = Output 'never build' DCPs
-JP = Generate C++ .obj file -$<dir> = Compiler directive
0186デフォルトの名無しさん
NGNGCompiler switches: -$<letter><state> (defaults are shown below)
A+ Aligned record fields P+ Open string params
B- Full boolean Evaluation Q- Integer overflow checking
C+ Evaluate assertions at runtime R- Range checking
D+ Debug information T- Typed @ operator
G+ Use imported data references U- Pentium(tm)-safe divide
H+ Use long strings by default V+ Strict var-strings
I+ I/O checking W- Generate stack frames
J+ Writeable structured consts X+ Extended syntax
L+ Local debug symbols Y+ Symbol reference info
M- Runtime type info Z1 Minimum size of enum types
O+ Optimization
Stack size: -$M<minStackSize[,maxStackSize]> (default 16384,1048576)
0187デフォルトの名無しさん
NGNGXXXXXXXXXXX\Delphi5\Bin>dcc32 -h
コマンドプロンプトで \Bin フォルダから上を実行してください
0188179
NGNG丁寧に教えてくださって、ありがとうございます。
これで眠れます・・・
0189デフォルトの名無しさん
NGNG180の言わんとすることはなんとなく理解できたけど
そうやって書いてあるとはるかにわかりやすいな。
やっぱり文章力って重要だね。
0190176
NGNGご回答ありがとうございます。
実際に試してみました。残念ながら状況は変わらなかったのですが勉強になりました。ありがとうございます。
表現がうまくできないのですが、タスクバーにはBが表示されていて、画面上に表示されないのです。
SetLinkの前にWinExec(PChar('B.EXE'),SW_SHOW);を入れてみたら前面に表示されるようにはなったのですが
何だか違う気がします。WinExecを使った時の終了待ちもWaitForSingleObjectではないようで
ttp://forum.nifty.com/fdelphi/faq/00043.htmGetModuleUsageの方法を試したのですが
GetModuleUsageが未定義の識別子でエラーになります。
どうかご助言をお願い致します。
>>178
モーダルの意味、「開いている間は他の処理を受け付けない」だと思っていたのですが違うのでしょうか。
正しい使い方を教えていただけるとありがたいです。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGペイントソフトに負けない、ソフトを作ることが出来ますか??
0193デフォルトの名無しさん
NGNG0194180
NGNG不快な思いをさせてしまったようで申し訳ありません.
184氏の言うとおりです. うまくいきました. 感謝です.
0195デフォルトの名無しさん
NGNGこれ使えばDelphiが最強になる
http://www.truevision3d.com/
0196デフォルトの名無しさん
NGNGデルファイは使おうと思えばアセンブラのようにも使えます。
直接ハードウエアをたたくことも可能です。(TCPUCOOLERなんかそうです)
そういう意味では可能です。
0197デフォルトの名無しさん
NGNG「牛丼」はpersonalでも同等のものが作れる、と作者から聞いたことがある。
0198デフォルトの名無しさん
NGNG|⌒彡
|冫、)
|` /
| /
|/
|
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
それ以外はこちらへ・・・
Delphi相談室(中級者以上)その12
http://pc5.2ch.net/test/read.cgi/tech/1064420818/
0199デフォルトの名無しさん
NGNG入門者用と初心者用が無いぞ。
0200デフォルトの名無しさん
NGNGそっちは今Longhornで盛り上がってる真っ最中だろ。
0201デフォルトの名無しさん
NGNGスレッドを立てた理念をコピペしていのよ?
0202デフォルトの名無しさん
NGNGdouble x
x=( random() & 2047 )-4096;
をDelphiで書くとどのようになるのでしょうか?
0203デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA009712/take/delphi/kabesys.htm#gethtmlsource
を参考に取得するほうほうは分かったのですが、
取得したデータからHTMLタグを取り除くのはどのようにやればいいのでしょうか。。
TMemoryStreamの扱い方が全く分からないので
途方にくれています(゚A゚)
理想としては
ネットからHTML取得
↓
読み込んだデータ
<タグ>hoge<タグ>hoge<タグ>hogehoge<タグ>
↓データを読み込むときに変換
hoge,hoge,hogehoge
こんな感じにしたいっす
0204デフォルトの名無しさん
NGNG全然不快じゃないよ。気にしない気にしない。
>>203
「パーサ書け」ってレスが来そうな気がする。
検索すれば、「タグを削除するサンプル」上げてるとこもあるよ。
探しづらいかもしんないけど。
0206デフォルトの名無しさん
NGNGTMemoryStreamにすでにデータが入っているのなら、TStringListに読み込んでから処理すれば良いんじゃない?
StringList.LoadFromStream(MemoryStream);で読み込んでしまえば、後は文字列処理だけ。
0207デフォルトの名無しさん
NGNGこれを質問してるんでは?
0208206
NGNG> TMemoryStreamの扱い方が全く分からないので
> 途方にくれています(゚A゚)
と書かれていたから、StringListに入れたら何とか出来るんじゃないかと判断したんだが。
0209デフォルトの名無しさん
NGNGレスthx!
検索すると手ごろなのがありますた。
http://forum.nifty.com/fdelphi/samples/01092.html
これを参考に一度読み込んだファイル再度読み込んでを一気に処理しようと考えたんですが、
206さんの言うとおり、StringList.LoadFromStream(MemoryStream);で読み込んで
処理した後Richtextに貼り付けたほうがスマートにできそうです。
もうちょいがんがってみまつ。
今日マターリ検索したらいろいろ見つかった・・
人間焦るとだめでつね(゚A゚)
0210デフォルトの名無しさん
NGNG正規表現使え
0211203
NGNGレスさんきゅうです。
正規表現を調べてみたのですが、Help見ても使い方がいまいち分からず。。
Delwiki見ながらマターリいじってみます。
知らないことが多すぎてなかなか進みませぬ。。
Delphi結構面白いですね(゚∀゚)
0212デフォルトの名無しさん
NGNG環境はWinXPでDelphi7を使用してます。
TTreeNodeのプロパティ、Dataについて。
このプロパティに文字列を保持しようと以下のようにコードを書いたのですが、
それを読むと文字列の最後が文字化けしてしまいます。
何がいけないのか教えて頂けないでしょうか?
procedure TForm1.Button1Click(Sender: TObject);
const
CST_STR= 'abcd:';
var
Node1, Node2 : TTreeNode;
Buff : String;
i : Integer;
begin
Node1 := TreeView1.Items.Add(nil, 'Node');
for i := 0 to 9 do begin
Buff := CST_STR + IntToStr(i) + ':efg';
Node2 := TreeView1.Items.AddChild(Node1, 'SubItem:'+IntToStr(i));
Node2.Data := PChar(Buff);
end;
end;
procedure TForm1.TreeView1Click(Sender: TObject);
var
S : String;
P : PChar;
begin
if Assigned(TreeView1.Selected.Data) then begin
P := PChar(TreeView1.Selected.Data);
S := String(P);
Label1.Caption:= S;
end;
end;
0213212
NGNG0214デフォルトの名無しさん
NGNGBuff はローカル変数。それを指してるポインタをセットしても、そのルーチン外
では、無意味。
0215212
NGNGお答えありがとうございます。
ということは、このような方法には無理があるという事ですか。
また質問になってしまいますが、
dataプロパティはどのように使用するのがベストでしょうか?
0216デフォルトの名無しさん
NGNGはい、ローカル変数の String ではだめです。たとえば、Buff をハンドラのそとで
宣言して、グローバル変数にするか、または、TForm1 のフィールド変数にすると
いいのではないでしょうか。
0217デフォルトの名無しさん
NGNGnbsp クリップボード内テキストの半角スペースとTABを に変えるツール
ttp://up.isp.2ch.net/up/1b1a74b2b99f.zip
0218デフォルトの名無しさん
NGNG216だが、そのほかに New と Dispose でメモリを動的に配置することもできる。
procedure TForm1.Button1Click(Sender: TObject);
var
Node1:TTreeNode;
P:PString;
begin
Node1 := TreeView1.Items.Add(nil, 'Node');
New(P);
P^ := 'AIUEO';
Node1.Data := P;
end;
procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
if Assigned(Node.Data) then Dispose(PString(Node.Data));
end;
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if Assigned(TreeView1.Selected.Data) then
Label1.Caption := PString(TreeView1.Selected.Data)^;
end;
0219212
NGNG早速、グローバルで、
Buff : String;
を宣言してみましたが、結果は同じでした。
ちょと思ったのですが、
ループ内にて、Buffが次々書き換えられてしまって
上記宣言だとそのアドレスは結局同じ所を指すわけですよね?
もしかして、ループ分グローバル変数が必要ですか?
>>217
便利そうなので、DLしようと思ったのですが、
どうやら駄目なようです。残念!
0220デフォルトの名無しさん
NGNGダウソできねーぞモルァ
0221217
NGNGどこかにツールまとめスレがあれば載せてもらおうかな。
0222212
NGNG書き込んでる間にレスが・・
ありがとうございます。
早速試してみます!
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGその場合はだめです。書き換えられると、前のメモリは捨てられるからです。
設定するのと同じ数だけ変数を使うか、または動的に割り当ててください。
0225212
NGNGなるほど、やっと意味がわかりました。
( >>218の方法で実現できました!)
PString型を初めて使ってみました。
動的に割り当て、いらなくなったらDisposeですか。
勉強になります。
ありがとうございました。
0226デフォルトの名無しさん
NGNG方法もあるね。これが一番簡単でリークが起こりにくそう。Data には
Add の戻り値を Pointer にキャストして設定する。
0227217
NGNGttp://www.geocities.co.jp/HeartLand-Ayame/5730/nbsp.zip
もはや使ってない和塩にあげといた。
10000文字くらいまでしか対応してないけど、そんなに使わないよな。
0229デフォルトの名無しさん
NGNGvar
SL:TStringList;
procedure TForm1.FormCreate(Sender: TObject);
begin
SL := TStringList.Create;
SL.Add('dummy'); // index 0 for dummy
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SL.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
CST_STR= 'abcd:';
var
Node1, Node2 : TTreeNode;
Buff : String;
i : Integer;
begin
Node1 := TreeView1.Items.Add(nil, 'Node');
for i := 0 to 9 do begin
Buff := CST_STR + IntToStr(i) + ':efg';
Node2 := TreeView1.Items.AddChild(Node1, 'SubItem:'+IntToStr(i));
Node2.Data := Pointer(SL.Add(Buff));
end;
end;
0230デフォルトの名無しさん
NGNGprocedure TForm1.TreeView1Click(Sender: TObject);
var
S : String;
P : PChar;
begin
if Assigned(TreeView1.Selected.Data) then
Label1.Caption:= SL[Integer(TreeView1.Selected.Data)];
end;
0231デフォルトの名無しさん
NGNG常駐型のプログラムを作ってみたんですが、タスクトレイのアイコンを右クリックして
メニューを出した後、そのメニューの項目をどれかクリックしないとメニューが
消えません。
Windowsのスピーカーのアイコンがタスクトレイにありますが、あれはメニューを
出してもデスクトップなどの別の場所をクリックすると消えてくれます。
そのような動作をさせたいのです。
何かこの段階で原因等は推測されますか?
0232デフォルトの名無しさん
NGNGPopupMemu() の直前に自分を SetForegroundWindow() する
0233212
NGNG今、同じようなものを作ってみて、
ハテ、何故最初の Node に nil が・・と悩んでいたところでした。(笑)
>SL.Add('dummy'); // index 0 for dummy
↑これが必要なのですね。
0234デフォルトの名無しさん
NGNGそうですね。 0 を pointer にキャストすると nil になって Assigned() が
false になります。
0235212
NGNG説明も分かりやすかったですし、とても感謝!
ありがとうございました。
0236デフォルトの名無しさん
NGNG地味に便利。GJ!
0237デフォルトの名無しさん
NGNGGJ!
ところでコレってDelphi製じゃないんですか?
サイズ小さいけど
0238デフォルトの名無しさん
NGNGソース晒せやゴルァ
0239デフォルトの名無しさん
NGNGVC++。
そもそもウィンドウ作成してないし
0240デフォルトの名無しさん
NGNGprogram fmtres;
uses
SysUtils, Clipbrd;
begin
ClipBoard.AsText := StringReplace(StringReplace(ClipBoard.AsText, #9, ' ', [rfReplaceAll]), ' ', ' ', [rfReplaceAll]);
end.
0241デフォルトの名無しさん
NGNGおお、激しく便利かも
乙です
0243デフォルトの名無しさん
NGNGトリップけし忘れた
_| ̄|○
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG試してみたところ、希望どおりの動作をしました。
誠にありがとうございました。
ポップアップとSetForegroundWindowでぐぐったらすぐに対処法として
書いてあるのが見つかりました。すいません。
でも、なぜなのかについて説明してあるところは今のところ見つけていませんが、
理由よりもこうするものだという風に捉えていたほうがいいのでしょうか。
あと、SetForegroundWindowに渡すハンドルはApplicationのものでも
Formのものでも通りますが、どちらでもいいですかね?
何度も申し訳ないです。
0246245
NGNG表示されませんでした。Formのほうに変えるとうまくいきました。
すれ汚しごめんなさい。
0247240
NGNG&−>&に変換しといて
再掲
program fmtres;
uses
SysUtils, Clipbrd;
begin
ClipBoard.AsText := StringReplace(StringReplace(ClipBoard.AsText, #9, ' ', [rfReplaceAll]), ' ', '&nbsp;', [rfReplaceAll]);
end.
0248デフォルトの名無しさん
NGNG> なぜなのかについて説明してあるところは今のところ見つけていませんが、
なぜなのか、ハッキリと分かりませんが、推測すると、OS は現在の
ForegroundWindow がなんなのんか知っていて、そして、それがポップアップメニュー
を表示している、と仮定しています。メニュー以外の例えばデスクトップをクリックす
ると、ForegroundWindow が変化するので、メニューも引っ込めるんだと思います。
PopupMenu の直前に、SetForegoundWindow として設定しないと、メニューを表示
しているプロセスと、本当の ForegroundWindow がはじめから一致していないので、
メニューを引っ込める論理が働かないんだ、と思っています。たんなる推測ですが。
0249デフォルトの名無しさん
NGNGパケ代もったいない。
0250デフォルトの名無しさん
NGNGレスありがとうございます。確かに一個人が追求しても推測の枠を出るのは
難しいとは思いますが、お陰で私も自分なりの考えが進みました。
逆(じゃないかも)に考えてみると、ポップアップメニューが必ず選択される必要が
ある場合もありうるので、ほかのウィンドウがアクティブになったときに消したいならば
先にSetForegroundWindowしなさい、としているとすれば頷ける部分もありますね。
ポップアップメニュー自身が親が誰であるかを知っていて、OSもそれを知ることができて、
メニューの親と現在アクティブなウィンドウが違うときは消す、となっていれば特に
問題ないのでしょうかね。(当たり前?)
生半可な知識しかないくせに駄文を書きなぐってしまいました。どうかご勘弁ください。
最後になりましたが、皆様どうもありがとうございました。
0251デフォルトの名無しさん
NGNGどのようにしたらいいでしょうか?
0252デフォルトの名無しさん
NGNGそれでも解決しなかったら質問の仕方を考えろ。漠然としすぎ。
0253デフォルトの名無しさん
NGNG∧_∧
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__∧∩
_/し' //. V`Д´)/
(_フ彡 / ←>>242
0254デフォルトの名無しさん
NGNGファイル保存ダイアログを出すことはできましたが、保存するときの
デフォルト拡張子を指定することができませんでした。
拡張子を指定する方法、そして入力されたファイル名に拡張子がなかった場合に
自動的に付加して保存する方法について、教えていただけませんでしょうか。
現在の私の能力では、何を調べれば良いのか検討もつきません。
どなたか、ヒントだけでも結構ですので、よろしくお願いいたします。
0255ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNGvar
ReplaceStr: String;
begin
with TStringList.Create do
try
ReplaceStr := Dlg.Filter;
ReplaceStr := StringReplace(ReplaceStr, ' ', '', [rfReplaceAll]);
ReplaceStr := StringReplace(ReplaceStr, ',', '', [rfReplaceAll]);
ReplaceStr := StringReplace(ReplaceStr, '|', ',', [rfReplaceAll]);
CommaText := ReplaceStr;
if (1 <= FilterIndex) and (FilterIndex<=(Count div 2)) then
begin
Result := Strings[FilterIndex*2-1];
end;
finally
Free;
end;
end;
0256ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
FilterExt, WriteFileName: String;
begin
if SaveDialog1.Execute then
begin
WriteFileName := SaveDialog1.FileName;
if ExtractFileExt(SaveDialog1.FileName) = '' then
begin
FilterExt := ExtractFileExt(
GetFilterExt(SaveDialog1.FilterIndex, SaveDialog1) );
if not (FilterExt = '.*') then
begin
WriteFileName := ChangeFileExt(SaveDialog1.FileName, FilterExt);
end;
end;
Memo1.Lines.SaveToFile(WriteFileName);
end;
end;
0257ミ,,゚Д゚彡 ◆A6VzDeLphI
NGNG漏れは全角スペースが好き。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1009085598&rm=100
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGでいいじゃん…
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGJavaで仕事せにゃならんかったし。
この半年でなんか動きあった?
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG空白の行だけを取り除くにはどのようなコードを書けばよいでしょうか。
空白行の判別がいまいちわかりませぬ
0265デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i := Memo1.Lines.Count-1 downto 0 do
if Length(Memo1.Lines[i]) = 0 then Memo1.Lines.Delete(i);
end;
0266デフォルトの名無しさん
NGNG激しくthx!!
0267デフォルトの名無しさん
NGNGdbExpressのTSQLConnectionからデータベースに接続する方法がわかりません。
WindowsXPにMySQLをインストールしたのですが、
TSQLConnectionからMySQLに接続しようとすると
「接続に失敗しました。LIBMYSQL.dllを起動できませんでした。」
というエラーメッセージが出ます。
LIBMYSQL.dllはMySQLに同梱されていたので、
dllのあるフォルダをライブラリパスに追加したり、
dllをプログラムと同じフォルダに置いたりしてみましたが、
やはり同じエラーメッセージが出ます。
どうすればデータベースに接続できるか、教えてください。
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGしているんですが、HTTPProdと言うファイルが見当たらないとエラーがでます。
このHTTPProdはDelphi6以上からあるファイルでしょうか?
Delphi5にインスコ出来たりしませんよね。
0270デフォルトの名無しさん
NGNGhttp://plaza11.mbn.or.jp/~pz/delphi/vcl.html
で公開されているものを使ってみたのですが、YahooのTOPページを読み込ませてEUC→SJISに変換して
RichTextに貼り付けても一部文字化けしてしまいます。
0271デフォルトの名無しさん
NGNG「手ごろ」ってなに? 手ごろじゃないのは持ってるのね。
0272デフォルトの名無しさん
NGNGそんなもん走らせるために苦労するなんて・・・・・・
0273デフォルトの名無しさん
NGNGIndyのサンプルなんですけどIndy9の最新版インスコしたのに
サンプルが6用で出来ないなんて・・・
何のために5もインスコできるのか。
0274デフォルトの名無しさん
NGNGがあやしいし、以前にも WEB 関係のサードパーティー製コンポが突然打ち切りに
なったり、なんか使うための努力が無駄になりそうで DL したけどインストールして
いない。それより、WinInet やソケットを勉強した方が、よほど知識として
役に立つ、と思う。
0275デフォルトの名無しさん
NGNG実現するには大体Indyが絡んできてIndy使うと簡単に出来そうなのですが、
実行例の環境がDelphi6,7とかなんですよね。
ファイル添付してメール送信したいだけなんだけどな。
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGついてくるけど、インストーラでIndyをアンインストールしてから
最新版をインスコするのが吉。
0279デフォルトの名無しさん
NGNG例えば、
Font.Styleに既にfsItalicが入っている状態にさらにfsBoldを追加するのはどうやればいいんでしょう?
単純に
Font.Style := [fsBold];
とやっては元々入っているfsItalicが消えちゃいますよね・・。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG如何にすればよいでしょうか?
サービス起動時、ファイル読み込みに失敗したら終了、のようなものです。
Application.Terminateは不可でした。
0284デフォルトの名無しさん
NGNGいい資料が無いか探しています(ネット歓迎)
0286デフォルトの名無しさん
NGNGマルチポスト、乙。
0287デフォルトの名無しさん
NGNGありがとうございます。
が、そちらを試す前にTServiceThreadでTerminateできました。
で、別件ですがシグナルトラップってどう書けばいいのか、
どなたかご存じないですか?
やはりサービスアプリの場合なんですが。
0288デフォルトの名無しさん
NGNGごめん、トークンってなに?
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNGhttp://black.sakura.ne.jp/~third/programming/d/d3.html
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGそれは棒君
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGどうしても分からない・・・
誰か教えてくらはい
0298デフォルトの名無しさん
NGNGif i = 1 then
ShowMessage('素数です');
end;
0299297
NGNG0300デフォルトの名無しさん
NGNGマルチポスト先にレス付いたんだから、こっちにもその旨書けよ。クズ。
0301デフォルトの名無しさん
NGNG>>299
単純に調べたい数までの数値でひたすら割っていってもいいんじゃないでしょうか。
列挙するのはキツいですが単体の数字ならそんなにかからないので。
まあ素数判定のアルゴリズム分かれば一番良いんでしょうけど。
0302デフォルトの名無しさん
NGNGDllを作成した言語は問わないはずですが
0303デフォルトの名無しさん
NGNG全然関係ないトコのミスでした……
吊ってきます。
0304デフォルトの名無しさん
NGNG1 は素数か?
>>301
質問が漠然としてて何がわからないのかわからない。
とりあえずヘルプの 'external 宣言' は読みましたよね。
__cdecl なのか __stdcall なのか気を付けること。
そんなことは知っているというなら失礼。
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG簡易コンパイラ作りたいんです
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGtype
Ta = class;
constrautor create;
end;
procedure add(a: pointer);
begin
list.add( a );
end;
constructor create Ta;
begin
add( a ); ←ここで自分自身のポインタを渡したい
end;
こんな感じで作りたいのです
0310デフォルトの名無しさん
NGNGbegin
Result := Ta.Create
list.add( Result );
end;
とかではダメかい?
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNGへの参照。他言語だと this とか me とかだよね。
0313デフォルトの名無しさん
NGNGObjList:TobjectList;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
ObjList := TObjectList.Create(false);
ObjList.Add(self);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ObjList.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := ObjList[0].ClassName;
end;
0314310
NGNG0315デフォルトの名無しさん
NGNG> コンストラクタは、できればオブジェクトの作成と初期化に専念すべき、と思ってるんで
これと
> Create中に自分のポインタを知る方法
この質問の回答がなんで関係するの?
0317デフォルトの名無しさん
NGNGDelphiかつ入門かつWEB上で覚えようなんて条件厳しすぎ。
構文解析は難度高めなんでちゃんと本読んだほうがいいよ。
0318デフォルトの名無しさん
NGNGDelphiにもstrtokみたいなのはあった気がする
そういう話じゃないのかな
「コンパイラ・スクリプトエンジン」相談室 3
http://pc5.2ch.net/test/read.cgi/tech/1070089173/
0319デフォルトの名無しさん
NGNG画像関係をいじろうとしているのですが、ファイルのフォーマットを
調べるのにGUIDを調査して、いろいろといじらなければならない
ことがわかりました。
たとえば、Mpeg1だと↓のように宣言されています。
MEDIASUBTYPE_MPEG1Video: TGUID = (D1:$E436EB86;D2:$524F;D3:$11CE;D4:($9F,$53,$00,$20,$AF,$0B,$A7,$70));
そして、とある構造体にあるMediaTypeのGUIDと上記のMediaTypeが一致すると、
それはMpeg1Videoということがわかるのですが、画像の形式はたくさんあるため、
すべてのMediaTypeと比較して、これはMpeg、これはAVIといちいち判定させて
あげないといけません。
なんかもっとスマートなやり方があるような気がするのですが、
どなたか簡単に解決できる方法はありませんか?
それとも、上記のように全てif文やCase文で判断させて、
自分で判断しないといけないでしょうか。
具体的には、「このファイルはMpeg1だよ」と表示するソフトが作りたいと思っています。
0320デフォルトの名無しさん
NGNG仕方が無いのでそれで書いてました
その方がいいのですかね?
無駄に関数が多くなるのを嫌ったのですが
>>311-313
ありがとうございます。無事動作いたしました。
0321デフォルトの名無しさん
NGNG神様お助けください(祈)
0322デフォルトの名無しさん
NGNG両方のTopRowを同じにすればいいでないの?>321
0325デフォルトの名無しさん
NGNGSQLデータベースから数値データを落としてきてCSVファイルに出力する
プログラムを作ることになりました。
SQLデータベースを扱うのは初めてなのですが、参考になるサイトあるいはスレ
あるいはサンプルプログラムなどがあったら教えてください。
0326デフォルトの名無しさん
NGNGあるフォルダのあるファイルを削除するとか、別なあるファイルのサイズを測って何バイト
以上だったらそれをあっちにコピーするとか、フォーム状のボタンからVBSみたいなこと
やりたいんですけど、詳しく解説してくれてるサイトがあったら教えて下さい。
0327デフォルトの名無しさん
NGNGエクスプローラ(Win2000版)のようにドラッグすると、
カーソルがアイコンとファイル名になるような処理をしたいのですが、
どのように処理すればよいのでしょうか?
調べてみたところ
TScreen.Cursors
1.リソースエディタを使ってカーソルリソースを作成します。
2.既存のカーソル定数と矛盾しない値を指定してカーソル定数を宣言します。
3.Windows API の LoadCursor 関数を使って新しいカーソルへのハンドルを取得します。
4.新しく宣言されたカーソル定数による添字付きの Cursors プロパティを LoadCursor で取得されたハンドルに設定します。
となっています、1.をプログラム上で処理する方法がわかればよいと思ったのですが、
どのようにすればよいかわかりませんでした。
お願いします。
0329デフォルトの名無しさん
NGNG回答にはなっていませんが、ShellAPI.pas にある関数群を使えば
書かれていることはすべてできると思います。
ShellAPI を含む日本語のページを検索
http://www.google.co.jp/search?q=ShellAPI&hl=ja&lr=lang_ja
0330デフォルトの名無しさん
NGNGOracleみたいです。詳しいところはまだ聞いてません。
0331デフォルトの名無しさん
NGNGありがとうございます
仕事の補助といったレベルでちょこっとだけVBA ,VBSを使っていた程度の者ですけど、
何か、思っていた以上に色々なことができそうです。
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNGhttp://www.excite.co.jp/dictionary/english_japanese/?search=Delphi&match=beginswith&dictionary=NEW_EJJE&block=36784&offset=2010
0334デフォルトの名無しさん
NGNGTListだとポインタしか格納できないですよね?
0335デフォルトの名無しさん
NGNGクラスだな。インスタンスでなくクラスを格納するのだな。
TClassList
0336デフォルトの名無しさん
NGNG文字列は''に、数値は0にしたいのですが。
0337デフォルトの名無しさん
NGNGDelphi には構造体はない レコード型な
0339デフォルトの名無しさん
NGNGこちらの画像一覧コンポーネントImgLibを使わせていただいているのですが サムネイル画像の右下に小さなjpgのアイコンが表示されています
これを消すにはプロパティのどの設定を変更すればよいのかわかりません。もし可能でしたらお教えください。よろしくお願いします。
0340デフォルトの名無しさん
NGNGhttp://hp.vector.co.jp/authors/VA031252/imglib/index.html の ImgPanelです。よろしくお願いします。
0341デフォルトの名無しさん
NGNGImgPanel1.ViewImage.SmallIcon.IconPos := iipNone;
0342デフォルトの名無しさん
NGNGありがとうございます
0343デフォルトの名無しさん
NGNGありませんか? 例えば1000なら0.100E+04にしたいのですが、Delphiで用意されてる
関数は1.000E+03にとしか変換できないようなのです。
0344デフォルトの名無しさん
NGNGここらへんの情報を一括して取得するようなコンポーネントってありますか?
0345デフォルトの名無しさん
NGNG0346343
NGNGfunction TForm1.FloatToExpStr(Value: Extended): String;
var
fr: TFloatRec;
begin
FloatToDecimal(fr, Value, fvExtended, 5, 10);
Result := IfThen(fr.Negative, '-0.', ' 0.') +
LeftStr((String(fr.Digits) + '00000'), 5) +
IfThen(Sign(fr.Exponent) <> -1, 'E+', 'E-') +
LeftStr('0' + IntToStr(Abs(fr.Exponent)), 2);
end;
0347デフォルトの名無しさん
NGNGDelphiってprivateに宣言されてる変数を、派生先のクラスからも使えるのでしょうか?
0348デフォルトの名無しさん
NGNGただし同一ユニット内であれば別のクラスのフィールドにも
アクセスできるというルールを利用すれば可能は可能。
0349デフォルトの名無しさん
NGNG困ったな。
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG画像ファイルをダブルクリックしたときのみ別ウィンドウ上のpaintboxにて開きたいと考えております。
現在は 拡張子jpg などと関連付けられているIEで開いてしまいます。
どのようにしたらよろしいでしょうか ご教示ください。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG2001-01-01
1200
1300
1500
2001-01-02
1230
1320
1400
2001-01-03
・
・
・
のようなデータがあるのですが、
1日ごとにデータを集計したいと思っています。
どのように処理をすればよいでしょうか。
分かりにくくてすみません。
0354デフォルトの名無しさん
NGNG値1
値2
値3
空白
の繰り返しなんだから、そのように読み込んで値を合計するのでは。
0355デフォルトの名無しさん
NGNGvar
Hiduke,v1,v2,v3:string;
Goukei:integer;
i:integer;
begin
i := 0;
while (i*5 < Memo1.Lines.Count) do begin
Hiduke := Memo1.Lines[i*5];
v1 := Memo1.Lines[i*5+1];
v2 := Memo1.Lines[i*5+2];
v3 := Memo1.Lines[i*5+3];
Goukei := StrToInt(v1)+StrToInt(v2)+StrToInt(v3);
Memo2.Lines.Add(Format('%s Total : %4d',[Hiduke,Goukei]));
inc(i)
end;
end;
0356326=331
NGNGDelphiからAccessMDBファイルに接続しているとして
MDBにSQLを投げ、レコード絞り込み。
絞り込んだ結果が0件だったら exit
絞り込んだ結果が1件以上あったら次の処理へ〜
というふうにしたいのですが。
結果セット(とりあえず MyRst という名前)が何件か、どういうふうにしたら取得できるのか
分かりません。
当てずっぽうで、if MyRst.Count=0 then とか、if MyRst.RecordCount=0 then とか
書いてみましたが、ものの見事にハネられました。
レコード絞り込みについては、MDB側にクエリをつくることは出来ません。
これが出来れば楽なのですが(抽出条件に、Delphi側のテキストボックスを使っているので、
SQL文で書くしかない)
仕方なく今のところは、MDB側に仮テーブルをつくり、そこにインサートSQLで結果セット押し込み。
この仮テーブルを元に集計クエリをつくり、そのクエリを開いて件数を取得、と、メチャメチャ
野暮ったい方法で対処していますが、これではいくら何でもという気がして。
0357デフォルトの名無しさん
NGNG>これが出来れば楽なのですが(抽出条件に、Delphi側のテキストボックスを使っているので、
>SQL文で書くしかない)
TQueryかTADOQueryを使っているかわからないのであてずっぽうでTQuery使っていると仮定すると、
「Delphi側のテキストボックス」をパラメータにして、パラメータに値を渡して結果を取得できないか?
たとえばTQuery(NameプロパティをQuery1とする)のSQL文を
SELECT Table1.*
FROM Table1
WHERE Table1.UserName LIKE :sUserName;
にしておいて、結果を取得するときに
Query1.Close;
Query1.ParamByName('sUserName').AsString := <<Delphi側のテキストボックスの値>>;
Query1.Open;
すれば、Query1.RecordCountで取得できるのではないでしょうか。
思いっきり外していたら申し訳ない。
今から会社から帰ってしまうので、理解に苦しむようでしたら明日午後以降にレスします(午前中は客先のためレス不可)。
0358デフォルトの名無しさん
NGNGすみません
まったく些細なところにミスがありました。
選択クエリを相手に、Openではなく、Executeしてました。
(Executeでも、MoveFirstとかMoveNextとか出来ちゃったり、値をストリンググリッドに
読み込んだりできるんですね)
Openに直したら、MyRst.RecordCount でみごと件数とれました
(そもそもの目的は、件数取得というより、0件だった場合の逃げ方ですが)
0359358 つづき
NGNGこのあたりは僕もよく分かりません
ずっと前このスレで教えてもらった、パーソナル版からのレコードセットOpenやDBExecuteの
やり方を真似ているだけなんです。
procedure TForm1.FormCreate(Sender: TObject);
begin
DNS:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
DBF:=IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));
DBF:=DBF + '何とかmdb';
DBOpen(DNS,DBF);
end; な感じで接続して、
function RSOpen(SQL: string): variant;
begin
rs := CreateOleObject('ADODB.Recordset');
rs.open(SQL, cn, 3, 3);
result := rs;
end; とか
function DBExecute(SQL: string): variant;
begin
rs := CreateOleObject('ADODB.Recordset');
rs := cn.execute(SQL);
result := rs;
end; とか
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNGimplementationの次で変数宣言すればそのユニットの中でのみ有効
0362デフォルトの名無しさん
NGNGそれよりお勧めのものがあれば教えてください。
Jconvert.pasは有名みたいですが、作成者HPが閉鎖してます。
DelphianWorldにもあるらしいのですが何故か検索機能が働かないし、
探しても見あたりません。
Jconvert.pasはバグがあるらしく手直しが必要だとかよく書いてますから
別のがいいのでしょうか。
0363デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNGレコードの有無を調べるなら
{ Recode Check レコードの有無を調査します。
有:true
無:false }
function RSCheck: boolean;
begin
result := false;
// rsが空でなければ処理します。
if not VarIsClear(rs) then
begin
try
// rsはレコード無しか確認
if not (rs.BOF and rs.EOF) then
begin
result := true;
end;
except
result := false;
end;
end;
end;
で可能です。
0366デフォルトの名無しさん
NGNGずれてしまったのでもう一度。
{ Recode Check レコードの有無を調査します。
有:true
無:false }
function RSCheck: boolean;
begin
result := false;
// rsが空でなければ処理します。
if not VarIsClear(rs) then
begin
try
// rsはレコード無しか確認
if not (rs.BOF and rs.EOF) then
begin
result := true;
end;
except
result := false;
end;
end;
end;
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGどのようにすればよいですか?
(SQL文でサーバに投げたい)
Memo.Textだと'が含まれた文字列になっているようなので。
0370デフォルトの名無しさん
NGNGフォームに日本語を使うと、DFMのその箇所がユニコードになりますが、
普通にSJISで保存出来ませんか? 又、その方法があれば教えてください。
0371デフォルトの名無しさん
NGNGレスありがとう御座います。
それってDLLが要るんですね。
一度試してみます。
0372デフォルトの名無しさん
NGNGこれは?
http://www.mars.dti.ne.jp/~b-guild/mailnews.html
0373デフォルトの名無しさん
NGNGこの前そのルールのせいで
本来、書き込めないフィールドにデータを書き込むようにコードを書いてしまって
(しかも、何のエラーも警告もでない)
なんで思い通りの結果が得られないのか一晩悩んだ。
原因がわかったときには自分はなんて馬鹿なんだろうと激しくへこんだ。
0374ななしへたぐらま ◆XcB18Bks.Y
NGNG私も同じ失敗をしたことがありますが,
確かに混乱しやすい仕様ではあると思います.
(C++みたいにユニット内でもアクセスできなくできればよいのですが…)
私はフィールド変数名の頭文字を某が推奨するようにFに統一してある程度回避しています.
0375デフォルトの名無しさん
NGNGなんか盛りだくさんで凄く便利そうな気が・・・これで大体事が足りそうな。
どうもです。
0376デフォルトの名無しさん
NGNGある型のオブジェクトがCreateされてるかどうかを判別する方法はありませんか?
オブジェクトがCreateされているものをさらにCreateしようとするとエラーになります。
Createしてないものに色々代入したりするとエラーになります。
配列を使っているので、作られている時と作られていないときがごっちゃになってしまっています。
0377デフォルトの名無しさん
NGNG余計なものを省いたコード晒してみな。
0378デフォルトの名無しさん
NGNGi : integer;
hoge : array[0..20] of TStringList;
begin
i := Random(10);
hoge[i] := TStringList.Create;
for i := 0 to 20 do begin
hoge[i] := TStringList.Create;
end;
end;
例えばの話、こうした場合にエラーが起きてしまいます。
0379デフォルトの名無しさん
NGNGこれ、エラーになるの?
0380デフォルトの名無しさん
NGNGタイプライブラリにDirectX7と8があるようですが
どちらも「for Visual Basic」となっています。
これはどういう事でしょうか?
DirectXはC向けとVB向けで宣言とか使い方が多少異なりますが
Delphiで使うには、VB用の制限された奴で使うしかないのでしょうか?
それともCと同じように直接dllを使えるのでしょうか?
0381デフォルトの名無しさん
NGNGメモリリークのバグはあるにしても。
0382デフォルトの名無しさん
NGNG動的配列だったので、配列数の設定をしてませんでした...
ほんとにお騒がせしました。
0383デフォルトの名無しさん
NGNGそのタイプライブラリはどこにあるのですか?
0385383
NGNGこんなのがあったんだ。知らなかった。
ところで、こんなのはどうでしょう?
ttp://clootie.narod.ru/delphi/download_dx90.html
0387ゲーム製作技術板
NGNG【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
http://pc5.2ch.net/test/read.cgi/gamedev/1051110669/
Delphiゲームプログラミング相談室
http://pc5.2ch.net/test/read.cgi/gamedev/1006249204/
Delphiまとめ
http://gamdev.org/w/?%5B%5BDelphi%A4%DE%A4%C8%A4%E1%5D%5D
0388358=359
NGNGすげっ!
感謝します。
VarIsClearってのは初めて見るんですけど、ムズい関数ですね。
// rsが空でなければ処理します。
if not VarIsClear(rs) then
↑
この2行、じーっと見つめてると何となく分かったような気分になってきますけど、
本当に理解できたかどうかは何とも。。。
取りあえず、何かレコードセット開いて、if RSCheck=false then とやれば、0件の場合の
逃げ道を作れることだけは分かりました(レコードセットが開かれてさえいれば、それがこの場合の
rsと名付けられた変数 ってことで、Delphiは勝手に納得してくれてるんですかね。いや、何ていうか、
このRSCheck関数は、処理の流れから考えると、たとえば、if RSCheck(MyRst)=false then みたいな
書き方をしたい気分に。。。)
ところで。
もしかして、以前レコードのいじり方教えてくれた方と同一人物ですか。
ファンクション名の付け方に、そこはかとなく共通成分の香りが。。。
0389デフォルトの名無しさん
NGNGフォームの上にScrollBox1を貼ってalClientに広げまして、その上に640×480のサイズのImage1を貼ってあります。
Button1を押すとイメージダイアログが開いて任意の画像(BMP)を、
そのときに動的にTImageを生成して読み込みます。(parentプロパティはScrollBox1)
いくつでも開けて、さらにマウスで移動できるようにしてあります。(読み込んだ画像をレイアウトするため)
しかしImage1を印刷するためにImage1.Picture.Bitmap.Canvas.Draw(〜〜〜)などで
動的に生成してあるTImageオブジェクト→Image1へ描画しなければなりません・・・よね?
動的生成でなければ、例えばImage2→Image1への描画なら、
Image1.Picture.Bitmap.Canvas.Draw(Image2.Left,Image2.Top,Image2.Picture.Graphic)
でいいと思うんです。
で、わからないのは、上のようにいくつ生成されるかわからないTImageオブジェクトをあるときすべてとらえて
Image1に描画することです。
もし可能なら、印刷用のButton2のクリックイベントハンドラに記述するつもりなのです。
どなたかご教授願いませんでしょうか・・・m(_ _)m
0390デフォルトの名無しさん
NGNGwriteln('Sinの値を求めるラジアンxと計算回数nを入力してください');
readln(x,n);
i:=1;
repeat
c:=i div 2; ←――――――
f:=i-c*2;
d:=1;
if f=0 then d:=-1 ;
e:=2*i-1;
ke:=pow(x,e);
x:=x+d*ke;
i:=i+1;
until (i>n) or (abs(ke)<0.00001);
readln;
end.
これで、35行目(矢印のあるところ)が「この型には指定した演算子が使えません」と出ます
どうしてか、1日中考えても分かりません
お願いします、誰かお教え下さい _no
0391デフォルトの名無しさん
NGNGやっぱりAPIとか使わないと無理ですか?
0392デフォルトの名無しさん
NGNG転送先の Image1 を ScrollBox1 の上に乗せる必要はないのでは?
操作がややこしくなるのでやめた方がいい。
見えてる部分の転送は ScrollBox1.PaintTo() で簡単にできるはず。
見えてない部分も含めて ScrollBox1 上の TImage のイメージを
描画したければ、ScrollBox1.Controls[] を使って反復処理したら?
for I := 0 to ScrollBox1.ControlCount - 1 do
if (ScrollBox1.Controls[I] is TImage) and (ScrollBox1.Controls[I] <> Image1) then
Image1.Canvas.Draw(ScrollBox1.Controls[I].Left, ScrollBox1.Controls[I].Top,
TImage(ScrollBox1.Controls[I]).Picture.Graphic);
0393デフォルトの名無しさん
NGNGうおっ凄い
早速やってみます。ありがとうございました。
Image1は、作ってるプログラムの関係上TImageのほうが都合が良かったので使ってたんです。
0394デフォルトの名無しさん
NGNGどうしてって、div の使えない型なんだろ
div は右辺、左辺ともに整数型な必要がある
0395デフォルトの名無しさん
NGNGプログラムが何をしたいのかよくわからないけど、エラーの意味は
div 演算子は左辺も右辺も整数型でなければならないのに
そうなってないことを指摘してるんだと思う。
整数から実数への変換は自動で行われるけど、逆はできない。
c が実数で 2 で割った結果の小数部を切り捨てたいなら
c := Int(i / 2);
にしてみたら?
0396デフォルトの名無しさん
NGNGVisual C.netをインストールしたいのですが、setup.exeを開くと
「このシステムにMicrosoft Visual C.net Standardをインストールするために必要な条件を満たしていません。Windowsコンポーネントアップデートセットアップをじっこうして
下さい」
とのメッセージが出てきます。
もうどうしたらいいのか分からないのでどなかか教えてください。
0397デフォルトの名無しさん
NGNGスレタイ100回音読して来い
話はそれからだ
0398デフォルトの名無しさん
NGNGすばやいレスありがとうございました
整数から実数への変換が自動で行われていたので、全く意識することがありませんでした _no
左右ともに整数型なんですね…ありがとうございました
0399デフォルトの名無しさん
NGNGここでは回答する方に回りたいと思います。
0400デフォルトの名無しさん
NGNG「Visual C.net」ってなんですか?
「Visual C# .NET」または「Visual C++ .NET」ならよく聞く名前ですがね。
回答しろよ。おらおら。
0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNGお金ないのでLimuxサーバーとWinクライアントでFireBirdかInterBase6使おうかと考えてます。
そこで質問なんですが、アプリ開発中はデル付属のIBで開発してていいんでしょうか?
IBE使って作成したアプリはFireBirdとかで問題なく使えるものなのでしょうか?
デルファイ5proです。
よろしくお願いします。
0403デフォルトの名無しさん
NGNGできました!
報告までに。
マジでありがとうございました。
0404デフォルトの名無しさん
NGNG上司に聞けよ。
ここでの答えを鵜呑みにして社内システムを作らないでくれ。
頼むから。
そもそも簡易でいいから検証環境を作っ(ry
0405デフォルトの名無しさん
NGNGWindows標準っぽいの。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG> VarIsClearってのは初めて見るんですけど、ムズい関数ですね。
> // rsが空でなければ処理します。
> if not VarIsClear(rs) then
rsにレコードセットが返らないときもあるのでエラーにならないように書いています。
> もしかして、以前レコードのいじり方教えてくれた方と同一人物ですか。
> ファンクション名の付け方に、そこはかとなく共通成分の香りが。。。
たぶんそかも...
0410デフォルトの名無しさん
NGNGもしAccessのmdbファイルを使用しているなら下記を参照すると吉です。
Delphiでmdbを操作 - 001と002
http://www.geocities.jp/fjtkt/program/_frame.html
Delphiでmdbファイルを作成してテーブルの設定をする方法が紹介されています。
なお、ADO・ADOXはADOのヘルプに使い方がVBで書かれています。
ADOのヘルプはWindowsのファイル検索でキーワード「ADO」で見つかると思います。
私のPCでは「Ado210.chm」がインスコされていました。
では
0411デフォルトの名無しさん
NGNGって自動的にstdcallになるんですか?
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNGD&Dによる入力は理解できたけど、出力はどうやるんですか?
リストボックスで選択されたファイルを他のアプリケーションに渡したいんですが…
ヒントだけでもお願いします。
0414デフォルトの名無しさん
NGNGIDropSource
おまいさんの言う「入力」がDragAcceptFiles APIでファイルを受け取る動作なら道は険しいかもしらん
0415デフォルトの名無しさん
NGNG資料が見つかりました、ありがとうございます!!
がんがって搭載してみます。
0416デフォルトの名無しさん
NGNGvar
i:integer;
j:integer;
begin
Edit1.Text :=IntToStr(2);
Edit2.Text :=IntToStr(3);
i := strtoint(Edit1.Text);
j := strtoint(Edit2.Text);
showmessage(i / j);
end;
end.
i/j (=2/3) がExtendedだといわれてエラーがでます。
0.6666666 とか表示させたいのですがどうやたらいいですか?
0417デフォルトの名無しさん
NGNGFloatToStr
0418デフォルトの名無しさん
NGNG関連してすこしだけ
integer 型は整数型なので、小数点とか扱うのは別の型で。
たぶん、最初のときだとinteger型で、ある程度ごまかしきくけど
今回のような計算には小数点以下を扱える Real やDoubleを使うといいです
var i,j:Double;
という感じで、型変換は、417さんの書いてある通り
IntToStr()を
FloatToStr()にしてあげればOKです
0419デフォルトの名無しさん
NGNGJpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(Form2.Label1.Caption) ;
bmp.assign(Jpeg);
Form2.PaintBox1.Canvas.StretchDraw(Rect(0, 0, Round(bmp.Width),Round(bmp.Height)),bmp);
こんなかたちでPaintBox上にJpgファイルを連続表示させているのですが
前に表示した画像より後に表示する画像のほうが小さい場合 前の画像の一部が残ったままになってしまいます。
どのような解決方法がるかお教えください。
0420デフォルトの名無しさん
NGNGそれを回避するにはどうすればいいですか?
0421デフォルトの名無しさん
NGNGStretchDrawする前にPaintBoxを塗りつぶす。
0422デフォルトの名無しさん
NGNGCanvas.Brush.Style := bsClear;
だとまったく効果が現れませんでした。やっていることがまったく見当はずれなのでしょうか?お教えください
0423デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
begin
PaintBox1.Canvas.Brush.Color := cl3DLight;
PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width, PaintBox1.Height));
//ここに描画処理
end;
やってる間は画面のアップデート止めないとちらつくだろうからそこは適当に
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGこちらの画像一覧コンポーネントImgPanelを使わせていただいているのですが
ImgPanelの大きさにあわせて見える範囲内のサムネイルを作るというような形式になっているようにかんじるのですが
指定したフォルダ内のサムネルを一気に作り出しておくようにすることは可能でしょうか?
もしくはこちらが指定した個数ずつ(フォルダ内の100個のがファイルに対して0-20 21-40・・・・など)パッ パッ パッ と段階的に表示させることなどは可能でしょうか?
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG↑すいません、これなんて読むんですか?
でるふぃー?
0429デフォルトの名無しさん
NGNGでるふぁい
0430デフォルトの名無しさん
NGNGお答え感謝いたしますm(_ _)m
0431デフォルトの名無しさん
NGNG素のレスだったんですね・・・
StringListの特定の行の特定の場所に文字を挿入したいんですが、
どうすればできますか?
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNG= 縮小画像設定関連(ImgShare 参照)
property VisibleCount: integer;
= 表示アイテム数
property VisibleColCount: integer;
= 表示列数
property VisibleRowCount: integer;
= 表示行数
//ImgShare
property LookAhead: Boolean;
= 画像の先読み機能のOnOff(False の場合は、アイテムが表示されるまで画像の読込を行わない)
0434デフォルトの名無しさん
NGNG×Insertメソッド
○Insert関数
0435デフォルトの名無しさん
NGNGどうもです。
ついでにもう一個、Delphi版のTP Lex/Yaccの使い方が分かりませぬ。。
どう使えばいいのか、親切な方教えてください。。。
0436デフォルトの名無しさん
NGNGありがとうございました。
このコンポーネントのヘルプに関しましては私の見る限りそこまで詳しく知ることができなかったのですが
皆様はどのようにしてそこまで各コンポーネントの詳細情報を得ることができるのか参考までにお聞かせください。
0437デフォルトの名無しさん
NGNGついてきてたテキストファイルをコピペして貼っただけなのだが
0438デフォルトの名無しさん
NGNGproperty LookAhead: Boolean;
= 画像の先読み機能のOnOff(False の場合は、アイテムが表示されるまで画像の読込を行わない)
こいつだけは探し出せませんでした・・・・なんでだろう。
お手数かけましてすみませんでした。
0439デフォルトの名無しさん
NGNG0440デフォルトの名無しさん
NGNGDelphi5
Delphi6
Sample
ImgPanel.txt
ImSub.tct
readme.txt
のみでした。
img115.lzhだったんですがヴァージョン違いなのかな?
0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNGpaintboxを動かすことによってしかformサイズが変わらなくなってしまいました
どうしたらいいですか?
0443デフォルトの名無しさん
NGNGForm の AutoSize プロパティが True になってないか?
0444デフォルトの名無しさん
NGNGデスクトップやエクスプローラーにドラッグ&ドロップするにはどうすればいいのでしょうか?
0445デフォルトの名無しさん
NGNG0446デフォルトの名無しさん
NGNGデータ中の半角スペースまで区切り文字と判断してしまいます。
データ中によく半角スペースが出てくるのですが、
CommmaTextは諦めて、自前で処理するしかないのでしょうか?
0447デフォルトの名無しさん
NGNGWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ShellCtrls, StdCtrls, FileCtrl, ImgPanel, Jpeg, Unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Label1.Caption :='123';
Form2.Show;
Form2.Label1.Caption :='1234';
end;
なぜたかForm2.show; がとおりません?なんででしょうか?
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGForm2.Show;
Form2.Label1.Caption :='1234';
この2行に関しまして両方をコメントアウトした場合は問題ないとおり、
どちらか一行でも有効にした場合には 「アドレスxxxxxxxxxxx でアドレスxxxxxxxxxxxxxxに対する読み込み違反が起こりました」とでます。
0450デフォルトの名無しさん
NGNGForm2 := TForm2.Create(Application);
Form2.Show;
Form2.Label1.Caption :='1234';
とかしてみれば
0451ぱぴこ
NGNG|ヘ| /::::::::::::::;:/´ヾヘ;:::::::::ヽ
|ヘ| /::::::::::((,/ `、::r、:::゙,
| ̄| ,'::::::::::::i゙ \ / i::::i うぜーDel
(∃⊂ヽ !::::::::::::| ● ● l::::| / 〉 使えないDELうぜってー!
─── └┘\ !::::::::::::! !:::!/\/
\/ \::::::::!"" ____ ""!::| \/
──── ヽ |::::::| l, / ノ::i /
`、 i:::::l、ヽ.,_ `''''" _,..イ:::::i /
───── ゙、 ヽ;i \ヽ,.l ̄_,l |:::/ /
゙、 ヽ`、 | / レ' /
────── ゙、 / `ヽ''" i. /
/ NEVADA |/
─────── / |
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNGStrToIntだとDWordとの比較で警告されます。
無理やりキャストするのもあれですし。
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNGVB厨を名乗ってくるのもたいてい挫折したのだよね。
0456デフォルトの名無しさん
NGNGプロジェクトソースを貼ってみ
0457デフォルトの名無しさん
NGNGDWORD にキャストしたら
0458454
NGNGそれにしてもこんなの初めてだよ・・・・・いみわかんっす。
いろいろどうもでした。
0459デフォルトの名無しさん
NGNG[プロジェクト|オプション]のフォームの自動生成の対象にForm2が入っているか確認。
入っていなければ"<"を押して追加する。
0460デフォルトの名無しさん
NGNGあれってなに。プログラマが十分承知していればキャストは無害だよ。
0461デフォルトの名無しさん
NGNGinteger がつねに正であることが確実な場合は、キャストしてしまえばいい
0462デフォルトの名無しさん
NGNGCommaText に設定するまえに、半角空白を _ などに StringReplace で変換しておけば
設定後に再変換して半角空白にもどす
0463デフォルトの名無しさん
NGNGデータの両端を ' ' でくくればいいんでないかい?
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGデータ区切りを自動化するために CommaText を使うわけだろ。そのまえに
分かっていればつかう必要はない
0466デフォルトの名無しさん
NGNGわけわか
0468デフォルトの名無しさん
NGNGIndv Cliants
Indv Servers
Indv Intercepts
Indv I/O Handlers
Indy Misc
かつて試しに入れてみたのですが今のところ必要ないので消しておきたいのです。隠すのではなく削除する方法を教えてください。
0469デフォルトの名無しさん
NGNGデフォルトのチェックをONにするのを忘れずに。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGたとえばどこが?
0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNGVC#やVC++やJBuilderやBCBも同じようなもんだよ
0474デフォルトの名無しさん
NGNGそーなんだ
0475デフォルトの名無しさん
NGNGだんだんと先細りの道であるとことは否めんがスタート時の道幅は広く(スタートしやすい)それなりに道も整備されており(コンポの充実) 何より他より楽しい。
難点は地図(指導書)がないことかなぁ・・・・
とりあえず俺はそう思う。
0476デフォルトの名無しさん
NGNGDelphiを作っているのはたった一社のBorlandだし、
そのBorlandでさえ.NETではDelphiよりもC#に力を入れている。
0477デフォルトの名無しさん
NGNGVB は複数の会社でつくってるのか?
> そのBorlandでさえ.NETではDelphiよりもC#に力を入れている。
だから、VB にしとけってか?
>>476 は全体に意味不明
同じに思えるんだったら好きにしたらいいだろ。
0478デフォルトの名無しさん
NGNGMS だって .NETでは VB よりも C# に力を入れている、と思うよ。
0479デフォルトの名無しさん
NGNGある意味正しい。そんな程度なら、何使っても同じだろうな。まったくのはじめて
プログラミングに入門するのがVBからだと思うと、ちょっと悲しい。まぁ、いいけど。
0480デフォルトの名無しさん
NGNGSendMessage(GetDlgItem(hWnd, IDC_MCDBEDIT), EM_REPLACESEL, 1, Longint(PChar('kkk')));
これでテキストボックスに文字(kkk)が追加されたのですが、取得ができません。
以下の記述ではダメでしょうか?なにか足りませんか?
var
buffer:string;
略
SendMessage(GetDlgItem(hWnd, IDC_MCDBEDIT), EM_GETLINE,100, Longint(Pchar(buffer)));
MessageBox(hWnd, PChar(buffer),'取得', MB_OK);
0481デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
s:string;
num:integer;
begin
num := SendMessage(GetDlgItem(hWnd, IDC_MCDBEDIT),WM_GETTEXTLENGTH,0,0);
s := StringOfChar(#0,num+1);
SendMessage(GetDlgItem(hWnd, IDC_MCDBEDIT),WM_GETTEXT,num+1,LPARAM(s));
MessageBox(Handle, PChar(s),'取得', MB_OK);
end;
0482デフォルトの名無しさん
NGNGとりあえず、buffer の長さを確保していないのが誤り。StringOfChar() か
SetLength() で十分な長さを予め確保しておくこと。
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGどうもです。
無事出来ました。ありがとうございました。
ネットで調べても分からなくて、本屋に参考書買いに行って
一冊もdelphi置いてなし、、、助かりました。
0485デフォルトの名無しさん
NGNGAL-mailのプラグインを作りたくて奮闘中です。
初めてのプログラミングなのでヨチヨチです・・・
0486デフォルトの名無しさん
NGNGあっ、そういう事情ですか。失礼しました。がんばってください。
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGAnsiPos() がゼロ以外を返すかどうかで判断
0489デフォルトの名無しさん
NGNGAnsiContainsStr
0490デフォルトの名無しさん
NGNGExcelやWordなどでVBAが導入されているので、VBの構文に触れておくことは
決して悪いことではではないと思うよ。
まあVB6以下では真のプロにはなりにくいことも実感できると思うけど。
0491デフォルトの名無しさん
NGNG> だから、VB にしとけってか?
意味不明なのはお前の方。
>>476のどこにVBにしとけってかいてあるんだ?
はっきり言ってお前、VBにコンプレックスあるだろ?
0492デフォルトの名無しさん
NGNG> VB は複数の会社でつくってるのか?
これには答えないつもりかよ?
0493デフォルトの名無しさん
NGNG疑問文であると分かりませんか? 日本語なんですけど。
0494デフォルトの名無しさん
NGNG今まで自作してたのと同機能のやつが2,3個あった・・・・あの手間はいったい//
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG自作で間に合ってるようなのが多いでしょ。Delphi の最近のバージョンアップ
ってそんなのばっか。
0497デフォルトの名無しさん
NGNG各サムネイル画像から少しずれたところをクリックすると
アドレスxxxxxxxxxxx でアドレスxxxxxxxxxxxxxxに対する読み込み違反が起こりました
と表示されます。
FrameやSpaceなども変えてみたのですがどうも変化がありません。
最も近い座標のパスを取得する もしくは エラーメッセージを出さない方法を教えてください。
0498487
NGNGAnsiPos() こちらで実現可能でした。どうもです。
>489
AnsiContainsStr こちらは未定義の識別子と出てしまいました USESに何らかの追記が必要なのでしょうか?
0499デフォルトの名無しさん
NGNGいいかげんさぁ、VBを持ち出して対抗するの止めたら?
だから、Del厨はVBにコンプレックスあるといわれるんだよ。
0500デフォルトの名無しさん
NGNGDel厨がVBにコンプレックスがあるのは。
0501デフォルトの名無しさん
NGNG>>494が便利だといっている StrUtils を Uses
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGそういうのを知らずに自分で作ってしまうことはよくあるね。
でもその努力は決して無駄なことじゃない。あなたは遠回りしたようだがいい体験をした。
0504デフォルトの名無しさん
NGNG採用するなと。そういうことだろ。
ちなみに、monoが作っているVB.NETについてはこちらへ
http://www.go-mono.com/mbas.html
0505デフォルトの名無しさん
NGNGそんなものはないよ。
向こうが勝手に粘着してくるだけだ。
それを無視できないのがDel厨の問題だけど。
0506388
NGNG(何かこのスレ、伸びるの早いですね。ほんの1日か2日なのに、すごい亀レスしてるみたい)
情報ありがとうございます。
サンプルDLして試してみました。
mdb操作、かなりおもしろいです。
DelphiからのSQL発行はこれまでも実験的に何度かやってましたけど、
(まあ実際にはmdb側にアクションクエリつくって、Execute('クエリ名')
のケースが多い。おかげでmdb内はクエリだらけ)
DB自体つくれちゃうってのはかなり驚き。
いま職場では、PCの台数分Access入れてますけど、Delphiをモノにすれば
Accessのパッケージは1個で済む、かも(そもそもDelphiに手を着け始めたのは
それがもくろみ、つか、ささやかな希望)
すでにパーソナル版でつくったモノを、職場の比較的あたりさわりない業務で使って
ますが、自信がついたらPRO版買います(パーソナル版のストリンググリッドでは
あまりにもショボい。PRO版ならもっと見栄えのいい入出力画面が作れるはずですよね)
>>ADOのヘルプ
検索したらCドライブじゃないところから見つかりました。
AccessのCDを丸々コピーしたドライブ。。。インストールしてなかったのか(゚Д゚)
0507デフォルトの名無しさん
NGNG> ますが
ライセンス違反だボケ。
http://www.borland.co.jp/news/del6personal_j.html
> ※ Delphi 6 Personalでは、商用・業務アプリケーションの開発はできません。
0508デフォルトの名無しさん
NGNG最高! 可笑しくて涙出た。VB は何しに来てるん?
0509デフォルトの名無しさん
NGNG既に解決してるかも知れないけど StrToInt64 の戻り値を
DWORD にキャストする。
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNGぜんぜん遠回りではないよ。自分の実現したい機能が既存の関数にあるかどうか
を必死に探すのもいいけどね。それがいつもあるわけではない。自分でつくって
十分テストできればそれで十分だろう。そうやって、基本的な関数を利用して
より高度な機能の関数をつくって貯めていけば自分の財産となる。論理は言語が
かわっても変わらないから、他の言語に対しても応用が効くし。
Delphi のように構造化言語とクラス型OOPLの中間のような場合では関数や
手続きがクラスの外に単独で実装できるが、Java や C# のような場合は、クラスの
static メソッドにしなければならないね。そうやって、クラスも自作できるように
なってくれば自然だよね。とにかく、このスレだけでなくて初心者の質問を見てみる
と何でも既存の関数やコンポーネントやメソッド、プロパティーの設定だけで、すべ
てのプログラムができてしまうんじゃないか、と勘違いしているように感じられる。
なんでも自作するのはそれはそれで問題だけど、自作しなくちゃできないものの方が
本当はオリジナルなものなんだ、と思うんだけどなぁ。
0512デフォルトの名無しさん
NGNGわざわざDelphiの質問スレまで来てご苦労な話だな
0513497だけど議論に埋もれたのでもう一度・・・・・
NGNG各サムネイル画像から少しずれたところをクリックすると
アドレスxxxxxxxxxxx でアドレスxxxxxxxxxxxxxxに対する読み込み違反が起こりました
と表示されます。
FrameやSpaceなども変えてみたのですがどうも変化がありません。
最も近い座標のパスを取得する もしくは エラーメッセージを出さない方法を教えてください。
0514デフォルトの名無しさん
NGNG縦書きで表示させたいんですけど、なんていうプロパティをいじれば
いいのでしょうか?宜しくお願いします。
0515デフォルトの名無しさん
NGNG私も最初は無料パーソナル版+ADOで遊んでいました。
現在はPRO版を購入してmdbとFirebirdを使用しています。
パーソナル版でDB処理を扱いだすとPRO版が無性にほしくなりますね。
0516よくわからない小僧
NGNG0517デフォルトの名無しさん
NGNG改行したいキャプションが存在するFormでalt+F12でソース表示し
目的のキャプションの文字列のところを '一行目'#13'二行目' 等にする。
これを使えば一行くらいならちゃんと読める縦書きになります。
他のやり方は分からないので他の人にバトンタッチを(´ω`)
0518デフォルトの名無しさん
NGNG> いいのでしょうか?
Font プロパティーをいじればいいですけど、簡単ではないです。
0519デフォルトの名無しさん
NGNG専用コンポーネントをゲット汁
0520デフォルトの名無しさん
NGNGできにゃいよ。
0521デフォルトの名無しさん
NGNGDelphi の TFont は回転に対応していないので、代わりに CreateFont API を
使って論理フォントを作る必要がある。(CreateFontIndirect でも OK)
このとき nEscapement パラメータに 2700 を指定し、lpszFace パラメータが
指すフォント名の頭に '@' を付ける。
作ったフォントが不要になったら DeleteObject で解放すること。
0522デフォルトの名無しさん
NGNGその代わり8には7が標準でついてるよ
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNGWINDOW とは何のウィンドウですか?
画像ファイルはどんな形式でどのような方法で表示させているんですか?
スクロールとは何をスクロールしてるんですか?
画像を表示するのによく使われる TImage はウィンドウコントロールでは
ありませんし、当然スクロールバーもついてませんよね。
いまいち状況がよくわかりませんが。
0525デフォルトの名無しさん
NGNGこのメッセージはどういったことを意味し どうすることによりエラー回避が可能になるのでしょうか?
0526デフォルトの名無しさん
NGNGForm1.DoubleBuffered := True;
とか?
>>525
配列の範囲を越えてアクセスしてるとか、オブジェクトを2回Freeしてるとか、
CreateしてないオブジェクトをFreeしてるとか・・・あとどんなのがあるかな?
0527デフォルトの名無しさん
NGNGありがとうございました。たしかにFreeの重複がありました。
あれらの文字列からどのようにそれらの情報を読み取ることができるのでしょうか?
0528デフォルトの名無しさん
NGNG「読み込み違反」は割り当てられてないメモリ領域にアクセスしたときに
発生すると思うので、それっぽい状況を想像してみただけ。
アドレスとかは全然見てない。
0529523
NGNGJpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(Form1.Label1.Caption) ;
bmp.assign(Jpeg);
PaintBox1.Height := bmp.Height;
PaintBox1.Width := bmp.Width;
PaintBox1.Canvas.Brush.Color := cl3DLight;
PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width, PaintBox1.Height));
PaintBox1.Canvas.StretchDraw(Rect(0, 0, Round(bmp.Width),Round(bmp.Width)),bmp);
上記の形でPaintBoxサイズが大きくなりそれにともないformサイズが大きくなった場合Formスクロールするごとに画像を読み込みに一定いるような感じがあります。
よりスムースに表示させる方法をお教えください。
0530デフォルトの名無しさん
NGNGFillRectは必要なのか?
0531デフォルトの名無しさん
NGNG念のため確認しておきますが、最初の行から全部を PaintBox1.OnPaint に
書いてるわけじゃないですよね?
読み込み時
ビットマップへの転写は Assign じゃなくて、Width と Height を設定してから
bmp.Canvas.Draw を使うべき。(リサイズを伴う場合は StretchDraw)
これは TJPEGImage の内部データはインスタンスの外部で保持されていて、
メンバーへのアクセスはメソッドで提供されるので、アクセス回数を可能な限り
減らすことで高速化できるため。
描画時
FillRect はしなくてもいいんじゃないの?
PaintBox1 への描写時にはリサイズしないので Draw を使うべき。
その他
透過しないなら csOpaque を PaintBox の ControlStyle に加えておくと
クリッピングしないのでちらつきが抑えられる。
0532デフォルトの名無しさん
NGNGでFillRect使うことを教わりこれでうまいこといっていたのですが、どのような問題点が考えられるのですか?
その他のこともいろいろためさせていただきます。ありがとうございました。
0533デフォルトの名無しさん
NGNGPaintBox1とbmpのサイズが同じなら、DrawでPaintBox1全体に描画される
から、FillRectで塗り潰す意味がないんじゃないの?という話なんだけど。
0534デフォルトの名無しさん
NGNG無知な私にここまで付き合っていただきありがとうございます。
0535デフォルトの名無しさん
NGNG残るかどうか覚えてないんだけど、もし残ったと仮定してPaintBoxを小さくした
後にFillRectしても塗り潰されるのは小さくなったPaintBox内だけだから
やっぱり意味がなく、無駄に遅くなるだけ。
>>419-423とは状況が変わってきてるから、そのままでは適用できなく
なってきてるよ。
0536デフォルトの名無しさん
NGNGCanvas.TextWidthよりも高速に文字幅を取得する方法があったら教えてください。
0537デフォルトの名無しさん
NGNGJpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(Form1.Label1.Caption) ;
Form2.PaintBox1.Height := Jpeg.Height;
Form2.PaintBox1.Width := Jpeg.Width;
bmp.Canvas.Draw(0,0,Jpeg);
Form2.PaintBox1.Canvas.Brush.Color := cl3DLight;
Form2.PaintBox1.Canvas.Draw(0,0,bmp);
教えていただいたことをいくつか取り入れてみたつもりなのですが一向に反応がありません・・・・
Jpegまでは問題なく取得で着てはいるのですが。
0538デフォルトの名無しさん
NGNGPaintbox.Height Width ではなく bmp.Height 二修正したら問題なく行きました。本と寸ませんです。
0539デフォルトの名無しさん
NGNG>537
で比べるとかなり体感速度が遅くなったように感じちょっと厳しいっす。
より高速な処理を望むにはどうしたらよりでしょうか?
0540デフォルトの名無しさん
NGNGなぜ、TImage ではなく TPaintBox なのか? なにをどうスクロールしているのか?
普通は TForm のスクロールを利用するんじゃなくて、TScrollBox の中に TImage
を入れるんじゃないの? そうすると、画像の設定は一回で済む。あとはコードいらず。
0541デフォルトの名無しさん
NGNGどのように「遅い」のですか? なにと比較して遅いのですか?
> Canvas.TextWidthよりも高速に文字幅を取得する方法があったら教えてください。
そういう方法があったら、Canvas.TextWidth は誰も使わないだろうな。っていうか、
このメソッドはその方法で実装するだろうね。
0542デフォルトの名無しさん
NGNG状況によっては GetTextExtentPoint32 などの API を直接呼ぶ方が
わずかに速いかも。Canvas がなくてわざわざ作る場合とか。
DC 使わずにフォントを操作するのは初心者レベルじゃないと思いますよ。
>>539
素直に TImage を使ったらどうなの? パレットの面倒も勝手に見てくれるし。
0543デフォルトの名無しさん
NGNG画像ヴューアーを作っておりimgPanelより取得した画像ファイルをPaintBoxに出力。
そのごPaintoBoxをマウス左右クリックすることにより同フォルダ内の画像を順順に表示させたいと考えております。
以下に現在のソースの一部を示します。
procedure TForm2.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Jpeg :TJpegImage; bmp:TBitmap; i:Single; j:Single;
begin {1}
if Button = mbLeft then
begin {2}
if StrToInt(Form1.Label2.Caption) < Form1.FileListBox1.Items.Count-1 then {Form1.Label2.Caption := IntToStr(FileListBox1.Items.IndexOf(ImgPanel1.Selected.DisplayName));)
begin {3}
Form1.Label2.Caption := inttostr(strtoint(Form1.Label2.Caption) +1);
Form1.Label1.Caption := Form1.FileListBox1.Items[strtoint(Form1.Label2.Caption)];
bmp := TBitmap.Create;
Jpeg :=TJpegImage.Create ;
Jpeg.LoadFromFile(Form1.Label1.Caption) ;
bmp.assign(Jpeg);
i := Form2.PaintBox1.Height/bmp.Height; {以下 画像をFormいっぱいにする}
j :=Form2.PaintBox1.Width/bmp.Width;
Form2.Caption := Form1.Label1.Caption;
if j<i then begin {4-2}
PaintBox1.Canvas.Brush.Color := cl3DLight;
PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width, PaintBox1.Height));
PaintBox1.Canvas.StretchDraw(Rect(0, 0, Round(bmp.Width*j),Round(bmp.Width*j)),bmp);
Form2.Caption := Form1.Label1.Caption;
end; {4-2}
end; {3}
end; {2}
0544デフォルトの名無しさん
NGNG全部自動的に解決する
0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGべつに
0548デフォルトの名無しさん
NGNG0549デフォルトの名無しさん
NGNGjpg → bmp の変換は無駄。Canvas.StretchDraw() では jpg も描ける
> PaintBox1.Canvas.Brush.Color := cl3DLight;
> PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width, PaintBox1.Height));
これは画像変更にともなう背景の更新をするものだろうが
PaintBox1.Refresh;
で OK 。再描画に OnPaint イベントハンドラを使っていなければね。
0550デフォルトの名無しさん
NGNG○に比べる
俺のIMEはアフォか…○| ̄|_
0551デフォルトの名無しさん
NGNGImgpanelなどのことに関する質問で何らかの不快な思いをさせてしまっていたのなら大変申し訳ありませんでした。
できれば今後もこのスレにはお世話になっていきたいと思っておりますので、皆様を不快に感じさせないようもう少し気をつけて書き込みさせていただきます。
このたびは大変申し訳ありませんでした。
0552デフォルトの名無しさん
NGNG迷信
0553デフォルトの名無しさん
NGNG>迷信
え?そうなの?
0554デフォルトの名無しさん
NGNG別に不快ではないが、標準以外のカスタムコンポーネントについて延々と質問するのは
ちょっと筋違いな気がするね。作者に訊くのが本筋だと思うよ。
0555デフォルトの名無しさん
NGNGアドヴァイスありがとうございました。以後そうさせていただきます
0556デフォルトの名無しさん
NGNG描画コードを書く。TImage は自分で画像バッファを持っているので再描画を
自動的にするだけ。>>543 のようなコードでは再描画されないので、例えば
最小化から復帰したときなどでは画像が消えてしまう。
0557デフォルトの名無しさん
NGNG暇なときに何枚か先まで読んどいて必要な時に Picture に放り込めば
あまり気にならないと思う。
0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNGオブジェクトインスペクタで設定できる と思う。
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGTimageListにicoファイルを読み込んでおいて
imageList1.GetBitmap(0,SpeedButton1.Glyph);
だ。確か左下の1ピクセルの色がが透明色になっちゃうので注意、と。
0562デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNG(;´д`)ハァハァ
0566デフォルトの名無しさん
NGNGおもいっきり笑った。
腹いてーよ。
0567デフォルトの名無しさん
NGNGえ?なにがまずいの?
0568デフォルトの名無しさん
NGNG自前でicoをビットマップに変換してから使いませう。
0569デフォルトの名無しさん
NGNG黒色にさせるつもりのところが灰色(透過色?)に表示されてしまいます。どうしたらいいですか?
0570デフォルトの名無しさん
NGNG注意ビットマップの左下のピクセルは「透過」色用に予約されています。
ビットマップで左下に位置するピクセルはすべて透過になります。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNGpersonal6と比べて・・・
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNGForm1 Form2 を二つ使うアプリを作成中なのですがForm1(Unit1.pas)のみがともに起動し そのあと手動でUnit2.pasを起動しております。
これをみっつのファイル同時に開かせるにはどうしたらよいですか?
0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG開くダイアログで複数選択する。
dpr が一番左になるようにしないと駄目みたい。
0580デフォルトの名無しさん
NGNGuses
Forms,
Unit1 in 'Unit1.pas' {Form1};
ここらへんとか
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
ここらへん
Application.Run;
end.
dprにUnit2追記とかして何とかなったりするのかな?
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG> そのあと手動でUnit2.pasを起動しております。
たしかに
0583デフォルトの名無しさん
NGNG>579 さんがおっしゃっていることに起こる動作をワンタッチでできないものかなぁという質問でした。
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG一番手っ取り早いのかなぁ・・・なんとかしたい。
0587デフォルトの名無しさん
NGNG578に書いてあるやつでいいんじゃないの?
578に書いてあるように設定して, unit2とか必要なものを開いてからdelphiを再
起動すればよし.
0588デフォルトの名無しさん
NGNGdprからではなく Delphi起動によって閉じたときに使っていたものもひらかれるんですね。
ありがとうございました。
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNGjpg JPG jpeg *.jfif *.jpe
下記二つに関しては見たことはありませんが、調べたらこんなんまででてきたので値とびっくりです。
上記三つ以外に一般的に使われていると思われるのありますでしょうか?
0591デフォルトの名無しさん
NGNGどこか解放を忘れてると思って間違いないですか?
Delphi6です
クラスをいっぱい作ってるのですが
全部解放してるかどうかの確認はしてないので不安です
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG現在、とあるプログラムを製作中で半年ほどかけて全体の半分ぐらいまで出来てきました。
一番多用されるデータがあるのですが、このデータの形式を変えれば
劇的にデータサイズが減らせることに最近気が付きました。(データのサイズが1/3程度になる)
しかし、データの形式自体が変わってしまうためプログラムの多くの部分を改修せねばなりません。
プログラムの大部分の改修を覚悟してデータ形式の変更を実施したほうがいいのでしょうか?
0594デフォルトの名無しさん
NGNGバックアップしてすこし試してみればいい。
0595デフォルトの名無しさん
NGNGデータの量が莫大なら仕様変更。
量が少なくてそれほどメモリ食ってないならそのまま
0596デフォルトの名無しさん
NGNG・現状データサイズの大きさが問題になっているか
・仕様変更による遅延が問題になりうるか
・完成した後に変更した場合、すぐ修正する場合と比べて修正箇所が倍になるか、
データのコンバート等の余分な作業が発生しないか。
・データ構造はそのままで、データにアクセスする部分を一元化して、
後から最小限の修正でデータ構造を差し替えられるように変更することは可能か
あたりを考えてみればいいんじゃないの。
一般論としてはなんとも言いようがないよ。
0597デフォルトの名無しさん
NGNGデータに変更があってもプログラムの多くを改修しなくて良いように、
DB−DOC−FORM
の構造に作り直しとけ。
話はそれからだ。
・FORMはDOCクラスしか見ちゃいけない。
・DOCは構造体配列+データのロード、更新メソッド
0598デフォルトの名無しさん
NGNGなんだこりゃw
0599593
NGNG結局、現状のバックアップをとって改修することに決めました。
ああ、恨むべきは自分の才能の無さかなぁ・・。
なんで最初にデータの仕様を考えたときに思いつかなかったのかな・・。
0600デフォルトの名無しさん
NGNGファイルを保存するときは
ファイル名.exeとしなければならないのでしょうか?
0601デフォルトの名無しさん
NGNGマターリ頼む。
まるで売れてて流行っとるみたいじゃんか。
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGname.c
0605デフォルトの名無しさん
NGNG52枚のカードに対応した52個のスピードボタンとOnClickイベントを
ダラダラと52回並べて書くのはいかにも効率が悪いと感じました。
こういう、同じようなイベント処理がたくさん出てくる時に
使うべきテクニックを教えてください。
キーワードがわかれば、あとは自分でぐぐって調べてみます。
よろしくお願いします。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGSender を TSpeedButton にキャストして Tag の数値を見れば、どのカードが
クリックされたのか分かる。
101 スペードにエース
102 スペードの2
...
413 ダイヤのキング
とか。
0608デフォルトの名無しさん
NGNG$11 スペードのエース
$12 スペードの2
...
$1D スペードのキング
...
$4D ダイヤのキング
0609デフォルトの名無しさん
NGNG1.各スピードボタンのTagプロパティに固有の番号を与える
2.スピードボタンを全部複数選択
3.OnClickイベントを作成(各スピードボタンのイベントを一つのメソッドで共有できる)
4.Sender引数をスピードボタンにキャスト(Senderにはそのイベントを起こしたボタンのオブジェクトが入る)
5.キャストしたSenderのTagプロパティを見て処理を分岐(case文使うかな?)
こんな感じ
procedure TForm1.ButtonClick(Sender:TObject);
begin
case (Sender as TSpeedButton).Tag do
〜〜〜〜〜〜
end;
end;
0610デフォルトの名無しさん
NGNGABoneのdatファイルをDelWikiの2chミラーにうpした。
htmlへの変換がわかんないから自分でやっとくれ。
0611デフォルトの名無しさん
NGNGどぞ
ttp://www.asahi-net.or.jp/~ed2y-akg/kudasure13.html
0612デフォルトの名無しさん
NGNGjpegってのは作業部会の名前(Joint Photographic Experts Group)の略であって、画像フォーマット名じゃないよ。
で、いわゆるjpeg画像の中で一般的に使われるフォーマットがJFIFというのがあるんで、jfifという拡張子が付いている画像もあるんじゃないんだろうか。
jpgとjpeは拡張子が3文字しか対応していないシステム向けの設定ですね。普通はjpgとするけど、jpegをそのまま持ってきたときに最後の一文字が削られてjpeになる可能性もあるので、それも登録してあるという話。
jfif以外にJPEG-TIFF形式とかExif形式とかの形式もある。
0613デフォルトの名無しさん
NGNGどこに書けばいいんですか
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGpublicに書くとっどこからも使える
0616デフォルトの名無しさん
NGNGvar
Form1: TForm1;
のところに書けばいいと思う。
0617デフォルトの名無しさん
NGNG考えてるんですが、どうやっても対象プログラムが
Form1の表示前後で止まって、フォーム上で砂時計
のままです。
停止させると、いつもntddl.NtWaitForSingleObject:で
ループしてるみたいです。もしかして、これが普通?
なお、プロジェクト作成時に自動的に付加される部分は
まったく触ってません。
なにかヒントはないでしょうか?
0618デフォルトの名無しさん
NGNGダウト!
0619デフォルトの名無しさん
NGNG>privateに書くとそのフォームからしか使えない
×フォーム
○ユニット
だな
0620デフォルトの名無しさん
NGNG>>613にユニットとか言い出したら
パニくる気がした
0621デフォルトの名無しさん
NGNGIntToStr() はどのユニットからも使えるよね。正確にいうと、uses に SysUtils を
含めるとどのユニットからも使える。汎用の関数は、Form を定義しているユニットから
独立させて、それ専用のユニットファイル、例えば MyUtils.pas などのユニットの
interface 部に宣言しておくと、そのユニットを uses するとどのユニットファイルか
らも使えるようになる。
0622デフォルトの名無しさん
NGNG0623613
NGNGもうひと頑張りいきます
>>613, 614, 615, 616
レスかんしゃです
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
これの、public と end の間に function〜書いたら怒られました
var
Form1: TForm1
のところに function 書いてもやっぱり怒られました。
どのフォームからでも使える関数を、フォーム1のパスに書くというのも何だか変な気がしたので
ためしに1つ上の階、というか、project1のソースのところに適当に書き散らしてみたら、
やっぱり怒られました。
自分的にはもはや打つ手なしという感じなので、ダメなら各フォームごとに
同じ関数くりかえし書くという妥協案を用意した上で、取りあえず寝ます
(本日はくたくたです)
0624デフォルトの名無しさん
NGNGpersonal ユーザなら宣言部だけの SysUtils.int があるはずだから
それをみると感じがつかめる。
0625デフォルトの名無しさん
NGNG------------------------------
unit MyUtils;
interface
uses
SysUtils;
function SumTwo(const V1,V2:integer):integer;
implementation
function SumTwo(const V1,V2:integer):integer;
begin
result := V1 + V2;
end;
end.
-------------------------------
0626デフォルトの名無しさん
NGNGvar
Form1: TForm1;
implementation
{$R *.DFM}
uses
MyUtils;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := IntToStr(SumTwo(3,5));
end;
0627613
NGNGようやく、できました
心安らかに寝れます。
{$R *.dfm}
↑
↓
uses unit何ちゃら, unit何ちゃら・・・;
この二つはどっちが上でもいいのかな。
どっちも問題なく実行できちゃいました。
何はともあれ、おやすみなさい
0629デフォルトの名無しさん
NGNGこのスレの方々は皆さんとても親切な方が多くチョコチョコ見させてもらっております。
とてもいい雰囲気のスレですね。
0630デフォルトの名無しさん
NGNGファイルの形式を調べる方法に関して拡張子によつ判別しか思いつかず 以下のような見苦しいものになってしまっているのですが
もう少しスマートな方法などありますでしょうか?
AnsiCOntaintStr の引数[2]にOrなどが使えればと思うところなのですが適切な関数などもありますでしょうか?
count := 0;
if(AnsiContainsStr(Form1.ImgPanel1.Selected.DisplayName,'jpg') = True) { 文字列にjpgがふくまれていたら count++}
then
begin
count := count+1;
end
else if(AnsiContainsStr(Form1.ImgPanel1.Selected.DisplayName,'jpeg') = True) { else 文字列にjpgがふくまれていたら count++}
then
begin
count := count+1;
end
else if(AnsiContainsStr(Form1.ImgPanel1.Selected.DisplayName,'JPG') = True) { else文字列にjpgがふくまれていたら count++}
then
begin
count := count+1;
end
if count > 0 then {countが1以上ならJPEGファイル}
begin
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGFileName: string;
begin
FileName := 'C:\test.jpg';
if AnsiLowerCase(ExtractFileExt(FileName)) in ['.jpg', '.jpe', '.jpeg', '.jfif', ] then
begin
//もにゅもにゅ
end;
end;
0633デフォルトの名無しさん
NGNGネタか?
0634デフォルトの名無しさん
NGNGありがとうございました。
0635デフォルトの名無しさん
NGNGそもそもDelphiってどんなことができるんですか?
物凄く可能性が大きいプログラム開発ソフトなんですか?
PC初心者なので、いまいちよくわかりません。
どなたか教えてください。
0636デフォルトの名無しさん
NGNGなにか良い方法はないですか?
0637デフォルトの名無しさん
NGNGポインタと一緒に要素数を受け取るしかない。
0638デフォルトの名無しさん
NGNGPByteArray は Byte 配列へのポインタであって、Byte へのポインタの配列ではない。
1 つのポインタに対して要素数という概念は存在しない。
type
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
0639デフォルトの名無しさん
NGNGwindowsアプリケーションを作成するためのソフトです
OSを書くといって用途には向かないでしょう
0640デフォルトの名無しさん
NGNG>そもそもDelphiってどんなことができるんですか?
Delphiで何かをするというよりは、Delphiで作ったソフトウェアで何かをする。
0641デフォルトの名無しさん
NGNGDelphiに限った話ではないが、プログラマ次第。
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNGRuntime Error216で強制終了してしまいます。
どうすればexceptできるようになりますか?
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG呼び出す形にして、その手続きの中で例外処理したらどうですか?
0647デフォルトの名無しさん
NGNGバグがあるわけではなくとあるデバッグ用に意図的に起こしてるんです。
>>646
既にそうなってるんですが、駄目みたいです。
よく考えたらSysUtilsをusesしてないので
exceptしようにもその例外クラス(SysUtils.Exception)が存在していことに気がついた・・・
exceptは諦めるとして何とか終わらないで済む方法はないですかね。
0648デフォルトの名無しさん
NGNGinterface 部で uses すれば finalization 部でも使えると思います。
0649デフォルトの名無しさん
NGNG今プリンタにAPIを使用して印刷処理をしています。
印刷中止ボタンが押されたら
AbortDoc(FHandle);
で中止処理をしたいのですが、ジョブが削除できません。
これだけではだめなのでしょうか?
0650514
NGNG色々検索して試したりしながら、やってみたのですがどうしても上手くいきません。
改行コードを使ってもいいのですが、縦書きでの()を表示しないといけないので、そうすると
(
テ
ス
ト
)
このようになってしまうのです。
何かいい方法がないでしょうか?
>>521
もしよかったらサンプルコードなどを載せていただけないでしょうか?
0651514
NGNG何かコードに問題があるようでしたら、指摘して下さい。宜しくお願いします。
// テキストを縦書き(回転)描画する
procedure TForm1.TextOutTategaki(Canvas: TCanvas; x, y: Integer;
s: String);
var
lfText: TLOGFONT; // フォント情報(SDK の‘LOGFONT’を参照)
hfNew, hfOld: HFONT; // フォントハンドル
begin
// フォント情報を Canvas.Font から取得
GetObject(Canvas.Font.Handle, sizeof(TLOGFONT), @lfText);
// フォント情報の変更(この場合は表示角度:反時計回り)
lfText.lfEscapement := 270 * 10; // 任意の角度を指定可能
lfText.lfOrientation := lfText.lfEscapement;
lfText.lfClipPrecision := lfText.lfClipPrecision or CLIP_LH_ANGLES;
// 変更したフォント情報を用いて、新しいフォントハンドルを作成
hfNew := CreateFontIndirect(lfText);
// 新しいフォントハンドルをデバイスコンテキストに選択し、
// それまで選択されていたフォントハンドルを保存
hfOld := SelectObject(Canvas.Handle, hfNew);
// 選択したフォントハンドルを用いてテキストを描画
// この回転角度の場合は、座標(x, y) が描画領域の右上隅になる
Canvas.TextOut(x, y, s);
// 元のフォントハンドルハンドルを選択し戻す
SelectObject(Canvas.Handle, hfOld);
// 作成したフォントハンドルを削除
DeleteObject(hfNew);
end;
0652デフォルトの名無しさん
NGNGGetObject(Canvas.Font.Handle, SizeOf(TLogFont), @lfText);
// 回転角の指定
lfText.lfEscapement := 270 * 10;
// フォント名を 1 バイト後ろにずらす
StrMove(@lfText.lfFaceName[1], @lfText.lfFaceName[0], LF_FACESIZE - 2);
// フォント名の先頭に '@' を入れる (縦書きフォント)
lfText.lfFaceName[0] := '@';
// 変更したフォント情報を用いて、新しいフォントハンドルを作成
hfNew := CreateFontIndirect(lfText);
0653デフォルトの名無しさん
NGNGFont.Name := '@'+Font.Name;
の方が簡単では?
0654デフォルトの名無しさん
NGNGレスありがとうございます。
ご指摘通りにしてみたのですが、相変わらず上手くいきませんでした。
何か単純なミスがないかもう一度ソースを見直してみます。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNGすみません。テキストが横書きのまま何も変化しない、ということです。
失礼しました。
0657デフォルトの名無しさん
NGNGhttp://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N003.html
の一番下のやつを試してみたら。
0658デフォルトの名無しさん
NGNGTIdHTTP.Get で取得したHTMLの文字列を直接ブラウズするには
どうすればよいでしょうか?
TWebBrowser.Document にセット出来ればよいのですが。
0659デフォルトの名無しさん
NGNGlfFontName の先頭に '@' が入ってますか?
あと、Canvas.TextOut の代わりに
TextOut(Canvas.Handle, X, Y, PChar(S), Length(S));
にしてみたらどうなりますか?
0660デフォルトの名無しさん
NGNGをTDateTimeに変換するにはどうすればいいでしょうか?
0661デフォルトの名無しさん
NGNGttp://www.monazilla.org/document/directwrite.html
ttp://hogehoge2001.at.infoseek.co.jp/note-delphi.html
0662デフォルトの名無しさん
NGNG紹介頂いた方法でできました。
ありがとうございます。
>>659
指摘通りにしましたが、相変わらずです。
@もちゃんと入ってました。
何でこちらだとできないんでしょう?
0663デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
s:string;
st:integer;
dt:TDateTime;
begin
s := 'Thu, 10 Jun 2004 09:53:32 GMT';
st := Pos(' ',s);
dt := VarToDateTime(Copy(s,st+1,Length(s)-st-4));
Label1.Caption := DateTimeToStr(dt); // 確認
end;
0664デフォルトの名無しさん
NGNG私の環境では以下のコードでうまくいくようですがおかしいですね。
PaintBox1 の OnPaint を使って描画しています。
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
S: string;
X, Y: Integer;
LF: TLogFont;
NewFont, OldFont: HFONT;
begin
S := '「文字列。」';
X := 20;
Y := 10;
GetObject(PaintBox1.Font.Handle, SizeOf(TLogFont), @LF);
LF.lfEscapement := 2700;
StrMove(@LF.lfFaceName[1], @LF.lfFaceName[0], LF_FACESIZE - 2);
LF.lfFaceName[0] := '@';
NewFont := CreateFontIndirect(LF);
OldFont := SelectObject(PaintBox1.Canvas.Handle, NewFont);
TextOut(PaintBox1.Canvas.Handle, X, Y, PChar(S), Length(S));
SelectObject(PaintBox1.Canvas.Handle, OldFont);
DeleteObject(NewFont);
end;
0665デフォルトの名無しさん
NGNG参考になるHPを見ながら勉強すれば、アプリの1つくらい作れるようになりますでしょうか。
0666デフォルトの名無しさん
NGNGやる気次第。
「お前には無理」と言ったらどうするつもりなのだろう?
0667デフォルトの名無しさん
NGNGメモ帳もどきぐらいならすぐ作れるよ。
機能面で高望みしないならインターネットブラウザーなんかも。
0668デフォルトの名無しさん
NGNG地道にやれば、誰でもアプリのひとつぐらい、結構簡単にできると思う
最初は無理せずに、すごく簡単なモノから始めて、徐々に難易度が
高いアプリを創っていけばいいと思う。
まず、勉強するなら、おすすめサイトを紹介しておくね
ttp://kakinotane.s7.xrea.com/dirDelphi/mainmenu.html
ttp://www.wakhok.ac.jp/~tetsuo/delphi/text/
二つとも、徐々に勉強していくうえで、すごくためになるサイトだと思う
他にもいろいろサイトあるけど、とりあえず、うえの二つをやってみては
どうでしょう
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNGごちゃごちゃ説明するより、コードを示して解決するのが早道という場合もあるさ。
0673デフォルトの名無しさん
NGNG>「図々しいな」と思ってる人もいるぞ、と。
はい、そう思っている人もいるんだな、ということは想像できます。
ま、しかし、
自分が持ってるコードや簡単にコピペで示すことが出来る場合は、コードで
解決できればそれに超したことはない、と思っているひともいると。
0674デフォルトの名無しさん
NGNGttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0675デフォルトの名無しさん
NGNGそんな倉庫みたいなとこに貼れるかよ。
ここに貼るなというのも図々しい要求だと思うぞ。
0676デフォルトの名無しさん
NGNG別に要求することもされることもなく自然に。
最近自分で調べないクレクレ君が増えているのではないかと思う。
0677デフォルトの名無しさん
NGNGサンプルコードを要求するレスがあって、それに対して「図々しいな」ならわかるが、
いきなり「図々しいな」といわれれても話にのれない。
0678デフォルトの名無しさん
NGNG別にここは回答するのが義務じゃないんだよ
出したくないものは出さなくてもいいし
出せるものは出す
何か問題でもあるか?
ここのレベルが低すぎて気に入らないならワンランク上のスレに移動するがよろしい
0679デフォルトの名無しさん
NGNG「変なの」に反応してるオマエモナー
0680デフォルトの名無しさん
NGNGホレ。
ttp://delphi.sakura.vg/index2.html
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGマウスジェスチャ対応のタブでジャンル分けできるRSSリーダーを作りたいっす。
0684デフォルトの名無しさん
NGNGコンポーネントじゃないけど、
http://testesca.at.infoseek.co.jp/hoka/sonota.htm#Rreader
これがDelphi製でソース付属だったはず。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNGスレ違い。検索したらいくらでも出てくるから自分で調べろ。
0688デフォルトの名無しさん
NGNG印字内容はエクセル風な単純な表なのですが、一つのセルの中に斜線を表示したいのです。
QRShapeのプロパティをいじれば、この斜線は出せますでしょうか?宜しくお願いします。
0689デフォルトの名無しさん
NGNGWindowsにはこういう点滅色のような概念はあるのでしょうか?
また、これを実現するにはTimerのOnTimeイベントを使って手動で点滅させるしかないのでしょうか?
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGそれらを判別する方法はありますか?
0693デフォルトの名無しさん
NGNG×TGroup
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG>>694はどのようにすればいいのですか?
0697デフォルトの名無しさん
NGNGレコード型でなければならない理由がないなら、クラス型にする。
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG識別用に設ける。クラスにすると、いちいちコンストラクタで生成する必要が
ある。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNG仮に以下のような定義だったら、
TGroup=recoed
ID:Byte;
Param1:Integer;
Param2:Integer;
end;
TData=recoed
ID:Byte
Data:array[0..7] of Byte;
end;
PGroup=^TGroup;
PData=-^TData;
TGroup型変数のIDには1を、TData型変数のIDには2を代入しておく
その後TListに追加。
TListからデータを使うときには、
まずPBYTE(^Byte)にキャスト、逆参照して値を調べる
するとPGroup由来かPData由来か解るので、次に適切な型にキャストしてデータを利用する。
なお、Delのクラス(オブジェクト)はC++とは違って
余計な物が沢山ぶら下がっておりリソース負荷が大きい。
データ保持目的だけならあまりおすすめ出来ぬ。
0703デフォルトの名無しさん
NGNGぜんぜん大きくないが。
インスタンスにはVMT分の4バイト増えるだけ。
クラスだってテーブルが微妙に増えるだけ。
それすら問題になるような用途ではそもそもDelphi自体が無駄の塊。
Delphi使うならそんなそんなせこいコードを人に勧めるべきじゃないね。
0704デフォルトの名無しさん
NGNGtype
TGroup = class;
TData = class;
var
list: TObjectList;
i: Integer;
begin
list := TObjectList.Create(True);
list.Add(TGroup.Create);
list.Add(TData.Create);
...
for i := 0 to list.Count-1 do
begin
if list[i] is TGroup then
TGroup(list[i]).GroupMethod
else if list[i] is TData then
TData(list[i]).DataMethod;
end;
list.Free; // ぶらさがったオブジェクトも解放。
end.
0706デフォルトの名無しさん
NGNG・HSPに関係の無い話題でスレッドを上げまくる
・HSPオフィシャルサイトの住人を名指しで誹謗中傷する
・重複スレを乱立させる
などの荒らし行為を行っています。
みんなで団結してム板のゴミどもを追い出しませんか?
【HSP関連スレ】
【皆のレイプ魔】HSP初質P25【WWEヲタ=ハゲ】
http://pc5.2ch.net/test/read.cgi/tech/1086878505/
HSP>>>>>>>>>>>>>C=糞w
http://pc5.2ch.net/test/read.cgi/tech/1071899663/
今日もどこかでHSP初心者が質問ですP19
http://pc5.2ch.net/test/read.cgi/tech/1084089079/
HSPについて
http://pc5.2ch.net/test/read.cgi/tech/1085149790/
0707デフォルトの名無しさん
NGNGlist.Free; // ぶらさがったオブジェクトも解放。
これでオブジェクトも一緒に解放されるのですか?
いつもこんなコード書いてるんですけど無駄な事してるのかな・・・・
destructor list.destory;
begin
while list.count>0 do begin
p:= list[list.count-1];
p.free;
end;
inherited Destory;
end;
0708デフォルトの名無しさん
NGNGTObjectList.Constructorミロ
0709デフォルトの名無しさん
NGNGもしできるのであれば変更の仕方を教えて下さい。
0710デフォルトの名無しさん
NGNGそれはどこにありますか?
0711デフォルトの名無しさん
NGNG処理はどちらが優先されるんですか?
0712デフォルトの名無しさん
NGNG特製タイマーでタイマーの処理中にタイマーが呼び出されて大変なことになったことはあったが
0713デフォルトの名無しさん
NGNGStatusBar1.Fontをオブジェクトインスペクタから変更
>>710
TObjectListのヘルプのメソッド
>>711
大麻イベントが発生するのは
ボタンクリックのイベントハンドラを抜けてから。
あるいはハンドラ内でAppliation.ProcessMessageを呼び出したら。
0715デフォルトの名無しさん
NGNGPanels[0]だけなら無理。
直接Canvasに書き込むか、LabelをPanel[0]領域に貼り付けるとかするしかない。
0717デフォルトの名無しさん
NGNGタイマ割り込みじゃないよ。
0718デフォルトの名無しさん
NGNG大麻わかりました、ありがとうございます。
0719デフォルトの名無しさん
NGNG> Panel[0]のフォントだけ変えたいです。
・Panel[0] の Style プロパティを psOwnerDraw に設定
・TStatusBar.OnDrawPanel で何でも描画できる。フォント変更も可
・TStatusBar.OnDrawPanel イベントのヘルプに例がある
・TStatusPanel.Style プロパティーのヘルプも読む
0720デフォルトの名無しさん
NGNG文字列をどんどん足していくにはどうすればいですか?
0721デフォルトの名無しさん
NGNGAdd
0722デフォルトの名無しさん
NGNGそのイベントの中で自分が張り付いている Tab を参照するには、どうすればいいでしょうか?
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG動的に貼り付けるとき、ParentとOwnerはどうしてるの?
0725デフォルトの名無しさん
NGNGってやってます。Owner はちょっと判りません。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728デフォルトの名無しさん
NGNGPoint : TPoint;
これだとPoint.xに代入できるのですが
private
FPoint : TPoint;
public
property Point : TPoint read FPoint write FPoint;
これで
Point.xに代入しようとすると
代入できない左辺値です
と言うエラーが出るのですがどうしてでしょうか?
0729665
NGNG教えていただいたサイトを見ながら、頑張っていきたいと思います。
0730デフォルトの名無しさん
NGNGすいません、試してみたのですがどうにも判らないので、具体的に書かせてもらいます。
・TTabSheet.Create(Self)でタブを動的作成。
・作成したタブ上に WebBrowser を作成。
・WebBrowser で Navigate を実行。
・TitleChange イベント発生時に、変更されたタイトルを親タブのCaptionに反映させる。
以上、よろしくお願いします。
0731デフォルトの名無しさん
NGNGいのでしょう?
AssignFileでやるしかないでしょうか?
0732デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
ts:TTabSheet;
wb:TWebBrowser;
begin
ts := TTabSheet.Create(self);
ts.PageControl := PageControl1;
ts.Caption := 'AAAAAA';
wb := TWebBrowser.Create(self);
wb.ParentWindow := ts.Handle;
wb.Tag := integer(ts); // ここに注目!
wb.OnTitleChange := WebBrowserTitleChange;
wb.Navigate('http://www.google.com/intl/ja/');
end;
procedure TForm1.WebBrowserTitleChange(Sender: TObject;
const Text: WideString);
begin
TTabSheet((Sender as TWebBrowser).Tag).Caption := Text;
end;
0733デフォルトの名無しさん
NGNGありがとう御座います。無事に処理出来ました。
>wb.Tag := integer(ts); // ここに注目!
これがかなりミソのようですね。
0734デフォルトの名無しさん
NGNGproperty Pointが受け取れるのは「TPoint型」だが
Point.xは「integer型」だから
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG下のように書いてみたんですが、これは正しいんでしょうか。
わざとエラー状態をつくって(処理に必要なテーブルを消したり、MDBファイル自体を消したり)
試したところ、Exeファイルからだと望み通りの結果が得られますが、dprファイルからだと、
面倒なステップ実行を求められます。
0737736つづき
NGNGbegin
Screen.Cursor:=crHourGlass;
処理〜
FDDからAccessMDBファイルををコピー(FDDが空っぽの場合の処理は書いてあります)
try
MDBに接続して色々SQLでごちゃごちゃやって
それが済んだら
DBとの接続切って
Screen.Cursor:=crDefault;
Form1.Release;
Form1.Close;
except
on E:Exception do ←これが分からない。書いても書かなくてもexeファイルからの実行結果は一緒
begin
Screen.Cursor:=crDefault; |とにかく処理中に何か
ShowMessage('何だか予想外の事故、取りあえずこれにて終了'); |おかしなことが起こったら
Form1.Release; |一気にここまで飛んじゃって
Form1.Close; |ほしい
end;
end;
現実にありそうなこととして想定しているのは、フロッピーディスクからコピーした
MDBファイルの破損です。
0738デフォルトの名無しさん
NGNGエラーの種類によっていくつかのクラスが存在する。
Exception はすべての例外オブジェクトの上位クラスなので、結局
すべての例外を処理していることになる。
>>737 のように例外オブジェクトのクラスによって処理を分けない
場合は特に書く必要はない。(ヘルプの try..except 文を参照)
Screen.Cursor := crHourGlass;
try
try
{エラーが起こるかもしれない処理}
except
ShowMessage('エラー');
end;
finally
Screen.Cursor := crDefault;
Release;
end;
0739デフォルトの名無しさん
NGNGどうして?
0740デフォルトの名無しさん
NGNG処理が行われる。
>>728 を
private
function GetPoint: TPoint;
procedure SetPoint(Value: TPoint);
public
property Point: TPoint read GetPoint write SetPoint;
に置き換えてみるとわかるが、
Point.X を参照するときには GetPoint メソッドが実行され、
Point に何か代入するときには SetPoint メソッドが実行される。
関数の戻り値に書き込みはできないので Point.X への書き込みはできない。
TPoint がもしクラス型だったら GetPoint が返すオブジェクト (参照) の
X プロパティへの書き込み (例えば TPoint.SetX) になるので可能。
0741デフォルトの名無しさん
NGNGその停止中もフォームの移動とかの応答はできるようにしたいのです
どのようにしたらよいのでしょうか?
こんな感じで試したのですが時間がだいぶずれてしまいます。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Button1.Caption := 'A';
for i := 0 to 500 do
begin
Sleep(1);
Application.processMessages;
end;
Button1.Caption := 'B';
end;
0742デフォルトの名無しさん
NGNGTimer使えば?
ボタンをクリックしたときタイマーを有効に。
んでタイマー内に処理したいことをかき、
最後にタイマーを無効に。
0743デフォルトの名無しさん
NGNG五秒経過したかの判定はこんな感じ
var
startTime: DWord;
begin
startTime := GetTickCount;
while GetTickCount - startTime < 5000 do
;
// 5秒経った
end;
0745デフォルトの名無しさん
NGNGデータベースやクエリーコンポーネントのプロパティの設定方法がわからなくなってしまいました。
前のプログラムなくしちゃってわからない・・・
0746デフォルトの名無しさん
NGNGていうかそれじゃ0.5秒じゃん?
0747デフォルトの名無しさん
NGNGじゃ、作り直しできないじゃん
0748デフォルトの名無しさん
NGNGで、俺らにどうしろと?
0749745
NGNGイチから作りなおすのです・・・。
>748
データベースとクエリーコンポーネントの設定方法をおしえてください・・・。
0750737
NGNGありがとうございます
>>Exception はすべての例外オブジェクトの上位クラスなので、結局
>>すべての例外を処理していることになる
なるほど、何となく、ですが(というか、そもそもクラスという概念自体
よく分かっていないんですが)、書いている単語の意味と処理の流れから、
そんな気はちょっとだけしてました。
finallyというのはどこかでみたような気がします。
「どっちにしろ何が何でもやってもらわなきゃならないこと」を
外側にまとめちゃう、ってことでいいのかな。
このほうが形はスマートになりますね。
0751デフォルトの名無しさん
NGNGその処理結果を構造体変数のように参照する事は可能ですか?
AAA_Proc(Valur);
BBB := AAA.Item1;
CCC := AAA.Item2;
つまり一度の処理で、複数の結果を得たいと言う事ですが。
0752デフォルトの名無しさん
NGNG意味がよくわかんないけど
わたしの理解が合っていれば可能です。
type
res_items = record
Item1:integer;
Item2:integer;
procedure Proc(var res
0753デフォルトの名無しさん
NGNGtype
TResult_items = record
Item1:integer;
Item2:integer;
end;
procedure proc(var res_items:TResult_items ;const Value:integer);
begin
res_items.Item1 := Value div 2;
res_items.Item2 := Value * 2;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
AAA: TResult_items;
begin
proc(AAA,10);
Button1.Caption := IntToStr(AAA.Item1)+':'+IntToStr(AAA.Item2);
end;
こんな感じ
0754デフォルトの名無しさん
NGNGすいません、質問が判りにくかったようです。
通常 Function だと
Ret = AAA_Func(Value);
という感じで1つの値しか返す事が出来ないので、なんらかの方法で複数の値を返したいのです。
そこでDelphiの場合の一般的な方法を教えて頂きたいのです。
自分の考えられる方法だと、あらかじめグローバル変数を用意して、そこへ値をセットするぐらいなので。
0755デフォルトの名無しさん
NGNGprocedure AAA_Func(Value: TValue; var Ret1, Ret2, Ret3: Integer);
とやって引数に渡した変数にセットしてもらう。
0756デフォルトの名無しさん
NGNG>Delphiの場合の一般的な方法
うーん。
一般的には、varパラメータで変数を渡すとか
それ専用のデータ型を用意するとかしかないと思うけどな。
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG>>753 の procedure procを functionにして、
パラメータで varで渡す代わりに、
TResult_itemsを returnする
0759デフォルトの名無しさん
NGNGありがとうございます。
どうしてエラーが出るのかだけでなく
解決方法まで書いてもらって。多謝
0760デフォルトの名無しさん
NGNG大抵は問題ないけど。
情報のセットをクラスにまとめてインスタンスのの参照を渡していじってもらうのが最も一般的なやり方。
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGははぁ、外部のレジストリやiniファイルを使わないで、というなら無理
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGなにがやりたい?
0768デフォルトの名無しさん
NGNG外部ファイルの頼る方法はわかるのですが
それが不要な方法があればすっきりしていいかなぁとおもったんです
0769デフォルトの名無しさん
NGNGAplication.ExeName + ':settings'
というファイルに対して読み書きすればEXEに従属した隠しファイルが作れるよ。
http://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp
ただし、設定を別のPCに移したりするとき難儀するので普通にINIファイル使った方がいいよ。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG0773754
NGNG今回は戻す値が少ないので、引数に直接返す方法を使ってみます。
ただ後々の技術向上の為、>>760 のクラスにまとめる方法を教えて頂きたく。
これに関しての説明サイトでもあれば良いのですが...
0774デフォルトの名無しさん
NGNG「型キャストするより、多態性を利用すればずっとスマートに解決することが
出来ます。」
って書いてあるんですけど、そうなの?
多態性って聞いただけでめんどくさそうに感じるので
誰か解説して。
0775デフォルトの名無しさん
NGNGクラス覚えろ
>>774
クラス覚えろ
0776デフォルトの名無しさん
NGNGメソッドをニャーとして実装し、TInu の場合はワンとして実装し、どちらも TAnimal
クラスのインスタンスとして受け取ったとき、Nakigoe メソッドを実行するとと
TNeko クラスのインスタンスはニャー、TInu クラスのインスタンスはワンとして
実行されること。Nakigoe メソッドを呼び出す時点で、どっちのクラスのインスタンス
か気にしなくても良い。
0777デフォルトの名無しさん
NGNG面倒なことは他人に説明させるのですか? プログラマには向いてませんね。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG>そうなの?
そうでもない。というか多態とis/asは適切に使い分けるべきで
どっちがスマートでどっちは使うべきじゃないとかって問題ではないよ。
例えばTObjectListにTButtonとTCheckBoxぶら下げて、
処理を分岐させたいとき継承多態を使ったコードを書くのは現実的ではないでしょ。
やるとしたらVCL改造してTObjectListedButtonOrCheckBoxを無理やり継承でもさせるのかね。
0780デフォルトの名無しさん
NGNG板が違うけど参考にどうぞ。
http://pc5.2ch.net/test/read.cgi/jisaku/1074879041/l50
0781デフォルトの名無しさん
NGNGだから、その本に書いてある文脈では多態性を利用した方がスマートなんだろ。
0782デフォルトの名無しさん
NGNGだからってなに?
その文脈とやらが示されるまでは一般論として話をする以外にないと思うけど。
0783デフォルトの名無しさん
NGNGって書いてあるが。こういう場合があるか、って質問なのでは? >そうなの?
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNG> どっちがスマートでどっちは使うべきじゃないとかって問題ではないよ。
といっておきながら、後半では、継承多態には不向きな例を出してるし。
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG多態性を知らないひとにとっては、選択の余地が無いのでスマートかどうかは無関係
0788デフォルトの名無しさん
NGNG>774をそう読み取ったんなら、それについてレスをつければいい。
自分はそうは読み取らなかった。
>>785
一般論としての
> 「型キャストするより、多態性を利用すればずっとスマートに解決することが出来ます。」
に対して型キャストにも用途がある事を示したまでだよ。
>>785=>>774でないなら妄想でケチつけないでくれよ。
0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNG型キャストにも用途があるかどうか、どこに質問があるのよ?
0791774
NGNG[is][as]って、プログラムで動的にボタンとかを作った場合、
データの送り主が、ほんとうにTButtonなのか調べたり、
A型からB型へ変える場合に使うと思っていたもんで。
って、そうなんだけど、わざわざ多態性を使ってって言われると、
何でそんな大げさなって思いましたとさ。
0792デフォルトの名無しさん
NGNGTStrings のような抽象クラス型の引数を持ったメソッドがいっぱいあるのもそのため
0793デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGに対する用語は知らないけど、要は同じメモリのマップの仕方が複数あるレコード型
だよ。
0796デフォルトの名無しさん
NGNGUnit1というユニットファイルしかない。
プロジェクトファイルってどこにある?
プロジェクトファイルはコンソールアプリでしか使われないの?
interfaceやらimplementationやら・・・こいつら順番あるんかい。コンパイラに叱られたし。
0797デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGから教えるのは非生産的だな。そんなのは最低、自分で勉強しなよ。
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNGプロジェクトは保存しないと作られない。
>コンパイラに叱られたし。
忠告はしっかり聞いておけ。少なくとも型の違いによるバグは出なくなる。
0802デフォルトの名無しさん
NGNGtype Days=(Mon,Tue,Wed,Thu,Fri);
var day : Days;
a,total : integer;
procedure writeSday(day:Days);
begin;
case day of
Mon:writeln('月');
Tue:writeln('火');
Wed:writeln('水');
Thu:writeln('木');
Fri:writeln('金');
end;
end;
begin
total := 0;
for day := Mon to Fri do
begin;
writeSday(day);
write('曜日の時間数は?');
readln(a); writeln;
total := total + a;
end;
writeln('1週間の時間数は ',total:4,' 時間です.')
end.
新規作成のコンソールアプリケーションからこのソースを書いたのですが、Delphi6でいざ実行すると「Runtime error 105 at 004026AC」と出ます
ちゃんとパッチも全部当てたのに何でなるのやら _no
誰か教えてください、お願いします (´・ω・`)
0803デフォルトの名無しさん
NGNG1行目と2行目の間にあった
{$APPTYPE CONSOLE}
はコメントじゃないので消しちゃ駄目。
0804デフォルトの名無しさん
NGNG嘘を教えないように
0805デフォルトの名無しさん
NGNGこんなプロジェクト名は有りか?
0806デフォルトの名無しさん
NGNGなんか、ほんとに大丈夫? ヘルプの最初ぐらい読んだ方がいいよ。
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNG練習問題ならあるんじゃない?
Cのテキストで勉強してるのかも。
0809デフォルトの名無しさん
NGNG0810802
NGNG学校がLinux Pascalで、家でどうにか作ろうと _no
0811802
NGNGありがとうございました m(´・ω・`)m
0812デフォルトの名無しさん
NGNGこれは超クラシックなPascalだな。
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGDelphiでも標準入出力を使えば
自動的にinput, outputは挿入されるけど。
そういう意味ではなく?
0815デフォルトの名無しさん
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BTips%2F%A5%B3%A5%F3%A5%BD%A1%BC%A5%EB%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A4%CE%BA%EE%A4%EA%CA%FD%A4%CF%A1%A9%5D%5D
0816入門者
NGNG逆に読みづらくなって苦労する事もあるとか、原因不明のバグを生みやすいとか。
0817デフォルトの名無しさん
NGNG「原因不明なバグ」かどうかはともかく、思い込みでデバッグに時間がかかる場合はあるかも。
不安があるなら使わなければいいんじゃない?絶対必要というわけではないし。
0818デフォルトの名無しさん
NGNG漏れはコードの転用とか可視性とか考えても十分使いやすいと思うけどね
0819デフォルトの名無しさん
NGNGプログラムとしては同じ。本人の利便性・可読性の問題だけ。
漏れは頻繁に利用してる。
ただ、ネストすると知らないうちにバグを引き込みそうで怖いってのはあるな。
0820デフォルトの名無しさん
NGNGして利用している筆者もいるけど、with文のネストは可能な限りやめた方が良い
with文を使うとすれば出来るだけwith文の中にwith文を含ませるような事はしないで1層で利用すべし。
その他にもFindCompornent関数などをwithで挟むと、非常に読みづらくなる。
VBだったら目印があるし、多用しても良いのじゃないかな。
0821デフォルトの名無しさん
NGNGググってみたけど、無いみたいなの。
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG使うとすっきり。
0824デフォルトの名無しさん
NGNGインスペクト出来ないのはなぜ?
出来ると凄く便利なのに。
0825デフォルトの名無しさん
NGNGエラーが出る例は ML の過去ログにたくさんある。C# は Delphi と同じ人が
言語設計したみたいだけど with に相当するものはなくなってる。 Delphi
のコードを書いていても with を使わなくても不便と思ったことはない。
0826デフォルトの名無しさん
NGNGCanvas と書くと、self.Canvas のことだし。with を使うと、TForm と
重なってるプロパティーやメソッドに対して二重に with がかかっているような
危うさを感じる。
0827デフォルトの名無しさん
NGNG0828まとめてみた
NGNGhttp://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5BTips%2Fwith%CA%B8%A4%CF%BB%C8%A4%A6%A4%D9%A4%AD%A4%AB%5D%5D
0829デフォルトの名無しさん
NGNG>あるいは参照を利用して以下のように書ける。
> var
> shortcut: TFooBarBaz;
> begin
> shortcut := foo.bar.baz;
> shortcut := 1;
> shortcut := 'aaa';
> shortcut := Self;
> end;
これってどういうこと?
「参照」ってなに?漏れには未知の技術だ。
0830829
NGNGそれぞれの値がなんで適切な場所に代入されるのかがわからない・・。
0831デフォルトの名無しさん
NGNGそれ、たぶんProp1〜3が抜けてるだけかと。
0832829
NGNGなんか特別な技術で代入先を選んでるのかと思った。
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNGがいい、ということだよ
使わわないと実現できない機能というのはないのだから
0835デフォルトの名無しさん
NGNGC+SDKで十分。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGせいぜい10行以内に収まるようにWithを使うべきです。
0838デフォルトの名無しさん
NGNG俺基準はそのメリットを書いてWikiに追加しる
0839デフォルトの名無しさん
NGNGFormのサイズ変更ができなくなりますよね?
タイトルバーを消して、サイズ変更はできるようにするには
どうすればいいか教えて下さい。
0840839
NGNGCreateParamsをoverrideすればいいんですね。
スレ汚しスマソ
0841デフォルトの名無しさん
NGNGvar
Hiduke:string;
begin
Hiduke:=FormatDateTime('yyyymmdd',date);
CopyFile('C:\Hoge.txt','D:\Hoge' + Hiduke + '.txt',False);
end;
てな書き方をすると、何だか型がちがうみたいで怒られます。
CopyFile('','')の中に入るものは、string型じゃないんでしょうか。
0842デフォルトの名無しさん
NGNGCopyFile(PChar('C:\Hoge.txt'),PChar('D:\Hoge' + Hiduke + '.txt',False));
これでどうよ?
0843デフォルトの名無しさん
NGNGCのポインタのようにGetMemで確保すればメモリがある限り
確保できるのかと思っていたのですが、コンパイルが出来ても
実行中にエラーが出てしまいます。どうなんでしょうか?
Delphi6personalです。
0844デフォルトの名無しさん
NGNGは、はやい
感謝します
0845デフォルトの名無しさん
NGNG制限はOS側のもののみのはずだけど。
エラーの内容は?
0846デフォルトの名無しさん
NGNG細かくて悪いが、Falseまでキャストするなよw
CopyFile(PChar('C:\Hoge.txt'),PChar('D:\Hoge' + Hiduke + '.txt'),False);
0847デフォルトの名無しさん
NGNG動的配列はGetMemじゃなくてSetLengthで領域確保するんだけど。
0848デフォルトの名無しさん
NGNGはやい、レスありがとうございます。m(_ _)m
やりたい事は、画像ファイル(960*1280)の全ピクセルのY値(輝度)を
double型の配列にいったん格納したいだけなんですけど、
まず、コンパイル時にGetMemをしているのに
初期化されない可能性があると警告が出て
実行すると、EAccessViolationクラスの例外を生成しました。
アドレス00405948でアドレス0337FFFCに対する書き込み違反が起きましたと
言うエラーメッセージがでて止まってしまいます。
0849デフォルトの名無しさん
NGNGあSetLengthでも同じで、ある値以上を確保しようとするとだめです。。。
0850デフォルトの名無しさん
NGNGそりゃなんかの変数が初期化されてないんだよ。
単純なバグ。
変数を初期化し忘れると滅茶苦茶な値が入っててその値を使ってしまってるっぽい。
0851デフォルトの名無しさん
NGNGたしかに、そんな感じですね、配列の確保とかそういう問題では
無いかもしれないですね。もう一度調べてみます、ありがとうございました。
0852デフォルトの名無しさん
NGNG頂上のクラスを破棄すると底まですべて破棄されるのでしょうか?
0853デフォルトの名無しさん
NGNGTObjectList.OwnsObjects の値による
0854デフォルトの名無しさん
NGNG高速最適化されたrelease用のコンパイルのような設定はあるのでしょうか?
0855デフォルトの名無しさん
NGNG0856デフォルトの名無しさん
NGNGSecondaryShortCuts に設定したのですが、
メニューのキャプションに表示されません。
どうすればキャプションに表示出来ますか。
因みに ShortCut に設定すると、うまく動作しませんでした。
0857デフォルトの名無しさん
NGNGShortCutが空ならSecondaryの先頭からコピーってコードでも書いたら。
0858デフォルトの名無しさん
NGNG多分、リストの中にあるものしか正常に働かないんだと思っているのですが。
メニューとかのキャプションにショートカットキーを書いても、
表示位置か違うのでみっともないのです。
0859デフォルトの名無しさん
NGNG俺はそれで何時間も悩んだことある。
0860デフォルトの名無しさん
NGNG0861856
NGNG再起動させたら思い通りに動くようになりました。
はぁ〜?
0862デフォルトの名無しさん
NGNGそういうことはたまにある。
愛を持ってDelphiに接してあげてください。
0863デフォルトの名無しさん
NGNGたまに→わりと
0864デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/winnt/net/se319386.html
困難見つけた。試してないけど。
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNGvar
c: WideChar;
begin
case c of
'x', 'y', 'z':
if c in [WideChar('x'), WideChar('y') then
...
0867デフォルトの名無しさん
NGNG>>660 と同じ人?
その逆についてしばらく前にレスしたが、なんの応答もなかったな。どうしてかな?
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGうざいきえろ
0870デフォルトの名無しさん
NGNGvar
c: WideChar;
begin
case c of
一貫性よりも、初期化もされてないローカル変数で case of って.....?
ord() 使えばもっときれいに書けそう
0871デフォルトの名無しさん
NGNGない。DateTime型なんていう型はないから。
0872デフォルトの名無しさん
NGNGFormat('%s, %d %s %d %d:%.2d:%.2d GMT', Copy('MonTueWedThuFriSatSun',
Succ(Pred(DayOfTheWeek(Value)) * 3), 3), DayOf(Value),
Copy('JanFebMarAprMayJunJulAugSepOctNovDec',
Succ(Pred(MonthOf(Value)) * 3), 3), YearOf(Value), HourOf(Value),
MinuteOf(Value), SecondOf(Value)]);
0873デフォルトの名無しさん
NGNGFormat('%s, %d %s %d %d:%.2d:%.2d GMT', [Copy('MonTueWedThuFriSatSun',
Succ(Pred(DayOfTheWeek(Value)) * 3), 3), DayOf(Value),
Copy('JanFebMarAprMayJunJulAugSepOctNovDec',
Succ(Pred(MonthOf(Value)) * 3), 3), YearOf(Value), HourOf(Value),
MinuteOf(Value), SecondOf(Value)]);
0874デフォルトの名無しさん
NGNGおまいはN88ベーシッカーか
0875デフォルトの名無しさん
NGNGformatdatetime('ddd, d mmm yyyy hh:nn:ss',now-(9/24));
じゃだめなの?
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGIndyをインストールして、初めてIndyを組み込んだアプリを作ったとき
とあるエラーが必ず出て10分ぐらい悩んだ。
結局ネットで調べたら「コネクションがクローズされたときに発生する無害な例外」ということで
無視例外リストに登録しておけばいいということだったけど
せっかくインストーラでインストールしてくれるだからその登録とかも自動でやってくれればいいのにと思った。
0880デフォルトの名無しさん
NGNGこれ AIsGMT を True にしても '+0900' になるみたいだけど。
そもそも何を指定するのか書いてないし。
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNGDirect3DX ユーティリティ ライブラリが使えないようなので、
代わりに使えるようなライブラリやソースを教えてください。
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG0885856
NGNGツリーにプロシージャーとかを表示させてから、
エディタでプロシージャーの行が変わったり、名前が変わったり
したのをすぐツリーに反映させるのってスレッドを別に作って裏でずっと
監視するのかな。
やり方なんて色々あるんだろうけど、プロの人はどうやってるのか
考え方で良いんで教えて。
0886デフォルトの名無しさん
NGNGツールバーを閉じた時に起きるイベントはどれなんでしょうか?
0887デフォルトの名無しさん
NGNG勝手に(Z)とか割り振られちゃうんですが、
表示させたくない項目の場合はどうすればいいでしょうか?
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNGヘルプ動作が違うなと思ってたら・・・
どうもです。
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG自己解決しました
0892デフォルトの名無しさん
NGNGどうやってやったが具体的に言ってみ。
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG最初の1桁であれば、[1]のように添え字を用いて指定できますが、
1の位は桁数によって変わりますよね。
[]の中に、Length - Length + 1というような変数を入れれば出来ると思ったんですが、
[]の中身はInteger型でなくて純粋に数字しか受け付けないみたいで無理でした。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGvar
s:string;
begin
s := '123456789';
ShowMessage(s[Length(s)])
end;
0898デフォルトの名無しさん
NGNGLength - Length + 1じゃあ、何をやっても1になるに決まってるし、
Lengthだけでいいんですね。
[]の中に数字しか入らないというのも誤解で
Integer型なら大丈夫みたいですね。今やったら出来ました。
とにかくありがとうございました。
0899通りすがりだけど
NGNG0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNGこれの方がいいな。一目瞭然だし。インデクスの計算だけだし。
0907デフォルトの名無しさん
NGNG0908デフォルトの名無しさん
NGNG{$R *.res}
があると、リソースをリンクしないといけないオプションが有効になる。
アイコンは、以下のモジュールをコピー/uses 文に追加して
.dpr の begin - end の間に
Application.initialize;
の一行を追加すればよし。
======================
unit ConsoleApp;
interface
type
TApplication = class
procedure Initialize;
end;
var Application : TApplication;
implementation
procedure TApplication.Initialize;
begin end;
initialization
Application := TApplication.Create;
finalization
Application.Free;
end.
======================
0909デフォルトの名無しさん
NGNG>>908のユニットって使う必要あります?
program Project1;
{$APPTYPE CONSOLE}
//uses
// Forms,
// Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Writeln('hello,world');
Readln;
//Application.Initialize;
//Application.CreateForm(TForm1, Form1);
//Application.Run;
end.
0910デフォルトの名無しさん
NGNG>Application.Initialize;
がないとアイコン設定が無効になるようだったからダミーを入れてみたのだ。
0911デフォルトの名無しさん
NGNGコンソールアプリに変更してるんだね。なるほど。
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG出来ないもんでしょうか。静止画を取得できさえすればよいのですが。
0914デフォルトの名無しさん
NGNG通常はAPIのCopyFileを使うんですが、
CLXで使えるファイルコピー関数ってないんでしょうか?
ちょっとHelpを探したんですが、見つかりませんでした。
やっぱ、ファイルストリームを読み込んで、書き込むという
操作が必要なんでしょうか?
よろしくお願いします。
0916デフォルトの名無しさん
NGNG変換する方法はわかったのですが・・・
0917デフォルトの名無しさん
NGNGByte型にでもキャストすれ
0918デフォルトの名無しさん
NGNGボタンを押すとべろっと下にPopupされるようなやつ
0919デフォルトの名無しさん
NGNGGetNextChildメソッドとか使うのと、
AbsoluteIndexとLevel見ていくほうではどっちが高速ですか?
0922デフォルトの名無しさん
NGNG人にきくまえに自分でやってみたら。
0923デフォルトの名無しさん
NGNGprocedure TfrmMain.CutTheSea(Be:TBitmap;Af:TBitmap);
begin
Af.Canvas.CopyRect(Rect(0,0,32,32),Be.Canvas,Rect(0,0,0,16));
end;
↑のようなコードを実行しても、以前描かれていた内容がそのままはき出されてしまいます。
どうしたら描き換えられますか?
0924ぬるぽ
NGNGよく考えてみたら、わざわざサードパーティVCLを使わずとも
TToolbarのStyle := tbsDropDown にして、
DropDownプロパティに PopupMenuを指定してあげればできたわ。
0925デフォルトの名無しさん
NGNG> Rect(0,0,0,16));
幅が0でしょ
0926デフォルトの名無しさん
NGNGおおっ!するどいツッコミをありがとうございます!
お陰様で正しく表示されました。
本当にありがとうございました(ノД`)
0928デフォルトの名無しさん
NGNGまた、ググルと結構中国語のサイトが結構表示されるのですが
中国ではDelhiは人気があるのでしょうか
0929デフォルトの名無しさん
NGNG・VCLの紹介/ダウンロードページ
ttp://www.torry.net/
ttp://www.delphifaq.com/
・FAQ系
ttp://delphi.icm.edu.pl/
0930デフォルトの名無しさん
NGNGParent[i].Child[n]みたいなアクセス方法は可能ですか?
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNGありがとうございます。
成功しました。
0933デフォルトの名無しさん
NGNGガッ
0934デフォルトの名無しさん
NGNG>>1-1000
except
on ENullPointerException do
writeln("ガッ");
end;
0935デフォルトの名無しさん
NGNGメモ型とかって、どうするの?
項目をクリックしても反応しないんですけど。
0936デフォルトの名無しさん
NGNGへ?下に出てる説明どおりやれば出来るけど?
0937デフォルトの名無しさん
NGNG下へ出てる説明とは何処のことでしょうか?
MBファイルがどうのってやつですか?
何か俺へたれっぽい orz
0938デフォルトの名無しさん
NGNGメインスレッドからダイアログを消すだけの簡単なプログラムです。
FreeOnTerminateをTrueにしてスレッド終了後自動破棄にしてます。
普通に実行、終了すれば何とも無いんですが、
別アプリでCPU使用率100%の状態を作り、実行、終了すると
「例外 不明なソフトウェア例外」その次に
「EWin32Errorがモジュール・・・で発生しました。Win32エラー。コード5」
などとエラーが出ます。
実行後に直ぐ終了せずに20秒ほど待てば発生しません。
CPUビジー時にもエラーが出ないようにするにはどう対策すればいいのでしょうか?
0939デフォルトの名無しさん
NGNGテーブルを作った後のデータを入れていく時に、
メモ型のところへは、どうすればいいのでしょうか?
ってこと何ですが。
0940デフォルトの名無しさん
NGNGダイアログを必ずメインスレッドから閉じるなら
メインスレッドで閉じてから破棄すればいい。
あるいはダイアログの状態を監視して閉じられたら破棄するようにすればいい。
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNGレスありがとう御座います。
やってみます。
0943デフォルトの名無しさん
NGNGマスストレージなども含めて取得したいのですが。
0944デフォルトの名無しさん
NGNGどうすればいいですか。
0945デフォルトの名無しさん
NGNGデータベースエクスプローラで。
0946デフォルトの名無しさん
NGNGありごとう
0947デフォルトの名無しさん
NGNGそれにはプロジェクトソースで
Application.ShowMainForm := False;
とやればよいのですが、実行中ダイアログを呼び出すとタスクアイコンが
出てしまいます。それを防ぐには
ShowWindow(Application.Handle, SW_HIDE);
とするらしいのですが何故かOnShow内で実行しないと作動しません。
ですのでOnShowイベントを実行させるためにプロジェクトソースの
Application.ShowMainForm := False; を消し、
メインフォームの高さ、幅を0、Left, Topの値を画面外、のちにHideしました。
これで一応解決なのですが、いまいちすっきりしません。
もっとスマートな方法があると思うのですが。
0948デフォルトの名無しさん
NGNGダイアログって何のダイアログかしらんけど、それの OnShow で実行したらいいんじゃないの
0949デフォルトの名無しさん
NGNGEnumWindowsで全ウィンドウに対してShowWindow(hwnd, SW_SHOW)してみればそんな疑問は吹き飛ぶと思いますよ>w<
0950デフォルトの名無しさん
NGNGMessageDlgです。なので細かい制御できないかと。
0951デフォルトの名無しさん
NGNGEnumWindowsですか・・・確かややこしかったような。
調べてみます。
0952デフォルトの名無しさん
NGNGtoolbar controlbarともにautosizeをtureにしてるのですが
設計時には綺麗に収まっているのに
実行するとtoolbarが離れてしまいますなぜでしょうか?
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGMessageDlg の直前に PostMessage(Application.Handle,WM_APP,0,0); を実行し
ApplicationEvents。OnMessage でそれを受け取って ShowWindow(Application.Handle, SW_HIDE);
を実行
0955デフォルトの名無しさん
NGNGできました、こんな方法があるんですね。
でも一瞬タスクアイコンが表示されちゃってますが。
0956デフォルトの名無しさん
NGNGControlBar の RowSnap が True になってるんじゃない?
0957954
NGNG通常、タスクバーに表示されるのは Application ウィンドウなので、表示しないように
するには、常套手段ではプロジェクトファイルの uses に Windows を加えて
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
のように Application ウィンドウに拡張スタイル WS_EX_TOOLWINDOW を
追加しておくと、ダイアログが表示されても大丈夫なのでは?
0958デフォルトの名無しさん
NGNGおぉ、ちゃんとなりました^^
ありがとうございます。
0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG補完機能やキーワード強調などまさに理想のコンポーネントでしたが
利用しているのが6Personalだったのでdbrtlなどがなくインストールできませんでした。
0962デフォルトの名無しさん
NGNGない。
0964デフォルトの名無しさん
NGNG何か、これすごいね。
誰か、日本語仕様にしてくれないかな。
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGOleVariant(WebBrowser.Document as IHTMLDocument2).write('文字列');
これを1度行った後 WebBrowser.Navigate を行うと、どうも不安定になります。
また、続けてwriteを行うと追加されてしまうので、一度クリアする方法は無いでしょうか?
0971デフォルトの名無しさん
NGNGしてないからじゃない?
0972デフォルトの名無しさん
NGNGはい、Close はしてないです。
一度 Write を行うごとに Close を行い、2回目はそのまま Write でOKですか?
0973デフォルトの名無しさん
NGNGvar Doc: OLEVariant;
Doc := WebBrowser1.Document;
Doc.all.item('form1').submit;
とすることでフォーム情報を送信できたんですが、
フォームのname属性が無い場合でも
フォーム情報を送信する方法って無いですかね?
0974デフォルトの名無しさん
NGNG本田ちゃんのやつより良さげなんだけど、
太字で強調表示すると文字が切れるのがまず駄目駄目かな。
0975デフォルトの名無しさん
NGNG前段と後段で内容が矛盾してる。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGうほっ!最高にスマートですね。そう言うの待ってました、ありが�d。
0979デフォルトの名無しさん
NGNG本田ちゃんの奴より使い勝手とか、見た目とか良いって思ったんだけど、
字が切れるのをみて、残念!ってことだ。
いちいちしょうもないことをつっこんでくるな!
反応する俺も俺だけどな!
0980デフォルトの名無しさん
NGNGそうだね。もうすこし分かりやすい文章を書きましょう。
0981デフォルトの名無しさん
NGNGランダムな場所にランダムにタイマーによって描くプログラムを作成せよ。また円の半径は常に100以下で5の倍数とする。」
という問題を出されたんですけど、最後の「円の半径は常に100以下で5の倍数とする。」というのが全然わかりません。
アドバイスお願いしますm(_ _)m
0982デフォルトの名無しさん
NGNG9,9(指定値の-1)までしか引かれないのですか?
またこれは他の命令にも適応されてるのですか?FillRectなど
どうもずれてる気がするのですが・・・
0983デフォルトの名無しさん
NGNGそうです。ウィンドウズの仕様です。
0984デフォルトの名無しさん
NGNG(Random(20)+1)*5
0985デフォルトの名無しさん
NGNGハイよ (´ー`)y−~~~
0986デフォルトの名無しさん
NGNGwindowsの仕様でしたか。ありがとうございます。
0987デフォルトの名無しさん
NGNGレスありがとうございます!
下記のプログラムは題意を満たしてますでしょうか?
procedure circle(x,y,r:integer);
var i:integer;
const pai = 3.1416;
n = 10000;
begin
with Form1.Image1.Canvas do
begin
MoveTo(x+r,y);
for i := 1 to n do
LineTo( x+round(r*cos(2*i*pai/n)),y+round(r*sin(2*i*pai/n)) );
end;
if (r=50) then begin
Form1.Image1.Canvas.Pen.Color:=clblue;
end;
if (not(r=50))and(25<=r)and(r<=75) then begin
Form1.Image1.Canvas.Pen.Color:=clred;
end;
if (r<=20)or(80<=r) then begin
Form1.Image1.Canvas.Pen.Color:=clgreen;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
randomize;
circle(random(Image1.width),random(Image1.height),5*(random(20)+1) );
end;
0988デフォルトの名無しさん
NGNG{ Private 宣言 }
public
procedure circle(x,y,r:integer);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
circle(random(Image1.width),random(Image1.height),5*(random(20)+1) );
end;
0989デフォルトの名無しさん
NGNGprocedure TForm1.circle(x, y, r: integer);
begin
case r of
5..20,80..100:Image1.Canvas.Pen.Color := clRed;
25..45,55..75:Image1.Canvas.Pen.Color := clGreen;
50:Image1.Canvas.Pen.Color := clBlue;
end;
Image1.Canvas.Brush.Style := bsClear;
Image1.Canvas.Ellipse(x-r,y-r,x+r,y+r);
end;
0990デフォルトの名無しさん
NGNGご丁寧にありがとうございます!
私のは何がいけなかったんでしょうか??
0991デフォルトの名無しさん
NGNG色の設定が描画の後になっていること
多角形ではなく Ellipse() を使うこと
0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG多数の if は無駄。 if then else if .... ならOK
0994デフォルトの名無しさん
NGNGなるほど…ありがとうございます。
ところで、if文と不等号を使う場合はどうすればいいんでしょうか?
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG>if (r<=20)or(80<=r) then
こういう感じでよいのでは。
指摘したのは
if 条件1 then ....;
if 条件2 then ....;
if 条件3 then ....;
ではなく
if 条件1 then ....
else if 条件2 then ....
else if 条件3 then ....;
すべき、ということ。
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNGくだすれDelphi(超初心者用)その15
http://pc5.2ch.net/test/read.cgi/tech/1087823906/
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。