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

くだすれDelphi(超初心者向け) Part3

レス数が1000を超えています。これ以上書き込みはできません。
0001毛の生えたフサギコNGNG
このスレッドは、

他のスレッドでは書き込めない超低レベル、もしくは質問者自身何が何だが
分からない質問を勇気を持って書き込むスレッドです。

Delphi使いが優しくコメントを返しますが、お礼はDelhiの布教と初心者の
救済をお願いします。
0002デフォルトの名無しさんNGNG
ゲッツ
0003毛の生えたフサギコNGNG
くだすれDelphi(超初心者向け) (Part1)
http://pc2.2ch.net/tech/kako/1051/10518/1051882835.html

くだすれDelphi(超初心者向け) Part2
http://pc2.2ch.net/test/read.cgi/tech/1053757982/
0004毛の生えたフサギコNGNG
げ >> 2
0005毛の生えたフサギコNGNG
リンク集
http://onigiri.s3.xrea.com:8080/delphi/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0006毛の生えたフサギコNGNG
前スレ http://pc2.2ch.net/test/read.cgi/tech/1053757982/ を
使い切ってから利用しましょう。
0007好い加減頭悪いの治して欲しいNGNG
ま た D e l h i に な っ て る よ
0008デフォルトの名無しさんNGNG
>>7
1つなおってるじゃないか(ワラ
0009毛の生えたフサギコNGNG
げ。>> 7
二つ目があったのか。QualityCentral 経由でバグ登録してください。
0010デフォルトの名無しさんNGNG
>>1
でるひ ってなんですか?
0011デフォルトの名無しさんNGNG
>>10
粘着うざい
0012デフォルトの名無しさんNGNG
>>11
粘着じゃないんですが?
0013デフォルトの名無しさんNGNG
            _____________
     ∧,,∧   /
    ミ,,゚Д゚彡< とっても、いいと思われまふ
   'ミ つ旦)~~  \___________
  ⊂ミ",, ,,ミ つ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
0014デフォルトの名無しさんNGNG
エクスプローラから、複数ファイル名をD&Dで、特定のFILELISTBOX
に持ってくることは可能でしょうか??
0015デフォルトの名無しさんNGNG
持ってくるの意味が分かりません。
0016デフォルトの名無しさんNGNG
[ajsifjdsiofjisdo]
と
[jふぃjfdi]

のような文字列があったとして
2バイト文字があるか高速に確認できるプログラムを教えてください。
0017デフォルトの名無しさんNGNG
Delphi7を使っているのですが、使いたい
NMHTTPコンポーネントが見つかりません。
どこにありますでしょうか?
0018デフォルトの名無しさんNGNG
Delphiという文字列が含まれた文章から
Delhiという文字列を削除したいです。
どうしたらいいですか?
0019デフォルトの名無しさんNGNG
>>14
Dungeons & Dragons 懐かすい

ところでFILELISTBOXってどんな魔法?
002014NGNG
D&Dとはドラえもんとドラえもんズの略でつ。
0021デフォルトの名無しさんNGNG
>>18
StringReplace

s := StringReplace(s, 'Delphi', '', [rfReplaceAll]);
0022デフォルトの名無しさんNGNG
>>21
ありがとうございます。
それを>>1に対して実行するには
どうしたらいいですか?
教えてください。
0023デフォルトの名無しさんNGNG
>>17
少なくともDel7のPer版, Pro版には付属してないらしい
ttp://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/071/071174.html
0024デフォルトの名無しさんNGNG
>>16
ByteType関数使ってください。

for i := 1 to Length(S) do
begin
 if ByteType(S[i]) = mbLeadByte then Result := True;
end;
0025デフォルトの名無しさんNGNG
for i := 1 to Length(s) do
if s[i] in LeadBytes then result := True;

の方がずっとはえー
0026デフォルトの名無しさんNGNG
TlistViewに指定ディレクトリ直下のフォルダだけを一覧にしたいんだが
FindNextを使うしか方法はないのん?

フォルダ数少なくてもファイル数が多いディレクトリ直下を調べるとき遅くてイヤソ(;´Д`)
0027デフォルトの名無しさんNGNG
>>26
シェルネームスペースを使う。
002816NGNG
>>24 >>25
ありがとうございます。
0029デフォルトの名無しさんNGNG
やるきだせよ
0030デフォルトの名無しさんNGNG
>>26
うちだと2000個くらいファイルがあっても0.2秒くらいで開けるがな。
0031デフォルトの名無しさんNGNG
>>16
速度も遅いしあまり薦めないけど

Function IsContainDBCS(const s : string )
begin
 result := length(s) <> length(WideString(s));
end;
0032のちもちNGNG
取得したメディアのなかみをリスト一覧のなかから選択し、
エクスプローラライクに表示させたいのですが、
(左にTreeView、右にListViewで、ファイル名、サイズ、
更新日時といったカンジで)
そのデータの保持方法がいまいち思い浮かびません。
各フォルダごとにその直下のファイルリストを保持するのは
現実的ではないだろうし…。
ちなみにツリー表示するだけのものなら、もうできあがっているので、
あとはファイルサイズも見られるようになったらいいかなと思って、
今はツリー表示しかできないところを、
エクスプローラライクにできないかなあ、と画策しているのです。
0033デフォルトの名無しさんNGNG
自分のマシンのIPアドレスを取得するにはどうすれば良いでしょうか?
0034コピペしようぜ!!NGNG
早稲田大SuperFree強姦事件のまとめページ
http://www.memorize.ne.jp/diary/06/93147/
早稲田大レイプ魔晒し上げ画像
http://tmp.2chan.net/img2/src/1056025506230.jpg
http://oosaka52.hp.infoseek.co.jp/cgi-bin/img/586.jpg
早稲田大レイプ魔晒し上げフラッシュ
http://cstrike-inr.mine.nu/SuperFree/waseda.swf
0035デフォルトの名無しさんNGNG
>>16
>>25改。これが出た中では一番速い。
Result := False;
for i := 1 to Length(s) do
 if s[i] in LeadBytes then begin result := True; break; end;

ByteTypesは前後の文字も調べてるので計算量はこの方法の数倍だし、
(LeadBytesは単に全角の一バイト目かどうかを調べるのに対し、ByteTypesの方が情報量が多い)
WideStringにキャストは、すべての文字をコンバートする上新たなメモリ割り当ても行うので
悪いけど単に調べるだけの用途ならちょっと論外。
0036デフォルトの名無しさんNGNG
自分の作ったプログラミングの2重起動を禁止する方法を教えて下さい。
0037デフォルトの名無しさんNGNG
D5ProにLMD-TOOLSというコンポーネントをインストールしたらIDEでstringやSQL等を編集するエディタが
LMD製になってしまいました。
日本語が通らないので元に戻したいのですがどうしたらいいでしょうか。
使いたいコンポーネントがあるので完全にアンインストールしないでエディタだけ元に戻す方法が有れば教えてください。
0038デフォルトの名無しさんNGNG
>>36
http://www.google.co.jp/search?q=CreateMutex+Delphi&lr=lang_ja

>>36
LMDなんとか知らないけどソースがあるなら
RegisterPropertyEditor を探して 修正したらどう?
003936NGNG
>>38
どもっす。
なんとかできそうです。
ありがとうございます。
004026NGNG
>>27
thxこれから調べるッ
004126NGNG
>>30
二千じゃ聞かないのだよ二千じゃ(`Д´)
0042デフォルトの名無しさんNGNG
設計で質問です
あるクラスTAのリストを持つTBというクラスがあったとして
TAに変化があった場合TBでもそのことを知りたいんですが
下のようにはできませんよね?

Type
 TA = class(TObject)
  Owner: TB;
  a: Integer;
 end;

 TB = class(TObject)
  List: TObjectList;
  modified: Boolean;
 end;

これはTA宣言時にTBが何だかわからないのでダメみたいですが
これの解決方法にTAにTObjectとしてTBを持たせてキャストしてアクセスするのと
TA.aへのアクセスをTBからしかできなくする以外に方法はありますか?
それとも根本的な設計ミスですか・・・?
0043デフォルトの名無しさんNGNG
TB = class; と最初に書いておく
0044デフォルトの名無しさんNGNG
>>43
首吊ってきます・・・
0045デフォルトの名無しさんNGNG
ネットワーク上の別のマシンの共有フォルダにある
ソフトを起動するにはどうすれば良いですか?

ShellExecute だと自分のマシンでネットワーク上のソフトを起動する事はできますが、
別のマシン(Aとします)上のソフトをA上で起動するにはどうすれば良いでしょうか?

OSはWinXP HomeEditionです。
0046デフォルトの名無しさんNGNG
>>45
もしそれが何の設定もなく出来るとなると、ちょっと困った事になりますよね?

・Aのマシンでtelnetd を走らせておくとか
・Aのマシンで バッチファイルがあればバッチファイルを一度実行して実行後削除するというバッチを無限ループで作るとか
004745NGNG
>>46
確かに、何の制約もなくプログラムを実行出来るのは問題がありますね(^^;

バッチファイルが今回の私の場合、使えそうです。
アイデアありがとうございます。
0048デフォルトの名無しさんNGNG
DCOM という手もある。>> 45
0049デフォルトの名無しさんNGNG

関数を引数として関数に渡すにはどのようにしたらよいでしょうか。
0050直リンNGNG
http://homepage.mac.com/yuuka20/
0051_NGNG
http://homepage.mac.com/hiroyuki44/
0052デフォルトの名無しさんNGNG
>>49
関数ポインタ方を先に定義します。

例えば type TMyFunc = function (x:integer):Integer;

で TMyFunc型の引数で関数を定義すればよろしい
0053デフォルトの名無しさんNGNG
前スレ上がってたのでage
0054デフォルトの名無しさんNGNG
>>17まだ見てる?
Indyならネット関連のプロトコルパッケージが無料で使える
ttp://www.nevrona.com/Indy/
日本語ヘルプ
ttp://www.borland.co.jp/delphi/del7docup.html
0055デフォルトの名無しさんNGNG
ゲームプログラムなんですが、メインFormのonCreateで、設定ファイルを読んで、
必要なオブジェクトを用意して、画面に配置して、それらの準備ができたらMMTimerを
スタートさせてゲーム開始!・・・のはずなんですが、

onCreateの最後でMMTimer.startをやると希にアクセス違反を起こしてしまいます。
もしかして、オブジェクトの準備ができていないのにタイマーをスタートさせて
それらをいじろうとしたから・・・?

オブジェクトを作る命令がいくつかあって、その一番最後でタイマーを動かしてるんですが
こういうことってあるんでしょうか?
0056デフォルトの名無しさんNGNG
>>55
あります
私もそれで泣きました
解決方法としてはOnShowで
if not Timer.Enable then Timer.Start
みたいにやるか
独自のWindowsメッセージを定義して
OnCreateの最後で投げるなどがあります
(メッセージループに入った=初期化処理は全て終わった)
0057デフォルトの名無しさんNGNG
Delphiの事を考えるだけで、胸がドキドキします
これは、もしかして "恋" なのでしょうか?
誰か、経験者の方は、おりませんでしょうか?
0058デフォルトの名無しさんNGNG
>>57
このスレはネタスレではありません。
ここ逝って聞いてください。そして二度と帰ってこないでください。
http://academy2.2ch.net/min/



0059デフォルトの名無しさんNGNG
>>23、>>54
ありがとう。調べてみます。
0060デフォルトの名無しさんNGNG
>>56
うわ、助かります。・゚・(ノД`)・゚・。
MMTimerはEnableプロパティは無いようなので、メッセージですか・・・。
どう違うのか仕組みがわかってませんが、、精進します(´・ω・`)
0061デフォルトの名無しさんNGNG
>>52 
ありがとうございます。
ケースごとに不特定の関数を渡すようにするには
どうしたらよいですか?聞いてばかりですいません・・
0062デフォルトの名無しさんNGNG
>>61
pointer 型にキャスト。
0063デフォルトの名無しさんNGNG
>>61
ケースごとって case 文の事? 詳しく書かないと判らんよ
0064デフォルトの名無しさんNGNG
>>63
わからんなら、レスつけるなよ。52 の元の 49 を読みなさい。
ケースが Case 文かどうか関係ないでしょ?強い型付言語のひとつの Pascal で、
任意の関数を引数に渡したい。って話なんだから、pointer 型使うしかあるまい。

pointer 型は、C/C++ でいうところの void * で、任意のポインタを表現できます。
その代わりのっぺらぼう。関数としての情報すら失っていますから、実際に元の関数を
呼び出す場合には、再度 52 に有るような関数型名定義を行い、それにキャストする形と
なる。
0065デフォルトの名無しさんNGNG
だから、そういうふうにpointer型を使って無理に渡すのはどうかなと思ったから詳しい事情が知りたいわけ。
その設計には明らかに無理があるでしょ?
006661NGNG
やりたいことは、ある条件を判定する汎用的関数があって、
その関数は幾つかの関数から呼び出されるのですが、
判定条件がTrueの場合、引数で渡された任意の関数にジャンプ
させたいというものです。
素直にcase文を使わないのは、関数を指定するのを呼び出し元のみ
に収めたいと思っているからです。
0067デフォルトの名無しさんNGNG
>>66
function Hoge( x,y:Integer ; func:TFunction) : boolean ;
begin
 ・・・なんか判定があって・・・
 if Result
 and Assigned(func) then func(引数があれば);
end;

って事? なんだか、構造化されてない設計だね


こういう場合、条件を判定する汎用的関数 ではなく、汎用的クラスを作った方が色々と簡易になると思うけど?


0068デフォルトの名無しさんNGNG
StringList内にhogeという文字列がいくつあるか数えるにはどうすればいいんでしょうか?
0069デフォルトの名無しさんNGNG
ループ回して自分でカウントしろ
0070デフォルトの名無しさんNGNG
http://halbow.cool.ne.jp/VCL05.html
0071ありがとNGNG
関数ゲット ズサー
内容調べてから使います
0072デフォルトの名無しさんNGNG
質問なのですが、

Form1 から Form2 を開いたとき、Form2 で Form1 上の内容を
参照したいのですが、どうしたら良いのでしょう?

Sender でそれらしいことができるのではないかと思うのですが、
イマイチ分かりません。
0073デフォルトの名無しさんNGNG
Unit2でUnit1をusesしれ
007472NGNG
>>73 さん

も、もう少し細かく教えてもらえれば助かるのですが……。

例えば、Form2 から Form1 上のラベルの Caption を参照する場合には
どういうコードになるのでしょう?
0075デフォルトの名無しさんNGNG
implementation
uses Unit1;

procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Label1.Caption := ' ♥ ';
end;
007672NGNG
ありがとうございます。これで目的のことができそうです。


ついでにもうひとつ質問なのですが、

Torm2 が、Torm1 と Torm3 のどちらかから Create, ShowModal される可能性が
あるとして、Form2 内でどちらのフォームから表示されたかを識別するにはどうしたら
良いでしょう?
007772NGNG
Torm じゃなくて、Form ですな……
0078デフォルトの名無しさんNGNG
>>76
 可能性がって、それは自分がコーデングするとは限らないって意味?
 自分がプログラムを作るのなら、 FOpener:TForm; メンバか プロパティを用意して
 それに代入する事にしたらいいと思うよ。

 他人が使うなら ShowModal を殺しておいて、
procedure MyShowModal(Sender:TForm);
みたいな手続きを用意してこれを使ってと書いておいたら?
0079デフォルトの名無しさんNGNG
Delete(BIOS)
0080デフォルトの名無しさんNGNG
たぶん単純に、作る奴も開く奴も同じだろうから、
Createの引数に作成者(Form1なりForm3なり)を入れて、Ownerで判断しれ
0081デフォルトの名無しさんNGNG
配列型定数の定義の方法で悩んでいます。
たとえば、4*4の行列

1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7

があるとき、任意の行を取り出してそれぞれの
要素の合計を4つの変数に求めるプログラムを
作りたいのです。
(上の場合なら最初の行と3番目の行を取り出
し4つの変数にそれぞれ4,6,8,10という結果を
代入する)

しかし、この行列を配列にひとつずつ代入する
以外のやり方で定義したいのです(それという
のも、本番のプログラムは対象が26*8の行
列になるからです)。

よろしくお願いします。
0082ANGNG
>>81
配列をクラスにして、一気にまとめてセットするメソッドかプロパティを作っては?
0083デフォルトの名無しさんNGNG
>>81
その定数というのは
1)定数であって計算でも求まるもの
2)毎回入力または変更するもの

どちら?
1)なら 配列定数を吐き出すプログラムを作る。 
2)なら、カンマ区切りのテキストファイルにして入力させればいい
0084ANGNG
>>81
あ、定数か…。
それなら、

const A: array[0..3, 0..3] of Integer
 = ((1, 2, 3, 4), (2 ,3, 4, 5), (3, 4, 5, 6), (4, 5, 6, 7));

でいいはず。
詳しくは、ヘルプで"配列型定数"を見てみて。
0085デフォルトの名無しさんNGNG
>>82-84
当方、まだまだ初心者の域を出ずクラスを作ってどうこうという方法は
いまいちよくわかりません。
今回は>>84の方法でやってみようと思います。

へルプの配列型定数のところは読んではみたのですが、例として提示さ
れた方法がよくわからなかったもので・・・・・・。

ありがとうございました。
0086デフォルトの名無しさんNGNG
関数や手続きを外部ファイルに出してそれを使うにはどうすればいいんですか?
0087デフォルトの名無しさんNGNG
{$INCLUDE xxx.inc}
0088デフォルトの名無しさんNGNG
unitのことじゃ・・・
0089デフォルトの名無しさんNGNG
>>86
1.ファイル(F) 新規作成(N) ユニット(U)

2.
unit Unit2;
interface
procedure Hoge; // 宣言
implementation
procedure Hoge; //
begin
  処理
end;
end.

3.
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Unit2; // Unit2追加
中略
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  Hoge; // 呼び出し
end;
end.
009086NGNG
>>89
ども
0091デフォルトの名無しさんNGNG
>>67
ありがとうございます。
Delphi始めたばかりなもので、もっと勉強してみます。

0092デフォルトの名無しさんNGNG
単純に大文字小文字を区別せず2つの文字列を比較したい場合
CompareTextとSameTextだとどっちのほうが効率的なんでしょうか?

いろんなサンプルプログラムではよくCompareTextが使われてるみたいですけど
Compareしたあとにまた=0で判定する分無駄があるように見えます

Del6Personalなので中で何やってるのか全然わからないので
頓珍漢な質問かもしれませんがご存知の方お願いします・・・
0093デフォルトの名無しさんNGNG
パフォーマンスを気にするんなら実際に計測してみなよ。
たいていボトルネックになっていないことがわかるから(藁
0094デフォルトの名無しさんNGNG
>CompareTextとSameTextだとどっちのほうが効率的なんでしょうか
SameText内部でCompareTextが呼ばれる。

ちなみに
var a,b:string; なら
if a=b then ・・・ でいいと思うが? ただし負荷はほぼ同じだが
0095デフォルトの名無しさんNGNG
じゃあ見た目が綺麗だからSameTextにします
>>94
関係演算子だとCaseSensitiveじゃないですか・・・?

も1っこ質問なんですが
ビットフラグみたいに集合型を扱う場合
特定ビットの反転にあたる演算子はあるんですか?
a := a xor [someflag]; みたいな(これじゃエラーでた・・・)

ヘルプを見る限りは和集合-積集合しか方法が無いみたいですが
これこそ可読性が極端に下がるので使いたくない・・・
0096デフォルトの名無しさんNGNG
綺麗に表現出来ないなら、それは集合型を選択するのが間違いだったって事では?

プロパティに使うと便利だからって理由で、そして反転したいなら if 文で書いた方が判り易くて良いでしょう
if someflag in a then Exclude(a else Include(a, someflag ) みたいにさ
0097デフォルトの名無しさんNGNG
TStringGrid の上でマウスホイールを使ってスクロールした時、
遅くスクロールした場合と、早くスクロールした場合で処理が分かれてしまいます。
具体的に書くと、遅くスクロールすると選択している項目が下にずれていき、
早くスクロールするとスクロールバーが動きます。
これを両方ともスクロールバーを動かすようにする方法はありませんか?
0098デフォルトの名無しさんNGNG
>>96
すみません
ビットフラグはビットフラグでやれってことですね・・・
0099Delphi 6 PersonalNGNG
*.dprでDelphiを開いたときに全部のユニットをタブを表示するのはどこを設定すればいいのですか?
0100デフォルトの名無しさんNGNG
☆貴方好みの美女をクリックしてみて☆(特典いっぱい)
http://endou.kir.jp/yuminet/link.html
0101デフォルトの名無しさんNGNG
ICONファイルの透明色ってどうやって指定するんでしたっけ?
0102デフォルトの名無しさんNGNG
アイコンファイルは自動的に座標(0,0)が透明色になる筈だが
0103デフォルトの名無しさんNGNG
メモリリークを検出するようにしたら
やっぱりというか5つほど開放忘れがあったらしい
だがしかし、自分でやってる全てのCreate/GetMemを
順番にコメントアウトしてみてもまったく無くならない

そこで、リークしてるメモリの中身は分かっているので
コレをもとにデバッガか何かで、実行中に
同じ内容のメモリ領域を探し出すことって出来ますか?
Personalなんで微妙ですが、やっぱ無理かな
0104103NGNG
あ、あと当たり前かも知れませんが
何度起動しても毎回同じ内容です
(しかも同じのが3つもある)
0105103NGNG
最悪
チェッカのバグかVCLの仕様だった
最初に空フォームで検証してみなかった俺の馬鹿・・・
0106デフォルトの名無しさんNGNG
>>102
だっけ?
VisualStudioのアイコンエディタだと透明色ってのがあって、それで塗った部分が透明になるけど。
たしかDelphiについてきたイメージエディタ(のアイコン作成)もそんな感じだったような。
0107デフォルトの名無しさんNGNG
>>103
せめて Delphi のバージョンを。
>>105
自己解決したのか。

D6 では、ひとつのプロセスで三つのメモリブロックを開放しないという「振る舞い」を持つ。
メモリリークはバグの原因の一つだけど、メモリ開放を忘れると必ずバグが出るわけでもない。
0108デフォルトの名無しさんNGNG
正直に言うと 解放で手抜きをする事は多いな。
解放した後コールバックが飛んできそうな時まあしょうがないと自分でも思うけど
仕様追加でどんどん作業バッファが増えていつどの順で解放させるかトレースする手間取れなくてそのままだったりは
やっぱりイカンな・・・
0109デフォルトの名無しさんNGNG
>>108
それは設計ミスの気がするが。(もしできるなら)どこかで作り直したほうがいいね。
0110デフォルトの名無しさんNGNG
Form1が全体のメニューになっていて、ボタンをクリックすると
Form2が表示される(Form1は完全に隠れる)ソフトで
Alt+F4を押したり、タスクバーの「デスクトップの表示」を押して、
その後ソフトを表示させるとForm1が出るのを避けるには
どうすれば良いでしょうか?

Form1でタイマーを動かしているのでShowModalは使えません。

宜しくお願いします。
0111110NGNG
すいません。
意味不明でした。
わすれて下さい(^^;
0112デフォルトの名無しさんNGNG
質問しなおします。

Form1とForm2はそれぞれ
OnActiveで
WindowState := wsMaximized;
を実行して、全画面表示にしています。
Form2は選択可能なフォームです。

Form1のボタンをクリックすると
form2 := TForm2.Create(self);
form2.Show;
を実行して
Form2が表示されるプログラムで
タスクバーの「デスクトップの表示」を押して、デスクトップを表示した後
タスクバーから選んで再度プログラムを表示させると
Form2が消えてForm1が表示されてしまいます。
どうすればForm2が表示された状態にする事が出来ますか?

ShowModalを使わない方法をお教え下さい。

宜しくお願いします。
0113デフォルトの名無しさんNGNG
>>112
Form1はメインフォームだから、先に最大化されてForm2がアクテブになれないからだから、
Form1のボタンをクリックした時に
form2.Show;
WindowState := wsMinimized;
とか最大化を解除しておいたら?

それから、ボタンでフォームを作成する時は2度目が作成出来ないようにしなくてもいいの?
いちおうForm1の子供で管理はされてるんだろうけど
0114デフォルトの名無しさんNGNG
集合型はBYTE型にキャストできるんでつか?
0115112NGNG
>>113
ありがとうございます。
解決しました。

Form1のボタンクリックで
if form2 = nil then begin
form2 := TForm2.Create(self);
end;
form2.Show;
WindowState := wsMinimized;
としてみました。

0116デフォルトの名無しさんNGNG
TIBTransactionてのがありますが、
これは、TIBDatabaseに一個用意するものでしょうか?
それとも使いまわして良いですか?
0117デフォルトの名無しさんNGNG
集合型の実装は、256 ビット(32 byte)のビットマップ。
Byte 型に強制キャストすることはできても、ほとんどの情報は消えてしまうだろうね。

集合型の個々の要素は最大 256 種類なので、Byte 型に格納することも可能でしょう。
0118デフォルトの名無しさんNGNG
>>116 大雑把に。
ひとつのデータベースに対して複数のトランザクションをかける必要があるときは、
当然複数の TIBTransaction が必要。管理できるなら一つでよい。
もちろん、複数トランザクションを同時に行う場合には必要なだけ用意しないと。
0119デフォルトの名無しさんNGNG
DelphiでネットワークプログラミングやRDBプログラミングをするにあたって
おすすめの書籍またはHPを教えて下さい。
0120デフォルトの名無しさんNGNG
>>114
要素数8個までの集合型のサイズは1バイトなので問題なくBYTE型にキャスト出来る。

要素数16個ならWORD、
32個までならDWORDに対応。
0121練習問題でヘルプNGNG
ttp://www.wakhok.ac.jp/~tetsuo/delphi/chap07/pb0703.html
↑このページの【応用課題 7-3-B】をやろうと頑張ってるんですが、
どうしても成功しません。 どこが間違っているのかお分かりに
なる方がいらっしゃいましたらご教授お願い致します。m(__;)m

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer; //for文のカウント用
x:integer; //数式上のx
y:integer; //数式上のy
temp:integer; //xの値を一時保管するための変数。
begin
x := 1; //初期値
y := 0; //初期値

for i := 1 to 1000 do //繰り返しここから。
begin

//描画時にx、yの値を6倍し、中心のズレを修正し、赤色で描画。
Image1.Canvas.Pixels[6*x+Round(Image1.width/2)
,6*y+Round(Image1.Height/2)] := $000000FF;

//次のx,yを求める。
temp := x; //xの値を一時的に保管。
x := Round(y-0.97*x+5/(1+x*x)-5);
y := Round(-0.995*temp); //tempにはxの値が入っている。

end; //for文ここまで。
end;

//このコードで実行すると、ループの9回目に初期値の(1,0)に戻ってしまいます。
0122デフォルトの名無しさんNGNG
>>121
練習問題で Help 出していたら、いつまでたっても上達しないよ。

あなたのコードは悪くないんだけど、設問を理解し損なっているだけ。
コードを書く前に、コードを理解しなさい。紙に数字を書いていってごらん。

ちょっとした勘違いが、間違った結果を出していることに気づくよ。
0123122NGNG
コードそのものは間違っていません。
描画コードも関係なし。誤差を考え6倍云々は忘れましょう。

正しい X,Y の組を、紙の上で数回分出して、
デバッガで追ってみましょう。何かに気づく。
気づかなかったら、プログラマには向かないかな?
0124デフォルトの名無しさんNGNG
向いてる向いてないで一番大事なのは、楽しんで組めるかどうかだと思うよ。(プロ除く)
なのでガンガレ>121
0125デフォルトの名無しさんNGNG
ルートディレクトリを取得する方法を教えてください。
たとえばCドライブにWindowsのフォルダがある場合は
C:\を取得したいという事です。
宜しくお願いします。
0126デフォルトの名無しさんNGNG
>>125
検索キー
GetSystemDirectory
ExtractFileDrive ProcessPath
0127デフォルトの名無しさんNGNG
カレント作業ディレクトリを取得して、それから1〜3文字目を抜き出す。
0128デフォルトの名無しさんNGNG
>>127
カレントディレクトリが、ネットワーク上、かつドライブにマップしていない場合も
あるので気をつけてね。
0129デフォルトの名無しさんNGNG
>>126
サンクス
0130デフォルトの名無しさんNGNG
Rowが1行しか無いと固定セルが真っ白になります。
Rowが1行しか無いように見せたいですが、
DrawCellのoverrideだけでは線が残ってしまいます。
どっかに良いコンポ落ちてないかなー。
0131デフォルトの名無しさんNGNG
>>130
それはStringGridのことだよね?
ヘルプでFixedRowsプロパティ読んで。
0132デフォルトの名無しさんNGNG
各画像フォーマットを相互変換するコンポーネントありましたら教えて頂けませんか?

0133 NGNG
S C++
A C
B perl
C Delphi Java
D VB
難易度的にはこんなもんかな。
学習法はVB,Delphi,Pelを並行して勉強後Cを勉強
その後JavaとC++を勉強。
0134デフォルトの名無しさんNGNG
言語自体が難しいって、一体何なんだろうね
俺がプログラミングを始めた頃は
アルゴリズムに関心があるだけで
FORTRANだろうとBASICだろうとマシン語だろうと
言語自体を習得することなんて問題にもしてなかったな
「C++って何かおかしいんじゃない?」
と思ってみたりもする
0135デフォルトの名無しさんNGNG
言語自体が難しいって、一体何なんだろうね
俺がプログラミングを始めた頃は
ベーマガ(略)
0136デフォルトの名無しさんNGNG
皆様、煽りは控えめに....

処理系の規模が大きく複雑なので学習しづらい。とかは有るかもね。
133 のリストにあるのは本質的に同等の記述能力を持つプログラミング言語だし。
0137Delphi 6 PersonalNGNG
TTimerで始めのインターバルをなくす良い方法ありますか?
0138三十路NGNG
すみませんが、DelphiでSMTP認証のメール送信は簡単にできますこ?
0139デフォルトの名無しさんNGNG
インターネット関連のプログラミングは大抵Indyで事足りると言ってみる。
0140デフォルトの名無しさんNGNG
>>137
OnClickからタイマーのイベントハンドラを呼び出す

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1Timer(Sender);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  {タイマーイベント}
end;

0141140NGNG
×OnClick
○FormCreate
0142Delphi 6 PersonalNGNG
>>140-141
勉強になりましたありがとうございます。
0143デフォルトの名無しさんNGNG
DB使っているEXEを作ろうと思うのですが、
ファイルサイズが大きくなりすぎると、後々のファイルのアップデートが
やりにくいと思うので、何とか分割する方法がないかなぁ、と。

で、MLの
[Delphi:74315] パッケージを使ってプログラムを分割するとき
のツリーを見たんですが、全然分からなくって (;´д⊂ バカ デ スミマセン

誰か分かりやすく解説お願いします〜。
0144デフォルトの名無しさんNGNG
TEditの中の文字列をTEditの中で真ん中に揃える(又は、右揃え)ことは出来ないのでしょうか?
0145デフォルトの名無しさんNGNG
>>144
http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=16#0224.txt
0146デフォルトの名無しさんNGNG
>>144
http://pc2.2ch.net/tech/kako/1051/10518/1051882835.html
の835が同じ質問
0147デフォルトの名無しさんNGNG
Webブラウザみたいなものをフルスクラッチで作る場合、表示部はPaintBox上に
構築していくのでしょうか?
0148デフォルトの名無しさんNGNG
Delphiなら、 コンポーネントを動的に貼り付けて構築するんでしょうね
0149デフォルトの名無しさんNGNG
そういうときのために実行時パッケージという手段がある。
0150ななしへたぐらま ◆XcB18Bks.Y NGNG
>>26
Win9x系だとサブディレクトリのファイル数が多くなると
そのファイル情報にアクセスするのが急激に遅くなります.
(検索だけでなく開くのも遅くなるはず)
基本的に一つのフォルダに何百も何千もファイルは置かない方がよいと思います.

>>130
グリッドコンポは固定行のみ,または固定桁のみという風にはできないようですね.
HeaderControlはどうでしょう?
0151デフォルトの名無しさんNGNG
質問よろしいかしら?
今バージョン6のパーソナル版つかってるのですが、ひとつまとまったものができあがってきたので、
配布のためプロフェッショナル版を買おうかと思ってます。
が、ボーランドのサイトや、ネット通販のページをみたところBorland Delphi 7 Studio Professional
になっています。
6から7Studioに変更するに当たって6で作ったプロジェクトがそのまま使えないということはあるのでしょうか?
また、気をつけたほうがいいことはあるのでしょうか?

どうか宜しくお願いいたします。
0152デフォルトの名無しさんNGNG
可能性としてはある。(ex. 6で作ったプロジェクトがそのまま使えないウイルスに感染している場合)
0153デフォルトの名無しさんNGNG
ありがとうございます。
可能性としてはあるというレベルなのですね。
大きな変更が必要ではないかと不安だったのです。
ウイルスはひととおりチェックいれてますから。
0154デフォルトの名無しさんNGNG
タイトルバーのアイコンをクリックした時に出てくるポップアップに項目を追加するのはどうやるのでしょうか?
0155ANGNG
>>151
直接関係ないけど、無料での配布、ならD6パーソナルのままでも可能だと
0156デフォルトの名無しさんNGNG
>>147 
フルスクラッチで作る場合は、PaintBox を使わないでしょ
フルスクラッチなんだから
0157デフォルトの名無しさんNGNG
MDIアプリケーションを作ってます。
アプリケーションを起動したときに、追加した子フォームが表示されないようにするには
どのようにすればよろしいのでしょうか?

新規作成 → MDIアプリケーションで最初からあった子フォームだけは最初は非表示になってます。
どうかよろしく御願いいたします。
0158デフォルトの名無しさんNGNG
アップローダー
http://upbbs.s2.x-beat.com/linkvp/linkvp.html
0159デフォルトの名無しさんNGNG
色々あってUDPでデータを受信しております。
TNMUDPクラスを使っております。

TNMUDPクラスの受信イベントで受信サイズが分かるので
動的にメモリを確保し先頭アドレスをバッファにほおりこんで後で処理したいです

1)どないしたら動的に取得したメモリに受信データ書けますか?
2)動的に取得しているメモリを違うメッソドで解放しても問題ナッシン?
3)淋病になってチソコ腫れタンだけど薬飲んで腫れが引いたらチソコにコブできた。どーしよー?
0160デフォルトの名無しさんNGNG
>>154
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC+delphi&lr=lang_ja
0161_NGNG
http://homepage.mac.com/hiroyuki44/
0162デフォルトの名無しさんNGNG
indyをインストールしたいのですが、Fulld6.batで生成されたdclIndy60.bplをパッケージのインストールで選択すると
「パッケージ ($パス$)\dclIndy60.bpl を読み込めません。システムに接続されたデバイスが機能していません。」
と言われてインストールできません。過去ログやgoogle検索してみましたが原因も対処もさっぱりです・・
どなたか対処法ご存知でしたらご教授願います・゜・(ノД`)・゜・
delphi6personal(update2) + WinME
0163162NGNG
追記
インストールしようとしているindyのバージョンは9.0.14です
0164デフォルトの名無しさんNGNG
>>162
ttp://www.nevrona.com/Indy/downloads/9_00_03/IndyNet9_00_03.EXE
↑ インストーラーでインストすれば簡単。 でもIndy9.0.3B。

Indy9.0.3Bは2chブラウザのOpneJaneで今でも使われてるバージョンです。
私もこのバージョンを使ってまふ、Indyの最新バージョンを入れようと
思えば入れられるケドね。

でもIndyくらい自力でインスト出来るようにならないと後々ツライかな・・
0165デフォルトの名無しさんNGNG
初心者に優しいページ見付けたから貼っておこ。
ttp://www.wakhok.ac.jp/~tetsuo/delphi/mokuji.html
0166デフォルトの名無しさんNGNG
>>157
プロジェクトファイル(*.dpr)って見たことある?
0167デフォルトの名無しさんNGNG
>166
あああ なるほど 解決しました
ありがとうございました。
0168143NGNG
>149

実行時パッケージを使う場合にEXE本体側のものをパッケージ側から使うとリンクしちゃうから、
とかなるので、インターフェースを作りましょう、ってMLでは書いていたんですよね。
Database接続をEXE側のコンポでやっているのをパッケージ側で使おうとしたら、
リンクしちゃわないかな…と。
0169デフォルトの名無しさんNGNG
>>168
あなたのいう「リンク」ってなに?
ML は半可通がおおいから、ここと同様、頭から信用しないほうがよい。

答えがほしいなら、ML の番号を。
0170162NGNG
>>164
インストーラー使っても組み込まれないようです・・
インストール自体は正常に終わるのですが、設計時パッケージを見ても増えてませんでした
0171デフォルトの名無しさんNGNG
IndyのTIdHTTPServerって、マルチスレッドで要求受けてくれるのかな?
0172143NGNG
>169

MLの番号は >143 で書いたように

[Delphi:74315] パッケージを使ってプロ グラムを分割するとき
ttp://www.users.gr.jp/ml/archive/delphi/74315.asp

から始まるツリーで書かれています。
(このアーティクル中でも書かれています)
0173143NGNG
ツリーだとこれです。
ttp://130.158.124.192/~takeuchi/delphi/browse.cgi?index=074315

一つ、ご教授お願いいたします。
0174デフォルトの名無しさんNGNG
ML-74315 でこねくり回しているのは、パッケージの動的ロード。
>>143 であなたが気にしているのは、更新時のファイルサイズの削減。
それに対し、>>149 で提案されているのが実行時パッケージの使用。

ということで、ML-74315 は >>149 の提案とは「直接」には関係ない。
ML-74315 で議論されているのは通常とは異なるパッケージの使い方なので、
通常は無視してよい。

これでよいかな?
0175デフォルトの名無しさんNGNG
何も考えずに、オプションダイアログで「実行時パッケージを使う」をチェックしてみなさい。
普通に使う分には、パッケージを使う/使わないの影響が表面化しないように設計されているから。

さらに、自分用ライブラリをまとめてパッケージにしたり、ボーランド標準パッケージをばらして
必要なものだけまとめなおす。という選択も可能だ。

なお、DLL 化は Delphi RTL のパッケージの利点を無駄にするので、通常は避けるように。
もし使う場合には、インターフェースを細い/単純なものにしてブラックボックスとして使うこと。

こっから先は「くだすれ」の範囲を超えるかな?

ML-74315 の失敗は(おそらく)パッケージとアプリを同じディレクトリでメンテナンスしていたから。
でしょう。インターフェースなんか出さなくても解決できたのにね。
0176デフォルトの名無しさんNGNG
最初にアプリ A を作る。
まぁまぁいいかな。ってところで、機能的に分離したい部分をユニット単位でパッケージに移動し
パッケージ P をつくる。この時点では単なる実行時パッケージだ。

デバッグも一段落したので、パッケージ P を動的に読み込むように変更する。
実行時パッケージの参照リストから P を抜き、その代わりに自分で読込み用関数を呼ぶ
用に書き換える。
この時点でアプリ A から、パッケージ P に含まれるユニットに対する参照を全部取り除かなければ
いけない。
P に含まれるはずのユニット U に対する参照がアプリ A に残っていると、パッケージ P を使わない。と指定したのだから
アプリ A にユニット U が含まれてしまう。パッケージ P の管理を手作業で行う。と決めたのだからそこもちゃんと管理し
なければいけない。そんなに難しいことではなく、パッケージ P に含まれるユニットをアプリ A の開発ディレクトリから
移動すればよい。別ディレクトリを作る。ってことだ。

いったん分割したら、パッケージ P に含まれるユニット、厳密にはアプリ A が参照する機能を持つユニットを変えない限り、問題は起きない。
本来は、通常の実行時パッケージを使う状態にまで戻すべき。そうやってデバッグしてからもう一度動的パッケージ版にしたほうが
確実だったのでしょう。
ML-74315 の人は、親アプリのフォームを参照するために大事なユニットの仕様を変更してしまったのですね。

0177デフォルトの名無しさんNGNG
完全な空白文字列→''
または
スペースのみで構成された文字列→' 'とか'   'とか'   '(全半全)とか

↑を検出するにはどーいうif文を書くのがスマートでしょうか
1箇所だけでしか検査しないのでそのためにわざわざ
正規表現使えるコンポーネントを入れるのもアレですし・・・
0178デフォルトの名無しさんNGNG
if (Length(Trim(CheckString))=0) then〜

だがこれだけでは全角スペース対応していない。
よって事前にStringReplaceなどで全角スペースを取り除く
0179143NGNG
>174-176

なるほど〜。
動的で無くてもいい場合に、パッケージだけコンパイルして配布、
って方法でも問題ないっすかね。

ちょっと時間を見て試してみます。
ありがとうございました。
0180デフォルトの名無しさんNGNG
>動的で無くてもいい場合に、パッケージだけコンパイルして配布、
まさに某がやっていることだよね?
0181デフォルトの名無しさんNGNG
>>177, 178
StringReplace 二段重ね、最初にすべての半角スペースを削除、次にすべての全角スペースを削除。
結果が空文字列かどうかで判定。
速度がちーと遅いかも知れないが、タブとかも処理できるし、わかりやすい。
0182デフォルトの名無しさんNGNG
>>177
判定だけならAnsiPosなるものがあります。
0なし、他あり
0183デフォルトの名無しさんNGNG
>>178,181
ありがとございます
Replaceの結果を見るていうのはちょっと予想外でした

>>182
?
0184デフォルトの名無しさんNGNG
>>178
文字列が空であることを調べるのにLengthを使うと
かえって遅くなる罠があると言ってみる。(空文字列比較用に最適化される)
VBとは違うんだよ、VBとは。

0185TakamoriNGNG
HP宣伝
「日曜プログラマー的Delphi」を開設しました。
http://www.geocities.jp/takamori700/
0186デフォルトの名無しさんNGNG
http://www.geocities.jp/takamori700/tips/idx04_0001.html#0001

すっ、すごい!「goto」使ってる(w
0187デフォルトの名無しさんNGNG
うほっ!今、俺もそれ見てた。
Exitで同じことできるよねえ?
0188デフォルトの名無しさんNGNG
あの…。質問があるのですが。
>>185のページをみて。このくらいなら楽にできるなと自信をつけさせる場所なのでしょうか?
0189デフォルトの名無しさんNGNG
Del厨って嫌な性格だな
0190Delphi 6 PersonalNGNG
初心者向けだと書いてあるぞ。
俺は初心者が見る分には便利だと思うよ(関数のところなんかが)
0191デフォルトの名無しさんNGNG
implementation

{$R *.DFM}

type
TKeyData = record
fCTRL :Boolean;
fSHIFT:Boolean;
fALT :Boolean;
dKey :Byte;
end;

var
MahoKeydata:array[1..48] of TKeyData;

このMahoKeydataを別ユニットで使うにはどうすればよいのでしょうか?
0192デルファイの名無しさんNGNG
Delphi関係の日本語の情報が少ないのはDel厨のせいなんだね
0193_NGNG
http://homepage.mac.com/hiroyuki44/
0194デフォルトの名無しさんNGNG
>>191
implementationの上へ移動する
0195191NGNG
>>194
typeとvarの両方を上に上げてみたんですが、ダメでした。

MainForm.MahoKeydata[1].fCTRL := chkCtrl1.Checked;
のようにしてるんですが、ここがいけないんでしょうか?
「MahoKeydataが未定義」と言われてしまいます。
0196デフォルトの名無しさんNGNG
au.
あの
x=3
とかのは、どこに書き込めばいいのでしょうか。初心者ですいません
0197デフォルトの名無しさんNGNG
>>195
uses節にMainFormが記述されていない。
0198191NGNG
>>197
ということはUnit1(MainFormのユニット名)ですよね?
それは記述してあります。
0199デフォルトの名無しさんNGNG
>>195
MainFormが余計と思う
0200191NGNG
>>199
うまくいきました!多謝です!
ありがとうございました。
0201デフォルトの名無しさんNGNG
フォルダ選択ダイアログを表示させたいのですが、
それらしいコンポーネントが見つからないのですが、
Win3.1のならあるみたいなんですが、これしかないのでしょうか?
0202デフォルトの名無しさんNGNG
コンポーネントじゃなくてSelectDirectory()関数を使え。

0203デフォルトの名無しさんNGNG
フォームAからフォームBを呼び出して、フォームAを閉じるとフォームBも一緒に閉じるように
したいのですが、どうすれば良いのでしょうか?
0204201NGNG
>>202
ありがとうございます!!
0205デフォルトの名無しさんNGNG
FormAHideでFormB.Close;巣りゃいいんじゃないの
0206203NGNG
>>205
できました。
ありがとうございます。

問題なく動いてるようですが、もしフォームBが開かれていなくて
フォームAを閉じた場合、何か問題はないですか?
ハンドル取って条件指定した方がよいのでしょうか?
0207デフォルトの名無しさんNGNG
問題なく動いてるならいいです。
0208203NGNG
>>207
わかりました
0209164NGNG
>>162  ぬぅ、なんで失敗したのかさっぱり・・・スマソ

0210デフォルトの名無しさんNGNG
>>185
きれいに作ってあるなぁと思ったらFrontPage使ってた。
プログラマならHTMLべた打ちしてほしい。

↓じゃ、おまえは機械語やアセンブラで書け
0211デフォルトの名無しさんNGNG
>>185 すごい!! よくまとまってますね〜
とほほさんとこみたいにアーカイブにまとめてローカルで
見れるようにして欲しいな..と言ってみりゅ。
0212デフォルトの名無しさんNGNG
>>210
どうぞ

0111000011101111000011110100110101101010001010001111001101010110
1010011110101010101001010010010101000011101100101000111110011001
1010100101000000000111100101001010010100101010101010010110010110
1010101011001010010101010101001010101010010101010000111110010100
0101010101010101101000010011010010101001001010110111111000111001
1010100101000101010100110101011010010101010101010001010110101010
1110101001010101010001010010101001100101011011100100011100010101
0101010010100001100110101010101010100011010010100100100101010101
1101001001010000101010110010101010100101010010001101010010101001
0100101010100101010001010100111010101001010110101010010101010011
1010010101010110100001101101010101100101001010101010101010010101
0100101010010100101011001010101011000000101111011011110100101000
0100101100110101001010100110101010101010001010101110010010100101
1010010100101011010100001010101001010010101001010101010100101001
0213デフォルトの名無しさんNGNG
>>212 ネタなのかマジレスなのか解らん…_| ̄|○
0214デフォルトの名無しさんNGNG
広告だらけの勘違い糞ページの作者さんお疲れ。
0215デフォルトの名無しさんNGNG
ホントだ。すげ−あるw
0216デフォルトの名無しさんNGNG
>>185
なんだこりゃ・・・初心者を使えないダメPGにするためのページですか?
はっきり言ってこの内容は害悪だ
相手が初心者なればこそ、より正しい情報を与えるべきだ
自分自身がまったくわかっていないのに人様に教えようなどとは笑止千万
レベルが高い低いではなく、入門として用を成していない
いますぐページをたたんで郷里へ帰りなさい
0217デフォルトの名無しさんNGNG
delphiのエディタって何のコンポーネント使ってるんですか?
ああいうの作りたいです
0218デフォルトの名無しさんNGNG
>>217
IDEのエディタは予め用意されたコンポーネントじゃなくてBorlandが書き下ろしたものと思うが。
テキストエディタが作れるようになったら大したもんだ。

…で、大したことの無いへたれは、TEditorで検索するべし。
0219デフォルトの名無しさんNGNG
少し前のバージョンなら Resource Hacker(TM) で 覗けたんだけどね。
D6だとCoreIDE60.bpl なんかそれらしいの覗こうとしてもエラーになるようになってる
0220デフォルトの名無しさんNGNG
>>216
具体的に害悪な部分を指摘してくださいよ。
できないなら低脳な煽りとして君が叩かれることになる。


(しかし初心者向きなのにProfessional前提なのは問題があるなぁ…)
0221デフォルトの名無しさんNGNG
>>220
叩いてくれ〜(ニヤニヤ

>(しかし初心者向きなのにProfessional前提なのは問題があるなぁ…)
へえ、そりゃあ問題だね(笑)
0222デフォルトの名無しさんNGNG
Delphiでブラウザを使ったプログラミングやサーバーサイドプロブラミング
をしたいのですがどこかいいサイト無いですか?
0223デフォルトの名無しさんNGNG
コンソールアプリを実行してGUI側で情報を取得する簡単な方法ありますか?
0224aviNGNG
友達から拡張子がaviの動画ファイルをもらったのですが、
windows media player8で再生ができません。
コーデックが必要だとメッセージが出るのですが、
そのコーデックがDLできません。
どうすれば見れるようになるのでしょうか?
どなたか教えてください
よろしくおねがいします。
0225デフォルトの名無しさんNGNG
>>223
やったことないけど
http://www.borland.co.jp/qanda/delphi/d0009376.html
0226デフォルトの名無しさんNGNG
>>223
簡単な順に
1、ファイル渡し
2、クリップボード
3、GUI側をDDEサーバにする
4、無名パイプ
5、メールスロット
とか
0227Delphi 6 PersonalNGNG
>>224
AVの動画を貰ったって?
0228デフォルトの名無しさんNGNG
>>226
リダイレクトが無いのがアレだとおもった。
0229デフォルトの名無しさんNGNG
>>220
>>216に書いてある事が全てだが?
件のページはただの場当たり的リファレンスであって
入門ページを名乗るのは見当違いも甚だしい
しかも悪いことに、設問に対する解が最善のものでは無い場合がある
(既出ではあるがexit手続きで充分なところに無意味なgoto手続き等)
更に悪いことにサイト著者自身が何をしているのか理解していない場合がある
アプリケーションの二重起動抑止のところなどは最悪で
if hMutex <> 0 thenではなくて、まずCreateMutexして
if (GetLastError = ERROR_ALREADY_EXISTS)とするべきだし
自分が理解していない事を堂々と(自称)入門ページに記載しているのは
詐欺まがいの行為である
せめてそれくらいは理解して、さっさと郷里へ帰りなさい
0230デフォルトの名無しさんNGNG
>>229
お前、WebProg板でも暴れてただろ?
0231デフォルトの名無しさんNGNG
おいおい
196に誰かレスってやれ
0232159NGNG
誰か、受信データのバッファを動的に獲得する方法教えてよ・・・
今のままだと受信サイズが予想外のサイズで死んじゃうんだよぅ
マジで頭下げます。すみません、教えて下さい。
私が悪かったので何卒、御教示して下さい・・・
0233デフォルトの名無しさんNGNG
>>228 
リダイレクトの意味が >>225 ならファイル渡しだし
http://hp.vector.co.jp/authors/VA026252/tips/delphi_anonymous_pipe.html
なら それは無名パイプだ
0234デフォルトの名無しさんNGNG
>>232
Strings でも、 array of byte でもで
SetLength 使えばいいでしょ?
0235デフォルトの名無しさんNGNG
>>196
とりあえずインターネットにでも書き込んでみてはどうですか?^^
0236159NGNG

着信イベントが発生した段階でgetmemを呼び出してバッファを獲得するじゃないですか。
TNMUDPクラスのreadメソッドを使って読み込むときにその先頭アドレスを渡したいんですが
pointer型を変換したりするとコンパイラにお叱りをうけてしまいます。
これを回避したいのですが、どうやって回避したらいいのかが判らないんです

アフォの致傷だからって見捨てないでください・・・
0237デフォルトの名無しさんNGNG
>>192
日本語のページからdelphiを検索しました。 約70,500件中1 - 50件目 ・検索にかかった時間0.26秒
日本語のページからvisual c++を検索しました。 約54,800件中1 - 50件目 ・検索にかかった時間0.23秒

実はDelphiのほうがVisual C++より資料が豊富
ちなみに「日本語のページを検索」オプションつけてますよ
0238デフォルトの名無しさんNGNG
>>236
悩んでる原因が判ったよ
なんと TNMUDP の ReadBufferは
procedure ReadBuffer(var Buff: array of char; var length: integer);

と、ちょっと困ったクンな仕様なんだね。


しょうがないから ReadStream を使いなさい。 
Streamなら
rocedure ReadBuffer(var Buffer; Count: Longint);
だから  簡単だ


TempStream := TMemoryStream.Create; して
ReadStream( TempStream ) ;と読み込んで
TempStream .Position:=0 ; と頭に戻して

後は好きなように
0239デフォルトの名無しさんNGNG
>>237
「ビジュアル」の綴り間違ってるぞ。
0240デフォルトの名無しさんNGNG
>>239ガナー
0241デフォルトの名無しさんNGNG
>>239
あっ!間違えた
今度こそ正しいぞ

日本語のページからvisaulstudioを検索しました。 1件中1 - 1件目・ ・検索にかかった時間0.09秒
0242デフォルトの名無しさんNGNG
拡張子変えてPS2でみれるのかな?

情報キボンヌ
0243デフォルトの名無しさんNGNG
質問なんですが
例えば takasi's homepage という文字列を使いたいとします。
当然「'」で囲みますよね。でもそうすると'takasi's homepage'となり
takasiの部分で文字列が終わったと見られてしまうんです。
文字列の中にある「'」を文字のまま扱うにはどうすればいいのでしょうか?
0244デフォルトの名無しさんNGNG
>>243
ヘルプの「文字列定数」を読めばいい
0245デフォルトの名無しさんNGNG
無料版だからヘルプがないんです・・・・
0246デフォルトの名無しさんNGNG
'takasi''s homepage'

漏れの無料版には付いてるぞ
0247デフォルトの名無しさんNGNG
>>243
新手のホームページ宣伝か?
ヘルプもPDFのマニュアルもpersonalに付属してます
0248243NGNG
今ヘルプ見てるところなんですが
>>245は僕じゃないですよ。

>>244さんありがとうございます。
0249デフォルトの名無しさんNGNG
>>238神
ありがとうごだいますた。
おかげさまで読み込めますた。
構造体(hogehoge)をきっておいて

var
cmd : hogehoge;
begin
streambuf := tmemorystream.Create;
wk := @streambuf;

nmudp1.ReadStream(streambuf);

こうすることによりSteamBufを戻さなくてもwkのメンバ変数を参照することにより
好きなメンバにアクセスすることができますた。
ただ、初心者なんでよくわかってないところもあります。

UDPの受信イベント内でTmemorystream.createとやったときには
受信イベントを抜けたときにもメモリの値は保持されますか?
一度getmemして、獲得したメモリをTMemoryStream.Createで受けた処理をしたあとに
必要に応じてFreeすべきでつか?(その場合の管理はObjectListを使うつもりです)

いろいろこれから試行錯誤してみたいと思っておりまふ・・・・
0250デフォルトの名無しさんNGNG
>>249
なんか筋の悪そうな事をやろうとしてるように思う。

文字列が入ってるなら
             SetLength(ReturnString , streambuf .Size);
streambuf .ReadBuffer(Pointer(ReturnString)^, streambuf .Size);

と文字列にして返してしまえば後の取り扱いが楽だ。
0251ななしへたぐらま ◆XcB18Bks.Y NGNG
>>185
とりあえずわかる範囲で
#0001
このコードをコピペしてもコンパイルできないようです.G_AppPathって#0006のGuユニットを使っているのでしょうけどこれが必要ならそう書くべき.
またサンプルなら他の自作ユニットがなくても動くようにする方が適切だと思います.

あと,この例なら作業用ファイルは用意しなくてもファイルストリーム一つで書き換え可能ですよ.
直接書き換えが不可能な処理の場合は作業用ファイルの代わりに
メモリストリーム(TMemoryStream)を使うと良いでしょう.

#0005
initialization節とfinalization節にはbeginとendは不要ですよ.

>>196
xという変数を使いたいのでしたら…

procedure TForm1.Button1Click(Sender: TObject);
var // これから変数を宣言するぞ,という印
x: integer; // xという名前の整数型変数だぞという意味
begin
x := 3; // 変数xに3という値を代入(代入は『:=』なので注意)
ShowMessageFmt('xの値は%dです', [x]);
end;

>>218
TEditorがあるので無理して自作する必要はないかもですね.
0252Delフサギコ ◆A6VzDeLphI NGNG
           _________
   ∧,,∧   / TEditorは
  ミ;゚Д゚彡 <  プロポーショナルフォントが
   ミつ旦(ミ~~ \ 描画できなかったなあ
 @ミ   ミ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪  AAがちゃんと表示されないですの…

日本物ならこちらなど。
http://home1.infonia.ne.jp/~delphian/delphi/compo/labeledt.html

海外ものなら
DreamMemoとかも人気あるらしいっす。

某がエディタ部を公開してくれたらうれしいですね。
0253デフォルトの名無しさんNGNG
>>252
このまえ、ちょっとだけ話題になったけど、どうやら某はプログラミング用エディタを
売っているようだ。(たしかメリケンじゃ売れてるんでしょ?)
そういうノウハウが沢山詰まっているエディタとかは公開しないんじゃないかな。
0254デフォルトの名無しさんNGNG
SynEditとかも結構いいよ。
0255デフォルトの名無しさんNGNG
w2kやxpだと正常に動作するソフトが、98だと
「Exception EReadError in module ****.EXE at 0001F80B.
ComboBox24.Items.Strins の読み込み中のエラー
:A call to an OS function failed.」
というエラーが出て起動しません。
同じ症例が数件あるのですが、何か原因の特定はできるでしょうか?
リソース不足のような気がするのですが・・・
0256249NGNG
>>250
接続機器から返すのはレジスタの内容とRS-422で受信したデータとPC98時代の漢字コードなんで
混在してデータが帰ってくるので構造体を切ったほうが楽かと思いました。
制御ばっかしやってたのでアプリは初めてです。
むずかしくて涙がこぼれそうになります・・・・
0257デフォルトの名無しさんNGNG
>>256
バイナリ+文字データで、固定長なの?
それなら、Record型を定義しておいて

streamBuf.ReadBuffer( レコード型変数 , SizeOf( レコード型変数 ) );

受信処理でこのレコード型変数か(1回に複数レコード受信するなら)
レコード型の動的配列を返すのがいいんじゃないの?
0258デフォルトの名無しさんNGNG
質問します。
ユニットを用途別に分けたいのですが、例えば、標準でUnit1.pasにForm1のOnCreateイベントが記述してあるとして、それを新たに作ったユニットに
移転させることは出来ますか?
また、フォームに乗っかっているTMemoなどに文字列を設定するような手続きなどは、
そのクラスが書いてあるユニット以外にも書けますか?
よろしくお願いします。
0259デフォルトの名無しさんNGNG
>>258
モジュール化の仕方のレベルで考え直すべきだと思った。
0260 ◆bro13ZUdHQ NGNG
http://www.geocities.co.jp/Milano-Killer/8366/CompOJ.html
このページを参考にしてOpenJaneのコンパイルをしようとしてるのですが、

>Jane2ch.dpkのフォルダ指定及びActiveXの取り込み
>同様に『Microsoft Internet Controls (version1.1)』で『インストール』
のところでインストールボタンを押すと、
---------------------------
エラー
---------------------------
クラス名 'TWebBrowser' は既にインストールされています.
---------------------------
OK
---------------------------
とでてしまいます。

どうしたらいいのでしょうか?
0261デフォルトの名無しさんNGNG
>>260
とばして次のステップへ。
0262デフォルトの名無しさんNGNG
何かもう中上級Del使いって保母さんみてえだな。
0263デフォルトの名無しさんNGNG
>>259
ただスクロールが大変という理由で解決策を探していました。
もうちょっと勉強してきます。
0264デフォルトの名無しさんNGNG
delは金食い虫だな。
皆、MSに移行するべき。
0265デフォルトの名無しさんNGNG
>>264
金が無い奴はそもそもオプソに逝くと思うが。(w
0266 ◆bro13ZUdHQ NGNG
>>261
とばして進めると

>コンポーネントの確認(しつこく確認)
>メニューの『プロジェクト』−『オプション』−『パッケージ』タブでJane2ch.bplを選んで
>『コンポーネント』クリックすると一覧が出ます。次の5つがあることを確認して下さい。
>THogeListView THogeTextView TScriptlet TWebBrowser TWebBrowser_V1

ここで、TWebBrowser TWebBrowser_V1の2つが表示されて
くれないのです。

よろしくおねがいします。
0267_NGNG
http://homepage.mac.com/hiroyuki44/hankaku10.html
0268デフォルトの名無しさんNGNG
ASPプロジェクトで済むだろ。
バカや炉多すぎ。
0269貧乏脱出!これであなたはお金持ちNGNG
普通に働いてお金持ちになれるのは全体の1%のみって本当!?
本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)

/////
0270デフォルトの名無しさんNGNG
>>266
そこも飛ばしちゃっていいよ。
0271デフォルトの名無しさんNGNG
Form1を表示せずにタスクバーだけ残すということは出来ないのでしょうか?
とりあえず、Form1.Hideではタスクバーまで消えてしまいました。
0272デフォルトの名無しさんNGNG
TopかLeftにマイナスの値入れて画面外に移動させたりとか
0273デフォルトの名無しさんNGNG
でるぱいを起動させるときにどれをクリックしたらいいんですか?
多すぎて分かりません。
0274デフォルトの名無しさんNGNG
保守
0275デフォルトの名無しさんNGNG
>>272
Left := -Widthで見た目は消えてますね。
でも位置を変えたくないのです。
0276デフォルトの名無しさんNGNG
>>273
柱と地球のアイコンをクリック
0277デフォルトの名無しさんNGNG
>>276すみません。
どのフォルダに入ってますか?
0278デフォルトの名無しさんNGNG
Delphiをインストールしたフォルダです
0279直接起動君NGNG
C:\Program Files\Borland\Delphi5\Bin\delphi32.exe
C:\Program Files\Borland\Delphi6\Bin\delphi32.exe
C:\Program Files\Borland\Delphi7\Bin\delphi32.exe
0280 ◆bro13ZUdHQ NGNG
>>270
とばしてコンパイルまで来てコンパイルエラーになってしまいます。
---------------------------
エラー
---------------------------
';' が必要ですが 識別子 が見つかりました.
---------------------------
OK
---------------------------

procedure MenuThreadRefreshClick(Sender: TObject);
procedure ZoomClick(Sender: TObject);
procedure ThreadChkNewResButtonClick(Sender: TObject);  <<−−ここでエラー
procedure ThreadWriteButtonClick(Sender: TObject);
procedure TabControlChange(Sender: TObject);

何でこんなとこでエラーになるのかわからないです。
0281デフォルトの名無しさんNGNG
日頃の行いが悪いとそうなる
0282貧乏脱出!これであなたはお金持ちNGNG
普通に働いてお金持ちになれるのは全体の1%のみって本当!?
本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)

////////////
0283デフォルトの名無しさんNGNG
TMemIniFileでIntegerの範囲を超える数値を記録する方法を教えてください
0284デフォルトの名無しさんNGNG
>>275
見えなきゃ、位置とか関係ないじゃん。
2000以降でもいいなら、透明にするとか。
0285デフォルトの名無しさんNGNG
>>283
TMemIniFileを継承して、Int64を読み書きするメソッドを追加するか、
バイナリとか文字列で記録するか。でいいんじゃないの?
0286デフォルトの名無しさんNGNG
OnKey*イベント以外で、
普通の処理中にあるキー(Shiftとか)が押されているか否かを検出する方法は?
0287286NGNG
GetKeyState で出来ました。
0288デフォルトの名無しさんNGNG
にゃんこりゃひょ。
0289 NGNG
>>255
マルチポストみっけ。
マナー悪いな。
あっちもレス付いてないぞと。
0290デフォルトの名無しさんNGNG
StringGridの上をマウスが通過したときに、 どのセルの上にマウスカーソルがいるか
を調べることってできるのでしょうか?
どうぞ よろしく御願いいたします。
0291255NGNG
>>289
どうしてもこちらでレスが付かなかったので痺れをきらして
あちらに書き込んでしまいました。
ごめんなさい。
0292デフォルトの名無しさんNGNG
>>290
MouseMoveイベントでMouseToCellメソッドを使えばわかるんじゃないかな。
StringGridなんて使ったことが無いけど、ヘルプみたら速攻で見つかったぞ。
聞く前にヘルプのメソッド一覧くらいはさらっと読みましょう。
0293デフォルトの名無しさんNGNG
TServerSocketと
TClientSocketを使っているのですが
非同期ソケットエラーが出ます。

このエラーはどんな時に出るのでしょうか?

ヘルプを探しても見つかりませんでした。
宜しくお願いします。
0294293NGNG
ちなみにソケットエラーの番号は
10053です。

つまり
「非同期ソケットエラーです。 10053.」
という例外ダイアログが出てきてしまうという事です。

このエラー番号の意味などがのっているHPなどありましたら
教えて下さい。

宜しくお願いします。
0295デフォルトの名無しさんNGNG
ほいhttp://homepage1.nifty.com/yito/anhttpd/winsock_error.html
0296デフォルトの名無しさんNGNG
DrawGridで指定行だけ背景色を変えるにはどうすればいいんでしょうか?
0297デフォルトの名無しさんNGNG
>>296
DrawCellをオーバーライドする。
メソッドの中で、Canvas.FillRect(ARect)する。

か、背景色だけなら同じくDrawCell中で、Canvas.のペンかブラシの色を変えるだけでも可能だったかも。
0298297NGNG
もちろん、指定行以外では、inheritedだけしとく事。
0299293NGNG
>>295
即レスありがとうございます!
0300デフォルトの名無しさんNGNG
>>271
.dprに
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := False; <----追加
Application.Run;

でどうだろう。
これだとタスクバーも消えちゃうかな?
0301デフォルトの名無しさんNGNG
ボタン1をクリックしたらボタン2が作成されて表示される
みたいなことは出来ますか?
0302デフォルトの名無しさんNGNG
>>301
出来るけどあんまり意味がない。設定も面倒なだけだし。
最初からボタン2も配置しVisible=Falseにしておいて、
ボタン1イベントでVisible=Trueにしたほうが楽。
0303301NGNG
>>302
了解です
0304デフォルトの名無しさんNGNG
ユニコードの扱いがおかしい・・・
030518NGNG
>>192
日本語のページからdelphiを検索しました。 約70,500件中1 - 50件目 ・検索にかかった時間0.26秒
日本語のページからvisual c++を検索しました。 約54,800件中1 - 50件目 ・検索にかかった時間0.23秒

実はDelphiのほうがVisual C++より資料が豊富
ちなみに「日本語のページを検索」オプションつけてますよ
0306デフォルトの名無しさんNGNG
ここでもDel厨のイカサマ炸裂!
0307デフォルトの名無しさんNGNG
先生!チャットソフトを作りたいです
TClientSocketを使ってHTTP(2ちゃんブラウザを作ったり)なんてのは問題なくできるのですが
どうやって「受信待ち」するのかわかりません
ネットワークの神様お願いします!!
0308デフォルトの名無しさんNGNG
悪いことはイワンからまずはC+socketで修行しとけ
0309ニーチェNGNG
神は死んだ!
0310デフォルトの名無しさんNGNG
>301
visibleでon・offもいいけど、ユーザー側にとってはenabledを使って押せないボタンとして
表示してある方がフレンドリかな。ある機能が実装されているということと、それの発動には
一定の条件が必要ということを予め示せるから。重箱の隅な話でごめん。
0311デフォルトの名無しさんNGNG
>>308
>>309
こういうレスがつくってことは何か頓珍漢な事を言ってしまったでしょうか
神が死んでは仕方有りませんのでとにかくC言語の線から攻めてみます
アドバイスありがとうございました
0312デフォルトの名無しさんNGNG
>307
キリスト者じゃない我々には、死んだ神も、神を殺した人間も関係有りません。309はあぼーんで。
308は伝統的なソケットの作成を知っておけと言いたいのでしょう。Cのやり方を知るのは為になると思いますよ。
0313デフォルトの名無しさんNGNG
「Delphiによるソケットプログラミング入門」なんて本があれば
それで十分なんだけどな。本当は。これもマイナー開発環境の悲劇だな。
0314正論NGNG
日本語のページからdelphiを検索しました。 約70,500件中1 - 50件目 ・検索にかかった時間0.26秒
日本語のページからvisual c++を検索しました。 約54,800件中1 - 50件目 ・検索にかかった時間0.23秒
0315デフォルトの名無しさんNGNG
>312
キリスト者ではないわれわれにとっても、デイタラボッチは死んでしまったのだよ。
0316デフォルトの名無しさんNGNG
アイコンではなく、画像そのものをタブにするような
格好(゚∀゚)イイ!PageControlか、TabControl知りませんか〜。
オーナードローしようとすると、タブの中だけ描画になるんで、今ひとつ…。
0317デフォルトの名無しさんNGNG
>>307
チャットのサンプルが
\Demos\Internet\Chat
にあるけど、それじゃだめかな
0318デフォルトの名無しさんNGNG
こで作ってみたんですがインデックスがないってできます・・
だれかおしえてくださいませんか
Sub 作業日取得()
Dim program_id As Integer
Dim start_date As Integer
Dim end_date As Integer
Dim check_start As Integer
Dim row As Integer
Dim col As Integer
Dim c As String
Dim start_flag As Boolean
program_id = 3'IDの番号()
start_date = 9 ' 開始日番号()
end_date = 10 ' 終了日番号()
check_start = 11 ' ■形式のデータが入っている最初の列番号(1オリジン)
With Sheets("表(詳細)")
row = 3
0319デフォルトの名無しさんNGNG
Do While .Cells(row, program_id).Value <> ""
.Cells(row, start_date).ClearContents
.Cells(row, end_date).ClearContents
col = check_start
start_flag = False
Do While col < 200
c = .Cells(row, col).Value
If Trim(c) <> "" Then
If Not start_flag Then
start_flag = True
.Cells(row, start_date).Value = .Cells(1, col).Value
End If
.Cells(row, end_date).Value = .Cells(1, col).Value
End If
col = col + 1
Loop
row = row + 1
Loop
End With
End Sub
なんですが・・
エラーがでてしまって・
こんな馬鹿な僕に教えてください神様
0320デフォルトの名無しさんNGNG
皆、つっこみたい気持ちは分かるぞ。しかしだ。大人なんだからこらえるのだ!!
0321デフォルトの名無しさんNGNG
>>320
お前がこらえきれていない(w
0322デフォルトの名無しさんNGNG
>Sub 作業日取得()
( ´_ゝ`)?<Delphiって日本語使えたっけ?
0323デフォルトの名無しさんNGNG
キリスト教の神って全知全能なんだろ
な ん と か し て や れ よ
0324デフォルトの名無しさんNGNG
誰も偽者がコピペしたものだと気づいていない。
0325デフォルトの名無しさんNGNG
>>322
使えませんよ。
いくらなんでも、そんなこと知らないなんて、才能無いですね。
0326デフォルトの名無しさんNGNG
LightReport2のTLRGridPanelでDBを印刷中にキーブレークで途中で改ページする方法を教えてください。
0327デフォルトの名無しさんNGNG
ある一つのMDI子フォームを、MDI子フォーム達の中では最前面に表示するようにするには
どのようにすればよろしいのでしょうか?よろしくおねがいします。
0328デフォルトの名無しさんNGNG
最前面に表示したいFormオブジェクトのShowメソッドを使えばよろし。
0329デフォルトの名無しさんNGNG
>>317
Personalなので見てみることはできませんでしたが
それに関係するやり取りを探すことでチャットを完成できました
その存在を教えていただいたおかげで解決したようなものです
本当にありがとうございました

ちなみにTClientSocket同士で通信しようとしていたのが最大の敗因で
TServerSocketの解説ページを見つけたのが勝因でした(BCBでの解説でしたけど)
0330デフォルトの名無しさんNGNG
Memo1にある内容をそっくりそのままMemo2に移すにはどうすればいいのでしょうか?
0331デフォルトの名無しさんNGNG
よく使うコンポーネントの取り回し方を
具体的に教えてくれる本があればいいんだけどね。
TMemoが載っている本ははいくらでもあるんだがTListViewとかはほとんど無い。
初→中へステップアップするのに結構な努力を強いられるのは
マイナー環境とはいえ、誰かなんとかしてほしいところ。
0332デフォルトの名無しさんNGNG
Memo2.Text := Memo1.Text
0333デフォルトの名無しさんNGNG
(;・∀・)・・・本当にくだらない質問だったようで、どうもすいませんでした。
今回は複数行になるので、Memo2.Linesとすることにします。
0334 NGNG
んん?「text」で問題無いと思うが<複数行
0335デフォルトの名無しさんNGNG
>>331
ライブラリは何でもそうだと思うけど、まずはVCLの癖をつかむのがいいと思う。
とにかく触りまくって、ソース見まくって、使い倒す。
データをアクセスする部分を中心に触るのがいい。TListViewだったらItemsプロパティとか。
0336デフォルトの名無しさんNGNG
>>331
Win32タブに乗ってるのは、StandardVCLより癖があるから、習得が一気に難しくなるよね。
サンプルソースとか見て頑張るしかない〜
0337デフォルトの名無しさんNGNG
コンポなんてフォームに乗っけてヘルプ全部読んで全機能つついてみればいいんだよ。
ただそれだけ。
0338デフォルトの名無しさんNGNG
○ンポーネント
0339デフォルトの名無しさんNGNG
>>333
Memo2.Lines.Assign(Memo1.Lines);
これでも出来るよ。
0340デフォルトの名無しさんNGNG
>>337
俺もそんな感じで収得したなぁー
別プログラムで簡単なサンプル作ったりして…

DB関連のイベントのタイミングを知る時は
ShowMessageやMemoに書き出したりもしたな。
0341デフォルトの名無しさんNGNG
OpenDialogのコンポって文字コード選択のコンボボックスが表示できないんだね。
Delphi7では出来るようになってるのかな?
0342デフォルトの名無しさんNGNG
別のパネル上にあるすべてのラジオボタンから一つだけ選択させる、
という設定はどうしたら良いのでしょう?
0343デフォルトの名無しさんNGNG
文字コード選択って標準のOpenDialogについてるものなの?
あの手のがついてるのは自力で改造してると思ってたけど。
0344デフォルトの名無しさんNGNG
DELPHIのことは全く知らない初心者です。
ちょっとDELPHIでゲーム作りたいんだけどその方法を詳しく
説明してくれるサイトありませんか?
あったら教えて下さい。
0345デフォルトの名無しさんNGNG
>>235>>251
ありが�d
0346デフォルトの名無しさんNGNG
>>343
自力だよ
0347デフォルトの名無しさんNGNG
むしろ地力
0348デフォルトの名無しさんNGNG
>>344
http://www.campus.ne.jp/~ishigami/CREATION/MAKING/index.html
0349デフォルトの名無しさんNGNG
>>343
WindowsXP付属のメモ帳に文字コードのコンボボックス付いてたんで
0350デフォルトの名無しさんNGNG
いや、メモ帳はサンプルプログラムじゃないし。
0351デフォルトの名無しさんNGNG
?
0352デフォルトの名無しさんNGNG
!
0353デフォルトの名無しさんNGNG
クエスチョンマーク
ビックリマーク

縦読みすると……ですか
2ちゃんねるの世界はリストラも厳しい
0354デフォルトの名無しさんNGNG
?
0355デフォルトの名無しさんNGNG
すみません、教えて下さい。

TreeViewでAbsoluteIndexではなく
展開されていたり畳まれていたりする現在のツリーの状態で
調べたい(例えばSelected)アイテムが
ツリーの一番上(.Item[0])から数えて何番目にあたるかを
知るにはどの様にすれば良いでしょうか?
0356デフォルトの名無しさんNGNG
index := -1;
node := TreeView1.Selected;
while node <> nil do
begin
 node := node.GetPrevVisible;
 Inc(index);
end;

一番上が0
0357355NGNG
>>356
即レス誠に有難うございます。
お陰で思い通りの動作を得る事ができました、多謝。
0358デフォルトの名無しさんNGNG
>>348
そこの管理人は近藤級の毒電波・・・

>>344
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
http://bbs.gamdev.org/test/read.cgi?bbs=gamedev&key=1054282821
0359デフォルトの名無しさんNGNG
delphi7って、エディタの配色は自由に変更可能になりましたか?
0360デフォルトの名無しさんNGNG
DB触るのに各Formが勝手にADOStoredProcとかバンバン操作しちゃっていいもんかな?
なんか美しい!(゚∀゚)って感じの作り方ありませんか?
0361デフォルトの名無しさんNGNG
>>360
データモジュール、使ってる?
0362360NGNG
>361

DataModuleにADOStoredProcとか置いて使おうとしてますが・・・
そのままレコードセット触ったりしたら、なんかエレガントじゃない気がして・・・
0363デフォルトの名無しさんNGNG
WinXP + Del7の環境で、XPManifest使わない状態で、
何でScrollBarは他のコンポのスクロールバーと表示が違うのYO!?
0364359NGNG
ごめんなさい、もう一度聞いていいですか?
delphi6ではエディタの色を16色の中でしか選択出来なかったのですが、
delphi7では自由に変更可能になっているでしょうか?
なっているなら購入しようと思っているのですが・・・
0365デフォルトの名無しさんNGNG
>364
少なくとも設定画面からは16色しか選べないな…
0366デフォルトの名無しさんNGNG
>>364
レジストリいじれば?
0367デフォルトの名無しさんNGNG
もうすぐ8が出るのに今7買うの?
0368Delphi 6 PersonalNGNG
>>363
スクロールバーが元々Visual Styleに対応してるから
0369デフォルトの名無しさんNGNG
>368
ちゅーことは、ScrollBarは実は他のものとは異なるコントロールなの?(゚Д゚)
0370デフォルトの名無しさんNGNG
すみません。

ttp://www.m-mix.com/Program/Component/
ここのMOStringGridを使おうとして、なんとかDelphi7に入れられたのですが、
セルをカレンダーにして、日付を選んでフォーカスを移動すると
変な日付(例えば203//7//03)が入ってしまいます。

処理の流れを追っても何処でそういう文字列をセットしてしまっているのか
わからないんですが…。

どうやったら直せるでしょうか?
0371デフォルトの名無しさんNGNG
MIDIやWAVE等々の音量を調節するプログラムを作りたいのですが、
googleなどで検索しても参考になるサイトがなかなか見つかりません。
どなたか、為になるサイト又は書籍をご存知の方はいらっしゃらないでしょうか。
既存のコンポーネントはなるべく使いたくないでつ。。。
0372デフォルトの名無しさんNGNG
>>369
XPの仕様でしょ。VCLのせいではないよ。
APIのみでSCROLLBARクラスのコントロールを作っても同じ現象になる。
0373371NGNG
MIDIとWAVEは検索ワードを変えたら見つかりました。。
なんかうまくいきそうなので、371は見なかったことにしてください。。
0374デフォルトの名無しさんNGNG
ポップアップメニューがポップアップしてるかどうかの状態はどうやって取得すればいいの?
0375デフォルトの名無しさんNGNG
背景色にあわせて自動的に文字色を変えたいのですが、
それぞれをいちいち指定するのが面倒なので、

背景が白っぽかったら、黒文字
背景が黒っぽかったら、白文字

背景が赤っぽかったら、青文字

みたいに自動的に色を計算してくれる関数なりクラスなりどこかに落ちてませんか?

cl := ColorCalc($77FF77);
ってやったらclに適正な色が入るようなのが理想です。
0376デフォルトの名無しさんNGNG
>>375
$色 - $ffffff の結果を Abs してみるのはどうだろ(反転)
0377たぶんNGNG
こんな感じでうまくゆかないかな
function colorCacl(c:TColor):TColor;
begin
Result := c xor $FFFFFF; //とりあえずビット反転してみて
//その輝度が似てたら
 if abs(
    ( c and   $FF)-(Result and $FF)
   +(( c and $FF00)-(Result and $FF00) shr 8)
   +(( c and $FF0000)-(Result and $FF0000) shr 16)
   )<128
 then result := $ffffff and c+($808080);
end;

0378375NGNG
>>376
>>377
ありがとうございます。

うまく出来ました。
0379375NGNG
>>377
馬鹿みたいに何も考えずにただコピペしたら出来ました。
ありがとうございます。
0380デフォルトの名無しさんNGNG
ttp://www23.big.or.jp/~utamaro/binary/up0267.jpg
↑こんなポップアップヒントを表示するコンポーネントってありますか?
0381デフォルトの名無しさんNGNG
プログラム実行中に変数を作りたいんですがどうやったら実現できるのですか?
0382デフォルトの名無しさんNGNG
>>376
なぁ、素直に、

$ffffff - $色
($色 <= $ffffffは保証されてるわけで。)

ではあかんのか?


0383デフォルトの名無しさんNGNG
>>381
ポインタを使えば可能。
0384デフォルトの名無しさんNGNG
>>374の回答まだ〜?
0385デフォルトの名無しさんNGNG
>>384
ポップアップを表示したときにON
非表示にしたときにOFF
とかフラグ持っていればいいんじゃないの?
0386376NGNG
>>382
言われてみればそうだね
適当なこと書いてすまんかった>>375
0387デフォルトの名無しさんNGNG
>>373
見なかったことに・・・ではなく、ぜひ解決したら指針を報告しに来る、とか、
参考になったページを晒すとかして下さい。
そうしておくことで、もし同じことで悩んで検索してこのスレにきた人の参考にもなります。
あなたが自分では無駄でゴミな質問をしたと思っても、
対処によってはまったくことなる投稿にすることができます。

>>381
もうちょっと具体的にやりたいことを書いてください。
0388デフォルトの名無しさんNGNG
TActionクラスを継承し、独自のActionクラスを作成しました。
デザイン時にActionListの編集で独自のActionクラスを追加するにはどうすればいいのでしょうか?
0389373NGNG
>>387
そうかもしれませんね。
では参考にしたページを貼っておきます。
ttp://www.jnishida.com/tips/delphi/del-0026.htm

WaveOutSetVolume(デバイス, 音量[0〜65535]);
MidiOutSetVolume(デバイス, 音量[0〜65535]);
↑これでうまくいくようなのですが、これを使って設定すると、なぜかパンの値が左チャンネルに寄ってしまいます。
なんでだろう〜?

あと、
ttp://forum.nifty.com/fdelphi/samples/00067.html
ここだとデバイス番号は0だけを指定してるんですけど、こっちでも問題無いのでしょうか。
私の環境だとMIDIデバイスの数は9個だったんですけど、
そのうちMidiOutSetVolumeで設定できたデバイス番号は3と4だけだった。
ほかの番号のものは使わなくてもいいのかな?というのが今抱えている問題です。

長文すみませんでした。。
0390デフォルトの名無しさんNGNG
すみません、TListにオブジェクトをいろいろ入れているのですが、解放の仕方について教えてください。
たとえば、TListにTCanvasのインスタンスを入れるとします。
中身の解放の時は、
List[n].Free;でいいのでしょうか?それとも、TCanvas(List[n]).Free;のようにもとのクラスでキャストしてから
解放しなければいけないのでしょうか?
0391デフォルトの名無しさんNGNG
TEditに3桁の数字を表示するようにしているんですが、
デフォルトだとMaxLengthを3にしておくとたとえば1592が代入
されたら下3桁の592と表示されてしまいます。
4桁以上の数字が代入された時に999にするにはどうすれば
よいのでしょうか?
0392391NGNG
すみません、自己解決しました。
0393デフォルトの名無しさんNGNG
何故、3分 (01:45〜01:48)で解決するような内容を質問するんだろう
0394ミ,,゚Д゚彡 ◆A6VzDeLphI NGNG
>>380
タスクトレイアイコンのバルーンヘルプなら
http://homepage1.nifty.com/~okapon/download/index.html

普通の時のポップアップヘルプは
どこかにあったような気がするが、
脳内やググで検索しても
ヒットしませんでした。
0395ミ,,゚Д゚彡 ◆A6VzDeLphI NGNG
>>388

procedure Register;
begin
RegisterActions('', [TNewAction], nil);
end;
0396デフォルトの名無しさんNGNG
>>395
おー、そんなのがあるんだ。アリガトン。
0397デフォルトの名無しさんNGNG
>>380
ttp://homepage1.nifty.com/MADIA/delphi/old.htm
のその他のところのアーカイブに入ってるやつは?

>>385
いつ非表示になったかがわかんないんだよー。
無理なのかなー。
0398デフォルトの名無しさんNGNG
>>390
前者でいい。
詳しくはオブジェクト指向のポリモフィズムについて勉強して下さい。
0399デフォルトの名無しさんNGNG
>>390
× TList
○ TObjectList

それから TCanvas を動的に作って管理して解放するって事は
Handleに GetDC とかで得たハンドルを渡してると思うのだけど、
その場合、TCanvas を解放しても自動的にReleaseDCとかされ
ないので注意する事。

0400デフォルトの名無しさんNGNG
>>399
だとしたらTObjectListで自動的に開放なんてさせちゃ困るのではないのか?
0401デフォルトの名無しさんNGNG
>>394
>>397
ありがとー
0402 NGNG
すみません。

P****.TXT のように頭文字がPで拡張子がTXTのファイルを
一括で削除する方法を教えてください。

DOSだと、Del P*.txt で削除できますが、DelphiだとDeleteFile('P*.TXT');
で無理でした。(汗)
0403デフォルトの名無しさんNGNG
>>402
var
  F: TSearchRec;
begin
  if FindFirst('P*.txt', faAnyFile, F)=0 then
  begin
    repeat
      DeleteFile(F.Name);
    until FindNext(F)<>0;
    FindClose(F);
  end;
end;
0404 NGNG
>>403

有り難う御座います。m(__)m
早速組み込んでみます。
0405デフォルトの名無しさんNGNG
>>364-366
「カスタム」で選べるだろ、と思ったのだが、これって使えないのね。
なんのためのカラーダイアログなのかと小1時間・・・。
0406デフォルトの名無しさんNGNG
>>400
だから、それをする時はTCanvasを継承して Createで GetDCしてDestroyでReleaseDCする必要があるね
0407デフォルトの名無しさんNGNG
>>406
それならコレクションの方を継承するのが筋ではないか?

特定のデータを扱いたいからデータ構造に手を加えるというなら解るが、
特定のデータ構造に入れたいからデータに手を加えるというのは本末転倒かと。
0408デフォルトの名無しさんNGNG
手段のためには目的を選ぶな。
0409デフォルトの名無しさんNGNG
>>408
消えろ水母野郎
0410デフォルトの名無しさんNGNG
>>407
コレクションをって、例えば TMyCanvasList とか作ってって事?
そうしたいならそうすりゃいいけど、そうするとTCanvas継承しか入れられなくなるし、
だいいち、必要なのはReleaseDCではなくDeleteDCかもしれないじゃないか。
だから、ここは DestroyでReleaseDC するTCanvas継承と DestroyでDeleteDCするTCanvas継承をそれぞれ作る方がいいよ
0411デフォルトの名無しさんNGNG
>>397
WM_EXITMENULOOPで分からないかな。
0412デフォルトの名無しさんNGNG
Delphiって便利なの?
今はデルファイ6のパーソナルバージョンのみ無料で手に入るの?
0413デフォルトの名無しさんNGNG
>>412
いまから始めるならC#にしとけ。



タダじゃ手に入らんけどな(w
0414デフォルトの名無しさんNGNG
コンパイラだけなら無料で手に入れられたような。
0415デフォルトの名無しさんNGNG
>>414
それは・・・いまからDelphiとか言ってる香具師に勧めていいのか?(激藁
0416デフォルトの名無しさんNGNG
>>413
笑っているけど無知を晒しているだけだよ。
C#はタダで手に入るしIDEもSharpDevelopを使えばこれもタダだ。
0417_NGNG
http://homepage.mac.com/hiroyuki44/
0418デフォルトの名無しさんNGNG
へー、C#いいじゃん。
もうDelphiパーソナルなんて型遅れ要らないね!
0419デフォルトの名無しさんNGNG
DelスレでC#を勧めていることが一番痛い
0420デフォルトの名無しさんNGNG
>>413から418って全部自作自演じゃねーの?
0421デフォルトの名無しさんNGNG
>>420
>>420
0422デフォルトの名無しさんNGNG
RadioButtonをクリックするのはどうやるのですか?

RadioButton1.Click;はできないみたいです。
0423デフォルトの名無しさんNGNG
>>422
オブジェクトインスペクタ→イベント→OnClick
0424デフォルトの名無しさんNGNG
>>422
プログラムからってこと?
だとしたら、RadioButton1.Checked := True;
0425デフォルトの名無しさんNGNG
OnClickに書いてあるコードを実行させたくて、RadioButton1.Clickってやってみたら、エラーになり、
RadioButton1.Checked := Trueでは、チェックは付くけど、OnClickのコードが実行されませんでした。
RadioButton1Clickというプロシージャは人間がクリックしなきゃ実行されないのだろうか。
0426デフォルトの名無しさんNGNG
>>425
SendMessage。FAQだ。
0427デフォルトの名無しさんNGNG
>>425
エラーメッセージ書かない奴はバカ
0428デフォルトの名無しさんNGNG
>>426
えらい回り道だな。
0429デフォルトの名無しさんNGNG
>>427
すいません。「未知のエラー」と出ました。
0430デフォルトの名無しさんNGNG
>>427
すいません。「無知のエラー」と出ました。
0431デフォルトの名無しさんNGNG
>>425
>422の内容で>425の内容を想像するのは困難だろ。最初から具体的に書けよ。
RadioButton1Click(Sender);
でいける。
0432Delphi 6 PersonalNGNG
>>427
[致命的エラー] project1.dpr(1): Delphiの限界が垣間見えました
0433デフォルトの名無しさんNGNG
>>389
ステレオラインは左右それぞれ音量指定しないとダメだったような記憶がある。
デバイス番号は主デバイス1個のみの決め打ちなら 0 でいい。
0434無料動画直リンNGNG
http://homepage.mac.com/miku24/
0435デフォルトの名無しさんNGNG
>>432
プッ、見えたのはオマエの限界だよ。

0436デフォルトの名無しさんNGNG
>>431
すいません。
まさか出来ないはずは無い、思い焦って書いたら小出しになってしまいました。

>RadioButton1Click(Sender);
ちなみ、今それを書いてみて実行してみたのですがRadioButton1OnClickの内容が実行されなかったです
0437デフォルトの名無しさんNGNG
>>425

RadioButton1Click(Self);

0438デフォルトの名無しさんNGNG

D E L P H I の 限 界 の 予 感 !

( A A は ご 想 像 に お 任 せ し ま す )
0439デフォルトの名無しさんNGNG
TStringList.LoadFromFile でHTMLのソースを読むと
何故か読み込んだソースが文字化けしてしまいます。
メモ帳で開いたように、ソックリそのまま読むにはどうすればいいのでしょうか。
0440デフォルトの名無しさんNGNG
>メモ帳で開いたように、ソックリそのまま読

んだからこそ文字化けしたんだと思うんだが。
0441デフォルトの名無しさんNGNG
DELPHI(超初心者)の限界だってば!
それほどそこが浅いわけねーだろ。





それほど深くもねーけど(w
0442デフォルトの名無しさんNGNG
>>436
いったいどこに書いたんだ?

0443デフォルトの名無しさんNGNG
面白くない場合は無駄に改行を入れないでください
0444デフォルトの名無しさんNGNG
>>442
procedure TForm1.FormCreate(Sender: TObject)に書きました。

もう諦めることにします・・・。
0445374NGNG
>>411
WM_EXITMENULOOP を検索してみたのですが、使い方が分かりません。。。

SendMessage(ハンドル,WM_EXITMENULOOP,wParam,lParam)
の返り値ってことですか?wParamをどうやって調べるのか・・。
0446デフォルトの名無しさんNGNG
>>444
絶対読める。Senderとか渡さなきゃ。
0447デフォルトの名無しさんNGNG
>>446
すみません。今、よく確認してみたら、
RadioButton1Click(Sender);で出来ていました・・・(´Д`;)
0448デフォルトの名無しさんNGNG
ここでよいのかどうかわからないんですが…
Delphi6でバーチャルMIDIキーボードを作ってます。
とりあえずMIDI周りの処理は作り終わって、パソコンのキーボードを
仮想鍵盤にするテストをしてるんですが、
 1.OnKeyDownイベントでMIDI出力開始
 2.OnKeyUpイベントでMIDI出力停止
という仕様です。

キーボードを押している間は一つの音が継続して出るようにしたいのですが、
今はキーボードを押している間中OnKeyDownイベントが何回も発生して、
ピアノを連打しているような状態になってしまいます。

キーボードのキーの数だけKeyDown中のフラグを持たせれば一応解決するとは思うのですが、
何か他にスマートな解決方法はありませんでしょうか。
0449デフォルトの名無しさんNGNG
>>448
Booleanな配列でも作ってノートON、OFF状態を記憶する。

既に発音中ならそれ以上ノートONは投げない。

音源からある音が発生中か否かがチェックできるならそれを使った方が確実だろうけど。
0450デフォルトの名無しさんNGNG
たとえば、メニュー画面でステージを選択させて、それが押されると
Now Loadingを表示して、メインFormの作成にとりかかる、作成が終わったら
ゲームをスタートさせる・・・

とやりたいのですが、ステージ選択メニュー.onClickのイベントハンドラ内で

loading表示.visible := true;
Form1 := Tform1.create(Application);

とかやると、Loadingが表示される前にcreateが始まってしまい、createが終わるまで画面が凍ってしまいます。
どうしたらいいんでしょう?(´・ω・`)
0451デフォルトの名無しさんNGNG
>>450
timer使うしか無いんでは。。
0452デフォルトの名無しさんNGNG
大麻使うのかヨ!!!!!!!?????
0453 NGNG
>>439
メモ帳で読み込んでも文字化けはしてると思うんだが?
漢字コードがシフトJIS以外なら。
0454448NGNG
>>449
ありがとうございます。
やっぱりデータ持つしかなさそうですね。

KeyUpが発生するまでKeyDownイベントを発生させないようにできないかなーと
考えてたんですが、冷静に考えるとこの解決策と同じ事のような気がしてきました…
0455 NGNG
>>451
timer?どう使うの?

>>450
loading表示.visible := true;
の「loading表示」って何?それを具体的に説明してくれないと分からん。
0456デフォルトの名無しさんNGNG
>>455
Timageを事前に作って仕込んでおき、ロード中のみvisibleにしようかな、とか思ってオリマス。
0457デフォルトの名無しさんNGNG
>>455
良い方法かどうかわかりませんが。。
まずForm1Create許可用のBooleanを作り、falseにしておく。
ステージ選択メニュー.onClickのイベントハンドラ内では
loading表示.visible := true;とForm1Create許可用Boolean=trueのみ行う。
timer内でForm1Create。
0458デフォルトの名無しさんNGNG
>>454
WM_KEYDOWNで送られてくるmessageを調べれば、オートリピート中か調べられる。例えば

procedure TForm1.WMKeyDown(var message: TWMKeyDown);
begin
 if message.KeyData and $40000000 = 0 then inherited;
end;
ってやれば、オートリピート中はOnKeyDownが発生しなくなる。
0459デフォルトの名無しさんNGNG
>>457
追記、以後使わないんであればFormCreate内でTimer破棄。
0460デフォルトの名無しさんNGNG
>>458
ありがとうございます!!
こういう感じのを探してました。m(__)m
0461デフォルトの名無しさんNGNG
>>451
つーか、「Createが先に行ったように見える」ことが問題なんじゃないの?

「refresh」してみたら?
0462デフォルトの名無しさんNGNG
>>461
1アクションだとリフレッシュは後処理になったような気が。
処理を分けないとダメだったような。。気がする。
0463デフォルトの名無しさんNGNG
>>461
かっ、解決しました・・・単に描画の問題だったんですね。
皆様、ありがとうゴザイマシタ!
0464 NGNG
仕切りたいワケじゃないんだが、質問者は
トリップ付けた方がいいと思うんだが…。
0465デフォルトの名無しさん ◆/gyxcnlOg. NGNG
質問です。トリップの付け方を教えてください
0466デフォルトの名無しさんNGNG
>>465
かっこいい!
intA := intA;
みたい!
0467デフォルトの名無しさんNGNG
A:= (A + A - A)*0
0468デフォルトの名無しさんNGNG
>>465
Googleで検索すれば出てくるよ
0469デフォルトの名無しさん ◆/gyxcnlOg. NGNG
>>468
http://www.google.com/search?q=%E8%B3%AA%E5%95%8F%E3%81%A7%E3%81%99%E3%80%82Google%E3%81%A3%E3%81%A6%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0470デフォルトの名無しさんNGNG
コンポーネントのコの字もしらないような全くの初心者が
デルファイでオセロゲームを作れるようになるのは何日くらいかかりますか?
0471デフォルトの名無しさんNGNG
>>470
使うのイメージコントロールくらいだろうから2日。
0472デフォルトの名無しさんNGNG
>>444

FormCreateイベントには、そのフォームに乗っかってるコントロールの
イベントを呼び出すようなコードは書かない方がいいよ。

フォームは生成されてても、まだ描画か完了してない可能性がある
からね。
0473デフォルトの名無しさんNGNG
>>472
そのお前が言う「描画」に関する処理がなければ普通に呼び出せるが。
0474 NGNG
最初にメッセージダイアログを表示して、フォームが開く前に
実行させるか選択させたいのですが、「いいえ」を押しても
フォームが表示されてしまい終了できません。

フォームを表示させずに終了させる方法は無いですか?。

procedure FormCreate(Sender: TObject);
var
MesChk : Word;
begin
MesChk := MessageDlg( プログラムを開始しますか?', mtWarning, [mbYes,mbNo], 0);

if MesChk = mrNo then Close; //「いいえ」を選択してもフォームが開いて終了できない。
end;
0475デフォルトの名無しさんNGNG
Application
0476デフォルトの名無しさんNGNG
>>474
プロジェクトファイル名.DPR

にコードを書くと良いでしょう。
0477デフォルトの名無しさんNGNG
delphiでIEの操作パネルのようなものってどのコンポーネントを
組み合わせて使えばよいですか?
0478デフォルトの名無しさんNGNG
>>477
秘密。
0479デフォルトの名無しさんNGNG
いままで、Del6の無料版でやってきました。
そろそろ本格的にやりたくなってきたんで、有料版を買おうと思うんですけど、
年末にでるという新リリースを待った方がいですか?
www.borland.co.jp/about/message/openletter_to_delphi_community.html
0480デフォルトの名無しさんNGNG
>>479
金出すなら別の選択肢も考慮に入れた方が良いと思う。
0481デフォルトの名無しさんNGNG
>>479
金を出す前に無料のC#もやってみたまえ。ってDelスレで勧めるなよ→俺
0482デフォルトの名無しさんNGNG
無料のデルファイって
無料のC#より出来ることが少ない?
無料のデルファイはインターネットのブラウザとか作れないっぽいけど
C#なら作れる?
0483デフォルトの名無しさんNGNG
>>482
コンポーネントが入ってないだけで作れないことはない……はず。
openjaneとか
0484デフォルトの名無しさんNGNG
>無料のデルファイはインターネットのブラウザとか作れないっぽいけど
アホですか?
0485デフォルトの名無しさんNGNG
>484
アホです。
0486デフォルトの名無しさんNGNG
>>485
うむ、がんばれよ。
0487デフォルトの名無しさんNGNG
>484
ここ超初心者向けの板だからさ、手加減しろよ(藁
0488デフォルトの名無しさんNGNG
まあおまえら、日曜日位少しはVB厨に夢くらい見させてやれよ。
ほんのわずかな休日なんだし。
0489デフォルトの名無しさんNGNG
>>473

472は、相手が超初心者だからそう書いたんだと思う。
そのあたりのことがわかってる香具師ならいいんだけど、
イベントの呼び出しがわからないレベルの香具師がハマ
ると混乱するからね。

俺もDel始めた頃にハマった経験があるし(藁
0490デフォルトの名無しさんNGNG
フォームが作られたら終了するプログラム
procedure TForm1.FormCreate(Sender: TObject);
begin
close;
end;
0491デフォルトの名無しさんNGNG
スレッド生成というものに挑戦したいと思います。

当然、内部的なプロセスが二つできるので、同じオブジェクトにアクセスする場合は衝突しないように
排他処理とか同期を取らないといけないと思いますが、たとえば

・ フォームからのtext入力をメインスレッドが読み、値を計算して大域変数に代入
・ サブスレッドはループしながら、その変数に変化があったらTForm.image.pictureに描画する

とかいう場合では、メイン→サブの一方通行なので特に衝突しなさそうに見えますが・・・ダメですか?
0492491NGNG
そうか、別スレッドからはメインのVCLの状態が不明だから、VCLをいじるときは
Synchronizeを使ってメインスレッドから指令を出せばいいのか(´・ω・`)
0493デフォルトの名無しさんNGNG
>>488
>ほんのわずかな休日なんだし。

VBには仕事があって、Delphiは無職で糞だと言うことか
0494デフォルトの名無しさんNGNG
Edit1.Textが数字だけのStringなのか、そうではないStringなのかを調べるにはどのようにすればいいですか?
0495デフォルトの名無しさんNGNG
>>494
http://www.wwlnk.com/boheme/delphi/vbtodel/daf0980.html
0496デフォルトの名無しさんNGNG
>>495
それ使ってみますどーも!
0497デフォルトの名無しさんNGNG
>>491
例えばユーザが125と入力したいとする。

大域変数:1
1で処理を開始。

大域変数:12
1の処理が終わる前に入力されると途中から12の処理になる。

大域変数:125
1の処理が終わる前に入力されると途中から12の処理になる。

こうなる。この場合排他制御がないと結果がぼろぼろに。



ただ単に非同期処理をしたいだけならグローバル変数なんぞ使わず
もっと安全な方法があるっしょ。

0498デフォルトの名無しさんNGNG
10秒間行動を停止するのってどうやるの?
たとえばボタンを押すと10秒後にラベルを変化させたいんだけど

procedure TForm1.Button1Click(Sender: TObject);
begin
//ここで10秒待つ
Label1.Caption:=('10秒たちました');
end;

10秒間何もしない命令を教えて。
0499デフォルトの名無しさんNGNG
Sleepで
0500デフォルトの名無しさんNGNG
>>490

それって意図どうりに動かんよね。

ttp://www.borland.co.jp/qanda/delphi/d0000150.html
0501デフォルトの名無しさんNGNG
>>499
ビジーループになるんだっけか?
0502Sleep(10000);NGNG
try...finally文とtry...except文の決定的な違いを教えてください
ヘルプ読んだのですが、どこが違うのかよく分かりませんでした
0503デフォルトの名無しさんNGNG
Sleep関数の害と解決方法
http://www.campus.ne.jp/~ishigami/CREATION/COLUMN/CD1MATI.htm
0504デフォルトの名無しさんNGNG
>>502
例外があろうが無かろうが実行される。

例外がある場合に実行される。


Delphi唯一の失敗は、同時にその二つが指定できないことだ。
0505デフォルトの名無しさんNGNG
>>504
どうもです。
0506デフォルトの名無しさんNGNG
Cでは下のように構造体の定義と配列の宣言、初期化を1度に書けますよね。
static struct{
  int a;
  int b;
}data[]=
{
  12,23,
  34,45,
  56,67
};
Delphiのレコード型でも同じようなことはできないですか?
せめて、配列の宣言と初期化を一度にやりたいのですが。


0507デフォルトの名無しさんNGNG
>>506
ローカル変数では出来ません。 
もしそういう表現が出来たとしても、隠れた代入文が作られるだけですしね。

その為にwith文があるのですから。 これを使って下さい。


グローバル変数なら(unit内のグローバル変数でも)可能です。
0508デフォルトの名無しさんNGNG
数千行のインデントを訂正するにはどうすればいい?
0509デフォルトの名無しさんNGNG
Dedi Code Formatter
0510デフォルトの名無しさんNGNG
ってスペリングミス。
s/Dedi/Jedi/
0511デフォルトの名無しさんNGNG
>>497サンありがとうございます。

ゲームプログラムなんですが、いままでonIdleを使って画面描画していたものを、
スレッド仕様に書き換えてみました。
メインスレッドは数値を計算し続け、サブスレッドはそれを元に画面を描画し続けるという感じです。

が、onIdleだと、描画が忙しくなってくる→onIdleが発生しなくなる→描画を間引く→負荷が減る→(゚д゚)ウマー
といった構図で、メインが圧迫されることはなかったのですが、
スレッドにしたら、サブスレッドが全力をあげて描画しようと頑張るもので、描画に負荷がかかると
メインスレッドにあるタイマが遅延してしまい、ガタガタになってしまいました。・゚・(ノД`)・゚・。

while(true) do begin
  start := timegettime;
  Synchronize(゚д゚); // ここでメインスレッド経由でVCLに描画
  stop := timegettime;
  if (stop - start < 33) then sleep(33 - stop - start);
end; // 描画が33ms以下なら、30FPSになるようにwaitを入れる

サブスレッド内はこんな感じなんですが、
これだと、33ms以上になると描画処理だけで全部持って行かれてしまうか・・・。
0512デフォルトの名無しさんNGNG
>>509-510
Jedi Code Formatらしい。

これ楽だね。サンキウ
0513デフォルトの名無しさんNGNG
>>511
もうどこから突っ込んで良いのやら・・・
0514デフォルトの名無しさんNGNG
>>493
>VBには仕事があって、Delphiは無職で糞だと言うことか

それ微妙にちがう…。
VBはバグ取りと称して仕事をせざるを得なく、Delphiはその間に
プロジェクトの構築がすべて終わっている。
0515デフォルトの名無しさんNGNG
つまりすぐ仕事が終わってしまうDelphiは我々から仕事をなくしてしまう悪のツールだということですね
無職は嫌なのでVBを覚えることにします
ありがとうございました
0516デフォルトの名無しさんNGNG
Delphiの
名前をつけて保存、とか
開くを選ぶとデフォで最初にでてくるのが
C:\Program Files\Borland\Delphi6\Projects
絶対ここになちゃうんだけど
かえるのどうやるの?
0517デフォルトの名無しさんNGNG
Delphiの起動アイコンのプロパティで作業フォルダを変える
0518デフォルトの名無しさんNGNG
>>516
Delのショートカットのプロパティを開いて、
作業フォルダをお好きなフォルダにしませう。
0519デフォルトの名無しさんNGNG
>>515
それは無理な話だ。Del厨名乗っている香具師でも
殆どの奴はVBも当然のように使えますんで。
0520デフォルトの名無しさんNGNG
>517-518
Thx!!できました。ありがとう。
0521デフォルトの名無しさんNGNG
>>515
こいつはひとつのプロジェクトが終わったら次の製品/商品をどんどんつくって
金を稼ぐという考え方がないのか?
永遠に進歩がないやつだな。
VB使ってもメモ帳使ってもいっしょだな。
0522511NGNG
>>513
やはりツッコミどころ満載ですか・・・(汗
0523デフォルトの名無しさんNGNG
paradoxのDBについて質問です。
現在C/SのDBアプリを開発しています。

クライアントでテーブルをTQueryでオープンするときに
LANケーブルをわざと抜いて、DBにアクセスできない時の処理を作っているのですが、
その後アプリケーションを終了させようとすると
ウィンドウは消えるのですが、タスクバーに残っていて、
Delphiで強制的に終了させても、「プログラムを終了できません」になります。

これを回避するにはどうすれば良いでしょうか?

OSはWindowsXPです。

宜しくお願いします。
0524デフォルトの名無しさんNGNG
データベースについて質問です。
例えばBDEを使ったアプリを作ったとして。
これを配布するには、配布先のPCにBDEがインスコされてないとダメなんでしょうか?
BDEが入ってないPCで動作確認しようとしたらエラーが出て動かなかったもので…
また、BDEをインストールしないでよい方法があったら教えていただけないでしょうか?
0525デフォルトの名無しさんNGNG
BDEをインストールしないでよい方法
http://www.borland.co.jp/kylix/papers/kxguide/kxguid15.html
0526デフォルトの名無しさんNGNG
MyBaseでSQLは使えないからな〜
0527デフォルトの名無しさんNGNG
何かDBをインストールせずにって条件?
InterBaseかFirbird にしたら?

0528デフォルトの名無しさんNGNG
sndPlaySound(Pchar('SOUND.WAV'),SND_ASYNC);
これだと、もう一つ同じ処理をすると、前に鳴っていた音は消えます。

前に鳴っていた音が鳴ったまま重なるように鳴らすにはどうすれば良いですか?
0529デフォルトの名無しさんNGNG
とにかく例外を客に見せたくないので、
Tryを多用しまくってます(というか、かなりの範囲を一つのTry Exceptでくくってます)が
処理が異様に遅くなってるような気がします。

Tryが多くなると処理が遅くなるのですか?

それとも、Tryは関係ないですか?
0530524NGNG
>>525
>>526
>>527
ありがとうございます。
そうです。何もDBをインストールせずにってことです。
これから作る前に聞いておいて良かったかも。
BDEだと配布先のPCにもBDEをインストールしないと
だめってことですよね?
MyBaseもInterBaseもFirbirdも使ったことないけど
がんがってみます。
0531デフォルトの名無しさんNGNG
>>529
関係無いです。
0532デフォルトの名無しさんNGNG
>>531
レスクス。
そうみたいっすね。
0533ななしへたぐらま ◆XcB18Bks.Y NGNG
>>339
TMemo.Linesの各行は表示行(画面の見た目の行)であって論理行(改行コードで区切られた行)ではないので注意が必要です.
以下はサンプル.フォームにメモを3個とボタンを2個置き,Memo1とMemo3の幅をかなり広く,Memo2の幅をかなり狭くします.

const
cNewLine = #$0d#$0a; // 改行コード
cSample =
'>>339' + cNewLine +
'TMemo.Linesの各行は表示行(画面の見た目の行)であって論理行(改行コードで区切られた行)ではないので注意が必要です.' + cNewLine +
'Textを使った方が安全かも.';

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.Lines.Assign(Memo1.Lines);
Memo3.Lines.Assign(Memo2.Lines);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Text := Memo1.Text;
Memo3.Text := Memo2.Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text := cSample;
end;

Button1を押した場合とButton2を押した場合で結果が違う点に注目.Textを使うのが安全確実高速.
0534デフォルトの名無しさんNGNG
DelでIEの操作パネルみたいなものを作りたいのですが、
どのコンポーネントを組み合わせて作ればよいでしょうか。
0535デフォルトの名無しさんNGNG
むり
0536デフォルトの名無しさんNGNG
>>535に補足

「>>534じゃ」むり
0537デフォルトの名無しさんNGNG
>>534
「操作パネル」って何のこと?
0538デフォルトの名無しさんNGNG
>>534
ここで探せ。きっとある。
Delphi Super Page
ttp://delphi.icm.edu.pl/
0539 NGNG
俺も分からんなぁ<操作パネル
Coolbar?
0540デフォルトの名無しさんNGNG
DelでIEを操作するパネルを作りたいとも取れるぞ
0541 NGNG
釣りだったらそこそこ釣れたな(藁
0542デフォルトの名無しさんNGNG
TStringListで空の行だけなくす方法はありませんか
例えば

[0]
[1] DEF
[2]
[3] ABC

とあった場合

[0] DEF
[1] ABC

としたいのです。
0543デフォルトの名無しさんNGNG
>>542

with TStringList do
 for I := Count -1 downto 0 do
 begin
  if Strings[I] = '' then
   Delete(I);
 end;
0544デフォルトの名無しさんNGNG
thenが無ければきれいなのに・・・。
0545542NGNG
>>543
その通りやったら出来ました。サンクス!
0546デフォルトの名無しさんNGNG
文字エンコードが EUC-JP のものを Shift-JIS にしたいんだけど、どうやればいいの?
0547デフォルトの名無しさんNGNG
>>546
変換テーブル書く。
0548デフォルトの名無しさんNGNG
>>546
$80マイナスしてから_mbcjistojmsでJIS→SJIS変換
0549デフォルトの名無しさんNGNG
>>546
コードページ 54932 で Unicode に変換してから AnsiString にキャスト。
0550デフォルトの名無しさんNGNG
sndPlaySound(Pchar('SOUND.WAV'),SND_ASYNC);
これだと、もう一つ同じ処理をすると、前に鳴っていた音は消えます。

前に鳴っていた音が鳴ったまま重なるように鳴らすにはどうすれば良いですか?
0551デフォルトの名無しさんNGNG
Delphi3.01でQuickReport2.0k使ってParadoxテーブルの中身を印刷する
ように作ってみたんですが、うまくできません。

作成した物をInstallShieldExpressでインストールした一部の
WinXP HOME機で実行してプレビューを見ようとすると、
「アドレスの00000001で00000001に対する読み込み違反が起きました」
というエラーメッセージが出て、さらにプレビューの次ページを見ようと
ボタンをクリックすると、「メタファイルが不正です」というメッセージが出ます。

自分の開発用PC(WinXP Pro)や他のWinXPでは、このようなエラーは
起きないので、どうしてなのか分からず困っています。
どなたか助言ください。
「いまどき3.01かよ」ってのはナシの方向で。
0552デフォルトの名無しさんNGNG
>>551
×自分の開発用PC(WinXP Pro)や他のWinXPでは
○自分の開発用PC(WinXP Pro)や他のWinXP HOMEでは

ちなみに互換モードで試してみたんですが、駄目でした。
0553デフォルトの名無しさんNGNG
ボタンがたくさん(80個ぐらい)ある
フォームに切り替わる時に、画面がチラチラします。
(パっと出てこない)

この辺を綺麗にするためのテクニックなどありましたら
ご教授下さいまし。
0554デフォルトの名無しさんNGNG
>>553
1. 方法その1
LockWindowUpdateを使用する。
Form1からForm2(ボタンがたくさんあるフォーム)を呼び出す。
procedure TForm1.Button1Click(Sender: TObject)
begin
 Screen.Cursor := crHourGlass;
 LockWindowUpdate(Handle);
 try
  Form2.Show;
 finally
  LockWindowUpdate(0);
  Screen.Cursor := crDefault;
 end;

2. ボタンが同じ大きさで格子状に配列されてもよい場合
こういうコントロールを使用して、たくさんのボタンを1個にしてしまう。
http://www.woll2woll.com/1stclass/tour/buttongroups.html
(英語)

LockWindowUpdateはWin32ヘルプか、MSDNを参照のこと。
0555デフォルトの名無しさんNGNG
>>550
sndPlaySound(Pchar('SOUND.WAV'),SND_ASYNC);
を
sndPlaySound(Pchar('SOUND.WAV'), SND_MEMORY + SND_ASYNC);
にすると、どうなる?
0556553NGNG
>>554
レス、ありがとうございます。
LockWindowUpdateを使ってみたのですが、
まだ画面にパッと出てこずに、ちらつきます。
PCの処理が追いついていないのだと思います。

方法2にトライしてみます。
0557550NGNG
>>555
レスありがとうございます。
音が鳴らなくなりました。
0558553NGNG
>>554
LockWindowUpdate(Handle);
の部分を
LockWindowUpdate(Form2.Handle);
にしたら、かなり改善しました。
0559デフォルトの名無しさんNGNG
>>553
そもそもひとつの画面にボタンが80個あるインターフェースを作り上げることが
間違いだと言ってみるテスト。
ちらつきの問題が解決されても、それだけでリソース食っちまうし、
機能別に別フォームにするか、せめてタブコントロールで分けるという
ようにしたほうがよくないか?
それとも電卓とか、レジスタみたいなものを作ろうとしているならば、
ボタンを集合させたVCLがどっかにあるはずだから、探してそれ使ったほうがいい
と思ふよ(>>554がそれなのか?)
0560553NGNG
>>559
親身なレスありがとうございます。
ソフトウエアキーボードを作っているので、どうしても
ボタン数が多くなってしまいます。

作っていて「こんなにボタンを作ってもいいのかなぁ」と思っていました。

ボタンを集合させたコントロールを使うのが、この場合
理にかなってるんですね。

>>554を含めて、色々検討してみます。
0561 NGNG
DisableAlign
ってなんですか?

ぐぐってもほとんど分かりませんでした。
0562デフォルトの名無しさんNGNG
Form2.DoubleBuffered = True;で、その程度のチラチラ防げるんちゃうの?
0563デフォルトの名無しさんNGNG
Panelの上にImageを置いたコンポを作成する時、
Imageの元々のイベントをコンポのイベントとするためには
どう記述すればいいんでしょうか?
0564デフォルトの名無しさんNGNG
>>563
お前だけだぞ。コンポコンポ言ってるの。バカみたいだ。
0565デフォルトの名無しさんNGNG
implementationの上のusesと下のusesは何の違いがあるのでしょうか?
0566デフォルトの名無しさんNGNG
C#Builder導入支援キャンペーン
http://store.borland.co.jp/upgrade/csharpbuilder_cmp.html
0567デフォルトの名無しさんNGNG
>>565
循環参照OKか否か。
0568デフォルトの名無しさんNGNG
>>565
他のユニットに公開するInterfaces節の記述に必要か否か。
Classes.pasで定義されたTListを例に取る。

interface
uses Class;
function Hoge: TList;
implimentation
function Hoge: TList;
begin
 result := nil;
end;
↑interface節でuses Classesが必要。

interface
function Hoge: Integer;
implimentation
uses Classes;
function Hoge: Integer;
var
l:TList;
begin
 result := 1;
end;
↑implimentationでuses Classesが必要。
0569デフォルトの名無しさんNGNG
マシン交換でD5Pro+BDE(PARADOX)で作成したデータベースアプリを2台のマシンにインストールしたところ
片方だけruntime error 217と出て起動できません。
OSはXpProsp1です。
マシンの違いは起動できない方がPentium4 2.4Ghz、RAM1GB、動く方がceleron1.8Ghz、RAM512MBです。
両方とも新規で買ったDELL製で同じようにインストールしたのつもりなのですが。
アプリ自体は3年前から使用していてWIN95〜XpHomeまですべてのバージョンで問題なく動いてました。
ちょっと原因の見当がつかないのでこのエラーがどんなときに発生するのかご存じでしたら教えてください。


0570デフォルトの名無しさんNGNG
>>569
ほう、LinuxやBSDはOSではないと、いい根性だな。
0571デフォルトの名無しさんNGNG
>>570
は?
どこにそんなことが書いてありますか?
0572デフォルトの名無しさんNGNG
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1

OS means Windows。
0573デフォルトの名無しさんNGNG
問題のマシンのOSがXpProsp1だと説明することがなぜLinuxやBSDの否定につながるのか
論理的に説明してもらえませんか?
馬鹿みたいなコピペしかできないのなら氏ねよ。
0574デフォルトの名無しさんNGNG
ナニコイツ
0575デフォルトの名無しさんNGNG
574は570=572にね
0576デフォルトの名無しさんNGNG
delphiでCでかかれたソースを使う方法ってありますでしょうか…
ちょっと必要になったので
0577デフォルトの名無しさんNGNG
>>576
無いね。
C++ BuilderはPascalソース使えるんだけどな。
他のコンパイラでDLLにでもしなさい。
0578デフォルトの名無しさんNGNG
ある変数が変更されたら、なにか処理をさせたい、なんて方法はありますか?
コールバックっつうの?
そんなイメージ。
0579デフォルトの名無しさんNGNG
プロパティ
0580デフォルトの名無しさんNGNG
あっ、そっか。
クラスにしろってことか。
ありがとう。
0581デフォルトの名無しさんNGNG
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1
OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1OSはXpProsp1

OS means Windows。
0582デフォルトの名無しさんNGNG
P2PMMORPG「P2PREGARO」
http://game3.2ch.net/test/read.cgi/mmominor/1054592980/l50

技術士キボンヌ歓迎します。
0583デフォルトの名無しさんNGNG
人生金次第
0584デフォルトの名無しさんNGNG
>>576
いったんBCCなどで.objにコンパイルして、それをDelphiとリンクさせることはできたと思う。
http://www.borland.co.jp/qanda/lang/l0002163.html
0585デフォルトの名無しさんNGNG
>>549
横からですが…ホント!?
なら他のEUC-XXのコードページもあります??
0586デフォルトの名無しさんNGNG
>>585
疑う前に MSDN ドキュメントチェック。
一通り、IE/Outlook が処理できるコードページは使えるようになっている。
ただし IE をインストールする必要があるが、とんでもなく古い Win95 で無ければ
大丈夫でしょ。

JIS / ISO2022 もサポートされているよ
0587デフォルトの名無しさんNGNG
簡体字 EUC - 51936
GB18030 - 54936
簡体字 ISO-2022 - 50227
韓国語 EUC - 51949

0588 NGNG
>>554
1stClass3000proってのをダウンロードしたら良いのですか?
0589デフォルトの名無しさんNGNG
☆頑張ってまーす!!☆女の子が作ったサイトです☆
       ☆見て見て!!
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html
0590デフォルトの名無しさんNGNG
>>586
DelphiユーザにMSDNみろと言うのも酷な話だと思われ。
Web版は重いし激しく使いにくいし。
0591デフォルトの名無しさんNGNG
>>590
ま、人それぞれ。
0592デフォルトの名無しさんNGNG
>>588
そうです。その中の TfcButtonGroupというのを使ってみる。
0593デフォルトの名無しさんNGNG
>>569
ペン4 2.4Gか、ケロリン1.8Gかはあまり関係ないだろうな。
多分BDEのエリアスがちゃんと設定されていないからじゃないの?
もいちど、エリアスをチェックしる
0594 NGNG
>>592
有料っぽいね。
0595デフォルトの名無しさんNGNG
実践・Delphiでポインタ入門の
実践その2 <TList.Items>
http://hp.vector.co.jp/authors/VA009712/take/delphi/pointer.htm#tlist

この内容で疑問に思ったんですが、
FList.Clear; した時に、FListに登録されているTMyItemはちゃんと
Destroyされるものなんでしょうか?
0596デフォルトの名無しさんNGNG
>>595
Destroyされません
その例はデストラクタでちゃんと掃除をしてないので
メモリリークを起こすと思います
0597デフォルトの名無しさんNGNG
>596
やっぱりそうですよね…

ところで、DeleteやDestroyに各TMyItemをFreeするように書いて、
Listの先頭のMyItemを別に宣言したMyItemに代入した後に、ListをClearして、
MyItemのプロパティを参照してもエラーにならなかったんですが、
これは同じオブジェクトを見てなくて、代入時にAssignされたのかな?
0598デフォルトの名無しさんNGNG
>>597
たまたまエラーにならなかっただけだと思う。
自動でAssignされるようなことはないし、そもそもMyItemはTPersistent
を継承していないのでAssignメソッドを持っていない。
0599 NGNG
image1.Picture.Bitmap.Canvas.CopyRect(rect(0,0,100,100),image2.Canvas ,rect(0,0,image2.Width,image2.Height));
ってやると、画像のエッジがガタガタになります。
エッジが滑らかなまま拡大縮小するにはどうすれば良いでしょうか?
0600_NGNG
http://homepage.mac.com/hiroyuki44/
0601デフォルトの名無しさんNGNG
>>586
サンクス。しかし、54932をMultiByteToWideCharに渡しても玉砕しました。一応Win2000。
0602デフォルトの名無しさんNGNG
>>581
Winを抜いただけでなぜそうなるのか教えてくれない?
0603デフォルトの名無しさんNGNG
JavaのLog4jみたいなクラスありませんか?
0604デフォルトの名無しさんNGNG
>>593
ありがとうございます。
そのへんは何度も何度も設定し直したのですがだめでして、
諦めて後回しにしていたネットワークプリンタドライバーをインストールしたら
なぜか起動するようになりました。
なぜだろう…
プリンタ回りはTPrinterSetupDialogを置いてるだけでアプリからはいじってないんだけどな。

0605デフォルトの名無しさんNGNG
Edit1内のキャレットを一番右に寄せる方法を教えてください。
0606デフォルトの名無しさんNGNG
Canvasに変更があったかを知るにはどうすればいいですか?
0607デフォルトの名無しさんNGNG
↑いい忘れましたがImageのCanvasです。
0608デフォルトの名無しさんNGNG
>>605
http://www.borland.co.jp/qanda/delphi/d0000090.html
http://www2.big.or.jp/~osamu/Delphi/tips.cgi?index=0204.txt
0609デフォルトの名無しさんNGNG
Turbo Pascal をこのまま続けてもいいのでしょうか?!
Delphiは高すぎるよな。UMLみたいな仕事ができるのなら
いいのだが。
0610デフォルトの名無しさんNGNG
>>609
DOSは…分野によっては充分現役なので…つか、制御系とかだと変にWinに置き換え不可では…
Delphiは…まあ、UMLならEnt版で可能だけど…高すぎるよな。同意。
0611デフォルトの名無しさんNGNG
君たち貧乏ですね
0612デフォルトの名無しさんNGNG
質問です…
>>448で質問して>>458の回答を頂いたのですが、
WM_KEYDOWNのパラメータを取得する方法がわかりません。
今はprocedure宣言時に以下のようにしてます。

procedure WMKeyDown(var message: TWMKeyDown); message WM_KEYDOWN;

ヘルプでmessage(指令)を調べると、こう書けばWM_KEYDOWNメッセージ取得時に勝手に動いてくれる…
ように見えるのですが、動いていないようです。
コードの所にブレイクポイントを設定しても、来ていませんでした。

どう質問すればよいのかもよくわかっていないのですが…(汗
やりたいことは「キーリピートを抑制するために、WM_KEYDOWNのデータ取得時のパラメータを知りたい」?です。
0613デフォルトの名無しさんNGNG
>>561
オンラインヘルプを使うといいよ

Delphiのエディタ上にDisableAlignをこぴぺして
その上にカーソルを合わせてF1を押す
0614デフォルトの名無しさんNGNG
>>612
ボタン等にフォーカスがあったら、そっちにWM_KEYDOWNが送られて
フォームには送られてこないけど、そういう状態なんでない?

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
 if (Msg.message = WM_KEYDOWN) and (Msg.lParam and $40000000 <> 0) then Handled := True;
end;

↑みたいにApplicationEventsのOnMessageで、アプリ全体のキーリピートを抑制すればいいと思う。
適当に条件足せば、MIDIキーボードのフォームがアクティブのときだけ抑制する、とかできるだろうし。
0615デフォルトの名無しさんNGNG
動的に複数のTLabelを作ります。
そのラベルが必要無くなったら一度に全てのラベルを削除したいのですが、
どうにもやりかたがわかりません。
Nameプロパティを与えて Name.Free; とやってみたのですが
「実パラメータが足りません」とエラーが出て駄目でした。
どなたか良い方法をご存知無いでしょうか。
0616デフォルトの名無しさんNGNG
>>615
TLabelのParentが決まっているだろうから
ParentコンポーネントのControlsプロパティを使って削除する
例えばこんな感じ(ParentがaPanelだとして)
for i:=0 to aPanel.ControlCount-1 do
if aPanel.Controls[i] is TLabel then
aPanel.Controls[i].Free;
0617デフォルトの名無しさんNGNG
aPanelに他のラベルも載っているようなら
TLabelから派生した専用のクラスを作って判定すればOk
0618デフォルトの名無しさんNGNG
現在表示されているMDIフォーム数を取得するにはどうすればいいですか?
0619デフォルトの名無しさんNGNG
フォームを作るたびにグローバル変数を+1していく。
フォームが消えるときに-1するのをお忘れなく。
0620デフォルトの名無しさんNGNG
>>616
for i:=aPanel..ControlCount-1 Downto 0 do
ってしたらできました! ありがとう!!!1!

>>617
派生とかって良くわかんないので勉強してみますね!
レスありがとう!
0621デフォルトの名無しさんNGNG
>>614
アプリケーションレベルでやったらキーリピートを抑制できました。
有り難うございます!

>ボタン等にフォーカスがあったら、そっちにWM_KEYDOWNが送られて
>フォームには送られてこないけど、そういう状態なんでない?

Form1の「KeyPreview」プロパティをtrueにしてあるんですが、
これではこないと言うことでしょうか。。
とりあえず動いて気持ち的に余裕が出来たのでw、もう一度調べ直してみます。
0622デフォルトの名無しさんNGNG
> これではこないと言うことでしょうか。。
そう。KeyPreviweをTrueにしてもフォームにWM_KEYDOWNが送られてくることはない。
0623デフォルトの名無しさんNGNG
>>622
すみません、ありがとうございます。
メッセージを受け取る順番?みたいな物を把握しないとだめっぽいですね。

教えていただいた方々、ありがとうございました。
0624デフォルトの名無しさんNGNG
Delphi で使える、Javadoc のような、doxygen のような、ドキュメント生成ツールって
ありますか?
0625デフォルトの名無しさんNGNG
>>624
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/article/059/059098.html
http://pas2dox.sourceforge.net/
0626デフォルトの名無しさんNGNG
Tfilestream.WriteBuffer('A', Length('A'))
で出力するとファイルにAが出力されるのですが、
AAA: String;
AAA := 'A';
Tfilestream.WriteBuffer(AAA, Length(AAA))
とすると・になってしまいます。

なぜなんでしょうか?引数の const と言うのが原因でしょうか?
0627デフォルトの名無しさんNGNG
WriteBuffer(Pointer(AAA)^, Length(AAA));
0628デフォルトの名無しさんNGNG
神降臨!
0629デフォルトの名無しさんNGNG
神様には敬語使え
0630デフォルトの名無しさんNGNG
Delphi/Kylixに両方使えて、UNICODEファイルを書くコンポーネント無いですか?
低機能で宵で津。
0631デフォルトの名無しさんNGNG
ゲームの改造をしたいのですが、
他のアプリのメモリの値を取得する方法を教えてください。
0632デフォルトの名無しさんNGNG
>>631
ゲームの改造なら、バイナリエディタ使えばいいんでない
0633デフォルトの名無しさんNGNG
>>632
レス、ありがとうございます。
それは、まあそうなんですけど、
バイナリエディタやプロセスメモリエディタだと
毎回同じ処理をするのが面倒だったり、その上アドレスや数値を間違うと
えらい目にあうし。
パソコンにあまり詳しくない友人なんかには説明しづらいし。
ゲームごとに、Delphiでexeにするとその辺が解決できるかなと。

まあ、Delphiを使えるようになりたいという下心のほうが大きいわけですが。
0634デフォルトの名無しさんNGNG
モードレスフォームみたいに他のフォームを操作できて、なおかつ
モーダルフォームみたいに常に前面に表示するにはどうすればいいですか?
0635デフォルトの名無しさんNGNG
if (i >= 2) and (i <= 6) then // iが2以上6以下の場合

これは、こういう風に書くしかありませんか?
0636デフォルトの名無しさんNGNG
>>635
if i in [2..6] then
詳しくはヘルプの集合型演算子を参照のこと。
0637デフォルトの名無しさんNGNG
ヘルプ確認しました。ありがとうございました。
0638デフォルトの名無しさんNGNG
>>529
>{$WARNINGS OFF}
>これは警告メッセージの生成を無効にするコンパイラ指令です。
ヘルプに載ってたんですが、これ使えそう?
0639デフォルトの名無しさんNGNG
今でもdelphi6の新品を買えますか?
0640デフォルトの名無しさんNGNG
>>639
http://www.vector.co.jp/soft/win95/prog/se205882.html
0641デフォルトの名無しさんNGNG
http://www.winmx.com/
0642デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley/2949/
0643デフォルトの名無しさんNGNG
文字コード変換はjconvert.pasが便利。
ググればでてくる。
0644デフォルトの名無しさんNGNG
次期Delphiって.NET対応だけのプログラムしか作れない? 作れる?
0645デフォルトの名無しさんNGNG
今インストール終わったのですが
がんばればゲーム作れるでしょうか。
0646デフォルトの名無しさんNGNG
簡単なゲームならすぐにできる
高度なゲームならかなり大変
人間より強い囲碁対局ソフトだと一生掛かっても無理かもしれない
0647デフォルトの名無しさんNGNG
Delphi&ゲームな本が出てるからそれ買っとけ
0648デフォルトの名無しさんNGNG
>>647
あくまで理論で実践には役に立たんよ。<遊びのレシピ
0649デフォルトの名無しさんNGNG
どなたか立方体のワイヤーフレームを
Delphiで描くプログラムソースを教えてください。
本読んでも全然わかりません・・・。
0650デフォルトの名無しさんNGNG
>>649
技術家庭科の本に立体の書き方とか載ってなかったか?角度は30°で長さは1/2とか言う奴。
0651デフォルトの名無しさんNGNG
線分とか座標の定義をしてそのあと2次元に見えるように
変換する・・・ってやつなんですが、C言語?みたいです。
どこかのサイトにDelphiで組まれたプログラムのってないでしょうか?
0652デフォルトの名無しさんNGNG
>>645
ゲーム作るのって難しいよ。
動かすだけでも物凄く大変なのに、人間を楽しませなきゃいけない。
0653デフォルトの名無しさんNGNG
>>649
Lightwave等の3DCGソフトを解析してワイヤーフレームを描く部分をパクる
大変そうだけど頑張ってね
0654デフォルトの名無しさんNGNG
>>651
DelphiX
ttp://www.yks.ne.jp/~hori/DelphiX.html
0655デフォルトの名無しさんNGNG
>>645
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
http://bbs.gamdev.org/test/read.cgi?bbs=gamedev&key=1054282821
いってよし!
0656デフォルトの名無しさんNGNG
Buttonが存在するForm全体にImageを表示させると、
ButtonがImageより上にあって、Buttonの部分の絵が隠れてしまいました。
Form上に存在するあらゆるコントロールより、このImageが上に表示されるようにするにはどのようにすればいいのでしょうか?
0657656NGNG
やっぱ忘れてください
0658デフォルトの名無しさんNGNG
解決したのかそうでないのかぐらい、いってけよ・・・
0659デフォルトの名無しさんNGNG
そう言えばフォームの上を覆うメッシュ上のシャッターを置こうとした覚えがあるな
0660デフォルトの名無しさんNGNG
MyCanvas:=TCanvas.Create;
MyCanvas.Handle :=GetDC(0) で作ったMyCanvas上に描けば 自分のフォームだろうが、他人のフォームだろうが自由に描ける

0661デフォルトの名無しさんNGNG
PageControlの上に置いたツリーヴューをアクティヴにしたいんだけど、どうすればよかですか。
作ったままだとPageControlのタブにフォーカスがあって、キーボードで操作できない・・・・。
0662デフォルトの名無しさんNGNG
pagecontrolのonenterでactivepageにsetfocusして、
各sheet.のonenterでデフォルトのコントロールに
setfocusするのはどうだろう。
0663デフォルトの名無しさんNGNG
TThreadで優先度を設定する方法はわかるのですが、
メインスレッドの優先度を変更する方法がわかりません。
よ?
0664デフォルトの名無しさんNGNG
キー入力に関する質問です。

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) then form1.Caption := chr(Msg.wParam);
end;

これを実行するとForm1のCaptionに押したキーが表示されますが、
CapsLockを押していないにもかかわらずアルファベットは全て大文字になり、
「,」や「.」は半角カナになってしまいます。
なにか特別なことをしないとだめなのでしょうか。
0665デフォルトの名無しさんNGNG
ADS形式とPAC形式とIMG形式はどうやって解凍するんですか?
0666デフォルトの名無しさんNGNG
>>ADS形式とPAC形式とIMG形式はどうやって解凍するんですか
ADS形式とPAC形式とIMG形式を解凍するモジュールを使います。

0667デフォルトの名無しさんNGNG
>>663
メインスレッドもスレッドのひとつ。
GetCurrentThread で「現在」のスレッドハンドルが取れるよ。
「現在のスレッド」のハンドルなので、呼び出すコンテキストを間違えないように。
0668デフォルトの名無しさんNGNG
>>664
あいにく、WM_KEYDOWN はそういうものだから。あなたが見ているのはスキャンコード。
物理的なキーの番号とそれが生成する文字コードは本来別のものだから。

WM_CHAR を使うことを考えましょう。
それと、WM_CHAR と WM_KEYDOWN の違いを調べましょう。
0669デフォルトの名無しさんNGNG
できました!
よ?
0670デフォルトの名無しさんNGNG
MDIアプリケーションで
子フォームA_WinにImageを貼り付けて
unit A_Win;
type
TMDI_A = class(TForm)
・・・
Image1: TImage;
・・・
end;
var
A: TMDI_A;
親フォームMainFormから子フォームA_Winを開いたときに
Imageの内容をクリアしようとしています。
このクリア部分を別のUnitで行なおうとするとき
unit Graph;
procedure Clr_Image(WakuColor,NaibuColor ・・・);
with A.Image1.Canvas do // (←)
begin
//Pen を使って長方形を描画して、その図形を Brush で塗りつぶす
Pen.Color := WakuColor; // 枠色
Pen.Style := psSolid;
Brush.Color := NaibuColor; // 内部色
CopyMode := cmWhiteness;
Brush.Style := bsSolid;
// Image画面のクリア
Rectangle(0,0, Width, Height);
end;
矢印部分(←)で、EAccessViolation クラス例外となってしまいます。
ActiveMDIChildプロパティを使うのかもしれませんが、わかりません。
教えて下さい。
0671デフォルトの名無しさんNGNG
たぶんImage1はまだ生成されていない。
たとえばフォームのOldCreateOrderプロパティのからみとかで。
0672デフォルトの名無しさんNGNG
Delphiのバグを発見しました。

プロジェクトファイルの一番頭にあるprogramの次に先頭が数字の文字列が入っているとエラーが出ます。
たとえば10000yenのように数値とアルファベットがくっ付いていても数値と見なされエラーになります。
0673639NGNG
>>640
PersonalでなくProfessionalが欲しいのですが…。

>>641, 642
買える所だっちゅーの。
0674デフォルトの名無しさんNGNG
今ならボーランドにメールすれば間違いなく買える
0675デフォルトの名無しさんNGNG
>>668
ありがとうございます。
キーボードの種類(日本語キーボード)とか、
まっったく見当違いなことを調べてました。。
0676デフォルトの名無しさんNGNG
>>672
仕様なんですが。
0677デフォルトの名無しさんNGNG
Delphiの限界は一行目にあるらしいですね
0678デフォルトの名無しさんNGNG
Delphi6 へコンポーネントのインストールでつまずいてます

インストールしようとしているコンポーネントはこれです

Indy - Download Indy 9.0
http://www.nevrona.com/Indy/download/Indy9.html

・.zip を展開し、展開したファイルを全て $(DELPHI)\Source\Indy にコピー
・そこで、fulld6.bat を実行
・$(DELPHI)\Source\D6 ディレクトリが作られ、そこに *.dcu と dclindy*.bpl ができる
・dclindy*.bpl を $(DELPHI)\Bin\ にコピー

この様な手順で、インストールしましたが、

----------------------------------------------------------
delphi32.exe - エントリ ポイントが見つかりません

プロシージャ エントリ ポイント @Idresourcestrings@_RSBindingAny が
ダイナミック リンク ライブラリ Indy60.bpl から見つかりませんでした。
----------------------------------------------------------

こんなエラーメッセージが出てしまいます。標準で入っている Indy が古い(確か v8 ぐらい)
ので、新しいのをインストールしようと思いましたが、うまくいきませんでした。

どなたかご教示願いますヽ(´Д`;)ノ
0679デフォルトの名無しさんNGNG
Indyはインストーラ付きのやつでインストールすればOK押してるだけで馬鹿でもインストールできるぞ
0680デフォルトの名無しさんNGNG
今まで、簡単にWindowsAPIで書けるものはAPを優先して書いてきましたが、
ですが、最近.NETというものを知り、これで大丈夫なのかと思うようになりました。
APIを優先して使った方が良いのか、Delphi言語(?)を優先して使った方が良いのか教えてください。。
0681デフォルトの名無しさんNGNG
>>679
漏れの環境だとインストーラ使ってもインスト出来てないよ・゜・(ノД`)・゜・
まぁ、手動でインスト試したときのエラーが678と違うから678はインストできると思うが
0682678NGNG
>>679
インストラー付きって何処にあるんですか?
0683678NGNG
>>682

×インストラー
○インストーラー

でした…。うぅ…
0684デフォルトの名無しさんNGNG
>>662
�d。
0685デフォルトの名無しさんNGNG
delphi8買う為にお金溜めるか・・・
0686デフォルトの名無しさんNGNG
How do I install Indy into Borland Delphi?

・ Close the Borland Delphi IDE if it is open.
・ If you are using the version of Indy included in Delphi 6 or 7, use the MSI installer to remove Indy.
・ Remove all Indy files including dclIndy*.bpl, Indy*.bpl, the Id*.pas, and the Id*.dcu's.
 Take care that you only remove the old Indy files and not something else.
 Be sure that you also remove any Indy*.bpl from your Windows\System directory.

・ Place the new version of Indy in a directory of your choice. When unzipping,
 please keep the \source directory for the archive intact because that is used by some build batch files.

・ In the source directory, there are several batch files. Run the appropriate one for your version of Indy:

・ FULLD4.BAT - Delphi 4
・ FULLD5.BAT - Delphi 5
・ FULLD6.BAT - Delphi 6
・ FULLD7.BAT - Delphi 7

・ These batch files create subdirectories in the main Indy directory folder.
 They are (D4 for Delphi 4, D5 for Delphi 5, D6 for Delphi 6, and D7 for Delphi 7). These directories contain:

・ The Indy .DCU's
・ The Indy Design-Time .BPL

・ In your Delphi IDE, add the Indy design-time package with Component|Install Package...|Add...
 Go to the subdirectory where the Indy .DCU's and Design-Time .BPL was placed by the batch file.
 Add the Design-Time .BPL that is listed. It usually is named dclIndy followed by the Borland Delphi version and an 0.

・ Add the path where the .DCU's are located to your environment.
 Do this with Tools|Environment Options...|Library...|Library Path...
0687678NGNG
えぇっと、一応インストールうまくいったっぽいです…

公式サイトによると、Delphi 6 & 7 はインストールに注意が必要とのこと。
俺がやった手順は以下の通り

Delphi をインストールした時に入れた Indy を削除しなければなりません

1. $(DELPHI)\Borland Delphi 6.msi を実行して、「変更」で次を選択
2. プログラムファイルの所の「Indy」を選択して「インストールしない」を選択
3. 次へ進んで、メッセージ通りにインストーラーを進める

これでインストールされている Indy の削除終了

4 .zip を展開し、展開したファイルを全て $(DELPHI)\Source\Indy にコピー
5. そこで、fulld6.bat を実行(delphi7 の時は fulld7.bat)
6. $(DELPHI)\Source\D6 ディレクトリが作られるので、そこに *.dcu と dclindy*.bpl ができる
7. dclindy*.bpl を $(DELPHI)\Bin\ にコピー
8. 6 のディレクトリにある *.dcu *.dcp ファイルを $(DELPHI)\Lib\ にコピー
9. Delphi を立ち上げる
10. メニューの[コンポーネント>パッケージ]を選択
11. [設計時パッケージ]の所から[Internet Direct (Indy) for D6 ...]にチェックを入れる
12. [デフォルト]にチェックを入れる
13. [OK]を選択

これで一応、インストール終了しました。しかし、問題は Debug 用の
ライブラリが無いって事です。
0688デフォルトの名無しさんNGNG
>>687
レポートご苦労様。
インスコの時に参考にさせてもらいまつ。
0689ななしへたぐらま ◆XcB18Bks.Y NGNG
>>670
直接の原因はおそらくまだ子フォームAが作られていないうちにAを操作しようとしたからです.
おそらくメインフォームのOnCreateイベントハンドラからこの手続きを呼び出されたのだと思います.
(Delphiでは最初に自動生成されるフォーム=メインフォームです.プロジェクトソースを見ると一目瞭然)

子フォームの自動生成をやめてOnShowイベントハンドラから呼び出すようにすればこの例外は発生しませんが,
この場合はAが存在しません.またこの手続きの処理対象が常にAなので2つ目以降のフォームではうまくいきません.
(2つ目以降の子フォームはAではない)
この対策は2つ考えられます.
i) 引数で子フォームの実体を指定する
procedure Clr_Image(ChildForm: TMDI_A; WakuColor,NaibuColor ・・・);
with ChildForm.Image1.Canvas do // (←)
(以下略)
ii) この手続きを子フォームの公開された(public)メソッドにする
procedure Clr_Image(WakuColor,NaibuColor ・・・);
with Image1.Canvas do // (←)
(以下略)
0690デフォルトの名無しさんNGNG
かちゅ〜しゃはスレ表示部分に IE コンポーネント(多分 TWebBrowser)を
使ってますよね? そこで、質問なんですが、そこに自分で生成した
HTML を流し込む方法ってどうやるんでしょうか?

例えば、strings とか TStrings の変数に '<HTML><BODY>ほげほげ</BODY></HTML>'
というようなデータを入れておいて、コンポーネントに流し込む…
と、言う様な感じですが…

あと、このIEコンポについて詳しく解説しているサイトとかあったら教えてください。。。
0691デフォルトの名無しさんNGNG
>>690
Janeのソースでもみたらどうでしょ
0692デフォルトの名無しさんNGNG
>690
http://www.monazilla.org/
ここの資料室美奈代
0693デフォルトの名無しさんNGNG
>>689 訂正.
i) 引数で子フォームの実体を指定する
procedure Clr_Image(ChildForm: TMDI_A; WakuColor,NaibuColor ・・・);
(中略)
with ChildForm.Image1.Canvas do // (←)
(以下略)

ii) この手続きを子フォームの公開された(public)メソッドにする
・宣言
TMDI_A = class(TForm)
(中略)
public
procedure Clr_Image(WakuColor,NaibuColor ・・・);
(中略)
end;

・実装
procedure TMDI_A.Clr_Image(WakuColor,NaibuColor ・・・);
(中略)
with ChildForm.Image1.Canvas do // (←)
(以下略)
0694デフォルトの名無しさんNGNG
>>691-692 サンクス(´3`)
0695デフォルトの名無しさんNGNG
>>671、>>689、>>693
アドバイスありがとうございます。
・まず、子フォームA_Winの生成ですが 親フォーム上のボタンのイベントから
生成しております。OldCreateOrderプロパティでは変化なかったです。

・子フォームA_Win が確実に生成してからクリアするように ボタンでクリアルーチンを
呼ぶようにしたのですが だめでした。
・693のi)についてはだめでした。

・693のii)については子フォームA_Winの内にグラフルーチンを含めるということだと
思うのですが これならば結果はOKなのですが 他にもグラフルーチンを
多数付けようとしているので別にしたいのです。

色々やってみたところ
・クリアの呼び出し部を 子フォームA_WinのFormPaint イベントに置き
・グラフルーチン側を
with (MainForm.ActiveMDIChild as TMDI_A).Image1.Canvas do
と指定すると うまくいきました。
これだと
別の子フォームB_Winから子フォームA_Winを開いても 生成はうまくいきます
しかし 子フォームA_Winを閉じると 無効なクラスの指定 と出ます。
これは B_Winから開いた2つ目以降の子フォームA_Winを閉じるときに出ます。
親フォームからの起動、終了は 問題なくなりました。
別の子フォームB_Winからの起動用には、別のクリアルーチンが必要?
はたして 上記の方法がまともなのかは自信はありません。(^^;;;
0696デフォルトの名無しさんNGNG
var
i , q : Integer;
s : Stirng;

s := 'あいうえお@@かきくけこ';
q := Pos( '@@' , s ) -1;
i := Length( s ) -q;
Delete( s , q , i );

@@の後ろを@@ごと削りたいのですがこのように書くと
「変数パラメータに定数オブジェクトを渡すことはできません」
とエラーを吐くのですがどこがいけないんでしょうか。。。
0697デフォルトの名無しさんNGNG
>>696
beginがない。
0698デフォルトの名無しさんNGNG
>>696
>q := Pos( '@@' , s ) -1;

多分逆。var s :stringなところにリテラル書いてるのが原因かと。
0699デフォルトの名無しさんNGNG
どこかで s を const にしてないかな?
あるいは、Delete が別の関数/メソッドになってるとか?
System.Deleteにしてみたら?

それから、qを使わなくても Delete(s,q,High(Integer)) でもうまくゆくはず
0700696NGNG
>>697-699
レスどうも。

>>697-698
beginは書いてないだけで入っているんです。。。
すいません。。

sはconstではないんです。。
Delete(s,q,High(Integer)) も試してみましたが駄目でした。
すいません。。。

このエラーって「 s には結果を代入できませんよ」ってことなんでしょうか。
0701デフォルトの名無しさんNGNG
>>696
ウザイから実験した。普通に動いたが・・・。
後、Stringの綴り変。
0702696NGNG
Copyで渡せばいいことに気付きました。
すいませんでした。。

s := Copy( s ,1, q );
0703デフォルトの名無しさんNGNG
s := 'あいうえお@@かきくけこ';
q := Pos( '@@' , s );
i := Length( s ) - q + 1;
Delete( s , q , i );

ShowMessage(s);
0704デフォルトの名無しさんNGNG
頼むからちゃんと
>「変数パラメータに定数オブジェクトを渡すことはできません」
のエラーが再現できるソースをうぷしてくれ
違う箇所がいくつか間違ってるだけでこのエラーがでるような箇所がない

解決したみたいだからもういいけど
0705ななしへたぐらま ◆XcB18Bks.Y NGNG
>>695
うーん,私が作ってみたソースをさらすので比べてみてください.まずメインフォーム・実装部.

uses ExtCtrls, P02aMDI_ChildForm;

procedure InitImage(anImage: TImage);
begin
anImage.Canvas.Brush.Color := random($1000000);
anImage.Canvas.Pen.Color := random($1000000);
anImage.Canvas.Pen.Width := 2;
anImage.Canvas.Rectangle(anImage.ClientRect);
end;

procedure TP02aMainForm.Action_NewExecute(Sender: TObject);
begin
CreateChild;
end;

procedure TP02aMainForm.CreateChild;
var
Child: TP02aChildForm;
begin
Child := TP02aChildForm.Create(Application);
InitImage(Child.Image1);
end;

0706ななしへたぐらま ◆XcB18Bks.Y NGNG
次にサブフォーム
procedure TP02aChildForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
以上.
0707デフォルトの名無しさんNGNG
ClientSocketって6Personal版じゃ使えない?
コンポーネントパレットにはあるけどヘルプに説明入ってない!!
これじゃつかえないよーー!!
0708デフォルトの名無しさんNGNG
TMemIniFileで、Form1.WindowStateを記録する方法を教えてください。
WriteStringでは、TStringとTWindowStateは互換性がありませんと出ます
0709デフォルトの名無しさんNGNG
>>707
使わなきゃいい。Socketマンセーっと。
0710デフォルトの名無しさんNGNG
>709
そのSocketの説明もヘルプには入っていない・・・・
0711デフォルトの名無しさんNGNG
>>708
WriteInteger('a', 'a', Ord(Form1.WindowState));
WindowState:=TWindowState(ReadInteger('a', 'a', Ord(wsNormal)));
0712デフォルトの名無しさんNGNG
>>710
入ってるはずもなく。WindowsAPI。
0713デフォルトの名無しさんNGNG
>>711
ありがとうございます。
望みどおりの機能が表現できました。
0714デフォルトの名無しさんNGNG
いろいろ、いじったところ
ClientSocket.Open
で、繋がることはわかった。
たぶんPersonalでもつかえるのだろう。
しかし、メッセージ受け取ったり、送ったりするのがぜんぜんわからん。
テキスト平文のストリーム形式でいいのだ
だれか、助けて!!
0715デフォルトの名無しさんNGNG
>>714
イベントのリストとコード補完使えば何となく想像は付くと思うんだけれど。
まぁ、がんばれ。
0716デフォルトの名無しさんNGNG
使えないものがわざわざ入ってるとは思えん
まー、がんばれ
0717デフォルトの名無しさんNGNG
デルフィとカダフィ大佐って似てる?
0718デフォルトの名無しさんNGNG
ClientSocket.Socket.SendText(String)
ClientSocket1.Socket.ReceiveText
で送受信できる”らしい”というのは解ったぞ!
しかし!!!復帰と改行コードが入らんので
サーバ側が読まぬ!!!
Cでいう"\r\n"はどうやって表現すればよい?
うわわーーーん!!!
0719デフォルトの名無しさんNGNG
>>718
マニュアル読め
0720デフォルトの名無しさんNGNG
'開業です'#13#10
0721デフォルトの名無しさんNGNG
フォーカスのあるコントロールを調べるにはどうすれば良いですか?
0722デフォルトの名無しさんNGNG
Screen.ActiveControl
0723デフォルトの名無しさんNGNG
>>719
このスレの趣旨を読め
0724デフォルトの名無しさんNGNG
>>723
ワロタ

少なくともマニュアルのページNoとか示さないとダメだな(w
0725デフォルトの名無しさんNGNG
>720
ありがと!おかげでうまくいきそうだよ。

>724
Presonalなんでマニュアルなんてないんです(泣)
0726デフォルトの名無しさんNGNG
>>725
Qs.pdf
oplg.pdf
dg..pdf
0727 NGNG
>>725
○○が無いってグチをレスするくらいなら、
1.delphiで検索
2.無ければ違う言語で参考になりそうなとこを検索

グチは書かないように。
0728ANGNG
>>725
パーソナルでも付属する紙のマニュアルと同じ物が、PDFだかで収録されてたはず。
0729670NGNG
>>705 >>706
なるほど 手続きに丸ごとコンポーネントを渡せばいいわけですね。
うまくいきました勉強になりました ありがとうございます。
0730デフォルトの名無しさんNGNG
TSplitterがデフォルトで妙に太いんですがこんな仕様でしたっけ?
0731デフォルトの名無しさんNGNG
今さ、早速Personal落としてみてやろうとしてんだけど
エディタ使いにくいね。やっぱ慣れかな、これは。

ファイル→新規→フォーム
でフォームを追加させたんだが、スタートアップフォームから表示させる方法きぼん。
はい、初心者です。すんまへん

var
frmSub: TSUBFORM;
begin
frmSub := New TSUBFORM();
frmSub.ShowDialog();

これでやってみようとしたがダメだった(当たり前だが)。
VB厨な事ヴァレヴァレだが、どなたかご指南頼みます。
0732デフォルトの名無しさんNGNG
>>730
サイズを変えれば済む話
0733デフォルトの名無しさんNGNG
たしかに厨の香りが漂う文字列だね

何か意味わんねーけど、プロジェクト→オプションでも弄ってみれば?
0734デフォルトの名無しさんNGNG
usesにUnit2を書き足し(書かなくても自動で書かれるけど)、Form1.Button1のOnClickに、Form2.Show;と書く
0735デフォルトの名無しさんNGNG
>frmSub := New TSUBFORM();

文法からやり直せ。
0736デフォルトの名無しさんNGNG
超初心者スレなんだから、ちっとは優しく書けよ
できなきゃスルーしる
0737デフォルトの名無しさんNGNG
こうしたいのかな。
var
frmSub: TSUBFORM;
begin
frmSub := TSUBFORM.Create(self);
frmSub.ShowModal;
0738ななしへたぐらま ◆XcB18Bks.Y NGNG
>>731 以下の手順で.
1) メインフォームのユニットにサブフォーム(を定義しているユニット)を使うぜ!という宣言を追加する.
2) サブフォームを表示させるコードを自分で書く

1) メインフォームをアクティブにして[ファイル]→[ユニットを使う]を実行,使いたいサブフォームを選ぶ.
 →そうするとメインフォームのユニットのソースコードに implementation ちょっと下の方に

 uses (サブフォームのユニット名);

 というコードが追加されているはず.これがその宣言です.
 ※手で直接同じ内容を書いてもかまいません.

2) Delphiではプロジェクトオプションで特に指定しない限り
 サブフォームはアプリケーションの起動時に1個だけ作られ,隠れた状態になっていますので,
 フォームを作るコードは書かず,表示させるコードだけを書きます.

 フォームを表示させるには>734にあるようにフォームのShowメソッドを使います.
 設定画面やメッセージボックスのように閉じるまで呼び出し側に処理が戻らないようにする場合は代わりにShowModal メソッドを使います.
 フォーム名がfrmSubならそれぞれfrmSub.Show; frmSub.ShowModal; です.

 実行時に一時的に作りたい場合は>737のよう自分で生成してから表示します.
 ただし使わなくなった時点で自分でフォームを廃棄しなければなりません
 これはフォームのRelease メソッドで行います.フォーム名がfrmSubなら frmSub.Release; です.
 また起動時にフォームを作ってしまわないようにプロジェクトオプションでこのフォームを自動生成の対象から外します.
 ([プロジェクト]→[オプション]で[フォーム]タブを開き,このフォームを選び,[>]ボタンを押します)
0739デフォルトの名無しさんNGNG
Delphi7なんですけど、
プログラムを作成中(エディタでの編集中)に突然
「モジュール 'dcc70.dll' のアドレス 00B5574F でアドレス 626CAE88に対する書き込み違反がおきました。」
このエラーが出てエディタが利用不能になりました。

PCを再起動しても同じ位置に来ると同様の症状が出ますが、
何が原因なのか判りません、何か対処方法はありませんか?
0740デフォルトの名無しさんNGNG
コード補完機能で落ちてるのかな
0741739NGNG
>>740
おっしゃる通です、
一度落ちると「書き込み禁止」になってるみたいです。
コード補完が落ちる原因って何なのでしょうか・・・。
0742739NGNG
取りあえず解決しました

1つづつフォーム上のコンポーネントを消して
コード補完を試して原因コンポーネントを探し出して消したら直りました。
ただのEditなのですが、何が悪いのか・・・。
因みに、>>739でエラーが出る状態でもコンパイルは普通に通ったりするので
>>740さんがおっしゃる通りコード補完のバグなのでしょうか?
0743デフォルトの名無しさんNGNG
初心者スレでコンパイラやIDEのバグを疑うのはちょっと気が早いと思われ
0744デフォルトの名無しさんNGNG
Delphi6使ってるけど、コード補完でエラーはよくおきるよ。
それ以降、コード補間不能になることもあるし、エディタにまったく入力できなくなることもある。
7でも似たようなバグがあるんだね
0745デフォルトの名無しさんNGNG
コード保管えらー出たときは、一番上の単語からポップアップさせていけば、どこでエラー起きてるのか分かるよ
0746デフォルトの名無しさんNGNG
ボーランド製はコード補完にもバグがあるのか。
やっぱりクソはクソだな。
0747デフォルトの名無しさんNGNG
MS製はバグが無いの?
0748デフォルトの名無しさんNGNG
>>747
マイクロソフトのソフトに今までバグなんて存在したことはないよ
全部仕様通りに実装されているからね
バグだらけの某とは大違いだね(嘲笑激藁
0749デフォルトの名無しさんNGNG
まあ、マイクロソフトが仕様だって言ってましたから(微妙な笑いをしつつ)と言えば
客も納得してくれるんだよね。
0750デフォルトの名無しさんNGNG
>>749
しねえよ。
「MSから買ったんじゃない、あんたのとこから買ったんだ!!」って切れられた。
0751デフォルトの名無しさんNGNG
MSにバグは不要だからな
0752デフォルトの名無しさんNGNG
必要なバグなんて不必要なバグに比べればはるかに少ないがな
0753デフォルトの名無しさんNGNG
どんなソフトにもバグは必ずあるからね、バグだ!って騒ぐのは素人。
要するに、発生したバグに対する対応が問題、MSはバグの対応が随分前から悪いけど、
ボーランドもここ数年良いとは言えなくなってるね、
コード補完のバグは探しようがないけど、VCLのバグなんてこっちが修正箇所を
書いてメールしたのにパッチも出さないし返事も来ない。(w;

その点、オープンソースなソフトはバグのパッチを送ったら
かなりの頻度で取り込まれるし対応のレスポンスも凄くいい。

Delphi本体がオープンにならねーかなぁ・・・。
0754デフォルトの名無しさんNGNG
WideCharToStringやStringToWideCharは何のためにあるのでしょうか?
AnsiStringとWideStringは双方向に代入できるみたいなので、ワイト文字列関数が存在する意味がよくわかりません。
0755デフォルトの名無しさんNGNG
厨房除けです
0756デフォルトの名無しさんNGNG
>>739
あるある!
いままであった中で一番笑えたのは、
まちがってtype PA=^PAになってたこと。
ほんとはPPA=^PAなんだけど、hppからの移植でミスった。
無限ループじゃん!
0757Delphiの限界?NGNG
type
 TProc = procedure of object;
 TProcArray = array of TProc;

function IndexOf(const a: TProcArray; proc: TProc): Integer;
var
 n: Integer;
begin
 for n := 0 to High(a) do
  if @a[n] = @proc then // <-- 手続きアドレスの比較ができない。
  begin
   Result := n;
   Exit;
  end;
 Result := -1;
end;
0758ななしへたぐらま ◆XcB18Bks.Y NGNG
>>746
この件については同意.目先の新機能以前にバグはつぶしてほしい.

>>754
多分昔の名残です.ワイド文字列はDelphi3からだったと記憶しています.
Del3の新機能の中でも地味なもので
FDELPHIで謎全氏が話に出されるまで気にもとめていませんでした.
0759デフォルトの名無しさんNGNG
>>757
試したら、出来てる気がするけどニャー
0760デフォルトの名無しさんNGNG
限界厨の限界なんだろ
0761デフォルトの名無しさんNGNG
>>754
API関数に渡すときなどに必要。
0762デフォルトの名無しさんNGNG
>>754
文字列の切り出しとかするときに必要になる。
この関数があるおかげで日本語文字列の置換とかすげー楽だよ。
0763デフォルトの名無しさんNGNG
Webブラウザを作成するにはIndyのどのコンポーネントを使用すれば
よいのでしょうか

それと簡単な例でいいので使用の仕方を教えていただけないでしょうか
0764_NGNG
http://homepage.mac.com/hiroyuki44/hankaku08.html
0765デフォルトの名無しさんNGNG
>>763
サンプルが突いてきたハズだが…
それでもわからんならTWebBrowserのほうがいいんじゃねーの
0766デフォルトの名無しさんNGNG
>>753
>Delphi本体がオープンにならねーかなぁ・・・。
なにげにむごいな。某ランド潰れちまえってことじゃん(w
OpenWatcomの惨状を見ればオープンにすりゃいいってもんじゃないって分かるけどなあ。
0767デフォルトの名無しさんNGNG
2ちゃんねらーの力でOpenWatcomを祭ってみる?w
0768デフォルトの名無しさんNGNG
フォームの最大化や、サイズ変更を出来ないようにするのはどうやるの?
0769デフォルトの名無しさんNGNG
>>767
OpenWatcom C++ スレへどうぞ
0770デフォルトの名無しさんNGNG
>>768
フォームのBorderIconsプロパティ
0771デフォルトの名無しさんNGNG
あ、サイズ変更も禁止ならBorderStyle
0772デフォルトの名無しさんNGNG
>>768
BorderIconプロパティをいじるのが簡単。
EnableMenuItem APIを使う方法もある。
0773デフォルトの名無しさんNGNG
ShowMessage( 'フォームの最大化もサイズ変更も、しないでネ!!' );
0774デフォルトの名無しさんNGNG
Delphi6 personalでアセンブリ言語のソースコード作れます?
bccでは-sつけるような感じで
0775山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0776デフォルトの名無しさんNGNG
DelphiはDelphi言語のソースコードを作る為のソフトウェアです。
0777デフォルトの名無しさんNGNG
NavigateとNavigate2の違いはPIDLを使えることだと各所にかかれてるけど、
PIDLってどこからもってくるの?
PItemIDListがそれらしい気がするけどOleVariantに代入できない!
0778デフォルトの名無しさんNGNG
コンポーネントの事でチョット混乱しているのでアドバイスください

http://hogehoge2001.tripod.co.jp/note-delphi.html

ここを読んでいると、Delphi 標準で入っている TWebBrowser より、
ActiveX コントロールをわざわざインストールしていますが、何故何でしょう?

あと、uses に SHDocVw_TLB, MSHTML_TLBを追加しろとあるんですが、
これの入手方法を教えてください。

TWebBrowser は標準で入ってくるものを削除して、
Delphi のコンポーネントインストールの ActiveX コントロールで
インストールした方を使った方がいいのでしょうか?
0779デフォルトの名無しさんNGNG
>>778
そのページのタイトルをよくみてください
PersonalにはTWebBrowserは入っていません
またusesに追加する件ですが別途なにか手に入れる必要はありません
0780デフォルトの名無しさんNGNG
某スキャナ制御用DLLを使おうとC++のヘッダファイルを
pasに書き換えていっているのですが、
これで正しい書き方なのかよく分からず…。
途中段階で動かしてみたらスタックオーバーフローになったり。
(まだどのAPIも動作していない段階で)

なにかC→PAS書き換えの参考になる資料ありませんか?
一応「H to Pas Converter」を使って書き換えの基にはしているのですが…。
0781デフォルトの名無しさんNGNG
>>780
stdcallとかcdeclとか付けてる?
0782780NGNG
>781
一応は。

#define DllImport__declspec( dllimport )
#ifdef __cplusplus
extern "C" {
#endif
DllImport int WINAPI HogeHogeAPI( char *str);
#ifdef __cplusplus
}
#endif

こういうのを以下のようにしています。
function HogeHogeAPI(Scanner: PChar): Integer; stdcall; external 'HogeHoge.DLL' name 'HogeHoge';


一部関数ポインタを渡すところがあったりします。
DllImport int WINAPI HogeHogeExec( char *file, char *buf, int (*abort)( int n, int d));

これを以下のように。
type
TAbortFunc = function (n: Integer; d: Integer): Integer; stdcall;
function HogeHogeExec(file: PChar; buf: PChar; abort: TAbortFunc): Integer; stdcall; external 'HogeHoge.DLL' name 'HogeHogeExec';

他には引数の「int *value」を「var value: Integer」にしたりしているところもありますが…
0783デフォルトの名無しさんNGNG
TForm1 = class(TForm)
  panel: TPanel; // (1)
 published
  //panel; TPanel; // (2)
 end;

デザイン時、フォーム上にパネルを張ると、コード上は (1) に追加されますが、
これを (2) の位置に移しても問題ないものなのでしょうか?

一応、実行はできるようなのですが、他に影響はないでしょうか?
0784デフォルトの名無しさんNGNG
実行できるんなら、影響ないし。
出来ないなら、影響がある。
0785デフォルトの名無しさんNGNG
>>783
published の意味を調べてみよう
0786デフォルトの名無しさんNGNG
>>783
(1)の領域は「Delphiが使うから勝手にいじらないで」
と書いてあるでしょ
0787デフォルトの名無しさんNGNG
なぜ移動したいのかわからん。理由もわからずに移動してここで質問すんなよ。
そんなことするとバグが出るぞ。

「スコープ」についてもそっと調べなさい。
0788デフォルトの名無しさんNGNG
初歩的なことかもしれません。
ユーザーがアプリを閉じようとしたとき、確認ダイアログを出し、
OSシャットダウンのときは確認ダイアログなしで閉じる方法を教えてください。
0789デフォルトの名無しさんNGNG
WM_ENDSESSIONのメッセージハンドラを書く。
0790デフォルトの名無しさんNGNG
>>783
パネルを乗せただけなら問題ないけど、パネルのサイズを変更したり、パネルの上に何かのせたり、
パネルのイベントを記述したりすると、問題が出ると思うよ。

具体的にはpublishedでないと .DFM のデータがどのパネルのデータか識別できなくなる。
0791デフォルトの名無しさんNGNG
>>783
それ同じ意味。
つまり、同じスコープってこと。
0792 NGNG
一定間隔で文字を表示する、うまいやり方を教えて下さい。

今は、TLabelの配列を動的に表示しています。

ArLabel : array of TLabel;

ArLabel[i].caption := inttostr(i);

こんな感じで、後はTopやLeftを工夫して、一定の間隔で表示しています。

でも、これだと、文字が増えれば増えるほどリソースを無駄に使用する事になると思います。
宜しくお願いします。
0793デフォルトの名無しさんNGNG
設計時にデザインするつもりが無いならTLabelは不要。TextOutで直接書いちゃえ。
0794デフォルトの名無しさんNGNG
TLabelはWindowsコントロールではないので、沢山使ってもWindowsリソースはメモリ以外は消費しません。
メモリも最近は大容量なので沢山使っても問題になることはないと思う。

でも自分ならそういう場合はPaintBoxで OnPaint上にコードで描くと思う。
0795デフォルトの名無しさんNGNG
俺ならTBitmapに描いてからPaintBoxでOnPaint上で描くと思う。
0796デフォルトの名無しさんNGNG
また エ ロ グ ラ マ か
0797デフォルトの名無しさんNGNG
> TLabelはWindowsコントロールではないので、沢山使ってもWindowsリソースはメモリ以外は消費しません。
NT系ではWindowsコントロールであっても別にメモリ以外に必要な
リソースなんて無いに等しいのだが。
0798デフォルトの名無しさんNGNG
メモリがリークすると何が駄目なのでしょうか?
あと、終了時にDelphiが全部やってくれるんじゃないのですか?
0799デフォルトの名無しさんNGNG
失礼します。
***すれ立てるまでもない質問はここで 第40刷*** から流れてきました。

DELPHIでclipbordを使ったプログラムを作っているのですが、
クリップボードを開くことが出来ませんというエラーが出ます。
プログラムの流れは、まずプログラムを立ち上げておき、notepad
や他の文字列が入力できるソフトに計算式を入力します
(10+30*10 とか)そしてその行にカーソルを合わせて
SHIFT+ENTERを押すと、先ほど立ち上げておいたアプリがhotkeyに
反応してカーソルのある行をkey_eventを実行してコピーします
(キーイベントでCTRL+Cを実行する)そして得た文字列で計算を
するのですが、上記のkey_eventでテキストがコピーされたりされなかったり
今あるクリップボードの末尾に文字列が追加されたり、動作がうまくいきません。
三日ほど色々探したのですが見つからずココへ来ました。

お知恵を貸していただけませんでしょうか?
0800デフォルトの名無しさんNGNG
クリップボードに何も記録されてないときは開けないんじゃないかなあ。
notepadのようなソフト全てがCTRL+Cでコピーというのに対応してる保障も無いし。
0801デフォルトの名無しさんNGNG
>>799
メモ帳がクリップボード操作している最中にDelphiで作ったアプリがクリップボード開こうとしているのでは?
key_eventの後にウェイトを入れるかメモ帳がIdle状態になるまで待つかすれば良いのではなかろうか。
0802デフォルトの名無しさんNGNG
>>801
あ、こころあたりがあります^^;
CTRL+Cを実行させた後すぐにclipbord.AsTextをつかったりしてます。
ウェイトを入れるかidelですか、、、少し調べて見ます
0803デフォルトの名無しさんNGNG
中村の里にクリップボードの変更を検知するコンポーネントが
あったはず。それを使ってみてはどうでしょう。
0804デフォルトの名無しさんNGNG
TMemo内のTextをFindDialogで検索しようとするとき、
Pos関数を使うと検索文字が複数ある場合でも
最初にマッチする文字の場所しか取得できないので困ってます。
いわゆる「次を検索する」っていうやつはどうすれば実装できますか?
0805デフォルトの名無しさんNGNG
ループ回して文字列を検索する。
StringよりPCharにすると速くなる。
ダブルバイトはLeadBytesで判定する。
0806デフォルトの名無しさんNGNG
D7ならPosExてのがあるからそれ使う
0807デフォルトの名無しさんNGNG
ほんとにくだ質なんですが…
TFormを継承した独自class(ダイアログ型のウィザードみたいな感じ)を作っています。
これをメインから以下のように呼んでいるのですが、

cpSEWizard := TcpSEWizard.Create(Owner);
cpSEWizard.Show;

ウィザードを閉じた後で、メイン側で「cpSEWzard.Free」を記述する必要はあるのでしょうか。
それとも、TcpSEWizardで勝手に発生している、onCloseで事足りているのでしょうか。
0808デフォルトの名無しさんNGNG
>>805
LeadBytesで検索したら
http://halbow.cool.ne.jp/VCL05.html
を見つけますた
thx
0809デフォルトの名無しさんNGNG
Delphi7 でTcpclient Tcpserver を使った簡単な通信プログラムサンプルを教えて。
Delphi6 の時にあった ServerSocket ClientSocketと同じように使えると思ったら
うまくいかなかったもので。。。
0810デフォルトの名無しさんNGNG
>>807
メインか自身で Free したほうが良い。
いちおうアプリ終了時に Owner が Free してくれる。
ShowModal するのが楽だけど、出来ないならこうする。

with TcpSEWizard.Create(Owner) do
Show;

として、onClose に Release を入れておく。
0811デフォルトの名無しさんNGNG
Editコンポーネントに、整数以外入力できないように
するにはどうやったらええの?
0812デフォルトの名無しさんNGNG
>>810
ありがとうございます。
0813デフォルトの名無しさんNGNG
>>811
OnKeyPressイベントで整数以外をはじく
0814デフォルトの名無しさんNGNG
追加。
DelphianWorldに数値入力用のEditコンポーネントがあった気がする。
他にもいろいろ便利なコンポーネントが登録されているので
一度見てみるべし。
0815792NGNG
>>793
>>794
>>795
なるほど、コンポーネントを使わないという方法もあったんですね。
何かをしようとするとすぐにコンポーネントの使い方を工夫しようとか
フリーのコンポーネントを探そうとかしていました。
ありがとうございました。
0816デフォルトの名無しさんNGNG
TFormにはEnabledがありますが、あれは何に使うのでしょうか?
0817デフォルトの名無しさんNGNG
http://localhost/pc2.2ch.net/
0818デフォルトの名無しさんNGNG
http://localhost/?pc2.2ch.net
0819デフォルトの名無しさんNGNG
http://localhost/#pc2.2ch.net
0820デフォルトの名無しさんNGNG
>>795
省メモリ化という意味では逆効果だろ。
0821デフォルトの名無しさんNGNG
メモ帳的な物を作ってるんだけど、メインメニューでCtrl+Vとかのショートカットイベントに
SendMessage(Memo1.handle, WM_PASTE, 0, 0);
とか書くとファインドダイアログのエディット部分に対してペーストを行う場合でもメモコンポにペーストが行われてしまう。
それでファインドダイアログが呼ばれたときの処理を別に書こうとしたんだけど、
ファインドダイアログのエディット部分にペーストする方法がわかりません。
どうしらたいいんでしょ?
0822デフォルトの名無しさんNGNG
>>821
GetFocusが一番楽かな
0823デフォルトの名無しさんNGNG
if ActiveControl = Memo1 thenとかやれば
0824デフォルトの名無しさんNGNG
>>816
ShowだけどShowModalっぽくしたい時。
処理中でフォームを触らせたくない時。
0825デフォルトの名無しさんNGNG
>>820
再描画するとき楽だし速くて良いと思うんだけどね。
0826デフォルトの名無しさんNGNG
ラベルなんて16777215個も配置しない限りは無問題だと思うけどな。
特に一時的にしか表示されないダイアログとかは。
なんか小手先でメモリケチったり数クロック早くなるようなコード書きたがる奴がいるけど
それが本当に必要なのか・効果があるのかと問い詰めたい。
0827デフォルトの名無しさんNGNG
>>821
if Assigned(ActiveControl) then
SendMessage(ActiveControl.Handle, WM_PASTE, 0, 0);
0828デフォルトの名無しさんNGNG
>>792のようなやつだとTLabel使う方が逆に面倒くさいんだが。
0829デフォルトの名無しさんNGNG
メモリなんてガシガシ使っちゃえば良いじゃない
0830デフォルトの名無しさんNGNG
DBを使わないプログラム向けのDBCtrlGridみたいなコンポーネントありませんか?
VBにはなんかそういうのあったと思うけど…。
0831デフォルトの名無しさんNGNG
簡易ブラウザを作ってて IEコンポか mozillaかどっちにしようか、
mozilla(ActiveX) を試してみたんだけど、これってこんなに糞重いの?

おまけにフォームにコントロール貼り付けてから、
マウスでクリックもできねー、移動もできねーときたもんだ

こんなもんなんでしょうか?
0832デフォルトの名無しさんNGNG
>>831
おとなしくIEにしましょう
0833デフォルトの名無しさんNGNG
他にも、Gecko(?)とか言うブラウザコンポがあるらしいな
この板のどっかにスレがある
0834デフォルトの名無しさんNGNG
checkBoxが"Checked"の時に、
あるeditを「記入できない」ようにしたい時はどうすればよろしいですか?
0835デフォルトの名無しさんNGNG
EditのReadOnlyをトゥルー
0836デフォルトの名無しさんNGNG
editのenabledをfalse
0837デフォルトの名無しさんNGNG
記入できないってことを視覚的に表現したくないなら>>835
0838デフォルトの名無しさんNGNG
EditのVisibleをFalse
0839デフォルトの名無しさんNGNG
早いレスありがとうございます!
0840デフォルトの名無しさんNGNG
EditのFreeをCall
0841デフォルトの名無しさんNGNG
struct List
{
std::string buf_;
}

と、

printf("%s",l1.buf_.c_str());

を日本語で説明するとどういう事でしょうか?教えてください。。
0842デフォルトの名無しさんNGNG
スレタイ読めヴォケってことです。
0843831NGNG
>>832
うむむ…やはり好きじゃなくても、IEコンポ使うしかないか

で、IEコンポの使い方なんですが、自分なりに探してみた所
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/browser_control_node_entry.asp
ここと monazilla(w の資料室ぐらいしか見つからなかったんですが、
他に解りやすくサンプル付きで解説しているサイトとかページを
知っていれば教えてください。できれば、日本語が良いです
0844 NGNG
>>843
どんな探し方したんか知らんが、それだけってことはあり得ないと思う。
よっぽどアレな探し方なのか…。
あんまり言いたくないけど、「目がチカチカするページ」は検索出来なかったのかと。
0845デフォルトの名無しさんNGNG
ui?
0846デフォルトの名無しさんNGNG
WindowsXPでDelphi7 Personalのヘルプのテキスト検索機能が使えないんですが、これはバグですか?
0847デフォルトの名無しさんNGNG
仕様です。
0848831NGNG
>>844
それは、どこですか?
0849デフォルトの名無しさんNGNG
>>846
バグですが何か?
0850デフォルトの名無しさんNGNG
>>848
MLでTWebBrowserを検索したときに一番多く答えている人のサイト
0851デフォルトの名無しさんNGNG
>>848
IEコンポーネントって、TWebBrowserの事だよね?

IEコンポーネントを使い倒すスレ
http://pc2.2ch.net/test/read.cgi/tech/982930049/
Delphi はじめの一歩
http://delphi.sakura.vg/
あとGoogle
http://www.google.com/search?q=TWebBrowser&lr=lang_ja
0852デフォルトの名無しさんNGNG
>>850
お前性格と要領が悪そうだね。うんこレスならしなくていいよ。
0853デフォルトの名無しさんNGNG
うい
0854デフォルトの名無しさんNGNG
過去スレで何度か出てるが、個人的にはアレよりTEmbeddedWBの方がオススメ。
TWebBrowserのバグ(?)が修正されてる他、初めからD&Dに対応してたりと、TWebBrowserよりパワーアップしている。
0855831NGNG
>>851
レスありがとうございます。"TWebBrowser" で検索する事をしてませんでした。
"IEコンポーネント" "リファレンス" とかで検索してました

あと、この板内のスレッドは読みましたが、ボクの欲しい情報が得られなかったので
もう少し調べてみます。

>>854
TEmbeddedWB ってのもあるんですね。これも調べてみます
0856デフォルトの名無しさんNGNG
BDEを使ったデーターベースアプリがあったとして
データベースをBDE→InterBase(FireBird)に変更するには
どのような作業が必要でしょうか?
めんどくさい?
0857デフォルトの名無しさんNGNG
他人様の作ったソフトに「最新の情報に更新(F5)」とかのショートカットを送るほうほうを教えてください。
0858デフォルトの名無しさんNGNG
>>857
何がしたいのかよくわかりません。
0859デフォルトの名無しさんNGNG
ShellListViewで、ネットワーク接続しているドライブにアクセスした時に
エラーになるのですが、どう対処したらいいでしょうか?
0860デフォルトの名無しさんNGNG
PageControlで、新しいTabSheetを追加するときに、
内容が空でなく、Buttonとかを、追加するTabSheetに持たせるにはどうすればいいんですか?
0861860NGNG
動的に作成した場合で。
0862デフォルトの名無しさんNGNG
bo-ranndoのサイトに載ってます
0863デフォルトの名無しさんNGNG
>>860
動的に作ったボタンなどのParentプロパティを動的に作ったTabSheetにする。

Button.Parent := NewTab;
0864デフォルトの名無しさんNGNG
OpenDialog コンポーネントで、「読み取り専用として開く」のチェックが選択されたか
されていないかの状態を調べるにはどうすればいいでしょか?
0865デフォルトの名無しさんNGNG
TOpenDialog.Options
0866ななしへたぐらま ◆XcB18Bks.Y NGNG
>>860
タブシートにのせるコンポーネントの配置やその他の設定を設計時にやってしまいたいのでしたら,
それらを載せたフレームを作れば,実行時は基本的にそのフレームを生成するだけで済むと思うので
多少楽になると思います.ただ,以下に当てはまるならこんな手を使うまでもないかも.

・同じ内容のページが不特定多数→タブコントロールを使う
・起動時には見えないページを作る→タブシートのTabVisibleプロパティでページを隠す
0867デフォルトの名無しさんNGNG
DELPHIでドラクエ5みたいなRPGつくれますか
0868デフォルトの名無しさんNGNG
>>867
つくれますが、あなたは今日から「ツクールシリーズ」で爆速プログラミング
人生を歩んでください。
0869デフォルトの名無しさんNGNG
>868
ツクールイクナイ
0870デフォルトの名無しさんNGNG
FFじゃなくてドラクエってとこが謙虚でいいかも
0871デフォルトの名無しさんNGNG
5っていうところも弄ってあげろよ(ワ
0872デフォルトの名無しさんNGNG
TMemoをTExMemoに差し替えたいんだけど、
Memo1っていっぱい書いてるし、イベント半銅鑼もいっぱい。
簡単に差し替えちゃう裏技ないですか?
0873デフォルトの名無しさんNGNG
単純にソースを置き換えする。

それでもうまくいかなければ、GExpertsを使うとよろし。
0874デフォルトの名無しさんNGNG
↑補足 エディタ上でCtrl+R
0875デフォルトの名無しさんNGNG
しょっぱい質問ですね
0876デフォルトの名無しさんNGNG
>>875
超初心者向けのスレなんだからガマン汁
0877デフォルトの名無しさんNGNG
会社の仕事やって?
そんなら Personal版でなく Pro版こうて Borland社の有料サポート頼みなはれ。
そなら、どんな幼稚な質問やかてとことん付きおうてもらえるやろ。
今回の名無しはんの回答がもし有料ならナンボになるんかいな?
カネはろうてくれはるんやら、Borland社よりチイとは勉強しまっせ。
(大阪人はすぐカネの話や、なん思わんといてや(^^;)
0878デフォルトの名無しさんNGNG
(インド人はすぐカレーの話や、ナン焼いといてや(^^インド)
0879デフォルトの名無しさんNGNG
>>877
関西人は総じてアホやと思われるんでそのしゃべりやめてもらえませんか?
0880デフォルトの名無しさんNGNG
アホではなく馬鹿だね。馬鹿。
0881デフォルトの名無しさんNGNG
醤油かけといたらええねん。
0882デフォルトの名無しさんNGNG
粉や粉!小麦粉持ってこい!
0883デフォルトの名無しさんNGNG
会社ならエンタ買えよ
0884デフォルトの名無しさんNGNG
>>883
資本金1円なので無理です
0885デフォルトの名無しさんNGNG
2chで関西弁(エセ)使う奴は出身関係なく9割馬鹿。
経験上。
0886デフォルトの名無しさんNGNG
添削します。

>2chで関西弁(エセ)使う奴は出身関係なく9割馬鹿。
9割は馬鹿。
0887デフォルトの名無しさんNGNG
というか、2chを使う奴は出身関係なく9割り馬鹿。
経験上。
0888デフォルトの名無しさんNGNG
知識はあっても馬鹿ってやつは多いかも
0889デフォルトの名無しさんNGNG
フォームを 縦方向だけ リサイズしたいんです。
Form.OnCanResizeで

NewWidth:=300;

とかすれば横方向には300以上大きくならないんですけど、
ウィンドウの端をドラッグするときに出てくる破線(?)が横方向にも伸びてしまって
なんだか見栄えが良くありません。TMidi Playerとかだとドラッグしようとしても
破線がウィンドウに貼りついて、視覚的にも「これはリサイズできないんだな」
と分かっていい感じだと思うんですけど、あれってどうやってるんでしょうか。
質問が分かりずらくてすみません。
0890デフォルトの名無しさんNGNG
>>889
"WM_GETMINMAXINFO"でぐぐると幸せになれるかもしれない…
0891デフォルトの名無しさんNGNG
>889
試してないけどConstraintsプロパティで制限できると思う。
0892デフォルトの名無しさんNGNG
>>890
検索したら、某国のサイトに書いてありました。�dクス
http://www.borland.co.jp/qanda/delphi/d0005105.html
0893デフォルトの名無しさんNGNG
>>891
情報ありがとうございます。
試してみたのですが、こちらは破線がびょびょっと伸びてしまいました。。
0894デフォルトの名無しさんNGNG
変数って初期化しなかったら
4376384が代入されるの?
0895デフォルトの名無しさんNGNG
>>894
仮にそうだとしても、コンパイラの実装に依存しそうなコードは書かないほうがよろしい。
0896デフォルトの名無しさんNGNG
ボタンをクリックしたら、マウスカーソルを動かすのってどうやるん?
0897デフォルトの名無しさんNGNG
ShowMessage('マウスの下に万札がはさまってますよ。');
0898デフォルトの名無しさんNGNG
>>897
ちょいワロタ
0899デフォルトの名無しさんNGNG
>>897
それはマウスカーソルをユーザーに動かさせる方法だ
0900デフォルトの名無しさんNGNG
マジレスカコワルイ
0901デフォルトの名無しさんNGNG
Windows.SetCursorPos
0902896NGNG
(゜д゜(  人  ) =3 プ
0903デフォルトの名無しさんNGNG
混沌としている
0904デフォルトの名無しさんNGNG
Form1のボタンをクリックしたら
Form2のラベルが変化するようにしたい
どうすればいい?
0905デフォルトの名無しさんNGNG
1.Form2のラベルの妖精さんにお願いする。
2.Form2を「uses(ユニットを使う)」で参照して、Form1のボタンに
Form2のラベルを変えるコードを書く。
0906デフォルトの名無しさんNGNG
3. Borlandのサポートに電話をかける
0907デフォルトの名無しさんNGNG
904にマジレスしていい?
0908907NGNG
ごめん。sage忘れた。
0909デフォルトの名無しさんNGNG
>>907
sage忘れてたから駄目って言ったら
マジレスしないの?
0910デフォルトの名無しさんNGNG
>>904
このスレで3回以上は質問されてる。
レス抽出使ってね音符
0911デフォルトの名無しさんNGNG
フォームの右上の×ボタンを消すのはどうやんの?
0912デフォルトの名無しさんNGNG
フォームのプロパティのSystemButtonだかをFalseにしろ
0913デフォルトの名無しさんNGNG
>912
うるせーしね
0914デフォルトの名無しさんNGNG
てめーはイ�`
0915デフォルトの名無しさんNGNG
>914
氏ね
0916デフォルトの名無しさんNGNG
>>915
御主人様、私は氏んだ方が宜しいのでしょうか?
0917デフォルトの名無しさんNGNG
unit LIVE;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:='い�`';
end;

end.
0918デフォルトの名無しさんNGNG
Timerコンポーネントの使い方誰か教えろ
0919デフォルトの名無しさんNGNG
はやくTimerコンポーネントの使い方教えろ
0920デフォルトの名無しさんNGNG
>>918
そんな態度で教えて貰えるとでも思ってるの?
夏休みだからって調子乗るなよ。
http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/vcl/index.htm
0921デフォルトの名無しさんNGNG
言い方がきつくてもきちんと教えてあげる
>>920萌え
0922デフォルトの名無しさんNGNG
>>918-919
あんなもん見たら分かるだろ。
0923デフォルトの名無しさんNGNG
>922
馬鹿だからわかんにゃーい
0924デフォルトの名無しさんNGNG
>>917
Label1がないよ
0925デフォルトの名無しさんNGNG
Delphiってプログラミングって言うより
アプリケーションツクールだよね
0926デフォルトの名無しさんNGNG
C言語とかだあと入力出力演算全部自分で書かなきゃいけないけど
Delphiならフォームにペタペタ貼り付けて
あとはちょこっとコード書くだけだからC言語よりスゲー楽。
0927デフォルトの名無しさんNGNG
Delphiって
型って
Integer型とString型とBoolean型しかないの・・・?
0928デフォルトの名無しさんNGNG
>>925
君が使う分にはその程度なんだろうね。
0929デフォルトの名無しさんNGNG
>>925
なら WinAPI 駆使して作ってごらん
0930デフォルトの名無しさんNGNG
age
0931デフォルトの名無しさんNGNG
>>927
単純型、順序型、整数型、文字型、論理型、列挙型、部分範囲型、実数、文字列型、構造化型、集合
配列型、レコード型、ファイル型、クラス型、クラス参照型、インターフェース型、ポインタ型、手続き型、バリアント型
0932デフォルトの名無しさんNGNG
>>931
無駄に水増ししてるな・・・
0933デフォルトの名無しさんNGNG
構造化型は配列、集合、レコード、オブジェクト型の総称じゃなかったか
順序型も整数、文字、論理型、列挙型、部分範囲型の総称だろう…
0934デフォルトの名無しさんNGNG
普通は整数と論理と文字列しかつかわん
0935デフォルトの名無しさんNGNG
>>934
クラスも構造体もポインタも使わんと。それで何が出来るよ?
0936デフォルトの名無しさんNGNG
クラスも構造体もポインタも飾りですよ。
お(ry
0937デフォルトの名無しさんNGNG
バリアント一本で行けよ
0938デフォルトの名無しさんNGNG
if や for だけのプログラミング
0939デフォルトの名無しさんNGNG
Hello Worldだけのプログラミング
0940デフォルトの名無しさんNGNG
漢は黙って Variant だけで作る
0941デフォルトの名無しさんNGNG
常にバリアントユニット削除
0942デフォルトの名無しさんNGNG
バリアントナイフ二刀流最強
0943デフォルトの名無しさんNGNG
バリアン リサイタル。
「ぼえ〜〜〜〜」
0944デフォルトの名無しさんNGNG
もうバリアント話は飽きた。。。
0945デフォルトの名無しさんNGNG
サイコアーマー ゴーバリアン
0946デフォルトの名無しさんNGNG
バタリアン
0947韓国NGNG
バーリアン バーリアン バーラーリーヨー♪
0948デフォルトの名無しさんNGNG
バーバリアンッ!!
0949デフォルトの名無しさんNGNG
以降1000までバリアントスレ
0950デフォルトの名無しさんNGNG
プロシジャー ボタン1クリック(Tオブジェクトセンダー)
始まり
フォーム1.ボタン1.キャプチョン := 'このぼたんをおすとPCが爆発します';
終り。
0951デフォルトの名無しさんNGNG
デルファイでMidiとかWaveサウンド鳴らす方法教えてください
0952一休NGNG
ポク… ポク… ポク… チーン!
>>951
まずは屏風からMidiとかWaveを出してください。
0953デフォルトの名無しさんNGNG
#include <unit1.pas>
Integer main(void){
begin
Writeln("Hello world!!");
end.
}
0954デフォルトの名無しさんNGNG
Pascalっていつごろからできたのん?
0955デフォルトの名無しさんNGNG
俺が、15年程前に某メーカーで pascal, fortran コンパイラ作った時には既にあったね
0956デフォルトの名無しさんNGNG
>>954
たぶん、日本でパソコンってものが売られた時には既にあった
そういえば、かつてMSもコンパイラを出してたらしいな
0957デフォルトの名無しさんNGNG
もちろんTK-80で動いたとかそういうんじゃなくてアメリカでは既にあったってことね
0958デフォルトの名無しさんNGNG
オレが「ぴゅう太」でブイブイ言わせてた頃にはもうあったな。
0959デフォルトの名無しさんNGNG
コンソールアプリケーションってなぁに?
0960コンドールマンNGNG
コンドールマン
0961デフォルトの名無しさんNGNG
>>959
コンソールで動くアプリケーション
0962デフォルトの名無しさんNGNG
PASCALはコンピュータ史上発の汎用高級言語ですよ
0963デフォルトの名無しさんNGNG
>>962
マジレスしていい?
0964デフォルトの名無しさんNGNG
>>963
щ(゚д゚щ)カモーン
0965デフォルトの名無しさんNGNG
予想:
「またageちゃったなんたら」と続ける気だな?貴様…。
0966デフォルトの名無しさんNGNG
史上初の言語はC言語だよ
エニアックの時代からある
0967デフォルトの名無しさんNGNG
>>966
B言語の立場はどうなる?
0968デフォルトの名無しさんNGNG
アセンブラは?
0969デフォルトの名無しさんNGNG
Cは歴史からみればかなり後期なんだが

つーかUNIX登場後の話じゃーん
0970デフォルトの名無しさんNGNG
もう釣られてる香具師ばっかり
0971デフォルトの名無しさんNGNG
エニャックが世界初だと思ってていいのは小学生までだよねー( ´,_ゝ`)プッ
0972デフォルトの名無しさんNGNG
962を上級釣り氏として認定しますた!
0973デフォルトの名無しさんNGNG
ノイマンコンピュータ
0974デフォルトの名無しさんNGNG
PASCAL以前はCOBOLしかなかった
ハッカーはアセンブリではなく16進数で語り合っていた
そして口笛を吹けばお金をいれなくても電話が通じた

オレがあこがれていたのはそんな時代なんだよ!!
0975デフォルトの名無しさんNGNG
UTF8Nを判別する方法教えて
0976ネタスレになりましたか!?NGNG
>>974
インベーダーのコイン投入口にガスコンロの着火部分でカチャカチャやって
クレジット増やしてなさい!
0977デフォルトの名無しさんNGNG
ある処理中に、マウスホイールの回転を無効にすることはできますか?
0978デフォルトの名無しさんNGNG
>>977
操作されちゃ困るコントロールを無効化しとけばいいんじゃないの。
0979デフォルトの名無しさんNGNG
>>977
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
       WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
 if ある処理中 then
  Handled := True;
end;
0980デフォルトの名無しさんNGNG
>>951
MediaPlayerのコンポーネントがパレットのどこかにあるから、それをフォームに貼り付けなさい
0981デフォルトの名無しさんNGNG
次スレ立てます
0982デフォルトの名無しさんNGNG
くだすれDelphi(超初心者向け) Part4
http://pc2.2ch.net/test/read.cgi/tech/1058834815/
0983スレ埋めNGNG
くっちぶえふーいーてー あっきちへーいったー
しらないーひとは もーいないー
みんななかまだ ともだちなーんーだー♪
0984デフォルトの名無しさんNGNG
スレ埋めしないの?
0985デフォルトの名無しさんNGNG
D
0986デフォルトの名無しさんNGNG
>>984
意味もなく2ちゃんねるの鯖容量は無限ではありません
節約するためにも、このまま移行してください
0987デフォルトの名無しさんNGNG
書き直したら文がおかしくなっちまった。。
0988デフォルトの名無しさんNGNG
さすが板とスレが違うと言う事も違うな。
普通ならこう

      \∧_ヘ     ,,、,、,,,
 ,,、,、,,, / \〇ノゝ∩               ,,、,、,,,           ,,、,、,,,
    /三√ ゚Д゚) /        ,,、,、,,,              ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,          
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
0989デフォルトの名無しさんNGNG
最近はage荒らし対策と速やかなDAT落ちを目指して
埋め立てるのが流行なのにな
0990デフォルトの名無しさんNGNG
>>983
知らない子はもういない、みんな仲間だ仲良しなんだ。
0991デフォルトの名無しさんNGNG
>埋め立てるのが流行
厨房だけな。

処理したいならやれば?応援するよ(ヮ
0992デフォルトの名無しさんNGNG
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
0993デフォルトの名無しさんNGNG
次スレ

くだすれDelphi(超初心者向け) Part4
http://pc2.2ch.net/test/read.cgi/tech/1055212786/l50
0994デフォルトの名無しさんNGNG
千をとるのは俺様〜
0995デフォルトの名無しさんNGNG
意外と進まないな
0996デフォルトの名無しさんNGNG
>>991
まわりをよくみてみろよ
それに2ちゃんのHDDの容量が足りないなんて聞いたことがない
0997デフォルトの名無しさんNGNG
くだすれDelphi(超初心者向け) Part4
http://pc2.2ch.net/test/read.cgi/tech/1058834815/l50
0998デフォルトの名無しさんNGNG
>>997はニセスレ。
ウザイ。
0999デフォルトの名無しさんNGNG
完
1000デフォルトの名無しさんNGNG
そろそろか?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。