トップページ⇒tech
1001コメント319KB

モナーの *やさしい* 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
■Delphi製品情報

○公式サイト
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デフォルトの名無しさんNGNG
あのう…

TNMClient でも TClientSocket でもなんでもよいのですが、
とにかく層言うのを使ってチャットクライアントを作ったとしますよね。

複数起動しても正しく動作するようにするにはどうすればよいのでしょう。
何が言いたいのかと言うと、

まず、チャットでの通話先は IP によって判別しますよね。
そして、IPでPCを特定しても、そこで複数のクライアントが起動している場合はどうすれば良いのかと。

で、サーバ側ではメッセージを受け取っているわけですよね。
どのソフトから来たか、というのをどうやって判別するのかと。

…というよりも、TClientSocket を複数起動すると
エラーが起こる確率が高くなるような気が。
0011デフォルトの名無しさんNGNG
DelphiでOS作ろうと思うんだけど出来る?
0012デフォルトの名無しさんNGNG
>>11
できる・・・CでやれることはDelphiでも全部できる
とにかくがんばってくれ
0013デフォルトの名無しさんNGNG
Windows上で動くOSですか?
0014デフォルトの名無しさんNGNG
>>11
作業手順
 1、Delphiでインラインアセンブラを使ってブートローダコードを書く
 2、ブートローダコードのアセンブル結果を抽出してブートセクタに書き込む
 3、 system.pas を biosコールに書き換える
 4、後はガンバル
0015デフォルトの名無しさんNGNG
Windows標準のダイアログボックスにあるボタン
(“はい”とか“いいえ”など)を書き換える悪戯をするプログラムを
作ってみたいのですが、何か参考になりそうな解説ページは
無い物でしょうか?

フックを使うんじゃ無いかと思い探してみたのですが、
「ボタンを押した後にホントに良いかもう一度確認する」とか
「CtrlとCapsを入れ替える」という事が出来と書いてるページしか
見つかりませんでした。
0016デフォルトの名無しさんNGNG
ZLibを使おうとおもい、サンプルコードを書いたのですがナゼかエラーがおこります。どうしてでしょうか。
コードは↓に置きました。
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デフォルトの名無しさんNGNG
>>17
THeader = packed record
0019優しく教える予定だった人NGNG
>>17
H.Buf[4] := 1
H.Buf[3] := 0
とする

 エンディアンで検索してみて
0020デフォルトの名無しさんNGNG
>>16
> ナゼかエラーがおこります。
プログラム組む奴が素人みたいな報告をするな。
デバッグのお勉強をどうぞ。
0021デフォルトの名無しさんNGNG
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< おまえらはせっかくの >>1-8 を
 (    ) \  良く読んだのかと小一時間・・・(笑
 | | |   \___________
 (__)_)
0022デフォルトの名無しさんNGNG
ListViewの上でポップアップメニューを表示させるようにしてた時に
ポップアップメニューのCaptionがListViewの幅より長いときに、
ListViewのスクロールバーや一部分が再描画されない時がある
のだが、これってグラフィックアクセラレータの問題だろうか?

再現しませんか?
0023デフォルトの名無しさんNGNG
Delphiでウィルス作れる?
作れるかどうかだけ教えて欲しいキボンヌ!

今友達と口論になってて

実在するかどうかでもイイです。(こっちの方が手っ取り早いかも)
0024デフォルトの名無しさんNGNG
>>23
ツクッタコトアルヨ
0025デフォルトの名無しさんNGNG
>>23
今作って送り付けました。
オリジナルなのでワクチンは効きません。
0026デフォルトの名無しさんNGNG
>>23 あったと記憶してるけど
・・・・別にDelphiだから作れないという事はないから・・・ただメンドクサイだけど


簡単にやるなら、インラインアセンブラでリロケータブルなコード書けばいいんだけど
それはつまりDelphiらしさを使ってないわけで
0027デフォルトの名無しさんNGNG
あうー。TFormatRangeって何なんだ?
ヘルピで検索しても出てこないっすー。F1でも駄目っすー。
参考ページでもいいから誰かご存じの方教えてください。
0028デフォルトの名無しさんNGNG
APIで使う構造体だろ。

typedef struct _formatrange {
HDC hdc;
HDC hdcTarget;
RECT rc;
RECT rcPage;
CHARRANGE chrg;
} FORMATRANGE;
002927NGNG
>28
 ありがとうござました。修行してきます。
0030デフォルトの名無しさんNGNG
画面があるとします
その画面にブラインド効果のようなのを描画するにはどうしたら良いでしょうか?
よくJAVAとかで見かける左右に絵が出てくる奴です。
0031timerでNGNG
左右に動かしやがれ
0032デフォルトの名無しさんNGNG
Delphi用のウィルスコンポーネントとかってないのかな?
探せばどっかにありそうな気もするんだけど。
0033デフォルトの名無しさんNGNG
基本的にウィルス作ってるヤツは人間のクズだね。
0034Delモナー ◆fPymXWHY NGNG
>>32
例えばアドレス帳に載っている全員に
メールを送りつけるとか?(藁
私は知りません。

こういう場でやばそうな質問をすると、
>>23-25みたいに、ろくなレスがつきませんな。

>>9, >>21
ありがとうございます。
一人でも真剣に読んでくれた人がいて嬉しいです。
できれば全員に読んでほしいんだけど。
(全員読むようだったら厨なんか出ないか)
0035Delモナー ◆fPymXWHY NGNG
>>33
プログラミングをやる人だったら、
簡単に作れるからな。
この辺は完全に、
人間としてのモラルがあるかどうかの世界だよ。
0036デフォルトの名無しさんNGNG
モラルもそうだし国によっちゃ死刑か終身刑だぞ。
もしネットに流れデモしたら・・・
ブルブルガタガタガタガタ
0037デフォルトの名無しさんNGNG
TWebBrowserを使用していますが、ページの表示はWebBrowser1.Navigate(Url);
とかで出来るのですが、htmlソースの取得はどうすればよいでしょうか?
0038デフォルトの名無しさんNGNG
>>37
socket
003937NGNG
>38
すいません。もう少し詳しくお願いします・・・・
0040デフォルトの名無しさんNGNG
wininet clientsocket get http
0041デフォルトの名無しさんNGNG
>>35
ツクッテミル コトト ハイフシテ コンランヲタノシム コトハ ベツジゲン ノハナシダロ
`ロクナレスガツキマセン` ト イワレモコマルヨナー
シツモンニハ テキカクニ コタエテイルトモウガ?
0042デフォルトの名無しさんNGNG
>>39
ソケットも知らないでHTTPクライアントを作る時点で何かがおかしい。
0043誰でも最初は初心者ウォンチュ!NGNG
いいから>>40を検索してみれ!






ことり
0044デフォルトの名無しさんNGNG
>>37
D6かな?
IndyのIdHttpを載っけて、

Memo1.Lines.Text := IdHttp1.Get('http://www.2ch.net');
0045デフォルトの名無しさんNGNG
何もかも初心者なんじゃないの?Indyインストールから始めないとアカンのでは?
かく言うオレが未Indyインストール(藁
ふーん。そーやんのかー…<Indyでソース
最初からパソナルにも付けてくれればいいのに…。
0046デフォルトの名無しさんNGNG
>15ではありませんが、
ダイアログボックスのボタンのキャプションって
どうやったら書き換えれるのかは俺も知りたいです.

市販アプリとかだと変えてるのがある気がしますが
そっくりなフォーム作ってるだけでしょうか?

どなたかご存知の方よろしくお願いしますー.
0047MessageDlgPosHelpNGNG
MessageDlgPosHelp
0048デフォルトの名無しさんNGNG
>>46
市販アプリは自作フォームでしょうね。

Windows全体でやりたいなら常駐して監視する必要がありますから、
・フックを使う
・FindWindowを使う
のどちらかでしょう。確実なのは前者ですが、きちんと作らないと
システム丸ごと落ちる可能性があります。
タイムラグ発生の可能性はありますが、FindWindowの方が簡単だと思います。
0049Delモナー ◆fPymXWHY NGNG
>>41
「ろくなレスがつきませんな」
すみませんでした。
半角カタカナで、短く一言で書かれていたので、勘違いしてしまいました。
ここに反省しお詫びします。
迂闊な発言をしないよう今後十分注意します。
0050デフォルトの名無しさんNGNG
>>49 ハンカク ナノワ チョットワケアリ ナモノデ モウシワケナイデス
0051デフォルトの名無しさんNGNG
妙に仕切るんでなく、行動で示せって感じだ。
0052デフォルトの名無しさんNGNG
MS Internet ControlsのActiveX使ってるけど、HTMLのソースってどこに格納されているの?
005352NGNG
あ、似たようなこと書いた人がいたね。
http://pc.2ch.net/test/read.cgi/tech/1017803412/37
0054Delモナー ◆fPymXWHY NGNG
>>51
そうですね。
>>49は急に態度を変えたように見えてしまいました。

自分の地としては敬体で書いているので、
この場では見ず知らずに人に対してでも、
フレンドリーな文体と敬体を使い分けているんだけど、
詫びる気持ちを表現しようと敬体で書いたら、
逆に白々しい感じを与えてしまった・・・。本当にスマソ。反省してます。
0055デフォルトの名無しさんNGNG
固定な人はいろいろ大変だね。
0056デフォルトの名無しさんNGNG
>>54
だからそう丁寧にレスしなくていいんだよ。
雑談スレじゃないだろ?
# これにレス付けるなよ。
0057知らんけどNGNG
(WebBrowser1->Document as IHTMLDocument2).outerHTML
0058間違えたNGNG
(WebBrowser1.Document as IHTMLDocument2).outerHTML
0059こっちか?NGNG
(WebBrowser1.Document as IHTMLDocument2).body.outerHTML
つーか、試す気ないから適当に調べれ
0060デフォルトの名無しさんNGNG
鯖にファイルを転送して、しかもそれをリストアップ
したいんだが、どうしたらできるん?
CGIを使うのか?(なるべく使いたくない。ケチ鯖ユーザーだから…)
0061デフォルトの名無しさんNGNG
不ツーにFTPかHTTP
0062デフォルトの名無しさんNGNG
>>60
受け取るだけならHTTPで
0063デフォルトの名無しさんNGNG
ソフトの設定を保存させたいのですがどうしたら良いでしょうか?
inifileやレジストリ以外でお願いします。
保存内容を見られたくないのです。

ファイル書き込みで設定したいのですがどのように作れば良いのか・・・。
それともinifileを暗号化出来る?
0064デフォルトの名無しさんNGNG
>>63
TFile
0065デフォルトの名無しさんNGNG
保存した事も判らないようにしたいの?
それとも保存した内容が判らないようにしたいなら、
 自前の文字列暗号化処理を入れたらいいんじゃないの?

簡単なのは文字列をバイト単位にキーワードとXORして
16進数に変換してしまう事。

それで良ければ簡単なサンプル書いてあげようか? ・・・って下心ミエミエ?
0066デフォルトの名無しさんNGNG
>>65
保存したことは分かっていいです。
ファイルの存在も分かってOKです。

ただ中身を見られたくないだけです。

簡単な方法ありますか?
0067デフォルトの名無しさんNGNG
>>66 簡単なのありますかって・・・説明してもらってるじゃん
0068ソケット ◆NIEdbLqs NGNG
前スレの956さんありがとうございました。
0069デフォルトの名無しさんNGNG
>>66
こういう大それたことしようとする奴に限って基礎がなってない。
相手にしなくていいじゃん。
0070デフォルトの名無しさんNGNG
改行って#10#13でやってたんですけど、#$D#$Aでも出来るんですね。
0071デフォルトの名無しさんNGNG
>>70
っていうかどちらも同じもの指してますから・・・。
0072デフォルトの名無しさんNGNG
>>70
っていうか順序変。
0073デフォルトの名無しさんNGNG
>>70 ええと 最初のはマチガイです
007470NGNG
よく考えたら同じだね。
16進か2進かの違いだった・・。
#13#10の方が正しいのかな。
0075デフォルトの名無しさんNGNG
>>74
>16進か2進かの違いだった・・。
違うぞ。
0076デフォルトの名無しさんNGNG
これはコントか?
0077デフォルトの名無しさんNGNG
とりあえず作ってあげたよ >>66

function  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
文字列をXORするときは
カイギョウコードに気をつけてね。

  ,,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < ファイル入出力が
  UU"""" U U    \_#13#10しか考えてないこと多いし
0079デフォルトの名無しさんNGNG
>>77
それで組んで見ました。
友人に見せたらXORだろ?と言われてしてしまいました。
もっと強力なものはないでしょうか?
0080デフォルトの名無しさんNGNG
>>78 大丈夫エンコード結果は16進にしてるから改行コードとかは出ません
>>79 大丈夫、これを解読するには
const k='ひみつのアッコちゃん';
さえ判らなければまず見つかりません
乱数列でもスクランブルしてるので、結果だけから見つけるのはまず無理です
0081Delフサギコ ◆zE1iiRdQ NGNG
>>78
  ,,,,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,,,,ミ,,゚Д゚彡 < おや、そうなんすか。
  UU"""" U U    \_______________

n:= ord(s[i]); してResult:=Result+IntToHex(n,2); してるからかな。
抜け目ないでございますね。

>>79≠>>66でしょ
008270NGNG
ごめん10進数って言いたかった
0083デフォルトの名無しさんNGNG
>>32
それが問題だよね。
未だに古いブラウザ使っている人がいる以上、新技術の採用は難しい。
0084デフォルトの名無しさんNGNG
あっと、でも1つでも原文が判るとダメ=原文とXORしたら別の暗号文も解けるか
だから、もう少しだけ強力にする

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
>>83
もっと根源的に間違ってるんだが……
008685NGNG
すまそ、>83 は >82 の間違い。

逝ってくる……
0087デフォルトの名無しさんNGNG
>>86
VBからやり直した方がいいかも(w
0088デフォルトの名無しさんNGNG
zipファイルをサーバーに転送するソフトを作りたいんだが…
漏れに教えてくれ。
008985NGNG
>87
漏れにいってる? 頼むから VB は勘弁してくれよぉ(w
仕事で仕方なく使うことはあるけど、やりたかねぇよぉ(w
個人では Delphi を 1の頃から使ってるよ。仕事でもいくつかやってるけどね。

まあ、>70=>74 が根源的に間違ってるところについては同意していただけると思うのだが。
0090デフォルトの名無しさんNGNG
inifileって最大何kbまでだったっけ。
64kbだった?
0091デフォルトの名無しさんNGNG
>>90 それはお使いになる環境により異なるものと思われます
0092デフォルトの名無しさんNGNG
>>91
確か制限有ったよ。
inifileでしょ  
0093デフォルトの名無しさんNGNG
なんでForm1 = TFormって言う風にTが付くの?

それとPublicとかprivateとかusesって何ですか?

上の方にあるアレです。
interfaceとかもわかんないです。
0094デフォルトの名無しさんNGNG
>>93
Object Pascal 言語ガイドがおすすめですよ
0095デフォルトの名無しさんNGNG
>>93 判らない文字の上で マウスを左クリックして キーボードのF1キーを押して下さい
0096デフォルトの名無しさんNGNG
>>95
>>94
Help見てるんですが言ってることが難しくて分からないです。

わかりやすく書いてる所無いですか?
0097デフォルトの名無しさんNGNG
public, private は、Delphi以前の問題で、まず
オブジェクト思考プログラムについて学ぶ必要があります。
幸いにも、復刊ドットコムにて、「DELPHIによるオブジェクト思考入門」が
規定の投票数を超えました。再び本屋に並ぶのも夢ではありません。
0098デフォルトの名無しさんNGNG
復刊ドットコム
http://www.fukkan.com/vote.php3?no=4407
0099デフォルトの名無しさんNGNG
ファイルの簡単な暗号化なら、これつかえ。
function 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
>>97
オブジェクト 思 考 プログラムについて学ぶ必要があります。
幸いにも、復刊ドットコムにて、「DELPHIによるオブジェクト 思 考 入門」が
0101デフォルトの名無しさんNGNG
ってゆーかXOR予約語だし。
010293NGNG
【閉鎖】僕の脳みそが閉鎖しそうです【閉鎖】
0103デフォルトの名無しさんNGNG
くだらない揚げ足
0104デフォルトの名無しさんNGNG
>>97 >>100
ワラタ
ハゲシク ワラタ
0105デフォルトの名無しさんNGNG
>>99
xorって言う関数作れたっけ?
0106デフォルトの名無しさんNGNG
くそー
0107デフォルトの名無しさんNGNG
>>105
ムリムリ
0108デフォルトの名無しさんNGNG
ファイルのさらなる暗号化なら、これ。
XOR で、さらに逆向きに記録
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;
0109デフォルトの名無しさんNGNG
>>107
>>99のソースは騙し討ちですか!
function名変えれば良いだけだが。
0110デフォルトの名無しさんNGNG
>>93
まず、ボタンをクリックして起こす処理から勉強して、
次は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
for Stream.Position := 0 to Stream.Size-1 do ...

っていう使い方が出来ると便利なのに。
0112デフォルトの名無しさんNGNG
>>111
プロパティは変数ではないって奴ですな。
0113デフォルトの名無しさんNGNG
今DelphiのソースをC++に変換。
C++をDelphiに変換するプログラムを作ってます。

C++はまだ初心者なので「これは必須!」って言うの教えて下さい
0114デフォルトの名無しさんNGNG
zipファイルをサーバーに転送するソフトを作りたいんだが…
漏れに教えてくれ。
0115デフォルトの名無しさんNGNG
>>114
サーバーは決まってる場所なのか?
0116デフォルトの名無しさんNGNG
>>115
ああ。
0117デフォルトの名無しさんNGNG
>>116
Delphi6proならIndyを使えば出来るよ
0118デフォルトの名無しさんNGNG
>>113
http://www.mpsinc.com/mpsprice.html#pascal

負けないようにガンバレ

0119デフォルトの名無しさんNGNG
>>117
Indyってコンポーネントか?それともコンポーネントの中に
入っているプロパティーか?
そのコンポーネントって、DLできないのか?教えてくり。
0120デフォルトの名無しさんNGNG
>>119
まずDelphiのバージョンとEditionを教えて。

Delphi6のProfessionalならIndyは普通に付いてる。
Personalは無かったと思う。
どちらにしてもソース開示してあるし入れれるけどね。
0121デフォルトの名無しさんNGNG
>>119
めでたく厨に認定されました。
0122デフォルトの名無しさんNGNG
Indy以外に、ファイルを鯖に転送する方法ってないんですか?
0123デフォルトの名無しさんNGNG
>>122
NMHTTPって無いか? >Personal

つーかDelphiのバージョンとEdition書けって言ってるだろ
質問に答えようが無い。
0124デフォルトの名無しさんNGNG
とりあえず、WinInetを使う方法もあるよ
ttp://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なんでバージョンわからん
どこにバージョン出てる?

Delphiだとなんでも簡単に作れるって聞いたから触ってやるんだけどさ。
0126デフォルトの名無しさんNGNG
>>125 どうどうとそんな事言われても困ってしまいますがな やれやれ
0127デフォルトの名無しさんNGNG
DFM(フォーム情報のファイル)を読んできて仕様書を作成するプログラムを
作ってみようとしているのですが、日本語部分が #24335#20250・・・こんな感じ
で表示されてしまいます。
色々と調べてみると、ちゃんと日本語として表示される事もあるみたいで、
Delphiでフォームを「エディタで表示」させた状態で一旦保存するとちゃんと
日本語になります、毎回「エディタで表示」させなくても、デフォルトで、その
状態に設定するオプションが見当たらないのですが、何処かにありますか?

環境はDelphi6proです。
0128114NGNG
Delphi5のlearningで悪かったな。(1万円)
0129114NGNG
>>123
漏れ的にもNMHTTPがいいんだが、learning版ではコンポがない。
NMHTTPでやりたい。
0130114NGNG
>>124
教えてくれて、ありがとう。
0131114NGNG
learningバソは有罪。
前、POP3のコンポでメールソフト作ろうと思ったら、
POP3のコンポがなかった…。
でも、初心者にはありがたい環境。
0132デフォルトの名無しさんNGNG
>>129
実はMemoコンポーネントでファイルの転送が出来る。
隠しメソッドがあるのだ

begin
 Memo1.Create;
 Memo1.LoadFromFile('aaa.zip'); //zipファイルを一時的に格納する
 Memo1.Put(http://www.hoge.com,Memo1.Lines.file); //zipファイルをアップロード
 Memo1.Free;
end;

こんなところ。
やってみ
0133デフォルトの名無しさんNGNG
>>132
こんなの誰も騙されないだろ (w

Memo1.LoadFromFile('aaa.zip'); からして間違ってるよ、
Memo1.Lines.LoadFromFile('aaa.zip'); が正解だろ。

つーことで、皿仕上
0134デフォルトの名無しさんNGNG
Memo1.Putの第一パラメータに''はいらないのぉ〜?
0135114NGNG
>>132
疑いつつも、やってみる…http://の時点でできないと思うが…。
0136デフォルトの名無しさんNGNG
>>133 俺は Memo1.Create; の部分で藁タ
0137デフォルトの名無しさんNGNG
でも Memo1.Create; ってやったらどうなるんだっけ?
文法エラーにはならなかった記憶があるんだが
0138デフォルトの名無しさんNGNG
>>135
やってみたんかよ!
0139132NGNG
チクショー!
ばれたか
何故ばれた!

そんなこというなら転送機能付きのMemoコンポーネント作っちゃうぞ(マジで)!
何の意味があるのかわからんが
0140デフォルトの名無しさんNGNG
>>136
Create;は間違いでは無い。
FreeがあるならCreate;も必要なはず。
0141デフォルトの名無しさんNGNG
>>137
ビジュアルコンポでオーナーコンポが指定されないと怖いだろ、エラーになると思われ
0142デフォルトの名無しさんNGNG
>>139
Memoだと、サイズ的な制限があるから、他でrichでやった方が実用的?だと思う
0143デフォルトの名無しさんNGNG
>>140 ハァ?
本当にそーかい?マジですか?
0144114NGNG
>>132
どうせ嘘つくんだったら、PCが止まるのとかやれよ。
0145114NGNG
>>132
普通にバレルだろ。でも、一応やったぞ。
>何の意味があるのかわからんが
激しく同意。


0146デフォルトの名無しさんNGNG
試しに
procedure 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;
0147114NGNG
で、NMHTTPコンポってDLできないのか?
できたら使い方おしえてくり。
learningバソのHelpFileで調べてもNMHTTPの
答えは返ってこない…。
やっぱ、Proffesional、Enterpriseマンセー!!
0148114NGNG
>>147
って事でMXで拾って来るぜー!!!
0149デフォルトの名無しさんNGNG
119に電話だ!
0150デフォルトの名無しさんNGNG
>>114 sikatanainala
ttp://www.sakaki.keiaikai.or.jp/Library/webconv/compile.html
0151デフォルトの名無しさんNGNG
>>114
だったら WinInet 使えって 自分のハードディスクに WinInet.pas あるだろ?
0152114NGNG
>>148
おれの番号きどったようだが、矛盾がおきてるぜ。
例外発生だから…
try >>148の矛盾発言 finally >>148は逝って良し。
0153デフォルトの名無しさんNGNG
>>148
Delphi6のPersonalは無料なんだからそれを使えって

CD欲しけりゃもらえるしダウンロードも出来る
Indyだってただなんだし(俺の記憶では)
0154デフォルトの名無しさんNGNG
>>152
何コイツ?
自作自演?
0155114NGNG
Personalはコンパ炒るできないんだろ?>>153
0156114NGNG
それに、重過ぎだ…。>>153
0157デフォルトの名無しさんNGNG
>>155
ハァ?
黄色い救急車呼んでこい
0158デフォルトの名無しさんNGNG
>>155
何がコンパイル出来ないのかよく判らんが・・・。
何の話?コンパイルできるけど?
0159デフォルトの名無しさんNGNG
>>146
146が器と中身を混同しているのでは?

「飯」を「象印の炊飯器」で炊く
のと、

「象印の炊飯器」を炊く
の違いが判らないと理解できないかも(藁
0160デフォルトの名無しさんNGNG
>>155
えーっとな
まず言われたとおり使ってから文句言え。
コンパイル出来ない物を売るか

>>156
何と比べて重いのか・・・
0161114NGNG
EXEつくれるのか?
0162デフォルトの名無しさんNGNG
>>114
exeどころかもう。。。なあ149>>
0163114NGNG
Indyが、どんなんか分からないとDLしたくない。
DLしたことによってパソの設定変えたくないから。
Indyがパソが狂うよりもいいものだったら、考えようだが。
0164デフォルトの名無しさんNGNG
>>144への手順

・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とかを個人好みで入れれば良い。
0165デフォルトの名無しさんNGNG
うえのレス間違い ×>>144 ○>>114
0166デフォルトの名無しさんNGNG
>>161
普通に開発出来る
0167デフォルトの名無しさんNGNG

  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< >>114はもう少し自分で
 (    ) \  調べてから発言してね ♥
 | | |   \___________
 (__)_)

Indy使うの嫌だったら他にFTPの扱えるコンポーネントを
探して、それでもどれも使いたくないと言うのならSocket
から作ってね。
0168デフォルトの名無しさんNGNG
114は何でDelphiやってるん?
0169デフォルトの名無しさんNGNG
「きどった」ってナニ?
0170デフォルトの名無しさんNGNG
>>163
マジで、何言ってるのかわかりません。
Indyでパソ?(パソコンの事か?)の設定?(レジストリの事か?)
パソが狂う?(暴走する事か?)
そんな事ないよ、IndyってDelphi用のコンポーネントなんだが?
何と勘違いしたらそんな話になるんだ?

ちょっと自分で調べてから発言しないと、ウザがられますよ?
0171114NGNG
いや、PersonalをDLして今使っているlearningの
拡張子が変わってしまうのがいや。
Delphi6って、ちょっとDelphi5に比べて形変わっているから、
初心者でいるうちは、Delphi5から移りたくない。
だから、NMHTTPきぼーん。
0172114NGNG
あと、Indyってどんなんだよ。
自分で調べろってか?
0173114NGNG
Indyはコンポーネントで、Web開発のために使うことぐらいは
話から分かるけど。
0174デフォルトの名無しさんNGNG
>>171
>拡張子が変わってしまうのがいや。
何の拡張子?何が変わったよ?

>Delphi6って、ちょっとDelphi5に比べて形変わっているから、

形が変わった?意味不明なんですけど。

>>172
http://www.google.co.jp/search?q=Indy&hl=ja&lr=
0175114NGNG
>>169
本人の真似をしているということ。
0176114NGNG
前に書かれていた「TIdHTTP」とはIndyのことだったのか。
0177114NGNG
なんか漏れ、荒らしてるのか?
0178114NGNG
PersonalをDLするんじゃなくて、
IndyそのものをDLできませぬか?
0179デフォルトの名無しさんNGNG
はぁ・・・さすがに・・・・専用サポート部隊にされてもなあ
0180デフォルトの名無しさんNGNG
騙る←きどる?
0181114NGNG
とっとと答えんか〜〜〜!!!
0182114NGNG
>>180
ハァ? アタマ大丈夫デスカァ?
0183デフォルトの名無しさんNGNG
>>180
騙る【きどる】
0184デフォルトの名無しさんNGNG
>>114
http://www.sakaki.keiaikai.or.jp/Library/webconv/compile.html
0185デフォルトの名無しさんNGNG
>>114
まず名前欄に fusianasan#好きな言葉 って入れろ

好きな言葉はパスワードみたいなものだ。
忘れないように。#(シャープ)も忘れるなよ。
0186114NGNG
>>185
アフォが!!
0187114NGNG
>>181
答えたわ!アフォが!!
0188114NGNG
>>184
Thank You!!
0189デフォルトの名無しさんNGNG
天然物の荒しか?ちょっとオマエ!細切れに書き込むの止めてくれんか?
番号無駄に上がるし、ここはそんなスレじゃないんでヨロシク頼む。
0190デフォルトの名無しさんNGNG
>6にあるように厨房並みの質問はいいが厨房はお断り。
よって今後>114は放置の方向で。
0191114NGNG
(゚∀゚)ネタでした(゚∀゚)
0192デフォルトの名無しさんNGNG
スレが汚れたのでリセット

>>111
>for Stream.Position := 0 to Stream.Size-1 do ...
>っていう使い方が出来ると便利なのに。
便利さはしばしば安全性とのトレードオフになるからね〜

便利さを重んじたのがC/C++で
安全性を重んじたのがPascal(Object Pascal)なんじゃない?

俺は注意力に自信がないからストロングタイピングな言語の方が安心だけど
0193デフォルトの名無しさんNGNG
c++とDelphiにはVBの様なLike演算子がありませんがこれに相当する物ってありますか?
0194デフォルトの名無しさんNGNG
VBのLIKE演算子って、どいういうの?
0195114NGNG
Personal、DLします。
0196デフォルトの名無しさんNGNG
>>194
MSDN Library Like 演算子
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/vbenlr98/vaoprlike.htm
パターンマッチングができる。
0197デフォルトの名無しさんNGNG
無い
http://member.nifty.ne.jp/h_kova/procomp.htm
0198デフォルトの名無しさんNGNG
>>195
やっとかよ・・・

4時間前から言ってやったのに
0199デフォルトの名無しさんNGNG
>>197
無いことは知ってるんです。

ですからそれ相当の物があるのかもしくは自分で作れないかと思って。
関数なりを。
0200デフォルトの名無しさんNGNG
Format() ?
0201デフォルトの名無しさんNGNG
>>199
strstr()
0202デフォルトの名無しさんNGNG
Likeは確かに便利だよね。
Delphiには残念ながら存在しないので、文字列だったらPosを駆使する
ことになると思います。
0203デフォルトの名無しさんNGNG
便利だな、これ。
ワイルドカードだ疲れればいいんだよね。
オートマトンでどうにかなるんじゃない?
0204デフォルトの名無しさんNGNG
  function StrHikaku(a,b:string):boolean;
  var
    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デフォルトの名無しさんNGNG
>>196
Professional以上ならMasksとかいうワイルドカード扱うUnitが
あったはず。
0206デフォルトの名無しさんNGNG
>>204
aの文字数が長い時のチェックが無いね
0207デフォルトの名無しさんNGNG
>>204
最後辺りの if文のところを
if (wUMC=True) or (idxA<wLenA) then
すりゃ判定できるみたいだが、機能が不足してるし、わかりづらいなぁ。
それに、速度的にどーよ。
0208デフォルトの名無しさんNGNG
>>207
有難うございました。
0209DELモナNGNG
これでどーよ

function 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
>>209
>>204ソース + バグ修正 の方が結果が正しいようだが・・・。
0211デフォルトの名無しさんNGNG
>>209
ごめん、正しく動いてたみたいです。
0212DELモナNGNG
機能が増えたYO. "abc" にたいして a[Bb]* と書いてもマッチする.
function 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
>>212
おお!凄い
この勢いで正規表現まで頑張って下さい、期待してます!
0214デフォルトの名無しさんNGNG
頑張って下さい!(藁
0215デフォルトの名無しさんNGNG
114は俺を含めた何人いたんだろ・・・
0216デフォルトの名無しさん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
>>215
まだそのネタやるつもりか?つまらん
0218114NGNG
>>215
本人ですが。次の式を証明することができました。
>>148=>>215
お前だけだったよ。偽者は(藁
0219デフォルトの名無しさんNGNG
(´-`)。o ○ (春だねぇ…)
0220デフォルトの名無しさんNGNG
春なのーに〜♪ おわかーれですーか〜♪
0221デフォルトの名無しさんNGNG
くぅ、なんでこんなにスレが伸びているのかと思ったら・・・
あ、Like作ってる人たちはすごいっす。
0222デフォルトの名無しさんNGNG
もう1つの質問スレも春真っ盛りだね。
0223Delフサギコ ◆zE1iiRdQ NGNG
   ∧,∧     ,::  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ミ,,゚Д゚彡っ━'~  | とりあえず、Like作成は
  ミ∪  ~,ノ    < テストコードを書いてから語ろうよ
   ミ  '' ミ       \____________
   し'~し'
0224デフォルトの名無しさんNGNG
あれだ
新学期になって中学生がパソコン買って貰ったから
「よーしプログラム組むべ!」
って気合い入れたは良いけど何をしたらいいのか、どの言語にしたら良いのかわからず。

だからVBスレッドやDelphiスレッドに厨が繁殖するんだ。
そうか・・新学期だったんだ・・・

ここが「やさしいスレ」で良かったね
0225デフォルトの名無しさんNGNG
独り言・・・?
0226インディakaインターネットは直接です。 NGNG
http://ocn.amikai.com/amiweb/browser.jsp?url=http%3A%2F%2Fwww.nevrona.com%2FIndy%2F&langpair=1%2C2&c_id=ocn&lang=JA&toolbar=yes&display=2


翻訳サービスもまだまだだなと思う(藁
0227インディakaインターネットは直接です。 NGNG
>デルフォイ6は8.0で船で行きます
いいね。旅情派だね。
0228インディakaインターネットは直接です。 NGNG
春だから見逃してくれや。「FAQ」の
>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デフォルトの名無しさんNGNG
友達がVB.NET触ったらしいけどなんかDelphiみたいになってるらしいじゃん
VBもやっとオブジェクト指向になった?
既存ユーザには大変らしいけど新規ユーザーにはありがたいよね。
(.NET設計者そのものが、Delphiの人だったしね。もうBorland戻ったけど。)

Delphi.NETはまだですか?
C#Builderでもいいよ。
0231デフォルトの名無しさんNGNG
でも、Delphiと違ってソース公開じゃないから 仕様みて想像するしかない
から、深く使おうと思ったら逆に苦労しそうなんだよな
0232デフォルトの名無しさんNGNG
>(.NET設計者そのものが、Delphiの人だったしね。もうBorland戻ったけど。)
え?戻ったの?ソースキボンヌ。
0233デフォルトの名無しさんNGNG
>>231
ライブラリのソース公開の話が出てたよ。C#スレ参照
0234デフォルトの名無しさんNGNG
>>232
日系の本に書いてあったよ
「日系ソフトウェア」だったかな。

だいぶ前
0235デフォルトの名無しさんNGNG
そういや、.NET関係は全部公開だったね。
だから他のプラットホームに移植してる人がいるのだろうけど。
0236名無しへたぐらま ◆B18Bks.Y NGNG
>>93
TFormの謎
 『型』ってあるよね.クラス型やレコード型,列挙型など,いろいろあるけど,
 ボーランドさんは『型』の名前の先頭にTをつけるのが好きなの.
 プログラムを書く人にもこれをすすめてる.
 でもそうしなければいけないわけじゃない.

publicとprivate
 クラス(オブジェクト)で外側から見えるものがpublic(パブリック),
 見えない(操作できない)のがprivate(プライベート).
 見せなくていいものを徹底的に隠すことで
 プログラムの仕様があとで変わってしまっても最小限の変更で済む.

interfaceとuses
 上のpublicとprivateに似てるけど,
 ユニットのinterfaceと書かれた部分からimplementationと書かれた部分の間
 (interface節という)で宣言されている型,関数と手続き,変数,定数は
 ほかのユニットが必要に応じて参照することができる.
 implementation以後で宣言されているものは参照できない.

 usesはほかのユニットがinterface節で宣言している型,関数と手続き,変数,定数を
 『使う』ことができる.(use=使う)

 やはり見せなくていいものは極力見せないようにすべき.理由も一緒.
0237デフォルトの名無しさんNGNG
よくマジックナンバーと言う言葉を耳にするんですがどういう意味ですか?
0238デフォルトの名無しさんNGNG
>>236
publicとprivate、interfaceとimplementationは権限で説明した方がわかりやすくない?
自分はそうやって説明して貰ったら一発で理解出来た。

protectedが抜けてるけど良いのかな。
まあ>>236の言うとおり他から参照出来るかどうかだね。
0239デフォルトの名無しさんNGNG
>>237
謎の数字をそのまま打つこと。

strncpy(str1,str2,18);

通常はこのように意味のある言葉でdefineする。

#define MAXDATALENGTH 18

strncpy(str1,str2,MAXDATALENGTH);
0240クレールNGNG
Delphi2.0が秋葉原で500¥で売っていました(関係ないけど)
0241デフォルトの名無しさんNGNG
>>233 そのライブラリって CLIでCLRではなかったんじゃ?
つまり delphiで言えばsystem.pasの公開でVCLではないように思う
ちゃんと見た訳じゃないけど、textBoxをgrepしたけど見つからなかったし
0242デフォルトの名無しさんNGNG
TextOut関数の使い方がわかりません。
delphi5では
TextOut(x,y:Integer; text:string)
で動くらしいので何とかわかるのですが、
私が持っているdelphi6では
TextOut(dc:HDC; x,y:Integer; str:PChar; const:Integer)
となっていて何が何やら…。
既出でしたら誘導してもらえるとありがたいです。
0243デフォルトの名無しさんNGNG
>>237, 239
その意味もあるけど、データの型を示すためのいわゆるシグネチャ
としての意味もあるね。googleで調べりゃボロボロ出てくる。
0244デフォルトの名無しさんNGNG
Canvas.TextOutとWindows.TextOut?
0245デフォルトの名無しさんNGNG
安易にFocus()叩いて悩むみたいな。
0246デフォルトの名無しさんNGNG
>>242 TCanvasのヘルプから探すといいよ
0247デフォルトの名無しさんNGNG
type
 THogeTree=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
>>247 オーナーと描画先とは普通違うでしょ?

オーナーの廃棄と共にオブジェクトは消えて欲しいけど
描画先が廃棄されて一緒にアポーンされたら嫌でしょ?
0249デフォルトの名無しさんNGNG
>>236
>>238
ありがとう御座います
Publicとか理解出来ました。
その後Delphiの読みづらいコースウェアも読んでみました。
それにしてもDelphiのマニュアルは英語直訳って感じで分かりづらいですね。
分かってて当然って書き方されてるし・・・。

Delphiは入り込むのが難しそうだけどその後が楽そう。
0250249NGNG
あ、そうそう
procedureとfunctionはどう違うんですか?
関数じゃ無いのでしょうか?

procedureが手続きでfunctionが関数なのは分かるんですが、どう違うのか・・・

自分で勝手に
function TForm1.aaaaa;
begin
 Edit1.test := 'test';
end;
ってやったら動きましたけど・・。
0251デフォルトの名無しさんNGNG
>>250
procedure :void
function :!void
0252デフォルトの名無しさんNGNG
返値があるのがfunctionで、返値が無いのがprocedureだったと思います。
0253agent ◆AWcg9OTs NGNG
Delphi6のpersonalでMSのAgentControlという物を使おうと
思って色々やっているのですが、Agentのアニメーション名を
Getする方法がわかりません。
どなたか参考になるサイト、ソース御座いましたら教えて頂け
ませんでしょうか?
0254デフォルトの名無しさんNGNG
>>253
MSDNは?
0255agent ◆AWcg9OTs NGNG
>>254
それっぽいのを見つけたのでやってみます。
ありがとう
0256agent ◆AWcg9OTs NGNG
アニメーションはどうやらGET出来たようなのですが、
それをメモ等に挿入したいのですが、
StringとIAgentCtlRequestには互換性がありませんのエラー。
型を変換する方法ってわかりますか?
もうここで質問するような内容では無いのかもしれませんが、
宜しくお願い致します。
0257デフォルトの名無しさんNGNG
>>256
var
a :Real;
b :Integer;
begin
b = Integer(a);
0258agent ◆AWcg9OTs NGNG
>>257 レスありがとうございます。
var ag:IAgentCtlRequest;
Memo1.Text := string(ag);
とやってみましたが、Memo1の内容は
3シt
ちなみに、Integerだと
13528536
なのですがどうしたらよいでしょうか?
無理なのでしょうか?
0259デフォルトの名無しさんNGNG
>>258
>アニメーションはどうやらGET出来たようなのですが、
それをメモ等に挿入したいのですが、

意味がわからない。
0260agent ◆AWcg9OTs NGNG
>>259
私は、253,255,256,258です。
officeのイルカのカイル等がAgentです。
で、そのAgentのアニメーション名をGetしたいのです。
Agent1.Characters.Character('AgentID').Get('Animation', 'Animation', 'True');
でGetできるようなのですが、そのアニメーション名を知る方法がわからないのです。
0261114NGNG
Personalをダウンロードしたぞ。
Indyをヘルプファイルで調べたんだが、該当しなかった。
Indyというコンポーネントもなかった。
0262よくわからんが、NGNG
>>261
Proを買え。
0263デフォルトの名無しさんNGNG
>>261
昨日何を聞いていた・・・。
0264デフォルトの名無しさんNGNG
>>114 これは何だったんだ、

>>184
Thank You!!
0265264NGNG
ちっageちまった。
0266デフォルトの名無しさんNGNG
>>261=114
Indyもダウンロードしろ。
PersonalにはIndy付いてない。
0267114NGNG
Indyの日本語版ヘルプファイルはないのか?
0268デフォルトの名無しさんNGNG
>>267
ある
0269114NGNG
「やさしい」質問スレだったよな。
0270デフォルトの名無しさんNGNG
もういい加減放置して下さい。
他の質問者に迷惑なので
0271デフォルトの名無しさんNGNG
>>269
だから答えてるじゃん・・
やさしくダウンロード方法まで書いてあげたじゃん・・・

まず試そうよ。
0272デフォルトの名無しさんNGNG
>>269
モナーの  ね
0273デフォルトの名無しさんNGNG
>>269
やさしいのは確か
でも質問してばかりで実際に実行に移さなかったら駄目でしょ。
「Indy無いのか?」って言ってるけど、きのう説明済みだし。

それ以前にDelphiの導入やIndyの導入は出来るようにしよう!
わからなかったら教えるけど。 
や さ し いからね。
0274デフォルトの名無しさんNGNG
>>269
文句を言う前に、自分のことを振り返れ。

多分>>269ではどこにあるのかも知りたいんだろうが、
「Indyの日本語版ヘルプファイルはないのか?」
じゃなくて
「Indyの日本語版ヘルプファイルはどこにありますか?」
と聞くべきだろ。
お前がほしい情報がなんなのかわからんから「ある」と答えるしかないわけよ。

何より、「教えてもらう」という謙虚な態度がお前には必要だと思うよ。
0275デフォルトの名無しさんNGNG
○厨房並みの初心者の質問はOKですが、厨房は質問するな。
0276114NGNG
>>269
自分で調べるからそう書いたんだろ!!
0277114NGNG
はぁ…。114は消えるとするよ。
0278はたNGNG
QuickReportの使い方が(というか、Delphi自体が初めてなんで)わからないのですが、
データベースのテーブルを一覧で表示するのはできた(と思う)のですが、次のやり方が
どうやればいいのやらわかりません。

データベースAのテーブルaの一覧を出力するのですが、その際にデータベースBの
テーブルBより名称を取得したいのです。
イメージとして...

コード         名称
-----------------  --------------------------
Aテーブル.コード    Bテーブル.名称

なのですが、自分で色々やってみたのですが一件目は取得できてるのですが
2件目以降は取得できませんでした。

資料も色々探してみたのですが、QuickReportに関しての資料はほとんどなくて...

知っている方教えてください。
0279デフォルトの名無しさんNGNG
>260
G: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デフォルトの名無しさんNGNG
>>278 QuickReportの前に、ためしに DBGrid貼って見てみたら?
0281Agent ◆AWcg9OTs NGNG
>>279
レスありがとうございます。
未定義の識別子 : 'IEnumVariant'
未定義の識別子 : 'AnimationNames'
のエラーです。 uses節になにかたらないのでしょうか?
0282デフォルトの名無しさんNGNG
>>278
DBの(SQLの)勉強をもっとした方がいい。
QRはただ単にデータを紙に出すだけ。
0283デフォルトの名無しさんNGNG
>281
IEnumVariant <- uses に ActiveX
AnimationNames <- IAgentCtlCharacterEx (Exがある)

取得されるStringは'GestureDown'等
0284デフォルトの名無しさんNGNG
上のほうでも話題になっていましたが、Indyのインストールができません。
Del6Personalです。どなたか教えてください。おながいします。
0285デフォルトの名無しさんNGNG
おながいかよ!(by 三村)
0286デフォルトの名無しさんNGNG

  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_)  \_________________________
0287デフォルトの名無しさんNGNG
Indy WinInet について書いてある

ttp://members.jcom.home.ne.jp/monazilla/document/index.html

0288デフォルトの名無しさんNGNG
>>284
・インストールに失敗したIndyのバージョンは?
・失敗したときのエラーメッセージは?
・DelphiにはUpdatePackあたってる?
0289デフォルトの名無しさんNGNG
ファイル名はIndy9_00_01_D6.EXE
エラーはYou Can not Install the program unless you have the Souse-Code 9.0 Build 1 install first...
UpdatePack2です。
0290デフォルトの名無しさんNGNG
>>289
IndyNet9_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
>>289
わたしもインストールに成功しました(つい今しがた)

私が思うに、Delphiのupdateがうまくいってないのでは?
0292デフォルトの名無しさんNGNG
>>290
Indyヘルプより
例外クラス EIdConnClosedGracefully は,接続が正常に閉じられた場合に生成されます。

EIdConnClosedGracefully = class(EIdSilentException)

説明

この例外クラスは,接続が正常に閉じられた場合に生成されます。
EIdSilentException から派生しているため,VCL の EAbort 例外のように動作します。
[ツール|デバッガオプション|言語固有の例外|追加] をクリックして「EIdSilentException」と入力し,
この例外を無視するように IDE を設定することをお勧めします。
0293デフォルトの名無しさんNGNG
Delphiだけで、今流行の ActiveX コントロールってやつ作れますか?
0294デフォルトの名無しさんNGNG
>>293
できたと思うぞ。
0295デフォルトの名無しさんNGNG
うん 出来るけど 無料のパーソナルじゃ普通は無理。

お金出してPRO以上買わないとCで作れるというのと同じレベルだから注意してね
0296初心者B@久しぶりのカキコNGNG
タイトルバーの表示をいじくる方法を教えて下さい。
例えば、文字の色を変えたりとか、最小化・最大化・閉じる以外にボタンを追加するとか…
0297デフォルトの名無しさんNGNG
タイトルバーを表示せず自分で描く。
0298デフォルトの名無しさんNGNG
>>296
フックして下さい。Windowsの神になれる技です。
0299デフォルトの名無しさんNGNG
>>296
シェアウエアで 拡張タイトルバーやフリーでもTTitleBarというのがあるのですから
出来ない事はないのでしょうが、,自分でやるならそれなりの知識が必要だと思います

なお、TTitleBar は自前で全て賄う方式なので、メニューを表示する場合に難しいようですね
0300ネタじゃないのよNGNG
Delphi2の頃にちょこっとだけいじっててver6がただで使えるので遊ぼうと思っていたのだけど
新規フォームにボタンを一個だけ配置してButton1Clickに
Close;
と書いただけなのに終了しなくなっちゃった。
昔はこれでプログラムが終了したんだけど今は何か余計な事を書かないといけなくなっちゃったの?
[エラー] Unit1.pas(30): 文が必要な場所に 'TButton' 型の式があります
と言われても昔はこのコードで通ったから良く分かんないっす。

誰かアドバイスください。
0301デフォルトの名無しさんNGNG
>>300
じゃあApplication.terminate();
0302デフォルトの名無しさんNGNG
>>300
ここは性格異常者の隔離スレだから、こっちへ行きなさい。
http://pc.2ch.net/test/read.cgi/tech/1010153466/

0303デフォルトの名無しさんNGNG
>>300
って文法エラーか。アフォらしい。
ネタじゃないならそのプロシージャ全部見せろって。
0304http:// p44-dna08funabasi.chiba.ocn.ne.jp.2ch.netNGNG
guest guest
0305デフォルトの名無しさんNGNG
どうせタイプミスだろ。
この手の質問はよくあるんだよな。
0306デフォルトの名無しさんNGNG
まあしかしこの程度のエラーの原因も掴めないのは
プログラマーの素質ゼロと言わざるを得ない。
0307デフォルトの名無しさんNGNG
>>300
わかりました。5000万出しましょう。
そのかわり、1年後にきっちり5000万返せますか?
0308デフォルトの名無しさんNGNG
>>300
ワシら、ここに暇つぶしに来とんと違うんや!!
こっちは真剣なんや!!
しょうもない質問すな!!
0309ネタじゃないのよNGNG
プロシージャ晒せとのお話しなので。
unit 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
>>307
病人が現れました。どうしよう?
0311デフォルトの名無しさんNGNG
あんた、思いっきりCloseってTButton型の変数宣言してるやん・・・。
0312デフォルトの名無しさんNGNG
>>311
激しく笑わしてもらいました。
なるほどね。
0313ネタじゃないのよ@赤っ恥NGNG
すっ、すまん。やっと意味が分かった。
NameをCloseButtonに変えたあるよ。

会社では一応ソフト屋で飯食ってるんだけどPascalはさっぱり最近いじってないし、、、

この板にはVXWorks使いなんていないよね?

どもみなさんありがとうございました。

あっそうそう、>>307
いいですよ。何でしたらメールアドレス晒しましょうか?
ただし私先物&経済板の住人だから元本保証無しだよ。
0314デフォルトの名無しさんNGNG
Delphi for Windows CE あげ。
0315デフォルトの名無しさんNGNG
>>314
詳しく教えて、頼むから。
0316デフォルトの名無しさんNGNG
>>314 DelphiコンパイラがCのソースでも吐くのか?
0317デフォルトの名無しさんNGNG
>>316
WindowsCEってご存じですか?
0318デフォルトの名無しさんNGNG
>>317 だから、全部のCPU用にpascalコンパイラ用意したの?
  それともCトランスレータ?
0319デフォルトの名無しさんNGNG
え、DelphiってCなんですか?
0320(-_-)NGNG
【コピペ1周年】4月7日同時多発オーダーIN吉野家【祭り】
(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
>>318
そうじゃないの?BorlandってCのCE開発キット出してたっけ?
もし無い場合、あなたの言っていることの意味が不明。
0322デフォルトの名無しさんNGNG
Delphi.NET が先だろ。
0323デフォルトの名無しさんNGNG
Indyのインストールはうまくいったようなのですが、>44が動きません。
Indy ClientsのTIdHTTPを乗っけて、Button1をクリックしMemoにURL表示というのを実行してみたのですが・・・
実行すると「ソースファイルが見つかりません:IdStack.pas」と表示されてしまい、
Indyのソースフォルダに有ったので指定しますが、OKを押すと
「デバッガ例外が発生」EIdSocketクラスが例外を発生しましたと表示されて・・・・・
0324291NGNG
>323
やってみたらちゃんとうまく行ったよ。(つい今しがた)

ところで>>268、>>274で「ある」と言われている
「Indyの日本語版ヘルプファイル」は↓のBorlandのサイトにあるkylix用のやつでしょうか?
http://www.borland.co.jp/kylix/kx2docup.html
0325デフォルトの名無しさんNGNG
http://www.vector.co.jp/soft/dl/win95/amuse/se232609.html
にある目覚ましスクリーンセーバーなんだけどこのソフトの出す目覚まし音が
Windowsアプリでボリュームを最大にした時の音より巨大なんだけどそんな設定なんて
どうやって出来るNO?
0326デフォルトの名無しさんNGNG
>>325
そのデータの音量が他のデータに比べてふざけた音量で作成されている。
0327デフォルトの名無しさんNGNG
>>326
そなのかなあ。色々と考えたんだけど答えがでんかったYO!

ところで、マスターボリュームの操作ってどうやるNO?
MixerAPIなんて使った事ないYO!
誰かサンプルコードきぼん
0328デフォルトの名無しさんNGNG
>>327
ttp://www.nifty.ne.jp/forum/fdelphi/samples/00507.html
あとは自分でなんとかやって
0329デフォルトの名無しさんNGNG
>>328
出来たYO!
ありが10!
0330デフォルトの名無しさんNGNG
39?
0331デフォルトの名無しさんNGNG
今年も4649!
0332デフォルトの名無しさんNGNG
Mediaplayerを使って繰り返して音を鳴らしているんですけど、
ボタン入力で音が鳴っていても途中で強制終了させることは出来ないでしょうか?
0333デフォルトの名無しさんNGNG
>332
Application.Terminate
でどお?

0334デフォルトの名無しさんNGNG
そのButtonのOnClickに
MediaPlayer1.Pause;
もしくは
MediaPlayer1.Stop;
0335デフォルトの名無しさんNGNG
Application := nil
とか。
0336デフォルトの名無しさんNGNG
>>333-334
駄目みたいっす。何か先行入力されている感じ。ボリュームをだんだん大きくするプログラムなんだけど
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デフォルトの名無しさんNGNG
ボタン押せなくないか?
0338デフォルトの名無しさんNGNG
>>337
そう押せない。
先行入力されてるみたいな感じで、何回か繰り返して再生された後で
やっと押せて終了出来る。

どうにか割り込み出来ないのでしょうか?
0339デフォルトの名無しさんNGNG
ループ中にApplication.ProcessMessages入れとけ
0340デフォルトの名無しさんNGNG
MLにも春厨ガ・・・

>>336
OnClick内でそんなに時間掛かる処理は普通やらないと思います。
・sleepの代わりにApplication.ProcessMessages
・タイマー(TTimerで十分でしょう)を使って似非割り込み
・OnIdleで同期とって処理
等でやりましょう。
タイマーが手軽かな。
0341デフォルトの名無しさんNGNG
MLに厨房?
どんなやつかコピペPLS
0342デフォルトの名無しさんNGNG
>>333-340
駄目だった。みんなレスありがとうね。
でも、色々とやってみて、音を鳴らす部分だけをFuctionに出したら
みんなが教えてくれたどのやりかたでも大丈夫だったあるよ。

同じコードの中に入れといたら割り込みが効かないなんて初めて知った。
みなさんありがとね。

解決レポしたばかりで聞くのも申し訳ないのですけど、スクリーンセーバーのように
キーかマウスに動きがあったら、ある特定の処理をさせたいのですが、OnMouseMove
はそのフォームの上ではきちんと思った通りの動きをしてくれるのだけど、OnMouseDown
やOnKeyDown、OnKeyPress,OnMouseClickは思った通りの動きをしてくれません。
それぞれのプロシージャにはClose;を入れてるだけで試しているのですが・・・

何かポイントがあるのでしょうか?
スクリーンセーバーとかを作った事のある人、教えてください。
0343デフォルトの名無しさんNGNG
>>342
DelphiではWindows標準のスクリーンセーバーは作成できません。
0344デフォルトの名無しさんNGNG
>>342
340にあるのも試した?

>>343
標準というがどういうのを指してるか分からないけど、Delphiでもスクリーンセーバーは作れるでしょ。
SCRNSAVE.LIB を使ってないってことなら、VC製スクリーンセーバーでも使ってないの多いし。
0345デフォルトの名無しさんNGNG
MyBase の使い方が いまいち良く分からないのですが…
例えば、

「名前 番号 住所」 というローカルデータベースを作るとして、

ClientDataSet を配置し、項目の新規作成をするところまでは分かるんです。
それにレコードを追加するときはどうするのですか? CommandText で
SQL 文を入力するのですか。
0346デフォルトの名無しさんNGNG
>>344
340にあるものってなんですか?
0347デフォルトの名無しさんNGNG
>>346
あ、すまん。終了処理はちゃんと解決してたんね。ちょと勘違いしてた。忘れてくれ。鬱
んでOnKeyDown、OnKeyPressはフォームのKeyPreviewをTrueにすればOKかと。
OnMouseDownなんかは…TImageとか張ってる場合はTImageのOnMouseDownとかに
記述しなきゃならないんだけど、それとは別問題?
0348デフォルトの名無しさんNGNG
>>347
レスありがと。教えてもらった方法でOnKeyDownは解決しました。
TImageとかは貼ってないのです。
あるのはボタンとタイマーのみ。
0349デフォルトの名無しさんNGNG
エラーの原因を教えてください!
ZLib で 以下の関数を使うと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=348NGNG
解決をしたと思ったら変なループをしてた(涙)
何故なのでしょう?
長くて切れるだろうけど載せます。ユルシテ
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
>>349
マニュアル読んでね。
0352デフォルトの名無しさんNGNG
開発者マニュアルに ZLib のことのってます?
0353デフォルトの名無しさんNGNG
Edit1〜3等でTABキーを押したときに必ずMemoにフォーカスを移動させたいんですが
OnKeyDown等ではTABキーが捕まえられません。
Ctrl+TABだと捕まえられるんですが・・・
TABオーダーだとEdit1->Edit2->Edit3->Memoのようにしか移動できません。
何かいい方法はないでしょうか?
0354デフォルトの名無しさんNGNG
Action コンポーネントを使い、
ショートカットキーに TAB を登録する。
0355デフォルトの名無しさんNGNG
>>354
ぬおー!できました!!
ありがとうございます〜
0356デフォルトの名無しさんNGNG
まあどっちゃでもいいけど
俺ならEditXOnEnterでActiveControl=Memoにするかも
0357デフォルトの名無しさんNGNG
VBやVC製のEXEを実行するには、VB、VC特有のDLLをインストールしなければならないとききました。
Delphi製のEXEを実行するときも、Delphi特有のDLLをあらかじめインストールしなければならないのでしょうか。
0358デフォルトの名無しさんNGNG
↑… どうなってんの???
0359358NGNG
失礼。ブラウザのせいでヘンな風に表示されてるだけだった。
0360デフォルトの名無しさんNGNG
>>349
 Ms.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
>>356
試してみたのですがEditにフォーカスが移動しません。
procedure TForm1.Edit1Enter(Sender: TObject);
begin
 ActiveControl:=Memo1;
end;
これじゃ駄目なんですか?
0363357NGNG
>>361
必要無い と聞いてはいるのですが、友人曰く
「必要だよ だって俺いれてるもん」

と言っているので、本当のところはどうなんだろうなーと
思いまして。
0364デフォルトの名無しさんNGNG
タダのポインタ var P:Pointer に
逆参照つけたら、型はなにになるんですかね。

P^ { 型は? }
0365デフォルトの名無しさんNGNG
これからはdelphiの時代でしょ。
0366デフォルトの名無しさんNGNG
ああああああ
ほんとうだああああああああああ

Ms.Write( P^, Length( P ) );
Ms.Write( POut^, PSize );

としたら旨く行きました!

結局 P も P^ も Pointer 型なんですかね。どっちも
互換性うんぬん言われなかったんで。
0367デフォルトの名無しさんNGNG
>>363
普通は必要ない。が、 String型をDLLをやりとりする場合や実行時パッケージを使って
構築した場合とかは、ぞれぞれBORLNDMM.DLLやパッケージファイルが必要になる。
0368デフォルトの名無しさんNGNG
たまに実行時パッケージを必要とするフリーウェアあるね。
0369デフォルトの名無しさんNGNG
>>366
Stream書き込みはBufferがConstで実際のデータを渡す必要があるので
逆参照する必要あり
Pointer型の逆参照は本来はできない仕様なので
(実際には何らかのデータが渡される?)
POut:Pchar; などとして
ZLib.CompressBuf( Ms.Memory, Ms.Size, Pointer(POut), PSize );
Ms.Write( POut^, PSize );
としたほうが良いカモ
0370342=348=350NGNG
どなたか教えていただけないでしょうか。
0371デフォルトの名無しさんNGNG
>>350
     end;
     j:=j+1000;
    end;          //←1、ここまでループするはずなのに
    exit;
   end;
  end;
 end;
end;

↑なんでここに EXIT がはいってるの?意味無いような。
0372デフォルトの名無しさんNGNG
>>363
それはDelphiのDLLじゃなくてそのソフト独自のDLLじゃ無いの?
0373デフォルトの名無しさんNGNG
>>350
それから、あまり深いインデントをするとみにくくなるよ。
工夫すれば、↓のようにも書ける事を覚えると吉。やってる事は >>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=348NGNG
>>371
レスありがとうございます。
end;が多数並んでいるのはそれぞれのendごとに実は処理が並んでいるのですよ。
とりあえずそれぞれの処理はサブルーチン化してまずはバグ取りを>>373を参考にして
やってみます。
0375342=348NGNG
>>373
やってみたのですけど駄目でした。
原因を追及する為に簡略化しているのですが、

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デフォルトの名無しさんNGNG
Listboxの内容(text)をClipboardに入れようと思い

Clipboard.AsText := String(Listbox1.Items);

としたのですが、思ったとおりの数値が出てきません。
どうしたらよいのでしょうか?
0377デフォルトの名無しさんNGNG
Application.ProcessMessages
で、さらに >>375 が呼び出されているって事はない?

つまり、1の下を実行せず2にジャンプしているのではなく、
新たにもう一つ関数を実行していると。

>>375 のコードはどのイベントに書いてあるの?
0378デフォルトの名無しさんNGNG
Clipboard.AsText := Listbox1.Items.GetText;
0379デフォルトの名無しさんNGNG
TListBox.Items って TStrings でしょ?
TStrings を String にキャストできるの?
内容のテキストを得たいときは
ListBox.Items.Text で。
0380デフォルトの名無しさんNGNG
>378 >379
ありがとうございます。
それでいけました。

しかしこのままだと、ListBox の一番上にあるものが
クリップボードに入ってしまいますよね?
選択したものをクリップボードに入れる場合はどうすればいいのでしょうか?
0381342=348NGNG
>>377
毎度ありがとうございます。
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
>>380

何番目の行が選択されているか?は、
ListBox.ItemIndex で取得できるので、

Clipboard.AsText := ListBox.Items[ ListBox.ItemIndex ];

とすればよい。
0383デフォルトの名無しさんNGNG
えっと、「演奏が終わった」っていうイベントが Mediaplayer に
なかったっけ?

MediaPlayer.OnNotify とか
0384デフォルトの名無しさんNGNG
それからさ、
MediaPlayer1.wait:=false;
で、なんで False なのよ。
どうしてわざわざFALSEなのよ。

> 音が鳴り終わるまで待たさせる方法が無く、どうしようか悩んでます。

WAIT := Fasle

の意味に気づいてYO!
Waitよ?
Wait に False よ?
0385342=348NGNG
>>384
先輩すみませんでした。おっしゃるとおりでした。(礼)
waitをTrueにしたらきちんと前の音の再生を待って再生するようになりました。

でも、結局Application.ProcessMessages;
を入れてるのにキー入力やマウス移動などの割り込みは受け付けません。
コードの位置をタイマーのOntimerからフォームのOnShowに移したりしても駄目です。

何か良い方法はないでしょうか?
0386デフォルトの名無しさんNGNG
>>382
ありがとうございました。
無事に動いてくれました。
0387デフォルトの名無しさんNGNG
>>385
「Notify:=True;」の後、再生して
OnNotifyで終了のタイミングを拾う
0388342=348NGNG
>>387
OnNotify プロシージャを作ってマウスの移動やキー入力のチェックをやってみたのですけど
やっぱり駄目でした。
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デフォルトの名無しさんNGNG
procedure TForm1.Mediaplayer1Notify(Sender:TObject);
begin
mediaplayer1.notify:=True;
mediaplayer1.play;
end;
0391デフォルトの名無しさんNGNG
>OnNotify プロシージャを作ってマウスの移動やキー入力のチェックをやってみたのですけど
>やっぱり駄目でした。
何やりたいの?(藁
OnNotifyは再生が終わったときに来るんだよ。
少しはヘルプ読めよ。甘えすぎだろ。
0392342=348NGNG
>>389
甘えすぎと感じたら許してくれ。
OnNotifyの意味は分かってますし単純アプリで動作する事も確認しています。
同じ音を繰り返し再生している時にキー入力やマウスの移動を検出してプログラムを
止めたいのに止まらないんですよ。出来てますか?
だからみんながOnNotifyだ、とか色々と教えてくれている事をすべて試してるんですけどね。
OnCreate,Onshow,OnPaint,OnTimer等いろんな場所に置いたりコードをいじったり
してるんですけどキー入力時に割り込んで終了させることができてません。
0393デフォルトの名無しさんNGNG
(´ー`)y-~~。oO(どうでもいいけどさStringとTStringsに関する質問が今までで一番多い(はず)のは何でだろう?)
0394デフォルトの名無しさんNGNG
>>389-390のコードでちゃんとできてるけど…
0395デフォルトの名無しさんNGNG
>>392
いっかい頭を冷やして一つ一つ理解してから再挑戦してみよう。
言われたことがごっちゃになっちゃってちゃんと理解してないよ。
0396デフォルトの名無しさんNGNG
>>390
OnNotify内でNotifyValue見ないと終わらないよ
0397デフォルトの名無しさんNGNG
Mediaplayer について整理してみよう。

・Mediaplayer の Wait を False にしているならば、
Playしている最中でも、関係無くDelphiのプログラムを実行することができる。
なんつうか、外部の再生プログラムを呼び出しているだけ と考えても
よいかもしれない。

・従って、 Wait := False であるかぎり、 Play 中だろうがナンだろうが、
マウスのクリックイベントなり移動イベントなりは普通に発生し、
普通に処理できる。

・故に、OnMouseMove や OnMouseDown, OnKeyDown 等に Stop 命令を
入れておけば、すぐに停止するはずである。

・繰り返し再生したいときは、 Notify := True としておき、
OnNotifyイベントに
Notify := True と、 Play の2つの命令を入れよう。
0398デフォルトの名無しさんNGNG
・それから、Wait:=True にしたときに、

Play;
Application.ProcessMessages;

としても無駄である。なぜって? だって、再生が終わるまで、
Play から後の命令は実行されないんだもん。なんせ待ってるからね。
0399デフォルトの名無しさんNGNG
だから、StopしたときもOnNotifyが呼ばれるだろ・・・アフォが。
0400デフォルトの名無しさんNGNG
>>357
亀レスすまん。
Delphiでも「実行時パッケージ」と使うようにコンパイルすれば
実行時パッケージファイル(*.bpl 一種のDLL)が別途必要になる。
0401342=348NGNG
>>397
わざわざまとめてくださってありがとうございます。
恥を忍んですべてコードを晒します。
スクリーンセーバーを時間によって切り替えるソフトです。
コードは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デフォルトの名無しさんNGNG
ご質問があります。Form上にMemo,WebBrowser,Edit,ButtonとIndyのIdHttpを乗っけていて、
Editで指定した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デフォルトの名無しさんNGNG
>>402
OnDocumentCompleteイベントでやれば?
0404402じゃないけどNGNG
ソースが欲しいんでしょ?よーするに。時機じゃなくて。
一旦保存して、読み込んだら?>>402
一番簡単だと思う。スマートじゃないけど(ワラ
0405デフォルトの名無しさんNGNG
OnBeforeNavigate2
OnNavigateComplete2
あたりで切り替わりをみて
切り替わった後
Memo1.Lines.Text:=IdHTTP1.Get(新しいURL);
ってとこだろう。
0406デフォルトの名無しさんNGNG
>404
臭いよ

>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デフォルトの名無しさんNGNG
(´-`).。oO( どうしたら>>404のような解釈になるんだろう・・・
0408デフォルトの名無しさんNGNG
>401
while j<14000 do
begin
....
end;

メインスレッド中でWhileループをまわして
再生しているので再生中はロックするのは当然かと
別スレッドにするか、Timer等を利用してWhileループを
用いない設計にするなどしたほうがよろしいかと
0409デフォルトの名無しさんNGNG
分かってる気がしてる厨は放っとけよ。
穴だらけじゃん。
0410デフォルトの名無しさんNGNG
409=分かってる気がしてる厨
0411デフォルトの名無しさんNGNG
>>402
procedure TForm1.UIWebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
RichEdit1.Lines.SetText(PChar(UIWebBrowser1.DocumentSource));
end;
0412342=348NGNG
>>408
えっ、while文の中ってロックされてしまうんですか?
知りませんでした。
タイマーをもう一個追加してそちらで処理するようにしたらやっと上手くいきました。
ありがとうございました。

>>409
自分用だからエラー処理はしてないの。気にせんといて。
それ以外に穴があるんだったら教えてちょ〜
0413290NGNG
>>292
ありがとです。
デバッガオプションの言語固有の例外に追加しただけだと、
デバッガ中に停止はしなくなりましたが、エラーメッセージは表示されるので、
try
SL1.Text := IdHTTP1.Get(URL);
except
on EIdConnClosedGracefully do raise EAbort.Create('');
end;
こんな感じにしたら表示されなくなりました。
しかし、これだと例外が生じた時にダウンロードがされないままなので、
成功するまで二、三度ダウンロードを試みて、
ダメだったらメッセージを表示するようにしたいのですが、
どうすればいいのでしょうか?
0414デフォルトの名無しさんNGNG
>>412
While文処理中はロックされるのか?
ヘルプにそんな事書いてないぞ?
また勘違いしてるんじゃないのか?
0415デフォルトの名無しさんNGNG
作成したプログラムで原因不明のエラーが発生してお手上げです。
どなたかぜひ何か解決のためのヒントだけでもお教え下さい。

delphi5.0で作ったプログラムを実行させると
「モジュールxxxx.exeのアドレス 004AE548でアドレスFFFFFFFCに対する
読みこみ違反がおきました」というエラーが発生して止まってしまいます。

xxxx.exeは自作してプログラムです。そのためアドレスは作成したソフトに
よって異なると思われます。


プログラム自体はインターネットを使用してhttpにてデータを何件かまとめて
データを受信するプログラムです。
同じデータを受信しても全く発生しないこともありますし、
有る特定のデータを受信したときに発生するというわけでもないです。

上記のようなエラーメッセージはどのようなときに表示されるのでしょうか

0416Agent ◆AWcg9OTs NGNG
>>283 レスありがとうございます。
コンパイル、実行は出来ましたが、アニメーション名の取得の
処理をすると以下のエラーが出ます。
デバッガ例外が発生
プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'Project1.exe' のアドレス 00460922 でアドレス 00000000 に対する読み込み違反がおきました。'

ソースの変更は、user節にActiveXをしました。
このようなエラーの場合はどうすればよいか助言願いませんでしょうか?
0417デフォルトの名無しさんNGNG
16進数の文字列があったとしてそれを10進数にしたいんですがどうしたらいいでしょうか?
HexToIntと言うのがなく困ってます。

0418デフォルトの名無しさんNGNG
>>417
A := '3F';
B := StrToInt( '$'+A );

もしくは

B := StrToIntDef( '$'+A, 0 );
0419はたNGNG
どうやってもできないです。>>278
QuickReportに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
>>420
また?またって何?
勘違いって何処?(全部!?)
肝心の所が抜けている...
0422デフォルトの名無しさんNGNG
今日も毛が抜けている..
0423デフォルトの名無しさんNGNG
Delphi始めたんですがSystemのTimerって言うのを貼り付けても時計が表示されません。
何でですか?

Delphi6のプロフェッショナルです。
0424デフォルトの名無しさんNGNG
>>423
 貼り付けたタイマーのアイコンをダブルクリックして

Caption:=FormatDateTime('hh:mm:ss',now);

と入力してから F9ボタンを押して下さい
0425デフォルトの名無しさんNGNG
ネタじゃないのか
0426デフォルトの名無しさんNGNG
>>419
勘違い発覚!
QueryにSQL文セットするところで、文字列を'で囲んでなかった。
'Select * From A Where CD = '12345''と記述するところを
'Select * From A Where CD = 12345'と記述していた。
例えばコードが'0123'など頭が0だとEOFになっていたようです。
>>420の方、勘違いを気づかせてくれてありがとう。
0427デフォルトの名無しさんNGNG
C++ってなんですか
0428デフォルトの名無しさんNGNG
>>427
どうぞ
 ↓
VisualC++相談室 【7】
http://pc.2ch.net/test/read.cgi/tech/1017843192/
0429デフォルトの名無しさんNGNG
>416
Agentのロードをしていない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
>>429
レスありがとうございます。
無事にアニメーション名を取得できました。
また何かありましたら寄らして頂きます。
本当にありがとうございました。
0432初心者BNGNG
>>423
SystemのTimerは、一定時間ごとにイベントを発生させるコンポであって、
時計を表示させるものではないのですよ。
0433デフォルトの名無しさんNGNG
IndyでIdHTTP.Getを実行すると、ダウンロード中固まったようになっちゃうけど、ならないようにはどうしたらいい?
0434デフォルトの名無しさんNGNG
おっ&Hearts;
ttp://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
>>412
ほらwhiile文のヘルプから割り込みを受け付けないってのを探し出してみな。
0436デフォルトの名無しさんNGNG
おい、おまえら教えてください

いまTListView改造してViewStyle=vsReportの時に表示される
ヘッダ部分にビットマップを描画する方法を探っているのですが、

TListViewにWM_PAINTメッセージメソッドを書いて
その中でヘッダ部分に描画しにいくと、
リストビューの内容をスクロールするだけでヘッダーの方まで再描画されてしまいます。
ヘッダ部分のWM_PAINTメッセージだけを捕捉する方法ってないですか?

なおにヘッダ部のハンドルは GetTopWindow( Handle );で取れました。
0437デフォルトの名無しさんNGNG
>>436

>いまTListView改造して

はい?
0438デフォルトの名無しさんNGNG
>>473
>いまTListView改造して
TListViewから派生クラスを作ること。

その程度の事も読めないヴビ厨は(・∀・)カエレ!
0439デフォルトの名無しさんNGNG
>>436
TListColumn.ImageIndexではダメなん?
0440デフォルトの名無しさんNGNG
>>438
プログラミング用語すらまともに操れないあなたの方に不信感。
0441デフォルトの名無しさんNGNG
>>440
いちいち突っ掛かるなよ
0442デフォルトの名無しさんNGNG
>>436
ヘッダを非表示にして、 THeaderControl を使うのが楽そう。
0443デフォルトの名無しさんNGNG
プロジェクトファイルに
ParentHandle
を書いたらParentHandleが未定義の識別子と怒られるんだけどなじぇえ?

usesには当然 Sysutils, Windows,を追加してる。
0444デフォルトの名無しさんNGNG
>>443
事故レス。馬鹿だった。許してくれ。
0445デフォルトの名無しさんNGNG
>>443
SysUtilsにもWindowsにもParentHandleというのは定義されてないと思うけど

ところでParentHandleって何?
DelのヘルプにもMSDN(漏れのはちと古いけど)にもキーワードには出てこないし
0446デフォルトの名無しさんNGNG
>>444 あ、ごめん・・・突っ込んじゃった
0447デフォルトの名無しさんNGNG
TMemoryStream にテキストデータを書きこもうとして
AString := 'ABCDEF';
APChar := PChar( AString );
APointer := @APChar;
MemoryStream.WriteBuffer( APointer^, Length(AString) );

としても、正しく書きこまれません。
いや、正しく書きこめないならそれで良くって、既に別の方法で
正しく書きこめているのですが、

なぜ、この書き方ではダメなのでしょうか。
0448デフォルトの名無しさんNGNG
×APointer := @APChar;
○APointer := Pointer(APChar);
0449デフォルトの名無しさんNGNG
>>447
448さんのでOKだけど
APointer:=APChar;
でも大丈夫みたい
0450デフォルトの名無しさんNGNG
>>447
別解
×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
>>451
そっちやさしくないじゃん
0453447NGNG
>>448-450 ありがとうございます。
もしかして、APChar 自体がポインタなので、
@APChar とすると、文字列のアドレスではなく、
文字列へのポインタを保持しているアドレスを
得ることになってしまう… ということでしょうか。
0454デフォルトの名無しさんNGNG
ポインタのポインタ・・・C/C++ではよく出てくるやつですね
0455デフォルトの名無しさんNGNG
MemoryStream.WriteBuffer(AString[1], Length(AString) );
0456デフォルトの名無しさんNGNG
決定しました。

Delphi相談室その4
http://pc.2ch.net/test/read.cgi/tech/1018211735/
0457デフォルトの名無しさんNGNG


     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /'   つ 再  開 │
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
               ゛゛'゛'゛
0458ななしへたぐらま ◆B18Bks.Y NGNG
>>238
遅レスですがそういう説明方法もあるのですね.
それにしても簡潔でわかりやすい説明ってホントにむずかしい.

>>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
MDIBrowserのブックマークみたいに、
ドラッグするとくっついたり離れたりするウインドウって
Delphiでも出来ますか?
0460デフォルトの名無しさんNGNG
>>459
できるよ。Delphiはドッキング周りが強力。
IDEみたいにするのは面倒だけど。

っつかIDE互換なドッキング実装した人いる?
0461デフォルトの名無しさんNGNG
ドッキングも良いが、やりすぎると
ユーザーが所望のポジションにウインドウ配置できなくてイラついてくる罠。
0462デフォルトの名無しさんNGNG
>>461 VS.NET の事?
0463デフォルトの名無しさんNGNG
16進数を2進数に変換する方法ってないかしら?

FC4FC4FC4って言う文字列だったら 111111000100111111000100111111000100 になりますよね。
どうやったら出来ます?
0464デフォルトの名無しさんNGNG
>>463
1バイト単位にInteger型に変換して、2進文字列のテーブルをひくのが簡単でしょう
0465デフォルトの名無しさんNGNG
問:「〜なり」を使って短文を作れ(ex.彼女を見るなり走り出した)
答:「コロッケはおいしいナリ」

問:「うってかわって」を使って短文をつくれ
答:彼は麻薬をうってかわってしまった

問:「もう・・・してしまった」を使って短文をつくれ
答:もうしわけないことをしてしまった
0466デフォルトの名無しさんNGNG
>>463
10進変換後に2進変換。
0467465NGNG
誤爆なり。スマソ
0468デフォルトの名無しさんNGNG
>1バイト単位にInteger型
ワラタ
0469デフォルトの名無しさんNGNG
>>463
16進数1桁は2進数4桁(16種類)に対応する。
テーブルで展開する手もあるYO(笑)
0470デフォルトの名無しさんNGNG
function IntToBin(I:Integre):string;
begin
 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デフォルトの名無しさんNGNG
function IntToBin(I:Integre):string;
begin
 while I > 0 do begin
  Insert(IntToStr(I mod 2), Result,1);
  I := I div 2;
 end;
end;
0472デフォルトの名無しさんNGNG
function IntToBin(I:Integre):string;
begin
 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デフォルトの名無しさんNGNG
アラアラ...
0474デフォルトの名無しさんNGNG
×I:Integre
○I:Integer
0475デフォルトの名無しさんNGNG
function HexToBin(hex:String):String;
function 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
comboboxでVBのListIndexのような使い方はどうやればいいのでしょう?
(表示は名称で、内部でコードを保持したいのですが)
0477デフォルトの名無しさんNGNG
>>476
大きく2つの方法がある

1、ItemsのObjectsにアイテムを保存する 整数なら無理やり型変換して入れちゃえ

2、別の動的配列に保存しておいてItemIndex を指標に得る
0478デフォルトの名無しさんNGNG
複数行の文字列があるString変数で、
一行だけを抜き出すにはどうしたらよいでしょうか?
0479478NGNG
>>478
ちょっと訂正
一行だけを → 指定した行だけを
0480デフォルトの名無しさんNGNG
>>TStringsList をその場で作って Textに代入 して Strings[n] で

with TStringsList.Create do try
Text:=複数行文字列

 for i:=0 to Count-1 do begin
 writeln( Strings[i] ); みたいな感じで使う
 end;
finally free;end:
0481デフォルトの名無しさんNGNG
A
0482デフォルトの名無しさんNGNG
N
0483デフォルトの名無しさんNGNG
S
0484デフォルトの名無しさんNGNG
ページコントロールに対して

PageControl1.ActivePage:=TabSheet1;

ってコードでやると、タブはそのタブになるけど
タブ内のコントロールがちゃんと表示されない状態になるんですが?

Delphi5Proなんです
0485デフォルトの名無しさんNGNG
なりませんが?
0486484NGNG
>>485
ならないですね〜 検証の為に新規作成してやってみたら問題置きませんでした ん〜

もう少し調べてみます
0487デフォルトの名無しさんNGNG
自作スクリプトの動作、処理をするのに
文字列から関数が呼べるようなものがあったら便利だと思うのですが
何かいい方法ないですかね?

ちなみに現在、私はTStringListのAddObjectを使って関連づけています
0488デフォルトの名無しさんNGNG
さくらスクリプトですか?
0489デフォルトの名無しさんNGNG
>>487 クラスのPublishedメソッドなら メソッド名を文字列で与えて呼び出せるよ

詳しい事はマ板のギコbasicすれを参照
0490デフォルトの名無しさんNGNG
>>488
検索してみたけどどうやら違いますね
>>489
それらしきものを発見しましたので
そこのスレからもう少し調べてみます。
0491デフォルトの名無しさんNGNG
TPageControlでタブの位置を左右にすると
タブのキャプションが縦書きになってしまうのですが、
これを上下にタブをつけた時と同様に横書きにすることはできないのでしょうか。
0492デフォルトの名無しさんNGNG
縦書き用フォントを指定すれ。
逆さでいいなら。
0493デフォルトの名無しさんNGNG
あ、右端なら逆さにはならないか。おもしろ。
0494デフォルトの名無しさんNGNG
「上下にタブをつけた時と同様に横書きにする」

というのは、サイドについたタブを横長にして、
通常の横書きフォントで表示するという意味でした。

説明不足ですいません。
0495デフォルトの名無しさんNGNG
>>494
TabHeightの数値を大きくして、OwnerDrawする。
0496デフォルトの名無しさんNGNG
今、Delphiの入門書を読んでいて
はじめてDelphiに触った頃のことを思い出した。

当時は「型が一致していません」のエラーに神経質なコンパイラだと思ったものだ。
IntToStrもStrToIntの存在も知らなかったからどうしようか途方にくれたりもした。
今ではこのメッセージがいかにありがたいかよく分かる。
0497デフォルトの名無しさんNGNG
>>495
(・∀・) できました!! TabWidthも指定したら完全に望み通りになりました。
ありがとうございます。
0498デフォルトの名無しさんNGNG
Borland Database Engine の初期化中にエラーが発生しました (エラー $2B32)
という、初期化時に何らかの共有違反が発生しているのですが、解決できた方はいらっしゃいますか?
0499デフォルトの名無しさんNGNG
Delphi、DLが大変っす。
雑誌に収録されてたりしませんか?
0500デフォルトの名無しさんNGNG
0501デフォルトの名無しさんNGNG
Delphi Proを使っているのですが、
BDEでSQL-Serverに接続するには、
どのような設定を行えばよいのでしょうか?

やはりODBCを使わないと
接続できないのでしょうか?
0502デフォルトの名無しさんNGNG
>>499
収録されている雑誌、解説書はある。
っつか、本屋へ行ったりして確かめてから書き込みなさい。
0503デフォルトの名無しさんNGNG
モナーさん、厨房な質問ですいません

Delphi 6 Update Pack 2は、
Delphi 6 Update Pack 1を入れなくても大丈夫なのですか?

WinNTのサービスパックの様に、
最新だけ適用しても大丈夫という物なのでしょうか?

それとも、Delphi 6 Update Pack 1を入れた後でないと
意味がないのでしょうか?
0504デフォルトの名無しさんNGNG
>>503
http://www.borland.co.jp/delphi/del6up.html#del6up2より抜粋
このアップデートファイル #2 は、アップデートファイル #1 の内容を含みます。
ということなので、Delphi 6 Update Pack 2のみで大丈夫のようです。
0505デフォルトの名無しさんNGNG
>>501 ODBCかADOでやるしかないでしょう
0506デフォルトの名無しさんNGNG
モナーさんは危篤です。
0507デフォルトの名無しさんNGNG
右クリックしたまま左クリックしないと押せないボタンを作りたいと思っています。
右ボタンの押下状態を知るすべを与えてください。。。
0508デフォルトの名無しさんNGNG
>>507
Delphi付属のAPI32WH.HLPより抜粋
VOID mouse_event(dwFlags, dx, dy, cButtons, dwExtraInfo)
あたりはいかがでしょうか?
0509507NGNG
>>508
レスありがとうございます。
しかし、その方法だと押下状態が変わった瞬間しかわからないため、
現在の押下状態を正確に知ることが出来ない場合がありますね。
キーボードのSHIFTやCTRLのように、一発ででてくるAPI知りませんか?
0510デフォルトの名無しさんNGNG
こういうことでなく?

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ssRight in Shift then
    ShowMessage('Pushed');
end;
0511デフォルトの名無しさんNGNG
じゃなきゃ

if (Word(GetKeyState(VK_RBUTTON)) and $80) <> 0 then
0512デフォルトの名無しさんNGNG
フォームの[x]ボタンを無効化するにはどうしたらいいの?
おしえて!
0513507NGNG
>>511
まさしくこれをやりたかったのですが、
GetKeyStateでマウスの状態もわかるとは思いがけませんでした。
大変参考になりました。
いや、参考ではなく答えでした。すみません。
0514デフォルトの名無しさんNGNG
>>512 フォームのプロパティを一度順に眺める事をお勧めします
0515507NGNG
ちなみに
if GetKeyState(VK_RBUTTON)<0 then
じゃ?だめかしら
0516デフォルトの名無しさんNGNG
>>514
biSystemMenuで消せました。
無効化では無かったけど万事解決です。
どうもです。
0517デフォルトの名無しさんNGNG
>>512
procedure 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になるからそれでも大丈夫
0518503NGNG
>>504さん、ありがとうございます
これで安心してアップデートできます。
0519Delモナー ◆fPymXWHY NGNG
>>506
このスレを立てたモナーなら

  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 生きてるよ。
 (    )  \______
 | | |
 (__)_)

全板人気トーナメントが面白いな。非公認だったのだが、
ついに夜勤さんが専用板を作ってしまった。 http://live.2ch.net/vote/
この板は予選19組、4/21(日)出場だけど、この板の住人の性格からして、
一生懸命宣伝活動をする有志が現れなさそうな予感。
0520デフォルトの名無しさんNGNG
アクションマネージャって、凄くメモリ食ったりだとか、実行時速度に影響を及ぼしたりだとか、EXEサイズが異様にでかくなったりだとか、しますか?
0521デフォルトの名無しさんNGNG
だとかx3
0522デフォルトの名無しさんNGNG
おもわば笑え〜
0523デフォルトの名無しさんNGNG
独学でがんばろうと思ってたけどやはりツライので質問させてください。
Delphi6Personal版の関数FileWriteについて、Helpの載ってる例を試しに動かしてみると

FileWrite(FileHandle, StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);

の真ん中の引数で「変数じゃないよ」ってエラーが出ます。
Helpの例題は実行できないモノと考えた方がいいんでしょうか?
それとも俺を鍛えるためにワザとエラーがしこんであるんでしょうか?
0524デフォルトの名無しさんNGNG
>>523 ホントだ ヘルプの例題が間違ってるよ
0525デフォルトの名無しさんNGNG
>>523
例題が間違ってるから

function FileWriteStr(Handle: Integer; str:String);Integer;
begin
FileWrite(FileHandle, str, Length(str);
end;

のように関数を作って、一度変数にしてから渡さなければいけない
0526デフォルトの名無しさんNGNG
別解として
FileWrite(FileHandle, PChar(StringGrid1.Cells[X,Y])^ , Length(StringGrid1.Cells[X,Y]);
0527523NGNG
もう返答が!
どうもありがとうございます。早速試します。
ちなみにFileReadのヘルプ例もそのままじゃ動きませんでした。

iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);

のBufferをBuffer[0]にすると動いてくれました。
カッコが足りないとかはさすがに気がつくのですが、例題が動かないと
いうのは独学だとツライですね。
0528523NGNG
うまく動きました。どうもありがとうございます。

自分でBuffer[255]って確保して、
Buffer := StringGrid1.Cells[X,Y];としてから

FileWrite(FileHandle, Buffer, Length(StringGrid1.Cells[X,Y]));

として回避しようとしていたのですが、こうするとStringGridに入力された
数字の末尾が欠けてセーブされてしまい、途方に暮れていました。
PCharの方法を試してみたところ、セルの数字が欠けることもなくなりました。

朝からずっと悩んでたのに、ものの20分で解決していただき、感謝します。
0529デフォルトの名無しさんNGNG
>>527
きっとCを先にやった人ですね?
そこは
 iBytesRead := FileRead(iFileHandle, Buffer ^ , iFileLength);

とやるクセを付けた方がいいですよ。
0530523NGNG
そうです。ですがCは少しかじっただけでした。
後ろにつける^は逆参照ですか、ということは私は必死にアドレスを
突っ込んでいたということでしょうか?

本業はVerilog-HDLです。
0531デフォルトの名無しさんNGNG
FileWrite FileReadで渡しているのは 型なしパラメータ といいます。
C++ 言語でいえば 参照渡しで、実際にはポインタ=変数のアドレスが渡されます
buffer を渡すとダメなのは buffer という変数のアドレスが渡されます。
つまりポインタのポインタが渡されます

Buffer は PChar 型なのですが 
DelphiではCを使ってる人の特例というかサービスとして array[0..なんとか] of Char と
勝手に互換するようにしています。

ですから buffer[0] も buffer ^ も同じ結果を得られるのですが
このサービスは文字型ポインタに限っているので
var buffer:pByte のように定義すると buffer[0] が使えません。


0532523NGNG
納得行きました。ありがとうございます。
Pascalは厳格そうなのですが、Delphiではそういうサービスもあるんですね。
わかりやすい説明のおかげでやる気が出てきました。助かります。
0533デフォルトの名無しさんNGNG
という事で ボーランドの2CHサポートの方、
ヘルプの修正修正報告ちゃんとあげといてくださいね
0534デフォルトの名無しさんNGNG
パーソナル無パッチ当てなんだけど、
UpperCaseを全角混じりの文字列に実行すると、
素敵なワケワカメな言葉に翻訳してくれるってのは、パッチ当てると治るですか?
0535デフォルトの名無しさんNGNG
>534
治りません。
0536534NGNG
>>535
出来れば、なぜ治らないのかまで教えて頂けると即答に納得がいくので
お願いいたしまする。
どーゆー理由で翻訳してくれるんだろう?
0537デフォルトの名無しさんNGNG
あの、Indy コンポーネントの使い方を開設した
本かサイトはありませんか?
0538デフォルトの名無しさんNGNG
治る見込みが無いので御家族をお呼びして下さい。
0539デフォルトの名無しさんNGNG
>>537
(´-`)。o ○ (その質問、オレが前にしたなぁ…)
0540デフォルトの名無しさんNGNG
>536
ヘルプ読むね。
0541536NGNG
>>540
読みました。ありました。そっか(藁
納得。
0542デフォルトの名無しさんNGNG
UpperCase は元々そう言う仕様だから。

AnsiUpperCase.
0543536NGNG
>>540,542
ですね。盲点(オレだけ?)でした。サン・キュー。
4億5614シェクシー!
0544デフォルトの名無しさんNGNG
キーボードフックでShiftやCtrlなどを押しながらの入力であることを
検知したい場合は、どのようにすればいいのでしょうか?

1) Shift、Ctrlなどにそれぞれフラグを用意する。
2) 何かキーが押された時点で、GetAsyncKeyStateで判断。

くらいしか、思いつきませんでした。
0545デフォルトの名無しさんNGNG
Indyの日本語ヘルプってどこにあるのですか?
検索を駆使して探しましたが影すらつかめません。
0546デフォルトの名無しさんNGNG
C# Builderはいつ発売予定ですか?
0547デフォルトの名無しさんNGNG
>>544
メッセージの中には一緒に押してるキーの情報くれるのあるでしょ
なに拾ってるの?
0548544NGNG
そうなんですか?
KeyboardProcでは、同時に押されてるキーの情報は取得できない
ようなんですが、他のフックプロシージャを使えばいいのでしょうか?
0549537NGNG
>>539
members.jcom.home.ne.jp/monazilla/document/indytips.html
以前でてきた このサイトは分かるのですが、
IdTCPClient と TdTCPServer の使い方が知りたいのです。
ヘルプには必要最低限のことしか書いてないし…
0550デフォルトの名無しさんNGNG
あやしすぎるドメインだけど、別に有害ではないと。
http://www.111111111111111111111111111111111111111111111111111111111111.com/mao.html
0551デフォルトの名無しさんNGNG
GetAsyncKeyStateとかは使わないの?
0552デフォルトの名無しさんNGNG
VCLでは 普通にWM_KEYDOWN とかのメッセージ処理ハンドラで GetKeyStateを呼んでるだけだね

>>551
フックをかけてるんだから、最初にGetKeyboardStateで全部の状態貰って
以後は自分でフラグを処理したらいいんじゃないの?
0553えむNGNG
QuickReportでバーコードを印刷できるのでしょうか?
0554デフォルトの名無しさんNGNG
>>553
バーコードフォント使え
0555デフォルトの名無しさんNGNG
DBGrid で、一番右のカラム幅を、グリッドコントロールにあわせて変化させたいのですが、どのようにすれば最もエレガントかつ楽にできるでしょうか。

また、Stringを表示する際に、絡む幅に合わせてWordWrapさせ、かつ
開業に合わせて行の高さも、その文字列がおさまるように
自動変更させたいのですが…
0556名古屋在住・中日ファンNGNG
>>555
派生させて独自のコンポーネントを作るのが最もエレガントかつ後々楽
0557デフォルトの名無しさんNGNG
ごめんなさい正直に。
エレガントでなくてもいいから、やり方教えてください…
0558デフォルトの名無しさんNGNG
でも、>>555を満たすようなコンポーンネント作るとすると、以下のような事をしなければなりませんよね。

1) TColumn を継承して WordWrap, AutoWidth プロパティを追加.
2) WordWrap が on になったカラム幅が変更されたときに OnColumnResize イベントを発生
3) OnColumnResize イベント発生時に、全フィールドについて
表示に必要なセル高さを取得

あと、いろいろありそうなんですがどうにも思いつかないです…
助言をください。
0559デフォルトの名無しさんNGNG
あの、OnColumnResize イベントって、どうやって取得したらよいでしょうか
0560デフォルトの名無しさんNGNG
TDBGrid では TColumn を使用していますが、これを TColumnEx で
代用させるためには、 TColumns を継承した TColumnsEx などをつくり、
クラスやメソッドを差し替える必要があるのでしょうか。
0561名古屋在住・中日ファンNGNG
>>557
とりあえず一番右の列を合わせるのはこれでできるけど、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
>>554
バーコードフォントってなんでしょう?
是非使い方を教えてください。
0563デフォルトの名無しさんNGNG
>>562
普通のフォントがバーコードになってるだけ。
例えば、半角で”1234”とか指定すると、バーコードで ”┃|||┃| ”こんな感じで表示される。

有償な奴なら ttp://www.hitachi.co.jp/HAND/SOFTPAGES/1851.html

他で探せばフリーなバーコードフォントもあるから探してみたらどーですか。

難点は、フォントをインストールしないと使えないことだが、仕事とかで使うなら
(ネットとかで配布するソフトじゃなかったら)問題ないだろう。
0564デフォルトの名無しさんNGNG
バーコードならこんなのもあるよ
http://www.vector.co.jp/soft/win95/writing/se196641.html

海外サイトでもあるから検索してみたら?
0565デフォルトの名無しさんNGNG
RichEditを透明にしたいんですが、ソース見ても全く分かりませんでした。
初心者が解読するのは不可能でしょうか・・?
それと、Richeditの背景透明にするコンポってありますか・・?一応探したんですが見つからなくて。
0566デフォルトの名無しさんNGNG
>>565
メーリングリストでも同じ質問してなかった?
0567デフォルトの名無しさんNGNG
>566
 メーリングリストでも何度か質問が出たみたいなんですが、
結局解決できてないようです。
0568デフォルトの名無しさんNGNG
>>565
ttp://homepage1.nifty.com/wizman/component/alphactl/
0569デフォルトの名無しさんNGNG
>>565
RichEdit を透明にしたら、貼り付けたフォームの「壁」が見えるの?
なんかいいことあるのかいな?
0570デフォルトの名無しさんNGNG
スキンとかか。
0571デフォルトの名無しさんNGNG
何個か重ねてたくさんのスレを一度にみれる2chビューワとか
見づらいだろうけど
0572544NGNG
>>551
>>552
私へのレスでしょうか。
結局、 1) or 2) で処理するということでいいんですね。
ありがとうございました。
0573デフォルトの名無しさんNGNG
>>567
>結局解決できてないようです。

フォームならともかく、子コントロールを透明にするのは
アホらしいので、だれもマジメに考えなかった、というのが真相では
0574デフォルトの名無しさんNGNG
>>568
>>565は文字の部分は透明にしたくないんじゃ・・・
0575えむNGNG
>>563
>>564
の方、レスありがとうございました。
これからもよろしくお願いします。
0576デフォルトの名無しさんNGNG
>568
 お、参考になりそうですね。これは。でも、半透明じゃなくて透明にするのはまた違う話なのかな・・。
ありがとうございました。
>569
 簡易HTMLエディタを作っているんですが、背景に絵を表示させたまま文章の編集をしたいんです。
>573
 そうなんでしょうか・・。でも確かに反応薄かった気がします。
0577デフォルトの名無しさんNGNG
delphi6 personal で ネットワークプログラムできますか
0578デフォルトの名無しさんNGNG
>577
できます。
0579デフォルトの名無しさんNGNG
IdHTTP.Get処理中はソフトが固まってしまうんですが、固まらないようにすること出来ますか?
0580デフォルトの名無しさんNGNG
出来ます
0581デフォルトの名無しさんNGNG
>>579
TThreadの勉強すれ。
0582579じゃない人NGNG
>>581
俺、TThreadってCPUが2個とか付いてるPCで使うもんだと勘違いしてた…
ありがとう!
0583デフォルトの名無しさんNGNG
処理中でも固まらないようにするコンポーネントがIndy Miscとかのパレットに
載ってるよ。簡単なプログラムならあれで充分。
0584ネタだったとでも?NGNG
ねぇ、Indyの日本語ヘルプってどこにあるのって
ちゃんと自分で検索した上で
もう2回ぐらい真面目にお願いしてるんだけどさ。

こっちも真面目にお願いしてるんだから、いいかげん誰かレスくれよ。
ぐれるよ?
0585デフォルトの名無しさんNGNG
えと、

Type
TData = (dtA, dtB);

みたいな列挙型があるとして、ある変数がこの型だとして.
これをIniFileでアプリ起動ごとに読み込んだり保存したりしようと思ってるんだけど、
保存するときはOrd関数使えばいいとして、読み込むときに
その値がこの列挙型かどうかを判断するのってどうします?
いったんIntegerに読み込んで判断するのもなんだか変な気がしますが・・・.
そもそも、順序値としては0か1だと思うんだけど、これ以外の値をとる場合を
想定しなきゃまずいのかな?そのへんのセオリーなんかあったりします?
0586デフォルトの名無しさんNGNG
Thread の勉強中なのですが、Create 時のパラメータを False にしたときは
Create と同時にスレッドが始まりますよね。それはよいのですが、
パラメータを 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
>>585
書き込めないものは想定しなくてもよいのでは。
セクションを指定して読み書きしていて、なぜ、型を確認しなきゃ
ならないの?
0588デフォルトの名無しさんNGNG
>587

レスどうもです.

いや、

TData = (dtA, dtB);

A: Integer;
B: TData;

A := IniFile.ReadInteger('TEST', 'Test', 0);

B := TData(A);
 
 ↑ここにエラーチェックて欲しいのかな?と.
とりあえずどんな数字でもはいっちゃうみたいなんですけど.

もともと列挙型を使わずIntegerを使っていて、
if A>1 then B := 0
みたいなチェックをしてたもので・・・.
でも、こういうのマジックナンバーですよね?
0589デフォルトの名無しさんNGNG
もしマジックナンバーがイヤならば、

if A < Low( TData ) then raise Exception;
if A > High( TData ) then raise Exception;

こうすればよいのでわ。
0590589NGNG
まちがえた。


if A < 0 then raise Exception;
if A > Ord( High( TData ) ) then raise Exception;
0591デフォルトの名無しさんNGNG
>589

あ、なるほど.High関数にOrd使えばいいのか・・・.
どうもありがとうございました.
0592デフォルトの名無しさんNGNG
>>586
自分で Execute メソッド呼び出してどうするの?
Resume メソッドを使ってスレッドを始動させないと駄目よー。
0593デフォルトの名無しさんNGNG
545=584
0594デフォルトの名無しさんNGNG
>588
実行時エラーでない?
0595名古屋NGNG
>>584
Del6Entのトライアル版になら
Indyの日本語ヘルプが付いてる可能性は十分あるけど・・・今は入手困難かな
Kylix用のIndy日本語ヘルプは某のサイトから今ダウソできるようだが

Pro版以上なら付いてるんだけどね・・・この辺でも差別化してるのかも
0596デフォルトの名無しさんNGNG
よかったネ。レス来たヨ!
0597デフォルトの名無しさんNGNG
Delphi6 Personalのインストールがなぜかできません…

Windowsインストーラが起動して、インストールキーとかを入力したあと、「重要な情報」の画面で「次へ」をクリックした後、何も起こりません。
どうしたらよいか是非知恵をお貸しください

環境はXP Proです。

Windowsインストーラが悪いのかなぁ?
0598デフォルトの名無しさんNGNG
>>592

ああああ… バカだ俺。
たしかに自分で Execute 呼んでりゃ世話無いですね。
どうもありがとう。
0599デフォルトの名無しさんNGNG
http://go.to/WDirectX
どこかに↑これの日本語解説ページないでそか?
0600デフォルトの名無しさんNGNG
>595
そういうことだったんですか、、ありがとうございます。
あなたは200人に一人のいい人です。
0601デフォルトの名無しさんNGNG
>>599
はじめてみた。
google見る限りないみたい。
0602デフォルトの名無しさんNGNG
http://www.borland.co.jp/delphi/personal/#top
このページって、http://www.borland.co.jp/ からどういうリンクを辿っていくの?
ダウンロードページじゃないし、
Delphi6 には製品情報しか載ってないし…
0603デフォルトの名無しさんNGNG
クリップボードにあるファイルを操作するのってどうしたらいいんですか?
0604デフォルトの名無しさんNGNG
ここですか? 検索も出来ない連中がいるスレってのは。
0605オレも暇だなNGNG
>602
http://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
>603
意味不明。
クリップボードにあるのはデータであってファイルでない。
0607デフォルトの名無しさんNGNG
RICHEDITを透明にするのでは無く、WM_ERASEBKGNDで背景を描けばいいのでは無いかな?
0608603NGNG
エクスプローラでコピーやら切り取りやらをする時と同じような操作がしたい、ってことなんですが…
0609せめてヘルプ見るのぐらいは自分でNGNG
>608
そういう操作時にクリップボードにあるのはパスつきのファイル名。

ヘルプでTClipBoardを検索して
クリップボードが保持している文字列を取り出す方法を見つけなされ。
簡単に見つかるから。
0610デフォルトの名無しさんNGNG
演算子を代入することのできる型ってありませんか?
あと、どうやって使うんですか?
0611デフォルトの名無しさんNGNG
>>610
Line 1:ない。
Line 2:だからないって。
0612名古屋在住・中日ファンNGNG
>>610
smalltalkとかやってた人?

smalltalkだと何でもかんでもオブジェクトらしいから
演算子でも基底型とかに代入できそうだよね
0613610NGNG
>>611以外の人、誰かしりませんか〜?
0614>>610NGNG
(´-`).。oO(関数型言語出身?メソッドポインタか何かと勘違いしてませんか?演算子って+とかandですよ?
0615610NGNG
>>612
やってません。smalltalkってなんですか?
0616610NGNG
>>614
勘違いはしてませんけど〜。
0617>>603=608NGNG
(´-`).。oO(Win32APIリファレンスでHDROP構造体やItemIDListを検索して、わからなかったら諦めるが賢明と思います。難しいです。
0618名古屋在住・中日ファンNGNG
>>610
演算子を引数にした手続き・関数を作りたいだけなら
文字列で代用して振り分ければできるけどね〜
0619名古屋在住・中日ファンNGNG
>>615
元祖OOPLだよ
0620デフォルトの名無しさんNGNG
(´-`).。oO( 「A := + 」みたいなコードがエラーにならない言語って一体…?どんなのをお考え?
0621>>585NGNG
(´-`).。oO(整数にしなくても、TypInfo使えば文字列にして保存できます…
0622 ◆RTl.ntC2 NGNG
 CRCの計算式を教えてください。
0623デフォルトの名無しさんNGNG
http://www.borland.co.jp/delphi/del6/report/trapper_1.html
trapper・・・カコイイ!
0624デフォルトの名無しさんNGNG
>>622
ぐぐってよし
0625デフォルトの名無しさんNGNG
(´-`).。oO(もう学校始まってるはずなんだけどな・・・
0626 ◆RTl.ntC2 NGNG
>>664
 ?
0627 ◆RTl.ntC2 NGNG
↑間違えた。
>>624です。
0628デフォルトの名無しさんNGNG
>>627
「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
>>622 以前も同じ質問があって、CRCには複数ある事、そして参考コードも書いた記憶がある。
検索してみてくれ
0630デフォルトの名無しさんNGNG
Delphi6.0PersonalにてWinアプリを作成しています。

Memo1.text:= 'a' + chr(13) + 'b';
これだとaのあとに改行できている様に見えるのですが、
これをファイルとして保存し、Win98のメモ帳で開くと改行文字が望んだとおりに保存されていません。
メモ帳からでもきちんと改行しているように見える改行コードの書き方をご教授願います。
0631デフォルトの名無しさんNGNG
Memo1.Clear;
Memo1.Add('a');
Memo1.Add('b');
あるいは
Memo1.CommaText = 'a,b';
0632デフォルトの名無しさんNGNG
>>630
'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デフォルトの名無しさんNGNG
(´-`).。oO(WinとUNIXで改行コードが異なる罠。SLineBreakってのを覚えておくとKylixでも幸せ
0634デフォルトの名無しさん NGNG
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || 偽善者は      Λ_Λ  いいですね。
          ||  死刑!! \ (゚ー゚*)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |しゃかい .|
〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生!!
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
      〜(___ノ  〜(___ノ   〜(___ノ
0635デフォルトの名無しさんNGNG
>>631
わざわざありがとうございます。
ちとうまくいきませんでしたが、それでもその知識が何時の日か役に立つと信じております。
>>632
chr(13)を#13#10に置き換えたらうまくいきました。ありがとうございます。
>>633
ご厚意痛み入ります。心に留めておきます。
0636デフォルトの名無しさんNGNG
(´-`).。oO( 'a' + SLineBreak + 'b' にしろって意味…伝わってるのかな?
       まあPersonalじゃCLX使えないからKylixは無視してもいいのだけれど
0637579NGNG
>>581
どこかにいいスレッドの解説ページありませんか?
0638デフォルトの名無しさんNGNG
今さっきdelphi 6 personal をダウンロードしてみましたが、
どこかおすすめの超初心者向けの解説サイトないでしょうか?
0639 ◆nqjTHVKE NGNG
http://www.ceres.dti.ne.jp/~dycoon/program/fileac/fileac.html
のサイトの下の方のソースで、
いっきにファイルをメモリ上に読み込んで、強引に処理しているんですが、
これって大丈夫なんでしょうか?
ポインタに1を足して…、って方法で本当に次の値が得られるのですか?
他のデータが間に来てしまうことはないのでしょうか?
0640デフォルトの名無しさんNGNG
>>639
強引でもなんでもない、心配するほうが変

はじめから TMemoryStream に読み込めばいいのにね!
0641デフォルトの名無しさん NGNG
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || 偽善者は      Λ_Λ  いいですね。
          ||  死刑!! \ (゚ー゚*)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |しゃかい .|
〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生!!
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
      〜(___ノ  〜(___ノ   〜(___ノ


0642デフォルトの名無しさんNGNG
>638
2ch
0643>>639 ◆9qoWuqvA NGNG
むしろtry〜finallyが無いことが心配…リンク先のはサンプルコードだから別にいいけど
0644デフォルトの名無しさんNGNG
>>619
smalltalkは元祖じゃないYO!元祖は志村です。
0645639 ◆nqjTHVKE NGNG
>>640
 強引じゃないんですか?
ポインタは抽象的概念なのに、それを直接操作しても良いんですか?
GetMemを実行したら必ず一列に確保されるんでしょうか?

>>643
 finallyでFreeMem,Freeを行えば良いんですね。
0646デフォルトの名無しさんNGNG
>>645
直接操作しても良い。
必ず一列に確保される。
0647デフォルトの名無しさんNGNG
クラスを動的配列で使うにはどう宣言すればいいのでしょうか?

type
TState = class
name,
adr: string;
end;

var
StateArray: array of TState;

SetLength( StateArray, 10 );
StateArray[0].name := 'モナー'; ←こういう使い方がしたい

これではコンパイル出来ません。 お願いします。
0648間違有でも即答会NGNG
>>647
 コンパイルは出来る筈。
 ただし暴走する筈

C++と違って必ず コンストラクタを呼ばなければいけない
for i:=0 to High(StateArray) do StateArray[i]:= TState.Create;

コンストラクタを呼びたくなければ クラスではなく レコード型やオブジェクト型を使うしかない


また、クラスに対しては動的配列よりも TListを継承して利用した方が適切
0649647NGNG
ありがとうございます。動作しました。
前やったときはコンパイルできなかったのに・・・スペルミスかな

TListの継承方法も発見したので試してみます。
0650デフォルトの名無しさんNGNG
15や16と言う数字を0付きの3桁数字にしたいんです(015、016)
数字が元々3桁の時は0無し。(128、196)
1桁の時も同じく0付きで3桁表示(001、002)

こういうのってkylixだとformat関数で出来たのですが、
Delphiだとどうやってやるのですか?
0651デフォルトの名無しさんNGNG
>>650
FormatFloat('000', 15);
0652650NGNG
http://www.borland.co.jp/qanda/delphi/d0000877.html

そのまんまで出来るのね・・・
0653デフォルトの名無しさんNGNG
そもそもDelphiとKylixとで自前の関数が違ったら意味あるか?
0654ランチャーを作りたいNGNG
恥ずかしい話ですが、どうしていいかわかりません。

procedure 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ランチャーを作りたいNGNG
なので、教えてください。
0656デフォルトの名無しさんNGNG
>>654
http://www.google.co.jp/search?hl=ja&q=ABM_NEW&lr=lang_ja
0657デフォルトの名無しさんNGNG
>>656

ABM_NEW は既に
0658デフォルトの名無しさんNGNG
これ。
http://www.eternal.rest.org.uk/58cy/flesh/3rd-ci53/b268-119.jpg
0659デフォルトの名無しさんNGNG
数値(integer)のリストを作ろうと思うのですが
動的配列を使ったクラスを作るか、TListを利用したクラスを作るか(もしくはTListそのまま)
で迷っています。

動的配列とTList、
どちらの方がメモリ効率的にはよいのでしょうか?
0660とにかく即答NGNG
>>659 そういう用途なら 迷わず動的配列!

効率はコーデングしだいでっせ
0661とにかく即答NGNG
効率良くしたいなら、必要なサイズは最初にとって
実際のアクセスはオープン配列パラメータの関数・メソッドにするとよろし
0662デフォルトの名無しさんNGNG
コンポーネントをまとめてパッケージに入れておいた場合、
あるソフトでそのパッケージの中のコンポーネントをどれか1つでも使うと、
そのパッケージの内容が全部ソフトに含まれることになるのでしょうか?

0663デフォルトの名無しさんNGNG
>>662
実行時パッケージを使えば、それはDLLなので当然そうです。
そうでなければ、単なるライブラリですのでパッケージ内で相
互に参照していなければ大丈夫という事になります
0664デフォルトの名無しさんNGNG
>>661
了解!動的配列でやってみます。

ところで動的配列の要素数が増減する時は
そのたびにSetLengthした方がよいのでしょうか?(結構、頻繁に増減する予定なんですが)

メモリを扱うだけに頻繁に使わないほうがいいのかな、とも思ってしまうんですけど
0665デフォルトの名無しさんNGNG
>>664
足りなくなったら増やさなきゃならんが少々減ったくらいでいちいちSetLengthするべきでは
ないべ。以降ずーっと減ったままならいいけど。
それにmallocみたいに実際にメモリがOSに返る保証もないし(ソースないので知らん
0666デフォルトの名無しさんNGNG
>>664
そのたびに SetLengthしてみて遅ければ考えてみたらいいと思う。
興味があるなら自分で system.pas の DynArraySetLengthを読ん
でみるのもいいだろうし
0667デフォルトの名無しさんNGNG
Delphi 6 Personal をダウソしたがよくわからないところが2・3・4・5・6・7・・

今までこういった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でとりあえず何かやってみたいので
お勧めの参考サイトなどあったら教えてください。いちおググルで検索したんですが
めぼしいところのサイトをいくつか回ったんですがいまいちよくわからなくて。
0668とにかく即答NGNG
>>667 順番にマウスで文字をクリックしては F1 を押しなさい
0669デフォルトの名無しさんNGNG
>>667 まずは >>668 をやって判らないところを聞く事
0670デフォルトの名無しさんNGNG
>>667
たしかにここは「やさしい」スレですけど
Delphiを基礎から全部解説していたら十分なWebペ?ジが作れてしまいます。
幸いにもDelphiの入門書も増えてきました。
図書館で借りるなり、本屋で買うなりして、一冊まるまるやりこんでみてはいかがでしょうか。

ちなみに問い「これは何どすか!」に対する答えは「テンプレートです」になります。
0671デフォルトの名無しさんNGNG
>>638
>>667
・・・・・・

(´-`).。oO(ここで自分のサイト晒したら自作自演に思われちゃうかなぁ…)
0672667  と638NGNG
>>671

今のぼくにはアナタのサイトが必要なのでし
0673デフォルトの名無しさんNGNG
>>665-666
助言ありがとうございます。
とりあえず組んでみますね。
0674671NGNG
(´-`).。oO(同一人物かよ! まだ作りかけだからそのうちね…)
0675639 ◆nqjTHVKE NGNG
>>646
>必ず一列に確保される。
 ということは、以下のようになってしまうんですか?
(□=空 ■=データ)
メモリ:■■■■■■■□□□□■■□□□□□□□
この場合に、■■■■分のデータ領域を確保する場合、
一つ目の空領域は使えないので、二番目の領域を確保することになる。
0676デフォルトの名無しさんNGNG
>>667
初心者は、そこが何であるか知る必要はありません。
大切なのは最後のimplementationから下です。
フォームにButtonコンポーネントを配置し、それをダブルクリックしてください。

すると、

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

と表示されますから、begin と end; の間にやりたいコードを書いていきます。
0677デフォルトの名無しさんNGNG
仮想メモリ上のメモリブロックは
物理メモリ上でも連続している事が保証されているのでしょうか?
0678デフォルトの名無しさんNGNG
>>667
まずPascalから入れば?多少標準Pascalと互換性の無い部分もDelphiにあるけど。
0679デフォルトの名無しさんNGNG
FileExistsでファイルの存在有無は調べれるけどパスの存在有無はどうやって調べてますか?
chdirで例外が出たら存在しないとかにしていますが、もっとスマートに出来ない?
0680デフォルトの名無しさんNGNG
>>667
ま可哀想だから多少教えてあげると・・・
ObjPascalのユニットファイルは基本的に下のような構造になってる。

unit xxxx; interface 〜�@〜 implementation 〜�A〜 end.

�@の部分はインターフェース部と言って、ユニット外から可視となる
宣言を書く。ここではフォームの宣言とそれに必要なユニットの読込
(uses 以下)が行われている。Cではxxxx.hに相当。
�Aの部分は実現部といって、ユニットの挙動を実際に記述する。外部
からは直接見えない。Cではxxxx.cに相当。

ヘルプ→目次→ObjectPascal言語ガイド 辺りを読むべし。
0681デフォルトの名無しさんNGNG
DirectoryExists
0682もっと検索しる!NGNG
(´-`)。o ○ (679のソフトが、どんなんか知りたい…)
0683デフォルトの名無しさんNGNG
>>681
スゲー俺アホだ!まんまの関数があったのか!
しかし、こんなの前からあった?ずっと用も無いのにchdirで調べてた・・・(汗)
0684デフォルトの名無しさんNGNG
(´-`)。o ○ (ヘルプに検索があると便利だと思うのだが…)
0685デフォルトの名無しさんNGNG
>>684
(´-`)。o ○ (検索の仕方が分からないのだろうか・・・)
0686デフォルトの名無しさんNGNG
百歩譲ってもFindFirstが良心の限界
0687デフォルトの名無しさんNGNG
(´-`)。o ○ (95系なんだろ。たぶん・・・)
0688デフォルトの名無しさんNGNG
(´-`)。o ○ (679=684か?ヘルプの検索は役に立たないよ。正直な
話。選択してF1キー押すべし。パソナラーは、それでも文句は言ってはいけない!
ググルで検索しる!)
0689デフォルトの名無しさんNGNG
   ∧∧
 ヾ(゚∀゚)ノ  2KかXP使え!
  (  ) ))
(( < <
0690デフォルトの名無しさんNGNG
(´-`)。o ○ (684(≠679)だよ。未だに95は漏れだけか…)
0691デフォルトの名無しさんNGNG
(´-`)。o ○ (アクチベートするくらいならwin95使う!)
0692691NGNG
(´-`)。o ○ (オレオレ! オレ win95!!軽いwin95空前絶後の最高OS!!)
0693579NGNG
for文の中でexitをやったらどうなりますか?
ループを強制的にやめさせ、次の処理へ進むのですか?
それとも、次のループへ逝くのですか?
0694デフォルトの名無しさんNGNG
(´-`)。o ○ (やってみろよハゲ。これは言ってもいいよな>693以外)
0695デフォルトの名無しさんNGNG
exitだとprocedure、functionから抜けちゃうでしょ
普通はbreakを使うのでは?
0696デフォルトの名無しさんNGNG
(´-`)。o ○ (684(≠679)だよ。同士よ…)
0697デフォルトの名無しさんNGNG
関数内関数でexitしたら、どこへ行きますか?
0698デフォルトの名無しさんNGNG
(´-`)。o ○ (いつかアクチベートなんてアホなことする日が来ると思うと
ぞっとするな。って、その頃には無くなってたりして。不評だからな(藁)
0699デフォルトの名無しさんNGNG
(´-`)。o ○ (やってみろよハゲとまた言われるのにな・・・)
0700デフォルトの名無しさんNGNG
アクチベートって何?
0701デフォルトの名無しさんNGNG
>>697
一番内側の関数から出る。
実際にやってみようよ、聞く前に・・・
0702デフォルトの名無しさんNGNG
try〜finallyの間でexitするとどこへ飛びますか?
0703701NGNG
>>702は放置します。
0704デフォルトの名無しさんNGNG
やってみてこうなったから、こうなんだ。
って危なくないですか?
たまたまかもしれないし。
0705デフォルトの名無しさんNGNG
2ちゃんねるのレスを信用する
って危なくないですか?
嘘ぶっこいてるかもしれないし。
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を配置したら、どーなりますか?
フォームにbuttonを配置したら、どーなりますか?
0707デフォルトの名無しさんNGNG
だから危ないことは他人にさせる・・・と?
0708701NGNG
procedure a;
begin
 try
  exit;
  ShowMessage('1');
 finally
  ShowMessage('2');
 end;
 ShowMessage('3');
end;

procedure b;
begin
 a;
 ShowMessage('4');
end;

>>704
この程度も自分でやろうとしない奴は逝ってよしですよ。
0709デフォルトの名無しさんNGNG
(´-`)。o ○ (正解は「こーやってみたら、こーなったんですけど、
どないなもんなんでしょうか?」かな…)
0710702NGNG
Captionはどうなりますか?
コンパイルせずに答えて!
>>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
>>704
たまたまねぇ・・・・。
論理的なプログラマにたまたまって事は無いだろ、自分の頭の中で結果を予測しているはずだ、
結果と違ったら原因を探す、自分が書いたコードが「たまたま」か否かぐらい判断できんで
プログラムが組めるか?

プログラム作成後のテストはこれと全く逆を行うのは、プログラム作成時に既に「通常こーなる」って
意識で組んであるからだ、たまたまで作られるとテストもできんよ。(藁
0712デフォルトの名無しさんNGNG
>>710
708じゃないけど

Dummy[1]には#0以外入れちゃだめだよ
0713デフォルトの名無しさんNGNG
ミ゚ω゚彡 ん?
0714デフォルトの名無しさんNGNG
>>712
あ、問題ないか?・・・いいことじゃないけど
0715デフォルトの名無しさんNGNG
  ?  ?
? (゚д゚) ? 急に誰もいなくなった。
0716デフォルトの名無しさんNGNG
Dummy[1]に#0が入ってなくても問題無い理由を教えて下さい!
0717デフォルトの名無しさんNGNG
Σ(´Д`ズガーン いた。
0718デフォルトの名無しさんNGNG
Delphiでアクティベーションシステムを作りたいのですが
どうすればよいでしょうか?
0719デフォルトの名無しさんNGNG
>>716
Dummyのサイズが宣言されてるからそれ以上持ってこないって事でしょ
Captionもstring型だから長さの情報を持っているので結果的に大丈夫だと
・・・Cでこんなことをしたらどうなるか分かったもんじゃないけど
0720デフォルトの名無しさんNGNG
今度、会社の基幹業務をDelphiを使って構築することになったのですが、
Delphiで業務アプリとか作れるのでしょうか?
速度を重視するようなプログラム以外ならVBでも十分だって言ったら
笑われました。
0721デフォルトの名無しさんNGNG
>>720
できないとおもふ。
理由…Delphiを使えない、Delphiを毛嫌いするプログラマが多いから(w
0722デフォルトの名無しさんNGNG
>>716
   ∧∧
 ヾ(゚∀゚)ノ ソースを追っていったら単にBuf[10]に'\0'を入れてるだけだったよ。
  (  ) ))
(( < <
0723デフォルトの名無しさんNGNG
>>720
俺、一人でも作れるよ Delphi で
月100万なら請け負うけど・・・
0724720NGNG
じつは、みづほ銀行の預金システムを1から作り直すんですが、
>>723さん、本当に月100万で請け負ってくれますか?お願いしたいんですけど。
損害が出たら賠償請求しますけど
0725デフォルトの名無しさんNGNG
ネタはマ板でやれよ。
0726デフォルトの名無しさんNGNG
むこうにネタスレいっぱいあるからな。
0727デフォルトの名無しさんNGNG
>損害が出たら賠償請求しますけど
私は今までにプロジェクトをこけさせたことがありませんのでご安心下さい
といって「みずぽ」の人はこけたんだっけか・・・

賠償請求されても払い切れないだろうね〜・・・夜逃げ・・・あはははは
0728デフォルトの名無しさんNGNG
>>720でし。

>>725-726
すまそ・・・。
>>722
それはChar型配列の場合、Delphiが自動的に1個長く配列を作って、
自動的に末尾に\0を埋めてくれるってこと?エラスギル、Delphi・・・
0729デフォルトの名無しさんNGNG
>728
それはない。
0730デフォルトの名無しさんNGNG
>>728
   ∧∧
 ヾ(゚∀゚)ノ  違うよ。単純にBuf[9]の次のメモリアドレスに'\0'を書き込んでるだけだよ。
  (  ) ))  だから、ちゃんと直さないと駄目。
(( < <
0731720NGNG
>>721
私は別にDelphiを嫌いではないのですが、趣味で画像を扱うソフトとか
しか作ったことがなくて、DBとかって分野に疎いのです。
なぜ私がVBでやったら良いのでは?と会社の人に言ったかと言うと、
うちの会社では、VBAなら使える人間が多いのにDelphiが使える人間
は非常に少ないからです。しかも、DBがMS-SQLServerなもので、
Delphiから簡単に扱えるなら良いのですが、VBの方が楽に接続出来
るのかな?(私もVBAしか知らないので本当わかっていません)
と思いDelスレを荒らしているような書きこみになってしまいました。m(。。)m
0732デフォルトの名無しさんNGNG
なら、こういう使い方はどうなる?
var
Dummy: array[0..1] of Char;
begin
Dummy[0] := 'A';
Dummy[1] := 'B';
SetWindowText(Handle, Dummy);
0733デフォルトの名無しさんNGNG
m(。。)m←目が怖い
0734730NGNG
>>732
メモリ中にたまたま'\0'が現れるところまで表示するでショー。
0735デフォルトの名無しさんNGNG
>>720, >>731
つまり、DBが心配なのだな。
心配無用だとは言えないが、そもそもSQLサーバを選択したのが間違いだと思ふ。
俺もSQLサーバを使った業務アプリケーションは組んだことあるけど、VBよりは
効率よく組めたし良かったよ。
趣味でDel使ってたのなら、会社でDel使えることを喜んでも良いと思ふ。

>>733
かなり思い詰めているとおもわれ(藁)
0736デフォルトの名無しさんNGNG
では、これはどうだ!

procedure 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
>>736
|ω・`)つ�I コレ アゲル カラ モウ ネナサイ

|彡 サッ �I
0738736NGNG
この板への書き込みはこれで最後にします。
すいませんでした。
0739デフォルトの名無しさんNGNG
せんせー。737くんが736くんをいじめましたー。
わたしゆるせませーん。
0740デフォルトの名無しさんNGNG
(´・ω・`) ショボーン ソンナ ツモリ ジャ・・・
0741デフォルトの名無しさんNGNG
737君は女子のスカートもめくってましたー!
わーるいんだーわーるいんだー!せーんせぇーに行ってやろー♪
掃除当番もさぼってましたー!
0742デフォルトの名無しさんNGNG
>>736
はい、消えた!
0743デフォルトの名無しさんNGNG

|ω・´)つ �I カエセ!!

|彡 サッ
0744デフォルトの名無しさんNGNG
せんせー。737くんが、ぎゃくぎれしましたー。
じぶんがわるいくせにー。
0745737NGNG
この板への書き込みはこれで最後にします。
すいませんでした。

・゚・(ノω`)・゚・。
0746デフォルトの名無しさんNGNG
>>737
はい、消えた!
0747デフォルトの名無しさんNGNG
ネタはマ板でやってくなさい
0748やってみてこうなったから、こうなんだ。シリーズNGNG
for i := A to B do begin
 //処理 ;
end;

A = B の場合、処理は1回実行される。
A > B の場合、処理は実行されない。
0749デフォルトの名無しさんNGNG
なんかDelphiでポインタ使うと途端にDelphiらしく無くなる気がする…
文字列なら普段はstring使って、やむを得ないAPIコールの時とかだけ、

PChar(string変数)

でキャストすれば大抵は問題ないと思うのだが…
0750デフォルトの名無しさんNGNG

フォームに文字を書きたいときはどうすればいいんでしょうか?
ボタンや他のオブジェクトは貼り付けられたんですが文字を表示させるには・・?
0751デフォルトの名無しさんNGNG
label貼り付けろ
0752デフォルトの名無しさんNGNG
>>750
TextOut()
0753デフォルトの名無しさんNGNG
そういや昔は
Label と edit の差もわからんで

Label1.Caption := Edit1.Caption

とかやって 何故だ!とかやってたなー
目に見える物は全部キャプションだとおもってたあの頃。
0754デフォルトの名無しさんNGNG
質問させて下さいなのです。

TSpinEditで中に4の倍数以外が入力されたら排他するにはどうしたら良いでしょうか?

OnExit、もしくはChangeの時に処理を掛けようかと思ってます。

if SpinEdit1.value = (4*n) then
 showmessage('ダメヨン!');

こんなんじゃ駄目ですよね?
0755とにかく即答NGNG
if (SpinEdit1.value mod 4)<>0 then abort;
0756デフォルトの名無しさんNGNG
>>755
そうか!
mod演算子を忘れてた!
ありがとう!

うっかり君でした。
0757ランチャーを作りたいNGNG
ググルで検索して出てくる様々なページのまねをしてやっています。
書籍は魔法の何タラというやつと、WIN32API何タラを参考にしています。
フォームのボーダースタイルをタイトルバーなしのものに変更したら、
自分で確保したアプバーのスペースから自分が追い出されてしまいました。
しかも確保したスペースにもう一度フォームを移動させることが出来ません。
なんのお礼も出来ませんがやったことがある方教えてください。

ソースはこちら>>654
0758デフォルトの名無しさんNGNG
>>675
そういうことになる。
そこらへんはGetMemのソース見れば判るが。
まあ、そんなに気にする事でもない。
0759デフォルトの名無しさんNGNG
>>757
魔○のなんたらって、MLとかあっちこっちのホームページからソースをパクッテるような
気がするのは俺の気のせいか?それとも同じような事をやろうとすると同じになるのか・・・。

それに、印刷ミスとか多すぎるし、まぁ、絶対に使わないようなTipもあるけど、総合的に
みてDelphi初心者には貢献している本だとは思うが・・・。
0760デフォルトの名無しさんNGNG
Delphi自体のエディタもDelphiで書かれているのでしょ?
あのエディタのソースも公開して欲しいなぁ・・・と思うのは私だけ?
色々修正したり拡張したりしたい部分も多い死ね。
0761デフォルトの名無しさんNGNG
そうDeathね。
0762デフォルトの名無しさんNGNG
っていうか、SpinEdit を Readonly にして、増分を 4 に設定すればよいのでは。
0763デフォルトの名無しさんNGNG
>>762
それは解決では無く逃げでは?
キーボードから入力出来ないし。

まあどっちでもバグでなけりゃ良いけどね。
0764デフォルトの名無しさんNGNG
>>760
フリーカーソル無効化アドオン便利だよ。
どっかで拾った。
Delphiのエディタはフリーカーソルだけがなじめなかった。
0765デフォルトの名無しさんNGNG
質問!
Delphiでcomポートを触りたいのですがVBのMSCommに相当する物って無いですか?

今はActiveXの取り込みでMSCommをDelphi上で使ってます。
でも使い方が良く分からなくて・・・

使いやすくて良いコンポーネント無いでしょうか?
0766 ◆fwK7enJI NGNG
MScommならこうじゃ駄目?

var
hoge : String;
begin
hoge := 'test';
 MSComm1.CommPort := 2;
 MSComm1.PortOpen := True;
 MSComm1.Output := hoge;
 MSComm1.PortOpen := False;

・
・
・
続く
end;

手荒でスマン
0767デフォルトの名無しさんNGNG
>>764 フリーのコンポも探せばあると思うよ

でも、普通にCreateFileしてボーレート設定して 使う方が簡単だと思うけど?
0768デフォルトの名無しさんNGNG
インターフェイスを使いたいのですが、
function 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
>>764
むしろフリーだからこそ使いやすいけどなあ。
とくに表みたいな形のコメント書くときは重宝してる。
こればっかりは、フリーカーソルじゃないとやりにくくて
しょうがないし。
0770Agent ◆sPktrH52 NGNG
また質問させて下さい。
コンポーネント>ActiveXの取り込みから、Microsoft Direct Speech Recogtionを
取り込み、それを利用して音声認識をさせようと思ったのですが見当違いでしょうか?
DirectSR1.Listen という物が見つかったのですが使い方がわかりません。
参考になる物もしくは、音声認識には他の物がよいのかどうかアドバイス頂けませんでしょうか?
長くなりましたが、宜しくお願い致します。
0771デフォルトの名無しさんNGNG
>>770
取り込んだあとコンパイルした?
pasファイルが指定パスに出来るはずだけど。
0772Agent ◆sPktrH52 NGNG
>>771 レスありがとうございます。
コンポーネントとしては表示されています。耳のアイコンです。
DirectSSならば、DirectSS.Speak('hoge);でhogeとしゃべるのですが、
音声を聞き取らす方法がさっぱりわかりません。
どうにかなりませんでしょうか?
0773デフォルトの名無しさんNGNG
>>769
いやね、最初は慣れなかったせいか「ナニコレ!」って思ってたけど今ではフリーカーソルが、
使いやすくてたまらんのよ。

フリーカーソル+フリーカーソル無効化アドオン これ最強。
無効化って言ってもマウスでフリーになるし使いやすいったらありゃしない。
0774デフォルトの名無しさんNGNG
ちなみにアドオンはここ
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
0775768NGNG
TInterfacedObject などの定義に書いてあるものを
そのままコピペすれば良いのでしょうか。
0776デフォルトの名無しさんNGNG
QueryInterfaceはそのままでOK
_AddRef,_Releaseは、リファレンスカウントを使いたいならそのまま、
使いたくないなら、result := 1;とでも書いとけばいいのではないでしょうか。
0777愚痴なんですけどね・・・NGNG
if文は絶対「C」形式の方が使いやすい。

ネストしてるif文書いてると、なぜか「end;が多い」と言われる。
0778デフォルトの名無しさんNGNG
>777

まず begin endって書く癖をつけろよ
0779デフォルトの名無しさんNGNG
ifbと書いてctrl+J
0780デフォルトの名無しさんNGNG
>>777
define begin {
0781スパゲッティプログラムNGNG
>>778
「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デフォルトの名無しさんNGNG
if () ←括弧をつけなければならないのがイヤ。

if 式 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
Ctrl+Shift+C でプロパティの補完をしたり、
自動生成される dfm のソースコードは、
インデントが半角スペース2つになっていますよね。
あれを、タブ1個に設定することは出来ないのでしょうか。
インデント設定を4文字タブにしているので使いにくいのです…
0784デフォルトの名無しさんNGNG
>>781
なんじゃそら。if は end と対応しないよ。
end は基本的に begin-end のセットで使う。

ただ例外として case 文は case-end のセットで使われている。
0785デフォルトの名無しさんNGNG
try-except(finally)-endもあるYO!
0786デフォルトの名無しさんNGNG
THoge=class
end;
とかも…
0787デフォルトの名無しさんNGNG
質問です。
同じコンポーネントをつかって同じものを作ってもC++Builderと比べて
ファイルサイズが大きいのはなぜですか?
なにが大きくしているんですか?
0788デフォルトの名無しさんNGNG
>>784-785
例外があるって事自体「begin〜end」の冗長性を証明してるな。
どうでもいいが。
0789デフォルトの名無しさんNGNG
なにが大きくなっているんですか?
0790>NGNG
僕の中の怪物が!
0791デフォルトの名無しさんNGNG
僕のちんこが
0792デフォルトの名無しさんNGNG
>>781
なんじゃそら。if は end と対応しないよ。

781はフツーに begin end で囲んであると思うのだけど。
最後の行の end に対応する 何か がかいてないだけで。
0793784NGNG
end に対応する文では record-end とかいろいろあったね…
ど忘れしていたスマソ。

>>792
話の流れを読めよ。
0794792NGNG
>>792
それって、いいわけ?
「話しの流れを読めよ」、じゃわからないから、
どういう意味なのか分かりやすく教えて。
0795デフォルトの名無しさんNGNG
    (゚д゚) オチケツ!
   ~(  )−
    / >
0796RubyistNGNG
体の中から 何かが
 ぶえええ ぐええええええ
0797784NGNG
>>794
>>777 → >>778 → >>781 → >>784
0798デフォルトの名無しさんNGNG
かゆ… うま…
0799RubyistNGNG
どるどるるりりりり
人間に もどりたいよ・・・・
お前達のせいだ お前達が悪いんだよ!
0800デフォルトの名無しさんNGNG
800ゲット!!

⊂(ΦωΦ⊂ )⊃==3
ムッフン
0801RubyistNGNG
           ρ(´-`ρ)
      ★Ruby★
(σ´ー`)σ
0802デフォルトの名無しさんNGNG
予想!
if (x[i] < x[i+1]) then begin ←このbeginを見落としている人がいます!
0803名古屋在住・中日ファンNGNG
C/C++では
 なんたら {
  ほげほげ
 }
という書き方が多いけど

Pascal(Delphi)では
 なんたら
 begin
  ほげほげ
 end;
が普通だろうね
0804デフォルトの名無しさんNGNG
else使う時はどうなの?

1)
end else begin

2)
end
else begin

3)
end else
begin

4)
end
else
begin
0805名古屋在住・中日ファンNGNG
漏れは
3)
end else
begin

if ***** then
begin
end else
if ***** then
begin
end else
if ***** then
begin
end else
begin
end;
パターン化しやすいことと
途中の end の後に ; を付ける間違いの起きないのがミソ
0806素数2NGNG
if then
begin
end
else if then
begin
end;

俺こうだなー
beginの前、endの後に必ず改行しちゃう
0807デフォルトの名無しさんNGNG
俺はこうだな

if then begin end else if then begin end;
0808デフォルトの名無しさんNGNG
彡    ビュウウウ…
           彡
  彡   

サムイナオイ…
0809スパゲッティプログラムNGNG
>>784
> なんじゃそら。if は end と対応しないよ。

ああ、そういうことか。VBかなんかの「endif」のイメージが残ってたようだ。

ついでに聞くけど
if Exp1 then //←if1
 if Exp2 then 処理1;//←if2
else
 処理2;

3行目のelseは、if1に対するelseのつもりで書いたんだが
「elseの前にはセミコロンがあってはいけません」と怒られる。
セミコロンをつけないとif2のelseと勘違いされると思うんだけど...
こういう場合はどう記述する?
0810デフォルトの名無しさんNGNG
>>809
Object Pascal 言語ガイド の 「Object Pascal の文法」を読んでからもう一度来てください。
何故そうなったかという歴史的背景はわからないが、文法はこれでわかるだろ。
0811810NGNG
スマソ。スレッド名みてなかった。ヘルプ見ろは禁句だったっけ?
0812デフォルトの名無しさんNGNG
>>809
endifはありません。確かに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デフォルトの名無しさんNGNG
またクダラナイ議論が始まったな。。
0814デフォルトの名無しさんNGNG
>>812
if Exp1 then
 if Exp2 then 処理1
else
 処理2;
これじゃelseはExp2のifについちまうだろ。
出鱈目教えてどうするんだよ。

Exp1に対応させるんなら
if Exp1 then
begin
 if Exp2 then 処理1
end
else
 処理2;

こうするしかないね。
0815デフォルトの名無しさんNGNG
フォームに直線を引くにはどうしたら良いのでしょう?
Shapeにはそのような機能がないようなのですが、標準コンポーネントにはないのでしょうか。
0816名無し募集中。。。NGNG
procedure TForm1.FormPaint(Sender: TObject);
begin
with Form1.Canvas do
begin
MoveTo(20,30);
LineTo(100, 10);
end;
end;
0817デフォルトの名無しさんNGNG
>>815
LineTo
0818デフォルトの名無しさんNGNG
>>815
じゃ別解として
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004530597_1/MyDraw.pas
これをコンポーネントとしてインストールして Samplesに増えたコンポを貼り付け
Lines プロパティから最初の行だけ残して削除 すればOK
0819デフォルトの名無しさんNGNG
>>816
>>817
>>818
ありがとうございます。
優しいレスで感動しました。
0820817NGNG
>>819
俺の優しかった?
0821819NGNG
>>817
・・・うん(*´д`*)
0822デフォルトの名無しさんNGNG
「基礎からわかるDelphi6」という本を買いました。
すごくわかりやすい本だとは思うのですが、どちらかというと辞書に近いような気もします。
そこで実際にプログラムを組みながら覚えていくような本がありましたら
紹介していただけませんでしょうか?
0823Delフサギコ ◆zE1iiRdQ NGNG
             >>813
    ∧,,∧    / 新しいデルパイ使いには
  _ ミ,,゚Д゚彡_<   こういう議論は1度2度は必要かと。
.=| |==U==U=| |= \
 | |〜ミ  ミ .| |
 | | ∪''∪ | | >>804 オラ3)ダベ
 | |      | | if then に対して、begin..endはほとんど常に付ける派
0824デフォルトの名無しさんNGNG
>>822
今日、本屋行ったら、日経プログラム(だったかな)から、
Delphiのムック本出てたよ。稟太郎って人が書いたやつ。
順を追ってソフト作ってた。読んでみたら?
0825デフォルトの名無しさんNGNG
oauuur8937487er4yuiygrjhgt
0826デフォルトの名無しさんNGNG
DEL
0827デフォルトの名無しさんNGNG
HTTP://PC.2CH.NET/TECH/
0828デフォルトの名無しさんNGNG
http://ime.nu/
0829デフォルトの名無しさんNGNG
http://www.delphi.com/
0830Delフサギコ ◆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デフォルトの名無しさんNGNG
http://www.delphi.co.jp/
0832デフォルトの名無しさんNGNG
http://2ch.net/
0833デフォルトの名無しさんNGNG
http://www.email.com/
0834デフォルトの名無しさんNGNG
今日から delphi はじめようとしている超初心者です。
なんで delphi スレって似たようなのがたくさんあるのですか?
どれをつかったらいいの?
0835デフォルトの名無しさんNGNG
>>834
TThread を継承して自作するのが一般的です。
0836デフォルトの名無しさんNGNG
無理して使わなくていいよ。
0837デフォルトの名無しさんNGNG
>>809
C/C++では ; は文の一部だが、
pascalでは ; はセパレーターなのだ
0838Delモナー ◆fPymXWHY NGNG
>>834
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. 「なんで delphi スレって似たようなのが
 (    ) .| たくさんあるのですか?」の質問には
 | | |  | 答えられないけど・・・。
 (__)_)  \___________________

どのスレを使っても構いません。
主なDelphi関連スレは >>3-4 を見てください。
ただし他のスレに比べたら、
このスレは一番初心者向けだと思います。
0839デフォルトの名無しさんNGNG
DelphiでMTRソフトとか波形処理ソフトとか作れますか?
0840デフォルトの名無しさんNGNG
MultiTrackRecorderですか
0841デフォルトの名無しさんNGNG
>>840
そうです
0842デフォルトの名無しさんNGNG
本来は目的別に別れているはずなのだがどのすれもごっちゃ
マルチポストするやつもいたし

相談室がこのスレより難解、高度なことを扱い
フサギコスレはプログラム以外にもいろいろ(雑談スレ?)だったはず
0843デフォルトの名無しさんNGNG
>>839
TuaregってのがDelphi製
0844デフォルトの名無しさんNGNG
Delphiってボーランドっていう会社が作ったプログラミング言語ですよね?
0845デフォルトの名無しさんNGNG
>>844
>>5
0846デフォルトの名無しさんNGNG
なんで「インプライズ」とかになったの?
なんで元に戻ったの?
0847デフォルトの名無しさんNGNG
Inpriseインプライズだった期間ってどれぐらいだったっけ。
0848847NGNG
Inpriseインプライズって・・・
0849デフォルトの名無しさんNGNG
マシューに、あややが出るのはまだですか?待ってるんですが…。
0850デフォルトの名無しさんNGNG
>>846
>なんで「インプライズ」とかになったの?
気分転換のつもり
>なんで元に戻ったの?
やっぱりボーランドのほうが良かった
0851846NGNG
>>850
本当ォ?(藁
何か事情があるんじゃないのォ!?
0852デフォルトの名無しさんNGNG
姓名判断してもらったからと言ってみる
0853デフォルトの名無しさんNGNG
>>844
正確にはボーランドが作った開発環境で、ObjectPascalという言語を使ってる。
ObjectPascalは、大昔からあったPascalという言語をボーランドが拡張しまくったもの。
0854中日ファン@阪神に連勝モードNGNG
Inprise時代もDelphi等の開発環境だけはBorlandブランドだったね
0855デフォルトの名無しさんNGNG
>>841
今時、作れない言語も珍しいです
0856デフォルトの名無しさんNGNG
そのような話はマ版でやってくれんか?
0857デフォルトの名無しさんNGNG
そのような話は楽屋でやってくれなぁい?(by松ちゃん)
0858デフォルトの名無しさんNGNG
>>849
もうでましたよ。なんでもDelphiでアイドルプログラミングがされているとか…
0859デフォルトの名無しさんNGNG
>846
インター・イントラの企業システムを売るようになった(VisiBroker とか)ので、
開発ツールブランドのイメージが強すぎる Borland という名前から、Inprise に
変えたんだよ。
だから開発ツール群はそのまま Borland のブランド名を残していた。
(Inprise の Borland Delphi とか言ってた)

が……結局やっぱり開発ツールメーカーとしてのイメージのほうが強いんで(w
Borland に名前を戻したというわけ。
0860デフォルトの名無しさんNGNG
テキストみたいに窪んだ感じで、
横:中央寄せ
縦:中央寄せ

ができるコントロールってないのですか?
VBからの移行作業なんですけど、ラベルは窪んでないし、
テキストはAlignmentがないし。
StaticTextはLayOutがないので困っています。

Delphiでは諦めるしかないのですか?
0861デフォルトの名無しさんNGNG
枠はCreateParamsでいじれば何でも付けれる。
0862デフォルトの名無しさんNGNG
>>861
ありがとうございます。
でもLabelにCreateParamsが存在しないのですが
どうしたらいいでしょうか
0863デフォルトの名無しさんNGNG
>>860
ウザイ。いくらDelでもできない事くらいある。
嫌なら自分でコントロール作れタコ
0864860じゃないけどNGNG
>863
できないならできないと最初から言え。
逆ギレみっともない
0865デフォルトの名無しさんNGNG
>>860
ttp://home1.infonia.ne.jp/~delphian/delphi/index.html
ここで探したら?

自作しても、1日で出来そうな課題だと思うけど?
0866VBマンNGNG
つーかEditにAligmmentとLayOutが無いって結構致命的じゃない?
Del厨叩きのネタができてワショーイ
0867デフォルトの名無しさんNGNG
文字を窪ませたいの? なら色変えた文字をズラシて重ねて表示すればいいよ
枠を付けたいだけ? ならPanelで代用したらいいんじゃないの?
0868860NGNG
>>865
そこも検索したのですが、文字位置の横と縦を中央に配置できる
Editは無かったみたいです。説明不足でスミマセン。

>>867
Panelだと入力できないので後々困るかな?って感じです。
0869荒れてきたよNGNG
VBのせいで荒れてきたよ
0870デフォルトの名無しさんNGNG
>>868 ホントに無かった?
じゃ
http://www.google.co.jp/search?q=TEDIT+%92%86%89%9B%8A%F1%82%B9&hl=ja
0871デフォルトの名無しさんNGNG
866 名前: VBマン 投稿日: 02/04/18 11:50

つーかEditにAligmmentとLayOutが無いって結構致命的じゃない?
Del厨叩きのネタができてワショーイ
0872デフォルトの名無しさんNGNG
1, TEditとTMemoは Windowsの エディットコントロールのラッパーだから >>861の通り
  CreateParams を使えば中央寄せとか エディットコントロールの備えて
  いる機能は使える。 TEditを継承して Alignment を付けてもいいし
  TMemoを継承して、マルチラインを止めてもいい

2,TLabelはグラフィックコントロールだから、描画方法はそれこそご自由に
0873860NGNG
>>870
ありがとうございます。DEKOさんのテキストボックスを
使わせて頂こうかと思います。
0874デフォルトの名無しさんNGNG
厨房な質問ですまそ
stringからcharへの変換を一発でやる関数はないのでしょうか?
例えばStrToCharみたいなやつ
ぺるぷみても関数一覧にはなかった.
おそらく基礎の基礎と思われますが
おせーてください
0875デフォルトの名無しさんNGNG
VBの人はコントロール自作する気もないのか世
0876デフォルトの名無しさんNGNG
>>874
s: string があるとするなら s[1] がchar型になる。

1文字もないときはchar型で表現できんし2文字以上のときも捨てるしかない
0877デフォルトの名無しさんNGNG
>>876
ありがとうございます.
勉強になりました
0878デフォルトの名無しさんNGNG
なんか質問するのも恥ずかしいけど
聞くは一時の恥だし、教えて!

wavファイルから時間軸と音圧軸に関する配列?みたいなものを取り出して
それぞれを2次元でグラフ表示し、その波形を演算、処理するような
アプリ(俗に波形編集ソフトなどと言われているもの)が作りたいんですが
Delphiでこのようなアプリはプログラミングできるんでしょうか?
0879デフォルトの名無しさんNGNG
C++超初心者です。
DOS窓のBASICでゲームは作ったことあるので、
だいたいのフローチャートというかアルゴリズムは理解しています。
CIN COUT IF くらいでの簡単なプログラムは組めます。

目標はVC++でウィンドウズ用アプリで
シューティングとかパズルゲームを作りたいのですが、
まずどこから手をつけたらいいのかわかりません。
VCの解説書とかサイトってのは基本手にまず、C++のソースを
理解しているものとして書いてありますよね。

まずはC++の黒画面で表計算くらいできるようになってからVCでしょうか。
なにか良いサイトはありますか?
0880デフォルトの名無しさんNGNG
>>878 他の開発言語と同じ程度には作れますよ。

  RIFF を扱うのは APIになると思うけど
0881デフォルトの名無しさんNGNG
>>875
ソースあげてみ
0882中日ファン@今日もいただきますモードNGNG
>>879
思いっきりスレ違い(というか誤爆)ですね
↓ここで聞いてみたらどうですか?
http://pc.2ch.net/test/read.cgi/tech/994129650/l50
0883デフォルトの名無しさんNGNG
まあ誤爆でもここに書いたという事は Delphiにも興味があるという事でしょ

でも、シューティングゲームを作るならいきなりC++でもいいと思うよ
0884中日ファン@今日もいただきますモードNGNG
>>860
いいきっかけだから
練習のつもりで自分でコンポーネントを作ってみるのもいいでしょう
(以下のコード、使ってよし)
 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デフォルトの名無しさんNGNG
Indyで
Memo1.Lines.Text := IdHttp1.Get(URL);
このようにMemo1にソースを取得していたのですが
文字コードがシフトJISのページはうまくいくのですが
EUCのページは日本語が文字化けしてしまいます。

EUCのページも文字化けしないでソースを取得するには
どうしたらよいのでしょうか?
0886デフォルトの名無しさんNGNG
>>884 それって必ず動く保証が無いと思ってたんだけど、

>Windowsにエディット コントロール内のテキストを配置させるスタイルは3つあります。
>ES_LEFT、 ES_CENTER、 ES_RIGHTの各スタイルによって、 それぞれ、
>テキストは左寄せ、 中央揃え、 右寄せに配置されます。これらのスタイルは、
> 複数行エディット コントロールだけに適用されます。
0887デフォルトの名無しさんNGNG
じゃ >>884 の別解 

type 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
personalだと.dcuが作れなくてピンチ。

>>887
ありがとうございます。
それで、Layoutも追加したかったのでAligmmentを真似て
↓
procedure TCEdit.SetLayout(const Value: TTextLayout);
begin
 if FLayout <> Value then
 begin
  FLayout := Value;
  RecreateWnd;
 end;
end;

こんなのも作ってみたのですが、CreateParamsに何入れたら
値が反映されてくれるのかがわからません。
StyleにFLayoutを入れればよいのですか?
0889デフォルトの名無しさんNGNG
その Layoutって何?
0890デフォルトの名無しさんNGNG
シングルラインでES_CENTERはVCでもリソースから設定出来ない。
 自分の環境で一応動作するからといって、必ず動作する保証はない。

汎用的にやるならマルチラインにして、改行の入力をキャンセルするべきだと思う。

0891フリー作者ANGNG
>>890
俺はこんな感じで作って配布してるけど、今まで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デフォルトの名無しさんNGNG
>>889
TLabelにあるやつの事じゃない?
0893中日ファン@今日もいただきますモードNGNG
>>886
失礼・・・
ES_MULTILINEの部分をここへ上げるときに消してました(汗
0894中日ファン@今日もいただきますモードNGNG
・・・ES_MULTILINEをなぜ入れていたか自分でも失念してたのだ・・・撃つ山車脳

ところで
>>888
SetLayoutだけ入れても動作しないですよ
(TLabelのソースを見ると・・・実装には割と根性のいることが分かるのですが)
0895デフォルトの名無しさんNGNG
Personalってコンポーネント作れたっけ?
dcrが作れないような気がした
0896デフォルトの名無しさんNGNG
>>891 マルチラインなら問題ないと思うよ。 でもマルチラインにしたら改行が入ったりして困らない?

実際シングルラインでも 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で言うSplit命令ってDelphiにありますか?
文字列をデリミタで切って配列にポンみたいな関数

[VB]
arr() =split("AAA@BBB@CCC","@")

arr(0)→"AAA"
arr(1)→"BBB"
arr(2)→"CCC"

[Delphi]
arr[] := ?????
0899デフォルトの名無しさんNGNG
>>898 Delphiは完全なネイテブコンパイラですから、その程度のことは自分でおやりなさい


なお、配列を使うより文字列リストは TStrings 継承の TStringListを使います。

なお、CSV形式だけは直接する方法があります
0900デフォルトの名無しさんNGNG
>>898

type 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デフォルトの名無しさんNGNG
>>900
900Getおめ。

0902Delモナー ◆fPymXWHY NGNG
>>898
BRegExp ユニット
http://www2.big.or.jp/~osamu/Delphi/MyLibrary.htm
Perlの正規表現を使う。文字列操作には激しく便利。
もう手放せません。

900を超えたか・・・。もう新スレを立てなくては。
0903デフォルトの名無しさんNGNG
   | \
   |До) トコロントチャリピカァ!
   |⊂
   |


     ♪  Å
   ♪   / \   チィッカム
      ヽ(оДо)ノ   チィッカム
         (  へ)    チィッカム
          く       チィッカム


   ♪    Å
     ♪ / \   マグワッタ゚ァ
      ヽ(оДо)ノ  マグワッタ゚ァ
         (へ  )    マグワッタ゚ァ
             >    マグワッタ゚ァ
0904デフォルトの名無しさんNGNG
>>900

> delete(s,1,n+Length(sep));

Deleteって引数1個じゃなくて?
0905900NGNG
>>901 ありがと

>>904 もちろん他にもバグは沢山ご用意しております。

ここでDeleteと書くと、TStringListのDeleteメソッドを呼んでしまいますが、
ここから Delete手続きの方を呼び出す方法を習得して頂きたいとかように考えております。

 
0906デフォルトの名無しさんNGNG
>>895
ワラタ
0907デフォルトの名無しさんNGNG
Image1.Canvas.MoveTo(x1, y1);
Image1.Canvas.LineTo(x2, y2)

で描いた線を消したい。
しかし Image の Picture にビットマップ画像をロードしてある。
色々ためしたけど線の色が変わるだけで何らかの線が残ってしまう。
良い方法ないですか?
0908デフォルトの名無しさんNGNG
>>907 もう一度ロードさせればいいと思うけど?

リソースから読み出す方法が判らないなら、そのイメージを直接表示せずに
コピーしてから付けばいい
0909907NGNG
>>908
やはりそれしかありませんか。
では Canvas に描画した一部分を消すのも無理ですかね。
ともあれレスありがとうございます。
0910デフォルトの名無しさんNGNG
>>885
とりあえず、'jconvert'で検索してみる。
0911デフォルトの名無しさんNGNG
>>909 非破壊的な描画つまり XOR なら 2度操作すれば元に戻るよね?
  だから移動中の描画とかXORを使うでしょ?

でもそうじゃないなら元の絵を再描画するしかないよ
0912909NGNG
>>911
XOR も試してみたのですがやはり満足のいく結果が得られませんでした。
Delphi マンセーだったのですが思わぬところでつまづきました。
REALbasic では Refresh というメソッドで下の BMP を壊さずに上の描画を消去できたのですが。
新しくコンポーネント作った方がいいかも知れませんね。
お世話になりましたm(_ _)m
0913デフォルトの名無しさんNGNG
>>912 いや 完全に元に戻ればいいなら
フォームの OnPaintで フォームのCanvasに描くべきだと思うよ
0914912NGNG
>>913
はて、すみません、ちょっと意味がわかりません(^-^;;
つまりですね画像上の座標を調べるソフトが作りたいのですよ。
BMP 画像をロードしてクリックしたところの座標を教えてくれるのね。
そのときにグリッドを任意でかぶせたり取り払ったりしたいのです。
何か良いアイデアありませんかね?
0915中日ファン@川上ホームラン・モードNGNG
>>914
Imageの上に透明な(TransParent=True)Labelを張って
LabelのCanvasに書き込むと上手くいくよ
0916デフォルトの名無しさんNGNG
XORじゃなくてPAT_INVERTのPENを使うという手もある。
0917デフォルトの名無しさんNGNG
>>910
jconvert.pas使えばいいのですね?
ありがとうございます。
0918中日ファン@川上ホームラン・モードNGNG
Pen.Mode:=pmNot;
とかね
0919デフォルトの名無しさんNGNG
TStringGridを継承して、セルに色を塗るコントロールを作ろうとしましたが、以下の場所でエラーが出て
ダメでした。

{ 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の宣言がすでに定義されているものと異なります。

何がいけないのですか?
0920914NGNG
>>915, 916, 918
ご助言ありがとうございます。
いまから試してみます。

>>919
すみません、私ではわかりかねます。
他の方どうでしょう?
0921デフォルトの名無しさんNGNG
>>919
わたしは初心者なので詳しいことはよくわかりません。
ヘルプで以下の一文を見つけました。

>メソッドをオーバーライドするには,override 指令を使ってメソッドを再宣言します。
>オーバーライド宣言するときは,そのパラメータの型と指定の順序を,上位クラスでの宣言と合わせなければなりません。
>戻り値がある場合は,その型も合わせます。

「仮想メソッドと動的メソッド」ってタイトルの所です。
何かの手がかりになるとよいのですが・・・
0922919NGNG
>>921
サンクス。
Sender:TObjectって継承だと必要ないのね。
0923デフォルトの名無しさんNGNG
http://www.borland.co.jp/tips/delphi/dh011/sgrid_2.html
を見つけました。Senderがいらないっぽいですね。
0924Delモナー ◆fPymXWHY NGNG

  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. 新スレ立てました。
 (    ) .| ただしこのスレが980に行くまでは、
 | | |  | 新スレはsageておいて下さい。
 (__)_)  \_________________________

新スレ モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412
0925913NGNG
>>914
ああそうか、 フォームのキャンバスを使って描くとImageの上には描けないんだ

じゃ>>915と同じ事だけど systemタブにある PaintBoxをImageに被せて
そのOnPaintで PaintBoxのキャンバスを使って描けばいい。


0926913NGNG
具体的に書くと
PaintBox1
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
>>925
確かにこの目的にはPaintBoxの方がLabelよりふさわしいですね
(Labelでもできるというのは裏技っぽい)

Form - ScrollBox(alClient) - Image(AutoSize) - PaintBox(alClient)
という構成だと大きな画像でもちゃんと扱えていい感じ
0928野球は糞NGNG
野球は糞
0929デフォルトの名無しさんNGNG
ScrollBoxでホイールマウスのMouseWheelUp/Downが拾えないが俺だけでしょうか?
0930929NGNG
ごめんなさい、わかりました。
ScrollBoxの内容物にフォーカスがあると拾えるみたいです。
0931ななしヘタぐらま ◆B18Bks.Y NGNG
>>860
>867さんのようにパネルを使うのが簡単だと思います.
・パネルを置く
・パネルのBevelOuter を bvLowered に
・パネルの上にラベルを置く
・ラベルの Align を alClient に
・ラベルの Alignment を taCenter に
・ラベルの LayOut を tlCenter に
0932デフォルトの名無しさんNGNG
StringGridでCell上をドラッグすると同時に文字を書き込む事って出来ますか?
どうやればいいのでしょうか。

┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
┼┼┼┼┼┼┼┼┼┼┼┼
→→→→→→→→→→→
※ドラッグすると文字が順次書き込まれて行く
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中日ファン@結局引き分けお疲れモードNGNG
>>932
StringGridの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
934のままだと範囲外でエラーがでると思うからその辺は
条件判断を入れるとかしてください
0936デフォルトの名無しさんNGNG
StringGridで、Colsに対応したAlignmentを作りたいのですが、
どうしたらいいのでしょうか?

property AlignmentCol : array of TAlignment read FAlignment write SetAlignment default taLeftJustify;

↑
この配列の要素数をColCountと連動させたいのです。

ColCountを上書きして対処しようとしたら、StringGridの列数が増えなくなっちゃったし。
んー
0937デフォルトの名無しさんNGNG
>>935
あれ?
うまく動かない。

なんでだろう・・・

dmもAutoにしたのに
0938デフォルトの名無しさんNGNG
 http://pc.2ch.net/test/read.cgi/tech/1019185100/
0939中日ファン@今日はお休みモードNGNG
>>937
まさかと思うけど・・・
934のコードは OnDragOver イベントハンドラに書いてますよね?
0940デフォルトの名無しさんNGNG
>>939
OnDragOverに書くんじゃ無いですか?

OnDragOverイベント書いてますけど。
0941中日ファン@今日はお休みモードNGNG
>>940
それで合ってますよ
・・・ブレークポイントを入れてデバッグしてみるしかないのでは?
0942デフォルトの名無しさんNGNG
いっそ MouseMoveイベントで 処理した方がいいんじゃないの?
0943デフォルトの名無しさんNGNG
>>941
無事動きました!
ありがとう御座います!

>>942
MouseMoveでやるとマウスを押下してなくてもドローされちゃうんです。
試したらおもしろかったけど。


それと範囲チェックエラーなんですがこれではダメでしょうか?
以前からこのチェックは行っていたのですが。

if (nCol = -1) or (nRow =-1) then Exit;
0944943NGNG
>>943
自己レス
上のコードであってた。
0945デフォルトの名無しさんNGNG
1行目
2行目
3行目
4行目
5行目

Memo1に上のような文字列が入ってたとして
Button1を押すとMemo2に

2行目3行目4行目

と出したいときはどうすればよいのでしょうか?
0946デフォルトの名無しさんNGNG
s := '';
for i := 0 to Memo1.Lines.Count-1 do begin
 s := s + Memo1.Lines[i];
end;
Memo2.Lines.Add(s);
ってこと?
0947デフォルトの名無しさんNGNG
DelphiのFAQサイトをこれらのスレッドからまとめて抜粋して載せようと思うのですが、ダメでしょうか?

膨大な情報になって結構便利だと思うのですが。
0948デフォルトの名無しさんNGNG
>>947
許可します。
ページ名は「モナーの *やさしい* DelphiFAQ」がいいとおもふ。
0949Delモナー ◆fPymXWHY NGNG
>>947
私としてはいいと思います。
まとめるのが大変そうですね。頑張ってください。
0950デフォルトの名無しさんNGNG
>>947
コテハンの投稿はちゃんとコテハンまで掲載するようにね
0951デフォルトの名無しさんNGNG
>>947
禁止します。
0952デフォルトの名無しさんNGNG
移行のついでに埋め立てカキコ
0953デフォルトの名無しさんNGNG
hayalifsdljfakfds
0954デフォルトの名無しさんNGNG
LightRepってフリーの帳票コンポを使われている方いらっしゃいますか?
昨日Delphi6proを購入して、以前のDelphi4から色々とコンポを入れなおしておりまして、
ついでに、最新をチェックして LightRepも最新版にしたのですが、
LightRepが貼り付けられているフォームを表示するだけで10秒もかかってしまいます、
プログラム中で動的に生成しているフォームで使うと、固まった?と思わせるほどなの
ですが、D6+LightRep最新版を使われている方はみなさんこんな感じなのでしょうか?

OSはWinXP(HOME)なのですが、これも原因なのでしょうか。
0955再インスト未経験パソナラーNGNG
(´-`)。o ○ (コンポーネント一括インストーラーがあったら便利かもな…)
0956デフォルトの名無しさんNGNG
>>945
・forでくるくる回して必要な行だけmemo2に代入するか
・assignで一括してmemo2に代入して不要な行を削除するか

だね。
0957デフォルトの名無しさんNGNG
つーか、どーゆー必要性なんだ?945のヤツは。それによってやり方も
変わるかもしれない…
などとほざいてみる予行演習。
0958デフォルトの名無しさんNGNG
>>954
なんだそれ?LightRep自体を知らん、何処においてあるの?
そんな名も知れないコンポーネント使うから悪いんだろう、QREPORTじゃ駄目ですか?
0959デフォルトの名無しさんNGNG
>>958 名も知れないと言うが、結構有名だぜ、細かい複雑な
単票印刷とかだと結構役に立つよ。
Delphian World で探したらすぐ見つかる。

>>954 俺も使ってるけど、現象的に同じだが最新版だからってわけ
じゃなくて重いと思う、俺は動的じゃなくて起動時に作成しておいて
hideしてるから実行時に重いと感じることはないけど。
0960デフォルトの名無しさんNGNG
TComboBoxの枠(リストじゃなくてボックスのほう)を
消す方法を知ってる方いませんか〜
0961デフォルトの名無しさんNGNG
>>960

パネルで隠す
0962デフォルトの名無しさんNGNG
>>960

親のクライアント領域の外に出す。
0963デフォルトの名無しさんNGNG
>>955
自分用コンポーネントパッケージを作れ

漏れは再インスト時IDEの設定の保存/復帰がしたい...
どのレジストリキーをとっておけばいいのやらサパーリ
0964Delフサギコ ◆zE1iiRdQ NGNG
regedit.exe /E D6Toolbars.reg "HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Toolbars"
regedit.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デフォルトの名無しさんNGNG
↑これを実行すると何が起こりますか?
0966デフォルトの名無しさんNGNG
>>965
それてもフロクラマーか
0967デフォルトの名無しさんNGNG
>>965
963の願いが叶います。
0968Delフサギコ ◆zE1iiRdQ NGNG
XXX.Batというファイルにして
テキスト保存して実行すると

D6Toolbars.reg
とか、いくつかのファイルがXXX.Batと同じフォルダに
書き込まれますよ
んで、それがD6の設定になるので
再インス後に*.regを実行したら設定が元に戻るです

 ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
   ∧,,∧   他のマシンに設定移行するときも
  ミ,, ゚Д゚彡   便利っす
   〃  つ旦~~
 〜ミ,,,n,,n[ ̄ ̄ ̄.]
        ̄ ̄ ̄
0969デフォルトの名無しさんNGNG
>>968
やっぱりさぁ、レジストリよりiniファイルの方が便利だよなぁ、この辺りの設定もiniでやってくれて
た方が良かった、フォルダを丸ごとコピーするだけで良いのだし。

レジストリで管理するかiniファイルで管理するか設定出来るようにしてくれたら嬉しい > Borland

0970963NGNG
>>964 (フサギコ氏)
どもです。
環境保存/復帰が禿しく楽になって(・∀・)イイ!!

(´-`)。oO(…6.0を変えれば他のバージョンにも対応できそうだ…)


>>969
禿同意、そうでなくとも、せめてこういう設定を大量に
レジストリに書き込むタイプのソフトウェアは開発環境問わず、
非環境依存の設定をエクスポート/インポート
できるようにするべきだと思う。

ってスレ違いですね、すみません。
0971デフォルトの名無しさんNGNG
はい
はい
こういうことはできませんか。

1) アプリがレジストリに対して何か操作をする
2) その操作を横取りして、実際には ini ファイルに対して操作を加える. その ini ファイルは、アプリケーション毎に自動生成する.
3) 実際のレジストリはクリーンなまま
4) (・∀・)イイ!
0972デフォルトの名無しさんNGNG
regmonとか見るとできるのかもしれないが……先は長い。
0973デフォルトの名無しさんNGNG
既出だと思うが、調べるのも面倒なんで

StringGridのセルにComboBoxを埋め込む方法をおまえら教えろ!こりあん!
できれば白い部分より一番上の灰色の部分がいいんだが。
エクセルのオートフィルターみたいなことしたいじゃ、!こりあん!
0974デフォルトの名無しさんNGNG
>>971
advapi.dllだっけ?>レジストリ操作APIがあるの

1.これと同名のラッパDLLをアプリexeと同じフォルダに置く
2.アプリは偽DLLを読む
3.実際偽DLLのレジストリ操作関数を呼ぶ
4.偽DLLはレジストリは操作せず実際はINIを操作
5.(゚д゚)ウマー

説明下手だけどこんな感じなら出来るのでは。
所謂かちゅ〜しゃでいうkage方式で。
0975デフォルトの名無しさんNGNG
>>973
2時間30分経過。。。。。。
0976973NGNG
>>975
おまえらバカで答えられないってことがよくわかったよ。
クソプログラマーばっかだな
0977デフォルトの名無しさんNGNG
調べるのが面倒だから教えろとかいう質問には
同レベルにして、調べるのが面倒だから答えない。
0978デフォルトの名無しさんNGNG
>>973
答えてくれなかったら逆ギレですか。
セル座標を調べてコンボボックスでもなんでも配置してなさいってこった。
0979デフォルトの名無しさんNGNG
>978
のせられちゃ駄目。
0980デフォルトの名無しさんNGNG
>>973
私が作ったコンボ・チェックボックスをグリッド内に埋め込むコンポを進呈してもいいよ、
やってる事は、StringGridとitemを組み合わせて、位置を判定して動的に指定された
コンボかチェックボックスを表示又は制御しているだけなのですが、それで宜しいかな?

しかし、一般に広く公開したくないのでメールアドレスを教えて下さいませんか?
0981デフォルトの名無しさんNGNG
厨房は次の文を書きこみましょう。
ExitWindowsEx(Ewx_ShutDown,0);
0982デフォルトの名無しさんNGNG
(´-`)。o ○ (寒い981は罰として新スレ作れ)
0983デフォルトの名無しさんNGNG
新スレ
http://pc.2ch.net/test/read.cgi/tech/1019134412/


0984デフォルトの名無しさんNGNG
こ
0985デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1019134412/
0986デフォルトの名無しさんNGNG

http://pc.2ch.net/test/read.cgi/tech/1019134412/
0987デフォルトの名無しさんNGNG


http://pc.2ch.net/test/read.cgi/tech/1019134412/
0988デフォルトの名無しさんNGNG



http://pc.2ch.net/test/read.cgi/tech/1019134412/
0989デフォルトの名無しさんNGNG




http://pc.2ch.net/test/read.cgi/tech/1019134412/
0990デフォルトの名無しさんNGNG





http://pc.2ch.net/test/read.cgi/tech/1019134412/
0991デフォルトの名無しさんNGNG






http://pc.2ch.net/test/read.cgi/tech/1019134412/
0992デフォルトの名無しさんNGNG







http://pc.2ch.net/test/read.cgi/tech/1019134412/
0993デフォルトの名無しさんNGNG
せん!
0994デフォルトの名無しさんNGNG
ムム
0995デフォルトの名無しさんNGNG
       v
      (゚ω゚) <そろそろ出番だな
     /(  )\
      /'\
0996デフォルトの名無しさんNGNG
       v
     <(゚ω゚) <うっ!
      (  )\
      /'>
0997デフォルトの名無しさんNGNG
       v
      (゚ω゚)> <はっ!
     /(  )
       <'\
09982000NGNG
2000!!
0999デフォルトの名無しさんNGNG
       v
     <(゚ω゚)> <うっ!
      (  )
      /'>
1000デフォルトの名無しさんNGNG
     v       w
    (゚ω゚)/ \(゚δ゚)<ジーンギスカーン!
   /(  )    (  )ゝ
     <'\    / >
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。