モナーの *やさしい* Delphi質問スレ Ver.5
レス数が1000を超えています。これ以上書き込みはできません。
0001Delモナー ◆fPymXWHY
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
前スレ Ver.4
http://pc.2ch.net/test/read.cgi/tech/1016467137/
それ以前は >>2 参照。
Delphi6のアップデートは済んでいますか。最新版は3月29日。 >>5
ソース置き場作りました。ファイルのアップロードもできます。 >>7
○過去スレ >>2
○関連スレ >>3-4
○Delphi製品情報 >>5
○関連リンク >>6
○質問者へ >>6
○ソース置き場案内 >>7
0002Delモナー ◆fPymXWHY
NGNGモナーの *やさしい* Delphi質問スレ Ver4(書き込み可)
http://pc.2ch.net/test/read.cgi/tech/1016467137/
モナーの *やさしい* Delphi質問スレ Ver3(HTML化待ち)
http://pc.2ch.net/test/read.cgi/tech/1014474727/
モナーの *やさしい* Delphi質問スレ Ver2(書き込み可)
http://pc.2ch.net/test/read.cgi/tech/1011649179/
モナーの *やさしい* Delphi質問スレ(HTML化済)
http://pc.2ch.net/tech/kako/1003/10031/1003113413.html
0003Delモナー ◆fPymXWHY
NGNG○***すれ立てるまでもない質問はここで***
どのスレッドに質問したらいいか、わからないときはここで質問してみよう。(略)
第12刷 http://pc.2ch.net/test/read.cgi/tech/1016631412/
第11刷 http://pc.2ch.net/test/read.cgi/tech/1014478527/ (HTML化待ち)
第A刷 http://pc.2ch.net/test/read.cgi/tech/1012536901/ (HTML化待ち)
第9刷 http://pc.2ch.net/test/read.cgi/tech/1010673275/
第8刷 http://pc.2ch.net/test/read.cgi/tech/1008908052/ (HTML化待ち)
第6刷 http://pc.2ch.net/tech/kako/1004/10041/1004183881.html
第5刷 http://pc.2ch.net/tech/kako/1001/10019/1001998049.html
第4刷 http://pc.2ch.net/tech/kako/998/998403891.html
第3刷 http://piza2.2ch.net/tech/kako/993/993933402.html
第2刷 http://piza.2ch.net/tech/kako/990/990082077.html
第1刷 http://piza.2ch.net/tech/kako/975/975576060.html
○Pascal の初心者用の質問・相談所
コンソールのみ。GUI は扱いません。
http://pc.2ch.net/test/read.cgi/tech/1009903617/
○kylix相談室(閑散)
2 http://pc.2ch.net/test/read.cgi/tech/988815580/
1 (行方不明)
○Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
○delphiで作られた有名ソフトって何がある?
delphi自身もdelphi?てか、今delphiやってる人へ希望を与えてやって下さい。
http://pc.2ch.net/test/read.cgi/tech/990056026/
0004Delモナー ◆fPymXWHY
NGNG一番上が新しいスレです。書き込みは新しいスレに。
○ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室
Delphi や Borland に関する話題、雑談や質問をしながらマターリくつろごうや
�A http://pc.2ch.net/test/read.cgi/tech/1013298748/
�@ http://pc.2ch.net/test/read.cgi/tech/1003664165/
( ゚Д゚)ノ Delギコ猫のプログラミング相談室
DelphiやBorlandに関する雑談や質問しながらみなーで、くつろごうや
part4 http://pc.2ch.net/tech/kako/1002/10024/1002469894.html
part3 http://piza2.2ch.net/tech/kako/1001/10010/1001039863.html
part2 http://pc.2ch.net/tech/kako/999/999482946.html
part1 http://piza2.2ch.net/tech/kako/997/997348797.html
○Delphi相談室 現在その3
Delphi関連のTips Q&A はこちらです。
その3 http://pc.2ch.net/test/read.cgi/tech/1010153466/
その2 http://pc.2ch.net/tech/kako/995/995950803.html
その1 (逝ってしまったようです)
(続く)
0005Delモナー ◆fPymXWHY
NGNG○公式サイト
http://www.borland.co.jp/delphi/
○Delphi 6 Personal
無料でダウンロードできる。持っていない人はこれを機にやってみよう。
ダウンロードするファイルはは59MBあり、またサーバーが重いので注意。
使用者登録が必要。
http://www.borland.co.jp/delphi/personal/
○Delphi 6 アップデート・ダウンロードサービス
最新のアップデートは次の通り。
Personal: Update Pack 2 (2002/3/19)
Professional, Enterprise: Update Pack 2 + 追加アップデート (2002/3/29)
http://www.borland.co.jp/delphi/del6up.html
0006Delモナー ◆fPymXWHY
NGNGここに貼っておきました。
どんどん追加して構いません。
こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
■質問者へ
○ここはDelphiのプログラミングに関する質問スレです。
スレ違いの質問は罵倒されるので、ほかのスレを探してください。
○厨房並みの初心者の質問はOKですが、厨房は質問するな。
○まずは自分で調べてみよう。回答にGoogleの検索結果を貼られないように。
Google http://www.google.com/intl/ja/
2ちゃんねる検索 http://2ken.net/
Delphi-ML検索 http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi
0007Delモナー ◆fPymXWHY
NGNGこのスレのソース置き場を作ってみました。
このスレに載せきれないソースはここへどうぞ。
○3000行までOKです。
○ソース書き込み時は等幅に設定してください。インデントが使えます。
○激しく長いソースは、同時にソースファイルを添付しておくと(゚Д゚)ウマーです。
○置くのはソースでなくても構いません。
ファイルのアップローダーとしてもどうぞ。
こちらへ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017673221
以上。
0008Delモナー ◆fPymXWHY
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. 前スレが980に行くまでは書き込まないで
( ) .| (あるいはsage進行にして)ください。
| | | \_________________________
(__)_)
厨が少ない時間に立ててみました。
3と4が逆になってしまったー!!!
>>3-4は逆にして読んでください。
スマソ。鬱駄死脳。
0009デフォルトの名無しさん
NGNG( ・∀・)< >>1-8 とても良くまとめ
( ) \ られていて、実にGoodです
| | | \___________
(__)_)
0010デフォルトの名無しさん
NGNGTNMClient でも TClientSocket でもなんでもよいのですが、
とにかく層言うのを使ってチャットクライアントを作ったとしますよね。
複数起動しても正しく動作するようにするにはどうすればよいのでしょう。
何が言いたいのかと言うと、
まず、チャットでの通話先は IP によって判別しますよね。
そして、IPでPCを特定しても、そこで複数のクライアントが起動している場合はどうすれば良いのかと。
で、サーバ側ではメッセージを受け取っているわけですよね。
どのソフトから来たか、というのをどうやって判別するのかと。
…というよりも、TClientSocket を複数起動すると
エラーが起こる確率が高くなるような気が。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGできる・・・CでやれることはDelphiでも全部できる
とにかくがんばってくれ
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG作業手順
1、Delphiでインラインアセンブラを使ってブートローダコードを書く
2、ブートローダコードのアセンブル結果を抽出してブートセクタに書き込む
3、 system.pas を biosコールに書き換える
4、後はガンバル
0015デフォルトの名無しさん
NGNG(“はい”とか“いいえ”など)を書き換える悪戯をするプログラムを
作ってみたいのですが、何か参考になりそうな解説ページは
無い物でしょうか?
フックを使うんじゃ無いかと思い探してみたのですが、
「ボタンを押した後にホントに良いかもう一度確認する」とか
「CtrlとCapsを入れ替える」という事が出来と書いてるページしか
見つかりませんでした。
0016デフォルトの名無しさん
NGNGコードは↓に置きました。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1017824917
0017デフォルトの名無しさん
NGNG↓みたいなコード化書いたんだけど、自分としては、
H.Buf[3] := 1
H.Buf[4] := 0 で
H.Param1 を観たとき、256 とでてほしいわけね(1かも)
でも、実際にやってみると 0 としかでないわけよ。
なんでだろう…
type
THeader = record
case Integer of
0: ( Buf: array [0..6] of Byte );
1: ( Code: Byte;
Count:Byte;
Index:Byte;
Param1:Word;
Param2:Word;
);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H:THeader;
begin
H.Buf[0] := 10;
H.Buf[1] := 20;
H.Buf[2] := 30;
H.Buf[3] := 1;
H.Buf[4] := 0;
H.Buf[5] := 0;
H.Buf[6] := 0;
caption := inttostr( H.Param1 );
end;
0018デフォルトの名無しさん
NGNGTHeader = packed record
0019優しく教える予定だった人
NGNGH.Buf[4] := 1
H.Buf[3] := 0
とする
エンディアンで検索してみて
0020デフォルトの名無しさん
NGNG> ナゼかエラーがおこります。
プログラム組む奴が素人みたいな報告をするな。
デバッグのお勉強をどうぞ。
0021デフォルトの名無しさん
NGNG( ・∀・)< おまえらはせっかくの >>1-8 を
( ) \ 良く読んだのかと小一時間・・・(笑
| | | \___________
(__)_)
0022デフォルトの名無しさん
NGNGポップアップメニューのCaptionがListViewの幅より長いときに、
ListViewのスクロールバーや一部分が再描画されない時がある
のだが、これってグラフィックアクセラレータの問題だろうか?
再現しませんか?
0023デフォルトの名無しさん
NGNG作れるかどうかだけ教えて欲しいキボンヌ!
今友達と口論になってて
実在するかどうかでもイイです。(こっちの方が手っ取り早いかも)
0024デフォルトの名無しさん
NGNGツクッタコトアルヨ
0025デフォルトの名無しさん
NGNG今作って送り付けました。
オリジナルなのでワクチンは効きません。
0026デフォルトの名無しさん
NGNG・・・・別にDelphiだから作れないという事はないから・・・ただメンドクサイだけど
簡単にやるなら、インラインアセンブラでリロケータブルなコード書けばいいんだけど
それはつまりDelphiらしさを使ってないわけで
0027デフォルトの名無しさん
NGNGヘルピで検索しても出てこないっすー。F1でも駄目っすー。
参考ページでもいいから誰かご存じの方教えてください。
0028デフォルトの名無しさん
NGNGtypedef struct _formatrange {
HDC hdc;
HDC hdcTarget;
RECT rc;
RECT rcPage;
CHARRANGE chrg;
} FORMATRANGE;
002927
NGNGありがとうござました。修行してきます。
0030デフォルトの名無しさん
NGNGその画面にブラインド効果のようなのを描画するにはどうしたら良いでしょうか?
よくJAVAとかで見かける左右に絵が出てくる奴です。
0031timerで
NGNG0032デフォルトの名無しさん
NGNG探せばどっかにありそうな気もするんだけど。
0033デフォルトの名無しさん
NGNG0034Delモナー ◆fPymXWHY
NGNG例えばアドレス帳に載っている全員に
メールを送りつけるとか?(藁
私は知りません。
こういう場でやばそうな質問をすると、
>>23-25みたいに、ろくなレスがつきませんな。
>>9, >>21
ありがとうございます。
一人でも真剣に読んでくれた人がいて嬉しいです。
できれば全員に読んでほしいんだけど。
(全員読むようだったら厨なんか出ないか)
0036デフォルトの名無しさん
NGNGもしネットに流れデモしたら・・・
ブルブルガタガタガタガタ
0037デフォルトの名無しさん
NGNGとかで出来るのですが、htmlソースの取得はどうすればよいでしょうか?
0038デフォルトの名無しさん
NGNGsocket
003937
NGNGすいません。もう少し詳しくお願いします・・・・
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGツクッテミル コトト ハイフシテ コンランヲタノシム コトハ ベツジゲン ノハナシダロ
`ロクナレスガツキマセン` ト イワレモコマルヨナー
シツモンニハ テキカクニ コタエテイルトモウガ?
0042デフォルトの名無しさん
NGNGソケットも知らないでHTTPクライアントを作る時点で何かがおかしい。
0043誰でも最初は初心者ウォンチュ!
NGNGことり
0044デフォルトの名無しさん
NGNGD6かな?
IndyのIdHttpを載っけて、
Memo1.Lines.Text := IdHttp1.Get('http://www.2ch.net');
0045デフォルトの名無しさん
NGNGかく言うオレが未Indyインストール(藁
ふーん。そーやんのかー…<Indyでソース
最初からパソナルにも付けてくれればいいのに…。
0046デフォルトの名無しさん
NGNGダイアログボックスのボタンのキャプションって
どうやったら書き換えれるのかは俺も知りたいです.
市販アプリとかだと変えてるのがある気がしますが
そっくりなフォーム作ってるだけでしょうか?
どなたかご存知の方よろしくお願いしますー.
0047MessageDlgPosHelp
NGNG0048デフォルトの名無しさん
NGNG市販アプリは自作フォームでしょうね。
Windows全体でやりたいなら常駐して監視する必要がありますから、
・フックを使う
・FindWindowを使う
のどちらかでしょう。確実なのは前者ですが、きちんと作らないと
システム丸ごと落ちる可能性があります。
タイムラグ発生の可能性はありますが、FindWindowの方が簡単だと思います。
0049Delモナー ◆fPymXWHY
NGNG「ろくなレスがつきませんな」
すみませんでした。
半角カタカナで、短く一言で書かれていたので、勘違いしてしまいました。
ここに反省しお詫びします。
迂闊な発言をしないよう今後十分注意します。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG005352
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1017803412/37
0054Delモナー ◆fPymXWHY
NGNGそうですね。
>>49は急に態度を変えたように見えてしまいました。
自分の地としては敬体で書いているので、
この場では見ず知らずに人に対してでも、
フレンドリーな文体と敬体を使い分けているんだけど、
詫びる気持ちを表現しようと敬体で書いたら、
逆に白々しい感じを与えてしまった・・・。本当にスマソ。反省してます。
0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGだからそう丁寧にレスしなくていいんだよ。
雑談スレじゃないだろ?
# これにレス付けるなよ。
0057知らんけど
NGNG0058間違えた
NGNG0059こっちか?
NGNGつーか、試す気ないから適当に調べれ
0060デフォルトの名無しさん
NGNGしたいんだが、どうしたらできるん?
CGIを使うのか?(なるべく使いたくない。ケチ鯖ユーザーだから…)
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG受け取るだけならHTTPで
0063デフォルトの名無しさん
NGNGinifileやレジストリ以外でお願いします。
保存内容を見られたくないのです。
ファイル書き込みで設定したいのですがどのように作れば良いのか・・・。
それともinifileを暗号化出来る?
0064デフォルトの名無しさん
NGNGTFile
0065デフォルトの名無しさん
NGNGそれとも保存した内容が判らないようにしたいなら、
自前の文字列暗号化処理を入れたらいいんじゃないの?
簡単なのは文字列をバイト単位にキーワードとXORして
16進数に変換してしまう事。
それで良ければ簡単なサンプル書いてあげようか? ・・・って下心ミエミエ?
0066デフォルトの名無しさん
NGNG保存したことは分かっていいです。
ファイルの存在も分かってOKです。
ただ中身を見られたくないだけです。
簡単な方法ありますか?
0067デフォルトの名無しさん
NGNG0068ソケット ◆NIEdbLqs
NGNG0069デフォルトの名無しさん
NGNGこういう大それたことしようとする奴に限って基礎がなってない。
相手にしなくていいじゃん。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGっていうかどちらも同じもの指してますから・・・。
0072デフォルトの名無しさん
NGNGっていうか順序変。
0073デフォルトの名無しさん
NGNG007470
NGNG16進か2進かの違いだった・・。
#13#10の方が正しいのかな。
0075デフォルトの名無しさん
NGNG>16進か2進かの違いだった・・。
違うぞ。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNGfunction MyCipherStr(const s:String;decode:Boolean):string;
var i,n,siz:Integer;
const k='ひみつのアッコちゃん';
begin
RandSeed:=(ord(k[3])*$10000+ord(k[1])*$100+ord(k[2]));
Result:='';
siz:=Length(s);
if decode then siz:=siz div 2;
for i:=1 to siz do begin
if decode then n:= StrToInt('$'+copy(s,i*2-1,2))
else n:= ord(s[i]);
n:= ( n xor ord(k[1+(i mod Length(k))]) xor random(256));
if decode then Result:=Result+Char(n)
else Result:=Result+IntToHex(n,2);
end;
end;
レジストリに書く文字列をstrとして
MyCipherStr(str,false)
を書いて
レジストリから読む時は
str := MyCipherStr(ReadString(何とか),true);
0078Delフサギコ ◆zE1iiRdQ
NGNGカイギョウコードに気をつけてね。
,,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < ファイル入出力が
UU"""" U U \_#13#10しか考えてないこと多いし
0079デフォルトの名無しさん
NGNGそれで組んで見ました。
友人に見せたらXORだろ?と言われてしてしまいました。
もっと強力なものはないでしょうか?
0080デフォルトの名無しさん
NGNG>>79 大丈夫、これを解読するには
const k='ひみつのアッコちゃん';
さえ判らなければまず見つかりません
乱数列でもスクランブルしてるので、結果だけから見つけるのはまず無理です
0081Delフサギコ ◆zE1iiRdQ
NGNG,,,,,,,,,,,,,,,,∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < おや、そうなんすか。
UU"""" U U \_______________
n:= ord(s[i]); してResult:=Result+IntToHex(n,2); してるからかな。
抜け目ないでございますね。
>>79≠>>66でしょ
008270
NGNG0083デフォルトの名無しさん
NGNGそれが問題だよね。
未だに古いブラウザ使っている人がいる以上、新技術の採用は難しい。
0084デフォルトの名無しさん
NGNGだから、もう少しだけ強力にする
function MyCipherStr(const s:String;decode:Boolean):string;
var i,n,m,siz,r:Integer;
const k='ひみつ';
begin
RandSeed:=(ord(k[3])*$10000+ord(k[1])*$100+ord(k[2]));
Result:='';
siz:=Length(s);
r:=random($FFFF);
if decode then siz:=siz div 2;
for i:=1 to siz do begin
if decode then n:= StrToInt('$'+copy(s,i*2-1,2))
else n:= ord(s[i]);
m:= ( n xor ord(k[1+(i mod Length(k))]) xor random(256)) xor (r and $FF);
if decode then r:=(r*331 + m) else r:=(r*331 +n) ;
if decode then Result:=Result+Char(m)
else Result:=Result+IntToHex(m,2);
end;
end;
kの文字列の他に途中の331もパラメータになるから、
クラックする場合の苦労は100倍程度に増える筈
0085デフォルトの名無しさん
NGNGもっと根源的に間違ってるんだが……
008685
NGNG逝ってくる……
0087デフォルトの名無しさん
NGNGVBからやり直した方がいいかも(w
0088デフォルトの名無しさん
NGNG漏れに教えてくれ。
008985
NGNG漏れにいってる? 頼むから VB は勘弁してくれよぉ(w
仕事で仕方なく使うことはあるけど、やりたかねぇよぉ(w
個人では Delphi を 1の頃から使ってるよ。仕事でもいくつかやってるけどね。
まあ、>70=>74 が根源的に間違ってるところについては同意していただけると思うのだが。
0090デフォルトの名無しさん
NGNG64kbだった?
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG確か制限有ったよ。
inifileでしょ
0093デフォルトの名無しさん
NGNGそれとPublicとかprivateとかusesって何ですか?
上の方にあるアレです。
interfaceとかもわかんないです。
0094デフォルトの名無しさん
NGNGObject Pascal 言語ガイドがおすすめですよ
0095デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGオブジェクト思考プログラムについて学ぶ必要があります。
幸いにも、復刊ドットコムにて、「DELPHIによるオブジェクト思考入門」が
規定の投票数を超えました。再び本屋に並ぶのも夢ではありません。
0098デフォルトの名無しさん
NGNGhttp://www.fukkan.com/vote.php3?no=4407
0099デフォルトの名無しさん
NGNGfunction XOR(InFile, OutFile:string);
var
P:Byte;
InStream, OutStream: TFileStream;
begin
InStream := TFileStream.Create;
OutStream := TFileStream.Create;
InStream.LoadFromFile( InFile );
while InStream.Position < InStream.Size do begin
InStream.ReadBuffer( P, 1 );
OutStream.WriteBuffer( P xor $FF, 1 );
end;
OutStream.SaveToFile( OutFile );
InStream.Free;
OutStream.Free;
end;
0100デフォルトの名無しさん
NGNGオブジェクト 思 考 プログラムについて学ぶ必要があります。
幸いにも、復刊ドットコムにて、「DELPHIによるオブジェクト 思 考 入門」が
0101デフォルトの名無しさん
NGNG010293
NGNG0103デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGxorって言う関数作れたっけ?
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGムリムリ
0108デフォルトの名無しさん
NGNGXOR で、さらに逆向きに記録
function FileXORRev(InFile, OutFile:string);
var
I: Integer;
P:Byte;
InStream, OutStream: TFileStream;
begin
InStream := TFileStream.Create;
OutStream := TFileStream.Create;
InStream.LoadFromFile( InFile );
for I := InStream.Size-1 downto 0 do begin
InStream.Position := I;
InStream.ReadBuffer( P, 1 );
OutStream.WriteBuffer( P xor $FF, 1 );
end;
OutStream.SaveToFile( OutFile );
InStream.Free;
OutStream.Free;
end;
0110デフォルトの名無しさん
NGNGまず、ボタンをクリックして起こす処理から勉強して、
次はif文を勉強してという手順で勉強していってください。
そうすれば、'T','uses'などがどのような役割を果たしているか、
自分で、明確にわかるようになると思います。
■ボタンをクリックしたときに起こる処理の説明■
まず、コンポーネントのButtonをクリックし、Formに貼り付けろ。
それから、そのコンポーネントのアイコンをダブルクリックすると
ソースを書く所に、procedure TForm1.Button1Click(Sender: TObject);
と出るので次のように記入しろ。尚、//〜は説明書きだ。
-----------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
hennsuu: Integer; //ここでは、保存領域を宣言(準備)する。
begin
hennsuu := hennsuu + 1; //hennsuuにプラス1されたものを、hennsuuに保存する。これを代入という。
Button1.Caption := IntToStr(hennsuu); //現在のhennsuの値をボタンの表示名にする。
if hennsuu = 3 then Showmessage('現在hennsuuの値は3です。');
//もし、hennsuuが3ならば、'現在hennsuuの値は3です。'を表示。
end;
-----------------------------------------------------------
変数は、そのアプリケーションが閉じられると、消えてしまいます。
これでわかったか?わかったらなんかソフト作れば段段
usesとかもわかってくる。
天才じゃない限り1日で全部覚えb謔、とするのは末ウ理だ。
演ス回も繰り返しbト、身につけてb「くもんだ。
0111デフォルトの名無しさん
NGNGっていう使い方が出来ると便利なのに。
0112デフォルトの名無しさん
NGNGプロパティは変数ではないって奴ですな。
0113デフォルトの名無しさん
NGNGC++をDelphiに変換するプログラムを作ってます。
C++はまだ初心者なので「これは必須!」って言うの教えて下さい
0114デフォルトの名無しさん
NGNG漏れに教えてくれ。
0115デフォルトの名無しさん
NGNGサーバーは決まってる場所なのか?
0116デフォルトの名無しさん
NGNGああ。
0117デフォルトの名無しさん
NGNGDelphi6proならIndyを使えば出来るよ
0118デフォルトの名無しさん
NGNGhttp://www.mpsinc.com/mpsprice.html#pascal
負けないようにガンバレ
0119デフォルトの名無しさん
NGNGIndyってコンポーネントか?それともコンポーネントの中に
入っているプロパティーか?
そのコンポーネントって、DLできないのか?教えてくり。
0120デフォルトの名無しさん
NGNGまずDelphiのバージョンとEditionを教えて。
Delphi6のProfessionalならIndyは普通に付いてる。
Personalは無かったと思う。
どちらにしてもソース開示してあるし入れれるけどね。
0121デフォルトの名無しさん
NGNGめでたく厨に認定されました。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGNMHTTPって無いか? >Personal
つーかDelphiのバージョンとEdition書けって言ってるだろ
質問に答えようが無い。
0124デフォルトの名無しさん
NGNGttp://members.jcom.home.ne.jp/monazilla/document/wininetdel.html
ttp://user.ecc.u-tokyo.ac.jp/~t00664/delphi/
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/wininet/wininet.asp
0125デフォルトの名無しさん
NGNGどこにバージョン出てる?
Delphiだとなんでも簡単に作れるって聞いたから触ってやるんだけどさ。
0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNG作ってみようとしているのですが、日本語部分が #24335#20250・・・こんな感じ
で表示されてしまいます。
色々と調べてみると、ちゃんと日本語として表示される事もあるみたいで、
Delphiでフォームを「エディタで表示」させた状態で一旦保存するとちゃんと
日本語になります、毎回「エディタで表示」させなくても、デフォルトで、その
状態に設定するオプションが見当たらないのですが、何処かにありますか?
環境はDelphi6proです。
0128114
NGNG0129114
NGNG漏れ的にもNMHTTPがいいんだが、learning版ではコンポがない。
NMHTTPでやりたい。
0130114
NGNG教えてくれて、ありがとう。
0131114
NGNG前、POP3のコンポでメールソフト作ろうと思ったら、
POP3のコンポがなかった…。
でも、初心者にはありがたい環境。
0132デフォルトの名無しさん
NGNG実はMemoコンポーネントでファイルの転送が出来る。
隠しメソッドがあるのだ
begin
Memo1.Create;
Memo1.LoadFromFile('aaa.zip'); //zipファイルを一時的に格納する
Memo1.Put(http://www.hoge.com,Memo1.Lines.file); //zipファイルをアップロード
Memo1.Free;
end;
こんなところ。
やってみ
0133デフォルトの名無しさん
NGNGこんなの誰も騙されないだろ (w
Memo1.LoadFromFile('aaa.zip'); からして間違ってるよ、
Memo1.Lines.LoadFromFile('aaa.zip'); が正解だろ。
つーことで、皿仕上
0134デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG文法エラーにはならなかった記憶があるんだが
0138デフォルトの名無しさん
NGNGやってみたんかよ!
0139132
NGNGばれたか
何故ばれた!
そんなこというなら転送機能付きのMemoコンポーネント作っちゃうぞ(マジで)!
何の意味があるのかわからんが
0140デフォルトの名無しさん
NGNGCreate;は間違いでは無い。
FreeがあるならCreate;も必要なはず。
0141デフォルトの名無しさん
NGNGビジュアルコンポでオーナーコンポが指定されないと怖いだろ、エラーになると思われ
0142デフォルトの名無しさん
NGNGMemoだと、サイズ的な制限があるから、他でrichでやった方が実用的?だと思う
0143デフォルトの名無しさん
NGNG本当にそーかい?マジですか?
0144114
NGNGどうせ嘘つくんだったら、PCが止まるのとかやれよ。
0145114
NGNG普通にバレルだろ。でも、一応やったぞ。
>何の意味があるのかわからんが
激しく同意。
0146デフォルトの名無しさん
NGNGprocedure TForm1.FormCreate(Sender: TObject);
var Memo1:TMemo;
begin
Memo1.Create(Self);
end;
とやったら・・・なんとスタックオーバフローに・・・なんで?
procedure TForm1.Button1Click(Sender: TObject);
var Memo1:TMemo;
begin
Memo1:=TMemo.Create(Self);
Memo1.Parent:=self;
Memo1.Name:='Memo1';
Memo1.Visible:=True;
end;
0147114
NGNGできたら使い方おしえてくり。
learningバソのHelpFileで調べてもNMHTTPの
答えは返ってこない…。
やっぱ、Proffesional、Enterpriseマンセー!!
0148114
NGNGって事でMXで拾って来るぜー!!!
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGttp://www.sakaki.keiaikai.or.jp/Library/webconv/compile.html
0151デフォルトの名無しさん
NGNGだったら WinInet 使えって 自分のハードディスクに WinInet.pas あるだろ?
0153デフォルトの名無しさん
NGNGDelphi6のPersonalは無料なんだからそれを使えって
CD欲しけりゃもらえるしダウンロードも出来る
Indyだってただなんだし(俺の記憶では)
0154デフォルトの名無しさん
NGNG何コイツ?
自作自演?
0155114
NGNG0156114
NGNG0157デフォルトの名無しさん
NGNGハァ?
黄色い救急車呼んでこい
0158デフォルトの名無しさん
NGNG何がコンパイル出来ないのかよく判らんが・・・。
何の話?コンパイルできるけど?
0159デフォルトの名無しさん
NGNG146が器と中身を混同しているのでは?
「飯」を「象印の炊飯器」で炊く
のと、
「象印の炊飯器」を炊く
の違いが判らないと理解できないかも(藁
0161114
NGNG0162デフォルトの名無しさん
NGNGexeどころかもう。。。なあ149>>
0163114
NGNGDLしたことによってパソの設定変えたくないから。
Indyがパソが狂うよりもいいものだったら、考えようだが。
0164デフォルトの名無しさん
NGNG・Borland.co.jpに行く http://www.borland.co.jp/
・DelphiPersonalをダウンロードする http://www.borland.co.jp/news/del6personal_j.html
・DelphiUpdate2をダウンロードする http://www.borland.co.jp/download/delphi.html
・ライセンスキーを取得する(無料) http://register.borland.co.jp/delphi_personal.htm
・Delphi6PersonalとUpdate2をインストール
これでDelphi6が使えるわけだ
あとはIndyとかを個人好みで入れれば良い。
0166デフォルトの名無しさん
NGNG普通に開発出来る
0167デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ・∀・)< >>114はもう少し自分で
( ) \ 調べてから発言してね ♥
| | | \___________
(__)_)
Indy使うの嫌だったら他にFTPの扱えるコンポーネントを
探して、それでもどれも使いたくないと言うのならSocket
から作ってね。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGマジで、何言ってるのかわかりません。
Indyでパソ?(パソコンの事か?)の設定?(レジストリの事か?)
パソが狂う?(暴走する事か?)
そんな事ないよ、IndyってDelphi用のコンポーネントなんだが?
何と勘違いしたらそんな話になるんだ?
ちょっと自分で調べてから発言しないと、ウザがられますよ?
0171114
NGNG拡張子が変わってしまうのがいや。
Delphi6って、ちょっとDelphi5に比べて形変わっているから、
初心者でいるうちは、Delphi5から移りたくない。
だから、NMHTTPきぼーん。
0172114
NGNG自分で調べろってか?
0173114
NGNG話から分かるけど。
0174デフォルトの名無しさん
NGNG>拡張子が変わってしまうのがいや。
何の拡張子?何が変わったよ?
>Delphi6って、ちょっとDelphi5に比べて形変わっているから、
形が変わった?意味不明なんですけど。
>>172
http://www.google.co.jp/search?q=Indy&hl=ja&lr=
0175114
NGNG本人の真似をしているということ。
0176114
NGNG0177114
NGNG0178114
NGNGIndyそのものをDLできませぬか?
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181114
NGNG0183デフォルトの名無しさん
NGNG騙る【きどる】
0185デフォルトの名無しさん
NGNGまず名前欄に fusianasan#好きな言葉 って入れろ
好きな言葉はパスワードみたいなものだ。
忘れないように。#(シャープ)も忘れるなよ。
0186114
NGNGアフォが!!
0187114
NGNG答えたわ!アフォが!!
0188114
NGNGThank You!!
0189デフォルトの名無しさん
NGNG番号無駄に上がるし、ここはそんなスレじゃないんでヨロシク頼む。
0190デフォルトの名無しさん
NGNGよって今後>114は放置の方向で。
0191114
NGNG0192デフォルトの名無しさん
NGNG>>111
>for Stream.Position := 0 to Stream.Size-1 do ...
>っていう使い方が出来ると便利なのに。
便利さはしばしば安全性とのトレードオフになるからね〜
便利さを重んじたのがC/C++で
安全性を重んじたのがPascal(Object Pascal)なんじゃない?
俺は注意力に自信がないからストロングタイピングな言語の方が安心だけど
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG0195114
NGNG0196デフォルトの名無しさん
NGNGMSDN Library Like 演算子
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/vbenlr98/vaoprlike.htm
パターンマッチングができる。
0198デフォルトの名無しさん
NGNGやっとかよ・・・
4時間前から言ってやったのに
0199デフォルトの名無しさん
NGNG無いことは知ってるんです。
ですからそれ相当の物があるのかもしくは自分で作れないかと思って。
関数なりを。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGstrstr()
0202デフォルトの名無しさん
NGNGDelphiには残念ながら存在しないので、文字列だったらPosを駆使する
ことになると思います。
0203デフォルトの名無しさん
NGNGワイルドカードだ疲れればいいんだよね。
オートマトンでどうにかなるんじゃない?
0204デフォルトの名無しさん
NGNGvar
idxA,idxB:Integer;
wLenA,wLenB:integer;
wUMC,wWC1,wWC2:Boolean;
begin
wLenA:=Length(a);
wLenB:=Length(b);
wUMC:=False;
wWC1:=False;
wWC2:=False;
idxA:=0;
for idxB:=1 to wLenB do
begin
if (wWC1=False) then
begin
inc(idxA);
if (idxA>wLenA) then wUMC:=True;
end;
if (a[idxA]='*') then
begin
inc(idxA);
if (idxA>wLenA) then wWC2:=True;
wWC1:=True;
end;
if (a[idxB]='?') then wWC2:=True;
if (wWC2=False) then
begin
if (a[idxA]=b[idxB]) then
begin
if (wWC1=True) then wWC1:=False;
end else begin
if (wWC1=False) then wUMC:=True;
end;
end;
wWC2:=False;
if (wUMC=True) then Break;
end;
if (wUMC=True) then
result := false
else
result := true;
end;
0205デフォルトの名無しさん
NGNGProfessional以上ならMasksとかいうワイルドカード扱うUnitが
あったはず。
0206デフォルトの名無しさん
NGNGaの文字数が長い時のチェックが無いね
0207デフォルトの名無しさん
NGNG最後辺りの if文のところを
if (wUMC=True) or (idxA<wLenA) then
すりゃ判定できるみたいだが、機能が不足してるし、わかりづらいなぁ。
それに、速度的にどーよ。
0208デフォルトの名無しさん
NGNG有難うございました。
0209DELモナ
NGNGfunction Like(Str,Ptn:string):Boolean;
var
P,I:Integer;
begin
Result := False;
if Str = '' then Exit;
if Ptn = '' then Exit;
P := 1;
I := 1;
while (P <= Length(Ptn)) and ( Ptn[P] = '*' ) do Inc(P);
while (I <= Length(Str)) and ( P <= Length(Ptn) )do begin
if Ptn[P] = '?' then
Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0210デフォルトの名無しさん
NGNG>>204ソース + バグ修正 の方が結果が正しいようだが・・・。
0211デフォルトの名無しさん
NGNGごめん、正しく動いてたみたいです。
0212DELモナ
NGNGfunction Like(Str,Ptn:string):Boolean;
var
P,I:Integer;
N:string;
begin
Result := False; N := ''; P := 1; I := 1;
if Str = '' then Exit; if Ptn = '' then Exit;
while (P <= Length(Ptn)) and (Ptn[P]='*') do Inc(P);
while (I <= Length(Str)) and (P <= Length(Ptn))do begin
if Ptn[P] = '[' then begin
N := ''; Inc(P);
while (P <= Length(Ptn)) and (Ptn[P] <> ']') do begin N := N + Ptn[P]; Inc(P); end;
end;
if N <> '' then begin
if Pos( Str[I], N )>0 then begin Inc(P); N := ''; end
end
else
if Ptn[P] = '?' then Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0213デフォルトの名無しさん
NGNGおお!凄い
この勢いで正規表現まで頑張って下さい、期待してます!
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG"3ce5" に "3c[a-zA-Z]5"がマッチすると。
function Like(Str,Ptn:string):Boolean;
function GetCharList(List:string):string;
var
I:Integer;
C:Char;
begin
Result := '';
for I:=1 to Length(List) do
if List[I] = '-' then
for C := Succ( List[I-1] ) to List[I+1] do
Result := Result + C
else
Result := Result + List[I];
end;
var
P,I:Integer; N:string;
begin
Result := False; N := ''; P := 1; I := 1;
if Str = '' then Exit;
if Ptn = '' then Exit;
while (P <= Length(Ptn)) and (Ptn[P]='*') do
Inc(P);
while (I <= Length(Str)) and (P <= Length(Ptn)) do begin
if Ptn[P] = '[' then begin
N := '';
Inc(P);
while (P <= Length(Ptn)) and (Ptn[P] <> ']') do begin
N := N + Ptn[P];
Inc(P);
end;
N := GetCharList(N);
end;
if N <> '' then begin
if Pos( Str[I], N ) > 0 then begin
Inc(P);
N := '';
end
end
else
if Ptn[P] = '?' then
Inc(P)
else begin
if Ptn[P] = '*' then Inc(P);
if Ptn[P] = Str[I] then Inc(P);
end;
Inc(I);
end;
Result := (P > Length(Ptn)) and (I > Length(Str) );
{ Ptn が含まれているかどうかを調べるには以下の結果を使う }
{ Result := P > Length(Ptn); }
end;
0217デフォルトの名無しさん
NGNGまだそのネタやるつもりか?つまらん
0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGあ、Like作ってる人たちはすごいっす。
0222デフォルトの名無しさん
NGNG0223Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡っ━'~ | とりあえず、Like作成は
ミ∪ ~,ノ < テストコードを書いてから語ろうよ
ミ '' ミ \____________
し'~し'
0224デフォルトの名無しさん
NGNG新学期になって中学生がパソコン買って貰ったから
「よーしプログラム組むべ!」
って気合い入れたは良いけど何をしたらいいのか、どの言語にしたら良いのかわからず。
だからVBスレッドやDelphiスレッドに厨が繁殖するんだ。
そうか・・新学期だったんだ・・・
ここが「やさしいスレ」で良かったね
0225デフォルトの名無しさん
NGNG0226インディakaインターネットは直接です。
NGNG翻訳サービスもまだまだだなと思う(藁
0227インディakaインターネットは直接です。
NGNGいいね。旅情派だね。
0228インディakaインターネットは直接です。
NGNG>Why did the chicken cross the road?
>
>Some people say "To get to the other side.".
>We however are not really sure why the chicken crossed the road.
>It shall remain a mystery to the world.
>
>なぜ鶏は道を横断しましたか。
>何人かの人々は言います「反対側に到着すること」しかしながら、私たちは、
>なぜ鶏が道を横断したか実際に確信しません。それは、世界に対する神秘の
>ままであるものとします。
は、何なんだ?
0229デフォルトの名無しさん
NGNG周りがみんな爆笑してる場面で「ねぇ今のどういうこと?」って聞いてまわるタイプ。
0230デフォルトの名無しさん
NGNGVBもやっとオブジェクト指向になった?
既存ユーザには大変らしいけど新規ユーザーにはありがたいよね。
(.NET設計者そのものが、Delphiの人だったしね。もうBorland戻ったけど。)
Delphi.NETはまだですか?
C#Builderでもいいよ。
0231デフォルトの名無しさん
NGNGから、深く使おうと思ったら逆に苦労しそうなんだよな
0232デフォルトの名無しさん
NGNGえ?戻ったの?ソースキボンヌ。
0233デフォルトの名無しさん
NGNGライブラリのソース公開の話が出てたよ。C#スレ参照
0234デフォルトの名無しさん
NGNG日系の本に書いてあったよ
「日系ソフトウェア」だったかな。
だいぶ前
0235デフォルトの名無しさん
NGNGだから他のプラットホームに移植してる人がいるのだろうけど。
0236名無しへたぐらま ◆B18Bks.Y
NGNGTFormの謎
『型』ってあるよね.クラス型やレコード型,列挙型など,いろいろあるけど,
ボーランドさんは『型』の名前の先頭にTをつけるのが好きなの.
プログラムを書く人にもこれをすすめてる.
でもそうしなければいけないわけじゃない.
publicとprivate
クラス(オブジェクト)で外側から見えるものがpublic(パブリック),
見えない(操作できない)のがprivate(プライベート).
見せなくていいものを徹底的に隠すことで
プログラムの仕様があとで変わってしまっても最小限の変更で済む.
interfaceとuses
上のpublicとprivateに似てるけど,
ユニットのinterfaceと書かれた部分からimplementationと書かれた部分の間
(interface節という)で宣言されている型,関数と手続き,変数,定数は
ほかのユニットが必要に応じて参照することができる.
implementation以後で宣言されているものは参照できない.
usesはほかのユニットがinterface節で宣言している型,関数と手続き,変数,定数を
『使う』ことができる.(use=使う)
やはり見せなくていいものは極力見せないようにすべき.理由も一緒.
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGpublicとprivate、interfaceとimplementationは権限で説明した方がわかりやすくない?
自分はそうやって説明して貰ったら一発で理解出来た。
protectedが抜けてるけど良いのかな。
まあ>>236の言うとおり他から参照出来るかどうかだね。
0239デフォルトの名無しさん
NGNG謎の数字をそのまま打つこと。
strncpy(str1,str2,18);
通常はこのように意味のある言葉でdefineする。
#define MAXDATALENGTH 18
strncpy(str1,str2,MAXDATALENGTH);
0240クレール
NGNG0241デフォルトの名無しさん
NGNGつまり delphiで言えばsystem.pasの公開でVCLではないように思う
ちゃんと見た訳じゃないけど、textBoxをgrepしたけど見つからなかったし
0242デフォルトの名無しさん
NGNGdelphi5では
TextOut(x,y:Integer; text:string)
で動くらしいので何とかわかるのですが、
私が持っているdelphi6では
TextOut(dc:HDC; x,y:Integer; str:PChar; const:Integer)
となっていて何が何やら…。
既出でしたら誘導してもらえるとありがたいです。
0243デフォルトの名無しさん
NGNGその意味もあるけど、データの型を示すためのいわゆるシグネチャ
としての意味もあるね。googleで調べりゃボロボロ出てくる。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGTHogeTree=class(TTreeView)
public
constructor Create(AOwner: TComponent); override;
end;
constructor THogeTree.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Name:='hogeee'
Items.Add(nil,'aaaa');
end;
とすると、'コントロール'hogeeee'は親ウィンドウを持っていません'という例外が発生してしまいます。
色々やってItems.Addの前に「Parent:=(AOwner as TWinControl);」を
追加すればきちんと動作してくれるのはわかったんですが、
なぜ、Parentを指定しなければいけないんですか?
そういうもんなんでしょうか?
0248デフォルトの名無しさん
NGNGオーナーの廃棄と共にオブジェクトは消えて欲しいけど
描画先が廃棄されて一緒にアポーンされたら嫌でしょ?
0249デフォルトの名無しさん
NGNG>>238
ありがとう御座います
Publicとか理解出来ました。
その後Delphiの読みづらいコースウェアも読んでみました。
それにしてもDelphiのマニュアルは英語直訳って感じで分かりづらいですね。
分かってて当然って書き方されてるし・・・。
Delphiは入り込むのが難しそうだけどその後が楽そう。
0250249
NGNGprocedureとfunctionはどう違うんですか?
関数じゃ無いのでしょうか?
procedureが手続きでfunctionが関数なのは分かるんですが、どう違うのか・・・
自分で勝手に
function TForm1.aaaaa;
begin
Edit1.test := 'test';
end;
ってやったら動きましたけど・・。
0251デフォルトの名無しさん
NGNGprocedure :void
function :!void
0252デフォルトの名無しさん
NGNG0253agent ◆AWcg9OTs
NGNG思って色々やっているのですが、Agentのアニメーション名を
Getする方法がわかりません。
どなたか参考になるサイト、ソース御座いましたら教えて頂け
ませんでしょうか?
0254デフォルトの名無しさん
NGNGMSDNは?
0255agent ◆AWcg9OTs
NGNGそれっぽいのを見つけたのでやってみます。
ありがとう
0256agent ◆AWcg9OTs
NGNGそれをメモ等に挿入したいのですが、
StringとIAgentCtlRequestには互換性がありませんのエラー。
型を変換する方法ってわかりますか?
もうここで質問するような内容では無いのかもしれませんが、
宜しくお願い致します。
0257デフォルトの名無しさん
NGNGvar
a :Real;
b :Integer;
begin
b = Integer(a);
0258agent ◆AWcg9OTs
NGNGvar ag:IAgentCtlRequest;
Memo1.Text := string(ag);
とやってみましたが、Memo1の内容は
3シt
ちなみに、Integerだと
13528536
なのですがどうしたらよいでしょうか?
無理なのでしょうか?
0259デフォルトの名無しさん
NGNG>アニメーションはどうやらGET出来たようなのですが、
それをメモ等に挿入したいのですが、
意味がわからない。
0260agent ◆AWcg9OTs
NGNG私は、253,255,256,258です。
officeのイルカのカイル等がAgentです。
で、そのAgentのアニメーション名をGetしたいのです。
Agent1.Characters.Character('AgentID').Get('Animation', 'Animation', 'True');
でGetできるようなのですが、そのアニメーション名を知る方法がわからないのです。
0261114
NGNGIndyをヘルプファイルで調べたんだが、該当しなかった。
Indyというコンポーネントもなかった。
0263デフォルトの名無しさん
NGNG昨日何を聞いていた・・・。
0265264
NGNG0266デフォルトの名無しさん
NGNGIndyもダウンロードしろ。
PersonalにはIndy付いてない。
0267114
NGNG0268デフォルトの名無しさん
NGNGある
0269114
NGNG0270デフォルトの名無しさん
NGNG他の質問者に迷惑なので
0271デフォルトの名無しさん
NGNGだから答えてるじゃん・・
やさしくダウンロード方法まで書いてあげたじゃん・・・
まず試そうよ。
0272デフォルトの名無しさん
NGNGモナーの ね
0273デフォルトの名無しさん
NGNGやさしいのは確か
でも質問してばかりで実際に実行に移さなかったら駄目でしょ。
「Indy無いのか?」って言ってるけど、きのう説明済みだし。
それ以前にDelphiの導入やIndyの導入は出来るようにしよう!
わからなかったら教えるけど。
や さ し いからね。
0274デフォルトの名無しさん
NGNG文句を言う前に、自分のことを振り返れ。
多分>>269ではどこにあるのかも知りたいんだろうが、
「Indyの日本語版ヘルプファイルはないのか?」
じゃなくて
「Indyの日本語版ヘルプファイルはどこにありますか?」
と聞くべきだろ。
お前がほしい情報がなんなのかわからんから「ある」と答えるしかないわけよ。
何より、「教えてもらう」という謙虚な態度がお前には必要だと思うよ。
0275デフォルトの名無しさん
NGNG0276114
NGNG自分で調べるからそう書いたんだろ!!
0277114
NGNG0278はた
NGNGデータベースのテーブルを一覧で表示するのはできた(と思う)のですが、次のやり方が
どうやればいいのやらわかりません。
データベースAのテーブルaの一覧を出力するのですが、その際にデータベースBの
テーブルBより名称を取得したいのです。
イメージとして...
コード 名称
----------------- --------------------------
Aテーブル.コード Bテーブル.名称
なのですが、自分で色々やってみたのですが一件目は取得できてるのですが
2件目以降は取得できませんでした。
資料も色々探してみたのですが、QuickReportに関しての資料はほとんどなくて...
知っている方教えてください。
0279デフォルトの名無しさん
NGNGG:IAgentCtlCharacterEx;
x:IEnumVariant;
v: OleVariant;
i: Cardinal;
--------------
x:=G.AnimationNames.Enum as IEnumVariant;
while (x.Next(1, v, i) = S_OK) do Memo1.Lines.Add(String(v));
こういうこと?
0280デフォルトの名無しさん
NGNG0281Agent ◆AWcg9OTs
NGNGレスありがとうございます。
未定義の識別子 : 'IEnumVariant'
未定義の識別子 : 'AnimationNames'
のエラーです。 uses節になにかたらないのでしょうか?
0282デフォルトの名無しさん
NGNGDBの(SQLの)勉強をもっとした方がいい。
QRはただ単にデータを紙に出すだけ。
0283デフォルトの名無しさん
NGNGIEnumVariant <- uses に ActiveX
AnimationNames <- IAgentCtlCharacterEx (Exがある)
取得されるStringは'GestureDown'等
0284デフォルトの名無しさん
NGNGDel6Personalです。どなたか教えてください。おながいします。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
0287デフォルトの名無しさん
NGNGttp://members.jcom.home.ne.jp/monazilla/document/index.html
0288デフォルトの名無しさん
NGNG・インストールに失敗したIndyのバージョンは?
・失敗したときのエラーメッセージは?
・DelphiにはUpdatePackあたってる?
0289デフォルトの名無しさん
NGNGエラーはYou Can not Install the program unless you have the Souse-Code 9.0 Build 1 install first...
UpdatePack2です。
0290デフォルトの名無しさん
NGNGIndyNet9_00_03.EXEならインストール出来ると思うよ。
ttp://www.nevrona.com/Indy/download90.html
このページの真ん中くらいに有る。
俺もDelphi6PersonalUpdatePack2だけどインストール出来たから。
ところで質問があります。
private
SL1:TStringList;
procedure TForm1.Button1Click(Sender: TObject);
begin
SL1.Text := IdHTTP1.Get(URL);
end;
とかやって、一度目は上手くいくんだけど
二度目に例外が発生して
EIdConnClosedGracefullyクラスの例外を生成しました。
'Connection Closed Gracefully.'
とか何とか言われます。
何故なんでしょうか?
どなたか教えていただけませんか?
0291デフォルトの名無しさん
NGNGわたしもインストールに成功しました(つい今しがた)
私が思うに、Delphiのupdateがうまくいってないのでは?
0292デフォルトの名無しさん
NGNGIndyヘルプより
例外クラス EIdConnClosedGracefully は,接続が正常に閉じられた場合に生成されます。
EIdConnClosedGracefully = class(EIdSilentException)
説明
この例外クラスは,接続が正常に閉じられた場合に生成されます。
EIdSilentException から派生しているため,VCL の EAbort 例外のように動作します。
[ツール|デバッガオプション|言語固有の例外|追加] をクリックして「EIdSilentException」と入力し,
この例外を無視するように IDE を設定することをお勧めします。
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGできたと思うぞ。
0295デフォルトの名無しさん
NGNGお金出してPRO以上買わないとCで作れるというのと同じレベルだから注意してね
0296初心者B@久しぶりのカキコ
NGNG例えば、文字の色を変えたりとか、最小化・最大化・閉じる以外にボタンを追加するとか…
0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNGフックして下さい。Windowsの神になれる技です。
0299デフォルトの名無しさん
NGNGシェアウエアで 拡張タイトルバーやフリーでもTTitleBarというのがあるのですから
出来ない事はないのでしょうが、,自分でやるならそれなりの知識が必要だと思います
なお、TTitleBar は自前で全て賄う方式なので、メニューを表示する場合に難しいようですね
0300ネタじゃないのよ
NGNG新規フォームにボタンを一個だけ配置してButton1Clickに
Close;
と書いただけなのに終了しなくなっちゃった。
昔はこれでプログラムが終了したんだけど今は何か余計な事を書かないといけなくなっちゃったの?
[エラー] Unit1.pas(30): 文が必要な場所に 'TButton' 型の式があります
と言われても昔はこのコードで通ったから良く分かんないっす。
誰かアドバイスください。
0301デフォルトの名無しさん
NGNGじゃあApplication.terminate();
0302デフォルトの名無しさん
NGNGここは性格異常者の隔離スレだから、こっちへ行きなさい。
http://pc.2ch.net/test/read.cgi/tech/1010153466/
0303デフォルトの名無しさん
NGNGって文法エラーか。アフォらしい。
ネタじゃないならそのプロシージャ全部見せろって。
0304http:// p44-dna08funabasi.chiba.ocn.ne.jp.2ch.net
NGNG0305デフォルトの名無しさん
NGNGこの手の質問はよくあるんだよな。
0306デフォルトの名無しさん
NGNGプログラマーの素質ゼロと言わざるを得ない。
0307デフォルトの名無しさん
NGNGわかりました。5000万出しましょう。
そのかわり、1年後にきっちり5000万返せますか?
0308デフォルトの名無しさん
NGNGワシら、ここに暇つぶしに来とんと違うんや!!
こっちは真剣なんや!!
しょうもない質問すな!!
0309ネタじゃないのよ
NGNGunit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, StdCtrls;
type
TForm1 = class(TForm)
Close: TButton;
MediaPlayer1: TMediaPlayer;
procedure CloseClick(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CloseClick(Sender: TObject);
begin
Close;
end;
end.
0310デフォルトの名無しさん
NGNG病人が現れました。どうしよう?
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG激しく笑わしてもらいました。
なるほどね。
0313ネタじゃないのよ@赤っ恥
NGNGNameをCloseButtonに変えたあるよ。
会社では一応ソフト屋で飯食ってるんだけどPascalはさっぱり最近いじってないし、、、
この板にはVXWorks使いなんていないよね?
どもみなさんありがとうございました。
あっそうそう、>>307
いいですよ。何でしたらメールアドレス晒しましょうか?
ただし私先物&経済板の住人だから元本保証無しだよ。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG詳しく教えて、頼むから。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGWindowsCEってご存じですか?
0318デフォルトの名無しさん
NGNGそれともCトランスレータ?
0319デフォルトの名無しさん
NGNG0320(-_-)
NGNG(1)馴れ合い禁止。(一人で来る事。同伴禁止:いても知らぬ顔)
(2)「大盛りねぎだくギョク」を頼むこと。(並盛りねぎだくギョクも可)
(3)各会場ごとに指定時間厳守で現地集合。
(4)食ったら即帰る。
注)吉野家は家に帰るまでが吉野家です。
本スレ
http://ex.2ch.net/test/read.cgi/entrance/1017935504/l50
スレよりぬき等
http://www2.mnx.jp/carvancle/yoshigyu/
お祭り板
http://live.2ch.net/test/read.cgi/festival/1014549688/l50
0321デフォルトの名無しさん
NGNGそうじゃないの?BorlandってCのCE開発キット出してたっけ?
もし無い場合、あなたの言っていることの意味が不明。
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNGIndy ClientsのTIdHTTPを乗っけて、Button1をクリックしMemoにURL表示というのを実行してみたのですが・・・
実行すると「ソースファイルが見つかりません:IdStack.pas」と表示されてしまい、
Indyのソースフォルダに有ったので指定しますが、OKを押すと
「デバッガ例外が発生」EIdSocketクラスが例外を発生しましたと表示されて・・・・・
0324291
NGNGやってみたらちゃんとうまく行ったよ。(つい今しがた)
ところで>>268、>>274で「ある」と言われている
「Indyの日本語版ヘルプファイル」は↓のBorlandのサイトにあるkylix用のやつでしょうか?
http://www.borland.co.jp/kylix/kx2docup.html
0325デフォルトの名無しさん
NGNGにある目覚ましスクリーンセーバーなんだけどこのソフトの出す目覚まし音が
Windowsアプリでボリュームを最大にした時の音より巨大なんだけどそんな設定なんて
どうやって出来るNO?
0326デフォルトの名無しさん
NGNGそのデータの音量が他のデータに比べてふざけた音量で作成されている。
0327デフォルトの名無しさん
NGNGそなのかなあ。色々と考えたんだけど答えがでんかったYO!
ところで、マスターボリュームの操作ってどうやるNO?
MixerAPIなんて使った事ないYO!
誰かサンプルコードきぼん
0328デフォルトの名無しさん
NGNGttp://www.nifty.ne.jp/forum/fdelphi/samples/00507.html
あとは自分でなんとかやって
0329デフォルトの名無しさん
NGNG出来たYO!
ありが10!
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNGボタン入力で音が鳴っていても途中で強制終了させることは出来ないでしょうか?
0333デフォルトの名無しさん
NGNGApplication.Terminate
でどお?
0334デフォルトの名無しさん
NGNGMediaPlayer1.Pause;
もしくは
MediaPlayer1.Stop;
0335デフォルトの名無しさん
NGNGとか。
0336デフォルトの名無しさん
NGNG駄目みたいっす。何か先行入力されている感じ。ボリュームをだんだん大きくするプログラムなんだけど
with Mediaplayer1 do
begin
Filename:='C:\Windows\bell.wav';
Open;
Notify:=true;
Play;
end;
j:=1000;
while j<15000 do
begin
if not SetVolume(0, 0, j) then
ShowMessage('ボリューム設定に失敗しました');
if Mediaplayer1.NotifyValue=nvSuccessFul then
begin
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
end;
sleep(1500);
j:=j+4000;
end;
メインはこれでボタン側は
>>333や>>334を入れただけなんだけど駄目だった。なぜ?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNGそう押せない。
先行入力されてるみたいな感じで、何回か繰り返して再生された後で
やっと押せて終了出来る。
どうにか割り込み出来ないのでしょうか?
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG>>336
OnClick内でそんなに時間掛かる処理は普通やらないと思います。
・sleepの代わりにApplication.ProcessMessages
・タイマー(TTimerで十分でしょう)を使って似非割り込み
・OnIdleで同期とって処理
等でやりましょう。
タイマーが手軽かな。
0341デフォルトの名無しさん
NGNGどんなやつかコピペPLS
0342デフォルトの名無しさん
NGNG駄目だった。みんなレスありがとうね。
でも、色々とやってみて、音を鳴らす部分だけをFuctionに出したら
みんなが教えてくれたどのやりかたでも大丈夫だったあるよ。
同じコードの中に入れといたら割り込みが効かないなんて初めて知った。
みなさんありがとね。
解決レポしたばかりで聞くのも申し訳ないのですけど、スクリーンセーバーのように
キーかマウスに動きがあったら、ある特定の処理をさせたいのですが、OnMouseMove
はそのフォームの上ではきちんと思った通りの動きをしてくれるのだけど、OnMouseDown
やOnKeyDown、OnKeyPress,OnMouseClickは思った通りの動きをしてくれません。
それぞれのプロシージャにはClose;を入れてるだけで試しているのですが・・・
何かポイントがあるのでしょうか?
スクリーンセーバーとかを作った事のある人、教えてください。
0343デフォルトの名無しさん
NGNGDelphiではWindows標準のスクリーンセーバーは作成できません。
0344デフォルトの名無しさん
NGNG340にあるのも試した?
>>343
標準というがどういうのを指してるか分からないけど、Delphiでもスクリーンセーバーは作れるでしょ。
SCRNSAVE.LIB を使ってないってことなら、VC製スクリーンセーバーでも使ってないの多いし。
0345デフォルトの名無しさん
NGNG例えば、
「名前 番号 住所」 というローカルデータベースを作るとして、
ClientDataSet を配置し、項目の新規作成をするところまでは分かるんです。
それにレコードを追加するときはどうするのですか? CommandText で
SQL 文を入力するのですか。
0346デフォルトの名無しさん
NGNG340にあるものってなんですか?
0347デフォルトの名無しさん
NGNGあ、すまん。終了処理はちゃんと解決してたんね。ちょと勘違いしてた。忘れてくれ。鬱
んでOnKeyDown、OnKeyPressはフォームのKeyPreviewをTrueにすればOKかと。
OnMouseDownなんかは…TImageとか張ってる場合はTImageのOnMouseDownとかに
記述しなきゃならないんだけど、それとは別問題?
0348デフォルトの名無しさん
NGNGレスありがと。教えてもらった方法でOnKeyDownは解決しました。
TImageとかは貼ってないのです。
あるのはボタンとタイマーのみ。
0349デフォルトの名無しさん
NGNGZLib で 以下の関数を使うとDecompress呼び出しで error! と表示されてしまいます
uses ZLib;
procedure Test(str:string);
var
P:PChar;
PSize, I:Integer;
POut:Pointer;
Ms:TMemoryStream;
begin
Ms := TMemoryStream.Create;
P := PChar( str );
Ms.Write( P, Length( P ) );
ZLib.CompressBuf( Ms.Memory, Ms.Size, POut, PSize );
Ms.Clear;
Ms.Write( POut, PSize );
ZLib.DecompressBuf( Ms.Memory, Ms.Size, 0, POut, PSize );
Ms.Free;
end;
0350342=348
NGNG何故なのでしょう?
長くて切れるだろうけど載せます。ユルシテ
Begin
FirstMove:=0; ←3、ここに戻ってしまう
GetLocalTime(SystemTime);
if SystemTime.wHour<15 then
begin
GetcursorPos(Pointcursor);
if Pointcursor.X>500 then
begin
if Pointcursor.Y>500 then
begin
if not SetVolume(0, 0, 0) then
ShowMessage('ボリューム設定に失敗しました');
with Mediaplayer1 do
begin
Filename:='C:\Windows\bell.wav';
Open;
Notify:=true;
Play;
end;
j:=500;
while j<64000 do ←1、ここから
begin
if not SetVolume(0, 0, j) then
ShowMessage('ボリューム設定に失敗しました');
if Mediaplayer1.NotifyValue=nvSuccessFul then
begin
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages; ←2、ここまで実行すると
end;
j:=j+1000;
end; ←1、ここまでループするはずなのに
exit;
end;
end;
end;
end;
0351デフォルトの名無しさん
NGNGマニュアル読んでね。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNGOnKeyDown等ではTABキーが捕まえられません。
Ctrl+TABだと捕まえられるんですが・・・
TABオーダーだとEdit1->Edit2->Edit3->Memoのようにしか移動できません。
何かいい方法はないでしょうか?
0354デフォルトの名無しさん
NGNGショートカットキーに TAB を登録する。
0355デフォルトの名無しさん
NGNGぬおー!できました!!
ありがとうございます〜
0356デフォルトの名無しさん
NGNG俺ならEditXOnEnterでActiveControl=Memoにするかも
0357デフォルトの名無しさん
NGNGDelphi製のEXEを実行するときも、Delphi特有のDLLをあらかじめインストールしなければならないのでしょうか。
0358デフォルトの名無しさん
NGNG0359358
NGNG0360デフォルトの名無しさん
NGNGMs.Write( P^, Length( P ) );
Ms.Write( POut^, PSize );
'^' いる?
0361Delフサギコ ◆zE1iiRdQ
NGNG(;;::; (::;; ( ;;::;; )
(::: (;;:: ;;;) :::::)
(;;: (::: (::;;; ;;;;)::;;;゙゙);;)
(,,゙:゙:;;;;;,,,(::;;;;;;;;);;;;;;:::):::;;;;)
ヾ(,,;;;;ノゝ::;;iii //;;;;)
ヾヽi:;;;iii|//
ヾ;;;iiiii/
|::;;;iii|
|::;;;iii| >>357
|:;;;;iii| ∧ /Delphi製の
|;;;;iiii|Д゚ミ ∬ < フリーソフトを
|;;;iiii;| つ━┛ \ 使ったらわかる
|;;;iiii;|., ミ〜. と思うよ
.jrjjrj从wjwj从j
jwjjrj从jrjrj从jwjwjjr
0362デフォルトの名無しさん
NGNG試してみたのですがEditにフォーカスが移動しません。
procedure TForm1.Edit1Enter(Sender: TObject);
begin
ActiveControl:=Memo1;
end;
これじゃ駄目なんですか?
0364デフォルトの名無しさん
NGNG逆参照つけたら、型はなにになるんですかね。
P^ { 型は? }
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGほんとうだああああああああああ
Ms.Write( P^, Length( P ) );
Ms.Write( POut^, PSize );
としたら旨く行きました!
結局 P も P^ も Pointer 型なんですかね。どっちも
互換性うんぬん言われなかったんで。
0367デフォルトの名無しさん
NGNG普通は必要ない。が、 String型をDLLをやりとりする場合や実行時パッケージを使って
構築した場合とかは、ぞれぞれBORLNDMM.DLLやパッケージファイルが必要になる。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGStream書き込みはBufferがConstで実際のデータを渡す必要があるので
逆参照する必要あり
Pointer型の逆参照は本来はできない仕様なので
(実際には何らかのデータが渡される?)
POut:Pchar; などとして
ZLib.CompressBuf( Ms.Memory, Ms.Size, Pointer(POut), PSize );
Ms.Write( POut^, PSize );
としたほうが良いカモ
0370342=348=350
NGNG0371デフォルトの名無しさん
NGNGend;
j:=j+1000;
end; //←1、ここまでループするはずなのに
exit;
end;
end;
end;
end;
↑なんでここに EXIT がはいってるの?意味無いような。
0372デフォルトの名無しさん
NGNGそれはDelphiのDLLじゃなくてそのソフト独自のDLLじゃ無いの?
0373デフォルトの名無しさん
NGNGそれから、あまり深いインデントをするとみにくくなるよ。
工夫すれば、↓のようにも書ける事を覚えると吉。やってる事は >>350 と全く同じ。
begin
FirstMove:=0;
GetLocalTime(SystemTime);
if SystemTime.wHour>=15 then Exit;
GetcursorPos(Pointcursor);
if Pointcursor.X<=500 then Exit;
if Pointcursor.Y<=500 then Exit;
if not SetVolume(0, 0, 0) then
ShowMessage('ボリューム設定に失敗しました');
with Mediaplayer1 do
begin
Filename:='C:\Windows\bell.wav';
Open;
Notify:=true;
Play;
end;
j:=500;
while j<64000 do
begin
if not SetVolume(0, 0, j) then
ShowMessage('ボリューム設定に失敗しました');
if Mediaplayer1.NotifyValue=nvSuccessFul then
begin
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages;
end;
Inc( J, 1000 );
end;
end;
0374342=348
NGNGレスありがとうございます。
end;が多数並んでいるのはそれぞれのendごとに実は処理が並んでいるのですよ。
とりあえずそれぞれの処理はサブルーチン化してまずはバグ取りを>>373を参考にして
やってみます。
0375342=348
NGNGやってみたのですけど駄目でした。
原因を追及する為に簡略化しているのですが、
begin
while j<64000 do ←2
begin
if not SetVolume(0, 0, j) then
ShowMessage('ボリューム設定に失敗しました');
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages; ←1
j:=j+1000;
end;
end;
ボリュームを1回演奏するごとに少しづつ上げていくプログラムなのですが、
jを広域変数にして少しづつ上げていきたいのですけど、1のあと下の行を実行せず
に2に戻ってしまいます。
演奏終了を確実に待てる他の方法をどなたかご存じ無いでしょうか?
0376デフォルトの名無しさん
NGNGClipboard.AsText := String(Listbox1.Items);
としたのですが、思ったとおりの数値が出てきません。
どうしたらよいのでしょうか?
0377デフォルトの名無しさん
NGNGで、さらに >>375 が呼び出されているって事はない?
つまり、1の下を実行せず2にジャンプしているのではなく、
新たにもう一つ関数を実行していると。
>>375 のコードはどのイベントに書いてあるの?
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGTStrings を String にキャストできるの?
内容のテキストを得たいときは
ListBox.Items.Text で。
0380デフォルトの名無しさん
NGNGありがとうございます。
それでいけました。
しかしこのままだと、ListBox の一番上にあるものが
クリップボードに入ってしまいますよね?
選択したものをクリップボードに入れる場合はどうすればいいのでしょうか?
0381342=348
NGNG毎度ありがとうございます。
375のコードはTTimerのOntimerに書いています。
ただし何度も呼び出されないようにOntimerの一番最初に
Timer1.Enabled:=False;
を入れてますけど。
試しにボタン一個とメディアプレーヤー一個だけのアプリを作って
MediaPlayer1.wait:=false;
Mediaplayer1.Enabled:=True;
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages;
showmessage('終わった');
と言うコードを書いて音を鳴らしたら音が鳴り終わる前にメッセージボックスが表示されました。
Application.ProcessMessages;
は前の作業が全て終わるまで待ってくれる訳じゃないんですね。
音が鳴り終わるまで待たさせる方法が無く、どうしようか悩んでます。
0382デフォルトの名無しさん
NGNG何番目の行が選択されているか?は、
ListBox.ItemIndex で取得できるので、
Clipboard.AsText := ListBox.Items[ ListBox.ItemIndex ];
とすればよい。
0383デフォルトの名無しさん
NGNGなかったっけ?
MediaPlayer.OnNotify とか
0384デフォルトの名無しさん
NGNGMediaPlayer1.wait:=false;
で、なんで False なのよ。
どうしてわざわざFALSEなのよ。
> 音が鳴り終わるまで待たさせる方法が無く、どうしようか悩んでます。
WAIT := Fasle
の意味に気づいてYO!
Waitよ?
Wait に False よ?
0385342=348
NGNG先輩すみませんでした。おっしゃるとおりでした。(礼)
waitをTrueにしたらきちんと前の音の再生を待って再生するようになりました。
でも、結局Application.ProcessMessages;
を入れてるのにキー入力やマウス移動などの割り込みは受け付けません。
コードの位置をタイマーのOntimerからフォームのOnShowに移したりしても駄目です。
何か良い方法はないでしょうか?
0386デフォルトの名無しさん
NGNGありがとうございました。
無事に動いてくれました。
0387デフォルトの名無しさん
NGNG「Notify:=True;」の後、再生して
OnNotifyで終了のタイミングを拾う
0388342=348
NGNGOnNotify プロシージャを作ってマウスの移動やキー入力のチェックをやってみたのですけど
やっぱり駄目でした。
0389デフォルトの名無しさん
NGNG再生中でも、ちゃんとボタン押せば止まるし、
フォームをクリックすれば閉じる。
procedure TForm1.Button1Click(Sender: TObject);
begin
with mediaplayer1 do
begin
filename := 'c:\windows\media\the microsoft sound.wav';
open;
notify:=true;
wait := False;
play;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
mediaplayer1.stop;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
close;
end;
0390デフォルトの名無しさん
NGNGbegin
mediaplayer1.notify:=True;
mediaplayer1.play;
end;
0391デフォルトの名無しさん
NGNG>やっぱり駄目でした。
何やりたいの?(藁
OnNotifyは再生が終わったときに来るんだよ。
少しはヘルプ読めよ。甘えすぎだろ。
0392342=348
NGNG甘えすぎと感じたら許してくれ。
OnNotifyの意味は分かってますし単純アプリで動作する事も確認しています。
同じ音を繰り返し再生している時にキー入力やマウスの移動を検出してプログラムを
止めたいのに止まらないんですよ。出来てますか?
だからみんながOnNotifyだ、とか色々と教えてくれている事をすべて試してるんですけどね。
OnCreate,Onshow,OnPaint,OnTimer等いろんな場所に置いたりコードをいじったり
してるんですけどキー入力時に割り込んで終了させることができてません。
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGいっかい頭を冷やして一つ一つ理解してから再挑戦してみよう。
言われたことがごっちゃになっちゃってちゃんと理解してないよ。
0396デフォルトの名無しさん
NGNGOnNotify内でNotifyValue見ないと終わらないよ
0397デフォルトの名無しさん
NGNG・Mediaplayer の Wait を False にしているならば、
Playしている最中でも、関係無くDelphiのプログラムを実行することができる。
なんつうか、外部の再生プログラムを呼び出しているだけ と考えても
よいかもしれない。
・従って、 Wait := False であるかぎり、 Play 中だろうがナンだろうが、
マウスのクリックイベントなり移動イベントなりは普通に発生し、
普通に処理できる。
・故に、OnMouseMove や OnMouseDown, OnKeyDown 等に Stop 命令を
入れておけば、すぐに停止するはずである。
・繰り返し再生したいときは、 Notify := True としておき、
OnNotifyイベントに
Notify := True と、 Play の2つの命令を入れよう。
0398デフォルトの名無しさん
NGNGPlay;
Application.ProcessMessages;
としても無駄である。なぜって? だって、再生が終わるまで、
Play から後の命令は実行されないんだもん。なんせ待ってるからね。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG亀レスすまん。
Delphiでも「実行時パッケージ」と使うようにコンパイルすれば
実行時パッケージファイル(*.bpl 一種のDLL)が別途必要になる。
0401342=348
NGNGわざわざまとめてくださってありがとうございます。
恥を忍んですべてコードを晒します。
スクリーンセーバーを時間によって切り替えるソフトです。
コードはOnTimerやフォームのOnPaint等に書いても駄目でした。
begin
Timer1.Enabled:=False;
Filename:='C:\Windows\Win.scr';
FirstMove:=0;
GetLocalTime(SystemTime);
if SystemTime.wHour<=17 then //17時以前だったら実行しない。
begin
callsaver(filename);
exit;
end;
GetcursorPos(Pointcursor);
if Pointcursor.X<100 then
begin
if Pointcursor.Y<100 then
begin
if callsaver(filename)then ShowMessage('正規スクリーンセーバーコール失敗');
Close;
end;
end;
if not SetVolume(0, 0, 0) then ShowMessage('ボリューム設定に失敗しました');
j:=500;
Mediaplayer1.Filename:='C:\WinNT\Media\ringin.wav';
Mediaplayer1.wait:=True;
Mediaplayer1.Open;
Mediaplayer1.Notify:=true;
Mediaplayer1.Play;
Application.ProcessMessages;
while j<14000 do
begin
if not SetVolume(0, 0, j) then ShowMessage('ボリューム設定に失敗しました');
if Mediaplayer1.NotifyValue=nvSuccessFul then
begin
j:=j+1000;
Mediaplayer1.Filename:='C:\WinNT\Media\ringin.wav';
MediaPlayer1.wait:=True;
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages;
end
else //何故かnvSuccessFulでない時があるが無視して鳴らす。
begin
j:=j+1000;
MediaPlayer1.wait:=True;
Mediaplayer1.Notify:=True;
Mediaplayer1.play;
Application.ProcessMessages;
end;
end;
end;
このようにSetVolumeと言うサブルーチンでボリュームを少しづつあげては音を鳴らす
ソフトを作っているのですが、音が鳴っている間は何をやっても無視されます。
音が鳴る前、と鳴った後はきちんとマウスやキーの動作に対応して終了しているので、
そちらのコードは間違い無いと思うのですが。。。
0402デフォルトの名無しさん
NGNGEditで指定したURLのページをButtonを押すと、WebBrowserに表示し
MemoにはHTMLのソースを表示というのを作ってみたのですが、WebBrowser上のリンクを
クリックして違うページが表示されたときに、自動的にMemoにリンク先のソースを表示するには
どうしたらよいでしょうか。
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Text:='';
Url:=Edit1.Text;
WebBrowser1.Navigate(Url);
Memo1.Lines.Text:=IdHTTP1.Get(Url);
end;
0403デフォルトの名無しさん
NGNGOnDocumentCompleteイベントでやれば?
0404402じゃないけど
NGNG一旦保存して、読み込んだら?>>402
一番簡単だと思う。スマートじゃないけど(ワラ
0405デフォルトの名無しさん
NGNGOnNavigateComplete2
あたりで切り替わりをみて
切り替わった後
Memo1.Lines.Text:=IdHTTP1.Get(新しいURL);
ってとこだろう。
0406デフォルトの名無しさん
NGNG臭いよ
>402
単純にやるなら403さんのが簡単。実行もしてみた。
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
Memo1.Lines.Text:='';
Memo1.Lines.Text:=IdHTTP1.Get(Url);
end;
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGwhile j<14000 do
begin
....
end;
メインスレッド中でWhileループをまわして
再生しているので再生中はロックするのは当然かと
別スレッドにするか、Timer等を利用してWhileループを
用いない設計にするなどしたほうがよろしいかと
0409デフォルトの名無しさん
NGNG穴だらけじゃん。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNGprocedure TForm1.UIWebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
RichEdit1.Lines.SetText(PChar(UIWebBrowser1.DocumentSource));
end;
0412342=348
NGNGえっ、while文の中ってロックされてしまうんですか?
知りませんでした。
タイマーをもう一個追加してそちらで処理するようにしたらやっと上手くいきました。
ありがとうございました。
>>409
自分用だからエラー処理はしてないの。気にせんといて。
それ以外に穴があるんだったら教えてちょ〜
0413290
NGNGありがとです。
デバッガオプションの言語固有の例外に追加しただけだと、
デバッガ中に停止はしなくなりましたが、エラーメッセージは表示されるので、
try
SL1.Text := IdHTTP1.Get(URL);
except
on EIdConnClosedGracefully do raise EAbort.Create('');
end;
こんな感じにしたら表示されなくなりました。
しかし、これだと例外が生じた時にダウンロードがされないままなので、
成功するまで二、三度ダウンロードを試みて、
ダメだったらメッセージを表示するようにしたいのですが、
どうすればいいのでしょうか?
0414デフォルトの名無しさん
NGNGWhile文処理中はロックされるのか?
ヘルプにそんな事書いてないぞ?
また勘違いしてるんじゃないのか?
0415デフォルトの名無しさん
NGNGどなたかぜひ何か解決のためのヒントだけでもお教え下さい。
delphi5.0で作ったプログラムを実行させると
「モジュールxxxx.exeのアドレス 004AE548でアドレスFFFFFFFCに対する
読みこみ違反がおきました」というエラーが発生して止まってしまいます。
xxxx.exeは自作してプログラムです。そのためアドレスは作成したソフトに
よって異なると思われます。
プログラム自体はインターネットを使用してhttpにてデータを何件かまとめて
データを受信するプログラムです。
同じデータを受信しても全く発生しないこともありますし、
有る特定のデータを受信したときに発生するというわけでもないです。
上記のようなエラーメッセージはどのようなときに表示されるのでしょうか
0416Agent ◆AWcg9OTs
NGNGコンパイル、実行は出来ましたが、アニメーション名の取得の
処理をすると以下のエラーが出ます。
デバッガ例外が発生
プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'Project1.exe' のアドレス 00460922 でアドレス 00000000 に対する読み込み違反がおきました。'
ソースの変更は、user節にActiveXをしました。
このようなエラーの場合はどうすればよいか助言願いませんでしょうか?
0417デフォルトの名無しさん
NGNGHexToIntと言うのがなく困ってます。
0418デフォルトの名無しさん
NGNGA := '3F';
B := StrToInt( '$'+A );
もしくは
B := StrToIntDef( '$'+A, 0 );
0419はた
NGNGQuickReportにDatabase1とQuery1とDataSource1を貼りつけて、DataSource1の
OnDataChangeイベントで
Query2.SQL.Clear;
Query2.SQL.Add('SELECT MEISYOU FROM SHOUHIN WHERE JAN_CODE=' + Query1.Fieldbyname('CD').AsString);
Query2.Open;
QRL_SyoNM.Caption := Query2.Fieldbyname('MEISYOU').AsString;
のような処理を行っているのですが、1件目の名称しか取得できません。
Query1が一件読込んだら、読込んだ値でQuery2も読込んで値をセットしたいのですが、
どうやればいいのか誰か教えてくださーい。
0420デフォルトの名無しさん
NGNGまた?股?
0421デフォルトの名無しさん
NGNGまた?またって何?
勘違いって何処?(全部!?)
肝心の所が抜けている...
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG何でですか?
Delphi6のプロフェッショナルです。
0424デフォルトの名無しさん
NGNG貼り付けたタイマーのアイコンをダブルクリックして
Caption:=FormatDateTime('hh:mm:ss',now);
と入力してから F9ボタンを押して下さい
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG勘違い発覚!
QueryにSQL文セットするところで、文字列を'で囲んでなかった。
'Select * From A Where CD = '12345''と記述するところを
'Select * From A Where CD = 12345'と記述していた。
例えばコードが'0123'など頭が0だとEOFになっていたようです。
>>420の方、勘違いを気づかせてくれてありがとう。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGどうぞ
↓
VisualC++相談室 【7】
http://pc.2ch.net/test/read.cgi/tech/1017843192/
0429デフォルトの名無しさん
NGNGAgentのロードをしていないor失敗している
MSDNを参照するよろし
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/msagent/paface_9x2d.asp
など
Loadの例)
Agent1.Characters.Load('dolphin','c:\program files\Microsoft Office\Office10\DOLPHIN.acs');
G:=IAgentCtlCharacterEx(Agent1.Characters.Character('dolphin'));
0430デフォルトの名無しさん
NGNGありがとう御座います!!!
0431Agent ◆AWcg9OTs
NGNGレスありがとうございます。
無事にアニメーション名を取得できました。
また何かありましたら寄らして頂きます。
本当にありがとうございました。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGttp://direct.ips.co.jp/book/Template/Goods/go_BookstempGR.cfm?GM_ID=1634&CM_ID=&SPM_ID=1&HN_NO=00400&PM_No=&PM_Class=
0435デフォルトの名無しさん
NGNGほらwhiile文のヘルプから割り込みを受け付けないってのを探し出してみな。
0436デフォルトの名無しさん
NGNGいまTListView改造してViewStyle=vsReportの時に表示される
ヘッダ部分にビットマップを描画する方法を探っているのですが、
TListViewにWM_PAINTメッセージメソッドを書いて
その中でヘッダ部分に描画しにいくと、
リストビューの内容をスクロールするだけでヘッダーの方まで再描画されてしまいます。
ヘッダ部分のWM_PAINTメッセージだけを捕捉する方法ってないですか?
なおにヘッダ部のハンドルは GetTopWindow( Handle );で取れました。
0437デフォルトの名無しさん
NGNG>いまTListView改造して
はい?
0438デフォルトの名無しさん
NGNG>いまTListView改造して
TListViewから派生クラスを作ること。
その程度の事も読めないヴビ厨は(・∀・)カエレ!
0439デフォルトの名無しさん
NGNGTListColumn.ImageIndexではダメなん?
0440デフォルトの名無しさん
NGNGプログラミング用語すらまともに操れないあなたの方に不信感。
0441デフォルトの名無しさん
NGNGいちいち突っ掛かるなよ
0442デフォルトの名無しさん
NGNGヘッダを非表示にして、 THeaderControl を使うのが楽そう。
0443デフォルトの名無しさん
NGNGParentHandle
を書いたらParentHandleが未定義の識別子と怒られるんだけどなじぇえ?
usesには当然 Sysutils, Windows,を追加してる。
0444デフォルトの名無しさん
NGNG事故レス。馬鹿だった。許してくれ。
0445デフォルトの名無しさん
NGNGSysUtilsにもWindowsにもParentHandleというのは定義されてないと思うけど
ところでParentHandleって何?
DelのヘルプにもMSDN(漏れのはちと古いけど)にもキーワードには出てこないし
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNGAString := 'ABCDEF';
APChar := PChar( AString );
APointer := @APChar;
MemoryStream.WriteBuffer( APointer^, Length(AString) );
としても、正しく書きこまれません。
いや、正しく書きこめないならそれで良くって、既に別の方法で
正しく書きこめているのですが、
なぜ、この書き方ではダメなのでしょうか。
0448デフォルトの名無しさん
NGNG○APointer := Pointer(APChar);
0449デフォルトの名無しさん
NGNG448さんのでOKだけど
APointer:=APChar;
でも大丈夫みたい
0450デフォルトの名無しさん
NGNG別解
×MemoryStream.WriteBuffer( APointer^, Length(AString) );
○MemoryStream.WriteBuffer(Pointer(APointer^)^, Length(AString) );
0451デフォルトの名無しさん
NGNG以下のスレに統合することに決定しました。
Delphi相談室その4
http://pc.2ch.net/test/read.cgi/tech/1018211735/
0452デフォルトの名無しさん
NGNGそっちやさしくないじゃん
0453447
NGNGもしかして、APChar 自体がポインタなので、
@APChar とすると、文字列のアドレスではなく、
文字列へのポインタを保持しているアドレスを
得ることになってしまう… ということでしょうか。
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGDelphi相談室その4
http://pc.2ch.net/test/read.cgi/tech/1018211735/
0457デフォルトの名無しさん
NGNG∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/' つ 再 開 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
0458ななしへたぐらま ◆B18Bks.Y
NGNG遅レスですがそういう説明方法もあるのですね.
それにしても簡潔でわかりやすい説明ってホントにむずかしい.
>>242
解決したのでしょうか.
フォームに文字をグラフィックとして描きたい場合は
Canvas.TextOut という風に書きます.以下はその例.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.TextOut(2, 2, TimeToStr(Now));
end;
単にTextOutと書くとWindows APIのTextOut関数になってしまいます.
(同じ名前の別物があるのです)
フォーム上の別なコンポーネントに描きたい場合はそのコンポーネントの名前を指定します.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
StringGrid1.Canvas.TextOut(2, 2, TimeToStr(Now));
end;
ちなみにDelphi初代から共通です.
0459デフォルトの名無しさん
NGNGドラッグするとくっついたり離れたりするウインドウって
Delphiでも出来ますか?
0460デフォルトの名無しさん
NGNGできるよ。Delphiはドッキング周りが強力。
IDEみたいにするのは面倒だけど。
っつかIDE互換なドッキング実装した人いる?
0461デフォルトの名無しさん
NGNGユーザーが所望のポジションにウインドウ配置できなくてイラついてくる罠。
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNGFC4FC4FC4って言う文字列だったら 111111000100111111000100111111000100 になりますよね。
どうやったら出来ます?
0464デフォルトの名無しさん
NGNG1バイト単位にInteger型に変換して、2進文字列のテーブルをひくのが簡単でしょう
0465デフォルトの名無しさん
NGNG答:「コロッケはおいしいナリ」
問:「うってかわって」を使って短文をつくれ
答:彼は麻薬をうってかわってしまった
問:「もう・・・してしまった」を使って短文をつくれ
答:もうしわけないことをしてしまった
0466デフォルトの名無しさん
NGNG10進変換後に2進変換。
0467465
NGNG0468デフォルトの名無しさん
NGNGワラタ
0469デフォルトの名無しさん
NGNG16進数1桁は2進数4桁(16種類)に対応する。
テーブルで展開する手もあるYO(笑)
0470デフォルトの名無しさん
NGNGbegin
while I > 0 do begin
if I mod 2 = 0 then Insert('0',Result,1) else Insert('1',Result,1);
I := I div 2;
end;
end;
end;
0471デフォルトの名無しさん
NGNGbegin
while I > 0 do begin
Insert(IntToStr(I mod 2), Result,1);
I := I div 2;
end;
end;
0472デフォルトの名無しさん
NGNGbegin
while I > 0 do begin
if I mod 2 = 0 then Insert('0',Result,1) else Insert('1',Result,1);
I := I div 2;
end;
end;
end;
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG○I:Integer
0475デフォルトの名無しさん
NGNGfunction i4To2(d:Integer):String;
begin
SetLength(Result,4);
Result[1]:=Char(ord('0')+(ord((d and 8)<>0)));
Result[2]:=Char(ord('0')+(ord((d and 4)<>0)));
Result[3]:=Char(ord('0')+(ord((d and 2)<>0)));
Result[4]:=Char(ord('0')+(ord((d and 1)<>0)));
end;
var i:Integer;
begin
result:='';
for i:=1 to Length(hex) do Result:=Result+i4To2(StrToInt('$'+hex[i]));
end;
0476デフォルトの名無しさん
NGNG(表示は名称で、内部でコードを保持したいのですが)
0477デフォルトの名無しさん
NGNG大きく2つの方法がある
1、ItemsのObjectsにアイテムを保存する 整数なら無理やり型変換して入れちゃえ
2、別の動的配列に保存しておいてItemIndex を指標に得る
0478デフォルトの名無しさん
NGNG一行だけを抜き出すにはどうしたらよいでしょうか?
0479478
NGNGちょっと訂正
一行だけを → 指定した行だけを
0480デフォルトの名無しさん
NGNGwith TStringsList.Create do try
Text:=複数行文字列
for i:=0 to Count-1 do begin
writeln( Strings[i] ); みたいな感じで使う
end;
finally free;end:
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGPageControl1.ActivePage:=TabSheet1;
ってコードでやると、タブはそのタブになるけど
タブ内のコントロールがちゃんと表示されない状態になるんですが?
Delphi5Proなんです
0485デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG文字列から関数が呼べるようなものがあったら便利だと思うのですが
何かいい方法ないですかね?
ちなみに現在、私はTStringListのAddObjectを使って関連づけています
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG詳しい事はマ板のギコbasicすれを参照
0490デフォルトの名無しさん
NGNG検索してみたけどどうやら違いますね
>>489
それらしきものを発見しましたので
そこのスレからもう少し調べてみます。
0491デフォルトの名無しさん
NGNGタブのキャプションが縦書きになってしまうのですが、
これを上下にタブをつけた時と同様に横書きにすることはできないのでしょうか。
0492デフォルトの名無しさん
NGNG逆さでいいなら。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGというのは、サイドについたタブを横長にして、
通常の横書きフォントで表示するという意味でした。
説明不足ですいません。
0495デフォルトの名無しさん
NGNGTabHeightの数値を大きくして、OwnerDrawする。
0496デフォルトの名無しさん
NGNGはじめてDelphiに触った頃のことを思い出した。
当時は「型が一致していません」のエラーに神経質なコンパイラだと思ったものだ。
IntToStrもStrToIntの存在も知らなかったからどうしようか途方にくれたりもした。
今ではこのメッセージがいかにありがたいかよく分かる。
0497デフォルトの名無しさん
NGNG(・∀・) できました!! TabWidthも指定したら完全に望み通りになりました。
ありがとうございます。
0498デフォルトの名無しさん
NGNGという、初期化時に何らかの共有違反が発生しているのですが、解決できた方はいらっしゃいますか?
0499デフォルトの名無しさん
NGNG雑誌に収録されてたりしませんか?
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGBDEでSQL-Serverに接続するには、
どのような設定を行えばよいのでしょうか?
やはりODBCを使わないと
接続できないのでしょうか?
0502デフォルトの名無しさん
NGNG収録されている雑誌、解説書はある。
っつか、本屋へ行ったりして確かめてから書き込みなさい。
0503デフォルトの名無しさん
NGNGDelphi 6 Update Pack 2は、
Delphi 6 Update Pack 1を入れなくても大丈夫なのですか?
WinNTのサービスパックの様に、
最新だけ適用しても大丈夫という物なのでしょうか?
それとも、Delphi 6 Update Pack 1を入れた後でないと
意味がないのでしょうか?
0504デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/del6up.html#del6up2より抜粋
このアップデートファイル #2 は、アップデートファイル #1 の内容を含みます。
ということなので、Delphi 6 Update Pack 2のみで大丈夫のようです。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNG右ボタンの押下状態を知るすべを与えてください。。。
0508デフォルトの名無しさん
NGNGDelphi付属のAPI32WH.HLPより抜粋
VOID mouse_event(dwFlags, dx, dy, cButtons, dwExtraInfo)
あたりはいかがでしょうか?
0509507
NGNGレスありがとうございます。
しかし、その方法だと押下状態が変わった瞬間しかわからないため、
現在の押下状態を正確に知ることが出来ない場合がありますね。
キーボードのSHIFTやCTRLのように、一発ででてくるAPI知りませんか?
0510デフォルトの名無しさん
NGNGprocedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ssRight in Shift then
ShowMessage('Pushed');
end;
0511デフォルトの名無しさん
NGNGif (Word(GetKeyState(VK_RBUTTON)) and $80) <> 0 then
0512デフォルトの名無しさん
NGNGおしえて!
0513507
NGNGまさしくこれをやりたかったのですが、
GetKeyStateでマウスの状態もわかるとは思いがけませんでした。
大変参考になりました。
いや、参考ではなく答えでした。すみません。
0514デフォルトの名無しさん
NGNG0515507
NGNGif GetKeyState(VK_RBUTTON)<0 then
じゃ?だめかしら
0516デフォルトの名無しさん
NGNGbiSystemMenuで消せました。
無効化では無かったけど万事解決です。
どうもです。
0517デフォルトの名無しさん
NGNGprocedure TForm1.Button1Click(Sender: TObject);
var
Count: Integer; Menu: HMENU;
begin
Menu := GetSystemMenu(Handle, False);
Count := GetMenuItemCount(Menu);
EnableMenuItem(Menu, Count - 1, MF_BYPOSITION or MF_GRAYED);
end;
>>515
押下時、上位バイトが$FFになるからそれでも大丈夫
0518503
NGNGこれで安心してアップデートできます。
0519Delモナー ◆fPymXWHY
NGNGこのスレを立てたモナーなら
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)< 生きてるよ。
( ) \______
| | |
(__)_)
全板人気トーナメントが面白いな。非公認だったのだが、
ついに夜勤さんが専用板を作ってしまった。 http://live.2ch.net/vote/
この板は予選19組、4/21(日)出場だけど、この板の住人の性格からして、
一生懸命宣伝活動をする有志が現れなさそうな予感。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGDelphi6Personal版の関数FileWriteについて、Helpの載ってる例を試しに動かしてみると
FileWrite(FileHandle, StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);
の真ん中の引数で「変数じゃないよ」ってエラーが出ます。
Helpの例題は実行できないモノと考えた方がいいんでしょうか?
それとも俺を鍛えるためにワザとエラーがしこんであるんでしょうか?
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG例題が間違ってるから
function FileWriteStr(Handle: Integer; str:String);Integer;
begin
FileWrite(FileHandle, str, Length(str);
end;
のように関数を作って、一度変数にしてから渡さなければいけない
0526デフォルトの名無しさん
NGNGFileWrite(FileHandle, PChar(StringGrid1.Cells[X,Y])^ , Length(StringGrid1.Cells[X,Y]);
0527523
NGNGどうもありがとうございます。早速試します。
ちなみにFileReadのヘルプ例もそのままじゃ動きませんでした。
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
のBufferをBuffer[0]にすると動いてくれました。
カッコが足りないとかはさすがに気がつくのですが、例題が動かないと
いうのは独学だとツライですね。
0528523
NGNG自分でBuffer[255]って確保して、
Buffer := StringGrid1.Cells[X,Y];としてから
FileWrite(FileHandle, Buffer, Length(StringGrid1.Cells[X,Y]));
として回避しようとしていたのですが、こうするとStringGridに入力された
数字の末尾が欠けてセーブされてしまい、途方に暮れていました。
PCharの方法を試してみたところ、セルの数字が欠けることもなくなりました。
朝からずっと悩んでたのに、ものの20分で解決していただき、感謝します。
0529デフォルトの名無しさん
NGNGきっとCを先にやった人ですね?
そこは
iBytesRead := FileRead(iFileHandle, Buffer ^ , iFileLength);
とやるクセを付けた方がいいですよ。
0530523
NGNG後ろにつける^は逆参照ですか、ということは私は必死にアドレスを
突っ込んでいたということでしょうか?
本業はVerilog-HDLです。
0531デフォルトの名無しさん
NGNGC++ 言語でいえば 参照渡しで、実際にはポインタ=変数のアドレスが渡されます
buffer を渡すとダメなのは buffer という変数のアドレスが渡されます。
つまりポインタのポインタが渡されます
Buffer は PChar 型なのですが
DelphiではCを使ってる人の特例というかサービスとして array[0..なんとか] of Char と
勝手に互換するようにしています。
ですから buffer[0] も buffer ^ も同じ結果を得られるのですが
このサービスは文字型ポインタに限っているので
var buffer:pByte のように定義すると buffer[0] が使えません。
0532523
NGNGPascalは厳格そうなのですが、Delphiではそういうサービスもあるんですね。
わかりやすい説明のおかげでやる気が出てきました。助かります。
0533デフォルトの名無しさん
NGNGヘルプの修正修正報告ちゃんとあげといてくださいね
0534デフォルトの名無しさん
NGNGUpperCaseを全角混じりの文字列に実行すると、
素敵なワケワカメな言葉に翻訳してくれるってのは、パッチ当てると治るですか?
0535デフォルトの名無しさん
NGNG治りません。
0537デフォルトの名無しさん
NGNG本かサイトはありませんか?
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG(´-`)。o ○ (その質問、オレが前にしたなぁ…)
0540デフォルトの名無しさん
NGNGヘルプ読むね。
0542デフォルトの名無しさん
NGNGAnsiUpperCase.
0544デフォルトの名無しさん
NGNG検知したい場合は、どのようにすればいいのでしょうか?
1) Shift、Ctrlなどにそれぞれフラグを用意する。
2) 何かキーが押された時点で、GetAsyncKeyStateで判断。
くらいしか、思いつきませんでした。
0545デフォルトの名無しさん
NGNG検索を駆使して探しましたが影すらつかめません。
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGメッセージの中には一緒に押してるキーの情報くれるのあるでしょ
なに拾ってるの?
0548544
NGNGKeyboardProcでは、同時に押されてるキーの情報は取得できない
ようなんですが、他のフックプロシージャを使えばいいのでしょうか?
0549537
NGNGmembers.jcom.home.ne.jp/monazilla/document/indytips.html
以前でてきた このサイトは分かるのですが、
IdTCPClient と TdTCPServer の使い方が知りたいのです。
ヘルプには必要最低限のことしか書いてないし…
0550デフォルトの名無しさん
NGNGhttp://www.111111111111111111111111111111111111111111111111111111111111.com/mao.html
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG>>551
フックをかけてるんだから、最初にGetKeyboardStateで全部の状態貰って
以後は自分でフラグを処理したらいいんじゃないの?
0553えむ
NGNG0554デフォルトの名無しさん
NGNGバーコードフォント使え
0555デフォルトの名無しさん
NGNGまた、Stringを表示する際に、絡む幅に合わせてWordWrapさせ、かつ
開業に合わせて行の高さも、その文字列がおさまるように
自動変更させたいのですが…
0556名古屋在住・中日ファン
NGNG派生させて独自のコンポーネントを作るのが最もエレガントかつ後々楽
0557デフォルトの名無しさん
NGNGエレガントでなくてもいいから、やり方教えてください…
0558デフォルトの名無しさん
NGNG1) TColumn を継承して WordWrap, AutoWidth プロパティを追加.
2) WordWrap が on になったカラム幅が変更されたときに OnColumnResize イベントを発生
3) OnColumnResize イベント発生時に、全フィールドについて
表示に必要なセル高さを取得
あと、いろいろありそうなんですがどうにも思いつかないです…
助言をください。
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG代用させるためには、 TColumns を継承した TColumnsEx などをつくり、
クラスやメソッドを差し替える必要があるのでしょうか。
0561名古屋在住・中日ファン
NGNGとりあえず一番右の列を合わせるのはこれでできるけど、WordWrapは面倒な気がする
procedure TMyDBGrid.WMSize(var Message: TWMSize);
var
i : Integer;
nWidth: Integer;
begin
nWidth:=0;
for i:=0 to Columns.Count-2 do
nWidth:=nWidth+Columns[i].Width;
if not (dgIndicator in Options) then
nWidth:=nWidth-IndicatorWidth-1;
Columns[Columns.Count-1].Width:=ClientWidth-nWidth-GetSystemMetrics(SM_CXVSCROLL);
inherited;
end;
0562えむ
NGNGバーコードフォントってなんでしょう?
是非使い方を教えてください。
0563デフォルトの名無しさん
NGNG普通のフォントがバーコードになってるだけ。
例えば、半角で”1234”とか指定すると、バーコードで ”┃|||┃| ”こんな感じで表示される。
有償な奴なら ttp://www.hitachi.co.jp/HAND/SOFTPAGES/1851.html
他で探せばフリーなバーコードフォントもあるから探してみたらどーですか。
難点は、フォントをインストールしないと使えないことだが、仕事とかで使うなら
(ネットとかで配布するソフトじゃなかったら)問題ないだろう。
0564デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/soft/win95/writing/se196641.html
海外サイトでもあるから検索してみたら?
0565デフォルトの名無しさん
NGNG初心者が解読するのは不可能でしょうか・・?
それと、Richeditの背景透明にするコンポってありますか・・?一応探したんですが見つからなくて。
0566デフォルトの名無しさん
NGNGメーリングリストでも同じ質問してなかった?
0567デフォルトの名無しさん
NGNGメーリングリストでも何度か質問が出たみたいなんですが、
結局解決できてないようです。
0568デフォルトの名無しさん
NGNGttp://homepage1.nifty.com/wizman/component/alphactl/
0569デフォルトの名無しさん
NGNGRichEdit を透明にしたら、貼り付けたフォームの「壁」が見えるの?
なんかいいことあるのかいな?
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG見づらいだろうけど
0573デフォルトの名無しさん
NGNG>結局解決できてないようです。
フォームならともかく、子コントロールを透明にするのは
アホらしいので、だれもマジメに考えなかった、というのが真相では
0574デフォルトの名無しさん
NGNG>>565は文字の部分は透明にしたくないんじゃ・・・
0576デフォルトの名無しさん
NGNGお、参考になりそうですね。これは。でも、半透明じゃなくて透明にするのはまた違う話なのかな・・。
ありがとうございました。
>569
簡易HTMLエディタを作っているんですが、背景に絵を表示させたまま文章の編集をしたいんです。
>573
そうなんでしょうか・・。でも確かに反応薄かった気がします。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGできます。
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNGTThreadの勉強すれ。
0583デフォルトの名無しさん
NGNG載ってるよ。簡単なプログラムならあれで充分。
0584ネタだったとでも?
NGNGちゃんと自分で検索した上で
もう2回ぐらい真面目にお願いしてるんだけどさ。
こっちも真面目にお願いしてるんだから、いいかげん誰かレスくれよ。
ぐれるよ?
0585デフォルトの名無しさん
NGNGType
TData = (dtA, dtB);
みたいな列挙型があるとして、ある変数がこの型だとして.
これをIniFileでアプリ起動ごとに読み込んだり保存したりしようと思ってるんだけど、
保存するときはOrd関数使えばいいとして、読み込むときに
その値がこの列挙型かどうかを判断するのってどうします?
いったんIntegerに読み込んで判断するのもなんだか変な気がしますが・・・.
そもそも、順序値としては0か1だと思うんだけど、これ以外の値をとる場合を
想定しなきゃまずいのかな?そのへんのセオリーなんかあったりします?
0586デフォルトの名無しさん
NGNGCreate と同時にスレッドが始まりますよね。それはよいのですが、
パラメータを True にしておき、相次いで2つのスレッドを Execute すると、
最初のスレッドが終了してから出ないと次のスレッドが開始しません。
なぜなのでしょうか。
type
TMyThread = class(TThread)
public
Interval:Longint;
ProgressBar:TProgressBar;
constructor Create(AInterval:Integer; PBar:TProgressBar);
procedure Execute; override;
end;
constructor TMyThread.Create(AInterval: Integer; PBar: TProgressBar);
begin
inherited Create(True);
Interval := AInterval;
ProgressBar:=PBar;
end;
procedure TMyThread.Execute;
var
I,S:Integer;
begin
inherited;
for I:=0 to 100 do begin
S := GetTickCount;
while GetTickCount <= S + Interval do;
ProgressBar.Position := I;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Th1, Th2: TMyThread;
begin
Th1 := TMyThread.Create( 30, Self.ProgressBar1 );
Th2 := TMyThread.Create( 20, Self.ProgressBar2 );
Th1.Execute;
Th2.Execute;
end;
0587デフォルトの名無しさん
NGNG書き込めないものは想定しなくてもよいのでは。
セクションを指定して読み書きしていて、なぜ、型を確認しなきゃ
ならないの?
0588デフォルトの名無しさん
NGNGレスどうもです.
いや、
TData = (dtA, dtB);
A: Integer;
B: TData;
A := IniFile.ReadInteger('TEST', 'Test', 0);
B := TData(A);
↑ここにエラーチェックて欲しいのかな?と.
とりあえずどんな数字でもはいっちゃうみたいなんですけど.
もともと列挙型を使わずIntegerを使っていて、
if A>1 then B := 0
みたいなチェックをしてたもので・・・.
でも、こういうのマジックナンバーですよね?
0589デフォルトの名無しさん
NGNGif A < Low( TData ) then raise Exception;
if A > High( TData ) then raise Exception;
こうすればよいのでわ。
0590589
NGNGif A < 0 then raise Exception;
if A > Ord( High( TData ) ) then raise Exception;
0591デフォルトの名無しさん
NGNGあ、なるほど.High関数にOrd使えばいいのか・・・.
どうもありがとうございました.
0592デフォルトの名無しさん
NGNG自分で Execute メソッド呼び出してどうするの?
Resume メソッドを使ってスレッドを始動させないと駄目よー。
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG実行時エラーでない?
0595名古屋
NGNGDel6Entのトライアル版になら
Indyの日本語ヘルプが付いてる可能性は十分あるけど・・・今は入手困難かな
Kylix用のIndy日本語ヘルプは某のサイトから今ダウソできるようだが
Pro版以上なら付いてるんだけどね・・・この辺でも差別化してるのかも
0596デフォルトの名無しさん
NGNG0597デフォルトの名無しさん
NGNGWindowsインストーラが起動して、インストールキーとかを入力したあと、「重要な情報」の画面で「次へ」をクリックした後、何も起こりません。
どうしたらよいか是非知恵をお貸しください
環境はXP Proです。
Windowsインストーラが悪いのかなぁ?
0598デフォルトの名無しさん
NGNGああああ… バカだ俺。
たしかに自分で Execute 呼んでりゃ世話無いですね。
どうもありがとう。
0599デフォルトの名無しさん
NGNGどこかに↑これの日本語解説ページないでそか?
0600デフォルトの名無しさん
NGNGそういうことだったんですか、、ありがとうございます。
あなたは200人に一人のいい人です。
0601デフォルトの名無しさん
NGNGはじめてみた。
google見る限りないみたい。
0602デフォルトの名無しさん
NGNGこのページって、http://www.borland.co.jp/ からどういうリンクを辿っていくの?
ダウンロードページじゃないし、
Delphi6 には製品情報しか載ってないし…
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG0605オレも暇だな
NGNGhttp://www.borland.co.jp/
の中ほどに表示されてる「DEVELOP(開発)」「DEPLOY(配布)」「MANAGE(管理)」の
「DEVELOP(開発)」の中のDelphiをクリック。
表示されるページ中央のリンクの3つ目。
・Borland Delphi 6 Update Pack 2 公開
・Borland Delphi 6 ドキュメントアップデート公開
・Borland Delphi 6 Personal 日本語版 ダウンロード ←これ。
0606デフォルトの名無しさん
NGNG意味不明。
クリップボードにあるのはデータであってファイルでない。
0607デフォルトの名無しさん
NGNG0608603
NGNG0609せめてヘルプ見るのぐらいは自分で
NGNGそういう操作時にクリップボードにあるのはパスつきのファイル名。
ヘルプでTClipBoardを検索して
クリップボードが保持している文字列を取り出す方法を見つけなされ。
簡単に見つかるから。
0610デフォルトの名無しさん
NGNGあと、どうやって使うんですか?
0611デフォルトの名無しさん
NGNGLine 1:ない。
Line 2:だからないって。
0612名古屋在住・中日ファン
NGNGsmalltalkとかやってた人?
smalltalkだと何でもかんでもオブジェクトらしいから
演算子でも基底型とかに代入できそうだよね
0614>>610
NGNG0617>>603=608
NGNG0618名古屋在住・中日ファン
NGNG演算子を引数にした手続き・関数を作りたいだけなら
文字列で代用して振り分ければできるけどね〜
0619名古屋在住・中日ファン
NGNG元祖OOPLだよ
0620デフォルトの名無しさん
NGNG0621>>585
NGNG0623デフォルトの名無しさん
NGNGtrapper・・・カコイイ!
0624デフォルトの名無しさん
NGNGぐぐってよし
0625デフォルトの名無しさん
NGNG?
>>624です。
0628デフォルトの名無しさん
NGNG「Google で検索しれ!」という意味だろw
http://www.google.co.jp/search?q=CRC+%E8%A8%88%E7%AE%97%E6%96%B9%E6%B3%95&num=50&hl=ja&ie=utf8&oe=utf8
0629デフォルトの名無しさん
NGNG検索してみてくれ
0630デフォルトの名無しさん
NGNGMemo1.text:= 'a' + chr(13) + 'b';
これだとaのあとに改行できている様に見えるのですが、
これをファイルとして保存し、Win98のメモ帳で開くと改行文字が望んだとおりに保存されていません。
メモ帳からでもきちんと改行しているように見える改行コードの書き方をご教授願います。
0631デフォルトの名無しさん
NGNGMemo1.Add('a');
Memo1.Add('b');
あるいは
Memo1.CommaText = 'a,b';
0632デフォルトの名無しさん
NGNG'a'+#13#10+'b'
Dec Hex Char Dec Hex Char Dec Hex Char
0 00 NUL 16 10 SLE 32 20 スペース
1 01 SOH 17 11 CS1 33 21 !
2 02 STX 18 12 DC2 34 22 "
3 03 ETX 19 13 DC3 35 23 #
4 04 EOT 20 14 DC4 36 24 $
5 05 ENQ 21 15 NAK 37 25 %
6 06 ACK 22 16 SYN 38 26 &
7 07 BEL 23 17 ETB 39 27 '
8 08 BS 24 18 CAN 40 28 (
9 09 TAB 25 19 EM 41 29 )
10 0A LF 26 1A SIB 42 2A *
11 0B VT 27 1B ESC 43 2B +
12 0C FF 28 1C FS 44 2C ,
13 0D CR 29 1D GS 45 2D -
14 0E SO 30 1E RS 46 2E .
15 0F SI 31 1F US 47 2F /
Dec Hex Char Dec Hex Char
48 30 0 96 60 `
〜 97 61 a
57 39 9 〜
58 3A : 122 7A z
59 3B ; 123 7B {
60 3C < 124 7C |
61 3D = 125 7D }
62 3E > 126 7E ~
63 3F ? 127 7F DEL
64 40 @
65 41 A
〜
90 5A Z
91 5B [
92 5C \(逆スラが出ない (^^ )
93 5D ]
94 5E ^
95 5F _
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNG|| 偽善者は Λ_Λ いいですね。
|| 死刑!! \ (゚ー゚*)
||________⊂⊂ |
∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄|
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ |しゃかい .|
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄
〜(_( ∧ ∧_( ∧ ∧_( ∧ ∧ は〜い、先生!!
〜(_( ,,)〜(_( ,,)〜(_( ,,)
〜(___ノ 〜(___ノ 〜(___ノ
0635デフォルトの名無しさん
NGNGわざわざありがとうございます。
ちとうまくいきませんでしたが、それでもその知識が何時の日か役に立つと信じております。
>>632
chr(13)を#13#10に置き換えたらうまくいきました。ありがとうございます。
>>633
ご厚意痛み入ります。心に留めておきます。
0636デフォルトの名無しさん
NGNGまあPersonalじゃCLX使えないからKylixは無視してもいいのだけれど
0637579
NGNGどこかにいいスレッドの解説ページありませんか?
0638デフォルトの名無しさん
NGNGどこかおすすめの超初心者向けの解説サイトないでしょうか?
のサイトの下の方のソースで、
いっきにファイルをメモリ上に読み込んで、強引に処理しているんですが、
これって大丈夫なんでしょうか?
ポインタに1を足して…、って方法で本当に次の値が得られるのですか?
他のデータが間に来てしまうことはないのでしょうか?
0640デフォルトの名無しさん
NGNG強引でもなんでもない、心配するほうが変
はじめから TMemoryStream に読み込めばいいのにね!
0641デフォルトの名無しさん
NGNG|| 偽善者は Λ_Λ いいですね。
|| 死刑!! \ (゚ー゚*)
||________⊂⊂ |
∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄|
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ |しゃかい .|
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄
〜(_( ∧ ∧_( ∧ ∧_( ∧ ∧ は〜い、先生!!
〜(_( ,,)〜(_( ,,)〜(_( ,,)
〜(___ノ 〜(___ノ 〜(___ノ
0642デフォルトの名無しさん
NGNG2ch
0643>>639 ◆9qoWuqvA
NGNG0644デフォルトの名無しさん
NGNGsmalltalkは元祖じゃないYO!元祖は志村です。
0645639 ◆nqjTHVKE
NGNG強引じゃないんですか?
ポインタは抽象的概念なのに、それを直接操作しても良いんですか?
GetMemを実行したら必ず一列に確保されるんでしょうか?
>>643
finallyでFreeMem,Freeを行えば良いんですね。
0646デフォルトの名無しさん
NGNG直接操作しても良い。
必ず一列に確保される。
0647デフォルトの名無しさん
NGNGtype
TState = class
name,
adr: string;
end;
var
StateArray: array of TState;
SetLength( StateArray, 10 );
StateArray[0].name := 'モナー'; ←こういう使い方がしたい
これではコンパイル出来ません。 お願いします。
0648間違有でも即答会
NGNGコンパイルは出来る筈。
ただし暴走する筈
C++と違って必ず コンストラクタを呼ばなければいけない
for i:=0 to High(StateArray) do StateArray[i]:= TState.Create;
コンストラクタを呼びたくなければ クラスではなく レコード型やオブジェクト型を使うしかない
また、クラスに対しては動的配列よりも TListを継承して利用した方が適切
0649647
NGNG前やったときはコンパイルできなかったのに・・・スペルミスかな
TListの継承方法も発見したので試してみます。
0650デフォルトの名無しさん
NGNG数字が元々3桁の時は0無し。(128、196)
1桁の時も同じく0付きで3桁表示(001、002)
こういうのってkylixだとformat関数で出来たのですが、
Delphiだとどうやってやるのですか?
0651デフォルトの名無しさん
NGNGFormatFloat('000', 15);
0652650
NGNGそのまんまで出来るのね・・・
0653デフォルトの名無しさん
NGNG0654ランチャーを作りたい
NGNGprocedure TForm1.FormShow(Sender: TObject);
begin
AppBarData.cbSize:=SIZEOF(AppBarData);
AppBarData.hWnd:=handle;
AppBarData.uCallbackMessage:=MesID;
SHAppBarMessage(ABM_NEW,AppBarData);
AutoSize:=false;
Width:=Screen.WorkAreaWidth;
AutoSize:=true;
Left:=0;
top:=Screen.WorkAreaHeight-Height;
with AppBarData do
begin
uEdge := ABE_BOTTOM;
rc.Left := Left;
rc.Right := Width;
rc.Top := Top;
rc.Bottom := Top+Height;
end;
SHAppBarMessage( ABM_SETPOS, AppBarData);
end;
これでもって下の方にアプバー領域が作れるのですが、その領域からForm1が追い出されてしまいます。
つまり、上から順番にForm1、確保したスペース、ATOK、タスクバーとなっています。
0655ランチャーを作りたい
NGNG0657デフォルトの名無しさん
NGNGABM_NEW は既に
0658デフォルトの名無しさん
NGNGhttp://www.eternal.rest.org.uk/58cy/flesh/3rd-ci53/b268-119.jpg
0659デフォルトの名無しさん
NGNG動的配列を使ったクラスを作るか、TListを利用したクラスを作るか(もしくはTListそのまま)
で迷っています。
動的配列とTList、
どちらの方がメモリ効率的にはよいのでしょうか?
0661とにかく即答
NGNG実際のアクセスはオープン配列パラメータの関数・メソッドにするとよろし
0662デフォルトの名無しさん
NGNGあるソフトでそのパッケージの中のコンポーネントをどれか1つでも使うと、
そのパッケージの内容が全部ソフトに含まれることになるのでしょうか?
0663デフォルトの名無しさん
NGNG実行時パッケージを使えば、それはDLLなので当然そうです。
そうでなければ、単なるライブラリですのでパッケージ内で相
互に参照していなければ大丈夫という事になります
0664デフォルトの名無しさん
NGNG了解!動的配列でやってみます。
ところで動的配列の要素数が増減する時は
そのたびにSetLengthした方がよいのでしょうか?(結構、頻繁に増減する予定なんですが)
メモリを扱うだけに頻繁に使わないほうがいいのかな、とも思ってしまうんですけど
0665デフォルトの名無しさん
NGNG足りなくなったら増やさなきゃならんが少々減ったくらいでいちいちSetLengthするべきでは
ないべ。以降ずーっと減ったままならいいけど。
それにmallocみたいに実際にメモリがOSに返る保証もないし(ソースないので知らん
0666デフォルトの名無しさん
NGNGそのたびに SetLengthしてみて遅ければ考えてみたらいいと思う。
興味があるなら自分で system.pas の DynArraySetLengthを読ん
でみるのもいいだろうし
0667デフォルトの名無しさん
NGNG今までこういったObjectPascalってのはやったことないんだけど
プログラムに最初から
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
ってあるんだけどこれは何なんどすか!おしえてください。
あとDelphiでシューティングゲームとか作れたりするんでしょうか?
あとDelphi6Personalでとりあえず何かやってみたいので
お勧めの参考サイトなどあったら教えてください。いちおググルで検索したんですが
めぼしいところのサイトをいくつか回ったんですがいまいちよくわからなくて。
0669デフォルトの名無しさん
NGNG0670デフォルトの名無しさん
NGNGたしかにここは「やさしい」スレですけど
Delphiを基礎から全部解説していたら十分なWebペ?ジが作れてしまいます。
幸いにもDelphiの入門書も増えてきました。
図書館で借りるなり、本屋で買うなりして、一冊まるまるやりこんでみてはいかがでしょうか。
ちなみに問い「これは何どすか!」に対する答えは「テンプレートです」になります。
0671デフォルトの名無しさん
NGNG>>667
・・・・・・
(´-`).。oO(ここで自分のサイト晒したら自作自演に思われちゃうかなぁ…)
0673デフォルトの名無しさん
NGNG助言ありがとうございます。
とりあえず組んでみますね。
0674671
NGNG0675639 ◆nqjTHVKE
NGNG>必ず一列に確保される。
ということは、以下のようになってしまうんですか?
(□=空 ■=データ)
メモリ:■■■■■■■□□□□■■□□□□□□□
この場合に、■■■■分のデータ領域を確保する場合、
一つ目の空領域は使えないので、二番目の領域を確保することになる。
0676デフォルトの名無しさん
NGNG初心者は、そこが何であるか知る必要はありません。
大切なのは最後のimplementationから下です。
フォームにButtonコンポーネントを配置し、それをダブルクリックしてください。
すると、
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
と表示されますから、begin と end; の間にやりたいコードを書いていきます。
0677デフォルトの名無しさん
NGNG物理メモリ上でも連続している事が保証されているのでしょうか?
0678デフォルトの名無しさん
NGNGまずPascalから入れば?多少標準Pascalと互換性の無い部分もDelphiにあるけど。
0679デフォルトの名無しさん
NGNGchdirで例外が出たら存在しないとかにしていますが、もっとスマートに出来ない?
0680デフォルトの名無しさん
NGNGま可哀想だから多少教えてあげると・・・
ObjPascalのユニットファイルは基本的に下のような構造になってる。
unit xxxx; interface 〜�@〜 implementation 〜�A〜 end.
�@の部分はインターフェース部と言って、ユニット外から可視となる
宣言を書く。ここではフォームの宣言とそれに必要なユニットの読込
(uses 以下)が行われている。Cではxxxx.hに相当。
�Aの部分は実現部といって、ユニットの挙動を実際に記述する。外部
からは直接見えない。Cではxxxx.cに相当。
ヘルプ→目次→ObjectPascal言語ガイド 辺りを読むべし。
0681デフォルトの名無しさん
NGNG0682もっと検索しる!
NGNG0683デフォルトの名無しさん
NGNGスゲー俺アホだ!まんまの関数があったのか!
しかし、こんなの前からあった?ずっと用も無いのにchdirで調べてた・・・(汗)
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNG(´-`)。o ○ (検索の仕方が分からないのだろうか・・・)
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG話。選択してF1キー押すべし。パソナラーは、それでも文句は言ってはいけない!
ググルで検索しる!)
0689デフォルトの名無しさん
NGNGヾ(゚∀゚)ノ 2KかXP使え!
( ) ))
(( < <
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692691
NGNG0693579
NGNGループを強制的にやめさせ、次の処理へ進むのですか?
それとも、次のループへ逝くのですか?
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG普通はbreakを使うのでは?
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNGぞっとするな。って、その頃には無くなってたりして。不評だからな(藁)
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG一番内側の関数から出る。
実際にやってみようよ、聞く前に・・・
0702デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGって危なくないですか?
たまたまかもしれないし。
0705デフォルトの名無しさん
NGNGって危なくないですか?
嘘ぶっこいてるかもしれないし。
0706フォームにbuttonを配置したら、どーなりますか?
NGNGフォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
0707デフォルトの名無しさん
NGNG0708701
NGNGbegin
try
exit;
ShowMessage('1');
finally
ShowMessage('2');
end;
ShowMessage('3');
end;
procedure b;
begin
a;
ShowMessage('4');
end;
>>704
この程度も自分でやろうとしない奴は逝ってよしですよ。
0709デフォルトの名無しさん
NGNGどないなもんなんでしょうか?」かな…)
0710702
NGNGコンパイルせずに答えて!
>>708
procedure TForm1.Button1Click(Sender: TObject);
var
Dummy: array[0..1] of Char;
Buf: array[0..9] of Char;
S: string;
begin
Dummy[0] := 'A';
Dummy[1] := 'B';
S := '0123456789';
StrPLCopy(Buf, S, SizeOf(Buf));
Caption := Buf + Dummy;
end;
0711デフォルトの名無しさん
NGNGたまたまねぇ・・・・。
論理的なプログラマにたまたまって事は無いだろ、自分の頭の中で結果を予測しているはずだ、
結果と違ったら原因を探す、自分が書いたコードが「たまたま」か否かぐらい判断できんで
プログラムが組めるか?
プログラム作成後のテストはこれと全く逆を行うのは、プログラム作成時に既に「通常こーなる」って
意識で組んであるからだ、たまたまで作られるとテストもできんよ。(藁
0712デフォルトの名無しさん
NGNG708じゃないけど
Dummy[1]には#0以外入れちゃだめだよ
0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGあ、問題ないか?・・・いいことじゃないけど
0715デフォルトの名無しさん
NGNG? (゚д゚) ? 急に誰もいなくなった。
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNGどうすればよいでしょうか?
0719デフォルトの名無しさん
NGNGDummyのサイズが宣言されてるからそれ以上持ってこないって事でしょ
Captionもstring型だから長さの情報を持っているので結果的に大丈夫だと
・・・Cでこんなことをしたらどうなるか分かったもんじゃないけど
0720デフォルトの名無しさん
NGNGDelphiで業務アプリとか作れるのでしょうか?
速度を重視するようなプログラム以外ならVBでも十分だって言ったら
笑われました。
0721デフォルトの名無しさん
NGNGできないとおもふ。
理由…Delphiを使えない、Delphiを毛嫌いするプログラマが多いから(w
0722デフォルトの名無しさん
NGNG∧∧
ヾ(゚∀゚)ノ ソースを追っていったら単にBuf[10]に'\0'を入れてるだけだったよ。
( ) ))
(( < <
0723デフォルトの名無しさん
NGNG俺、一人でも作れるよ Delphi で
月100万なら請け負うけど・・・
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG私は今までにプロジェクトをこけさせたことがありませんのでご安心下さい
といって「みずぽ」の人はこけたんだっけか・・・
賠償請求されても払い切れないだろうね〜・・・夜逃げ・・・あはははは
0728デフォルトの名無しさん
NGNG>>725-726
すまそ・・・。
>>722
それはChar型配列の場合、Delphiが自動的に1個長く配列を作って、
自動的に末尾に\0を埋めてくれるってこと?エラスギル、Delphi・・・
0729デフォルトの名無しさん
NGNGそれはない。
0730デフォルトの名無しさん
NGNG∧∧
ヾ(゚∀゚)ノ 違うよ。単純にBuf[9]の次のメモリアドレスに'\0'を書き込んでるだけだよ。
( ) )) だから、ちゃんと直さないと駄目。
(( < <
0731720
NGNG私は別にDelphiを嫌いではないのですが、趣味で画像を扱うソフトとか
しか作ったことがなくて、DBとかって分野に疎いのです。
なぜ私がVBでやったら良いのでは?と会社の人に言ったかと言うと、
うちの会社では、VBAなら使える人間が多いのにDelphiが使える人間
は非常に少ないからです。しかも、DBがMS-SQLServerなもので、
Delphiから簡単に扱えるなら良いのですが、VBの方が楽に接続出来
るのかな?(私もVBAしか知らないので本当わかっていません)
と思いDelスレを荒らしているような書きこみになってしまいました。m(。。)m
0732デフォルトの名無しさん
NGNGvar
Dummy: array[0..1] of Char;
begin
Dummy[0] := 'A';
Dummy[1] := 'B';
SetWindowText(Handle, Dummy);
0733デフォルトの名無しさん
NGNG0735デフォルトの名無しさん
NGNGつまり、DBが心配なのだな。
心配無用だとは言えないが、そもそもSQLサーバを選択したのが間違いだと思ふ。
俺もSQLサーバを使った業務アプリケーションは組んだことあるけど、VBよりは
効率よく組めたし良かったよ。
趣味でDel使ってたのなら、会社でDel使えることを喜んでも良いと思ふ。
>>733
かなり思い詰めているとおもわれ(藁)
0736デフォルトの名無しさん
NGNGprocedure Hoge(const Value: Integer);
var
P: PInteger;
begin
P := @Value;
P^ := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
I := 100;
Hoge(I);
Caption := IntToStr(I);
end;
0737デフォルトの名無しさん
NGNG|ω・`)つ�I コレ アゲル カラ モウ ネナサイ
|彡 サッ �I
0738736
NGNGすいませんでした。
0739デフォルトの名無しさん
NGNGわたしゆるせませーん。
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGわーるいんだーわーるいんだー!せーんせぇーに行ってやろー♪
掃除当番もさぼってましたー!
0742デフォルトの名無しさん
NGNGはい、消えた!
0743デフォルトの名無しさん
NGNG|ω・´)つ �I カエセ!!
|彡 サッ
0744デフォルトの名無しさん
NGNGじぶんがわるいくせにー。
0745737
NGNGすいませんでした。
・゚・(ノω`)・゚・。
0746デフォルトの名無しさん
NGNGはい、消えた!
0747デフォルトの名無しさん
NGNG0748やってみてこうなったから、こうなんだ。シリーズ
NGNG//処理 ;
end;
A = B の場合、処理は1回実行される。
A > B の場合、処理は実行されない。
0749デフォルトの名無しさん
NGNG文字列なら普段はstring使って、やむを得ないAPIコールの時とかだけ、
PChar(string変数)
でキャストすれば大抵は問題ないと思うのだが…
0750デフォルトの名無しさん
NGNGフォームに文字を書きたいときはどうすればいいんでしょうか?
ボタンや他のオブジェクトは貼り付けられたんですが文字を表示させるには・・?
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNGTextOut()
0753デフォルトの名無しさん
NGNGLabel と edit の差もわからんで
Label1.Caption := Edit1.Caption
とかやって 何故だ!とかやってたなー
目に見える物は全部キャプションだとおもってたあの頃。
0754デフォルトの名無しさん
NGNGTSpinEditで中に4の倍数以外が入力されたら排他するにはどうしたら良いでしょうか?
OnExit、もしくはChangeの時に処理を掛けようかと思ってます。
if SpinEdit1.value = (4*n) then
showmessage('ダメヨン!');
こんなんじゃ駄目ですよね?
0755とにかく即答
NGNG0756デフォルトの名無しさん
NGNGそうか!
mod演算子を忘れてた!
ありがとう!
うっかり君でした。
0757ランチャーを作りたい
NGNG書籍は魔法の何タラというやつと、WIN32API何タラを参考にしています。
フォームのボーダースタイルをタイトルバーなしのものに変更したら、
自分で確保したアプバーのスペースから自分が追い出されてしまいました。
しかも確保したスペースにもう一度フォームを移動させることが出来ません。
なんのお礼も出来ませんがやったことがある方教えてください。
ソースはこちら>>654
0758デフォルトの名無しさん
NGNGそういうことになる。
そこらへんはGetMemのソース見れば判るが。
まあ、そんなに気にする事でもない。
0759デフォルトの名無しさん
NGNG魔○のなんたらって、MLとかあっちこっちのホームページからソースをパクッテるような
気がするのは俺の気のせいか?それとも同じような事をやろうとすると同じになるのか・・・。
それに、印刷ミスとか多すぎるし、まぁ、絶対に使わないようなTipもあるけど、総合的に
みてDelphi初心者には貢献している本だとは思うが・・・。
0760デフォルトの名無しさん
NGNGあのエディタのソースも公開して欲しいなぁ・・・と思うのは私だけ?
色々修正したり拡張したりしたい部分も多い死ね。
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGそれは解決では無く逃げでは?
キーボードから入力出来ないし。
まあどっちでもバグでなけりゃ良いけどね。
0764デフォルトの名無しさん
NGNGフリーカーソル無効化アドオン便利だよ。
どっかで拾った。
Delphiのエディタはフリーカーソルだけがなじめなかった。
0765デフォルトの名無しさん
NGNGDelphiでcomポートを触りたいのですがVBのMSCommに相当する物って無いですか?
今はActiveXの取り込みでMSCommをDelphi上で使ってます。
でも使い方が良く分からなくて・・・
使いやすくて良いコンポーネント無いでしょうか?
0766 ◆fwK7enJI
NGNGvar
hoge : String;
begin
hoge := 'test';
MSComm1.CommPort := 2;
MSComm1.PortOpen := True;
MSComm1.Output := hoge;
MSComm1.PortOpen := False;
・
・
・
続く
end;
手荒でスマン
0767デフォルトの名無しさん
NGNGでも、普通にCreateFileしてボーレート設定して 使う方が簡単だと思うけど?
0768デフォルトの名無しさん
NGNGfunction QueryInterface(const IID: TGUID; out Obj): HResult;
function _AddRef: Integer;
function _Release: Integer;
には、どんなコードを書けばよいのでしょうか?
IHoge = Interface
procedure Proc;
end;
THoge = class(TObject, IHoge)
procedure Proc;
....
end;
0769デフォルトの名無しさん
NGNGむしろフリーだからこそ使いやすいけどなあ。
とくに表みたいな形のコメント書くときは重宝してる。
こればっかりは、フリーカーソルじゃないとやりにくくて
しょうがないし。
0770Agent ◆sPktrH52
NGNGコンポーネント>ActiveXの取り込みから、Microsoft Direct Speech Recogtionを
取り込み、それを利用して音声認識をさせようと思ったのですが見当違いでしょうか?
DirectSR1.Listen という物が見つかったのですが使い方がわかりません。
参考になる物もしくは、音声認識には他の物がよいのかどうかアドバイス頂けませんでしょうか?
長くなりましたが、宜しくお願い致します。
0771デフォルトの名無しさん
NGNG取り込んだあとコンパイルした?
pasファイルが指定パスに出来るはずだけど。
0772Agent ◆sPktrH52
NGNGコンポーネントとしては表示されています。耳のアイコンです。
DirectSSならば、DirectSS.Speak('hoge);でhogeとしゃべるのですが、
音声を聞き取らす方法がさっぱりわかりません。
どうにかなりませんでしょうか?
0773デフォルトの名無しさん
NGNGいやね、最初は慣れなかったせいか「ナニコレ!」って思ってたけど今ではフリーカーソルが、
使いやすくてたまらんのよ。
フリーカーソル+フリーカーソル無効化アドオン これ最強。
無効化って言ってもマウスでフリーになるし使いやすいったらありゃしない。
0774デフォルトの名無しさん
NGNGhttp://homepage1.nifty.com/fuu/software/nonfreecursor.htm
0775768
NGNGそのままコピペすれば良いのでしょうか。
0776デフォルトの名無しさん
NGNG_AddRef,_Releaseは、リファレンスカウントを使いたいならそのまま、
使いたくないなら、result := 1;とでも書いとけばいいのではないでしょうか。
0777愚痴なんですけどね・・・
NGNGネストしてるif文書いてると、なぜか「end;が多い」と言われる。
0778デフォルトの名無しさん
NGNGまず begin endって書く癖をつけろよ
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNGdefine begin {
0781スパゲッティプログラム
NGNG「begin~end」やってるからこそ「endが多い」って言われるんだが・・
if (x[i] < x[i+1]) then begin
if ((sx<x[i]) or (sx>x[i+1])) then continue ;
end else begin
if ((sx>x[i]) or (sx<x[i+1])) then continue ;
end;
end;
0782デフォルトの名無しさん
NGNGif 式 then begin .......... end;
それから、ネスした if がおおいなら、ネストが深くならないような
工夫をするべきだとおもふ。もしかした
if Exp1 then
Command1
else
if Exp2 then
Command2
else
if Exp3 then
Command3
else
Command4;
if Exp1 then begin
Command1;
end;
if Exp1 then begin
Command1;
goto EndOfIf;
end;
if Exp2 then begin
Command2;
goto EndOfIf;
end;
if Exp3 then begin
Command3;
goto EndOfIf;
end;
EndOfIf:
0783デフォルトの名無しさん
NGNG自動生成される dfm のソースコードは、
インデントが半角スペース2つになっていますよね。
あれを、タブ1個に設定することは出来ないのでしょうか。
インデント設定を4文字タブにしているので使いにくいのです…
0784デフォルトの名無しさん
NGNGなんじゃそら。if は end と対応しないよ。
end は基本的に begin-end のセットで使う。
ただ例外として case 文は case-end のセットで使われている。
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNGend;
とかも…
0787デフォルトの名無しさん
NGNG同じコンポーネントをつかって同じものを作ってもC++Builderと比べて
ファイルサイズが大きいのはなぜですか?
なにが大きくしているんですか?
0788デフォルトの名無しさん
NGNG例外があるって事自体「begin〜end」の冗長性を証明してるな。
どうでもいいが。
0789デフォルトの名無しさん
NGNG0790>
NGNG0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGなんじゃそら。if は end と対応しないよ。
781はフツーに begin end で囲んであると思うのだけど。
最後の行の end に対応する 何か がかいてないだけで。
0793784
NGNGど忘れしていたスマソ。
>>792
話の流れを読めよ。
0795デフォルトの名無しさん
NGNG~( )−
/ >
0796Rubyist
NGNGぶえええ ぐええええええ
0798デフォルトの名無しさん
NGNG0799Rubyist
NGNG人間に もどりたいよ・・・・
お前達のせいだ お前達が悪いんだよ!
0800デフォルトの名無しさん
NGNG⊂(ΦωΦ⊂ )⊃==3
ムッフン
0801Rubyist
NGNG★Ruby★
(σ´ー`)σ
0802デフォルトの名無しさん
NGNGif (x[i] < x[i+1]) then begin ←このbeginを見落としている人がいます!
0803名古屋在住・中日ファン
NGNGなんたら {
ほげほげ
}
という書き方が多いけど
Pascal(Delphi)では
なんたら
begin
ほげほげ
end;
が普通だろうね
0804デフォルトの名無しさん
NGNG1)
end else begin
2)
end
else begin
3)
end else
begin
4)
end
else
begin
0805名古屋在住・中日ファン
NGNG3)
end else
begin
if ***** then
begin
end else
if ***** then
begin
end else
if ***** then
begin
end else
begin
end;
パターン化しやすいことと
途中の end の後に ; を付ける間違いの起きないのがミソ
0806素数2
NGNGbegin
end
else if then
begin
end;
俺こうだなー
beginの前、endの後に必ず改行しちゃう
0807デフォルトの名無しさん
NGNGif then begin end else if then begin end;
0808デフォルトの名無しさん
NGNG彡
彡
サムイナオイ…
0809スパゲッティプログラム
NGNG> なんじゃそら。if は end と対応しないよ。
ああ、そういうことか。VBかなんかの「endif」のイメージが残ってたようだ。
ついでに聞くけど
if Exp1 then //←if1
if Exp2 then 処理1;//←if2
else
処理2;
3行目のelseは、if1に対するelseのつもりで書いたんだが
「elseの前にはセミコロンがあってはいけません」と怒られる。
セミコロンをつけないとif2のelseと勘違いされると思うんだけど...
こういう場合はどう記述する?
0810デフォルトの名無しさん
NGNGObject Pascal 言語ガイド の 「Object Pascal の文法」を読んでからもう一度来てください。
何故そうなったかという歴史的背景はわからないが、文法はこれでわかるだろ。
0811810
NGNG0812デフォルトの名無しさん
NGNGendifはありません。確かにif文の仕様はわかりにくいです。
例えばそう言うときは、
if Exp1 then
if Exp2 then 処理1
else
処理2;
て書きます。(そのまんまやね
もしelseがif Exp1にかかる物ではなく、Exp2に掛かるのであれば、
if Exp1 then begin
if Exp2 then
処理1
else
処理2;
end;
と書く方が確実でしょう。
時間をおいた後に再びこのコードを自分が読んだとき、
もしくは他人がこのコードを読んだとき、
これなら比較的理解しやすいかと思われ。
>>810-811
外野が下手な説明して混乱するより、ヘルプ見た方が確実、
という意味合いであれば構わないと思われ。
漏れもうまく説明できないと思ったらそう書くことあるし。
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGif Exp1 then
if Exp2 then 処理1
else
処理2;
これじゃelseはExp2のifについちまうだろ。
出鱈目教えてどうするんだよ。
Exp1に対応させるんなら
if Exp1 then
begin
if Exp2 then 処理1
end
else
処理2;
こうするしかないね。
0815デフォルトの名無しさん
NGNGShapeにはそのような機能がないようなのですが、標準コンポーネントにはないのでしょうか。
0816名無し募集中。。。
NGNGbegin
with Form1.Canvas do
begin
MoveTo(20,30);
LineTo(100, 10);
end;
end;
0817デフォルトの名無しさん
NGNGLineTo
0818デフォルトの名無しさん
NGNGじゃ別解として
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004530597_1/MyDraw.pas
これをコンポーネントとしてインストールして Samplesに増えたコンポを貼り付け
Lines プロパティから最初の行だけ残して削除 すればOK
0822デフォルトの名無しさん
NGNGすごくわかりやすい本だとは思うのですが、どちらかというと辞書に近いような気もします。
そこで実際にプログラムを組みながら覚えていくような本がありましたら
紹介していただけませんでしょうか?
0823Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ / 新しいデルパイ使いには
_ ミ,,゚Д゚彡_< こういう議論は1度2度は必要かと。
.=| |==U==U=| |= \
| |〜ミ ミ .| |
| | ∪''∪ | | >>804 オラ3)ダベ
| | | | if then に対して、begin..endはほとんど常に付ける派
0824デフォルトの名無しさん
NGNG今日、本屋行ったら、日経プログラム(だったかな)から、
Delphiのムック本出てたよ。稟太郎って人が書いたやつ。
順を追ってソフト作ってた。読んでみたら?
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG0830Delフサギコ ◆zE1iiRdQ
NGNG∧,,∧ 大分古いけど..な
ミ,,゚Д゚彡
ミつ[|lllll]).
〜ミ ミ
U''U タマノカキコミ オレモアゲヨウット
使いながら覚えるBorland Delphi4
プログラミング入門
http://www.ai-pub.co.jp/contents/book/prog/del4_prog.html
目的には合致していると思うけど、名著とはいえないかな。
他には
> わたしでもできる!
> Delphi初心者奮闘記 伊藤 みどり と どりとすダンナ
(Delマガの連載のまとめならね)
とか
> カンタン! Delphi プログラミング
とか(日ソフの連載のまとめなら)
http://www.borland.co.jp/bookinfo/delphi.html
なんなDel本の出版ペースがあがってる
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNGなんで delphi スレって似たようなのがたくさんあるのですか?
どれをつかったらいいの?
0835デフォルトの名無しさん
NGNGTThread を継承して自作するのが一般的です。
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGC/C++では ; は文の一部だが、
pascalでは ; はセパレーターなのだ
0838Delモナー ◆fPymXWHY
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. 「なんで delphi スレって似たようなのが
( ) .| たくさんあるのですか?」の質問には
| | | | 答えられないけど・・・。
(__)_) \___________________
どのスレを使っても構いません。
主なDelphi関連スレは >>3-4 を見てください。
ただし他のスレに比べたら、
このスレは一番初心者向けだと思います。
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG0841デフォルトの名無しさん
NGNGそうです
0842デフォルトの名無しさん
NGNGマルチポストするやつもいたし
相談室がこのスレより難解、高度なことを扱い
フサギコスレはプログラム以外にもいろいろ(雑談スレ?)だったはず
0843デフォルトの名無しさん
NGNGTuaregってのがDelphi製
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNG>>5
0846デフォルトの名無しさん
NGNGなんで元に戻ったの?
0847デフォルトの名無しさん
NGNG0848847
NGNG0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNG>なんで「インプライズ」とかになったの?
気分転換のつもり
>なんで元に戻ったの?
やっぱりボーランドのほうが良かった
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG正確にはボーランドが作った開発環境で、ObjectPascalという言語を使ってる。
ObjectPascalは、大昔からあったPascalという言語をボーランドが拡張しまくったもの。
0854中日ファン@阪神に連勝モード
NGNG0855デフォルトの名無しさん
NGNG今時、作れない言語も珍しいです
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG0858デフォルトの名無しさん
NGNGもうでましたよ。なんでもDelphiでアイドルプログラミングがされているとか…
0859デフォルトの名無しさん
NGNGインター・イントラの企業システムを売るようになった(VisiBroker とか)ので、
開発ツールブランドのイメージが強すぎる Borland という名前から、Inprise に
変えたんだよ。
だから開発ツール群はそのまま Borland のブランド名を残していた。
(Inprise の Borland Delphi とか言ってた)
が……結局やっぱり開発ツールメーカーとしてのイメージのほうが強いんで(w
Borland に名前を戻したというわけ。
0860デフォルトの名無しさん
NGNG横:中央寄せ
縦:中央寄せ
ができるコントロールってないのですか?
VBからの移行作業なんですけど、ラベルは窪んでないし、
テキストはAlignmentがないし。
StaticTextはLayOutがないので困っています。
Delphiでは諦めるしかないのですか?
0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNGありがとうございます。
でもLabelにCreateParamsが存在しないのですが
どうしたらいいでしょうか
0863デフォルトの名無しさん
NGNGウザイ。いくらDelでもできない事くらいある。
嫌なら自分でコントロール作れタコ
0864860じゃないけど
NGNGできないならできないと最初から言え。
逆ギレみっともない
0865デフォルトの名無しさん
NGNGttp://home1.infonia.ne.jp/~delphian/delphi/index.html
ここで探したら?
自作しても、1日で出来そうな課題だと思うけど?
0866VBマン
NGNGDel厨叩きのネタができてワショーイ
0867デフォルトの名無しさん
NGNG枠を付けたいだけ? ならPanelで代用したらいいんじゃないの?
0868860
NGNGそこも検索したのですが、文字位置の横と縦を中央に配置できる
Editは無かったみたいです。説明不足でスミマセン。
>>867
Panelだと入力できないので後々困るかな?って感じです。
0869荒れてきたよ
NGNG0870デフォルトの名無しさん
NGNGじゃ
http://www.google.co.jp/search?q=TEDIT+%92%86%89%9B%8A%F1%82%B9&hl=ja
0871デフォルトの名無しさん
NGNGつーかEditにAligmmentとLayOutが無いって結構致命的じゃない?
Del厨叩きのネタができてワショーイ
0872デフォルトの名無しさん
NGNGCreateParams を使えば中央寄せとか エディットコントロールの備えて
いる機能は使える。 TEditを継承して Alignment を付けてもいいし
TMemoを継承して、マルチラインを止めてもいい
2,TLabelはグラフィックコントロールだから、描画方法はそれこそご自由に
0873860
NGNGありがとうございます。DEKOさんのテキストボックスを
使わせて頂こうかと思います。
0874デフォルトの名無しさん
NGNGstringからcharへの変換を一発でやる関数はないのでしょうか?
例えばStrToCharみたいなやつ
ぺるぷみても関数一覧にはなかった.
おそらく基礎の基礎と思われますが
おせーてください
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNGs: string があるとするなら s[1] がchar型になる。
1文字もないときはchar型で表現できんし2文字以上のときも捨てるしかない
0877デフォルトの名無しさん
NGNGありがとうございます.
勉強になりました
0878デフォルトの名無しさん
NGNG聞くは一時の恥だし、教えて!
wavファイルから時間軸と音圧軸に関する配列?みたいなものを取り出して
それぞれを2次元でグラフ表示し、その波形を演算、処理するような
アプリ(俗に波形編集ソフトなどと言われているもの)が作りたいんですが
Delphiでこのようなアプリはプログラミングできるんでしょうか?
0879デフォルトの名無しさん
NGNGDOS窓のBASICでゲームは作ったことあるので、
だいたいのフローチャートというかアルゴリズムは理解しています。
CIN COUT IF くらいでの簡単なプログラムは組めます。
目標はVC++でウィンドウズ用アプリで
シューティングとかパズルゲームを作りたいのですが、
まずどこから手をつけたらいいのかわかりません。
VCの解説書とかサイトってのは基本手にまず、C++のソースを
理解しているものとして書いてありますよね。
まずはC++の黒画面で表計算くらいできるようになってからVCでしょうか。
なにか良いサイトはありますか?
0880デフォルトの名無しさん
NGNGRIFF を扱うのは APIになると思うけど
0881デフォルトの名無しさん
NGNGソースあげてみ
0882中日ファン@今日もいただきますモード
NGNG思いっきりスレ違い(というか誤爆)ですね
↓ここで聞いてみたらどうですか?
http://pc.2ch.net/test/read.cgi/tech/994129650/l50
0883デフォルトの名無しさん
NGNGでも、シューティングゲームを作るならいきなりC++でもいいと思うよ
0884中日ファン@今日もいただきますモード
NGNGいいきっかけだから
練習のつもりで自分でコンポーネントを作ってみるのもいいでしょう
(以下のコード、使ってよし)
TMyEdit = class(TEdit)
private
FAlignment: TAlignment;
procedure SetAlignment(const Value: TAlignment);
protected
procedure CreateParams(var Params: TCreateParams); override;
public
constructor Create(AOwner: TComponent); override;
published
property Alignment: TAlignment read FAlignment write SetAlignment default taRightJustify;
end;
constructor TMyEdit.Create(AOwner: TComponent);
begin
inherited;
FAlignment:=taRightJustify;
end;
procedure TMyEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
case FAlignment of
taLeftJustify : Params.Style:=Params.Style or ES_LEFT;
taCenter : Params.Style:=Params.Style or ES_CENTER;
taRightJustify: Params.Style:=Params.Style or ES_RIGHT;
end;
end;
procedure TMyEdit.SetAlignment(const Value: TAlignment);
begin
if FAlignment <> Value then
begin
FAlignment := Value;
RecreateWnd;
end;
end;
0885デフォルトの名無しさん
NGNGMemo1.Lines.Text := IdHttp1.Get(URL);
このようにMemo1にソースを取得していたのですが
文字コードがシフトJISのページはうまくいくのですが
EUCのページは日本語が文字化けしてしまいます。
EUCのページも文字化けしないでソースを取得するには
どうしたらよいのでしょうか?
0886デフォルトの名無しさん
NGNG>Windowsにエディット コントロール内のテキストを配置させるスタイルは3つあります。
>ES_LEFT、 ES_CENTER、 ES_RIGHTの各スタイルによって、 それぞれ、
>テキストは左寄せ、 中央揃え、 右寄せに配置されます。これらのスタイルは、
> 複数行エディット コントロールだけに適用されます。
0887デフォルトの名無しさん
NGNGtype TMyEdit= class(TMemo)
private
procedure CreateParams(var Params: TCreateParams);override;
end;
procedure TMyEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style and (not ES_MULTILINE);
end;
end;
0888デフォルトの名無しさん
NGNG>>887
ありがとうございます。
それで、Layoutも追加したかったのでAligmmentを真似て
↓
procedure TCEdit.SetLayout(const Value: TTextLayout);
begin
if FLayout <> Value then
begin
FLayout := Value;
RecreateWnd;
end;
end;
こんなのも作ってみたのですが、CreateParamsに何入れたら
値が反映されてくれるのかがわからません。
StyleにFLayoutを入れればよいのですか?
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG自分の環境で一応動作するからといって、必ず動作する保証はない。
汎用的にやるならマルチラインにして、改行の入力をキャンセルするべきだと思う。
0891フリー作者A
NGNG俺はこんな感じで作って配布してるけど、今まで1件も苦情来てないのだが。
もしかして動かない環境とかありそう?
procedure TMyEdit.CreateParams(var Params: TCreateParams);
const
Alignments: array [TAlignment] of Longint = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited CreateParams(Params);
with Params do
Style := Style or Alignments[FAlignment] or ES_MULTILINE;
end;
0892デフォルトの名無しさん
NGNGTLabelにあるやつの事じゃない?
0893中日ファン@今日もいただきますモード
NGNG失礼・・・
ES_MULTILINEの部分をここへ上げるときに消してました(汗
0894中日ファン@今日もいただきますモード
NGNGところで
>>888
SetLayoutだけ入れても動作しないですよ
(TLabelのソースを見ると・・・実装には割と根性のいることが分かるのですが)
0895デフォルトの名無しさん
NGNGdcrが作れないような気がした
0896デフォルトの名無しさん
NGNG実際シングルラインでも ES_CENTERでちゃんと中揃するけど
今のMSDNでも
>Single-line edit controls can only be left-aligned.
>ES_LEFT is the default for both single-line and multiple-line edit controls.
>Single-line edit controls ignore ES_RIGHT and ES_CENTER.
と書いてるしね。
>>892 ようするに上下の位置合わせ?
それ必要なら別のパネルに入れて、TEDITの境界線消せばいいのでは?
0897デフォルトの名無しさん
NGNGシングルラインでかつ ES_RIGHT 又は ES_CENTER は
Win98以降及びNT4.0以降で実装されている。
実際OS内でもそのスタイル使ってるし。
0898デフォルトの名無しさん
NGNG文字列をデリミタで切って配列にポンみたいな関数
[VB]
arr() =split("AAA@BBB@CCC","@")
arr(0)→"AAA"
arr(1)→"BBB"
arr(2)→"CCC"
[Delphi]
arr[] := ?????
0899デフォルトの名無しさん
NGNGなお、配列を使うより文字列リストは TStrings 継承の TStringListを使います。
なお、CSV形式だけは直接する方法があります
0900デフォルトの名無しさん
NGNGtype TArrayString = array of strings;
function Split(s,sep:string):ArrayString;
var n:Integer;
begin
with TStringList.Create do try
while s<>'' do begin
n:=Pos(sep,s);
if n>0 then begin
add(copy(s,1,n-1));
delete(s,1,n+Length(sep));
end else begin
add(s);brek;
end;
end;
SetLength(Result,Count);
for n:=0 to Count-1 do Result[n]:=Strings[i];
finally free;end;
end;
0901デフォルトの名無しさん
NGNG900Getおめ。
0902Delモナー ◆fPymXWHY
NGNGBRegExp ユニット
http://www2.big.or.jp/~osamu/Delphi/MyLibrary.htm
Perlの正規表現を使う。文字列操作には激しく便利。
もう手放せません。
900を超えたか・・・。もう新スレを立てなくては。
0903デフォルトの名無しさん
NGNG|До) トコロントチャリピカァ!
|⊂
|
♪ Å
♪ / \ チィッカム
ヽ(оДо)ノ チィッカム
( へ) チィッカム
く チィッカム
♪ Å
♪ / \ マグワッタ゚ァ
ヽ(оДо)ノ マグワッタ゚ァ
(へ ) マグワッタ゚ァ
> マグワッタ゚ァ
0904デフォルトの名無しさん
NGNG> delete(s,1,n+Length(sep));
Deleteって引数1個じゃなくて?
0905900
NGNG>>904 もちろん他にもバグは沢山ご用意しております。
ここでDeleteと書くと、TStringListのDeleteメソッドを呼んでしまいますが、
ここから Delete手続きの方を呼び出す方法を習得して頂きたいとかように考えております。
0906デフォルトの名無しさん
NGNGワラタ
0907デフォルトの名無しさん
NGNGImage1.Canvas.LineTo(x2, y2)
で描いた線を消したい。
しかし Image の Picture にビットマップ画像をロードしてある。
色々ためしたけど線の色が変わるだけで何らかの線が残ってしまう。
良い方法ないですか?
0908デフォルトの名無しさん
NGNGリソースから読み出す方法が判らないなら、そのイメージを直接表示せずに
コピーしてから付けばいい
0909907
NGNGやはりそれしかありませんか。
では Canvas に描画した一部分を消すのも無理ですかね。
ともあれレスありがとうございます。
0910デフォルトの名無しさん
NGNGとりあえず、'jconvert'で検索してみる。
0911デフォルトの名無しさん
NGNGだから移動中の描画とかXORを使うでしょ?
でもそうじゃないなら元の絵を再描画するしかないよ
0912909
NGNGXOR も試してみたのですがやはり満足のいく結果が得られませんでした。
Delphi マンセーだったのですが思わぬところでつまづきました。
REALbasic では Refresh というメソッドで下の BMP を壊さずに上の描画を消去できたのですが。
新しくコンポーネント作った方がいいかも知れませんね。
お世話になりましたm(_ _)m
0913デフォルトの名無しさん
NGNGフォームの OnPaintで フォームのCanvasに描くべきだと思うよ
0914912
NGNGはて、すみません、ちょっと意味がわかりません(^-^;;
つまりですね画像上の座標を調べるソフトが作りたいのですよ。
BMP 画像をロードしてクリックしたところの座標を教えてくれるのね。
そのときにグリッドを任意でかぶせたり取り払ったりしたいのです。
何か良いアイデアありませんかね?
0915中日ファン@川上ホームラン・モード
NGNGImageの上に透明な(TransParent=True)Labelを張って
LabelのCanvasに書き込むと上手くいくよ
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNGjconvert.pas使えばいいのですね?
ありがとうございます。
0918中日ファン@川上ホームラン・モード
NGNGとかね
0919デフォルトの名無しさん
NGNGダメでした。
{ Protected 宣言 }
procedure DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); override;
{処理}
procedure TCMLStringGrid.DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
エラー内容:DrawCellの宣言がすでに定義されているものと異なります。
何がいけないのですか?
0921デフォルトの名無しさん
NGNGわたしは初心者なので詳しいことはよくわかりません。
ヘルプで以下の一文を見つけました。
>メソッドをオーバーライドするには,override 指令を使ってメソッドを再宣言します。
>オーバーライド宣言するときは,そのパラメータの型と指定の順序を,上位クラスでの宣言と合わせなければなりません。
>戻り値がある場合は,その型も合わせます。
「仮想メソッドと動的メソッド」ってタイトルの所です。
何かの手がかりになるとよいのですが・・・
0922919
NGNGサンクス。
Sender:TObjectって継承だと必要ないのね。
0923デフォルトの名無しさん
NGNGを見つけました。Senderがいらないっぽいですね。
0924Delモナー ◆fPymXWHY
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)<. 新スレ立てました。
( ) .| ただしこのスレが980に行くまでは、
| | | | 新スレはsageておいて下さい。
(__)_) \_________________________
新スレ モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412
0925913
NGNGああそうか、 フォームのキャンバスを使って描くとImageの上には描けないんだ
じゃ>>915と同じ事だけど systemタブにある PaintBoxをImageに被せて
そのOnPaintで PaintBoxのキャンバスを使って描けばいい。
0926913
NGNGPaintBox1
procedure TForm1.PaintBox1Paint(Sender: TObject);
var i:Integer;
begin
if CheckBox1.Checked then
with PaintBox1 do
for i:=0 to Width div 8 do begin //縦線だけ
Canvas.MoveTo(i*8,0);
Canvas.LineTo(i*8,Height);
end;
end;
この為にCheckBoxを貼り付けて
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
Invalidate;
end;
とすればCheckBoxをクリックする都度 縦線が出たり消えたりする
0927中日ファン@結局引き分けお疲れモード
NGNG確かにこの目的にはPaintBoxの方がLabelよりふさわしいですね
(Labelでもできるというのは裏技っぽい)
Form - ScrollBox(alClient) - Image(AutoSize) - PaintBox(alClient)
という構成だと大きな画像でもちゃんと扱えていい感じ
0928野球は糞
NGNG0929デフォルトの名無しさん
NGNG0930929
NGNGScrollBoxの内容物にフォーカスがあると拾えるみたいです。
0931ななしヘタぐらま ◆B18Bks.Y
NGNG>867さんのようにパネルを使うのが簡単だと思います.
・パネルを置く
・パネルのBevelOuter を bvLowered に
・パネルの上にラベルを置く
・ラベルの Align を alClient に
・ラベルの Alignment を taCenter に
・ラベルの LayOut を tlCenter に
0932デフォルトの名無しさん
NGNGどうやればいいのでしょうか。
┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
→→→→→→→→→→→
※ドラッグすると文字が順次書き込まれて行く
1 1 1 1 1 1 1 1 1 1 1 と言う風に
どうやれば良いのかわからないので・・・
0933デフォルトの名無しさん
NGNGモナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412/
このスレは1000まで使って下さい。
0934中日ファン@結局引き分けお疲れモード
NGNGStringGridのDragModeをdmAutomaticにして
procedure TForm1.StringGrid1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
nCol, nRow: Integer;
begin
StringGrid1.MouseToCell(X, Y, nCol, nRow);
StringGrid1.Cells[nCol, nRow]:='1';
end;
↑こんな感じ
0935中日ファン@結局引き分けお疲れモード
NGNG条件判断を入れるとかしてください
0936デフォルトの名無しさん
NGNGどうしたらいいのでしょうか?
property AlignmentCol : array of TAlignment read FAlignment write SetAlignment default taLeftJustify;
↑
この配列の要素数をColCountと連動させたいのです。
ColCountを上書きして対処しようとしたら、StringGridの列数が増えなくなっちゃったし。
んー
0937デフォルトの名無しさん
NGNGあれ?
うまく動かない。
なんでだろう・・・
dmもAutoにしたのに
0938デフォルトの名無しさん
NGNG0939中日ファン@今日はお休みモード
NGNGまさかと思うけど・・・
934のコードは OnDragOver イベントハンドラに書いてますよね?
0940デフォルトの名無しさん
NGNGOnDragOverに書くんじゃ無いですか?
OnDragOverイベント書いてますけど。
0941中日ファン@今日はお休みモード
NGNGそれで合ってますよ
・・・ブレークポイントを入れてデバッグしてみるしかないのでは?
0942デフォルトの名無しさん
NGNG0943デフォルトの名無しさん
NGNG無事動きました!
ありがとう御座います!
>>942
MouseMoveでやるとマウスを押下してなくてもドローされちゃうんです。
試したらおもしろかったけど。
それと範囲チェックエラーなんですがこれではダメでしょうか?
以前からこのチェックは行っていたのですが。
if (nCol = -1) or (nRow =-1) then Exit;
0945デフォルトの名無しさん
NGNG2行目
3行目
4行目
5行目
Memo1に上のような文字列が入ってたとして
Button1を押すとMemo2に
2行目3行目4行目
と出したいときはどうすればよいのでしょうか?
0946デフォルトの名無しさん
NGNGfor i := 0 to Memo1.Lines.Count-1 do begin
s := s + Memo1.Lines[i];
end;
Memo2.Lines.Add(s);
ってこと?
0947デフォルトの名無しさん
NGNG膨大な情報になって結構便利だと思うのですが。
0948デフォルトの名無しさん
NGNG許可します。
ページ名は「モナーの *やさしい* DelphiFAQ」がいいとおもふ。
0950デフォルトの名無しさん
NGNGコテハンの投稿はちゃんとコテハンまで掲載するようにね
0951デフォルトの名無しさん
NGNG禁止します。
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG昨日Delphi6proを購入して、以前のDelphi4から色々とコンポを入れなおしておりまして、
ついでに、最新をチェックして LightRepも最新版にしたのですが、
LightRepが貼り付けられているフォームを表示するだけで10秒もかかってしまいます、
プログラム中で動的に生成しているフォームで使うと、固まった?と思わせるほどなの
ですが、D6+LightRep最新版を使われている方はみなさんこんな感じなのでしょうか?
OSはWinXP(HOME)なのですが、これも原因なのでしょうか。
0955再インスト未経験パソナラー
NGNG0956デフォルトの名無しさん
NGNG・forでくるくる回して必要な行だけmemo2に代入するか
・assignで一括してmemo2に代入して不要な行を削除するか
だね。
0957デフォルトの名無しさん
NGNG変わるかもしれない…
などとほざいてみる予行演習。
0958デフォルトの名無しさん
NGNGなんだそれ?LightRep自体を知らん、何処においてあるの?
そんな名も知れないコンポーネント使うから悪いんだろう、QREPORTじゃ駄目ですか?
0959デフォルトの名無しさん
NGNG単票印刷とかだと結構役に立つよ。
Delphian World で探したらすぐ見つかる。
>>954 俺も使ってるけど、現象的に同じだが最新版だからってわけ
じゃなくて重いと思う、俺は動的じゃなくて起動時に作成しておいて
hideしてるから実行時に重いと感じることはないけど。
0960デフォルトの名無しさん
NGNG消す方法を知ってる方いませんか〜
0961デフォルトの名無しさん
NGNGパネルで隠す
0962デフォルトの名無しさん
NGNG親のクライアント領域の外に出す。
0963デフォルトの名無しさん
NGNG自分用コンポーネントパッケージを作れ
漏れは再インスト時IDEの設定の保存/復帰がしたい...
どのレジストリキーをとっておけばいいのやらサパーリ
0964Delフサギコ ◆zE1iiRdQ
NGNGregedit.exe /E D6CodeExplorer.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Code Explorer"
regedit.exe /E D6Editor.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Editor"
regedit.exe /E D6FileFormat.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\FileFormat"
regedit.exe /E D6FormDesign.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Form Design"
regedit.exe /E D6Palette.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Palette"
regedit.exe /E D6AutoSave.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Auto Save"
regedit.exe /E D6CodeInsight.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Code Insight"
regedit.exe /E D6Transfer.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Transfer"
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ バチファイルにしてよし
ミ,, ゚Д゚彡
〃 つ旦~~
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNGそれてもフロクラマーか
0967デフォルトの名無しさん
NGNG963の願いが叶います。
0968Delフサギコ ◆zE1iiRdQ
NGNGテキスト保存して実行すると
D6Toolbars.reg
とか、いくつかのファイルがXXX.Batと同じフォルダに
書き込まれますよ
んで、それがD6の設定になるので
再インス後に*.regを実行したら設定が元に戻るです
 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
∧,,∧ 他のマシンに設定移行するときも
ミ,, ゚Д゚彡 便利っす
〃 つ旦~~
〜ミ,,,n,,n[ ̄ ̄ ̄.]
 ̄ ̄ ̄
0969デフォルトの名無しさん
NGNGやっぱりさぁ、レジストリよりiniファイルの方が便利だよなぁ、この辺りの設定もiniでやってくれて
た方が良かった、フォルダを丸ごとコピーするだけで良いのだし。
レジストリで管理するかiniファイルで管理するか設定出来るようにしてくれたら嬉しい > Borland
0970963
NGNGどもです。
環境保存/復帰が禿しく楽になって(・∀・)イイ!!
(´-`)。oO(…6.0を変えれば他のバージョンにも対応できそうだ…)
>>969
禿同意、そうでなくとも、せめてこういう設定を大量に
レジストリに書き込むタイプのソフトウェアは開発環境問わず、
非環境依存の設定をエクスポート/インポート
できるようにするべきだと思う。
ってスレ違いですね、すみません。
0971デフォルトの名無しさん
NGNGはい
こういうことはできませんか。
1) アプリがレジストリに対して何か操作をする
2) その操作を横取りして、実際には ini ファイルに対して操作を加える. その ini ファイルは、アプリケーション毎に自動生成する.
3) 実際のレジストリはクリーンなまま
4) (・∀・)イイ!
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGStringGridのセルにComboBoxを埋め込む方法をおまえら教えろ!こりあん!
できれば白い部分より一番上の灰色の部分がいいんだが。
エクセルのオートフィルターみたいなことしたいじゃ、!こりあん!
0974デフォルトの名無しさん
NGNGadvapi.dllだっけ?>レジストリ操作APIがあるの
1.これと同名のラッパDLLをアプリexeと同じフォルダに置く
2.アプリは偽DLLを読む
3.実際偽DLLのレジストリ操作関数を呼ぶ
4.偽DLLはレジストリは操作せず実際はINIを操作
5.(゚д゚)ウマー
説明下手だけどこんな感じなら出来るのでは。
所謂かちゅ〜しゃでいうkage方式で。
0975デフォルトの名無しさん
NGNG2時間30分経過。。。。。。
0976973
NGNGおまえらバカで答えられないってことがよくわかったよ。
クソプログラマーばっかだな
0977デフォルトの名無しさん
NGNG同レベルにして、調べるのが面倒だから答えない。
0978デフォルトの名無しさん
NGNG答えてくれなかったら逆ギレですか。
セル座標を調べてコンボボックスでもなんでも配置してなさいってこった。
0979デフォルトの名無しさん
NGNGのせられちゃ駄目。
0980デフォルトの名無しさん
NGNG私が作ったコンボ・チェックボックスをグリッド内に埋め込むコンポを進呈してもいいよ、
やってる事は、StringGridとitemを組み合わせて、位置を判定して動的に指定された
コンボかチェックボックスを表示又は制御しているだけなのですが、それで宜しいかな?
しかし、一般に広く公開したくないのでメールアドレスを教えて下さいませんか?
0981デフォルトの名無しさん
NGNGExitWindowsEx(Ewx_ShutDown,0);
0982デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG(゚ω゚) <そろそろ出番だな
/( )\
/'\
0996デフォルトの名無しさん
NGNG<(゚ω゚) <うっ!
( )\
/'>
0997デフォルトの名無しさん
NGNG(゚ω゚)> <はっ!
/( )
<'\
09982000
NGNG0999デフォルトの名無しさん
NGNG<(゚ω゚)> <うっ!
( )
/'>
1000デフォルトの名無しさん
NGNG(゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
/( ) ( )ゝ
<'\ / >
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。